//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)); }