From c8ec0200461b62dc9c3fe51fdbec8460fd35920b Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Sun, 26 Apr 2020 19:44:03 +0000 Subject: [PATCH] --- source/Plugins/AyaNova.Plugin.Dump/Dump.cs | 79 ++++++++++++++++------ 1 file changed, 59 insertions(+), 20 deletions(-) diff --git a/source/Plugins/AyaNova.Plugin.Dump/Dump.cs b/source/Plugins/AyaNova.Plugin.Dump/Dump.cs index 938cb05..eedc4da 100644 --- a/source/Plugins/AyaNova.Plugin.Dump/Dump.cs +++ b/source/Plugins/AyaNova.Plugin.Dump/Dump.cs @@ -195,7 +195,7 @@ namespace AyaNova.Plugin.Dump dumpDispatchZones(tempArchiveFolder, progress); //NOTE: when get to PRIORITY, or WORKORDER STATUS be sure to add color code as per already done in USER export - + progress.Append("Zipping up archive"); @@ -222,7 +222,7 @@ namespace AyaNova.Plugin.Dump { List objectExcludeProperties = new List(standardExcludePropertiesList); progress.Append("Dumping Global Settings"); - DumpObjectToFolder(tempArchiveFolder, AyaBizUtils.GlobalSettings, "globalsettings", objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, AyaBizUtils.GlobalSettings, "globalsettings", objectExcludeProperties, new TypeAndID(RootObjectTypes.Global, Address.GlobalAddressID)); } #endregion globalsettings @@ -245,7 +245,7 @@ namespace AyaNova.Plugin.Dump if (!SkipLocales.Contains(i.Locale)) { LocalizedTextTable lt = LocalizedTextTable.Load(i.Locale); - DumpObjectToFolder(tempArchiveFolder, lt.LT, "translation." + EnsureValidFileName(i.Locale), objectExcludeProperties, "GZTW.AyaNova.BLL.Translation"); + DumpObjectToFolder(tempArchiveFolder, lt.LT, "translation." + EnsureValidFileName(i.Locale), objectExcludeProperties, TypeAndID.Empty, "GZTW.AyaNova.BLL.Translation"); } } } @@ -263,7 +263,7 @@ namespace AyaNova.Plugin.Dump { Region o = Region.GetItem(i.LT_Region_Label_Name.Value); - DumpObjectToFolder(tempArchiveFolder, o, "region." + o.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, o, "region." + o.ID.ToString(), objectExcludeProperties, new TypeAndID(RootObjectTypes.Region,o.ID)); } } @@ -316,7 +316,7 @@ namespace AyaNova.Plugin.Dump foreach (ClientPickList.ClientPickListInfo i in pl) { Client c = Client.GetItem(i.ID); - DumpObjectToFolder(tempArchiveFolder, c, "client." + c.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, c, "client." + c.ID.ToString(), objectExcludeProperties, new TypeAndID(RootObjectTypes.Client,c.ID)); } } @@ -334,7 +334,7 @@ namespace AyaNova.Plugin.Dump foreach (PickListAutoComplete.PickListAutoCompleteInfo i in pl) { HeadOffice c = HeadOffice.GetItem(i.ID); - DumpObjectToFolder(tempArchiveFolder, c, "headoffice." + c.ID.ToString(), excludes); + DumpObjectToFolder(tempArchiveFolder, c, "headoffice." + c.ID.ToString(), excludes, new TypeAndID(RootObjectTypes.HeadOffice,c.ID)); } } #endregion clients @@ -365,10 +365,10 @@ namespace AyaNova.Plugin.Dump foreach (UserPickList.UserPickListInfo i in pl) { User c = User.GetItem(i.ID); - JObject xtra = new JObject(); - xtra.Add("hexaScheduleBackColor",System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(c.ScheduleBackColor))); + JObject xtra = new JObject(); + xtra.Add("hexaScheduleBackColor", System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(c.ScheduleBackColor))); - DumpObjectToFolder(tempArchiveFolder, c, "user." + c.ID.ToString(), objectExcludeProperties,null, xtra); + DumpObjectToFolder(tempArchiveFolder, c, "user." + c.ID.ToString(), objectExcludeProperties, new TypeAndID(RootObjectTypes.User,c.ID), null, xtra); } } @@ -386,7 +386,7 @@ namespace AyaNova.Plugin.Dump foreach (UnitModelCategory i in l) { - DumpObjectToFolder(tempArchiveFolder, i, "unitmodelcategory." + i.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, i, "unitmodelcategory." + i.ID.ToString(), objectExcludeProperties, TypeAndID.Empty); } } @@ -404,7 +404,7 @@ namespace AyaNova.Plugin.Dump foreach (UnitServiceType i in l) { - DumpObjectToFolder(tempArchiveFolder, i, "unitservicetype." + i.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, i, "unitservicetype." + i.ID.ToString(), objectExcludeProperties, TypeAndID.Empty); } } @@ -422,7 +422,7 @@ namespace AyaNova.Plugin.Dump foreach (WorkorderItemType i in l) { - DumpObjectToFolder(tempArchiveFolder, i, "workorderitemtype." + i.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, i, "workorderitemtype." + i.ID.ToString(), objectExcludeProperties, TypeAndID.Empty); } } @@ -440,7 +440,7 @@ namespace AyaNova.Plugin.Dump foreach (ClientGroup i in l) { - DumpObjectToFolder(tempArchiveFolder, i, "clientgroup." + i.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, i, "clientgroup." + i.ID.ToString(), objectExcludeProperties, TypeAndID.Empty); } } @@ -458,7 +458,7 @@ namespace AyaNova.Plugin.Dump foreach (WorkorderCategory i in l) { - DumpObjectToFolder(tempArchiveFolder, i, "workordercategory." + i.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, i, "workordercategory." + i.ID.ToString(), objectExcludeProperties, TypeAndID.Empty); } } @@ -476,7 +476,7 @@ namespace AyaNova.Plugin.Dump foreach (PartCategory i in l) { - DumpObjectToFolder(tempArchiveFolder, i, "partcategory." + i.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, i, "partcategory." + i.ID.ToString(), objectExcludeProperties, TypeAndID.Empty); } } @@ -493,7 +493,7 @@ namespace AyaNova.Plugin.Dump foreach (ScheduleableUserGroupPickList.ScheduleableUserGroupPickListInfo i in pl) { ScheduleableUserGroup c = ScheduleableUserGroup.GetItem(i.ID); - DumpObjectToFolder(tempArchiveFolder, c, "scheduleableusergroup." + c.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, c, "scheduleableusergroup." + c.ID.ToString(), objectExcludeProperties, TypeAndID.Empty); } } @@ -511,7 +511,7 @@ namespace AyaNova.Plugin.Dump foreach (DispatchZone i in l) { - DumpObjectToFolder(tempArchiveFolder, i, "dispatchzone." + i.ID.ToString(), objectExcludeProperties); + DumpObjectToFolder(tempArchiveFolder, i, "dispatchzone." + i.ID.ToString(), objectExcludeProperties, TypeAndID.Empty); } } @@ -528,7 +528,8 @@ namespace AyaNova.Plugin.Dump /// /// /// - private void DumpObjectToFolder(string tempArchiveFolder, object o, string objectFileName, List excludeProperties, string forceTypeString = "", JObject jExtra=null) + private void DumpObjectToFolder(string tempArchiveFolder, object o, string objectFileName, List excludeProperties, + TypeAndID tid, string forceTypeString = "", JObject jExtra = null) { var typestring = o.GetType().ToString(); @@ -566,10 +567,48 @@ namespace AyaNova.Plugin.Dump using (StreamWriter sw = new StreamWriter(outputFileName)) using (JsonWriter writer = new JsonTextWriter(sw)) { - - // serializer.Serialize(writer, o); + + // serializer.Serialize(writer, o); serializer.Serialize(writer, jo); } + + //WIKI / ATTACHMENTS + DumpWikiPageAndAttachments(tid); + } + + + //WIKI + + #region Wikiable objects reference + /* + Find all "Util.OpenWikiPage", Whole word, Subfolders, Keep modified files open, Find Results 1, Entire Solution, "" + C:\data\ayanova\source\WinFormApp\ClientInfoForm.cs(1579): Util.OpenWikiPage(RootObjectTypes.Client, mClient.ID,false); + C:\data\ayanova\source\WinFormApp\ContractInfoForm.cs(687): Util.OpenWikiPage(RootObjectTypes.Contract, mContract.ID, false); + C:\data\ayanova\source\WinFormApp\Form1.cs(3713): Util.OpenWikiPage(RootObjectTypes.Global, Address.GlobalAddressID, false); + C:\data\ayanova\source\WinFormApp\Form1.cs(3856): Util.OpenWikiPage(RootObjectTypes.User, User.CurrentThreadUserID, false); + C:\data\ayanova\source\WinFormApp\Form1.cs(3867): // Util.OpenWikiPage(RootObjectTypes.User,User.CurrentThreadUserID,false); + C:\data\ayanova\source\WinFormApp\HeadOfficeInfoForm.cs(1402): Util.OpenWikiPage(RootObjectTypes.HeadOffice, mHeadOffice.ID,false); + C:\data\ayanova\source\WinFormApp\LoanItemInfoForm.cs(860): Util.OpenWikiPage(RootObjectTypes.LoanItem, mLoanItem.ID, false); + C:\data\ayanova\source\WinFormApp\PartInfoForm.cs(1111): Util.OpenWikiPage(RootObjectTypes.Part, mPart.ID, false); + C:\data\ayanova\source\WinFormApp\ProjectInfoForm.cs(712): Util.OpenWikiPage(RootObjectTypes.Project, mProject.ID, false); + C:\data\ayanova\source\WinFormApp\PurchaseOrderInfoForm.cs(1010): Util.OpenWikiPage(RootObjectTypes.PurchaseOrder, mPurchaseOrder.ID, false); + C:\data\ayanova\source\WinFormApp\RegionInfoForm.cs(1186): Util.OpenWikiPage(RootObjectTypes.Region, mRegion.ID, false); + C:\data\ayanova\source\WinFormApp\UnitInfoForm.cs(1280): Util.OpenWikiPage(RootObjectTypes.Unit, mUnit.ID, false); + C:\data\ayanova\source\WinFormApp\UnitModelInfoForm.cs(926): Util.OpenWikiPage(RootObjectTypes.UnitModel, mUnitModel.ID, false); + C:\data\ayanova\source\WinFormApp\UserInfoForm.cs(1395): Util.OpenWikiPage(RootObjectTypes.User, mUser.ID, false); + C:\data\ayanova\source\WinFormApp\VendorInfoForm.cs(1193): Util.OpenWikiPage(RootObjectTypes.Vendor, mVendor.ID, false); + C:\data\ayanova\source\WinFormApp\WorkorderForm.cs(10332): Util.OpenWikiPage(mWorkorder.RootObjectType, mWorkorder.ID, false);//case 1584 was RootObjectTypes.Workorder + C:\data\ayanova\source\WBI\maingrid.aspx.cs(1277): Util.OpenWikiPage(this.Page, new TypeAndID(RootObjectTypes.Global, Address.GlobalAddressID)); + C:\data\ayanova\source\WBI\schedule.aspx.cs(187): Util.OpenWikiPage(this.Page, new TypeAndID(RootObjectTypes.Global, Address.GlobalAddressID)); + Matching lines: 18 Matching files: 16 Total files searched: 1769 + */ + #endregion + + private void DumpWikiPageAndAttachments(TypeAndID tid) + { + //may not exist + if (!WikiPage.HasWiki(tid.ID)) return; + } #endregion dump