Added bool itemHasCodes(int itemnumber,QStringList test_codes)

Cleaned up formatting
This commit is contained in:
Patrick Linstruth 2019-04-02 18:03:47 -07:00
parent 39801d7be6
commit da33dae6c1
2 changed files with 108 additions and 97 deletions

View File

@ -18,162 +18,171 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
#include <schedcartlist.h> #include <stdio.h>
#include "schedcartlist.h"
SchedCartList::SchedCartList(int listsize) SchedCartList::SchedCartList(int listsize)
{ {
cartnum=new unsigned[listsize]; cartnum=new unsigned[listsize];
cartlen=new int[listsize]; cartlen=new int[listsize];
stackid=new int[listsize]; stackid=new int[listsize];
artist=new QString[listsize]; artist=new QString[listsize];
sched_codes=new QString[listsize]; sched_codes=new QString[listsize];
itemcounter=0; itemcounter=0;
} }
SchedCartList::~SchedCartList() SchedCartList::~SchedCartList()
{ {
delete []cartnum; delete []cartnum;
delete []cartlen; delete []cartlen;
delete []stackid; delete []stackid;
delete []artist; delete []artist;
delete []sched_codes; delete []sched_codes;
} }
//
// stack_schedcodes should no longer be needed. Possibly remove at a later date. P. Linstruth 01/12/2019
//
void SchedCartList::insertItem(unsigned cartnumber,int cartlength,int stack_id,QString stack_artist,QString stack_schedcodes) void SchedCartList::insertItem(unsigned cartnumber,int cartlength,int stack_id,QString stack_artist,QString stack_schedcodes)
{ {
cartnum[itemcounter]=cartnumber; cartnum[itemcounter]=cartnumber;
cartlen[itemcounter]=cartlength; cartlen[itemcounter]=cartlength;
stackid[itemcounter]=stack_id; stackid[itemcounter]=stack_id;
artist[itemcounter]=stack_artist.lower().replace(" ",""); artist[itemcounter]=stack_artist.lower().replace(" ","");
sched_codes[itemcounter]=stack_schedcodes; if(stack_schedcodes=="") {
itemcounter++; stack_schedcodes=".";
}
sched_codes[itemcounter]=stack_schedcodes;
itemcounter++;
} }
void SchedCartList::removeItem(int itemnumber) void SchedCartList::removeItem(int itemnumber)
{ {
for(int i=itemnumber;i<(itemcounter-1);i++) for(int i=itemnumber;i<(itemcounter-1);i++) {
{ cartnum[i]=cartnum[i+1];
cartnum[i]=cartnum[i+1]; cartlen[i]=cartlen[i+1];
cartlen[i]=cartlen[i+1]; stackid[i]=stackid[i+1];
stackid[i]=stackid[i+1]; artist[i]=artist[i+1];
artist[i]=artist[i+1]; sched_codes[i]=sched_codes[i+1];
sched_codes[i]=sched_codes[i+1]; }
} itemcounter--;
itemcounter--;
} }
bool SchedCartList::removeIfCode(int itemnumber,QString test_code) bool SchedCartList::removeIfCode(int itemnumber,QString test_code)
{ {
QString test = test_code; QString test = test_code;
test+=" "; test+=" ";
test=test.left(11); test=test.left(11);
if (sched_codes[itemnumber].find(test)!=-1) if (sched_codes[itemnumber].find(test)!=-1) {
{ for(int i=itemnumber;i<(itemcounter-1);i++) {
for(int i=itemnumber;i<(itemcounter-1);i++) cartnum[i]=cartnum[i+1];
{ cartlen[i]=cartlen[i+1];
cartnum[i]=cartnum[i+1]; stackid[i]=stackid[i+1];
cartlen[i]=cartlen[i+1]; artist[i]=artist[i+1];
stackid[i]=stackid[i+1]; sched_codes[i]=sched_codes[i+1];
artist[i]=artist[i+1]; }
sched_codes[i]=sched_codes[i+1]; itemcounter--;
} return true;
itemcounter--; }
return true; return false;
}
return false;
} }
bool SchedCartList::itemHasCode(int itemnumber,QString test_code) bool SchedCartList::itemHasCode(int itemnumber,QString test_code)
{ {
QString test=test_code; QString test=test_code;
test+=" "; test+=" ";
test=test.left(11); test=test.left(11);
if (sched_codes[itemnumber].find(test)!=-1) if (sched_codes[itemnumber].find(test)!=-1) {
return true; return true;
else }
return false; else {
return false;
}
} }
bool SchedCartList::itemHasCodes(int itemnumber,QStringList test_codes)
{
for (int i=0;i<test_codes.size();i++) {
QString test=test_codes.at(i);
test+=" ";
test=test.left(11);
if (sched_codes[itemnumber].find(test)!=-1) {
return true;
}
}
return false;
}
void SchedCartList::save(void) void SchedCartList::save(void)
{ {
savecartnum=new unsigned[itemcounter]; savecartnum=new unsigned[itemcounter];
savecartlen=new int[itemcounter]; savecartlen=new int[itemcounter];
savestackid=new int[itemcounter]; savestackid=new int[itemcounter];
saveartist=new QString[itemcounter]; saveartist=new QString[itemcounter];
save_sched_codes=new QString[itemcounter]; save_sched_codes=new QString[itemcounter];
saveitemcounter=itemcounter; saveitemcounter=itemcounter;
for(int i=0;i<saveitemcounter;i++) for(int i=0;i<saveitemcounter;i++) {
{ savecartnum[i]=cartnum[i];
savecartnum[i]=cartnum[i]; savecartlen[i]=cartlen[i];
savecartlen[i]=cartlen[i]; savestackid[i]=stackid[i];
savestackid[i]=stackid[i]; saveartist[i]=artist[i];
saveartist[i]=artist[i]; save_sched_codes[i]=sched_codes[i];
save_sched_codes[i]=sched_codes[i]; }
}
} }
void SchedCartList::restore(void) void SchedCartList::restore(void)
{ {
if(itemcounter==0) if(itemcounter==0) {
{ for(int i=0;i<saveitemcounter;i++) {
for(int i=0;i<saveitemcounter;i++) cartnum[i]=savecartnum[i];
{ cartlen[i]=savecartlen[i];
cartnum[i]=savecartnum[i]; stackid[i]=savestackid[i];
cartlen[i]=savecartlen[i]; artist[i]=saveartist[i];
stackid[i]=savestackid[i]; sched_codes[i]=save_sched_codes[i];
artist[i]=saveartist[i]; }
sched_codes[i]=save_sched_codes[i]; itemcounter=saveitemcounter;
} }
itemcounter=saveitemcounter; delete []savecartnum;
} delete []savecartlen;
delete []savecartnum; delete []savestackid;
delete []savecartlen; delete []saveartist;
delete []savestackid; delete []save_sched_codes;
delete []saveartist;
delete []save_sched_codes;
} }
unsigned SchedCartList::getItemCartnumber(int itemnumber) unsigned SchedCartList::getItemCartNumber(int itemnumber)
{ {
return cartnum[itemnumber]; return cartnum[itemnumber];
} }
int SchedCartList::getItemStackid(int itemnumber) int SchedCartList::getItemStackid(int itemnumber)
{ {
return stackid[itemnumber]; return stackid[itemnumber];
} }
QString SchedCartList::getItemArtist(int itemnumber) QString SchedCartList::getItemArtist(int itemnumber)
{ {
return artist[itemnumber]; return artist[itemnumber];
} }
QString SchedCartList::getItemSchedCodes(int itemnumber) QString SchedCartList::getItemSchedCodes(int itemnumber)
{ {
return sched_codes[itemnumber]; return sched_codes[itemnumber];
} }
int SchedCartList::getItemCartlength(int itemnumber) int SchedCartList::getItemCartLength(int itemnumber)
{ {
return cartlen[itemnumber]; return cartlen[itemnumber];
} }
int SchedCartList::getNumberOfItems(void) int SchedCartList::getNumberOfItems(void)
{ {
return itemcounter; return itemcounter;
} }

View File

@ -22,6 +22,7 @@
#define SCHEDCARTLIST_H #define SCHEDCARTLIST_H
#include <qsqldatabase.h> #include <qsqldatabase.h>
#include <qstringlist.h>
class SchedCartList class SchedCartList
{ {
@ -32,8 +33,9 @@ class SchedCartList
void removeItem(int itemnumber); void removeItem(int itemnumber);
bool removeIfCode(int itemnumber,QString test_code); bool removeIfCode(int itemnumber,QString test_code);
bool itemHasCode(int itemnumber,QString test_code); bool itemHasCode(int itemnumber,QString test_code);
unsigned getItemCartnumber(int itemnumber); bool itemHasCodes(int itemnumber,QStringList test_codes);
int getItemCartlength(int itemnumber); unsigned getItemCartNumber(int itemnumber);
int getItemCartLength(int itemnumber);
int getItemStackid(int itemnumber); int getItemStackid(int itemnumber);
QString getItemArtist(int itemnumber); QString getItemArtist(int itemnumber);
QString getItemSchedCodes(int itemnumber); QString getItemSchedCodes(int itemnumber);