Example #1
0
        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));
        }
Example #2
0
        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));
        }