This commit is contained in:
@@ -355,6 +355,7 @@ namespace AyaNova.PlugIn.V8
|
|||||||
|
|
||||||
//must be after all clients, ho, units and workorders
|
//must be after all clients, ho, units and workorders
|
||||||
await ExportServiceBank(progress);
|
await ExportServiceBank(progress);
|
||||||
|
await ExportClientServiceRequests(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
|
||||||
@@ -1331,7 +1332,7 @@ namespace AyaNova.PlugIn.V8
|
|||||||
d.serial = c.Serial;
|
d.serial = c.Serial;
|
||||||
//MIGRATE_OUTSTANDING
|
//MIGRATE_OUTSTANDING
|
||||||
//fixup after workorders
|
//fixup after workorders
|
||||||
// d.workorderItemLoanId=
|
// d.workorderItemLoanId=
|
||||||
d.rateHour = c.RateHour;
|
d.rateHour = c.RateHour;
|
||||||
d.rateHalfDay = c.RateHalfDay;
|
d.rateHalfDay = c.RateHalfDay;
|
||||||
d.rateDay = c.RateDay;
|
d.rateDay = c.RateDay;
|
||||||
@@ -1339,7 +1340,7 @@ namespace AyaNova.PlugIn.V8
|
|||||||
d.rateMonth = c.RateMonth;
|
d.rateMonth = c.RateMonth;
|
||||||
d.rateYear = c.RateYear;
|
d.rateYear = c.RateYear;
|
||||||
d.defaultRate = 1;
|
d.defaultRate = 1;
|
||||||
|
|
||||||
|
|
||||||
TagFromv7Guid(c.RegionID, tags);
|
TagFromv7Guid(c.RegionID, tags);
|
||||||
SetTags(d, tags);
|
SetTags(d, tags);
|
||||||
@@ -2624,73 +2625,62 @@ namespace AyaNova.PlugIn.V8
|
|||||||
progress.Op("Start ClientServiceRequests export");
|
progress.Op("Start ClientServiceRequests export");
|
||||||
progress.SubOp("");
|
progress.SubOp("");
|
||||||
var ObjectTypeName = "ClientServiceRequest";
|
var ObjectTypeName = "ClientServiceRequest";
|
||||||
//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, ObjectTypeName);
|
|
||||||
|
|
||||||
//Step 2: export the objects
|
//Step 2: export the objects
|
||||||
PickListAutoComplete pl = PickListAutoComplete.GetList("**", "ClientServiceRequest");
|
ClientServiceRequestList pl = ClientServiceRequestList.GetList(string.Empty);
|
||||||
progress.Append("Exporting " + pl.Count.ToString() + " " + ObjectTypeName + "s");
|
progress.Append("Exporting " + pl.Count.ToString() + " " + ObjectTypeName + "s");
|
||||||
|
|
||||||
foreach (PickListAutoComplete.PickListAutoCompleteInfo i in pl)
|
foreach (ClientServiceRequestList.ClientServiceRequestListInfo i in pl)
|
||||||
{
|
{
|
||||||
if (!progress.KeepGoing) return;
|
if (!progress.KeepGoing) return;
|
||||||
List<string> tags = new List<string>();
|
List<string> tags = new List<string>();
|
||||||
tags.Add(ImportTag);
|
tags.Add(ImportTag);
|
||||||
|
|
||||||
ClientServiceRequest c = ClientServiceRequest.GetItem(i.ID);
|
ClientServiceRequest c = ClientServiceRequest.GetItem(i.LT_O_ClientServiceRequest.Value);
|
||||||
var ObjectTID = new TypeAndID(RootObjectTypes.ClientServiceRequest, c.ID);
|
var ObjectTID = new TypeAndID(RootObjectTypes.ClientServiceRequest, c.ID);
|
||||||
|
|
||||||
dynamic d = new JObject();
|
dynamic d = new JObject();
|
||||||
d.name = GetUniqueName(c.Name);
|
d.name = c.Title;
|
||||||
if (IsDuplicatev7v8IdMapItem(c.ID, c.Name, progress)) continue;
|
|
||||||
progress.Op(ObjectTypeName + " " + d.name);
|
progress.Op(ObjectTypeName + " " + d.name);
|
||||||
d.active = c.Active;
|
if (!string.IsNullOrWhiteSpace(c.RequestedBy))
|
||||||
d.notes = c.Notes;
|
d.notes = "Requested by " + c.RequestedBy + "\n" + c.Details;
|
||||||
d.dateStarted = util.DateToV8(c.DateStarted, true);
|
else
|
||||||
d.dateCompleted = util.DateToV8(c.DateCompleted, false);
|
d.notes = c.Details;
|
||||||
d.accountNumber = c.AccountNumber;
|
d.dateRequested = util.DateToV8(c.Created, true);
|
||||||
d.ClientServiceRequestOverseerId = SafeGetUserMap(c.ClientServiceRequestOverseerID);
|
d.customerId = Getv7v8IdMap(c.ClientID, "Client for CSR");
|
||||||
|
d.unitId = Getv7v8IdMapNullOk(c.UnitID);
|
||||||
|
d.workorderItemId = Getv7v8IdMapNullOk(c.WorkorderItemID);
|
||||||
|
d.requestedByUserId = 0;//this is a weird one because in v8 it will be a real user account and it's required in the schema so trying 0
|
||||||
|
d.customerReferenceNumber = c.ClientRef;
|
||||||
|
d.priority = (int)c.Priority;//same int value
|
||||||
|
if (c.Status == ClientServiceRequestStatus.Closed)
|
||||||
|
{
|
||||||
|
//no closed status in v8 so either accepted or rejected based upon if it has a workorderitemid or not
|
||||||
|
if (c.WorkorderItemID == Guid.Empty)
|
||||||
|
|
||||||
|
//no woitem id, but is closed so guessing rejected?
|
||||||
|
d.status = (int)ClientServiceRequestStatus.Declined;
|
||||||
|
|
||||||
|
else
|
||||||
|
d.status = (int)ClientServiceRequestStatus.Accepted;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
d.status = (int)c.Status;
|
||||||
|
|
||||||
TagFromv7Guid(c.RegionID, tags);
|
|
||||||
SetTags(d, tags);
|
SetTags(d, tags);
|
||||||
|
|
||||||
|
|
||||||
//Custom fields?
|
|
||||||
if (ShouldExportCustom)
|
|
||||||
d.customFields = CustomFieldData(c, DateCustomFields);
|
|
||||||
|
|
||||||
var rMainObject = await util.PostAsync("ClientServiceRequest", d.ToString());
|
var rMainObject = await util.PostAsync("ClientServiceRequest", d.ToString());
|
||||||
long RavenId = util.IdFromResponse(rMainObject);
|
long RavenId = util.IdFromResponse(rMainObject);
|
||||||
Addv7v8IdMap(c.ID, RavenId);
|
Addv7v8IdMap(c.ID, RavenId);
|
||||||
|
|
||||||
//Attachments / FILES
|
|
||||||
await ExportAttachments(ObjectTID, progress);
|
|
||||||
//-----
|
|
||||||
bool repost = false;
|
|
||||||
d = rMainObject.ObjectResponse["data"];
|
|
||||||
// wiki
|
|
||||||
if (WikiPage.HasWiki(c.ID))
|
|
||||||
{
|
|
||||||
// await ExportAttachments(ObjectTID, progress);
|
|
||||||
d.wiki = GetWikiContent(ObjectTID);
|
|
||||||
repost = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//docs
|
|
||||||
string NonFileUrls = await ExportDocs(ObjectTID, c.Docs, progress);
|
|
||||||
if (!string.IsNullOrEmpty(NonFileUrls))
|
|
||||||
{
|
|
||||||
d.notes = NonFileUrls + "\n-----------------\n" + d.notes;
|
|
||||||
repost = true;
|
|
||||||
}
|
|
||||||
if (repost)
|
|
||||||
await util.PutAsync("ClientServiceRequest", d.ToString());
|
|
||||||
//-----
|
//-----
|
||||||
|
|
||||||
//Event log fixup
|
//Event log fixup
|
||||||
await util.EventLog(util.AyaType.ClientServiceRequest, RavenId, SafeGetUserMap(c.Creator), SafeGetUserMap(c.Modifier), c.Created, c.Modified);
|
await util.EventLog(util.AyaType.CustomerServiceRequest, RavenId, SafeGetUserMap(c.Creator), SafeGetUserMap(c.Modifier), c.Created, c.Modified);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user