Exemple #1
0
        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);
                }
            }
        }