protected void AuditConsignment(UserTabPanel model) { var jsonToViewModel = JsonConvert.DeserializeObject <ConsignmentRootObject>(model.JsonData, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); //var auditEntry = _auditService.AuditByConsignmentReference(jsonToViewModel.ConsignmentReference); var auditEntry = _auditService.AuditByReference(jsonToViewModel.ConsignmentReference); //var divisionID = Guid.Parse(jsonToViewModel.DivisionID); if (auditEntry == null) { var auditConsignment = GetAuditObject(model.ContentType, model.JsonData, model.JsonData, jsonToViewModel.ConsignmentReference, Guid.Parse(jsonToViewModel.ConsignmentID)); _auditService.Insert(auditConsignment); } else { string oldAuditEntry = auditEntry.JsonDataAfter; if (string.IsNullOrEmpty(auditEntry.JsonDataAfter)) { oldAuditEntry = auditEntry.JsonDataBefore; }// if previous was first added // only write if something changed if (model.JsonData != oldAuditEntry) { var auditConsignment = GetAuditObject(model.ContentType, oldAuditEntry, model.JsonData, jsonToViewModel.ConsignmentReference, Guid.Parse(jsonToViewModel.ConsignmentID)); _auditService.Insert(auditConsignment); } } }