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));
 }