public async Task PopulateGetObjectives(ObjectivesIndexViewModel model, List <String> destNames) { if (User.Identity.IsAuthenticated) { model.LoggedInUser = await objectiveService.GetCurrentUser(); } if (User.Identity.IsAuthenticated && User.IsInRole("Admin")) { model.FullNavList = CreateObjectivesAdminNavList(destNames); } else { model.FullNavList = CreateObjectivesNavList(destNames); } if (model.Objectives != null) { List <SelectedTagMapping> tagMappings = new List <SelectedTagMapping>(); foreach (Tag tag in objectiveService.GetTags()) { if (model.Objectives.Any(o => o.Product.HasTag(tag))) { tagMappings.Add(new SelectedTagMapping(tag, false)); } } model.SelectedTagMappings = tagMappings.OrderBy(t => t.StoreTag.TagName).ToList(); } }
public async Task PopulatePostObjectives(ObjectivesIndexViewModel model, List <String> destNames) { model.LoggedInUser = await objectiveService.GetCurrentUser(); if (User.Identity.IsAuthenticated && User.IsInRole("Admin")) { model.FullNavList = CreateObjectivesAdminNavList(destNames); } else { model.FullNavList = CreateObjectivesNavList(destNames); } if (model.Objectives != null) { if (model.FilterLibrary && User.Identity.IsAuthenticated) { model.PreviousFilterLibrary = !model.PreviousFilterLibrary; if (model.PreviousFilterLibrary && HttpContext.User.Identity.IsAuthenticated) { AppUser user = await objectiveService.GetCurrentUser(); if (user.OwnedGames != null) { model.Objectives = model.Objectives.Where(o => o.Product == null || user.OwnsProduct(o.Product)).ToList(); } } } model.FilterLibrary = false; } foreach (SelectedTagMapping mapping in model.SelectedTagMappings) { if (model.TagToChange == mapping.StoreTag.TagID) { mapping.IsSelected = !mapping.IsSelected; } mapping.StoreTag = objectiveService.GetTagByID(mapping.StoreTag.TagID); if (mapping.IsSelected && model.Objectives != null) { model.Objectives = model.Objectives.Where(o => o.Product.HasTag(mapping.StoreTag)).ToList(); } } model.TagToChange = 0; }
public async Task <ActionResult> Index(ObjectivesIndexViewModel model) { model.MiscObjectives = objectiveService.GetObjectives().Where(o => o.IsActive && o.Product == null).OrderBy(o => o.Title).ToList(); model.Objectives = objectiveService.GetObjectives().Where(o => o.IsActive && o.Product != null).OrderBy(o => o.Title).ToList(); List <String> destNames = new List <String>() { indexDestName }; await PopulatePostObjectives(model, destNames); model.FormName = "Index"; model.FormID = ""; ModelState.Clear(); return(View(model)); }
public async Task <ActionResult> Boosted() { ObjectivesIndexViewModel model = new ObjectivesIndexViewModel(); model.MiscObjectives = objectiveService.GetObjectives().Where(o => o.IsActive && o.BoostedObjective != null && o.Product == null).ToList(); model.Objectives = objectiveService.GetObjectives().Where(o => o.IsActive && o.BoostedObjective != null && o.Product != null).ToList(); List <String> destNames = new List <String>() { boostedDestName }; await PopulateGetObjectives(model, destNames); model.FormName = "Boosted"; model.FormID = ""; return(View("Index", model)); }