private void SaveOriginator(FollowUpOperationData followUpData) { var maximoExecutionContext = GetContext(followUpData); var metadataToUse = followUpData.EntityMetadata; var oldEntity = (DataMap)EntityRepository.Get(metadataToUse, followUpData.origrecordid); if (oldEntity == null) { throw new InvalidOperationException(String.Format(NotFoundLog, metadataToUse.Name, followUpData.origrecordid)); } oldEntity.Attributes.Add("HASFOLLOWUPWORK", true); //TODO: make it easier to generate a CrudOperationData from a DataMap... var json = JObject.Parse(JsonConvert.SerializeObject(oldEntity.Fields)); var originalWoData = EntityBuilder.BuildFromJson <CrudOperationData>(typeof(CrudOperationData), metadataToUse, maximoExecutionContext.ApplicationMetadata, json, followUpData.origrecordid); Maximoengine.Update(originalWoData); }
public Object SubmitAction(UpdateStatusOperationData opData) { var datamap = opData.CrudData; datamap.Attributes["status"] = opData.status; datamap.Attributes["#submittingaction"] = "true"; var owner = datamap.GetAttribute("owner"); var isIbmTicket = HlagTicketUtil.IsIBMTicket(datamap); if (owner != null && isIbmTicket && datamap.Attributes["status"].Equals("QUEUED")) { //HAP-839 review datamap.Attributes["status"] = "INPROG"; } return(Maximoengine.Update(datamap)); }
public object CreateFollowUp(FollowUpOperationData followupData) { SaveOriginator(followupData); //save followup workorder return(Maximoengine.Create(followupData.CrudData)); }