public async Task <ActionResult> View(string id)
        {
            Guid recharge_id = Guid.Parse(id);

            Recharge recharge = await applicationDbContext.Recharges.FirstOrDefaultAsync(x => x.Id == recharge_id);

            if (recharge == null)
            {
                return(RedirectToAction("Index"));
            }

            RechargeViewModel result = new RechargeViewModel()
            {
                DT_RowId  = recharge.Id.ToString(),
                Name      = recharge.Name,
                Cost      = recharge.Cost.ToString("#,##0.00"),
                DateStart = recharge.DateStart.ToString("yyyy-MM-dd hh:mm tt"),
                DateEnd   = recharge.DateEnd.ToString("yyyy-MM-dd hh:mm tt"),
                Activated = recharge.Activated
            };

            List <Agent> agents = await applicationDbContext.Agents.Where(x => x.Business_Id == recharge.Business_Id && x.Activated).OrderBy(x => x.OrderDisplay).ToListAsync();

            ViewBag.Agents = agents;

            return(View(result));
        }
示例#2
0
        public async Task <IActionResult> Recharge(int campaignid = 0)
        {
            long amount = 0;
            var  note   = "";

            if (campaignid > 0)
            {
                var campaign = await _campaignService.GetCampaignDetailsByAgency(CurrentUser.Id, campaignid);

                if (campaign != null)
                {
                    amount           = campaign.Payment.TotalChargeAmount;
                    note             = $"Nạp tiền chiến dịch {campaign.Code}";
                    ViewBag.Campaign = campaign;
                }
            }
            var model = new RechargeViewModel()
            {
                Amount     = amount,
                Note       = note,
                CampaignId = campaignid,
            };


            return(PartialView(model));
        }
示例#3
0
        public async Task <IActionResult> Recharge(int campaignid = 0)
        {
            long amount = 0;
            var  note   = "";

            if (campaignid > 0)
            {
                var campaign = await _campaignService.GetCampaignDetailsByAgency(CurrentUser.Id, campaignid);

                if (campaign != null)
                {
                    amount           = campaign.Payment.TotalChargeAmount;
                    note             = $"Nạp tiền chiến dịch {campaign.Code}";
                    ViewBag.Campaign = campaign;
                }
            }
            var model = new RechargeViewModel()
            {
                Amount     = amount,
                Note       = note,
                CampaignId = campaignid,
            };

            ViewBag.BankSystem = _IBankAccountSystemRepository.ListAll().Where(b => b.IsActive == true).ToList();

            return(View(model));
        }
        public PartialViewResult RechargeCredit(RechargeViewModel model)
        {
            ApplicationUser user = db.Users.Find(User.Identity.GetUserId());

            try
            {
                /*
                 * Payment Process
                 */

                if (model.NewCredit > 0)
                {
                    user.Credit += model.NewCredit;
                }
                db.SaveChanges();
                ViewBag.Message      = Resource.CreditRechargeSuccess + user.Credit + " $";
                ViewBag.AlertSuccess = "alert alert-success";
                ViewBag.Success      = true;
                return(PartialView("_RechargeCreditPartial"));
            }
            catch
            {
            }

            CreditCardViewModel credit    = new CreditCardViewModel();
            List <string>       cardsList = new List <string>();

            cardsList.Add("Visa");
            cardsList.Add("Master Card");
            cardsList.Add("American Express");
            cardsList.Add("Discover Network");

            ViewBag.CardTypes = new SelectList(cardsList);

            List <int> months = new List <int>();

            for (int i = 01; i <= 12; i++)
            {
                months.Add(i);
            }

            List <int> years = new List <int>();

            for (int i = DateTime.Now.Year; i <= DateTime.Now.AddYears(10).Year; i++)
            {
                years.Add(i);
            }

            ViewBag.Month = new SelectList(months);
            ViewBag.Year  = new SelectList(years);

            RechargeViewModel rvm = new RechargeViewModel()
            {
                CurrentCredit = user.Credit,
                CreditCard    = credit
            };

            return(PartialView("_RechargeCreditPartial", rvm));
        }
示例#5
0
        // GET: Mpa/Recharge
        public async Task <ActionResult> Index(TradeInput input)
        {
            RechargeViewModel model = new RechargeViewModel();

            model.Users = await GetUserList();

            model.TradeTypeList = GetTradeType();
            return(View(model));
        }
示例#6
0
        public ActionResult Recharge()
        {
            RechargeViewModel model = new RechargeViewModel()
            {
                RechargeValue = 1, ValueUnit = RechargeValueUnit.GB
            };

            return(View(model));
        }
        public ActionResult Recharge()
        {
            var model = new RechargeViewModel
            {
                CustomerBalances = GetCustomerBalance(),
                RechargeWayList  = RechargeWayList()
            };

            return(View(model));
        }
示例#8
0
        public async Task <PartialViewResult> CreateModal(int?id)
        {
            RechargeViewModel model = new RechargeViewModel();

            var list = await GetUserList();

            model.Users         = list;
            model.TradeTypeList = GetTradeType();

            return(PartialView("_CreateModal", model));
        }
示例#9
0
        public async Task <IActionResult> Recharge(RechargeViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.CampaignId > 0)
                {
                    var campaign = await _campaignService.GetCampaignDetailsByAgency(CurrentUser.Id, model.CampaignId);

                    if (campaign != null)
                    {
                        model.Amount = campaign.Payment.TotalChargeAmount;
                        model.Note   = $"Nạp tiền chiến dịch {campaign.Code}";

                        ViewBag.Campaign = campaign;
                    }
                }

                var r = await _transactionService.CreateTransaction(CurrentUser.Type, CurrentUser.Id, model, CurrentUser.Username);

                if (r > 0)
                {
                    //r = transactionid
                    ViewBag.RechargeModel = model;

                    //########## create notification added by longhk ##########################################################
                    string _msg  = string.Format("Yêu cầu nạp tiền ví đã được gửi bởi {0}, với số tiền {1}. Cần được duyệt", CurrentUser.Username, model.Amount.ToPriceText());
                    string _data = "Transaction";
                    await _INotificationService.CreateNotification(r, EntityType.System, 0, NotificationType.AgencyWalletDeposit, _msg, _data);

                    //#########################################################################################

                    this.AddAlertSuccess("Yêu cầu nạp tiền đã được gửi. Vui lòng chờ quản trị duyệt giao dịch.");
                }
                else if (r == -2)
                {
                    // var tid = await _transactionService.GetCurrentRechargeTransactionId(CurrentUser.Id);
                    ViewBag.Error = $"Bạn vui lòng chờ lệnh Nạp ví trước được duyệt để làm lệnh tiếp theo !";
                }
                else if (r == -3)
                {
                    this.AddAlertDanger($"Số tiền nhập {model.Amount} không chính xác");
                }
                else
                {
                    this.AddAlertDanger("Không tạo được yêu cầu nạp tiền. Vui lòng thử lại");
                }
            }
            else
            {
                this.AddAlertDanger("Thông tin nhập không chính xác");
            }

            return(RedirectToAction("Recharge"));
        }
示例#10
0
 public ActionResult Recharge(RechargeViewModel rechargeViewModel)
 {
     if (ModelState.IsValid)
     {
         if (OperationsService.RechargeBalance(User.CardId, Convert.ToDecimal(rechargeViewModel.Amount)))
         {
             return(RedirectToAction("Index"));
         }
         else
         {
             ModelState.AddModelError("", "Could not recharge current card. Try again!");
         }
     }
     return(View());
 }
示例#11
0
        public async Task <IActionResult> Recharge(RechargeViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.CampaignId > 0)
                {
                    var campaign = await _campaignService.GetCampaignDetailsByAgency(CurrentUser.Id, model.CampaignId);

                    if (campaign != null)
                    {
                        model.Amount = campaign.Payment.TotalChargeAmount;
                        model.Note   = $"Nạp tiền chiến dịch {campaign.Code}";

                        ViewBag.Campaign = campaign;
                    }
                }

                var r = await _transactionService.CreateTransaction(CurrentUser.Type, CurrentUser.Id, model, CurrentUser.Username);

                if (r > 0)
                {
                    ViewBag.RechargeModel = model;
                    ViewBag.Success       = "Yêu cầu nạp tiền đã được gửi. Vui lòng chờ quản trị duyệt giao dịch.";
                }
                else if (r == -2)
                {
                    // var tid = await _transactionService.GetCurrentRechargeTransactionId(CurrentUser.Id);
                    ViewBag.Error = $"Bạn vui lòng chờ lệnh Nạp ví trước được duyệt để làm lệnh tiếp theo !";
                }
                else if (r == -3)
                {
                    ViewBag.Error = $"Số tiền nhập {model.Amount} không chính xác";
                }
                else
                {
                    ViewBag.Error = "Không tạo được yêu cầu nạp tiền. Vui lòng thử lại";
                }
            }
            else
            {
                ViewBag.Error = "Thông tin nhập không chính xác";
            }

            return(PartialView("RechargeMessage"));
        }
示例#12
0
        public ActionResult Recharge(RechargeViewModel rechargeViewModel)
        {
            var errors = ModelState.Values.SelectMany(v => v.Errors);

            if (ModelState.IsValid)
            {
                int    userId = Com.Cos.Common.Public.GetLoginUid();
                string submit = Com.Cos.Common.AlipayHelper.BuildRequest(userId.ToString(), rechargeViewModel.RechargeMethod, rechargeViewModel.Subject);
                return(Content(submit, "text/html"));
            }
            if (rechargeViewModel.Subject == "身家充值")
            {
                return(View("Recharge"));
            }
            else
            {
                return(View("BuyVip"));
            }
        }
        public ActionResult RechargeCredit()
        {
            ApplicationUser user = db.Users.Find(User.Identity.GetUserId());

            CreditCardViewModel credit    = new CreditCardViewModel();
            List <string>       cardsList = new List <string>();

            cardsList.Add("Visa");
            cardsList.Add("Master Card");
            cardsList.Add("American Express");
            cardsList.Add("Discover Network");

            ViewBag.CardTypes = new SelectList(cardsList);

            List <int> months = new List <int>();

            for (int i = 01; i <= 12; i++)
            {
                months.Add(i);
            }

            List <int> years = new List <int>();

            for (int i = DateTime.Now.Year; i <= DateTime.Now.AddYears(10).Year; i++)
            {
                years.Add(i);
            }

            ViewBag.Month = new SelectList(months);
            ViewBag.Year  = new SelectList(years);

            RechargeViewModel rvm = new RechargeViewModel()
            {
                CurrentCredit = user.Credit,
                CreditCard    = credit
            };

            return(View(rvm));
        }
        public async Task <ActionResult> Edit(string id)
        {
            Guid recharge_id = Guid.Parse(id);

            Recharge recharge = await applicationDbContext.Recharges.FirstOrDefaultAsync(x => x.Id == recharge_id);

            if (recharge != null)
            {
                RechargeViewModel model = new RechargeViewModel()
                {
                    DT_RowId  = recharge.Id.ToString(),
                    Name      = recharge.Name,
                    Cost      = recharge.Cost.ToString("#,##0.00"),
                    DateStart = recharge.DateStart.ToString("yyyy-MM-dd hh:mm tt"),
                    DateEnd   = recharge.DateEnd.ToString("yyyy-MM-dd hh:mm tt"),
                    Activated = recharge.Activated
                };

                return(View(model));
            }
            return(RedirectToAction("Index"));
        }
        public async Task <ActionResult> AddAgent(RechargeViewModel model)
        {
            Guid agent_id    = Guid.Parse(model.Agent_Id);
            Guid recharge_id = Guid.Parse(model.DT_RowId);

            RechargeAgent rechargeAgent = await applicationDbContext.RechargeAgents.FirstOrDefaultAsync(x => x.Agent_Id == agent_id && x.Recharge_Id == recharge_id);

            if (rechargeAgent == null)
            {
                rechargeAgent = new RechargeAgent()
                {
                    Id          = Guid.NewGuid(),
                    Recharge_Id = recharge_id,
                    Agent_Id    = agent_id,
                    Cost        = decimal.Parse(model.Agent_Cost.Replace(".", ","))
                };
                applicationDbContext.RechargeAgents.Add(rechargeAgent);
                await applicationDbContext.SaveChangesAsync();
            }

            return(RedirectToAction("View", new { id = model.DT_RowId }));
        }
        public async Task <ActionResult> Edit(RechargeViewModel model)
        {
            if (ModelState.IsValid)
            {
                Guid recharge_id = Guid.Parse(model.DT_RowId);

                Recharge recharge = await applicationDbContext.Recharges.FirstOrDefaultAsync(x => x.Id == recharge_id);

                if (recharge != null)
                {
                    if (model.Activated)
                    {
                        Recharge old_recharge = await applicationDbContext.Recharges.FirstOrDefaultAsync(x => x.Activated && x.Id != recharge_id);

                        if (old_recharge != null)
                        {
                            old_recharge.Activated = false;

                            applicationDbContext.Entry(old_recharge).State = EntityState.Modified;
                        }
                    }

                    recharge.Name      = model.Name;
                    recharge.Activated = model.Activated;
                    recharge.Cost      = decimal.Parse(model.Cost.Replace(".", ","));
                    recharge.DateStart = DateTime.Parse(model.DateStart);
                    recharge.DateEnd   = DateTime.Parse(model.DateEnd);

                    applicationDbContext.Entry(recharge).State = EntityState.Modified;

                    await applicationDbContext.SaveChangesAsync();
                }

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
示例#17
0
        public ActionResult Recharge(RechargeViewModel model)
        {
            RechargeRequest request = new RechargeRequest()
            {
                CreationTime = DateTime.Now,
                RequestID    = Guid.NewGuid(),
                User         = DbContext.Users.Single(u => u.UserName == User.Identity.Name),
            };

            switch (model.ValueUnit)
            {
            case RechargeValueUnit.GB:
                request.Amount = model.RechargeValue * 1024 * 1024 * 1024;
                break;

            case RechargeValueUnit.MB:
                request.Amount = model.RechargeValue * 1024 * 1024;
                break;
            }
            DbContext.RechargeRequests.Add(request);
            DbContext.SaveChanges();
            return(RedirectToAction("Index", new { Message = ManageMessageId.RechargeSuccess }));
        }
        public async Task <ActionResult> Create(RechargeViewModel model)
        {
            if (ModelState.IsValid)
            {
                Guid business_working = Guid.Parse(Session["BusinessWorking"].ToString());

                if (model.Activated)
                {
                    Recharge old_recharge = await applicationDbContext.Recharges.FirstOrDefaultAsync(x => x.Activated);

                    if (old_recharge != null)
                    {
                        old_recharge.Activated = false;

                        applicationDbContext.Entry(old_recharge).State = EntityState.Modified;
                    }
                }

                Recharge recharge = new Recharge()
                {
                    Id          = Guid.NewGuid(),
                    Name        = model.Name,
                    Activated   = model.Activated,
                    Cost        = decimal.Parse(model.Cost.Replace(".", ",")),
                    Business_Id = business_working,
                    DateStart   = DateTime.Parse(model.DateStart),
                    DateEnd     = DateTime.Parse(model.DateEnd)
                };
                applicationDbContext.Recharges.Add(recharge);

                await applicationDbContext.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
示例#19
0
        public async Task <IActionResult> Recharge(RechargeViewModel model)
        {
            if (ModelState.IsValid)
            {
                // LOGIC NEEDED TO MAKE SURE TRANSACTION EXISTS ON PAYPAL
                var user = await userManager.GetUserAsync(User);

                var recharge = new Recharge
                {
                    ResellerId    = user.Id,
                    TransactionId = model.TransactionId,
                    Points        = model.Points
                };

                user.Credit += model.Points;

                await rechargeRepository.Add(recharge);

                await userManager.UpdateAsync(user);

                return(RedirectToAction("Dashboard", "Home"));
            }
            return(View(model));
        }
        public IActionResult Post([FromBody] RechargeCommand rechargeCommands)
        {
            RechargeViewModel rechargeViewModel = _tefService.RealizaTransacao(rechargeCommands);

            return(Ok(rechargeViewModel));
        }
示例#21
0
        public async Task <int> CreateTransaction(EntityType entityType, int entityId, RechargeViewModel model, string username)
        {
            //chua viet can than can review lai -- chi khoi tao transaction - Admin duyet

            var wallet = await _walletRepository.GetWallet(entityType, entityId);

            if (wallet == null)
            {
                return(-1);
            }
            var systemid = await _walletRepository.GetSystemId();

            var transactionId = await _transactionRepository.CreateTransaction(systemid, wallet.Id, model.Amount, TransactionType.WalletRecharge,
                                                                               model.GetTransactionData(), model.Note, username);

            return(transactionId);
        }