This commit is contained in:
@@ -165,6 +165,13 @@ namespace AyaNova.PlugIn.V8
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private Dictionary<Guid, long> Map = new Dictionary<Guid, long>();
|
private Dictionary<Guid, long> Map = new Dictionary<Guid, long>();
|
||||||
|
private long SafeGetUserMap(Guid id)
|
||||||
|
{
|
||||||
|
if (!Map.ContainsKey(id)) return 1;//1=raven administrator account
|
||||||
|
return Map[id];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private Dictionary<Guid, string> TagMap = new Dictionary<Guid, string>();
|
private Dictionary<Guid, string> TagMap = new Dictionary<Guid, string>();
|
||||||
private Dictionary<string, long> LocaleMap = new Dictionary<string, long>();
|
private Dictionary<string, long> LocaleMap = new Dictionary<string, long>();
|
||||||
|
|
||||||
@@ -253,16 +260,10 @@ namespace AyaNova.PlugIn.V8
|
|||||||
await ExportUsers(progress);
|
await ExportUsers(progress);
|
||||||
|
|
||||||
|
|
||||||
|
if (progress.KeepGoing)
|
||||||
|
await ExportClients(progress);
|
||||||
|
|
||||||
|
|
||||||
//dumpGlobalSettings(tempArchiveFolder, progress);
|
|
||||||
|
|
||||||
//dumpSeedNumbers(tempArchiveFolder, progress);
|
|
||||||
//dumpClients(tempArchiveFolder, progress);
|
|
||||||
//dumpHeadOffices(tempArchiveFolder, progress);
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
//NOTE: when get to PRIORITY, or WORKORDER STATUS be sure to add color code as per already done in USER export
|
//NOTE: when get to PRIORITY, or WORKORDER STATUS be sure to add color code as per already done in USER export
|
||||||
|
|
||||||
@@ -311,8 +312,8 @@ namespace AyaNova.PlugIn.V8
|
|||||||
bool ShouldExportCustom = ocf != null;
|
bool ShouldExportCustom = ocf != null;
|
||||||
|
|
||||||
var DateCustomFields = await ExportCustomFieldSchema(ocf, "User", "User");
|
var DateCustomFields = await ExportCustomFieldSchema(ocf, "User", "User");
|
||||||
//Step 2: export the users
|
|
||||||
|
//Step 2: export the objects
|
||||||
|
|
||||||
UserPickList pl = UserPickList.GetList(false);
|
UserPickList pl = UserPickList.GetList(false);
|
||||||
progress.Append("Exporting " + pl.Count.ToString() + " Users");
|
progress.Append("Exporting " + pl.Count.ToString() + " Users");
|
||||||
@@ -369,7 +370,7 @@ namespace AyaNova.PlugIn.V8
|
|||||||
|
|
||||||
User c = User.GetItem(i.ID);
|
User c = User.GetItem(i.ID);
|
||||||
|
|
||||||
var UserTID = new TypeAndID(RootObjectTypes.User, c.ID);
|
var ObjectTID = new TypeAndID(RootObjectTypes.User, c.ID);
|
||||||
|
|
||||||
dynamic d = new JObject();
|
dynamic d = new JObject();
|
||||||
d.name = c.FirstName + " " + c.LastName;
|
d.name = c.FirstName + " " + c.LastName;
|
||||||
@@ -416,8 +417,8 @@ namespace AyaNova.PlugIn.V8
|
|||||||
var hasWiki = WikiPage.HasWiki(c.ID);
|
var hasWiki = WikiPage.HasWiki(c.ID);
|
||||||
if (hasWiki)
|
if (hasWiki)
|
||||||
{
|
{
|
||||||
await ExportAttachments(UserTID, progress);
|
await ExportAttachments(ObjectTID, progress);
|
||||||
d.wiki = GetWikiContent(UserTID);
|
d.wiki = GetWikiContent(ObjectTID);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Custom fields?
|
//Custom fields?
|
||||||
@@ -444,10 +445,10 @@ namespace AyaNova.PlugIn.V8
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Attachments / FILES
|
//Attachments / FILES
|
||||||
await ExportAttachments(UserTID, progress);
|
await ExportAttachments(ObjectTID, progress);
|
||||||
|
|
||||||
//docs
|
//docs
|
||||||
string NonFileUrls = await ExportDocs(UserTID, c.Docs, progress);
|
string NonFileUrls = await ExportDocs(ObjectTID, c.Docs, progress);
|
||||||
if (!string.IsNullOrEmpty(NonFileUrls))
|
if (!string.IsNullOrEmpty(NonFileUrls))
|
||||||
{
|
{
|
||||||
//need to repost the user with the notes modified
|
//need to repost the user with the notes modified
|
||||||
@@ -477,6 +478,75 @@ namespace AyaNova.PlugIn.V8
|
|||||||
}
|
}
|
||||||
#endregion clients
|
#endregion clients
|
||||||
|
|
||||||
|
#region clients
|
||||||
|
private async System.Threading.Tasks.Task ExportClients(ProgressForm progress)
|
||||||
|
{
|
||||||
|
var ObjectTypeName = "Client";
|
||||||
|
//Step 1: export the CustomFields to FormCustom if applicable so that when doing individual items we can export their custom data too
|
||||||
|
var ocf = ObjectHasCustomFieldDataToExport(ObjectTypeName);
|
||||||
|
bool ShouldExportCustom = ocf != null;
|
||||||
|
var DateCustomFields = await ExportCustomFieldSchema(ocf, ObjectTypeName, "Customer");
|
||||||
|
|
||||||
|
//Step 2: export the objects
|
||||||
|
ClientPickList pl = ClientPickList.GetList();
|
||||||
|
progress.Append("Exporting " + pl.Count.ToString() + ObjectTypeName +"s");
|
||||||
|
|
||||||
|
foreach (ClientPickList.ClientPickListInfo i in pl)
|
||||||
|
{
|
||||||
|
if (!progress.KeepGoing) return;
|
||||||
|
List<string> tags = new List<string>();
|
||||||
|
tags.Add(ImportTag);
|
||||||
|
|
||||||
|
Client c = Client.GetItem(i.ID);
|
||||||
|
var ObjectTID = new TypeAndID(RootObjectTypes.Client, c.ID);
|
||||||
|
|
||||||
|
dynamic d = new JObject();
|
||||||
|
d.name = c.Name;
|
||||||
|
progress.Op(ObjectTypeName +" "+ d.name);
|
||||||
|
d.active = c.Active;
|
||||||
|
d.notes = c.Notes;
|
||||||
|
Tagit(c.RegionID, tags);
|
||||||
|
Tagit(c.DispatchZoneID, tags);
|
||||||
|
Tagit(c.ClientGroupID, tags);
|
||||||
|
SetTags(d, tags);
|
||||||
|
|
||||||
|
//Attachments and wiki
|
||||||
|
var hasWiki = WikiPage.HasWiki(c.ID);
|
||||||
|
if (hasWiki)
|
||||||
|
{
|
||||||
|
await ExportAttachments(ObjectTID, progress);
|
||||||
|
d.wiki = GetWikiContent(ObjectTID);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Custom fields?
|
||||||
|
if (ShouldExportCustom)
|
||||||
|
d.customFields = CustomFieldData(c, DateCustomFields);
|
||||||
|
|
||||||
|
var rMainObject = await util.PostAsync("Customer", d.ToString());
|
||||||
|
long RavenId = util.IdFromResponse(rMainObject);
|
||||||
|
Map.Add(c.ID, RavenId);
|
||||||
|
|
||||||
|
//Attachments / FILES
|
||||||
|
await ExportAttachments(ObjectTID, progress);
|
||||||
|
|
||||||
|
//docs
|
||||||
|
string NonFileUrls = await ExportDocs(ObjectTID, c.Docs, progress);
|
||||||
|
if (!string.IsNullOrEmpty(NonFileUrls))
|
||||||
|
{
|
||||||
|
//need to repost the object with the notes modified
|
||||||
|
d = rMainObject.ObjectResponse["data"];
|
||||||
|
d.notes = NonFileUrls + "\n-----------------\n" + d.notes;
|
||||||
|
await util.PutAsync("Customer/" + RavenId.ToString(), d.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
//Event log fixup
|
||||||
|
await util.EventLog(8, RavenId, SafeGetUserMap(c.Creator), SafeGetUserMap(c.Modifier), c.Created, c.Modified);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion clients
|
||||||
|
|
||||||
|
|
||||||
#region locales
|
#region locales
|
||||||
private async System.Threading.Tasks.Task ExportLocales(ProgressForm progress)
|
private async System.Threading.Tasks.Task ExportLocales(ProgressForm progress)
|
||||||
{
|
{
|
||||||
@@ -1128,30 +1198,6 @@ namespace AyaNova.PlugIn.V8
|
|||||||
|
|
||||||
|
|
||||||
//WIKI
|
//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 string GetWikiContent(TypeAndID tid)
|
private string GetWikiContent(TypeAndID tid)
|
||||||
{
|
{
|
||||||
@@ -1718,19 +1764,6 @@ and this one
|
|||||||
}
|
}
|
||||||
#endregion globalsettings
|
#endregion globalsettings
|
||||||
|
|
||||||
#region clients
|
|
||||||
private void ExportClients(ProgressForm progress)
|
|
||||||
{
|
|
||||||
ClientPickList pl = ClientPickList.GetList();
|
|
||||||
progress.Append("Dumping " + pl.Count.ToString() + " Clients");
|
|
||||||
foreach (ClientPickList.ClientPickListInfo i in pl)
|
|
||||||
{
|
|
||||||
Client c = Client.GetItem(i.ID);
|
|
||||||
//DumpObjectToFolder(tempArchiveFolder, c, "client." + c.ID.ToString(), objectExcludeProperties, new TypeAndID(RootObjectTypes.Client, c.ID));
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion clients
|
|
||||||
|
|
||||||
#region headoffices
|
#region headoffices
|
||||||
private void ExportHeadOffices(ProgressForm progress)
|
private void ExportHeadOffices(ProgressForm progress)
|
||||||
|
|||||||
Reference in New Issue
Block a user