Пример #1
0
        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();
            }
        }
Пример #2
0
        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;
        }
Пример #3
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));
        }
Пример #4
0
        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));
        }