コード例 #1
0
        //审核通过
        protected void btn_pass_Click(object sender, EventArgs e)
        {
            int id = payback.Id;

            if (new PayBackApplyDAO().agreePayBack(id))
            {
                //跟新用户的债务表
                UserDebt userdebt = new UserDebt();
                userdebt        = new UserDebtDAO().getUserDebt(payback.User_name);
                userdebt.Amount = userdebt.Amount - payback.Amount;
                new UserDebtDAO().updateUserDebt(userdebt);

                //向用户债务交易记录表中添加交易记录
                UserDebtTrans userdebttrans = new UserDebtTrans();
                userdebttrans.Amount         = -payback.Amount;
                userdebttrans.Operation_time = DateTime.Now;
                userdebttrans.Operation      = "还款";
                userdebttrans.Note           = payback.Note;
                userdebttrans.User_name      = payback.User_name;

                new UserDebtTransDAO().addUserDebtTrans(userdebttrans);

                alert("通过申请!!");
            }
            else
            {
                alert("系统繁忙,请稍后再提交!!");
            }
        }
コード例 #2
0
ファイル: UserDebtDAO.cs プロジェクト: alandong3721/guage
        // 跟新用户的 欠款表
        public bool updateUserDebt(UserDebt userdebt)
        {
            bool flag = false;

            string str = "select * from tb_user_debt where user_name='" + userdebt.User_name + "'";

            DataTable table = new DBOperateCommon().excuteQuery(str);

            if (table.Rows.Count > 0)
            {
                // 该用户不是第一次借款
                float old_amount = Convert.ToSingle(table.Rows[0]["amount"].ToString());
                float new_amount = old_amount + userdebt.Amount;

                string up = "update tb_user_debt set amount=" + new_amount + " where user_name='" + userdebt.User_name + "'";
                if (new DBOperateCommon().excuteNoQuery(up))
                {
                    flag = true;
                }
            }
            else
            {
                string sql = "insert into tb_user_debt values('" + userdebt.User_name + "'," + userdebt.Amount + ")";
                if (new DBOperateCommon().excuteNoQuery(sql))
                {
                    flag = true;
                }
            }

            return(flag);
        }
コード例 #3
0
        public async Task ShouldGetCorrectTotalDebt()
        {
            var chargeRepositoryMock = new Mock <IRepository <Charge> >();

            chargeRepositoryMock.Setup(x => x.ListAsync(
                                           It.IsAny <Expression <Func <Charge, bool> > >(),
                                           It.IsAny <SortOptions>(),
                                           It.IsAny <int?>(),
                                           It.IsAny <int?>()))
            .Returns((Expression <Func <Charge, bool> > predicate, SortOptions sortOptions, int?pageSize, int?pageNum) =>
                     //Return charges after applying UserDebtService's predicate
                     Task.FromResult(GetTestCharges().Where(predicate.Compile()).ToList()));

            UserDebtService userDebtService = new UserDebtService(chargeRepositoryMock.Object);

            UserDebt debt = await userDebtService.GetUserDebt(MockData.GetTestUser().Id);

            Assert.Multiple(() =>
            {
                var arDebt = debt.GetDebtAmountsByCurrency().FirstOrDefault(x => x.Currency == Enumerations.Currency.ARS);
                var usDebt = debt.GetDebtAmountsByCurrency().FirstOrDefault(x => x.Currency == Enumerations.Currency.US);

                Assert.AreEqual(2, debt.GetDebtAmountsByCurrency().Count, "User should have debt in 2 currencies");

                Assert.IsNotNull(arDebt, "Debt in AR$ currency should not be null");
                Assert.AreEqual(63.75M, arDebt.Amount, "AR$ debt should be $63.75");

                Assert.IsNotNull(usDebt, "Debt in U$ currency should not be null");
                Assert.AreEqual(100, usDebt.Amount, "U$ debt should be $100");
            });
        }
コード例 #4
0
        /// <summary>
        /// 用户信贷数据填充
        /// </summary>
        /// <param name="table">信贷数据源</param>
        /// <returns></returns>
        public UserDebt FillDebt(DataTable table)
        {
            UserDebt debt = new UserDebt()
            {
                Xde       = decimal.Parse(table.Rows[0]["xde"].ToString().Trim()),
                Xdq       = int.Parse(table.Rows[0]["xdq"].ToString().Trim()),
                DebtDate  = table.Rows[0]["debtdate"].ToString().Trim(),
                DebtDays  = int.Parse(table.Rows[0]["debtdays"].ToString().Trim()),
                DebtMoney = decimal.Parse(table.Rows[0]["debtmoney"].ToString().Trim())
            };

            return(debt);
        }
コード例 #5
0
        /// <summary>
        /// Get the total amount of user debt grouped by currency
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public async Task <UserDebt> GetUserDebt(long userId)
        {
            var unPaidCharges = await _chargeRepository.ListAsync(x =>
                                                                  x.Event.User.Id == userId &&
                                                                  (x.Payments.Sum(x => (decimal?)x.Amount) ?? 0) < x.Amount.Amount); //Nullable cast required to create query like "SELECT ISNULL(SUM([p].[Amount]),0)"

            var userDebt = new UserDebt();

            //Store debt separated by currency in value object
            unPaidCharges.ForEach(c => userDebt.AddDebtAmount(c.GetUnPaidAmount()));

            return(userDebt);
        }
コード例 #6
0
        //用户还款的具体实现
        protected void btn_user_repay_right_Click(object sender, EventArgs e)
        {
            string account   = user_account.Text;
            string money_str = Request.Form["repay_money"];
            string note      = Request.Form["note_repay"];

            //首先判断该用户是否欠
            UserDebt user_debt = new UserDebtDAO().getUserDebt(account);

            if (user_debt != null)
            {
                if (user_debt.Amount >= Convert.ToSingle(money_str))
                {
                    // 跟新用户的 欠款表
                    UserDebt userdebt = new UserDebt();
                    userdebt.Amount    = -Convert.ToSingle(money_str);
                    userdebt.User_name = account;
                    if (new UserDebtDAO().updateUserDebt(userdebt))
                    {
                        //还款成功
                        // 记录交易信息
                        UserDebtTrans userdebttrans = new UserDebtTrans();
                        userdebttrans.Operation      = "还款";
                        userdebttrans.Operation_time = DateTime.Now;
                        userdebttrans.User_name      = account;
                        userdebttrans.Amount         = -Convert.ToSingle(money_str);
                        userdebttrans.Note           = note;
                        new UserDebtTransDAO().addUserDebtTrans(userdebttrans);

                        alert("还款成功!!");
                    }
                    else
                    {
                        alert("还款失败!!");
                    }
                }
                else
                {
                    alert("用户欠款金额为:" + user_debt.Amount + " ;还款金额为:" + money_str + ",无法进行还款!!");
                }
            }
            else
            {
                alert("该用户不欠款,请确认用户信息!!");
            }
        }
コード例 #7
0
ファイル: UserDebtDAO.cs プロジェクト: alandong3721/guage
        /// <summary>
        /// 获取用户的欠款对象
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public UserDebt getUserDebt(string name)
        {
            UserDebt userdebt = null;

            string sql = "select * from tb_user_debt where user_name='" + name + "'";

            DataTable table = new DBOperateCommon().excuteQuery(sql);

            if (table.Rows.Count > 0)
            {
                userdebt           = new UserDebt();
                userdebt.Amount    = Convert.ToSingle(table.Rows[0]["amount"].ToString());
                userdebt.User_name = name;
            }

            return(userdebt);
        }
コード例 #8
0
ファイル: UserDebtDAO.cs プロジェクト: alandong3721/guage
        /// <summary>
        /// 分页获欠款用户
        /// </summary>
        /// <param name="pageNow"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public ArrayList getUserDebts(int pageNow, int pageSize)
        {
            ArrayList userdebts = new ArrayList();

            string sql = "select top " + pageSize + " * from tb_user_debt where user_name not in(select top " + (pageNow - 1) * pageSize + " user_name from tb_user_debt order by amount desc) order by amount desc";

            DataTable table = new DBOperateCommon().excuteQuery(sql);

            for (int i = 0; i < table.Rows.Count; i++)
            {
                UserDebt userdebt = new UserDebt();
                userdebt.User_name = table.Rows[i]["user_name"].ToString();
                userdebt.Amount    = Convert.ToSingle(table.Rows[i]["amount"]);

                userdebts.Add(userdebt);
            }

            return(userdebts);
        }
コード例 #9
0
        /// <summary>
        /// 用户信贷
        /// </summary>
        /// <param name="userId">用户</param>
        /// <param name="entId">机构</param>
        /// <returns></returns>
        public UserDebt DebtInfo(string userId, string entId)
        {
            //LogQueue.Write(LogType.Debug, "1", userId);
            SqlParameter[] sqls = new SqlParameter[]
            {
                new SqlParameter("@type", "UserDebt"),
                new SqlParameter("@userId", userId),
                new SqlParameter("@entId", entId)
            };
            SqlRun    sql   = new SqlRun(SqlRun.sqlstr);
            DataTable table = sql.RunProcedureDR("Proc_UserInfo", sqls);
            UserDebt  debt  = new UserDebt();

            if (table.Rows.Count > 0)
            {
                debt = FillDebt(table);
            }
            return(debt);
        }
コード例 #10
0
ファイル: MyAccountDAO.cs プロジェクト: alandong3721/guage
        /// <summary>
        /// 为用户充值
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="money">充值金额</param>
        /// <returns>充值成功返回 true,否则返回 false</returns>
        public bool chargeForUser(string account, float money)
        {
            bool flag = false;

            string    sql   = "select * from tb_my_account where name='" + account + "'";
            DataTable table = new DBOperateCommon().excuteQuery(sql);

            //说明
            if (table.Rows.Count > 0)
            {
                float old_balance = Convert.ToSingle(table.Rows[0]["balance"].ToString());

                float new_balance = old_balance + money;

                string update = "update tb_my_account set balance=" + new_balance + " where name='" + account + "'";

                if (new DBOperateCommon().excuteNoQuery(update))
                {
                    flag = true;

                    //添加成功时向账户交易记录表中添加交易记录
                    MyAccountTrans myaccounttrans = new MyAccountTrans();
                    myaccounttrans.User_name  = account;
                    myaccounttrans.Amout      = money;
                    myaccounttrans.Charge_way = "ukchinesecentre-account";
                    myaccounttrans.Operation  = "森林运输为客户预充值";
                    myaccounttrans.Time       = DateTime.Now;
                    new MyAccountTransDAO().addMyAccountTrans(myaccounttrans);

                    // 跟新用户的 欠款表
                    UserDebt userdebt = new UserDebt();
                    userdebt.User_name = account;
                    userdebt.Amount    = money;
                    new UserDebtDAO().updateUserDebt(userdebt);
                    //添加 欠款交易信息
                    UserDebtTrans userdebttrans = new UserDebtTrans();
                    userdebttrans.Amount         = money;
                    userdebttrans.User_name      = account;
                    userdebttrans.Operation      = "借款";
                    userdebttrans.Operation_time = DateTime.Now;
                    new UserDebtTransDAO().addUserDebtTrans(userdebttrans);
                }
            }
            else
            {
                string insert = "insert into tb_my_account values('" + account + "'," + money + ",0,0,0,0,'',0,0)";
                if (new DBOperateCommon().excuteNoQuery(insert))
                {
                    flag = true;
                    //添加成功时向账户交易记录表中添加交易记录
                    MyAccountTrans myaccounttrans = new MyAccountTrans();
                    myaccounttrans.User_name  = account;
                    myaccounttrans.Amout      = money;
                    myaccounttrans.Charge_way = "ukchinesecentre-account";
                    myaccounttrans.Operation  = "森林运输为客户预充值";
                    myaccounttrans.Time       = DateTime.Now;
                    new MyAccountTransDAO().addMyAccountTrans(myaccounttrans);

                    // 跟新用户的 欠款表
                    UserDebt userdebt = new UserDebt();
                    userdebt.User_name = account;
                    userdebt.Amount    = money;
                    new UserDebtDAO().updateUserDebt(userdebt);

                    //添加 欠款交易信息
                    UserDebtTrans userdebttrans = new UserDebtTrans();
                    userdebttrans.Amount         = money;
                    userdebttrans.User_name      = account;
                    userdebttrans.Operation      = "借款";
                    userdebttrans.Operation_time = DateTime.Now;
                    new UserDebtTransDAO().addUserDebtTrans(userdebttrans);
                }
            }

            return(flag);
        }