private void RenderSelection(StringBuilder sb, int index, long selectedValue, string key, CategoryFacet facet, ProductProperty property, List <CategoryFacet> allFacets, CategoryPageViewModel model, List <BreadCrumbItem> extraCrumbs) { string selectedName = string.Empty; var sn = (from c in property.Choices where c.Id == selectedValue select c.ChoiceName).SingleOrDefault(); if (sn != null) { selectedName = sn; extraCrumbs.Add(new BreadCrumbItem() { Name = sn }); ViewBag.MetaDescription += " | " + sn; ViewBag.Title += " | " + sn; } sb.Append("<h6 class=\"filter\">" + property.DisplayName + "</h6> "); string baseUrl = model.LocalCategory.RewriteUrl + "?node=" + CategoryFacetKeyHelper.ClearSelfAndChildrenFromKey(key, allFacets, facet.Id); sb.Append("<ul class=\"filterselected\"><li>"); sb.Append(" <a href=\"" + baseUrl + "\">"); sb.Append(selectedName); sb.Append(" [clear]</a></li></ul>"); }
public CategoryPage() { InitializeComponent(); resources = ResourceLoader.GetForCurrentView(); viewModel = new CategoryPageViewModel(new CategoryService(), new WalletCategoryService(), new RuleService()); DataContext = viewModel; }
public CategoryPage() { this.InitializeComponent(); SizeChanged += CategoryPage_SizeChanged; _viewModel = ServiceLocator.Current.GetInstance <CategoryPageViewModel>(); DataContext = _viewModel; }
private void RenderNonSelection(StringBuilder sb, int index, long selectedValue, string key, CategoryFacet facet, ProductProperty property, List <ProductFacetCount> counts, CategoryPageViewModel model) { sb.Append("<h6 class=\"filter\">" + property.DisplayName + "</h6>"); sb.Append("<ul class=\"filterselections\">"); foreach (ProductPropertyChoice c in property.Choices) { string newKey = CategoryFacetKeyHelper.ReplaceKeyValue(key, index, c.Id); string baseUrl = model.LocalCategory.RewriteUrl + "?node=" + newKey; string sqlKey = CategoryFacetKeyHelper.ParseKeyToSqlList(newKey); ProductFacetCount fc = new ProductFacetCount(); foreach (ProductFacetCount f in counts) { if (f.Key == sqlKey) { fc = f; break; } } if (fc.ProductCount > 0) { sb.Append("<li><a href=\"" + baseUrl + "\">"); sb.Append(c.ChoiceName); sb.Append(" (" + fc.ProductCount.ToString() + ")"); sb.Append("</a></li>"); } } sb.Append("</ul>"); }
public async Task <IActionResult> Category(int id, int page = 1) { var category = (await CategoryService.All()).SingleOrDefault(t => t.ID == id); if (category == null) { return(this.NotFound()); } ViewBag.Title = $"分类:{category.Name}"; int pageSize = SettingModel.TopicsPerPage; var topicList = await TopicService.QueryByCategory(page, pageSize, category.ID); var vm = new CategoryPageViewModel { Category = category, TopicList = new TopicListModel { Data = topicList.Data, PageIndex = page, PageSize = pageSize, Total = topicList.Total } }; return(View(vm)); }
private async Task <IActionResult> GetCatalogActionResultAsync(HttpContext httpContext) { Category category = (await httpContext.GetStorage().GetRepository <int, Category, CategoryFilter>().GetAllAsync( new CategoryFilter(url: httpContext.Request.GetUrl()), inclusions: new Inclusion <Category>[] { new Inclusion <Category>(c => c.Name.Localizations), new Inclusion <Category>(c => c.Description.Localizations), new Inclusion <Category>(c => c.Title.Localizations), new Inclusion <Category>(c => c.MetaDescription.Localizations), new Inclusion <Category>(c => c.MetaKeywords.Localizations) } )).FirstOrDefault(); if (category == null) { return(null); } CategoryPageViewModel catalogPageViewModel = await new CategoryPageViewModelFactory().CreateAsync(httpContext, category); return(new ViewResult() { ViewName = "CategoryPage", ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { Model = catalogPageViewModel } }); }
private string GetViewName(CategoryPageViewModel model) { string[] viewNames = { ModuleViewName, model.LocalCategory.TemplateName }; if (IsConcreteItemModule) { return(viewNames.FirstOrDefault(view => !string.IsNullOrWhiteSpace(view))); } return(viewNames.LastOrDefault(view => !string.IsNullOrWhiteSpace(view))); }
/// <summary> /// Initializes a new instance of the <see cref="CategoryTilePage" /> class. /// </summary> public CategoryTilePage(string selectedCategory) { InitializeComponent(); var categoryDataService = App.MockDataService ? TypeLocator.Resolve <ICategoryDataService>() : DataService.TypeLocator.Resolve <ICategoryDataService>(); BindingContext = new CategoryPageViewModel(categoryDataService, selectedCategory); }
public CategoryPageViewModel BuildCategoryPageViewModel(int id) { var categoryPageViewModel = new CategoryPageViewModel(); categoryPageViewModel.CategoryId = id; categoryPageViewModel.TopMenu = GetCategoryMenu(id); categoryPageViewModel.ItemsConverting(_itemSummaryService.GetItemsByCategoryId(id).ToList()); return(categoryPageViewModel); }
public async Task <IActionResult> Category(string pageName) { if (await this.service.PageAlreadyExistsAsync(pageName)) { var page = await this.service.GetPageAsync(pageName); var model = new CategoryPageViewModel(); model.PageName = page.PageName; model.PageCategory = new PageCategoryViewModel(); var pc = page.Categories.FirstOrDefault(); model.PageCategory.AllHref = pc.AllHref; model.PageCategory.AllName = pc.AllName; model.PageCategory.CategoryName = pc.CategoryName; model.PageCategory.Picture = pc.Pictures.FirstOrDefault().Url; model.PageCategory.ItemsCategories = new List <CategoryPageItemsCategoryViewModel>(); model.Boxes = new List <BoxViewModel>(); foreach (var itemsCategory in pc.ItemsCategories) { var itemCategory = new CategoryPageItemsCategoryViewModel { Category = itemsCategory.Category, Items = new List <PageCategoryItemsViewModel>() }; foreach (var item in itemsCategory.Items) { itemCategory.Items.Add(new PageCategoryItemsViewModel { Text = item.Text, Href = item.Href }); } model.PageCategory.ItemsCategories.Add(itemCategory); } foreach (var item in page.ColorfulBoxes) { model.Boxes.Add(new BoxViewModel { Text = item.Text, Color = item.Color, Href = item.Href }); } return(this.View(model)); } return(this.RedirectToAction("Error", "Home")); }
private void RegisterSocialFunctionality(CategoryPageViewModel model) { ViewBag.UseFaceBook = HccApp.CurrentStore.Settings.FaceBook.UseFaceBook; if (!string.IsNullOrWhiteSpace(model.LocalCategory.Bvin)) { var socialService = HccApp.SocialService; model.SocialItem = socialService.GetCategorySocialItem(model.LocalCategory); RenderFacebookMetaTags(model); } }
public async Task <IActionResult> Category([FromRoute] string id, int page = 1) { var genre = await this.genreRepository.GetByIdAsync(id); var genreViewModel = this.objectMapper.Map <Genre, GenreViewModel>(genre); var books = await this.GetBooksByCategoryPage(id, page); var categoryViewModel = new CategoryPageViewModel { Genre = genreViewModel, Books = books }; return(View(categoryViewModel)); }
public async Task <IActionResult> BooksByCategoryList([FromRoute] string id, [FromQuery] int page) { var genre = await this.genreRepository.GetByIdAsync(id); var genreViewModel = this.objectMapper.Map <Genre, GenreViewModel>(genre); var books = await this.GetBooksByCategoryPage(id, page); var categoryViewModel = new CategoryPageViewModel { Genre = genreViewModel, Books = books }; return(PartialView("Book/_BookByCategoryPagePartial", categoryViewModel)); }
public async Task <IActionResult> Index(string id, int?page) { var currentUser = await this.userManager.GetUserAsync(this.User); var pageNumber = page ?? 1; var posts = await this.categoryService.ExtractPostsByCategoryId(id, currentUser); CategoryPageViewModel model = new CategoryPageViewModel { Category = await this.categoryService.ExtractCategoryById(id), Posts = posts.ToPagedList(pageNumber, GlobalConstants.BlogPostsOnPage), }; return(this.View(model)); }
protected override void OnNavigatedTo(NavigationEventArgs e) { // The name of the group is passed in via the event args, which we can use to construct a view model. var category = (CategoryKind)Enum.Parse(typeof(CategoryKind), (string)e.Parameter); ViewModel = CategoryPageViewModel.CreateFromCategoryKind( category, App.Current.Logger, App.Current.NavigationService, App.Current.ThreadDispatcher, App.Current.RegistryReadService, App.Current.RegistryWriteService); SettingsGroupNavigationView.ViewModel = ViewModel.Navigation; }
public IActionResult Index(int category_id) { CategoryPageViewModel model = new CategoryPageViewModel() { Categories = _categoryLogic.GetAll().Select(c => new CategoryViewModel { Id = c.CategoryId, Name = c.Name }).ToList(), Posts = _postLogic.GetAllPostsByCategory(category_id).Select(c => new PostViewModel { Title = c.Title, Content = c.Content, PostId = c.PostId, AuraAmount = c.Aura.Amount, PostDate = c.PostDate, UserName = c.User.Name, CategoryName = c.Category.Name }).ToList(), CategoryName = _categoryLogic.GetCategoryById(category_id).Name, }; return(View(model)); }
private void RegisterSocialFunctionality(CategoryPageViewModel model) { ViewBag.UseFaceBook = HccApp.CurrentStore.Settings.FaceBook.UseFaceBook; if (!string.IsNullOrWhiteSpace(model.LocalCategory.Bvin)) { var socialService = HccApp.SocialService; socialService.SaveCategoryToJournal(model.LocalCategory); // Obsolete in 3.0 - may need to consider adding back in a future release, if integrating with Evoq Social again //model.SocialItem = socialService.GetCategorySocialItem(model.LocalCategory); RenderFacebookMetaTags(model); } }
public MainWindowViewModel( ExercisesPageViewModel exercisesPage, MusclesPageViewModel musclesPage, TrainingLogPageViewModel trainingLogPage, ProgressPageViewModel progressPage, UserPreferencesPageViewModel userPreferencesPage, CategoryPageViewModel categoryPage ) { ExercisesPage = exercisesPage; MusclesPage = musclesPage; TrainingLogPage = trainingLogPage; ProgressPage = progressPage; UserPreferencesPage = userPreferencesPage; CategoryPage = categoryPage; }
public async Task FetchOnce() { // When not in cache, make sure it is fetched and updated in the cache. var ds = new dummyScreen(); var ms = new myMeetingListRef(); var dc = new dummyCache(); var t = new CategoryPageViewModel(ds, ms, dc); await TestUtils.SpinWait(() => dc.NumberTimesInsertCalled >= 1, 1000); var item = await dc.GetObject <IMeetingRefExtended[]>(ms.UniqueString); Assert.IsNotNull(item); Assert.AreEqual(2, item.Length); Assert.AreEqual("meeting1", item[0].Title); Assert.AreEqual("meeting2", item[1].Title); }
public ActionResult Index(string q) { // Initial Setup ViewBag.Title = SiteTerms.GetTerm(SiteTermIds.Search); ViewBag.MetaTitle = ViewBag.Title + " | " + q; ViewBag.MetaDescription = ViewBag.MetaTitle; ViewBag.BodyClass = "store-search-page"; ViewBag.GoButtonUrl = MTApp.ThemeManager().ButtonUrl("Go", Request.IsSecureConnection); ViewBag.q = q; // Pager Vars int pageNumber = GetPageNumber(); int pageSize = 9; int totalItems = 0; // Do Search CategoryPageViewModel model = new CategoryPageViewModel(); SearchManager manager = new SearchManager(); List <SearchObject> objects = manager.DoSearch(MTApp.CurrentStore.Id, q, pageNumber, pageSize, ref totalItems); List <string> ids = new List <string>(); foreach (SearchObject o in objects) { switch (o.ObjectType) { case (int)SearchManagerObjectType.Product: ids.Add(o.ObjectId); break; } } List <Product> products = MTApp.CatalogServices.Products.FindMany(ids); // Save to Model model.Products = PrepProducts(products); model.PagerData.PageSize = pageSize; model.PagerData.TotalItems = totalItems; model.PagerData.CurrentPage = pageNumber; model.PagerData.PagerUrlFormat = Url.Content("~/search?q=" + HttpUtility.UrlEncode(q) + "&p={0}"); model.PagerData.PagerUrlFormatFirst = Url.Content("~/search?q=" + HttpUtility.UrlEncode(q)); return(View(model)); }
public ViewResult Category(string category) { int pageIndex = PageIndex.HasValue ? PageIndex.Value : 1; int pageSize = 24; if (WebContext.Current.RecipeCategories.ContainsKey(category)) { CategoryDto categoryDto = WebContext.Current.RecipeCategories[category]; IEnumerable <SubjectInfoDto> result = Service.GetSubjectsByCategory(categoryDto.Id, CmsRegister.RECIPE_TEMPLATE_ID, pageIndex, pageSize, CurrentLanguage.Id); CategoryPageViewModel model = new CategoryPageViewModel(categoryDto.CategoryText, result, HttpContext.Request.Url, pageIndex, pageSize, CurrentLanguage); model.Populate(); return(View(model)); } else { return(null); } }
private void LoadSubCategories(CategoryPageViewModel model) { model.SubCategories = new List <SingleCategoryViewModel>(); var children = HccApp.CatalogServices.Categories.FindVisibleChildren(model.LocalCategory.Bvin); foreach (var snap in children) { var cat = new SingleCategoryViewModel { LinkUrl = UrlRewriter.BuildUrlForCategory(snap), IconUrl = DiskStorage.CategoryIconUrl(HccApp, snap.Bvin, snap.ImageUrl, Request.IsSecureConnection), AltText = snap.Name, Name = snap.Name, LocalCategory = snap }; model.SubCategories.Add(cat); } }
public ActionResult Index(Domain.Category currentContent) { var breadcrumb = _breadcrumbService.GenerateBreadCrumb(currentContent); var categories = _contentLoader.GetChildren <Domain.Category>(currentContent.ContentLink) .ToList(); if (categories.Any()) { var categoryItems = categories .Select(x => new CategoryItemViewModel(x)) .ToList(); var categoryViewModel = new CategoryPageViewModel(currentContent) { Categories = categoryItems }; categoryViewModel.Breadcrumb = breadcrumb; //TODO: Add view path return(View("~/Features/Catalog/Category/Presentation/Views/Index.cshtml", categoryViewModel)); } var products = _contentLoader.GetChildren <GenericProduct>(currentContent.ContentLink) .Select(_categoryFactory.BuildProductItem) .Where(x => x.MinPrice != 0) .ToList(); var viewModel = new CategoryPageViewModel(currentContent) { Products = products }; viewModel.Breadcrumb = breadcrumb; return(View("~/Features/Catalog/Category/Presentation/Views/Index.cshtml", viewModel)); }
private void RenderFacebookMetaTags(CategoryPageViewModel model) { if (ViewBag.UseFaceBook) { var faceBookAdmins = HccApp.CurrentStore.Settings.FaceBook.Admins; var faceBookAppId = HccApp.CurrentStore.Settings.FaceBook.AppId; var sb = new StringBuilder(); sb.Append("<!-- FaceBook OpenGraph Tags -->"); sb.AppendFormat("<meta property=\"og:title\" content=\"{0}\"/>", PageTitle); sb.Append("<meta property=\"og:type\" content=\"product\"/>"); sb.AppendFormat("<meta property=\"og:url\" content=\"{0}\"/>", ViewBag.CurrentUrl); sb.AppendFormat("<meta property=\"og:image\" content=\"{0}\"/>", model.LocalCategory.ImageUrl); sb.AppendFormat("<meta property=\"og:site_name\" content=\"{0}\" />", ViewBag.StoreName); sb.AppendFormat("<meta property=\"fb:admins\" content=\"{0}\" />", faceBookAdmins); sb.AppendFormat("<meta property=\"fb:app_id\" content=\"{0}\" />", faceBookAppId); RenderToHead("FaceBookMetaTags", sb.ToString()); } }
private void LoadProducts(CategoryPageViewModel model, int productPageSize) { var cat = model.LocalCategory; var pageNumber = GetPageNumber(); var pageSize = productPageSize <= 0 ? 9 : productPageSize; var totalItems = 0; var sortOrder = GetSort(cat); var products = HccApp.CatalogServices. FindProductForCategoryWithSort(cat.Bvin, sortOrder, false, pageNumber, pageSize, ref totalItems); model.Products = products.Select(p => new SingleProductViewModel(p, HccApp)).ToList(); model.PagerData.PageSize = pageSize; model.PagerData.TotalItems = totalItems; model.PagerData.CurrentPage = pageNumber; model.PagerData.PagerUrlFormat = BuildUrlForCategory(cat, HttpUtility.HtmlEncode("{0}"), new { sort = (int)sortOrder }); model.PagerData.PagerUrlFormatFirst = BuildUrlForCategory(cat, null, new { sort = (int)sortOrder }); model.SortSelectList = LoadSortSelectList(cat, sortOrder); }
private void RenderFacebookMetaTags(CategoryPageViewModel model) { if (ViewBag.UseFaceBook) { var faceBookAdmins = HccApp.CurrentStore.Settings.FaceBook.Admins; var faceBookAppId = HccApp.CurrentStore.Settings.FaceBook.AppId; var canonicalUrl = HccUrlBuilder.RouteHccUrl(HccRoute.Category, new { slug = model.LocalCategory.RewriteUrl.ToLower() }); var sb = new StringBuilder(); sb.AppendFormat(Constants.TAG_CANONICAL, canonicalUrl); sb.AppendFormat(Constants.TAG_OGTITLE, PageTitle); sb.Append(Constants.TAG_OGTYPE); sb.AppendFormat(Constants.TAG_OGURL, canonicalUrl); sb.AppendFormat(Constants.TAG_OGIMAGE, model.LocalCategory.ImageUrl); sb.AppendFormat(Constants.TAG_OGSITENAME, ViewBag.StoreName); sb.AppendFormat(Constants.TAG_OGFBADMIN, faceBookAdmins); sb.AppendFormat(Constants.TAG_OGFBAPPID, faceBookAppId); RenderToHead("FaceBookMetaTags", sb.ToString()); } }
public CategoryPage(CategoryPageViewModel categoryPageViewModel) { InitializeComponent(); _categoryPageViewModel = categoryPageViewModel; this.DataContext = categoryPageViewModel; }
private void IndexSetup(CategoryPageViewModel model) { SetViewBugs(model.LocalCategory); SetPageMetaData(model.LocalCategory); RegisterSocialFunctionality(model); }
public CreateCategoryPage(CategoryPageViewModel vM) { InitializeComponent(); BindingContext = _vM = vM; }
public void CTor() { var ds = new dummyScreen(); var ms = new myMeetingListRef(); var t = new CategoryPageViewModel(ds, ms); }