Exemplo n.º 1
0
        public ActionResult Index()
        {
            // Modèle.
            var designers = _queries.ListDesigners(CultureInfo.CurrentUICulture);
            var patterns  = _queries.ListShowcasedPatterns();
            var model     = (from p in patterns
                             join d in designers on p.DesignerKey equals d.Key
                             select PatternViewItem.Of(p, d.DisplayName)).ToList();

            ShuffleList_(model);

            // Ontologie.
            Ontology.Title       = Strings.Home_Index_Title;
            Ontology.Description = Strings.Home_Index_Description;
            Ontology.Relationships.CanonicalUrl = SiteMap.Home();

            // LayoutViewModel.
            LayoutViewModel.AddAlternateUrls(Environment.Language, _ => _.Home());
            if (User.Identity.IsAuthenticated)
            {
                LayoutViewModel.MainHeading = Strings.Home_Index_MainHeading;
            }

            LayoutViewModel.MainMenuCssClass = "index";

            return(View(Constants.ViewName.Home.Index, model));
        }
Exemplo n.º 2
0
        public ActionResult Category(DesignerKey designerKey, string categoryKey, int p = 1)
        {
            // Modèle.
            var pagedList = _patternService.ListPreviews(designerKey, categoryKey, p, PreviewsPageSize_);

            if (pagedList == null)
            {
                return(new HttpNotFoundResult());
            }

            var designer = GetDesigner_(designerKey, categoryKey);
            var category = (from _ in designer.Categories where _.Key == categoryKey select _).Single();

            var model = new CategoryViewModel {
                Category    = category,
                Designer    = designer,
                IsFirstPage = pagedList.IsFirstPage,
                IsLastPage  = pagedList.IsLastPage,
                PageCount   = pagedList.PageCount,
                PageIndex   = pagedList.PageIndex,
                Previews    = from _ in pagedList.Previews select PatternViewItem.Of(_, designer.DisplayName)
            };

            // Ontologie.
            Ontology.Title = String.Format(
                CultureInfo.CurrentUICulture,
                Strings.Designer_Category_TitleFormat,
                model.Category.DisplayName,
                model.Designer.DisplayName);
            Ontology.Description = String.Format(
                CultureInfo.CurrentUICulture,
                Strings.Designer_Category_DescriptionFormat,
                model.Designer.DisplayName,
                model.Category.DisplayName);
            //Ontology.SchemaOrg.ItemType = SchemaOrgType.CollectionPage;
            Ontology.Relationships.CanonicalUrl = SiteMap.DesignerCategory(designerKey, categoryKey, p);

            var image = model.Previews.First();

            SetOpenGraphImage_(designerKey, image.Reference, image.Variant);

            // LayoutViewModel.
            LayoutViewModel.AddAlternateUrls(Environment.Language, _ => _.DesignerCategory(designerKey, categoryKey, p));
            LayoutViewModel.DesignerMenuCssClass = ViewUtility.DesignerClass(designerKey);
            LayoutViewModel.MainHeading          = category.DisplayName;

            return(View(Constants.ViewName.Designer.Category, model));
        }
Exemplo n.º 3
0
        public ActionResult Index(DesignerKey designerKey, int p = 1)
        {
            // Modèle.
            var pagedList = _patternService.ListPreviews(designerKey, p, PreviewsPageSize_);

            if (pagedList == null)
            {
                return(new HttpNotFoundResult());
            }

            var designer = GetDesigner_(designerKey, AllCategoryKey);

            var model = new DesignerViewModel {
                Designer    = designer,
                IsFirstPage = pagedList.IsFirstPage,
                IsLastPage  = pagedList.IsLastPage,
                PageCount   = pagedList.PageCount,
                PageIndex   = pagedList.PageIndex,
                Previews    = from _ in pagedList.Previews select PatternViewItem.Of(_, designer.DisplayName)
            };

            // Ontologie.
            Ontology.Title = String.Format(
                CultureInfo.CurrentUICulture, Strings.Designer_Index_TitleFormat, model.Designer.DisplayName);
            Ontology.Description = String.Format(
                CultureInfo.CurrentUICulture, Strings.Designer_Index_DescriptionFormat, model.Designer.DisplayName);
            Ontology.Relationships.CanonicalUrl = SiteMap.Designer(designerKey, p);

            var image = model.Previews.First();

            SetOpenGraphImage_(designerKey, image.Reference, image.Variant);

            // LayoutViewModel.
            LayoutViewModel.AddAlternateUrls(Environment.Language, _ => _.Designer(designerKey, p));
            LayoutViewModel.DesignerMenuCssClass = ViewUtility.DesignerClass(designerKey);

            return(View(Constants.ViewName.Designer.Index, model));
        }