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));
        }
Exemple #4
0
        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));
        }