コード例 #1
0
        public ActionResult PutMoneyFromManyBill()
        {
            var model = new ModelForPutMoneyFromManyBills()
            {
                ExistBills = false,
            };

            return(View(model));
        }
コード例 #2
0
ファイル: BillService.cs プロジェクト: Vekoks/PaySystem
        public string PutMoneyInYourBillFromManyBills(ModelForPutMoneyFromManyBills model)
        {
            var user = _userBilRepo.All().Where(x => x.Email == model.Email).FirstOrDefault();

            var billToSetMoney = user.Bills.Where(x => x.IBank == model.IBankOnBillSetMoney).FirstOrDefault();

            if (billToSetMoney == null)
            {
                return("no exist bill");
            }

            var idOnNewStatus         = _statusBillService.SetStatusBill(billToSetMoney, "Put money from many bills", "Try");
            var statusOnbillForUpDate = billToSetMoney.StatusBill.Where(x => x.Id == idOnNewStatus).FirstOrDefault();

            var billsForGetMoney = model.Bills;

            foreach (var bill in billsForGetMoney)
            {
                var billGetMoneyFromReallyBill = _reallyBilRepo.All().Where(x => x.IBank == bill.IBankOnBillFromGetMoney).FirstOrDefault();
                var moneyForTransfer           = decimal.Parse(bill.Money);

                if (billGetMoneyFromReallyBill == null)
                {
                    _statusBillService.UpDateStatus(statusOnbillForUpDate, "Put money from many bills", "no exist really bill");
                    return("no exist really bill");
                }

                else if (billGetMoneyFromReallyBill.Balance < moneyForTransfer)
                {
                    _statusBillService.UpDateStatus(statusOnbillForUpDate, "Put money from many bills", "no balance in really bill");
                    return("no balance in really bill");
                }

                else
                {
                    billToSetMoney.Balance += moneyForTransfer;

                    billGetMoneyFromReallyBill.Balance -= moneyForTransfer;
                }
            }

            _billRepo.SaveChanges();

            _statusBillService.UpDateStatus(statusOnbillForUpDate, "Put money from many bills", "succes");

            return("succes");
        }