public ActionResult GiveBalance(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } User user = db.Users.Find(id); if (user == null) { return(HttpNotFound()); } AddBalanceToUser giveBalance = new AddBalanceToUser(); giveBalance.UserId = user.UserId; giveBalance.Name = user.Name; giveBalance.LastName = user.LastName; giveBalance.Email = user.Email; giveBalance.AddBalance = 0; var currentUser = db.Users.Where(u => u.Email == HttpContext.User.Identity.Name).ToList().ElementAt(0); ViewBag.CurrentUser = currentUser; return(View(giveBalance)); }
public async Task <ActionResult> GiveBalance(AddBalanceToUser addBalanceToUser) { var currentUser = db.Users.Where(u => u.Email == HttpContext.User.Identity.Name).ToList().ElementAt(0); if (ModelState.IsValid && addBalanceToUser.AddBalance <= currentUser.Balance && addBalanceToUser.AddBalance > 0) { User user = await db.Users.FindAsync(addBalanceToUser.UserId); if (user == null) { return(HttpNotFound()); } Balance balance = new Balance(); Balance currentBalance = new Balance(); user.Balance += addBalanceToUser.AddBalance; currentUser.Balance -= addBalanceToUser.AddBalance; balance.Date = DateTime.Now; balance.UserId = user.UserId; balance.Income = addBalanceToUser.AddBalance; balance.Comment = "С вами поделился балансом " + currentUser.Name + " " + currentUser.LastName + " (" + currentUser.Email + ")"; db.Balances.Add(balance); currentBalance.Date = DateTime.Now; currentBalance.UserId = currentUser.UserId; currentBalance.Expence = addBalanceToUser.AddBalance; currentBalance.Comment = "Вы поделились балансом с " + user.Name + " " + user.LastName + " (" + user.Email + ")"; db.Balances.Add(currentBalance); db.Entry(user).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("UsersList")); } return(RedirectToAction("GiveBalance", new { id = addBalanceToUser.UserId })); }
public ActionResult AddBalance([Bind(Include = "UserId,Name,LastName,Email,AddBalance")] AddBalanceToUser addBalanceToUser) { if (ModelState.IsValid) { User user = repository.SelectByID(addBalanceToUser.UserId); if (user == null) { return(HttpNotFound()); } user.Balance += addBalanceToUser.AddBalance; repository.Update(user); repository.Save(); AddBalanceHistory(addBalanceToUser); return(RedirectToAction("Index")); } return(View(addBalanceToUser)); }
private void AddBalanceHistory(AddBalanceToUser addBalanceToUser) { LunchContext db = new LunchContext(); Balance balance = new Balance(); balance.Date = DateTime.Now; balance.UserId = addBalanceToUser.UserId; if (addBalanceToUser.AddBalance >= 0) { balance.Income = addBalanceToUser.AddBalance; balance.Comment = "Пополнение счета администратором."; } else { balance.Expence = (-1) * addBalanceToUser.AddBalance; balance.Comment = "Выдача со счета администратором."; } db.Balances.Add(balance); db.SaveChanges(); db.Dispose(); }
// GET: Users/AddBalance/5 public ActionResult AddBalance(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var user = repository.SelectByID(id); if (user == null) { return(HttpNotFound()); } AddBalanceToUser addBalanceToUser = new AddBalanceToUser(); addBalanceToUser.UserId = user.UserId; addBalanceToUser.Name = user.Name; addBalanceToUser.LastName = user.LastName; addBalanceToUser.Email = user.Email; addBalanceToUser.AddBalance = 0; return(View(addBalanceToUser)); }