public ActionResult PutMoneyFromManyBill() { var model = new ModelForPutMoneyFromManyBills() { ExistBills = false, }; return(View(model)); }
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"); }