private static bool IsHlu(CrudOperationData jsonObject) { var attribute = jsonObject.GetAttribute("fromlocation") as string; var hh1Location = ISMConstants.NormalizeLocation(attribute); return(HLULocation.Equals(hh1Location)); }
private static string GetCurrentITC(CrudOperationData jsonObject) { var result = jsonObject.GetAttribute("currentitc") as string; return(result == null ? "#fakeuserjusttonotthrowexception" : ISMConstants.AddEmailIfNeeded(result).ToUpper()); // return SecurityFacade.CurrentUser().MaximoPersonId; }
private static void ChangeApprovalsHandler(ChangeRequest changeRequest, string selectedaction, string groupName, CrudOperationData jsonObject) { string log; string actionid; var approved = selectedaction == "Approved"; if (approved) { log = "Approved by group " + groupName; actionid = "APPROVAL OBTAINED"; } else { log = "Rejected by group " + groupName; actionid = "REASON REJECTING"; } var worklogList = new List <ChangeLog>(); var user = SecurityFacade.CurrentUser(); var changeLog = new ChangeLog { Log = log, ActionID = actionid, UserID = ISMConstants.AddEmailIfNeeded(user.MaximoPersonId), LogDateTimeSpecified = true, LogDateTime = DateTime.Now }; worklogList.Add(changeLog); if (!approved) { var reason = jsonObject.GetAttribute("#reasonreject") as string; // R0033 // correct implemented, but: didnt realised that the Approval and Reject worklogs are not displayed at ServiceIT // Please create a seperate Worklog entry with Summary: // Reject Reason for group YYY // Type: REASON REJECTING var changeLog2 = new ChangeLog { Log = "Reject Reason for group " + groupName, ActionID = "UPDATE", UserID = ISMConstants.AddEmailIfNeeded(user.MaximoPersonId), LogDateTimeSpecified = true, LogDateTime = DateTime.Now, FlexFields = new[] { new FlexFieldsFlexField { mappedTo = "WLLongDesc", id = "0", Value = reason } }, }; worklogList.Add(changeLog2); } changeRequest.ChangeLog = ArrayUtil.PushRange(changeRequest.ChangeLog, worklogList); }
private static Boolean HandleWorkLog(CrudOperationData entity, ChangeRequest maximoTicket) { var maximoWorklogs = entity.GetRelationship("worklog_"); var worklogList = new List <ChangeLog>(); var user = SecurityFacade.CurrentUser(); foreach (var jsonWorklog in (IEnumerable <CrudOperationData>)maximoWorklogs) { var worklogid = jsonWorklog.GetAttribute("worklogid"); if (worklogid == null) { var changeLog = new ChangeLog { Log = (string)jsonWorklog.GetAttribute("description"), ActionID = "CLIENTNOTE", UserID = ISMConstants.AddEmailIfNeeded(user.MaximoPersonId), LogDateTimeSpecified = true, LogDateTime = DateTime.Now }; var longDesc = ""; var ld = (CrudOperationData)jsonWorklog.GetRelationship("longdescription"); if (ld != null) { longDesc = (string)ld.GetAttribute("ldtext"); } changeLog.FlexFields = new[] { new FlexFieldsFlexField { mappedTo = "WLLongDesc", id = "0", Value = longDesc } }; worklogList.Add(changeLog); } } maximoTicket.ChangeLog = ArrayUtil.PushRange(maximoTicket.ChangeLog, worklogList); return(worklogList.Any()); }
public override void BeforeUpdate(MaximoOperationExecutionContext maximoTemplateData) { base.BeforeUpdate(maximoTemplateData); var jsonObject = (CrudOperationData)maximoTemplateData.OperationData; var serviceIncident = (ServiceIncident)maximoTemplateData.IntegrationObject; var taskId = jsonObject.GetUnMappedAttribute("WoActivityId"); var activity = new Activity { type = "WOActivity", ActionID = taskId, ActionLogSummary = jsonObject.GetUnMappedAttribute("#tasksummary") }; var fail = jsonObject.ContainsAttribute("#selectedAction") && "FAIL".EqualsIc(jsonObject.GetAttribute("#selectedAction") as string); var ownergroup = jsonObject.GetUnMappedAttribute("activityownergroup"); var sequence = jsonObject.GetUnMappedAttribute("activitysequence"); activity.FlexFields = ArrayUtil.PushRange(activity.FlexFields, BuildFlexFields(ownergroup, sequence, !fail)); serviceIncident.Activity = ArrayUtil.Push(serviceIncident.Activity, activity); if (fail) { serviceIncident.Activity = PushExtraActivitiesForFailure(serviceIncident.Activity, jsonObject); var user = SecurityFacade.CurrentUser(); var wlActivity = new Activity { ActionLogSummary = "Task {0} Failed".Fmt(taskId), ActionLog = jsonObject.GetUnMappedAttribute("#reasonreject"), type = "WorkLog", UserID = ISMConstants.AddEmailIfNeeded(user.MaximoPersonId), ActivityType = "CLIENTNOTE" }; serviceIncident.Activity = ArrayUtil.Push(serviceIncident.Activity, wlActivity); } CheckIMACResolved(serviceIncident, jsonObject); }
public IEnumerable <Activity> LoadFromServicePlan(string schemaid, CrudOperationData jsonObject) { if ("installstd".Equals(schemaid)) { return(HandleIbmTechMatrix(jsonObject, "HLAINPCS", "HLAINPCH", "HLAINPCW", "HLAINPCH_HLU", "HLAINPCS_HLU")); } if ("installlan".Equals(schemaid)) { if ("lan".Equals(jsonObject.GetAttribute("lantype"))) { return(HandleIbmTechMatrix(jsonObject, "HLAINPRS", "HLAINPRH", "HLAINPRW", "HLAINPRH_HLU", "HLAINPRS_HLU")); } return(HandleIbmTechMatrix(jsonObject, "HLAINPRSEP", "HLAINPRHHP", "HLAINPRWWP", "HLAINPRHHP_HLU", "HLAINPRSEP_HLU")); } if ("installother".Equals(schemaid)) { var classification = jsonObject.GetAttribute("classification") ?? ""; if (!classification.Equals("43290200")) { return(DoLoadFromFile("HLAINOTHER")); } return(HandleIbmTechMatrix(jsonObject, "HLAINVPCS", "HLAINVPCS", "HLAINVPCS", "HLAINVPCS_HLU", "HLAINVPCS_HLU")); } var lanType = jsonObject.GetAttribute("lantype") as string ?? ""; var isLan = lanType.Equals("lan", StringComparison.CurrentCultureIgnoreCase); var isLanHostPap = lanType.Equals("lan/host/pap", StringComparison.CurrentCultureIgnoreCase); var assetRel = (CrudOperationData)jsonObject.GetRelationship("asset"); if (assetRel == null) { throw ExceptionUtil.InvalidOperation("asset should be selected"); } var assetStatus = assetRel.GetAttribute("status") as string ?? ""; var isIdleStatus = "150 Idle".Equals(assetStatus, StringComparison.CurrentCultureIgnoreCase); if ("move".Equals(schemaid)) { var currentITC = GetCurrentITC(jsonObject); var fromLocation = jsonObject.GetAttribute("fromlocation"); var toLocation = jsonObject.GetAttribute("tolocation"); var classification = jsonObject.GetUnMappedAttribute("asset_.classstructureid") ?? ""; var toITC = ISMConstants.AddEmailIfNeeded(jsonObject.GetAttribute("toitc") as string); if (toITC != null) { toITC = toITC.ToUpper(); } if (fromLocation.Equals(toLocation)) { if (currentITC.Equals(toITC)) { return(HandleIbmTechMatrix(jsonObject, "HLAMVINS", "HLAMVINH", "HLAMVINW", "HLAMVINH_HLU", "HLAMVINS_HLU")); } if (isIdleStatus) { return(HandleIbmTechMatrix(jsonObject, "HLAMVINCOS", "HLAMVINCOH", null, "HLAMVINCOH_HLU", "HLAMVINCOS_HLU")); } if (classification.StartsWith("432121")) { if (isLan) { return(HandleIbmTechMatrix(jsonObject, "HLARMPRSIO", "HLARMPRHIO", "HLARMPRWIO", "HLARMPRHIO_HLU", "HLARMPRSIO_HLU")); } if ("lan/host".Equals(lanType) || isLanHostPap) { return(HandleIbmTechMatrix(jsonObject, "HLARMPPSIO", "HLARMPPHIO", "HLARMPPWIO", "HLARMPPHIO_HLU", "HLARMPPSIO_HLU")); } } return(HandleIbmTechMatrix(jsonObject, "HLARMPCSIO", "HLARMPCHIO", "HLARMPCWIO", "HLARMPCHIO_HLU", "HLARMPCSIO_HLU")); } if (currentITC.Equals(toITC)) { if (isIdleStatus) { return(DoLoadFromFile("HLAMVOTS")); } if (classification.StartsWith("432121")) { if (isLan) { return(HandleIbmTechMatrix2Cases(jsonObject, "HLARMPRSOS", "HLARMPRSOS_HLU")); } if (isLanHostPap) { return(HandleIbmTechMatrix2Cases(jsonObject, "HLARMPPSOS", "HLARMPPSOS_HLU")); } } return(HandleIbmTechMatrix2Cases(jsonObject, "HLARMPCSOS", "HLARMPCSOS_HLU")); } if (classification.StartsWith("432121")) { if (isLan) { return(HandleIbmTechMatrix2Cases(jsonObject, "HLARMPRSOO", "HLARMPRSOO_HLU")); } if (isLanHostPap) { return(HandleIbmTechMatrix2Cases(jsonObject, "HLARMPPSOO", "HLARMPPSOO_HLU")); } } if (!isIdleStatus) { return(HandleIbmTechMatrix2Cases(jsonObject, "HLARMPCSOO", "HLARMPCSOO_HLU")); } return(DoLoadFromFile("HLAMVOTCOS")); } if ("update".Equals(schemaid)) { return(DoLoadFromFile("HLAUPDASSD")); } if ("add".Equals(schemaid)) { return(HandleIbmTechMatrix(jsonObject, "HLAADDCOMS", "HLAADDCOMH", "HLAADDCOMW", "HLAADDCOMH_HLU", "HLAADDCOMS")); } if ("removestd".Equals(schemaid)) { return(HandleIbmTechMatrix(jsonObject, "HLARVPCS", "HLARVPCH", "HLARVPCW", "HLARVPCH_HLU", "HLARVPCS_HLU")); } if ("removelan".Equals(schemaid)) { if (isLan) { return(HandleIbmTechMatrix(jsonObject, "HLARVPRS", "HLARVPRH", "HLARVPRW", "HLARVPRH_HLU", "HLARVPRS_HLU")); } return(HandleIbmTechMatrix(jsonObject, "HLARVPRSEP", "HLARVPRHHP", "HLARVPRWWP", "HLARVPRHHP_HLU", "HLARVPRSEP_HLU")); } if ("removeother".Equals(schemaid)) { return(DoLoadFromFile("HLARVOTHER")); } if ("replacestd".Equals(schemaid)) { return(HandleIbmTechMatrix(jsonObject, "HLARPPCS", "HLARPPCH", "HLARPPCW", "HLARPPCH_HLU", "HLARPPCS_HLU")); } if ("replacelan".Equals(schemaid)) { if (isLan) { return(HandleIbmTechMatrix(jsonObject, "HLARPPRS", "HLARPPRH", "HLARPPRW", "HLARPPRH_HLU", "HLARPPRS_HLU")); } return(HandleIbmTechMatrix(jsonObject, "HLARPPRSEP", "HLARPPRHHP", "HLARPPRWWP", "HLARPPRHHP_HLU", "HLARPPRSEP_HLU")); } if ("replaceother".Equals(schemaid)) { return(DoLoadFromFile("HLARPOTHER")); } if ("decommission".Equals(schemaid)) { return(DoLoadFromFile("HLADECOMM")); } return(null); }