public async Task <IActionResult> AddAward() { List <Award> awards = await _awardLogic.GetAwardsAsync(); if (User.IsInRole("User")) { ViewBag.Awards = new SelectList(awards .Where(a => a.AwardType == AwardType.Thanks) .Select(a => a.AwardTitle) .OrderBy(a => a) .ToArray()); } else { ViewBag.Awards = new SelectList(awards .Select(a => a.AwardTitle) .OrderBy(a => a) .ToArray()); } List <User> users = await _userLogic.GetUsersAsync(); var recepients = users .Where(u => u.Email != User.Identity.Name && u.Status != Status.Special) .Select(u => u.Email) .OrderBy(u => u) .ToArray(); string[] usersFrom; if (User.IsInRole("User")) { usersFrom = users .Where(u => u.Email == User.Identity.Name) .Select(u => u.Email) .OrderBy(u => u) .ToArray(); } else { usersFrom = users .Where(u => u.Email == User.Identity.Name || u.Status == Status.Special) .Select(u => u.Email) .OrderBy(u => u) .ToArray(); } ViewBag.Recepients = new SelectList(recepients); ViewBag.UsersFrom = new SelectList(usersFrom); AddAwardModel model = new AddAwardModel { FromEmail = usersFrom.FirstOrDefault(u => u == User.Identity.Name) }; return(PartialView("_AddAwardPartial", model)); }
public async Task <IActionResult> AddAward(AddAwardModel model) { if (ModelState.IsValid) { UserAward userAward = new UserAward(); userAward.AwardReceived = new Award { AwardTitle = model.AwardTitle }; userAward.User = new User { Email = model.RecepientEmail }; userAward.Description = model.Description; userAward.FromUser = new User { Email = model.FromEmail }; await _userAwardLogic.AddAwardAsync(userAward); } List <Award> awards = await _awardLogic.GetAwardsAsync(); if (User.IsInRole("User")) { ViewBag.Awards = new SelectList(awards .Where(a => a.AwardType == AwardType.Thanks) .Select(a => a.AwardTitle) .OrderBy(a => a) .ToArray()); } else { ViewBag.Awards = new SelectList(awards .Select(a => a.AwardTitle) .OrderBy(a => a) .ToArray()); } List <User> users = await _userLogic.GetUsersAsync(); var recepients = users .Where(u => u.Email != User.Identity.Name && u.Status != Status.Special) .Select(u => u.Email) .OrderBy(u => u) .ToArray(); string[] usersFrom; if (User.IsInRole("User")) { usersFrom = users .Where(u => u.Email == User.Identity.Name) .Select(u => u.Email) .OrderBy(u => u) .ToArray(); } else { usersFrom = users .Where(u => u.Email == User.Identity.Name || u.Status == Status.Special) .Select(u => u.Email) .OrderBy(u => u) .ToArray(); } ViewBag.Recepients = new SelectList(recepients); ViewBag.UsersFrom = new SelectList(usersFrom); return(PartialView("_AddAwardPartial", model)); }