Example #1
0
        public async Task <ActionResult> CreatePrivate()
        {
            TransferPrivateModel model = new TransferPrivateModel();

            ViewBag.BusinessUsers = await GetSelect();

            return(View(model));
        }
Example #2
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));
        }