public TblAudit ToAudit() { var audit = new TblAudit { TableName = TableName, DateTime = DateTime.UtcNow, Action = Action, UserId = UserId, KeyValues = KeyValues.First().Value.ToString(), OldValues = OldValues.Count == 0 ? null : JsonConvert.SerializeObject(OldValues), NewValues = NewValues.Count == 0 ? null : JsonConvert.SerializeObject(NewValues), }; List <AuditDelta> DeltaList = new List <AuditDelta>(); JObject sourceJObject = JsonConvert.DeserializeObject <JObject>(audit.OldValues); if (audit.Action == "Modified") { JObject targetJObject = JsonConvert.DeserializeObject <JObject>(audit.NewValues); foreach (KeyValuePair <string, JToken> sourceProperty in sourceJObject) { JProperty targetProp = targetJObject.Property(sourceProperty.Key); if (!JToken.DeepEquals(sourceProperty.Value, targetProp.Value)) { AuditDelta delta = new AuditDelta { FieldName = sourceProperty.Key, ValueBefore = Convert.ToString(sourceProperty.Value), ValueAfter = Convert.ToString(targetProp.Value) }; DeltaList.Add(delta); } } } else { foreach (KeyValuePair <string, JToken> sourceProperty in sourceJObject) { AuditDelta delta = new AuditDelta { FieldName = sourceProperty.Key, ValueBefore = Convert.ToString(sourceProperty.Value), ValueAfter = string.Empty }; DeltaList.Add(delta); } } audit.Changes = JsonConvert.SerializeObject(DeltaList); return(audit); }
public NCEntityChange ToAudit() { var audit = new NCEntityChange(); audit.ChangeType = ChangeType; audit.TableName = TableName; audit.CreationTime = DateTime.UtcNow; audit.CreatorUserId = userId; if (KeyValues.Any()) { audit.keyName = KeyValues.First().Key; audit.EntityId = KeyValues.First().Value + ""; } audit.OldValues = OldValues.Count == 0 ? null : JsonConvert.SerializeObject(OldValues); audit.NewValues = NewValues.Count == 0 ? null : JsonConvert.SerializeObject(NewValues); return(audit); }
public Audit ToAudit(IUserService userService, ReflmgContext refContext) { var audit = new Audit(); audit.TableName = TableName; audit.OperationType = OperationType; audit.OperationDate = DateTime.UtcNow; var userLogin = userService?.GetCurrentDbUser(); Contributeur user = refContext.Contributeur.FirstOrDefault(p => p.Login == userLogin); if (user == null) { audit.UserName = userLogin; } else { audit.UserName = user.Prenom + " " + user.Nom; } audit.RecordKey = int.Parse(KeyValues.First().Value.ToString()); audit.RecordName = RecordName; List <AuditEntryDetail> detail = new List <AuditEntryDetail>(); OldValues.Keys.Union(NewValues.Keys).Distinct().ToList() .ForEach(key => detail.Add(new AuditEntryDetail() { Field = key })); foreach (var item in detail) { item.NewValue = NewValues.ContainsKey(item.Field) ? NewValues[item.Field] : null; item.OldValue = OldValues.ContainsKey(item.Field) ? OldValues[item.Field] : null; AuditDetail auditDetail = new AuditDetail(); auditDetail.Field = item.Field; auditDetail.NewValue = item.NewValue?.ToString(); auditDetail.OldValue = item.OldValue?.ToString(); audit.AuditDetail.Add(auditDetail); } return(audit); }
public void SetKeyValue(string key, string value) { bool IsMatch(PointOfSaleKeyValue posKv) => string.Equals(posKv.Key, key, StringComparison.OrdinalIgnoreCase); var cnt = KeyValues.Count(IsMatch); if (cnt > 1) { foreach (var kv in KeyValues.Where(IsMatch).ToArray()) { KeyValues.Remove(kv); } } else if (cnt == 1) { KeyValues.First(IsMatch).SetValue(value); } else { KeyValues.Add(new PointOfSaleKeyValue(key, value)); } }
private void InternalInitialize(DataSet dataSet, int pageSize, string keyValue, string foreignKeyValue, string tableName, string primaryKey, string foreignKey, bool isFillEmpty, DataFormConfig dataFormConfig) { // ColumnLegalHashTable = new HashSet<string>(); this.DataFormConfig = dataFormConfig; UniqueList = this.DataFormConfig.Columns.Where(a => a.IsUniqueKey).Select(a => a.Name).ToList(); //SingleUploadColumns = this.DataFormConfig.Columns.FindAll( // a => (a.ControlType == ControlType.SingleImageUpload || a.ControlType == ControlType.SingleFileUpload) && (a.Upload != null && a.Upload.HasKey)).ToList(); //MultiUploadColumns = this.DataFormConfig.Columns.FindAll( // a => (a.ControlType == ControlType.MultiImageUpload || a.ControlType == ControlType.MultiFileUpload) && (a.Upload != null && a.Upload.HasKey)).ToList(); MomeryColumns = this.DataFormConfig.Columns.FindAll( a => (a.ControlType == ControlType.Momery && !a.RegName.IsEmpty()) ).ToList(); this.KeyValues = new List <string>(); this.IsFillEmpty = isFillEmpty; this.PostDataSet = dataSet; this.KeyValue = keyValue; if (dataSet != null) { var _dtPageSys = dataSet.Tables["PAGE_SYS"]; if (_dtPageSys != null && _dtPageSys.Rows.Count > 0) { if (_dtPageSys.Columns.Contains("PageStyle")) { this.PageStyle = _dtPageSys.Rows[0]["PageStyle"].Value <PageStyle>(); } } var dt = dataSet.Tables["_KEY"]; if (dt != null && dt.Rows.Count > 0) { List <string> keyValueList = new List <string>(); foreach (DataRow row in dt.Rows) { string _key = row["KeyValue"].ToString(); keyValueList.Add(_key); } KeyValues = keyValueList; } } // if (dataSet.Tables["PAGE"]) if (RegName.IsEmpty()) { fRegName = tableName; } if (PrimaryKey.IsEmpty()) { PrimaryKey = primaryKey; } if (ForeignKey.IsEmpty()) { ForeignKey = foreignKey; } if (!ForeignKey.IsEmpty()) { if (foreignKeyValue.IsEmpty()) { this.ForeignKeyValue = KeyValues.Count() == 1 ? KeyValues.First() : foreignKeyValue; } else { this.ForeignKeyValue = foreignKeyValue; } } if (dataSet != null) { this.Pagination = new Pagination().FormDataTable(dataSet.Tables["PAGER"]); } else { this.Pagination = new Pagination() { //TableName = RegName, DataTime = DateTime.Now, PageSize = pageSize } }; this.Pagination.TableName = RegName; if (this.Pagination.PageSize == 0) { this.Pagination.PageSize = pageSize; } if (this.Pagination.PageSize == 0) { this.Pagination.PageSize = 20; } }