This commit is contained in:
2023-07-14 21:26:08 +00:00
parent 33574bc273
commit c0e77aa731

View File

@@ -414,11 +414,15 @@ namespace AyaImport
} }
else else
{ {
#if(DEBUG) #if(DEBUG)
#if(ATTEMPT_UPGRADE_FROM_142) #if(ATTEMPT_UPGRADE_FROM_142)
//NOTE: this will auto update it the moment you select the source DB and if all goes well then you can import. if (nVersion < 171)
UpdateCEDatabaseSchema.go(conn, nVersion); {
nVersion = 171;//if this update works then the version is now 171 SET A BREAKPOINT HERE TO SEE IF IT WORKED OR WHATEVER //NOTE: this will auto update it the moment you select the source DB and if all goes well then you can import.
UpdateCEDatabaseSchema.go(conn, nVersion);
nVersion = 171;//if this update works then the version is now 171 SET A BREAKPOINT HERE TO SEE IF IT WORKED OR WHATEVER
}
#endif #endif
#endif #endif
@@ -429,6 +433,8 @@ namespace AyaImport
} }
else else
{ {
sb.Append("********************\r\nThis database version needs to be upgraded\r\n to 171 or higher before it can be imported\r\n********************\r\n"); sb.Append("********************\r\nThis database version needs to be upgraded\r\n to 171 or higher before it can be imported\r\n********************\r\n");
btnImport.Enabled = false; btnImport.Enabled = false;
} }
@@ -784,7 +790,158 @@ namespace AyaImport
cryp.Process(ref sTemp, false, 235);//AyaNova keycodes are index 235 cryp.Process(ref sTemp, false, 235);//AyaNova keycodes are index 235
sTemp = sTemp.Substring(sTemp.Length - 27); sTemp = sTemp.Substring(sTemp.Length - 27);
#region 2023-07-14 migrate to v8 CHANGE
//2023-07-14 migrate to v8 it's v8 now, no one is moving to v7 from ce so I'm skipping all this and just setting them all to full rights
#region original before 2023
////WORKORDERSTAT=0 Main workorder view list screen
////NO EQUIVALENT RIGHT
////WORKORDER=1
////string stest=sTemp.Substring(1,1);
////case 1655
////SetRight(int.Parse(sTemp.Substring(1,1)),"Object.Workorder",s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItem", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemLabor", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemMiscExpense", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemOutsideService", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemPart", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemScheduledUser", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemTask", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemTravel", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemLoan", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderService", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderQuote", s);
//SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderService.CloseByDate", s);
////SHIPPING=2
////NO EQUIVALENT
////MAIL=3//use=the=mail=system=(no=read=only=here)
//SetRight(int.Parse(sTemp.Substring(3, 1)), "Object.Memo", s);
////DBASEUTILS=4//=use=the=database=utilities
//SetRight(int.Parse(sTemp.Substring(4, 1)), "Object.Global", s);
//SetRight(int.Parse(sTemp.Substring(4, 1)), "Object.Region", s);
//SetRight(int.Parse(sTemp.Substring(4, 1)), "Object.LocalizedText", s);
//SetRight(int.Parse(sTemp.Substring(4, 1)), "Object.TaxCode", s);
////SECURITYGROUPS=5//=rights=to=create=edit=GROUPS
//SetRight(int.Parse(sTemp.Substring(5, 1)), "Object.SecurityGroup", s);
////SEARCH=6//=access=to=the=search=screen
////NO EQUIVALENT
////REPORTS=7//=access=to=the=reporting=screen=not=workorder=printing
//SetRight(int.Parse(sTemp.Substring(7, 1)), "Object.Report", s);
////PRINTING=8//able=to=change=printing=setup
//// NO CURRENT EQUIVALENT
////CLIENTS=9//CLIENTS=SCREEN
//SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.Client", s);
//SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.HeadOffice", s);
//SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.ClientGroup", s);
//SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.Contract", s);
//SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.ContractRate", s);
//SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.ServiceBank", s);
////RATES=10//RATES=SCREEN
//SetRight(int.Parse(sTemp.Substring(10, 1)), "Object.Rate", s);
//SetRight(int.Parse(sTemp.Substring(10, 1)), "Object.RateUnitChargeDescription", s);
////ZONES=11
//SetRight(int.Parse(sTemp.Substring(11, 1)), "Object.DispatchZone", s);
////UNITS=12
//SetRight(int.Parse(sTemp.Substring(12, 1)), "Object.Unit", s);
//SetRight(int.Parse(sTemp.Substring(12, 1)), "Object.UnitMeterReading", s);
////MODELS=13
//SetRight(int.Parse(sTemp.Substring(13, 1)), "Object.UnitModel", s);
////PARTS=14
//SetRight(int.Parse(sTemp.Substring(14, 1)), "Object.Part", s);
//SetRight(2, "Object.Part", s);
//SetRight(2, "Object.PartAssembly", s);
//SetRight(2, "Object.PartCategory", s);
//SetRight(2, "Object.PartByWarehouseInventory", s);
//SetRight(2, "Object.PartWarehouse", s);
//SetRight(2, "Object.PartInventoryAdjustment", s);
//SetRight(2, "Object.PurchaseOrder", s);
//SetRight(2, "Object.UnitOfMeasure", s);
////TASKS=15
//SetRight(int.Parse(sTemp.Substring(15, 1)), "Object.Task", s);
//SetRight(2, "Object.TaskGroup", s);
//SetRight(2, "Object.Task", s);
//SetRight(2, "Object.TaskGroupTask", s);
////PROJECTS=16
//SetRight(int.Parse(sTemp.Substring(16, 1)), "Object.Project", s);
////WOTYPES=17//BLAH
//SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.WorkorderCategory", s);
//SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.UnitServiceType", s);
//SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.WorkorderStatus", s);
//SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.WorkorderItemType", s);
//SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.Priority", s);
////ADDRESSBOOKS=18//MODIFY=ADDRESS=BOOKS (vendors)
//SetRight(int.Parse(sTemp.Substring(18, 1)), "Object.Vendor", s);
////USERS=19//RIGHT=TO=EDIT=USERS=AND=PLACE=IN=GROUPS
//SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.User", s);
//SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.UserCertificationAssigned", s);
//SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.UserSkillAssigned", s);
//SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.UserCertification", s);
//SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.UserSkill", s);
////PM=20//preventative=maintenance=screen
//SetRight(int.Parse(sTemp.Substring(20, 1)), "Object.WorkorderPreventiveMaintenance", s);
////LOANERS=21//loaner=equipment=screen
//SetRight(int.Parse(sTemp.Substring(21, 1)), "Object.LoanItem", s);
////SCHEDULE=22//scheduling=screen
//SetRight(int.Parse(sTemp.Substring(22, 1)), "Object.ScheduleForm", s);
////SCHED_GROUPS=23//schedule=groups=screen
//SetRight(int.Parse(sTemp.Substring(23, 1)), "Object.ScheduleableUserGroup", s);
//SetRight(int.Parse(sTemp.Substring(23, 1)), "Object.ScheduleableUserGroupUser", s);
////SCHED_MARKERS=24//schedule=groups=screen
//SetRight(int.Parse(sTemp.Substring(24, 1)), "Object.ScheduleMarker", s);
////USERPREFS=25//user=preferences
////NO EQUIVALENT
////ARAS_REQUESTS=26//ARAS=service=requests
//SetRight(int.Parse(sTemp.Substring(26, 1)), "Object.ClientServiceRequest", s);
#endregion original
#region 2023 new
//WORKORDERSTAT=0 Main workorder view list screen //WORKORDERSTAT=0 Main workorder view list screen
//NO EQUIVALENT RIGHT //NO EQUIVALENT RIGHT
@@ -794,41 +951,37 @@ namespace AyaImport
//case 1655 //case 1655
//SetRight(int.Parse(sTemp.Substring(1,1)),"Object.Workorder",s); //SetRight(int.Parse(sTemp.Substring(1,1)),"Object.Workorder",s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItem", s); SetRight(1, "Object.WorkorderItem", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemLabor", s); SetRight(1, "Object.WorkorderItemLabor", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemMiscExpense", s); SetRight(1, "Object.WorkorderItemMiscExpense", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemOutsideService", s); SetRight(1, "Object.WorkorderItemOutsideService", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemPart", s); SetRight(1, "Object.WorkorderItemPart", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemScheduledUser", s); SetRight(1, "Object.WorkorderItemScheduledUser", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemTask", s); SetRight(1, "Object.WorkorderItemTask", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemTravel", s); SetRight(1, "Object.WorkorderItemTravel", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderItemLoan", s); SetRight(1, "Object.WorkorderItemLoan", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderService", s); SetRight(1, "Object.WorkorderService", s);
SetRight(1, "Object.WorkorderQuote", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderQuote", s); SetRight(1, "Object.WorkorderService.CloseByDate", s);
SetRight(int.Parse(sTemp.Substring(1, 1)), "Object.WorkorderService.CloseByDate", s);
//SHIPPING=2 //SHIPPING=2
//NO EQUIVALENT //NO EQUIVALENT
//MAIL=3//use=the=mail=system=(no=read=only=here) //MAIL=3//use=the=mail=system=(no=read=only=here)
SetRight(int.Parse(sTemp.Substring(3, 1)), "Object.Memo", s); SetRight(1, "Object.Memo", s);
//DBASEUTILS=4//=use=the=database=utilities //DBASEUTILS=4//=use=the=database=utilities
SetRight(int.Parse(sTemp.Substring(4, 1)), "Object.Global", s); SetRight(1, "Object.Global", s);
SetRight(int.Parse(sTemp.Substring(4, 1)), "Object.Region", s); SetRight(1, "Object.Region", s);
SetRight(int.Parse(sTemp.Substring(4, 1)), "Object.LocalizedText", s); SetRight(1, "Object.LocalizedText", s);
SetRight(int.Parse(sTemp.Substring(4, 1)), "Object.TaxCode", s); SetRight(1, "Object.TaxCode", s);
//SECURITYGROUPS=5//=rights=to=create=edit=GROUPS //SECURITYGROUPS=5//=rights=to=create=edit=GROUPS
SetRight(int.Parse(sTemp.Substring(5, 1)), "Object.SecurityGroup", s); SetRight(1, "Object.SecurityGroup", s);
//SEARCH=6//=access=to=the=search=screen //SEARCH=6//=access=to=the=search=screen
@@ -836,38 +989,37 @@ namespace AyaImport
//REPORTS=7//=access=to=the=reporting=screen=not=workorder=printing //REPORTS=7//=access=to=the=reporting=screen=not=workorder=printing
SetRight(int.Parse(sTemp.Substring(7, 1)), "Object.Report", s); SetRight(1, "Object.Report", s);
//PRINTING=8//able=to=change=printing=setup //PRINTING=8//able=to=change=printing=setup
// NO CURRENT EQUIVALENT // NO CURRENT EQUIVALENT
//CLIENTS=9//CLIENTS=SCREEN //CLIENTS=9//CLIENTS=SCREEN
SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.Client", s); SetRight(1, "Object.Client", s);
SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.HeadOffice", s); SetRight(1, "Object.HeadOffice", s);
SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.ClientGroup", s); SetRight(1, "Object.ClientGroup", s);
SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.Contract", s); SetRight(1, "Object.Contract", s);
//SetRight(int.Parse(sTemp.Substring(9,1)),"Object.ContractPart",s); SetRight(1, "Object.ContractRate", s);
SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.ContractRate", s); SetRight(1, "Object.ServiceBank", s);
SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.ServiceBank", s);
//RATES=10//RATES=SCREEN //RATES=10//RATES=SCREEN
SetRight(int.Parse(sTemp.Substring(10, 1)), "Object.Rate", s); SetRight(1, "Object.Rate", s);
SetRight(int.Parse(sTemp.Substring(10, 1)), "Object.RateUnitChargeDescription", s); SetRight(1, "Object.RateUnitChargeDescription", s);
//ZONES=11 //ZONES=11
SetRight(int.Parse(sTemp.Substring(11, 1)), "Object.DispatchZone", s); SetRight(1, "Object.DispatchZone", s);
//UNITS=12 //UNITS=12
SetRight(int.Parse(sTemp.Substring(12, 1)), "Object.Unit", s); SetRight(1, "Object.Unit", s);
SetRight(int.Parse(sTemp.Substring(12, 1)), "Object.UnitMeterReading", s); SetRight(1, "Object.UnitMeterReading", s);
//MODELS=13 //MODELS=13
SetRight(int.Parse(sTemp.Substring(13, 1)), "Object.UnitModel", s); SetRight(1, "Object.UnitModel", s);
//PARTS=14 //PARTS=14
SetRight(int.Parse(sTemp.Substring(14, 1)), "Object.Part", s); SetRight(1, "Object.Part", s);
SetRight(2, "Object.Part", s); SetRight(2, "Object.Part", s);
SetRight(2, "Object.PartAssembly", s); SetRight(2, "Object.PartAssembly", s);
SetRight(2, "Object.PartCategory", s); SetRight(2, "Object.PartCategory", s);
@@ -878,71 +1030,69 @@ namespace AyaImport
SetRight(2, "Object.UnitOfMeasure", s); SetRight(2, "Object.UnitOfMeasure", s);
//TASKS=15 //TASKS=15
SetRight(int.Parse(sTemp.Substring(15, 1)), "Object.Task", s); SetRight(1, "Object.Task", s);
SetRight(2, "Object.TaskGroup", s); SetRight(2, "Object.TaskGroup", s);
SetRight(2, "Object.Task", s); SetRight(2, "Object.Task", s);
SetRight(2, "Object.TaskGroupTask", s); SetRight(2, "Object.TaskGroupTask", s);
//PROJECTS=16 //PROJECTS=16
SetRight(int.Parse(sTemp.Substring(16, 1)), "Object.Project", s); SetRight(1, "Object.Project", s);
//WOTYPES=17//BLAH //WOTYPES=17//BLAH
SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.WorkorderCategory", s); SetRight(1, "Object.WorkorderCategory", s);
SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.UnitServiceType", s); SetRight(1, "Object.UnitServiceType", s);
SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.WorkorderStatus", s); SetRight(1, "Object.WorkorderStatus", s);
SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.WorkorderItemType", s); SetRight(1, "Object.WorkorderItemType", s);
SetRight(int.Parse(sTemp.Substring(17, 1)), "Object.Priority", s); SetRight(1, "Object.Priority", s);
//ADDRESSBOOKS=18//MODIFY=ADDRESS=BOOKS (vendors) //ADDRESSBOOKS=18//MODIFY=ADDRESS=BOOKS (vendors)
SetRight(int.Parse(sTemp.Substring(18, 1)), "Object.Vendor", s); SetRight(1, "Object.Vendor", s);
//USERS=19//RIGHT=TO=EDIT=USERS=AND=PLACE=IN=GROUPS //USERS=19//RIGHT=TO=EDIT=USERS=AND=PLACE=IN=GROUPS
//Case 618 SetRight(int.Parse(sTemp.Substring(19,1)),"Object.UserRight",s); SetRight(1, "Object.User", s);
SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.User", s); SetRight(1, "Object.UserCertificationAssigned", s);
SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.UserCertificationAssigned", s); SetRight(1, "Object.UserSkillAssigned", s);
SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.UserSkillAssigned", s); SetRight(1, "Object.UserCertification", s);
SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.UserCertification", s); SetRight(1, "Object.UserSkill", s);
SetRight(int.Parse(sTemp.Substring(19, 1)), "Object.UserSkill", s);
//PM=20//preventative=maintenance=screen //PM=20//preventative=maintenance=screen
SetRight(int.Parse(sTemp.Substring(20, 1)), "Object.WorkorderPreventiveMaintenance", s); SetRight(1, "Object.WorkorderPreventiveMaintenance", s);
//LOANERS=21//loaner=equipment=screen //LOANERS=21//loaner=equipment=screen
SetRight(int.Parse(sTemp.Substring(21, 1)), "Object.LoanItem", s); SetRight(1, "Object.LoanItem", s);
//SCHEDULE=22//scheduling=screen //SCHEDULE=22//scheduling=screen
SetRight(int.Parse(sTemp.Substring(22, 1)), "Object.ScheduleForm", s); SetRight(1, "Object.ScheduleForm", s);
//SCHED_GROUPS=23//schedule=groups=screen //SCHED_GROUPS=23//schedule=groups=screen
SetRight(int.Parse(sTemp.Substring(23, 1)), "Object.ScheduleableUserGroup", s); SetRight(1, "Object.ScheduleableUserGroup", s);
SetRight(int.Parse(sTemp.Substring(23, 1)), "Object.ScheduleableUserGroupUser", s); SetRight(1, "Object.ScheduleableUserGroupUser", s);
//SCHED_MARKERS=24//schedule=groups=screen //SCHED_MARKERS=24//schedule=groups=screen
SetRight(int.Parse(sTemp.Substring(24, 1)), "Object.ScheduleMarker", s); SetRight(1, "Object.ScheduleMarker", s);
//USERPREFS=25//user=preferences //USERPREFS=25//user=preferences
//NO EQUIVALENT //NO EQUIVALENT
//ARAS_REQUESTS=26//ARAS=service=requests //ARAS_REQUESTS=26//ARAS=service=requests
//SetRight(int.Parse(sTemp.Substring(26,1)),"Object.ClientRequestPart",s); SetRight(1, "Object.ClientServiceRequest", s);
//SetRight(int.Parse(sTemp.Substring(26,1)),"Object.ClientRequestTech",s);
SetRight(int.Parse(sTemp.Substring(26, 1)), "Object.ClientServiceRequest", s);
//SetRight(int.Parse(sTemp.Substring(26,1)),"Object.ClientServiceRequestItem",s);
#endregion 2023 new
//SECURITY RIGHTS //SECURITY RIGHTS
#endregion 2023-07-14 migrate to v8 changes
s.Save(); s.Save();
lImported++; lImported++;
@@ -5170,7 +5320,7 @@ namespace AyaImport
// break; // break;
#endregion older versions I didn't need to migrate yet #endregion older versions I didn't need to migrate yet
case 142://changed to 143 on April 6th 2001 various updates case 142://changed to 143 on April 6th 2001 various updates
{ {
@@ -5415,7 +5565,7 @@ namespace AyaImport
//set all blank company fields to last, first names //set all blank company fields to last, first names
//2023-07-14 just to ensure this works I append the record ID to ensure uniqueness to avoid the below rigamarole //2023-07-14 migrate to v8 just to ensure this works I append the record ID to ensure uniqueness to avoid the below rigamarole
executeQuery("UPDATE clients SET clients.company = [last] & \", \" & [first] & \" \" & [id] " executeQuery("UPDATE clients SET clients.company = [last] & \", \" & [first] & \" \" & [id] "
+ "WHERE (((clients.company) Is Null));"); + "WHERE (((clients.company) Is Null));");
@@ -5890,7 +6040,7 @@ namespace AyaImport
case 152: //update for v1720 added extra security rights items case 152: //update for v1720 added extra security rights items
{ {
//2023-07-14 - I'm going to ignore this for now hopefully not necessary //2023-07-14 migrate to v8 - I'm going to ignore this for now hopefully not necessary
//CString strID,strName,strRights,strHash; //CString strID,strName,strRights,strHash;
//long lData; //long lData;
//GZK k; //GZK k;
@@ -6900,7 +7050,7 @@ namespace AyaImport
executeQuery(q); executeQuery(q);
//2023-07-14 going to skip this stuff hopefully don't need it //2023-07-14 migrate to v8 going to skip this stuff hopefully don't need it
// //************* change any client aras logins that match ayanova user logins ********** // //************* change any client aras logins that match ayanova user logins **********
// CString strReportDupes,str; // CString strReportDupes,str;
// CString sLoginARAS,sLoginARASHash,sCompany,sNewLogin; // CString sLoginARAS,sLoginARASHash,sCompany,sNewLogin;
@@ -7262,7 +7412,7 @@ namespace AyaImport
//------------------------------------------------ //------------------------------------------------
//2023-07-14 skipping this hopefully unneeded block //2023-07-14 migrate to v8 skipping this hopefully unneeded block
// CString strID,strName,strRights,strHash; // CString strID,strName,strRights,strHash;
// long lData; // long lData;