public ViewResult Details(int id) { RewardCategory selectedCategory = null; IEnumerable<RewardCategory> categoriesAll = GetRewardCategories(); RewardDetailsViewModel viewModel = new RewardDetailsViewModel(); RewardModel rewardModel = new RewardsService().GetRewardDetails(id); viewModel.Reward = rewardModel; var numOfImages = 0; if (rewardModel.ImageId != null) { numOfImages++; } if (rewardModel.Image2Id != null) { numOfImages++; } if (rewardModel.Image3Id != null) { numOfImages++; } if (rewardModel.Image4Id != null) { numOfImages++; } viewModel.ShowSlider = numOfImages > 1; var rewardCategories = categoriesAll as IList<RewardCategory> ?? categoriesAll.ToList(); // Reward category is not one of main categories var mainCategories = rewardCategories.Where(c => c.ParentId == 0).ToList(); if (mainCategories.All(c => c.Id != rewardModel.CategoryId)) { var cat = rewardCategories.First(c => c.Id == rewardModel.CategoryId); viewModel.SelectedCategory = rewardCategories.FirstOrDefault(c => c.Id == cat.ParentId); } else // Reward category is one of main categories { viewModel.SelectedCategory = rewardCategories.FirstOrDefault(c => c.Id == rewardModel.CategoryId); } viewModel.Categories = mainCategories; return View(viewModel); }
public ActionResult Index(int? instId, string category = null, int page = 1, string sortBy = "popular", string filter = "") { LayoutViewModel.ActiveLink = Links.Rewards; RewardsListModel rewardsModel; //Auspost doesn't have dropdown var privateClientId = ConfigurationManager.AppSettings["PrivateClientId"] == null ? 5 : int.Parse(ConfigurationManager.AppSettings["PrivateClientId"]); if (LayoutViewModel.Instance_Id == privateClientId) { //Melbourne is considered as default council and selected for auspost by default rewards view var defaultClientId = ConfigurationManager.AppSettings["DefaultClientId"] == null ? 1 : int.Parse(ConfigurationManager.AppSettings["DefaultClientId"]); instId = SetDefaultCouncil(Request, instId, defaultClientId); rewardsModel = new RewardsService().GetRewards(instId, null, sortBy, category, filter, page, 10); } else { instId = SetDefaultCouncil(Request, instId, LayoutViewModel.Instance_Id); rewardsModel = new RewardsService().GetRewards(instId, privateClientId, sortBy, category, filter, page, 10); } SortByEnum selectedSortByEnum = EnumUtils.ConvertStringToEnum<SortByEnum>(sortBy); RewardCategory selectedCategory = null; IEnumerable<RewardCategory> categoriesAll = GetRewardCategories(); List<RewardCategory> subCategories = null; var categories = categoriesAll as IList<RewardCategory> ?? categoriesAll.ToList(); var rewardCategories = categoriesAll as IList<RewardCategory> ?? categories.ToList(); if (category != null && categoriesAll != null) { selectedCategory = rewardCategories.FirstOrDefault(c => c.Slug.Equals(category, StringComparison.OrdinalIgnoreCase)); //If subcategory is selected mark parent as selected category if (selectedCategory != null) { if (selectedCategory.ParentId != 0) { subCategories = categories.Where(c => selectedCategory != null && c.ParentId == selectedCategory.ParentId).ToList(); var subCategoryAsSelected = subCategories.FirstOrDefault(c => selectedCategory != null && c.Id == selectedCategory.Id); if (subCategoryAsSelected != null) subCategoryAsSelected.IsSelected = true; selectedCategory = categoriesAll.FirstOrDefault(c => selectedCategory.ParentId != null && c.Id == (int)selectedCategory.ParentId); } else { subCategories = categories.Where(c => selectedCategory != null && c.ParentId == selectedCategory.Id).ToList(); } } } RewardsViewModel viewModel = new RewardsViewModel { Rewards = rewardsModel.RewardsList, InstanceId = instId, ShowDropdownCity = true, Page = rewardsModel.Page, NumPages = rewardsModel.NumPages, NumRewards = rewardsModel.NumRewards, SortBy = sortBy, SortByText = EnumUtils.GetDescription(selectedSortByEnum), Category = selectedCategory, SubCategories = subCategories, Categories = rewardCategories.Where(c => c.ParentId == 0).ToList(), Filter = filter }; return View(viewModel); }
private IEnumerable<RewardCategory> GetRewardCategories() { List<RewardCategory> rewardsCategories = new RewardsService().GetRewardCategories(); return rewardsCategories; }
public ActionResult VoucherHtml(Guid id, int? rewardId) { //Dummy voucher if (id == new Guid()) { var viewModelDummy = new VoucherHtmlViewModel(); RewardModel rewardModel = new RewardsService().GetRewardDetails((int)rewardId); viewModelDummy.VoucherModel = new VoucherModel { Issued = DateTime.Now, RewardModel = rewardModel, UserFirstName = "First name", UserLastName = "Last name" }; return View("Voucher", viewModelDummy); } VoucherModel voucher = new RewardsService().GetVoucher(id); VoucherHtmlViewModel viewModel = new VoucherHtmlViewModel(); viewModel.VoucherModel = voucher; return View("Voucher", viewModel); }