public async Task <ActionResult> Create([Bind(Include = "Id,Amount,ApplicationUserId,SetGet,Status,Date")] TransferMoneyUser transferMoneyUser) { transferMoneyUser.Date = DateTime.Now; ApplicationUser user = db.Users.Find(transferMoneyUser.ApplicationUserId); if (transferMoneyUser.SetGet == false) { if (user.Balans - transferMoneyUser.Amount < 0) { ModelState.AddModelError("Balans", "У Даного Пользователя Недостаточно Средств"); } } if (ModelState.IsValid) { if (transferMoneyUser.SetGet == false) { user.Balans -= transferMoneyUser.Amount; db.Entry(user).State = EntityState.Modified; await db.SaveChangesAsync(); } if (transferMoneyUser.SetGet == true) { user.Balans += transferMoneyUser.Amount; db.Entry(user).State = EntityState.Modified; await db.SaveChangesAsync(); } db.TransferMoneyUsers.Add(transferMoneyUser); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.ApplicationUserId = new SelectList(db.Users, "Id", "Email", transferMoneyUser.ApplicationUserId); return(View(transferMoneyUser)); }
public async Task <ActionResult> DeleteConfirmed(int id) { TransferMoneyUser transferMoneyUser = await db.TransferMoneyUsers.FindAsync(id); db.TransferMoneyUsers.Remove(transferMoneyUser); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
// GET: TransferMoneyUsers/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TransferMoneyUser transferMoneyUser = await db.TransferMoneyUsers.FindAsync(id); if (transferMoneyUser == null) { return(HttpNotFound()); } return(View(transferMoneyUser)); }
public async Task <ActionResult> CreatePrivate(TransferPrivateModel model) { string userId = User.Identity.GetUserId(); Guid business_working = Guid.Parse(Session["BusinessWorking"].ToString()); if (ModelState.IsValid) { BusinessUser user_from = await applicationDbContext.BusinessUsers.FirstOrDefaultAsync(x => x.User_Id == userId && x.Business_Id == business_working); var ids = model.FromTo.Split('_'); string toUserId = ids[0]; Guid toBusinessId = Guid.Parse(ids[1]); BusinessUser user_to = await applicationDbContext.BusinessUsers.FirstOrDefaultAsync(x => x.User_Id == toUserId && x.Business_Id == toBusinessId); user_from.Cash -= decimal.Parse(model.Amount); user_to.Cash += decimal.Parse(model.Amount); applicationDbContext.Entry(user_from).State = System.Data.Entity.EntityState.Modified; applicationDbContext.Entry(user_to).State = System.Data.Entity.EntityState.Modified; TransferMoneyUser transfer = new TransferMoneyUser() { Id = Guid.NewGuid(), Amount = decimal.Parse(model.Amount.Replace(".", ",")), Date = DateTime.Now, UserFrom_Id = userId, UserTo_Id = toUserId, BusinessTo_Id = toBusinessId, BusinessFrom_Id = business_working }; applicationDbContext.TransferMoneyUsers.Add(transfer); await applicationDbContext.SaveChangesAsync(); return(RedirectToAction("Index", new { selectedTab = "nav-private-tab" })); } ViewBag.BusinessUsers = await GetSelect(); return(View(model)); }