From c0e77aa731ac7c0b4f7741f4e2244999443d718b Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 14 Jul 2023 21:26:08 +0000 Subject: [PATCH] --- utils/AyaImport/Form1.cs | 294 +++++++++++++++++++++++++++++---------- 1 file changed, 222 insertions(+), 72 deletions(-) diff --git a/utils/AyaImport/Form1.cs b/utils/AyaImport/Form1.cs index 2fba544..2a9b881 100644 --- a/utils/AyaImport/Form1.cs +++ b/utils/AyaImport/Form1.cs @@ -414,11 +414,15 @@ namespace AyaImport } else { + #if(DEBUG) #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. - 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 + if (nVersion < 171) + { + //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 @@ -429,6 +433,8 @@ namespace AyaImport } 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"); btnImport.Enabled = false; } @@ -784,7 +790,158 @@ namespace AyaImport cryp.Process(ref sTemp, false, 235);//AyaNova keycodes are index 235 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 //NO EQUIVALENT RIGHT @@ -794,41 +951,37 @@ namespace AyaImport //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); - - - + SetRight(1, "Object.WorkorderItem", s); + SetRight(1, "Object.WorkorderItemLabor", s); + SetRight(1, "Object.WorkorderItemMiscExpense", s); + SetRight(1, "Object.WorkorderItemOutsideService", s); + SetRight(1, "Object.WorkorderItemPart", s); + SetRight(1, "Object.WorkorderItemScheduledUser", s); + SetRight(1, "Object.WorkorderItemTask", s); + SetRight(1, "Object.WorkorderItemTravel", s); + SetRight(1, "Object.WorkorderItemLoan", s); + SetRight(1, "Object.WorkorderService", s); + SetRight(1, "Object.WorkorderQuote", s); + SetRight(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); + SetRight(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); + SetRight(1, "Object.Global", s); + SetRight(1, "Object.Region", s); + SetRight(1, "Object.LocalizedText", s); + SetRight(1, "Object.TaxCode", s); //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 @@ -836,38 +989,37 @@ namespace AyaImport //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 // 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.ContractPart",s); - SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.ContractRate", s); - SetRight(int.Parse(sTemp.Substring(9, 1)), "Object.ServiceBank", s); + SetRight(1, "Object.Client", s); + SetRight(1, "Object.HeadOffice", s); + SetRight(1, "Object.ClientGroup", s); + SetRight(1, "Object.Contract", s); + SetRight(1, "Object.ContractRate", s); + SetRight(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); + SetRight(1, "Object.Rate", s); + SetRight(1, "Object.RateUnitChargeDescription", s); //ZONES=11 - SetRight(int.Parse(sTemp.Substring(11, 1)), "Object.DispatchZone", s); + SetRight(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); + SetRight(1, "Object.Unit", s); + SetRight(1, "Object.UnitMeterReading", s); //MODELS=13 - SetRight(int.Parse(sTemp.Substring(13, 1)), "Object.UnitModel", s); + SetRight(1, "Object.UnitModel", s); //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.PartAssembly", s); SetRight(2, "Object.PartCategory", s); @@ -878,71 +1030,69 @@ namespace AyaImport SetRight(2, "Object.UnitOfMeasure", s); //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.Task", s); SetRight(2, "Object.TaskGroupTask", s); //PROJECTS=16 - SetRight(int.Parse(sTemp.Substring(16, 1)), "Object.Project", s); + SetRight(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); + SetRight(1, "Object.WorkorderCategory", s); + SetRight(1, "Object.UnitServiceType", s); + SetRight(1, "Object.WorkorderStatus", s); + SetRight(1, "Object.WorkorderItemType", s); + SetRight(1, "Object.Priority", s); //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 - //Case 618 SetRight(int.Parse(sTemp.Substring(19,1)),"Object.UserRight",s); - 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); + SetRight(1, "Object.User", s); + SetRight(1, "Object.UserCertificationAssigned", s); + SetRight(1, "Object.UserSkillAssigned", s); + SetRight(1, "Object.UserCertification", s); + SetRight(1, "Object.UserSkill", s); //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 - SetRight(int.Parse(sTemp.Substring(21, 1)), "Object.LoanItem", s); + SetRight(1, "Object.LoanItem", s); //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 - SetRight(int.Parse(sTemp.Substring(23, 1)), "Object.ScheduleableUserGroup", s); - SetRight(int.Parse(sTemp.Substring(23, 1)), "Object.ScheduleableUserGroupUser", s); + SetRight(1, "Object.ScheduleableUserGroup", s); + SetRight(1, "Object.ScheduleableUserGroupUser", s); //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 //NO EQUIVALENT //ARAS_REQUESTS=26//ARAS=service=requests - //SetRight(int.Parse(sTemp.Substring(26,1)),"Object.ClientRequestPart",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); + SetRight(1, "Object.ClientServiceRequest", s); + #endregion 2023 new + //SECURITY RIGHTS - + #endregion 2023-07-14 migrate to v8 changes s.Save(); lImported++; @@ -5170,7 +5320,7 @@ namespace AyaImport // 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 { @@ -5192,7 +5342,7 @@ namespace AyaImport } break; - + case 143://changed to 144 on May 8th 2001 various updates { @@ -5412,10 +5562,10 @@ namespace AyaImport case 146://changed to 147 on june 21th 2001 various updates { - + //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] " + "WHERE (((clients.company) Is Null));"); @@ -5890,7 +6040,7 @@ namespace AyaImport 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; //long lData; //GZK k; @@ -6900,7 +7050,7 @@ namespace AyaImport 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 ********** // CString strReportDupes,str; // 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; // long lData;