コード例 #1
0
        public frmCardInfoDetail(UserCardPair_ucp_Info ucpInfo)
        {
            InitializeComponent();

            _iccmBL = MasterBLLFactory.GetBLL<IConsumeCardMasterBL>(MasterBLLFactory.ConsumeCardMaster);
            _ucpInfo = ucpInfo;
            init();
        }
コード例 #2
0
        /// <summary>
        /// 单卡发卡逻辑
        /// </summary>
        /// <param name="userID">用户信息记录ID</param>
        /// <param name="fNewCardCost">新卡工本费</param>
        /// <param name="fAdvanceCost">可透支额</param>
        /// <returns></returns>
        ReturnValueInfo pairCardLogic(Guid userID, decimal fNewCardCost, decimal fAdvanceCost)
        {
            ReturnValueInfo rvInfo = new ReturnValueInfo();
            try
            {
                ConsumeCardInfo sourceCardInfo = this._Reader.ReadCardInfo(base._CardInfoSection, base._SectionPwd);
                if (sourceCardInfo == null)
                {
                    sourceCardInfo = this._Reader.ReadCardInfo(base._CardInfoSection, base._OrganizeSectionPwd);
                    if (sourceCardInfo != null)
                    {
                        rvInfo = this._Reader.ModifySectionPwd(base._CardInfoSection, base._OrganizeSectionPwd, base._SectionPwd);
                    }
                }

                if (sourceCardInfo == null)
                {
                    rvInfo.messageText = "卡片已损坏,请重试。";
                    rvInfo.isError = true;
                    return rvInfo;
                }

                string strCardID = sourceCardInfo.CardSourceID;
                if (strCardID == null)
                {
                    rvInfo.messageText = "卡片已损坏或摆放位置不正确,请重试。";
                    rvInfo.isError = true;
                    return rvInfo;
                }

                ConsumeCardMaster_ccm_Info cardSearch = null;
                ConsumeCardMaster_ccm_Info cardInfo = new ConsumeCardMaster_ccm_Info();
                cardInfo.ccm_cCardID = strCardID;

                // *********1、搜索卡主档,检查是否存在此卡资料*********
                #region 卡主档信息检查
                cardSearch = this._IConsumeCardMasterBL.DisplayRecord(cardInfo) as ConsumeCardMaster_ccm_Info;
                if (cardSearch == null)
                {
                    //无相应卡主档记录则先添加此卡
                    cardInfo.ccm_cCardState = DefineConstantValue.CardUseState.NotUsed.ToString();
                    cardInfo.ccm_cAdd = base.UserInformation.usm_cUserLoginID;
                    cardInfo.ccm_dAddDate = DateTime.Now;
                    cardInfo.ccm_cLast = cardInfo.ccm_cAdd;
                    cardInfo.ccm_dLastDate = cardInfo.ccm_dAddDate;

                    rvInfo = this._IConsumeCardMasterBL.Save(cardInfo, DefineConstantValue.EditStateEnum.OE_Insert);
                    if (!rvInfo.boolValue || rvInfo.isError)
                    {
                        rvInfo.messageText = "录入本卡信息失败,请重试。";
                        rvInfo.isError = true;
                        return rvInfo;
                    }
                }

                #endregion

                try
                {
                    //*********2、插入发卡信息************
                    UserCardPair_ucp_Info pairInfo = new UserCardPair_ucp_Info();

                    #region 检查是否已发卡

                    pairInfo = new UserCardPair_ucp_Info();
                    pairInfo.ucp_cCUSID = userID;
                    List<UserCardPair_ucp_Info> listSearch = this._IUserCardPairBL.SearchRecords(pairInfo);
                    listSearch = listSearch.Where(x => x.ucp_cUseStatus != Common.DefineConstantValue.ConsumeCardStatus.Returned.ToString()).ToList();
                    if (listSearch.Count > 0)
                    {
                        //此人已发卡
                        rvInfo.messageText = "此用户已被发卡。" + Environment.NewLine + "拥有卡号:" + listSearch[0].ucp_iCardNo.ToString();
                        return rvInfo;
                    }

                    pairInfo = new UserCardPair_ucp_Info();
                    pairInfo.ucp_iCardNo = int.Parse(sourceCardInfo.CardNo);
                    pairInfo.ucp_cCardID = cardInfo.ccm_cCardID;
                    listSearch = this._IUserCardPairBL.SearchRecords(pairInfo);
                    listSearch = listSearch.Where(x => x.ucp_cUseStatus != Common.DefineConstantValue.ConsumeCardStatus.Returned.ToString()).ToList();
                    if (listSearch.Count > 0)
                    {
                        //此卡已发卡
                        rvInfo.messageText = "此卡已被发卡。" + Environment.NewLine + "卡拥有人:" + listSearch[0].CardOwner.cus_cStudentID + " " + listSearch[0].CardOwner.cus_cChaName;
                        return rvInfo;
                    }

                    #endregion

                    pairInfo = new UserCardPair_ucp_Info();
                    pairInfo.ucp_cRecordID = Guid.NewGuid();
                    pairInfo.ucp_cCardID = cardInfo.ccm_cCardID;
                    pairInfo.ucp_cCUSID = userID;
                    pairInfo.ucp_dPairTime = DateTime.Now;
                    pairInfo.ucp_cUseStatus = Common.DefineConstantValue.ConsumeCardStatus.Normal.ToString();
                    pairInfo.ucp_cAdd = base.UserInformation.usm_cUserLoginID;
                    pairInfo.ucp_dAddDate = pairInfo.ucp_dPairTime;
                    pairInfo.ucp_cLast = pairInfo.ucp_cAdd;
                    pairInfo.ucp_dLastDate = pairInfo.ucp_dAddDate;

                    rvInfo = this._IUserCardPairBL.InsertNewCard(pairInfo, fNewCardCost);

                    if (rvInfo.boolValue && !rvInfo.isError)
                    {
                        // *********3、写入卡物理信息*********
                        #region 发卡

                        UserCardPair_ucp_Info currentPair = this._IUserCardPairBL.DisplayRecord(new UserCardPair_ucp_Info()
                        {
                            ucp_cRecordID = pairInfo.ucp_cRecordID
                        });

                        CardUserMaster_cus_Info userInfo = null;

                        //抽取用户资料【写入卡显示名称】
                        string strCardName = string.Empty;//卡片显示信息
                        #region 写入卡显示信息

                        if (currentPair.CardOwner != null)
                        {
                            CardUserMaster_cus_Info userSearch = new CardUserMaster_cus_Info()
                            {
                                cus_cRecordID = currentPair.CardOwner.cus_cRecordID
                            };
                            userInfo = this._ICardUserMasterBL.DisplayRecord(userSearch);

                            if (userInfo != null)
                            {
                                #region 判断身份

                                if (userInfo.cus_cIdentityNum == DefineConstantValue.CodeMasterDefine.KEY2_SIOT_CardUserIdentity_Student)//学生
                                {
                                    if (userInfo.ClassInfo != null)
                                    {
                                        if (userInfo.ClassInfo.GradeInfo == null)
                                        {
                                            strCardName += userInfo.ClassInfo.csm_cClassName.Substring(0, 1) == "高" ? "G" : "C";
                                            strCardName += userInfo.ClassInfo.csm_cClassName.Substring(1, 1);
                                        }
                                        else
                                        {
                                            strCardName += userInfo.ClassInfo.GradeInfo.gdm_cAbbreviation;
                                        }

                                        string strTmpName = userInfo.cus_cChaName;
                                        if (userInfo.cus_cChaName.Length > 3)
                                        {
                                            strTmpName = userInfo.cus_cChaName.Substring(1, 3);
                                        }
                                        strCardName += strTmpName;
                                    }
                                    else
                                    {
                                        rvInfo.messageText = "用户班级信息不全,请重试。";
                                        rvInfo.isError = true;
                                        return rvInfo;
                                    }
                                }
                                else if (userInfo.cus_cIdentityNum == DefineConstantValue.CodeMasterDefine.KEY2_SIOT_CardUserIdentity_Staff)//老师
                                {
                                    string strTmpName = userInfo.cus_cChaName;
                                    if (userInfo.cus_cChaName.Length > 6)
                                    {
                                        strTmpName = strTmpName.Substring(0, 6);
                                    }
                                    strCardName = strTmpName;
                                }
                                else
                                {
                                    rvInfo.messageText = "有未知身份的用户。" + Environment.NewLine + userInfo.cus_cStudentID + " " + userInfo.cus_cChaName;
                                    rvInfo.isError = true;
                                    return rvInfo;
                                }

                                #endregion

                                ConsumeCardInfo writeCardInfo = new ConsumeCardInfo() { CardBalance = 0, CardNo = currentPair.ucp_iCardNo.ToString(), CardPwd = base._PayPwd, ConsumeTimes = 0, Name = strCardName };
                                //写入卡显示信息
                                rvInfo = this._Reader.WriteCardInfo(base._CardInfoSection, base._SectionPwd, writeCardInfo);
                                if (!rvInfo.boolValue || rvInfo.isError)
                                {
                                    rvInfo = this._IUserCardPairBL.Save(pairInfo, DefineConstantValue.EditStateEnum.OE_Delete);
                                    if (rvInfo.boolValue && rvInfo.isError)
                                    {
                                        rvInfo.messageText = "写入用户卡信息时出现异常,当前发卡记录已重置,请重新进行发卡操作。";
                                        rvInfo.isError = true;
                                        return rvInfo;
                                    }
                                    else
                                    {
                                        rvInfo.messageText = "写入用户卡信息时出现异常,当前发卡记录未能重置,请联系系统管理员重置发卡记录后重新发卡。";
                                        rvInfo.isError = true;
                                        return rvInfo;
                                    }
                                }
                            }
                            else
                            {
                                rvInfo.messageText = "用户信息异常,请检查该用户信息后重试。";
                                rvInfo.isError = true;
                                return rvInfo;
                            }
                        }

                        #endregion

                        if (userInfo.cus_cIdentityNum == DefineConstantValue.CodeMasterDefine.KEY2_SIOT_CardUserIdentity_Student)
                        {
                            #region 学生发卡,需预充透支金额

                            //插入发卡信息后,充入透支金额
                            rvInfo = this._Reader.Recharge((short)base._CardInfoSection, base._SectionPwd, fAdvanceCost);

                            if (rvInfo.boolValue && !rvInfo.isError)
                            {
                                RechargeRecord_rcr_Info record = new RechargeRecord_rcr_Info();

                                record.rcr_cRecordID = Guid.NewGuid();
                                record.rcr_cCardID = cardInfo.ccm_cCardID;
                                record.rcr_cRechargeType = DefineConstantValue.ConsumeMoneyFlowType.Recharge_AdvanceMoney.ToString();
                                record.rcr_cStatus = DefineConstantValue.ConsumeMoneyFlowStatus.Finished.ToString();
                                record.rcr_cUserID = userID;
                                record.rcr_dRechargeTime = DateTime.Now;
                                record.rcr_cAdd = base.UserInformation.usm_cUserLoginID;
                                record.rcr_cLast = record.rcr_cAdd;
                                record.rcr_dLastDate = record.rcr_dRechargeTime;
                                record.rcr_fRechargeMoney = fAdvanceCost;

                                //成功充值后,将充值信息计入相应记录表
                                rvInfo = this._IRechargeRecordBL.Save(record, DefineConstantValue.EditStateEnum.OE_Insert);
                                if (!rvInfo.boolValue || rvInfo.isError)
                                {
                                    //卡充值失败,将原金额扣除
                                    rvInfo = this._Reader.Recharge((short)base._CardInfoSection, base._SectionPwd, fAdvanceCost * -1);

                                    rvInfo.messageText = "发卡成功,保存预充透支金额失败。";
                                    rvInfo.isError = true;
                                    return rvInfo;
                                }

                                ConsumeCardInfo cardCurrentInfo = this._Reader.ReadCardInfo(base._CardInfoSection, base._SectionPwd);
                                string strContent = "发卡成功。" + Environment.NewLine + "学生姓名:" + userInfo.cus_cChaName;
                                if (cardCurrentInfo != null)
                                {
                                    strContent += Environment.NewLine + "卡可用余额:¥" + cardCurrentInfo.CardBalance.ToString() + "元。";
                                    strContent += Environment.NewLine + "(包含可透支金额:¥" + fAdvanceCost.ToString() + "元)";
                                    strContent += Environment.NewLine + "新卡工本费:¥" + fNewCardCost.ToString() + "元。";
                                }

                                rvInfo.messageText = strContent;
                            }//CardRecharge
                            else
                            {
                                rvInfo.messageText = "发卡成功,消费卡充入预支款失败。";
                                rvInfo.isError = true;
                                return rvInfo;
                            }

                            #endregion
                        }
                        else if (userInfo.cus_cIdentityNum == DefineConstantValue.CodeMasterDefine.KEY2_SIOT_CardUserIdentity_Staff)
                        {
                            #region 老师卡发卡

                            rvInfo.messageText = "发卡成功。" + Environment.NewLine
                                + "老师姓名:" + userInfo.cus_cChaName + "。" + Environment.NewLine
                                + "新卡工本费:" + fNewCardCost.ToString() + "。";

                            #endregion
                        }

                        #endregion
                        rvInfo.ValueObject = currentPair;

                        //*********4、查询是否有预充值款项,有则进行预充值*********
                        //查找该用户是否有【转账充值】款项
                        List<PreRechargeRecord_prr_Info> listPreRecharge = this._IPreRechargeRecordBL.SearchRecords(new PreRechargeRecord_prr_Info()
                        {
                            prr_cUserID = userID,
                            prr_cStatus = Common.DefineConstantValue.ConsumeMoneyFlowStatus.WaitForAcceptTransfer.ToString()
                        });
                        if (listPreRecharge != null && listPreRecharge.Count > 0)
                        {
                            #region 预充值

                            //查找该用户是否有未付的【预消费】款项
                            decimal fSumPreCost = decimal.Zero;//未结算消费总额
                            List<PreConsumeRecord_pcs_Info> listPreCost = this._IPreConsumeRecordBL.SearchRecords(new PreConsumeRecord_pcs_Info()
                            {
                                pcs_cUserID = userID,
                            });
                            if (listPreCost != null)
                            {
                                listPreCost = listPreCost.Where(x =>
                                    x.pcs_lIsSettled == false
                                    && x.pcs_cConsumeType != Common.DefineConstantValue.ConsumeMoneyFlowType.IndeterminateCost.ToString()
                                    && x.pcs_cConsumeType != Common.DefineConstantValue.ConsumeMoneyFlowType.AdvanceMealCost.ToString()
                                    && x.pcs_cConsumeType != Common.DefineConstantValue.ConsumeMoneyFlowType.HedgeFund.ToString()
                                    ).ToList();
                                if (listPreCost.Count > 0)
                                {
                                    fSumPreCost = listPreCost.Sum(x => x.pcs_fCost);
                                }
                            }

                            ConsumeCardInfo CardInfo = this._Reader.ReadCardInfo(base._CardInfoSection, base._SectionPwd);
                            if (CardInfo == null)
                            {
                                rvInfo.messageText += Environment.NewLine + "确认卡片信息失败,无法继续进行预充值操作。";
                                rvInfo.boolValue = false;
                                return rvInfo;
                            }
                            decimal fCardBalance = CardInfo.CardBalance;//卡片现可用余额
                            decimal fPreRecharge = listPreRecharge.Sum(x => x.prr_fRechargeMoney);//预充值累积款
                            decimal fCardRecharge = fPreRecharge + fSumPreCost;//预充值款 + 未结算预付款  = 卡片应充值金额

                            if (fPreRecharge > 0 && fCardRecharge >= 0)
                            {
                                #region 存在预充值记录,并且足以扣除未结算款项

                                ReturnValueInfo rvInfoPreRecharge = this._Reader.Recharge(base._CardInfoSection, base._SectionPwd, fCardRecharge);
                                if (rvInfoPreRecharge.boolValue && !rvInfoPreRecharge.isError)
                                {
                                    List<RechargeRecord_rcr_Info> listRechargeInsert = new List<RechargeRecord_rcr_Info>();
                                    decimal fPerTimeRecharge = fSumPreCost;

                                    //foreach (PreRechargeRecord_prr_Info preRecItem in listPreRecharge)
                                    //{
                                    //    RechargeRecord_rcr_Info rechargeRecord = new RechargeRecord_rcr_Info();
                                    //    rechargeRecord.rcr_cAdd = base.UserInformation.usm_cUserLoginID;
                                    //    rechargeRecord.rcr_cCardID = pairInfo.ucp_cCardID;
                                    //    rechargeRecord.rcr_cLast = base.UserInformation.usm_cUserLoginID;
                                    //    rechargeRecord.rcr_cRechargeType = preRecItem.prr_cRechargeType;
                                    //    rechargeRecord.rcr_cRecordID = Guid.NewGuid();
                                    //    rechargeRecord.rcr_cStatus = DefineConstantValue.ConsumeMoneyFlowStatus.Finished.ToString();
                                    //    rechargeRecord.rcr_cUserID = pairInfo.ucp_cCUSID;
                                    //    rechargeRecord.rcr_dLastDate = DateTime.Now;
                                    //    rechargeRecord.rcr_dRechargeTime = DateTime.Now;
                                    //    rechargeRecord.rcr_fRechargeMoney = preRecItem.prr_fRechargeMoney;

                                    //    fPerTimeRecharge += preRecItem.prr_fRechargeMoney;
                                    //    if (fPerTimeRecharge < 0)
                                    //    {
                                    //        rechargeRecord.rcr_fBalance = fCardBalance;
                                    //    }
                                    //    else
                                    //    {
                                    //        rechargeRecord.rcr_fBalance = fCardBalance + fPerTimeRecharge;
                                    //    }

                                    //    preRecItem.prr_cRCRID = rechargeRecord.rcr_cRecordID;
                                    //    listRechargeInsert.Add(rechargeRecord);
                                    //}

                                    for (int i = 0; i < listPreRecharge.Count; i++)
                                    {
                                        RechargeRecord_rcr_Info rechargeRecord = new RechargeRecord_rcr_Info();
                                        rechargeRecord.rcr_cAdd = base.UserInformation.usm_cUserLoginID;
                                        rechargeRecord.rcr_cCardID = pairInfo.ucp_cCardID;
                                        rechargeRecord.rcr_cLast = base.UserInformation.usm_cUserLoginID;
                                        rechargeRecord.rcr_cRechargeType = listPreRecharge[i].prr_cRechargeType;
                                        rechargeRecord.rcr_cRecordID = Guid.NewGuid();
                                        rechargeRecord.rcr_cStatus = DefineConstantValue.ConsumeMoneyFlowStatus.Finished.ToString();
                                        rechargeRecord.rcr_cUserID = pairInfo.ucp_cCUSID;
                                        rechargeRecord.rcr_dLastDate = DateTime.Now;
                                        rechargeRecord.rcr_dRechargeTime = DateTime.Now;
                                        rechargeRecord.rcr_fRechargeMoney = listPreRecharge[i].prr_fRechargeMoney;

                                        fPerTimeRecharge += listPreRecharge[i].prr_fRechargeMoney;
                                        if (fPerTimeRecharge < 0)
                                        {
                                            //rechargeRecord.rcr_fBalance = fCardBalance;

                                            if (i != listPreRecharge.Count - 1)
                                            {
                                                rechargeRecord.rcr_fBalance = fCardBalance;
                                            }
                                            else
                                            {
                                                rechargeRecord.rcr_fBalance = fCardBalance + fPerTimeRecharge;
                                            }
                                        }
                                        else
                                        {
                                            rechargeRecord.rcr_fBalance = fCardBalance + fPerTimeRecharge;
                                        }

                                        listPreRecharge[i].prr_cRCRID = rechargeRecord.rcr_cRecordID;
                                        listRechargeInsert.Add(rechargeRecord);
                                    }

                                    rvInfoPreRecharge = this._IRechargeRecordBL.UpdateRechargeRecord(listPreRecharge, listRechargeInsert, fSumPreCost);

                                    if (rvInfoPreRecharge.boolValue && !rvInfoPreRecharge.isError)
                                    {
                                        rvInfo.messageText += Environment.NewLine + "存在预转账记录" + listPreRecharge.Count.ToString() + "条,款项合共:¥" + fPreRecharge.ToString() + "元,已成功充入。";
                                        rvInfo.boolValue = true;
                                        return rvInfo;
                                    }
                                    else
                                    {
                                        rvInfoPreRecharge = this._Reader.Recharge(base._CardInfoSection, base._SectionPwd, fPreRecharge);
                                        if (rvInfoPreRecharge.isError || !rvInfoPreRecharge.boolValue)
                                        {
                                            rvInfo.messageText += Environment.NewLine + "保存预充值记录失败,卡片金额已更新,请联系管理员扣减卡金额。";
                                        }
                                    }
                                }
                                else
                                {
                                    rvInfo.messageText += Environment.NewLine + "预充值操作失败,无法将该用户的待转账款项充入卡内,请稍后手动转账充值。" + Environment.NewLine + rvInfoPreRecharge.messageText;
                                    rvInfo.boolValue = false;
                                }

                                #endregion
                            }
                            else
                            {
                                if (fCardRecharge < 0)
                                {
                                    rvInfo.messageText += Environment.NewLine + "本用户有转账充值记录" + listPreRecharge.Count.ToString() + "条,但不足以抵扣未结算预付款,请充值。";
                                    rvInfo.boolValue = true;
                                    return rvInfo;
                                }
                            }

                            #endregion
                        }
                        else
                        {
                            rvInfo.boolValue = true;
                            return rvInfo;
                        }
                    }
                    else
                    {
                        rvInfo.messageText = "保存新发卡资料失败。" + rvInfo.messageText;
                        rvInfo.isError = true;
                        return rvInfo;
                    }
                }
                catch (Exception ex)
                {
                    rvInfo.messageText = ex.Message;
                    rvInfo.isError = true;
                    return rvInfo;
                }
            }
            catch (Exception exAll)
            {
                rvInfo.messageText = exAll.Message;
                rvInfo.isError = true;
            }
            return rvInfo;
        }
コード例 #3
0
ファイル: UserCardPairBL.cs プロジェクト: Klutzdon/SIOTS_HHZX
        /// <summary>
        /// 接受不同类型的条件参数
        /// </summary>
        /// <param name="itemEntity">参数可以为实体CardUserMaster_cus_Info、ConsumeCardMaster_ccm_Info</param>
        /// <returns></returns>
        UserCardPair_ucp_Info GetPairEntityCondiction(IModelObject itemEntity)
        {
            UserCardPair_ucp_Info searchInfo = itemEntity as UserCardPair_ucp_Info;
            if (searchInfo != null)
            {
                return searchInfo;
            }

            CardUserMaster_cus_Info userInfo = itemEntity as CardUserMaster_cus_Info;
            if (userInfo == null)
            {
                ConsumeCardMaster_ccm_Info cardInfo = itemEntity as ConsumeCardMaster_ccm_Info;
                if (cardInfo == null)
                {
                    return null;
                }
                else
                {
                    searchInfo = new UserCardPair_ucp_Info();
                    searchInfo.ucp_cCardID = cardInfo.ccm_cCardID;
                }
            }
            else
            {
                searchInfo = new UserCardPair_ucp_Info();
                searchInfo.ucp_cCUSID = userInfo.cus_cRecordID;
                //searchInfo.ucp_cUseStatus = DefineConstantValue.ConsumeCardStatus.Normal.ToString();
            }

            return searchInfo;
        }
コード例 #4
0
ファイル: UserCardPairDA.cs プロジェクト: Klutzdon/SIOTS_HHZX
        public List<UserCardPair_ucp_Info> GetUnusualCardList()
        {
            List<UserCardPair_ucp_Info> listPairs = null;
            try
            {
                StringBuilder sbSQL = new StringBuilder();
                //sbSQL.AppendLine("select top");
                //sbSQL.AppendLine(Common.DefineConstantValue.ListRecordMaxCount.ToString());
                //sbSQL.AppendLine("* from UserCardPair_ucp with(nolock)");
                //sbSQL.AppendLine("where ucp_cCardID not in(");
                //sbSQL.AppendLine("select ucp_cCardID from UserCardPair_ucp with(nolock)");
                //sbSQL.AppendLine("where ucp_cUseStatus='Normal')");
                //sbSQL.AppendLine("and (ucp_dLastDate>=DATEADD(MONTH,-6,GETDATE())");
                //sbSQL.AppendLine("or ucp_cUseStatus='LoseReporting')");

                sbSQL.AppendLine("select * from UserCardPair_ucp with(nolock)");
                sbSQL.AppendLine("where ucp_cUseStatus<>'Normal' and ucp_dPairTime>=DATEADD(MONTH,-12,GETDATE())");

                using (SqlDataReader reader = DbHelperSQL.ExecuteReader(sbSQL.ToString()))
                {
                    listPairs = new List<UserCardPair_ucp_Info>();

                    while (reader.Read())
                    {
                        UserCardPair_ucp_Info pairInfo = new UserCardPair_ucp_Info();

                        if (reader["ucp_cRecordID"] != null && reader["ucp_cRecordID"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_cRecordID = new Guid(reader["ucp_cRecordID"].ToString());
                        }
                        if (reader["ucp_iCardNo"] != null && reader["ucp_iCardNo"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_iCardNo = int.Parse(reader["ucp_iCardNo"].ToString());
                        }
                        if (reader["ucp_cCardID"] != null && reader["ucp_cCardID"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_cCardID = reader["ucp_cCardID"].ToString();
                        }
                        if (reader["ucp_cCUSID"] != null && reader["ucp_cCUSID"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_cCUSID = new Guid(reader["ucp_cCUSID"].ToString());
                        }
                        if (reader["ucp_dPairTime"] != null && reader["ucp_dPairTime"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_dPairTime = DateTime.Parse(reader["ucp_dPairTime"].ToString());
                        }
                        if (reader["ucp_dReturnTime"] != null && reader["ucp_dReturnTime"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_dReturnTime = DateTime.Parse(reader["ucp_dReturnTime"].ToString());
                        }
                        if (reader["ucp_cUseStatus"] != null && reader["ucp_cUseStatus"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_cUseStatus = reader["ucp_cUseStatus"].ToString();
                        }
                        if (reader["ucp_lIsActive"] != null && reader["ucp_lIsActive"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_lIsActive = bool.Parse(reader["ucp_lIsActive"].ToString());
                        }
                        if (reader["ucp_cAdd"] != null && reader["ucp_cAdd"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_cAdd = reader["ucp_cAdd"].ToString();
                        }
                        if (reader["ucp_dAddDate"] != null && reader["ucp_dAddDate"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_dAddDate = DateTime.Parse(reader["ucp_dAddDate"].ToString());
                        }
                        if (reader["ucp_cLast"] != null && reader["ucp_cLast"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_cLast = reader["ucp_cLast"].ToString();
                        }
                        if (reader["ucp_dLastDate"] != null && reader["ucp_dLastDate"].ToString() != string.Empty)
                        {
                            pairInfo.ucp_dLastDate = DateTime.Parse(reader["ucp_dLastDate"].ToString());
                        }

                        listPairs.Add(pairInfo);
                    }
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
            return listPairs;
        }
コード例 #5
0
        /// <summary>
        /// 计算预付款欠款值
        /// </summary>
        /// <param name="pairInfo">发卡资料</param>
        private void computePreCost(UserCardPair_ucp_Info pairInfo)
        {
            //计算未付的预付款金额
            List<PreConsumeRecord_pcs_Info> listPreCost = this._IPreConsumeRecordBL.SearchRecords(new PreConsumeRecord_pcs_Info()
            {
                pcs_cUserID = pairInfo.ucp_cCUSID
            });
            listPreCost = listPreCost.Where(x =>
                x.pcs_lIsSettled == false
                && x.pcs_cConsumeType != Common.DefineConstantValue.ConsumeMoneyFlowType.IndeterminateCost.ToString()
                && x.pcs_cConsumeType != Common.DefineConstantValue.ConsumeMoneyFlowType.AdvanceMealCost.ToString()
                && x.pcs_cConsumeType != Common.DefineConstantValue.ConsumeMoneyFlowType.HedgeFund.ToString()
                ).ToList();
            if (listPreCost != null)
            {
                if (listPreCost.Count > 0)
                {
                    decimal fSumPreCost = listPreCost.Sum(x => x.pcs_fCost);
                    labPreCost.Text = Math.Round(fSumPreCost, 2).ToString();
                    btnPreCostDetail.Enabled = true;
                    ckbPreCost.Enabled = true;
                }
                else
                {
                    labPreCost.Text = "0.00";
                }

            }
            else
            {
                labPreCost.Text = "未付金额信息异常";
            }
        }
コード例 #6
0
ファイル: frmCardReplace.cs プロジェクト: Klutzdon/SIOTS_HHZX
        /// <summary>
        /// 確定換卡
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                bool resUkey = base.CheckUKey();
                if (!resUkey)
                {
                    return;
                }

                #region 添加换卡前对收数情况的判断,若收数未成功,则不能进行换卡操作

                ConsumeMachineMaster_cmm_Info searchMacInfo = new ConsumeMachineMaster_cmm_Info();
                searchMacInfo.cmm_cStatus = Common.DefineConstantValue.ConsumeMachineStatus.Using.ToString();
                List<ConsumeMachineMaster_cmm_Info> listMacInfos = this._IConsumeMachineBL.SearchRecords(searchMacInfo);
                listMacInfos = listMacInfos.Where(x => x.cmm_lIsActive).ToList();
                if (listMacInfos == null && listMacInfos.Count > 0)
                {
                    base.ShowErrorMessage("获取消费数据同步信息时出现异常,请重试。");
                    return;
                }
                //消费机最后同步时间
                DateTime dtMacSync = listMacInfos[0].cmm_dLastAccessTime;
                //List<ConsumeMachineMaster_cmm_Info> listUnSyncMachineInfos = listMacInfos.Where(x =>
                //          x.cmm_dLastAccessTime.Hour != dtMacSync.Hour).ToList();
                List<ConsumeMachineMaster_cmm_Info> listUnSyncMachineInfos = new List<ConsumeMachineMaster_cmm_Info>();
                foreach (ConsumeMachineMaster_cmm_Info macItem in listMacInfos)
                {
                    if (macItem != null)
                    {
                        DateTime dtAccess = macItem.cmm_dLastAccessTime;
                        if (Math.Abs((dtAccess - dtMacSync).TotalMinutes) > 30)
                        {
                            listUnSyncMachineInfos.Add(macItem);
                        }
                    }
                    else
                        continue;
                }
                List<ConsumeMachineMaster_cmm_Info> listUnConnMachineInfos = listMacInfos.Where(x =>
                        !x.cmm_lLastAccessRes).ToList();
                if ((listUnSyncMachineInfos != null && listUnSyncMachineInfos.Count > 0) || (listUnConnMachineInfos != null && listUnConnMachineInfos.Count > 0))
                {
                    if (base.ShowQuestionMessage("暂时不能进行换卡操作,因检测到有断线现象的消费机,请在恢复收集数据正常后重试。" + Environment.NewLine + "需要立即查看【消费数据收集情况】吗?"))
                    {
                        MenuItem menuClick = new MenuItem();
                        Sys_FormMaster_fom_Info formClick = new Sys_FormMaster_fom_Info();
                        formClick.fom_cExePath = "WindowUI.HHZX.ConsumerDevice.frmConsumptionRecordCollect";
                        menuClick.Tag = formClick;
                        base.ShowSubForm(menuClick, base.BaseDockPanel);
                    }
                    this.btnSave.Enabled = false;
                    this.lblReadNo.Text = "请读卡";
                    return;
                }

                #endregion

                this.btnSave.Enabled = false;
                this.lblReadNo.Text = "请读卡";

                UserCardPair_ucp_Info userPairInfo = new UserCardPair_ucp_Info();
                userPairInfo.ucp_cCardID = _CardInfo.CardSourceID;
                userPairInfo.ucp_iCardNo = int.Parse(_CardInfo.CardNo);
                //查询用户是否已拥有正常的消费卡
                List<UserCardPair_ucp_Info> listResUserPair = _IUserCardPairBL.SearchRecords(userPairInfo);
                if (userPairInfo != null)
                {
                    listResUserPair = listResUserPair.Where(x => x.ucp_cUseStatus != Common.DefineConstantValue.ConsumeCardStatus.Returned.ToString()).ToList();
                }

                if (listResUserPair != null && listResUserPair.Count > 0)
                {
                    string strMessage = string.Empty;

                    userPairInfo = listResUserPair[0] as UserCardPair_ucp_Info;

                    userPairInfo = _IUserCardPairBL.DisplayRecord(userPairInfo);

                    if (userPairInfo.CardOwner != null)
                    {
                        strMessage += userPairInfo.CardOwner.cus_cChaName + " " + userPairInfo.CardOwner.ClassName + " 卡号:" + userPairInfo.ucp_iCardNo;
                    }

                    base.ShowErrorMessage("该卡已在使用中。使用者:" + strMessage);
                    return;
                }

                if (!ShowQuestionMessage("是否确认换卡?"))
                {
                    return;
                }
                if (ShowQuestionMessage("是否需要重新设置【换卡工本费】?" + Environment.NewLine + "当前【换卡工本费】为:" + _ReplaceCost.ToString()))
                {
                    btnSetCost_Click(null, null);
                    if (!ShowQuestionMessage("【换卡工本费】更新完毕,是否需要继续进行换卡操作?"))
                    {
                        return;
                    }
                }

                userPairInfo = _CurrentUserInfo.PairInfo;
                int iOldCardNo = userPairInfo.ucp_iCardNo;
                userPairInfo.ucp_cUseStatus = DefineConstantValue.ConsumeCardStatus.Returned.ToString();
                userPairInfo.ucp_dReturnTime = System.DateTime.Now;

                if (!_IUserCardPairBL.Save(userPairInfo, DefineConstantValue.EditStateEnum.OE_Update).isError)
                {
                    ConsumeCardMaster_ccm_Info ccmInfo = new ConsumeCardMaster_ccm_Info();
                    ccmInfo.ccm_cCardID = _CardInfo.CardSourceID;

                    ccmInfo.ccm_cCardState = DefineConstantValue.CardUseState.InUse.ToString();
                    ccmInfo.ccm_lIsActive = true;
                    ccmInfo.ccm_cAdd = this.UserInformation.usm_cUserLoginID;
                    ccmInfo.ccm_dAddDate = System.DateTime.Now;
                    ccmInfo.ccm_cLast = this.UserInformation.usm_cUserLoginID;
                    ccmInfo.ccm_dLastDate = System.DateTime.Now;
                    ///如果新卡沒錄入系統,則先錄入新卡
                    if (_IConsumeCardMasterBL.DisplayRecord(ccmInfo) != null)
                    {
                        //如果新卡已在系統,則設為已使用
                        if (_IConsumeCardMasterBL.Save(ccmInfo, DefineConstantValue.EditStateEnum.OE_Update).isError)
                        {

                        }
                    }
                    else
                    {
                        //添加新卡信息
                        if (_IConsumeCardMasterBL.Save(ccmInfo, DefineConstantValue.EditStateEnum.OE_Insert).isError)
                        {
                            base.ShowErrorMessage("卡信息录入时发生错误,请再次尝试。");
                        }
                    }

                    //如果存在舊卡,將舊卡設為未使用
                    if (_CurrentUserInfo.PairInfo != null)
                    {
                        ConsumeCardMaster_ccm_Info oldCardInfo = new ConsumeCardMaster_ccm_Info();
                        oldCardInfo.ccm_cCardID = _CurrentUserInfo.PairInfo.ucp_cCardID;
                        oldCardInfo = _IConsumeCardMasterBL.DisplayRecord(oldCardInfo) as ConsumeCardMaster_ccm_Info;
                        if (oldCardInfo != null)
                        {
                            oldCardInfo.ccm_cCardState = DefineConstantValue.CardUseState.NotUsed.ToString();
                            _IConsumeCardMasterBL.Save(oldCardInfo, DefineConstantValue.EditStateEnum.OE_Update);
                        }
                    }

                    userPairInfo.ucp_cRecordID = Guid.NewGuid();
                    userPairInfo.ucp_cCardID = ccmInfo.ccm_cCardID;
                    userPairInfo.ucp_cAdd = this.UserInformation.usm_cUserLoginID;
                    userPairInfo.ucp_cLast = this.UserInformation.usm_cUserLoginID;
                    userPairInfo.ucp_dPairTime = DateTime.Now;
                    userPairInfo.ucp_dAddDate = DateTime.Now;
                    userPairInfo.ucp_dLastDate = DateTime.Now;
                    userPairInfo.ucp_cUseStatus = DefineConstantValue.ConsumeCardStatus.Normal.ToString();
                    userPairInfo.ucp_lIsActive = true;
                    userPairInfo.ucp_dReturnTime = null;

                    ReturnValueInfo returnInfo = _IUserCardPairBL.InsertExchargeCard(userPairInfo, _ReplaceCost);

                    userPairInfo = returnInfo.ValueObject as UserCardPair_ucp_Info;

                    if (returnInfo.isError)
                    {
                        base.ShowErrorMessage("换卡失败,请再次尝试。");
                        return;
                    }
                    else
                    {
                        //換卡成功,將新卡設為已使用
                        initValue();

                        UserCardPair_ucp_Info currentPair = this._IUserCardPairBL.DisplayRecord(new UserCardPair_ucp_Info() { ucp_cRecordID = userPairInfo.ucp_cRecordID }) as UserCardPair_ucp_Info;

                        string strCardName = string.Empty;

                        //抽取用户信息写入卡显示名称
                        if (currentPair.CardOwner != null)
                        {
                            CardUserMaster_cus_Info userSearch = new CardUserMaster_cus_Info() { cus_cRecordID = currentPair.CardOwner.cus_cRecordID };
                            CardUserMaster_cus_Info userInfo = this._ICardUserMasterBL.DisplayRecord(userSearch) as CardUserMaster_cus_Info;
                            if (userInfo != null)
                            {
                                if (userInfo.cus_cIdentityNum == DefineConstantValue.CodeMasterDefine.KEY2_SIOT_CardUserIdentity_Student)//学生
                                {
                                    if (userInfo.ClassInfo != null)
                                    {
                                        if (userInfo.ClassInfo.GradeInfo == null)
                                        {
                                            strCardName += userInfo.ClassInfo.csm_cClassName.Substring(0, 1) == "高" ? "G" : "C";
                                            strCardName += userInfo.ClassInfo.csm_cClassName.Substring(1, 1);
                                        }
                                        else
                                        {
                                            strCardName += userInfo.ClassInfo.GradeInfo.gdm_cAbbreviation;
                                        }

                                        string strTmpName = userInfo.cus_cChaName;
                                        if (userInfo.cus_cChaName.Length > 3)
                                        {
                                            strTmpName = userInfo.cus_cChaName.Substring(1, 3);
                                        }
                                        strCardName += strTmpName;
                                    }
                                    else
                                    {
                                        this.Cursor = Cursors.Default;
                                        base.ShowWarningMessage("用户班级信息不全,请重试。");
                                        return;
                                    }
                                }
                                else//老师
                                {
                                    string strTmpName = userInfo.cus_cChaName;
                                    if (userInfo.cus_cChaName.Length > 6)
                                    {
                                        strTmpName = strTmpName.Substring(0, 6);
                                    }
                                    strCardName = strTmpName;
                                }
                            }
                        }

                        CardUserAccount_cua_Info cuaInfo = new CardUserAccount_cua_Info();
                        cuaInfo.cua_cCUSID = userPairInfo.ucp_cCUSID;

                        cuaInfo = _ICardUserAccountBL.SearchRecords(cuaInfo).FirstOrDefault() as CardUserAccount_cua_Info;
                        _CardInfo.CardNo = userPairInfo.ucp_iCardNo.ToString();
                        _CardInfo.Name = strCardName;
                        _CardInfo.CardPwd = this._PayPwd;
                        //_cardInfo.CardBalance = cuaInfo.cua_fCurrentBalance;

                        decimal Balance = cuaInfo.cua_fCurrentBalance;

                        if (this._CurrentUserInfo != null)
                        {
                            if (this._CurrentUserInfo.cus_cIdentityNum == Common.DefineConstantValue.CodeMasterDefine.KEY2_SIOT_CardUserIdentity_Student)
                            {
                                CodeMaster_cmt_Info codeInfo = this._ICodeMasterBL.SearchRecords(new CodeMaster_cmt_Info() { cmt_cKey1 = Common.DefineConstantValue.CodeMasterDefine.KEY1_ConstantExpenses, cmt_cKey2 = Common.DefineConstantValue.CodeMasterDefine.KEY2_AdvanceCost }).FirstOrDefault() as CodeMaster_cmt_Info;
                                if (codeInfo != null)
                                {
                                    Balance = Balance + codeInfo.cmt_fNumber;
                                }
                            }
                        }

                        if (Balance < 0)
                        {
                            Balance = 0;
                        }

                        _CardInfo.CardBalance = Balance;

                        this._Reader.WriteCardInfo(this._CardInfoSection, this._SectionPwd, _CardInfo);

                        this.lblReadNo.Text = "已换卡";

                        userPairInfo = returnInfo.ValueObject as UserCardPair_ucp_Info;

                        _CurrentUserInfo.PairInfo = userPairInfo;

                        _CardInfo = null;

                        initValue();

                        ShowInformationMessage("换卡成功。");

                        ReturnValueInfo rvRemoveOld = RemoveOldCardFromWList(iOldCardNo);
                        ReturnValueInfo rvAddNew = AddNewCardToWList(userPairInfo.ucp_iCardNo);
                        if (rvRemoveOld.boolValue && rvAddNew.boolValue)
                        {
                            ShowInformationMessage("旧卡自动添加到黑名单列表成功,原卡已不能继续使用。");
                        }
                        else
                        {
                            ShowErrorMessage("旧卡自动添加到黑名单列表失败,可等待停餐服务收集名单添加或联系管理员手动添加。");
                        }
                    }
                }
            }
            catch
            {

            }
        }
コード例 #7
0
        private void btnSelectUser_Click(object sender, EventArgs e)
        {
            dlgCardUserSelection dlg = new dlgCardUserSelection();
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                if (dlg.SelectedUser != null)
                {
                    this._CurrentUser = dlg.SelectedUser;
                    this._CurrentPair = dlg.SelectedUser.PairInfo;
                    labUserName.Text = this._CurrentUser.cus_cChaName;
                    labClassName.Text = dlg.SelectedUser.ClassInfo != null ? dlg.SelectedUser.ClassInfo.csm_cClassName : dlg.SelectedUser.DeptInfo.dpm_cName;
                    labStuNum.Text = this._CurrentUser.cus_cStudentID;

                    this.Cursor = Cursors.WaitCursor;

                    //获取当前余额
                    CardUserAccount_cua_Info accountInfo = this._ICardUserAccountBL.SearchRecords(new CardUserAccount_cua_Info()
                    {
                        cua_cCUSID = this._CurrentUser.cus_cRecordID
                    }).FirstOrDefault() as CardUserAccount_cua_Info;

                    if (accountInfo != null)
                    {
                        labAccountBalance.Text = accountInfo.cua_fCurrentBalance.ToString();
                        labAccountSyncTime.Text = accountInfo.cua_dLastSyncTime.ToString("yyyy/MM/dd HH:mm:ss");
                    }

                    tbxRefundMoney.Enabled = true;
                    tbxRefundMoney.Focus();
                    btnConfirmRefund.Enabled = false;
                    this.Cursor = Cursors.Default;
                }
            }
        }
コード例 #8
0
        /// <summary>
        /// 獲取查詢條件
        /// </summary>
        /// <returns></returns>
        private UserCardPair_ucp_Info GetSearchObj()
        {
            if (nudCardNo.DecimalValue == 0 && String.IsNullOrEmpty(this.txtCardID.Text)
                && String.IsNullOrEmpty(txbChaName.Text)
                &&( cmbUserClass.SelectedValue == null
                || String.IsNullOrEmpty(cmbUserClass.SelectedValue.ToString()))
                &&( cmbUserDepartment.SelectedValue == null
                || String.IsNullOrEmpty(cmbUserDepartment.SelectedValue.ToString()))
                )
            {
                MessageBox.Show("请输入一个查询条件");
                return null;
            }

            CardUserMaster_cus_Info cusInfo = new CardUserMaster_cus_Info();
            ConsumeCardMaster_ccm_Info ccmInfo = new ConsumeCardMaster_ccm_Info();

            UserCardPair_ucp_Info ucpInfo = new UserCardPair_ucp_Info();
            ucpInfo.ucp_lIsActive = true;

            ucpInfo.CardOwner = cusInfo;
            ucpInfo.CardInfo = ccmInfo;

            ucpInfo.ucp_iCardNo = Int32.Parse(nudCardNo.DecimalValue.ToString());

            ucpInfo.ucp_cCardID = this.txtCardID.Text;

            ucpInfo.CardOwner.cus_cChaName = txbChaName.Text.ToString().Trim();

            if (cmbUserClass.SelectedValue != null && !String.IsNullOrEmpty(cmbUserClass.SelectedValue.ToString()))
            {
                ucpInfo.CardOwner.cus_cClassID = new Guid(cmbUserClass.SelectedValue.ToString());
            }

            if (cmbUserDepartment.SelectedValue != null && !String.IsNullOrEmpty(cmbUserDepartment.SelectedValue.ToString()))
            {
                ucpInfo.CardOwner.cus_cClassID = new Guid(cmbUserDepartment.SelectedValue.ToString());
            }

            ucpInfo.CardInfo.ccm_cCardState = this.cmbCardState.SelectedValue.ToString();

            if (this.chbPairTime.Checked)
            {
                ucpInfo.PairTime_To = this.dtpPairTime_To.Value.AddDays(1);
                ucpInfo.PairTime_From = this.dtpPairTime_From.Value;
            }

            return ucpInfo;
        }
コード例 #9
0
ファイル: UserCardPairBL.cs プロジェクト: Klutzdon/SIOTS_HHZX
        public ReturnValueInfo InsertNewCard(UserCardPair_ucp_Info infoObject, decimal dCost)
        {
            try
            {
                ReturnValueInfo rvInfo = this._IUserCardPairDA.InsertNewCard(infoObject, dCost);
                if (rvInfo.boolValue && !rvInfo.isError)
                {
                    UserCardPair_ucp_Info pairInfo = DisplayRecord(new UserCardPair_ucp_Info()
                    {
                        ucp_cRecordID = infoObject.ucp_cRecordID
                    });
                    this._IBlacklistChangeRecordBL.InsertUploadCardNo(pairInfo.ucp_iCardNo, DefineConstantValue.EnumCardUploadListOpt.AddWhiteList, DefineConstantValue.EnumCardUploadListReason.NewCard, infoObject.ucp_cLast);
                }
                return rvInfo;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
コード例 #10
0
ファイル: UserCardPairBL.cs プロジェクト: Klutzdon/SIOTS_HHZX
        public ReturnValueInfo InsertExchargeCard(UserCardPair_ucp_Info infoObject, decimal dCost)
        {
            try
            {
                return this._IUserCardPairDA.InsertExchargeCard(infoObject, dCost);
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
コード例 #11
0
ファイル: UserCardPairDA.cs プロジェクト: Klutzdon/SIOTS_HHZX
        public ReturnValueInfo UpdateRecord(UserCardPair_ucp_Info infoObject)
        {
            ReturnValueInfo rvInfo = new ReturnValueInfo();
            try
            {
                if (infoObject != null)
                {
                    using (SIOTSDB_HHZXDataContext db = new SIOTSDB_HHZXDataContext())
                    {
                        UserCardPair_ucp pair = db.UserCardPair_ucp.Where(x => x.ucp_cRecordID == infoObject.ucp_cRecordID).FirstOrDefault();

                        if (pair != null)
                        {
                            pair.ucp_cCardID = infoObject.ucp_cCardID;
                            pair.ucp_cCUSID = infoObject.ucp_cCUSID;
                            pair.ucp_cLast = infoObject.ucp_cLast;
                            pair.ucp_cUseStatus = infoObject.ucp_cUseStatus;
                            pair.ucp_dLastDate = infoObject.ucp_dLastDate;
                            pair.ucp_dPairTime = infoObject.ucp_dPairTime;
                            pair.ucp_dReturnTime = infoObject.ucp_dReturnTime;
                            pair.ucp_lIsActive = infoObject.ucp_lIsActive;
                            //pair.ucp_iCardNo = infoObject.ucp_iCardNo;

                            db.SubmitChanges();
                            rvInfo.boolValue = true;
                        }
                        else
                        {
                            rvInfo.messageText = "GetEntity is null";
                        }
                    }
                }
                else
                {
                    rvInfo.messageText = Common.DefineConstantValue.SystemMessageText.strMessageText_E_ObjectNull;
                }
            }
            catch (Exception ex)
            {
                rvInfo.isError = true;
                rvInfo.messageText = ex.Message;
            }
            return rvInfo;
        }
コード例 #12
0
ファイル: UserCardPairDA.cs プロジェクト: Klutzdon/SIOTS_HHZX
        public ReturnValueInfo ReturnCard(UserCardPair_ucp_Info infoObject)
        {
            ReturnValueInfo rvInfo = new ReturnValueInfo();
            try
            {
                if (infoObject == null)
                {
                    rvInfo.isError = true;
                    rvInfo.messageText = Common.DefineConstantValue.SystemMessageText.strMessageText_E_ObjectNull;
                    return rvInfo;
                }
                using (SIOTSDB_HHZXDataContext db = new SIOTSDB_HHZXDataContext())
                {
                    db.Connection.Open();
                    db.Transaction = db.Connection.BeginTransaction();
                    try
                    {
                        UserCardPair_ucp pairInfo = db.UserCardPair_ucp.Where(x => x.ucp_cRecordID == infoObject.ucp_cRecordID).FirstOrDefault();
                        if (pairInfo != null)
                        {
                            pairInfo.ucp_cUseStatus = Common.DefineConstantValue.ConsumeCardStatus.Returned.ToString();
                            pairInfo.ucp_dReturnTime = infoObject.ucp_dReturnTime;
                            pairInfo.ucp_cLast = infoObject.ucp_cLast;
                            pairInfo.ucp_dLastDate = infoObject.ucp_dLastDate;
                            db.SubmitChanges();

                            ConsumeCardMaster_ccm cardInfo = db.ConsumeCardMaster_ccm.Where(x => x.ccm_cCardID == infoObject.ucp_cCardID).FirstOrDefault();
                            if (cardInfo != null)
                            {
                                cardInfo.ccm_cCardState = Common.DefineConstantValue.CardUseState.NotUsed.ToString();
                                cardInfo.ccm_cLast = infoObject.ucp_cLast;
                                cardInfo.ccm_dLastDate = infoObject.ucp_dLastDate;
                                db.SubmitChanges();
                            }
                            else
                            {
                                cardInfo = new ConsumeCardMaster_ccm();
                                cardInfo.ccm_cAdd = infoObject.ucp_cLast;
                                cardInfo.ccm_cLast = infoObject.ucp_cLast;
                                cardInfo.ccm_dAddDate = infoObject.ucp_dLastDate;
                                cardInfo.ccm_dLastDate = infoObject.ucp_dLastDate;
                                cardInfo.ccm_cCardState = Common.DefineConstantValue.CardUseState.NotUsed.ToString();
                                cardInfo.ccm_lIsActive = true;
                                cardInfo.ccm_cCardID = infoObject.ucp_cCardID;
                                db.ConsumeCardMaster_ccm.InsertOnSubmit(cardInfo);
                                db.SubmitChanges();
                            }

                            db.Transaction.Commit();
                            db.Connection.Close();
                            rvInfo.boolValue = true;
                        }
                    }
                    catch (Exception exx)
                    {
                        db.Transaction.Rollback();
                        db.Connection.Close();
                        throw exx;
                    }
                }
            }
            catch (Exception ex)
            {
                rvInfo.isError = true;
                rvInfo.messageText = ex.Message;
            }
            return rvInfo;
        }
コード例 #13
0
ファイル: UserCardPairDA.cs プロジェクト: Klutzdon/SIOTS_HHZX
        public ReturnValueInfo InsertRecord(UserCardPair_ucp_Info infoObject)
        {
            ReturnValueInfo rvInfo = new ReturnValueInfo();
            try
            {
                if (infoObject != null)
                {
                    using (SIOTSDB_HHZXDataContext db = new SIOTSDB_HHZXDataContext())
                    {
                        UserCardPair_ucp pair = Common.General.CopyObjectValue<UserCardPair_ucp_Info, UserCardPair_ucp>(infoObject);
                        if (pair != null)
                        {
                            db.UserCardPair_ucp.InsertOnSubmit(pair);
                            db.SubmitChanges();
                            rvInfo.boolValue = true;

                            infoObject = Common.General.CopyObjectValue<UserCardPair_ucp, UserCardPair_ucp_Info>(pair);

                            rvInfo.ValueObject = infoObject;
                        }
                        else
                        {
                            rvInfo.messageText = "TransEntity is null";
                        }
                    }
                }
                else
                {
                    rvInfo.messageText = Common.DefineConstantValue.SystemMessageText.strMessageText_E_ObjectNull;
                }
            }
            catch (Exception ex)
            {
                rvInfo.isError = true;
                rvInfo.messageText = ex.Message;
            }
            return rvInfo;
        }
コード例 #14
0
ファイル: UserCardPairDA.cs プロジェクト: Klutzdon/SIOTS_HHZX
        public ReturnValueInfo InsertNewCard(UserCardPair_ucp_Info infoObject, decimal dCost)
        {
            ReturnValueInfo rvInfo = new ReturnValueInfo();
            try
            {
                if (infoObject == null)
                {
                    rvInfo.isError = true;
                    rvInfo.messageText = Common.DefineConstantValue.SystemMessageText.strMessageText_E_ObjectNull;
                    return rvInfo;
                }
                using (SIOTSDB_HHZXDataContext db = new SIOTSDB_HHZXDataContext())
                {
                    try
                    {
                        db.Connection.Open();
                        db.Transaction = db.Connection.BeginTransaction();

                        ConsumeCardMaster_ccm cardInfo = db.ConsumeCardMaster_ccm.Where(x => x.ccm_cCardID == infoObject.ucp_cCardID).FirstOrDefault();
                        if (cardInfo == null)
                        {
                            //如未有卡主档信息,则添加
                            cardInfo = new ConsumeCardMaster_ccm();
                            cardInfo.ccm_cCardID = infoObject.ucp_cCardID;
                            cardInfo.ccm_cCardState = Common.DefineConstantValue.CardUseState.InUse.ToString();
                            cardInfo.ccm_cAdd = infoObject.ucp_cLast;
                            cardInfo.ccm_dAddDate = DateTime.Now;
                            cardInfo.ccm_cLast = infoObject.ucp_cLast;
                            cardInfo.ccm_dLastDate = DateTime.Now;
                            cardInfo.ccm_lIsActive = true;
                            db.ConsumeCardMaster_ccm.InsertOnSubmit(cardInfo);
                        }
                        else
                        {
                            //如已有卡主档信息,则更新卡的使用状态
                            cardInfo.ccm_cCardState = Common.DefineConstantValue.CardUseState.InUse.ToString();
                            cardInfo.ccm_cLast = infoObject.ucp_cLast;
                            cardInfo.ccm_dLastDate = DateTime.Now;
                        }

                        //检查是否已发卡
                        UserCardPair_ucp pair = db.UserCardPair_ucp.Where(x => x.ucp_cCUSID == infoObject.ucp_cCUSID && x.ucp_cUseStatus == Common.DefineConstantValue.ConsumeCardStatus.Normal.ToString()).FirstOrDefault();
                        if (pair != null)
                        {
                            rvInfo.isError = true;
                            rvInfo.messageText = "本用户已发卡,现用卡号为:" + pair.ucp_iCardNo.ToString();
                            return rvInfo;
                        }

                        pair = Common.General.CopyObjectValue<UserCardPair_ucp_Info, UserCardPair_ucp>(infoObject);
                        if (pair != null)
                        {
                            pair.ucp_dAddDate = DateTime.Now;
                            pair.ucp_dLastDate = DateTime.Now;
                            db.UserCardPair_ucp.InsertOnSubmit(pair);
                            db.SubmitChanges();

                            //查看是否已经创建账户
                            CardUserAccount_cua account = db.CardUserAccount_cua.Where(x => x.cua_cCUSID == pair.ucp_cCUSID).FirstOrDefault();
                            if (account == null)
                            {
                                //如未创建账户,则自动创建
                                account = new CardUserAccount_cua();
                                account.cua_cRecordID = Guid.NewGuid();
                                account.cua_cCUSID = pair.ucp_cCUSID;
                                account.cua_fCurrentBalance = 0;
                                account.cua_fOriginalBalance = 0;
                                account.cua_dLastSyncTime = DateTime.Now;
                                account.cua_lIsActive = true;
                                account.cua_cAdd = pair.ucp_cAdd;
                                account.cua_dAddDate = DateTime.Now;
                                db.CardUserAccount_cua.InsertOnSubmit(account);
                                db.SubmitChanges();
                            }
                            decimal fFormula = -1;
                            CodeMaster_cmt codeFormula = db.CodeMaster_cmt.Where(x => x.cmt_cKey1 == Common.DefineConstantValue.EnumFormulaKey.PRECOSTFORMULA.ToString() && x.cmt_cKey2 == Common.DefineConstantValue.ConsumeMoneyFlowType.NewCardCost.ToString()).FirstOrDefault();
                            if (codeFormula != null)
                            {
                                fFormula = codeFormula.cmt_fNumber;
                            }
                            //account.cua_fCurrentBalance += dCost * fFormula;
                            //account.cua_dLastSyncTime = DateTime.Now;
                            //db.SubmitChanges();

                            //插入【预消费记录】

                            PreConsumeRecord_pcs preConsume = new PreConsumeRecord_pcs();
                            preConsume.pcs_cAccountID = account.cua_cRecordID;
                            preConsume.pcs_cRecordID = Guid.NewGuid();
                            preConsume.pcs_cUserID = infoObject.ucp_cCUSID;
                            preConsume.pcs_cConsumeType = Common.DefineConstantValue.ConsumeMoneyFlowType.NewCardCost.ToString();
                            preConsume.pcs_dConsumeDate = DateTime.Now;
                            preConsume.pcs_fCost = dCost;
                            preConsume.pcs_cAdd = pair.ucp_cAdd;
                            preConsume.pcs_dAddDate = DateTime.Now;
                            if (dCost == 0)
                            {
                                preConsume.pcs_lIsSettled = true;
                                preConsume.pcs_dSettleTime = DateTime.Now;
                            }
                            else
                            {
                                preConsume.pcs_lIsSettled = false;
                            }
                            preConsume.pcs_cSourceID = pair.ucp_cRecordID;
                            db.PreConsumeRecord_pcs.InsertOnSubmit(preConsume);
                            db.SubmitChanges();

                            db.Transaction.Commit();
                            rvInfo.boolValue = true;

                        }
                        else
                        {
                            rvInfo.isError = true;
                            rvInfo.messageText = Common.DefineConstantValue.SystemMessageText.strMessageText_E_ObjectNull;
                            return rvInfo;
                        }
                    }
                    catch (Exception exx)
                    {
                        db.Transaction.Rollback();
                        db.Connection.Close();
                        throw exx;
                    }
                }
            }
            catch (Exception ex)
            {
                rvInfo.isError = true;
                rvInfo.messageText = ex.Message;
            }
            return rvInfo;
        }
コード例 #15
0
ファイル: UserCardPairDA.cs プロジェクト: Klutzdon/SIOTS_HHZX
        public ReturnValueInfo InsertExchargeCard(UserCardPair_ucp_Info infoObject, decimal dCost)
        {
            ReturnValueInfo rvInfo = new ReturnValueInfo();
            try
            {
                if (infoObject != null)
                {
                    using (SIOTSDB_HHZXDataContext db = new SIOTSDB_HHZXDataContext())
                    {
                        db.Connection.Open();
                        db.Transaction = db.Connection.BeginTransaction();
                        try
                        {
                            UserCardPair_ucp pair = Common.General.CopyObjectValue<UserCardPair_ucp_Info, UserCardPair_ucp>(infoObject);
                            if (pair != null)
                            {
                                db.UserCardPair_ucp.InsertOnSubmit(pair);
                                db.SubmitChanges();

                                // 用户账户不存在时,自动创建对应账户信息
                                CardUserAccount_cua accountInfo = db.CardUserAccount_cua.Where(x => x.cua_cCUSID == pair.ucp_cCUSID).FirstOrDefault();
                                if (accountInfo == null)
                                {
                                    accountInfo = new CardUserAccount_cua();
                                    accountInfo.cua_cCUSID = pair.ucp_cCUSID;
                                    accountInfo.cua_cRecordID = Guid.NewGuid();
                                    accountInfo.cua_cAdd = pair.ucp_cLast;
                                    accountInfo.cua_dAddDate = DateTime.Now;
                                    accountInfo.cua_dLastSyncTime = DateTime.Now;
                                    accountInfo.cua_fCurrentBalance = 0;
                                    accountInfo.cua_fOriginalBalance = 0;
                                    accountInfo.cua_lIsActive = true;

                                    db.CardUserAccount_cua.InsertOnSubmit(accountInfo);
                                    db.SubmitChanges();
                                }

                                //插入【预消费记录】
                                PreConsumeRecord_pcs preConsume = new PreConsumeRecord_pcs();
                                preConsume.pcs_cAccountID = accountInfo.cua_cRecordID;
                                preConsume.pcs_cRecordID = Guid.NewGuid();
                                preConsume.pcs_cUserID = infoObject.ucp_cCUSID;
                                preConsume.pcs_cConsumeType = Common.DefineConstantValue.ConsumeMoneyFlowType.ReplaceCardCost.ToString();
                                preConsume.pcs_dConsumeDate = DateTime.Now;
                                preConsume.pcs_fCost = dCost;
                                if (dCost == 0)
                                {
                                    preConsume.pcs_lIsSettled = true;
                                    preConsume.pcs_dSettleTime = DateTime.Now;
                                }
                                else
                                {
                                    preConsume.pcs_lIsSettled = false;
                                }
                                preConsume.pcs_cAdd = pair.ucp_cAdd;
                                preConsume.pcs_cSourceID = pair.ucp_cRecordID;
                                preConsume.pcs_dAddDate = DateTime.Now;
                                preConsume.pcs_cSourceID = pair.ucp_cRecordID;
                                db.PreConsumeRecord_pcs.InsertOnSubmit(preConsume);
                                db.SubmitChanges();

                                db.Transaction.Commit();

                                rvInfo.boolValue = true;
                                rvInfo.ValueObject = Common.General.CopyObjectValue<UserCardPair_ucp, UserCardPair_ucp_Info>(pair);
                            }
                            else
                            {
                                rvInfo.messageText = "TransEntity is null";
                                db.Transaction.Rollback();
                            }
                        }
                        catch (Exception exx)
                        {
                            db.Transaction.Rollback();
                            throw exx;
                        }
                    }
                }
                else
                {
                    rvInfo.messageText = Common.DefineConstantValue.SystemMessageText.strMessageText_E_ObjectNull;
                }
            }
            catch (Exception ex)
            {
                rvInfo.isError = true;
                rvInfo.messageText = ex.Message;
            }
            return rvInfo;
        }
コード例 #16
0
        public List<ConsumeCardMaster_ccm_Info> SearchDisplayRecords(UserCardPair_ucp_Info searchInfo)
        {
            List<ConsumeCardMaster_ccm_Info> infoList = new List<ConsumeCardMaster_ccm_Info>();

            UserCardPair_ucp_Info ucpInfo;
            CardUserMaster_cus_Info cusInfo;
            ConsumeCardMaster_ccm_Info ccmInfo;

            if (searchInfo.ucp_iCardNo > 0 || !String.IsNullOrEmpty(searchInfo.ucp_cCardID))
            {
                //searchInfo.ucp_cUseStatus = "Normal";

                ccmInfo = new ConsumeCardMaster_ccm_Info();

                ucpInfo = _iucpDA.SearchRecords(searchInfo).OrderBy(p => p.ucp_dAddDate).FirstOrDefault();//查卡用戶關系表

                if (ucpInfo != null && ucpInfo.ucp_cUseStatus != DefineConstantValue.ConsumeCardStatus.Returned.ToString())
                {
                    cusInfo = new CardUserMaster_cus_Info();
                    cusInfo.cus_cRecordID = ucpInfo.ucp_cCUSID;
                    cusInfo = _icumDA.DisplayRecord(cusInfo);//查用戶信息

                    ccmInfo.ccm_cCardID = ucpInfo.ucp_cCardID;
                    ccmInfo.ccm_lIsActive = true;
                    ccmInfo = _iccmDA.SearchRecords(ccmInfo).FirstOrDefault();//查卡信息

                    if(ccmInfo != null)
                    {
                        ccmInfo.CardOwner = cusInfo;
                        ccmInfo.UCPInfo = ucpInfo;
                        infoList.Add(ccmInfo);
                    }
                }
                else if(!String.IsNullOrEmpty(searchInfo.ucp_cCardID))
                {
                    ccmInfo = new ConsumeCardMaster_ccm_Info();
                    ccmInfo.ccm_cCardID = searchInfo.ucp_cCardID;
                    ccmInfo.ccm_lIsActive = true;
                    ccmInfo = _iccmDA.SearchRecords(ccmInfo).FirstOrDefault();

                    if(ccmInfo != null)
                    {
                        infoList.Add(ccmInfo);
                    }
                }

            }
            else if (!String.IsNullOrEmpty(searchInfo.CardOwner.cus_cChaName) || searchInfo.CardOwner.cus_cClassID != Guid.Empty)
            {
                List<CardUserMaster_cus_Info> cusList = _icumDA.SearchRecords(searchInfo.CardOwner);

                if (cusList != null)
                {
                    for (int index = 0; index < cusList.Count; index++)
                    {
                        searchInfo.ucp_cCUSID = cusList[index].cus_cRecordID;

                        ucpInfo = _iucpDA.SearchRecords(searchInfo).OrderBy(p => p.ucp_dAddDate).FirstOrDefault();

                        if (ucpInfo != null && ucpInfo.ucp_cUseStatus == DefineConstantValue.ConsumeCardStatus.Normal.ToString())
                        {
                            ccmInfo = new ConsumeCardMaster_ccm_Info();
                            ccmInfo.ccm_cCardID = ucpInfo.ucp_cCardID;
                            ccmInfo.ccm_cCardState = searchInfo.CardInfo.ccm_cCardState;
                            ccmInfo.ccm_lIsActive = true;

                            ccmInfo = _iccmDA.SearchRecords(ccmInfo).FirstOrDefault();//查卡信息

                            if (ccmInfo != null)
                            {
                                ccmInfo.CardOwner = cusList[index];
                                ccmInfo.UCPInfo = ucpInfo;

                                infoList.Add(ccmInfo);
                            }

                        }
                    }
                }
            }
            else
            {
                List<ConsumeCardMaster_ccm_Info> ccmList = _iccmDA.SearchRecords(new ConsumeCardMaster_ccm_Info() { ccm_lIsActive = true});
                if (ccmList != null)
                {
                    for (int index = 0; index < ccmList.Count; index++)
                    {
                        ucpInfo = new UserCardPair_ucp_Info();
                        ucpInfo.ucp_cCardID = ccmList[index].ccm_cCardID;
                        ucpInfo.ucp_cUseStatus = DefineConstantValue.ConsumeCardStatus.Normal.ToString();

                        ucpInfo = _iucpBL.SearchRecords(ucpInfo).FirstOrDefault();

                        if(ucpInfo != null)
                        {
                            ccmList[index].UCPInfo = ucpInfo;
                            ccmList[index].CardOwner = ucpInfo.CardOwner;
                        }

                        infoList.Add(ccmList[index]);
                    }
                }

            }

            if (infoList != null && infoList.Count > 0 && searchInfo.PairTime_From != null && searchInfo.PairTime_To != null)
            {
                for (int index = 0; index < infoList.Count; index++)
                {
                    if (infoList[index].UCPInfo.ucp_dPairTime < searchInfo.PairTime_From || infoList[index].UCPInfo.ucp_dPairTime > searchInfo.PairTime_To)
                    {
                        infoList.RemoveAt(index);
                        index--;
                    }
                }
            }

            return infoList;
        }
コード例 #17
0
        public List<ConsumeCardMaster_ccm_Info> SearchHistoryRecords(UserCardPair_ucp_Info searchInfo)
        {
            List<ConsumeCardMaster_ccm_Info> ccmList = new List<ConsumeCardMaster_ccm_Info>();

            try
            {
                searchInfo.ucp_iCardNo = 0;
                searchInfo.ucp_cUseStatus = DefineConstantValue.ConsumeCardStatus.Returned.ToString();
                List<UserCardPair_ucp_Info> ucpList = _iucpDA.SearchRecords(searchInfo);
                if (ucpList != null)
                {
                    for (int index = 0; index < ucpList.Count; index++)
                    {
                        CardUserMaster_cus_Info cusInfo = new CardUserMaster_cus_Info();
                        cusInfo.cus_cRecordID = ucpList[index].ucp_cCUSID;
                        cusInfo = _icumDA.SearchRecords(cusInfo).FirstOrDefault();

                        if (cusInfo != null)
                        {
                            ConsumeCardMaster_ccm_Info ccmInfo = new ConsumeCardMaster_ccm_Info();
                            ccmInfo.CardOwner = cusInfo;
                            ccmInfo.UCPInfo = ucpList[index];

                            ccmList.Add(ccmInfo);
                        }
                    }
                }
            }
            catch
            {

            }

            return ccmList;
        }
コード例 #18
0
ファイル: UserCardPairBL.cs プロジェクト: Klutzdon/SIOTS_HHZX
        public ReturnValueInfo ReturnCard(UserCardPair_ucp_Info infoObject)
        {
            try
            {
                ReturnValueInfo rvInfo = this._IUserCardPairDA.ReturnCard(infoObject);
                if (rvInfo.boolValue && !rvInfo.isError)
                {
                    this._IBlacklistChangeRecordBL.InsertUploadCardNo(infoObject.ucp_iCardNo, DefineConstantValue.EnumCardUploadListOpt.RemoveWhiteList, DefineConstantValue.EnumCardUploadListReason.CardReturned, infoObject.ucp_cLast);
                }
                return rvInfo;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
コード例 #19
0
        private void sysToolBar_OnItemDetail_Click(object sender, EventArgs e)
        {
            if (this.lvCardList.SelectedItems.Count > 0)
            {
                CardUserMaster_cus_Info cusInfo = new CardUserMaster_cus_Info();
                cusInfo.cus_cChaName = this.lvCardList.SelectedItems[0].SubItems[2].Text;

                UserCardPair_ucp_Info ucpInfo = new UserCardPair_ucp_Info();

                if (!String.IsNullOrEmpty(this.lvCardList.SelectedItems[0].SubItems[1].Text))
                {
                    ucpInfo.ucp_iCardNo = Int32.Parse(this.lvCardList.SelectedItems[0].SubItems[1].Text);
                }
                ucpInfo.ucp_cUseStatus = this.lvCardList.SelectedItems[0].SubItems[3].Text;
                ucpInfo.ucp_cCardID = this.lvCardList.SelectedItems[0].SubItems[5].Text;

                ucpInfo.CardOwner = cusInfo;

                frmCardInfoDetail dlgDetail = new frmCardInfoDetail(ucpInfo);
                if (dlgDetail.ShowDialog() == DialogResult.Yes)
                {

                }
            }
            else
            {
                this.ShowInformationMessage("请先选择一条记录!");
                lvCardList.Focus();
            }
        }
コード例 #20
0
ファイル: UserCardPairBL.cs プロジェクト: Klutzdon/SIOTS_HHZX
        /// <summary>
        /// 添加已发卡的卡信息
        /// </summary>
        /// <param name="pairInfo"></param>
        /// <returns></returns>
        bool AddCardMasterInfo(UserCardPair_ucp_Info pairInfo)
        {
            bool res = false;
            try
            {
                ConsumeCardMaster_ccm_Info searchInfo = new ConsumeCardMaster_ccm_Info();
                searchInfo.ccm_cCardID = pairInfo.ucp_cCardID;
                pairInfo.CardInfo = this._IConsumeCardMasterDA.DisplayRecord(searchInfo);
                if (pairInfo.CardOwner != null)
                    res = true;
            }
            catch (Exception ex)
            {

                throw ex;
            }
            return res;
        }
コード例 #21
0
        private void btnConfirmRefund_Click(object sender, EventArgs e)
        {
            bool resUkey = base.CheckUKey();
            if (!resUkey)
            {
                return;
            }

            if (string.IsNullOrEmpty(tbxRefundMoney.Text.Trim()))
            {
                this.ShowWarningMessage("请输入退款金额。");
                tbxRefundMoney.Focus();
                return;
            }
            decimal fRefund;
            bool res = decimal.TryParse(tbxRefundMoney.Text.Trim(), out fRefund);
            if (!res)
            {
                this.ShowWarningMessage("请检查退款金额的格式。");
                tbxRefundMoney.Focus();
                return;
            }
            if (fRefund <= 0)
            {
                this.ShowWarningMessage("退款金额需大于0,请重新输入。");
                tbxRefundMoney.Focus();
                return;
            }
            else if (fRefund > Common.DefineConstantValue.MaxRechargeVal)
            {
                this.ShowWarningMessage("退款金额不能大于" + Common.DefineConstantValue.MaxRechargeVal.ToString() + ",请重新输入。");
                tbxRefundMoney.Focus();
                tbxRefundMoney.SelectAll();
                return;
            }

            //帐号余额
            ConsumeCardInfo ccInfo = new ConsumeCardInfo();
            ccInfo.CardBalance = decimal.Parse(this.labAccountBalance.Text);

            //查卡号
            UserCardPair_ucp_Info ucpInfo = new UserCardPair_ucp_Info();
            ucpInfo.ucp_cCUSID = this._CurrentUser.cus_cRecordID;
            List<UserCardPair_ucp_Info> ucpList = _IUserCardPairBL.SearchRecords(ucpInfo);
            if (ucpList != null && ucpList.Count > 0)
            {
                ucpList = ucpList.OrderBy(p => p.ucp_dAddDate).ToList();
                ccInfo.CardNo = ucpList[0].ucp_iCardNo.ToString();
            }
            else
            {
                if (MessageBox.Show("该用户未发卡,确认继续进行操作?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {

                }
                else
                {
                    return;
                }
            }

            dlgConfirmInfo dlg = new dlgConfirmInfo();
            dlg.RefundMoney = fRefund;
            dlg.UserInfo = this._CurrentUser;
            dlg.PreCostMoney = computePreCost(this._CurrentUser.cus_cRecordID);
            dlg.CardInfo = ccInfo;
            dlg.IsPrinted = cbxPrint.Checked;
            dlg.IsSkipPreCost = true;

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                this.Cursor = Cursors.WaitCursor;
                try
                {
                    PreRechargeRecord_prr_Info preRechargeInfo = new PreRechargeRecord_prr_Info();
                    preRechargeInfo.prr_cAdd = base.UserInformation.usm_cUserLoginID;
                    preRechargeInfo.prr_cLast = base.UserInformation.usm_cUserLoginID;
                    preRechargeInfo.prr_cRechargeType = Common.DefineConstantValue.ConsumeMoneyFlowType.Refund_PersonalTransfer.ToString();
                    preRechargeInfo.prr_cRecordID = Guid.NewGuid();
                    preRechargeInfo.prr_cStatus = Common.DefineConstantValue.ConsumeMoneyFlowStatus.WaitForAcceptTransfer.ToString();
                    preRechargeInfo.prr_cUserID = this._CurrentUser.cus_cRecordID;
                    preRechargeInfo.prr_dRechargeTime = DateTime.Now;
                    preRechargeInfo.prr_fRechargeMoney = fRefund;

                    ReturnValueInfo rvInfo = this._IPreRechargeRecordBL.Save(preRechargeInfo, Common.DefineConstantValue.EditStateEnum.OE_Insert);
                    if (rvInfo.boolValue && !rvInfo.isError)
                    {
                        base.ShowInformationMessage("转账成功,请通知卡用户进行退款确认。");

                        if (cbxPrint.Checked)
                        {
                            RechargeDetail rdInfo = new RechargeDetail();
                            //rdInfo.CardNo = Int32.Parse(this.labCardNo.Text);
                            rdInfo.OperationTime = System.DateTime.Now;
                            rdInfo.Operator = this.UserInformation.usm_cUserLoginID;
                            rdInfo.RechargeValue = fRefund;
                            rdInfo.UserName = this.labUserName.Text;
                            rdInfo.ClassName = this.labClassName.Text;
                            //打印小票
                            PrintTicket(rdInfo);
                        }

                    }
                    else
                    {
                        base.ShowErrorMessage("转账失败。" + rvInfo.messageText);
                    }
                }
                catch (Exception ex)
                {
                    this.Cursor = Cursors.Default;
                    this.ShowErrorMessage(ex);
                }

                ResetAllControls();
                this.Cursor = Cursors.Default;
            }
        }
コード例 #22
0
ファイル: UserCardPairBL.cs プロジェクト: Klutzdon/SIOTS_HHZX
        /// <summary>
        /// 添加用户的账户信息
        /// </summary>
        /// <param name="userInfo"></param>
        void AddUserAccountInfo(UserCardPair_ucp_Info pairInfo)
        {
            if (pairInfo != null && pairInfo.CardOwner != null)
            {
                CardUserAccount_cua_Info accountInfo = this._ICardUserAccountDA.SearchRecords(new CardUserAccount_cua_Info() { cua_cCUSID = pairInfo.ucp_cCUSID }).FirstOrDefault();

                if (accountInfo != null)
                {
                    pairInfo.CardOwner.AccountInfo = accountInfo;
                }
            }
        }
コード例 #23
0
        private void btnRead_Click(object sender, EventArgs e)
        {
            if (this._IsConnected)
            {
                bool resUkey = base.CheckUKey();
                if (!resUkey)
                {
                    return;
                }

                this.Cursor = Cursors.WaitCursor;
                resetAllControls();

                ConsumeCardInfo cardInfo = this._Reader.ReadCardInfo(base._CardInfoSection, base._SectionPwd);
                if (cardInfo != null)
                {
                    this._CurrentCardInfo = cardInfo;

                    labCardBalance.Text = cardInfo.CardBalance.ToString();
                    labCardNo.Text = cardInfo.CardNo.PadLeft(8, '0');
                    string strCardID = cardInfo.CardSourceID;

                    //根据原始卡号查询发卡信息
                    UserCardPair_ucp_Info searchInfo = new UserCardPair_ucp_Info();
                    searchInfo.ucp_cCardID = strCardID;
                    searchInfo.ucp_iCardNo = int.Parse(cardInfo.CardNo);

                    List<UserCardPair_ucp_Info> listPairInfo = this._IUserCardPairBL.SearchRecords(searchInfo);
                    listPairInfo = listPairInfo.Where(x => x.ucp_cUseStatus != Common.DefineConstantValue.ConsumeCardStatus.Returned.ToString()).ToList();
                    UserCardPair_ucp_Info pairInfo = null;
                    if (listPairInfo == null || (listPairInfo != null && listPairInfo.Count < 1))
                    {
                        this._PairInfo = null;
                        pairInfo = null;

                        this.Cursor = Cursors.Default;
                        resetAllControls();
                        this.ShowWarningMessage("此卡未被发卡。");
                        return;
                    }
                    else
                    {
                        listPairInfo = listPairInfo.OrderByDescending(x => x.ucp_dPairTime).ToList();
                        this._PairInfo = listPairInfo[0];
                        pairInfo = listPairInfo[0];
                        if (pairInfo.ucp_cUseStatus == Common.DefineConstantValue.ConsumeCardStatus.LoseReporting.ToString())
                        {
                            this.Cursor = Cursors.Default;
                            resetAllControls();
                            this.ShowWarningMessage("此卡正在挂失中,请解挂后重试。");
                            return;
                        }
                    }

                    if (pairInfo.CardOwner != null)
                    {
                        base._CurrentCardUserInfo = pairInfo.CardOwner;
                        base._CurrentCardInfo = cardInfo;

                        labUserName.Text = pairInfo.CardOwner.cus_cChaName;
                        labStuNum.Text = pairInfo.CardOwner.cus_cStudentID;
                        labClassName.Text = pairInfo.CardOwner.ClassInfo == null ? pairInfo.CardOwner.DeptInfo.dpm_cName : pairInfo.CardOwner.ClassInfo.csm_cClassName;

                        // 获取用户账户资料
                        getAccountInfos();
                        //计算未结算款项
                        computePreCost(pairInfo);

                        tbxDesc.Enabled = true;
                        tbxDesc.Text = string.Empty;
                        tbxRefundMoney.Enabled = true;
                        tbxRefundMoney.Focus();
                        tbxRefundMoney.SelectAll();
                    }
                    else
                    {
                        base._CurrentCardUserInfo = null;

                        resetAllControls();
                        this.Cursor = Cursors.Default;
                        this.ShowWarningMessage("获取消费卡用户信息异常,请重试。");
                        return;
                    }
                }
                else
                {
                    this.Cursor = Cursors.Default;
                    resetAllControls();
                    this.ShowWarningMessage("读卡信息失败,请重试。");
                    return;
                }
            }
            else
            {
                this.Cursor = Cursors.Default;
                resetAllControls();
                this.ShowWarningMessage("未连接到读写器,请检查设备连通性。");
                return;
            }

            this.Cursor = Cursors.Default;
        }
コード例 #24
0
ファイル: UserCardPairBL.cs プロジェクト: Klutzdon/SIOTS_HHZX
        /// <summary>
        /// 添加已发卡的卡用户信息
        /// </summary>
        /// <param name="pairInfo"></param>
        /// <returns></returns>
        bool AddUserMasterInfo(UserCardPair_ucp_Info pairInfo)
        {
            bool res = false;
            try
            {
                if (pairInfo != null)
                {
                    CardUserMaster_cus_Info searchInfo = new CardUserMaster_cus_Info();
                    searchInfo.cus_cRecordID = pairInfo.ucp_cCUSID;
                    pairInfo.CardOwner = this._ICardUserMasterDA.DisplayRecord(searchInfo);
                    if (pairInfo.CardOwner != null)
                    {
                        AddClassInfoToUser(pairInfo.CardOwner);
                        res = true;
                    }
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
            return res;
        }
コード例 #25
0
        private void ShowCardMessage()
        {
            try
            {
                UserCardPair_ucp_Info ucpInfo = new UserCardPair_ucp_Info();
                ucpInfo.ucp_cCardID = _cardInfo.CardSourceID;
                ucpInfo.ucp_iCardNo = Int32.Parse(_cardInfo.CardNo);

                ucpInfo = _iucpBL.SearchRecords(ucpInfo).FirstOrDefault() as UserCardPair_ucp_Info;

                if (ucpInfo != null)
                {
                    _userInfo = ucpInfo;

                    this.lblChaName.Text = ucpInfo.CardOwner.cus_cChaName;
                    this.lblCardNo.Text = ucpInfo.ucp_iCardNo.ToString();

                    this.btnSearch.Enabled = true;
                }
                else
                {
                    base.MessageDialog("提示", "找不到卡资料!");
                    this.btnSearch.Enabled = false;
                }
            }
            catch
            {

            }
        }
コード例 #26
0
ファイル: UserCardPairBL.cs プロジェクト: Klutzdon/SIOTS_HHZX
        /// <summary>
        /// 检查是否已被发卡
        /// </summary>
        /// <param name="pairInfo"></param>
        /// <returns></returns>
        ReturnValueInfo CheckPairDetail(UserCardPair_ucp_Info pairInfo)
        {
            ReturnValueInfo rvInfo = new ReturnValueInfo();

            //以卡主档记录查询
            UserCardPair_ucp_Info searchInfo = new UserCardPair_ucp_Info();
            searchInfo.ucp_cCardID = pairInfo.ucp_cCardID;

            List<UserCardPair_ucp_Info> listPair = this._IUserCardPairDA.SearchRecords(searchInfo);
            listPair = listPair.Where(x => x.ucp_cUseStatus == DefineConstantValue.ConsumeCardStatus.Normal.ToString() || x.ucp_cUseStatus == DefineConstantValue.ConsumeCardStatus.LoseReporting.ToString() && x.ucp_lIsActive).ToList();

            if (listPair != null && listPair.Count > 0)
            {
                UserCardPair_ucp_Info pair = listPair[0];
                AddUserMasterInfo(pair);
                if (pair != null)
                {
                    rvInfo.isError = true;
                    if (pair.CardOwner != null)
                    {
                        rvInfo.messageText = "此卡已被发卡,持有人为:" + pair.CardOwner.cus_cChaName;
                    }
                    return rvInfo;
                }
            }
            else
            {
                //以用户主档记录查询
                searchInfo = new UserCardPair_ucp_Info();
                searchInfo.ucp_cCUSID = pairInfo.ucp_cCUSID;

                listPair = this._IUserCardPairDA.SearchRecords(searchInfo);
                listPair = listPair.Where(x => x.ucp_cUseStatus == DefineConstantValue.ConsumeCardStatus.Normal.ToString() || x.ucp_cUseStatus == DefineConstantValue.ConsumeCardStatus.LoseReporting.ToString() && x.ucp_lIsActive).ToList();

                if (listPair != null && listPair.Count > 0)
                {
                    UserCardPair_ucp_Info pair = listPair[0];

                    if (pair != null)
                    {
                        rvInfo.isError = true;
                        rvInfo.messageText = "此用户已被发卡,持有卡号:" + pair.ucp_iCardNo.ToString();
                        return rvInfo;
                    }
                }
            }

            rvInfo.boolValue = true;
            return rvInfo;
        }