Example #1
0
        /// <summary>
        /// 服务端检查
        /// </summary>
        /// <param name="paramModel">UIModel</param>
        /// <returns></returns>
        private bool ServerCheck(WalletCreateAccountUIModel paramModel)
        {
            //验证该客户是否已开户
            List <WalletInfoUIModel> resultWalletList = BLLCom.GetWalletListByOwnerInfo(paramModel.Wal_OwnerTypeName, paramModel.Wal_CustomerID, paramModel.Wal_AutoFactoryCode, paramModel.Wal_AutoFactoryOrgCode);

            if (resultWalletList.Count > 0)
            {
                //该客户已开户
                ResultMsg = MsgHelp.GetMsg(MsgCode.E_0000, new object[] { "客户:" + (string.IsNullOrEmpty(paramModel.AutoFactoryOrgName) ? paramModel.Wal_CustomerName : paramModel.AutoFactoryOrgName) + "已开户!" });
                return(false);
            }
            return(true);
        }
Example #2
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="paramModel">UIModel</param>
        /// <returns></returns>
        public bool SaveDetailDS(WalletCreateAccountUIModel paramModel)
        {
            var funcName = "SaveDetailDS";

            LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null);

            //服务端检查
            if (!ServerCheck(paramModel))
            {
                LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                return(false);
            }

            #region 准备数据

            //将UIModel转为TBModel
            var argsWallet = CopyModel <MDLEWM_Wallet>(paramModel);
            //待保存的钱包异动日志
            MDLEWM_WalletTrans newWalletTrans = new MDLEWM_WalletTrans();

            //判断主键是否被赋值
            if (string.IsNullOrEmpty(argsWallet.Wal_ID))
            {
                #region 新增
                //生成新ID
                argsWallet.Wal_ID = Guid.NewGuid().ToString();
                //生成钱包账号(汽配商户编码+7位顺序号)
                argsWallet.Wal_No          = GenerateWalletNo();
                argsWallet.Wal_CreatedBy   = LoginInfoDAX.UserName;
                argsWallet.Wal_CreatedTime = BLLCom.GetCurStdDatetime();
                #endregion
            }
            else
            {
                #region 更新
                //主键被赋值,则需要更新,更新需要设定更新条件
                argsWallet.WHERE_Wal_ID        = argsWallet.Wal_ID;
                argsWallet.WHERE_Wal_VersionNo = argsWallet.Wal_VersionNo;
                argsWallet.Wal_VersionNo++;
                #endregion
            }
            argsWallet.Wal_UpdatedBy   = LoginInfoDAX.UserName;
            argsWallet.Wal_UpdatedTime = BLLCom.GetCurStdDatetime();

            //生成钱包异动日志
            newWalletTrans = BLLCom.CreateWalletTrans(new MDLEWM_WalletTrans()
            {
                WalT_Org_ID      = LoginInfoDAX.OrgID,
                WalT_Org_Name    = LoginInfoDAX.OrgShortName,
                WalT_Wal_ID      = argsWallet.Wal_ID,
                WalT_Wal_No      = argsWallet.Wal_No,
                WalT_TypeName    = WalTransTypeEnum.Name.KH,
                WalT_TypeCode    = WalTransTypeEnum.Code.KH,
                WalT_ChannelName = LoginTerminalEnum.Name.PC,
                WalT_ChannelCode = LoginTerminalEnum.Code.PC,
                WalT_Remark      = argsWallet.Wal_Remark,
            });
            #endregion
            #region 带事务的保存

            try
            {
                DBManager.BeginTransaction(DBCONFIG.Coeus);

                #region 保存[电子钱包]

                //执行保存
                bool saveWalletResult = _bll.Save(argsWallet, argsWallet.Wal_ID);
                if (!saveWalletResult)
                {
                    DBManager.RollBackTransaction(DBCONFIG.Coeus);
                    ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.EWM_Wallet });
                    LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                    return(false);
                }

                #endregion

                #region 保存[电子钱包异动]

                bool insertWalletTransResult = _bll.Insert(newWalletTrans);
                if (!insertWalletTransResult)
                {
                    DBManager.RollBackTransaction(DBCONFIG.Coeus);
                    ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.NEW + SystemTableEnums.Name.EWM_WalletTrans });
                    LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                    return(false);
                }
                #endregion

                DBManager.CommitTransaction(DBCONFIG.Coeus);
            }
            catch (Exception ex)
            {
                DBManager.RollBackTransaction(DBCONFIG.Coeus);
                ResultMsg = MsgHelp.GetMsg(MsgCode.E_0018, new object[] { SystemActionEnum.Name.SAVE, ex.Message });
                LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ex.Message, "", null);
                return(false);
            }

            #endregion

            //将最新数据回写给DetailDS
            CopyModel(argsWallet, paramModel);

            return(true);
        }