/// <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)); }
/// <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)); }