/// <summary> /// 服务端检查 /// </summary> /// <param name="paramModel">UIModel</param> /// <returns></returns> private bool ServerCheck(CodeTableManagerUIModel paramModel) { //新增时检查参数类型下是否存在相同的参数值 if (string.IsNullOrEmpty(paramModel.CT_ID)) { var resultSameCodeTable = QueryForObject <Int32>(SQLID.BS_CodeTableManager_SQL02, new MDLSM_CodeTable { WHERE_CT_ID = paramModel.CT_ID, WHERE_CT_Type = paramModel.CT_Type, WHERE_CT_Name = paramModel.CT_Name }); if (resultSameCodeTable > 0) { ResultMsg = MsgHelp.GetMsg(MsgCode.E_0006, new object[] { SystemTableColumnEnums.SM_CodeTable.Name.CT_Name }); return(false); } } return(true); }
/// <summary> /// 保存 /// </summary> /// <param name="paramModel">UIModel</param> /// <returns></returns> public bool SaveDetailDS(CodeTableManagerUIModel paramModel) { //服务端检查 if (!ServerCheck(paramModel)) { return(false); } #region 保存码表 //将UIModel转为TBModel var argsCodeTable = CopyModel <MDLSM_CodeTable>(paramModel); argsCodeTable.CT_Value = argsCodeTable.CT_Name; argsCodeTable.CT_Desc = argsCodeTable.CT_Name; #region 新增 //判断主键是否被赋值 if (string.IsNullOrEmpty(argsCodeTable.CT_ID)) { #region 步配件级别 if (argsCodeTable.CT_Type == CodeTypeEnum.Code.AUTOPARTSLEVEL) { if (!string.IsNullOrEmpty(argsCodeTable.CT_Name)) { string argsPostData = string.Format(ApiParameter.BF0014, ConfigurationManager.AppSettings[AppSettingKey.MCT_CODE], argsCodeTable.CT_Name); string strApiData = APIDataHelper.GetAPIData(ApiUrl.BF0014Url, argsPostData); var jsonResult = (JObject)JsonConvert.DeserializeObject(strApiData); if (jsonResult == null || (jsonResult[SysConst.EN_RESULTCODE] != null && !jsonResult[SysConst.EN_RESULTCODE].ToString().Equals(SysConst.EN_I0001))) { ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SYNCHRONIZE + SystemTableColumnEnums.BS_AutoPartsArchive.Name.APA_Level }); } } } #endregion //生成新ID argsCodeTable.CT_ID = Guid.NewGuid().ToString(); argsCodeTable.CT_CreatedBy = LoginInfoDAX.UserName; argsCodeTable.CT_CreatedTime = BLLCom.GetCurStdDatetime(); argsCodeTable.CT_UpdatedBy = LoginInfoDAX.UserName; argsCodeTable.CT_UpdatedTime = BLLCom.GetCurStdDatetime(); //主键未被赋值,则执行新增 if (!_bll.Insert(argsCodeTable)) { ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.NEW + SystemTableEnums.Name.SM_CodeTable }); return(false); } } #endregion #region 更新 else { //主键被赋值,则需要更新,更新需要设定更新条件 argsCodeTable.WHERE_CT_ID = argsCodeTable.CT_ID; argsCodeTable.WHERE_CT_VersionNo = argsCodeTable.CT_VersionNo; argsCodeTable.CT_VersionNo++; argsCodeTable.CT_UpdatedBy = LoginInfoDAX.UserName; argsCodeTable.CT_UpdatedTime = BLLCom.GetCurStdDatetime(); if (!_bll.Update(argsCodeTable)) { ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { MsgParam.UPDATE + SystemTableEnums.Name.SM_CodeTable }); return(false); } } #endregion //将最新数据回写给DetailDS CopyModel(argsCodeTable, paramModel); #endregion return(true); }