Пример #1
0
        /// <summary>
        /// 保存数据字典
        /// </summary>
        /// <param name="updateType">本次操作状态(新增/修改)</param>
        /// <returns></returns>
        public virtual bool Update(UpdateType updateType)
        {
            DataTable original = null;

            //提交缓存数据,确保输入框的数据已提交到绑定的数据源,将记录状态改变Unchanged.
            _DataBinder.AcceptChanges();

            //再还原记录的状态
            if (updateType == UpdateType.Modify)
            {
                _DataBinder.Rows[0].SetModified();
            }
            if (updateType == UpdateType.Add)
            {
                _DataBinder.Rows[0].SetAdded();
            }

            //创建一个副本用于保存
            DataSet data = new DataSet();

            data.Tables.Add(_DataBinder.Copy());

            //取当前记录的主键值
            string key = ConvertEx.ToString(_DataBinder.Rows[0][_KeyFieldName]);

            //如启用日志功能记录本次修改
            if (_WriteDataLog)
            {
                original = _DataDictBridge.GetDataByKey(key); //保存前的原始数据
                this.WriteLog(original, _DataBinder);         //保存修改日志
            }

            //调用数据层的方法提交数据
            return(_DataDictBridge.Update(data));
        }
Пример #2
0
        /// <summary>
        /// 保存数据字典
        /// </summary>
        /// <param name="updateType">本次操作状态(新增/修改)</param>
        /// <returns></returns>
        public virtual bool Update(UpdateType updateType)
        {
            DataTable original = null;

            //提交缓存数据,确保输入框的数据已提交到绑定的数据源,将记录状态改变Unchanged.
            _DataBinder.AcceptChanges();

            //再还原记录的状态
            if (updateType == UpdateType.Modify)
            {
                _DataBinder.Rows[0].SetModified();
            }
            if (updateType == UpdateType.Add)
            {
                _DataBinder.Rows[0].SetAdded();
            }

            //创建一个副本用于保存
            DataSet data = new DataSet();

            data.Tables.Add(_DataBinder.Copy());

            // 判断公共字段 CREATEBY、CREATETIME、MODIFYBY、MODIFYTIME、ISDELETED

            if (data.Tables[0].Columns.Contains("ISDELETED") == true && data.Tables[0].Rows[0]["ISDELETED"] == DBNull.Value)
            {
                data.Tables[0].Rows[0]["ISDELETED"] = false;
            }
            if (data.Tables[0].Columns.Contains("CREATEBY") == true && data.Tables[0].Rows[0]["CREATEBY"] == DBNull.Value)
            {
                data.Tables[0].Rows[0]["CREATEBY"] = Loginer.CurrentUser.Account;
            }
            if (data.Tables[0].Columns.Contains("CREATETIME") == true && data.Tables[0].Rows[0]["CREATETIME"] == DBNull.Value)
            {
                data.Tables[0].Rows[0]["CREATETIME"] = DateTime.Now;
            }
            if (data.Tables[0].Columns.Contains("MODIFYBY") == true && data.Tables[0].Rows[0]["MODIFYBY"] == DBNull.Value)
            {
                data.Tables[0].Rows[0]["MODIFYBY"] = Loginer.CurrentUser.Account;
            }
            if (data.Tables[0].Columns.Contains("MODIFYTIME") == true && data.Tables[0].Rows[0]["MODIFYTIME"] == DBNull.Value)
            {
                data.Tables[0].Rows[0]["MODIFYTIME"] = DateTime.Now;
            }

            //取当前记录的主键值
            string key = ConvertEx.ToString(_DataBinder.Rows[0][_KeyFieldName]);

            //如启用日志功能记录本次修改
            if (_WriteDataLog)
            {
                original = _DataDictBridge.GetDataByKey(key); //保存前的原始数据
                this.WriteLog(original, _DataBinder);         //保存修改日志
            }

            //调用数据层的方法提交数据
            return(_DataDictBridge.Update(data));
        }