Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }