public async Task <ActionResult> Create(CreatePayViewModel payVM)
        {
            if (ModelState.IsValid)
            {
                string  userid = User.Identity.GetUserId();
                var     pay    = new Pay();
                Balance _bal   = await db.Balances.SingleOrDefaultAsync(m => m.UserID == userid);

                if (_bal == null)
                {
                    TempData["msg"] = "شما حسابی ندارید ,لطفا با پشتیبانی تماس بگیرید.";
                    return(RedirectToAction("Create"));
                }
                pay.BalanceID = _bal.Id;
                pay.InOutType = Pay.PayIn;
                pay.PayPlanId = payVM.PayPlanId;
                pay.PayDate   = DateTime.Now;
                var payPlan = db.PayPlans.Where(m => m.Id == payVM.PayPlanId).SingleOrDefault();

                if (payPlan == null)
                {
                    TempData["msg"] = "طرح مورد نظر یافت نشد";
                    return(View());
                }

                pay.PayAmount = payPlan.PayAmount * payVM.Count;

                //pay.PayCoins=new List<PayCoin> {new PayCoin {InOutType = 1,NumberOfCoins = payPlan.NumberOfCoin,RegisterDate = DateTime.Now} };
                db.Pays.Add(pay);
                await db.SaveChangesAsync();

                db.PayCoins.Add(new PayCoin
                {
                    InOutType     = 1,
                    NumberOfCoins = payPlan.NumberOfCoin * payVM.Count,
                    RegisterDate  = DateTime.Now,
                    PayId         = pay.Id
                });


                await db.SaveChangesAsync();



                return(RedirectToAction("Index"));
            }

            return(View(payVM));
        }
        // GET: Pays/Create
        public ActionResult Create(string userid)
        {
            if (userid == null)
            {
                return(HttpNotFound());
            }
            var model = new CreatePayViewModel
            {
                UserId   = userid,
                UserName = db.Users.Where(m => m.Id == userid).SingleOrDefault().UserName,
                PayPlans = db.PayPlans.Where(m => m.State == true).ToList()
            };

            return(View(model));
        }
        // GET: Pays/Create
        public ActionResult Create()
        {
            string userid = User.Identity.GetUserId();

            if (userid == null)
            {
                return(HttpNotFound());
            }
            var model = new CreatePayViewModel
            {
                UserId   = userid,
                UserName = User.Identity.Name,
                PayPlans = db.PayPlans.Where(m => m.State == true).ToList()
            };

            return(View(model));
        }
        public ActionResult Create(CreatePayViewModel payVM)
        {
            if (ModelState.IsValid)
            {
                var     pay  = new Pay();
                Balance _bal = db.Balances.SingleOrDefault(m => m.UserID == payVM.UserId);
                pay.BalanceID = _bal.Id;
                pay.InOutType = Pay.PayIn;
                pay.PayPlanId = payVM.PayPlanId;
                pay.PayDate   = DateTime.Now;

                var payPlan = db.PayPlans.Where(m => m.Id == payVM.PayPlanId).SingleOrDefault();

                if (payPlan == null)
                {
                    TempData["msg"] = "طرح مورد نظر یافت نشد";
                    return(View());
                }

                pay.PayAmount = payPlan.PayAmount * payVM.Count;

                //pay.PayCoins=new List<PayCoin> {new PayCoin {InOutType = 1,NumberOfCoins = payPlan.NumberOfCoin,RegisterDate = DateTime.Now} };
                db.Pays.Add(pay);
                db.SaveChanges();

                db.PayCoins.Add(new PayCoin
                {
                    UserID        = _bal.UserID,
                    InOutType     = 1,
                    NumberOfCoins = payPlan.NumberOfCoin * payVM.Count,
                    RegisterDate  = DateTime.Now,
                    PayId         = pay.Id
                });


                db.SaveChanges();



                return(RedirectToAction("Index", "Users"));
            }

            return(View(payVM));
        }