예제 #1
0
        public IActionResult ChangeSetBox(SetBoxDetailModel model)
        {
            var card = _cardService.GetCurrentUserCard(_userManager.GetUserId(HttpContext.User));

            if (card == null)
            {
                return(NotFound());
            }
            if (_setBoxRequest.CheckAlreadyApplied(card.CardNumber))
            {
                return(View("AlreadyApplied"));
            }

            if (ModelState.IsValid)
            {
                var request = new NewSetBoxRequest()
                {
                    Setbox = _SetBoxService.GetById(model.Id),
                    Card   = card,
                    Status = _statusService.GetByName("Pending")
                };

                _setBoxRequest.Add(request);
                TempData["SetBoxChanged"]    = "success";
                TempData["SetBoxChangedMsg"] = "Your Request has been sent.";
                ModelState.Clear();
                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> Create([Bind("Id,OwnerName,ContactNumber,Address,CardNumber,SubscribeDate", "PackageId", "SetBoxId")] CardAddModel model)
        {
            if (ModelState.IsValid)
            {
                CustomerCard customerCard = new CustomerCard()
                {
                    Address       = model.Address,
                    SubscribeDate = model.SubscribeDate,
                    CardNumber    = model.CardNumber,
                    ContactNumber = model.ContactNumber,
                    OwnerName     = model.OwnerName,
                    Package       = await _context.Packages.FirstOrDefaultAsync(p => p.Id == model.PackageId),
                    SetBox        = await _context.SetBoxes.FirstOrDefaultAsync(s => s.Id == model.SetBoxId)
                };
                await _context.CustomerCards.AddAsync(customerCard);

                CustomerPackage cp = new CustomerPackage
                {
                    CustomerCard   = customerCard,
                    NumberOfMonths = 0,
                    ExpirationDate = DateTime.Now,
                    Package        = await _context.Packages.FirstOrDefaultAsync(p => p.Id == model.PackageId),
                    Status         = await _context.Status.SingleOrDefaultAsync(s => s.Name == "Recharged")
                };
                await _context.CustomerPackages.AddAsync(cp);

                NewSetBoxRequest request = new NewSetBoxRequest()
                {
                    Card   = customerCard,
                    Setbox = await _context.SetBoxes.FirstOrDefaultAsync(s => s.Id == model.SetBoxId),
                    Status = await _context.Status.SingleOrDefaultAsync(s => s.Name == "AdminApproved")
                };
                await _context.NewSetBoxRequest.AddAsync(request);

                var Subscriber = await _context.NewSubscribes.
                                 Include(s => s.Package).
                                 Include(s => s.SetBox).
                                 SingleOrDefaultAsync(s => s.Id == model.Id);

                _context.Update(Subscriber);
                Subscriber.Status = await _context.Status.FirstOrDefaultAsync(st => st.Name == "AdminApproved");

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
예제 #3
0
 public void Update(NewSetBoxRequest request)
 {
     _con.Update(request);
     _con.SaveChanges();
 }
예제 #4
0
 public void Remove(NewSetBoxRequest request)
 {
     _con.Remove(request);
     _con.SaveChanges();
 }
예제 #5
0
 public void Add(NewSetBoxRequest newRequest)
 {
     _con.Add(newRequest);
     _con.SaveChanges();
 }