コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
ファイル: PointOfSale.cs プロジェクト: kursatarslan/Coffee
        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));
            }
        }
コード例 #5
0
        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;
            }
        }