This commit is contained in:
2021-08-09 22:15:07 +00:00
parent 3b40f54be2
commit 4079002c1a

View File

@@ -190,6 +190,14 @@ namespace AyaNova.PlugIn.V8
else V7ToV8IdMap.Add(v7id, v8id);
}
private Dictionary<Guid, long> V7ToV8WorkOrderItemStatusIdMap = new Dictionary<Guid, long>();
private void Addv7v8WorkOrderItemStatusIdMap(Guid v7id, long v8id)
{
if (V7ToV8WorkOrderItemStatusIdMap.ContainsKey(v7id))
throw new Exception("Error: V7ToV8WorkOrderItemStatusIdMap - v7id already mapped previously, id is " + v7id.ToString());
else V7ToV8WorkOrderItemStatusIdMap.Add(v7id, v8id);
}
private bool IsDuplicatev7v8IdMapItem(Guid v7id, string name, ProgressForm progress)
{
if (V7ToV8IdMap.ContainsKey(v7id))
@@ -2256,36 +2264,54 @@ namespace AyaNova.PlugIn.V8
//await ExportWorkOrderItemPriorities(progress);
#region WorkorderStatus
private async System.Threading.Tasks.Task ExportWorkorderStatus(ProgressForm progress)
{
{
if (!progress.KeepGoing) return;
progress.Op("Start WorkOrder/Item Status export");
progress.SubOp("");
var ObjectTypeName = "WorkorderStatus";
var ObjectTypeName = "Workorder/Item Status";
progress.Append("Exporting all " + " " + ObjectTypeName + "s");
List<string> tags = new List<string>();
AddImportTag(tags);
WorkorderStatusPickList pl = WorkorderStatusPickList.GetList();
WorkorderStatuses w = WorkorderStatuses.GetItems();
//in v8 workorderstatus and workorderitemstatus are split apart but in v7 same, so split here...
foreach (WorkorderStatusPickList.WorkorderStatusPickListInfo pli in pl)
//First export for workorders
ResetUniqueNames();
foreach (WorkorderStatus s in w)
{
if (!progress.KeepGoing) return;
if (!progress.KeepGoing) return;
dynamic d = new JObject();
d.name = GetUniqueName(s.Name);
progress.Op("WorkOrder status " + d.name);
d.active = s.Active;
d.locked = false;
d.completed = false;
d.selectRoles = 1290;//biz-admin, service full, service tech, subcontractor
d.removeRoles = 1290;
d.color = System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(s.ARGB));
SetTags(d, tags);
progress.Op(ObjectTypeName + " " + pli.ID.ToString());
var rMainObject = await util.PostAsync("work-order-status", d.ToString());
long RavenId = util.IdFromResponse(rMainObject);
Addv7v8IdMap(s.ID, RavenId);
//Event log fixup
await util.EventLog(util.AyaType, RavenId, RavenFromId, RavenFromId, mem.Created, mem.Modified);
await util.EventLog(util.AyaType.WorkOrderStatus, RavenId, SafeGetUserMap(s.Creator), SafeGetUserMap(s.Modifier), s.Created, s.Modified);
}
//Second export for workorder items
ResetUniqueNames();
foreach (WorkorderStatus s in w)
{
if (!progress.KeepGoing) return;
dynamic d = new JObject();
d.name = GetUniqueName(s.Name);
progress.Op("WorkOrder ITEM status " + d.name);
d.active = s.Active;
d.color = System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(s.ARGB));
SetTags(d, tags);
var rMainObject = await util.PostAsync("work-order-item-status", d.ToString());
long RavenId = util.IdFromResponse(rMainObject);
Addv7v8WorkOrderItemStatusIdMap(s.ID, RavenId);
await util.EventLog(util.AyaType.WorkOrderItemStatus, RavenId, SafeGetUserMap(s.Creator), SafeGetUserMap(s.Modifier), s.Created, s.Modified);
}