/// <summary> /// 服务端检查 /// </summary> /// <param name="paramModel">UIModel</param> /// <returns></returns> private bool ServerCheck(AutoFactoryCustomerManagerUIModel paramModel) { //验证汽修商编码唯一性 var sameAutoFactoryCustomer = _bll.QueryForObject <Int32>(SQLID.PIS_AutoFactoryCustomerManager_SQL01, new MDLPIS_AutoFactoryCustomer { WHERE_AFC_ID = paramModel.AFC_ID, WHERE_AFC_Code = paramModel.AFC_Code, WHERE_AFC_AROrg_Code = paramModel.AFC_AROrg_Code, }); if (sameAutoFactoryCustomer > 0) { ResultMsg = MsgHelp.GetMsg(MsgCode.E_0006, new object[] { SystemTableColumnEnums.PIS_AutoFactoryCustomer.Name.AFC_Code }); return(false); } return(true); }
/// <summary> /// 保存 /// </summary> /// <param name="paramModel">UIModel</param> /// <param name="paramArOrgSupOrgAuthorityList">汽配汽修组织授权列表</param> /// <returns></returns> public bool SaveDetailDS(AutoFactoryCustomerManagerUIModel paramModel, SkyCarBindingList <AROrgSupOrgAuthorityUIModel, MDLSM_AROrgSupOrgAuthority> paramArOrgSupOrgAuthorityList) { //服务端检查 if (!ServerCheck(paramModel)) { return(false); } #region 保存数据 //将UIModel转为TBModel var argsAutoFactoryCustomer = CopyModel <MDLPIS_AutoFactoryCustomer>(paramModel); #region 步到平台 if (argsAutoFactoryCustomer.AFC_IsPlatform == true) { //同步到平台的数据 List <ARCustomerAutoPartsPriceTypeUIModel> syncArCustomerAutoPartsPriceTypeList = new List <ARCustomerAutoPartsPriceTypeUIModel>(); ARCustomerAutoPartsPriceTypeUIModel curArCustomerAutoPartsPriceType = new ARCustomerAutoPartsPriceTypeUIModel { SAAPPT_ARMerchantCode = argsAutoFactoryCustomer.AFC_Code, SAAPPT_AROrgCode = argsAutoFactoryCustomer.AFC_AROrg_Code, SAAPPT_AutoPartsPriceType = argsAutoFactoryCustomer.AFC_AutoPartsPriceType, SAAPPT_OperateType = "Save" }; syncArCustomerAutoPartsPriceTypeList.Add(curArCustomerAutoPartsPriceType); if (!SynchronizeARCustomerAutoPartsPriceType(syncArCustomerAutoPartsPriceTypeList)) { //同步到平台失败 ResultMsg = MsgHelp.GetMsg(MsgCode.E_0018, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.PIS_AutoFactoryCustomer, "同步平台失败" }); return(false); } } #endregion try { DBManager.BeginTransaction(DBCONFIG.Coeus); //判断主键是否被赋值 if (string.IsNullOrEmpty(argsAutoFactoryCustomer.AFC_ID)) { #region 新增 //生成新ID argsAutoFactoryCustomer.AFC_ID = Guid.NewGuid().ToString(); argsAutoFactoryCustomer.AFC_CreatedBy = LoginInfoDAX.UserName; argsAutoFactoryCustomer.AFC_CreatedTime = BLLCom.GetCurStdDatetime(); argsAutoFactoryCustomer.AFC_UpdatedBy = LoginInfoDAX.UserName; argsAutoFactoryCustomer.AFC_UpdatedTime = BLLCom.GetCurStdDatetime(); //主键未被赋值,则执行新增 bool insertCustomerResult = _bll.Insert(argsAutoFactoryCustomer); if (!insertCustomerResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.NEW + SystemTableEnums.Name.PIS_AutoFactoryCustomer }); return(false); } #endregion } else { #region 更新 //主键被赋值,则需要更新,更新需要设定更新条件 argsAutoFactoryCustomer.WHERE_AFC_ID = argsAutoFactoryCustomer.AFC_ID; argsAutoFactoryCustomer.WHERE_AFC_VersionNo = argsAutoFactoryCustomer.AFC_VersionNo; argsAutoFactoryCustomer.AFC_VersionNo++; argsAutoFactoryCustomer.AFC_UpdatedBy = LoginInfoDAX.UserName; argsAutoFactoryCustomer.AFC_UpdatedTime = BLLCom.GetCurStdDatetime(); bool updateCustomerResult = _bll.Update(argsAutoFactoryCustomer); if (!updateCustomerResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { MsgParam.UPDATE + SystemTableEnums.Name.PIS_AutoFactoryCustomer }); return(false); } #endregion } #region 保存[汽配汽修组织授权] if (argsAutoFactoryCustomer.AFC_IsPlatform == true) { bool saveArOrgSupOrgAuthorityResult = _bll.UnitySave(paramArOrgSupOrgAuthorityList); if (!saveArOrgSupOrgAuthorityResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.SM_AROrgSupOrgAuthority }); return(false); } } #endregion DBManager.CommitTransaction(DBCONFIG.Coeus); } catch (Exception ex) { DBManager.RollBackTransaction(DBCONFIG.Coeus); if (argsAutoFactoryCustomer.AFC_IsPlatform == true) { #region 保存本地失败,还原同步到平台上已新增、已更新、已删除的汽修商客户配件价格类别信息 List <ARCustomerAutoPartsPriceTypeUIModel> restoreSyncAutoPartsPriceTypeList = new List <ARCustomerAutoPartsPriceTypeUIModel>(); //查询待更新数据原保存数据内容 List <ARCustomerAutoPartsPriceTypeUIModel> updateAutoPartsPriceTypeList = new List <ARCustomerAutoPartsPriceTypeUIModel>(); _bll.QueryForList(SQLID.PIS_AutoFactoryCustomerManager_SQL04, new MDLPIS_AutoFactoryCustomer { WHERE_AFC_ID = argsAutoFactoryCustomer.AFC_ID, }, updateAutoPartsPriceTypeList); restoreSyncAutoPartsPriceTypeList.AddRange(updateAutoPartsPriceTypeList); SynchronizeARCustomerAutoPartsPriceType(restoreSyncAutoPartsPriceTypeList); #endregion } ResultMsg = MsgHelp.GetMsg(MsgCode.E_0018, new object[] { SystemActionEnum.Name.SAVE, ex.Message }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, MethodBase.GetCurrentMethod().ToString(), ex.Message, "", null); return(false); } //将最新数据回写给DetailDS CopyModel(argsAutoFactoryCustomer, paramModel); #endregion return(true); }