Example #1
0
        //pagina cu tombola
        public async Task <IActionResult> IndexAsync()
        {
            var userId          = _userManager.GetUserId(HttpContext.User);
            var noofprizes      = numberOfPrizes();
            var noofticketsleft = numberOfTicketsLeft();
            var prizes          = await _context.Prizes.Where(x => x.active == true).ToListAsync();

            var userprizes = await _context.UserPrizes.Where(x => x.userId == userId).Where(x => x.claimed == false).ToListAsync();

            //din user prizes se face o lista de obiecte tip ->nume premiu, cod premiue
            List <PrizesViewModel> unclaimedprizes = new List <PrizesViewModel>();

            foreach (var prize in userprizes)
            {
                PrizesViewModel uc   = new PrizesViewModel();
                var             name = await _context.Prizes.Where(x => x.Id == prize.prizeId).Select(x => x.name).FirstOrDefaultAsync();

                uc.name = name;
                uc.code = prize.code;
                unclaimedprizes.Add(uc);
            }

            PrizePageViewModel model = new PrizePageViewModel();

            model.prizes          = prizes;
            model.noofticketsleft = noofticketsleft;
            model.noofprizes      = noofprizes;
            model.unclaimedprizes = unclaimedprizes;

            return(View(model));
        }
        public async Task <IActionResult> Detail(string id)
        {
            UserViewModel model = new UserViewModel();

            var user = await _context.Users.Include(x => x.UserPrizes).ThenInclude(p => p.prize).FirstOrDefaultAsync(x => x.Id == id);

            model.id          = user.Id;
            model.FirstName   = user.FirstName;
            model.LastName    = user.LastName;
            model.PhoneNumber = user.PhoneNumber;
            model.Email       = user.Email;

            List <PrizesViewModel> plist = new List <PrizesViewModel>();

            if (user.UserPrizes != null)
            {
                foreach (var prize in user.UserPrizes)
                {
                    PrizesViewModel p = new PrizesViewModel();
                    p.id      = prize.Id;
                    p.code    = prize.code;
                    p.name    = prize.prize.name;
                    p.claimed = prize.claimed;
                    plist.Add(p);
                }
            }
            model.userprizes = plist;



            if (user == null)
            {
                ViewBag.ErrorMessage = "Nu a fost găsit utilizatorul!";
                return(View());
            }
            if (TempData["SuccesMessage"] != null)
            {
                ViewBag.SuccesMessage = TempData["SuccesMessage"];
            }

            if (TempData["ErrorMessage"] != null)
            {
                ViewBag.ErrorMessage = TempData["ErrorMessage"];
            }
            return(View(model));
        }