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 CreateFollowUp(FollowUpOperationData followupData) { SaveOriginator(followupData); //save followup workorder return(Maximoengine.Create(followupData.CrudData)); }