public async Task <ActionResult> CreatePrivate() { TransferPrivateModel model = new TransferPrivateModel(); ViewBag.BusinessUsers = await GetSelect(); return(View(model)); }
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)); }