// On suppose que designerKey est toujours valide (une contrainte sur la route doit // assurer qu'on n'est bien dans cette situation). private DesignerViewItem GetDesigner_(DesignerKey designerKey, string categoryKey) { var designer = _queries.GetDesigner(designerKey, CultureInfo.CurrentUICulture); var categories = _queries.ListCategories(designerKey); return(DesignerViewItem.Of(designer, categories, categoryKey)); }
public static string PatternContent(this UrlHelper @this, DesignerKey designerKey, string reference, string variant) { Require.Object(@this); return(@this.Content( "~/" + designerKey.ToString() + "/motif-" + reference + "-" + variant + ".jpg")); }
protected override IEnumerable <Pattern> Execute(SqlDataReader reader) { CheckFor.StoredProcedure.Execute(reader); var result = new List <Pattern>(); while (reader.Read()) { var designerKey = DesignerKey.Parse(reader.GetStringUnsafe("designer")); var patternId = new PatternId(designerKey, reader.GetStringUnsafe("reference")); var version = reader.GetStringUnsafe("version"); var pattern = new Pattern(patternId, version) { CategoryKey = reader.GetStringUnsafe("category"), CreationTime = reader.GetDateTimeUnsafe("creation_time"), HasPreview = reader.GetBooleanUnsafe("preview"), LastModifiedTime = reader.GetDateTimeUnsafe("last_modified_time"), Preferred = true, Published = true, Showcased = true, }; result.Add(pattern); } return(result); }
public PreviewPagedList ListPreviews( DesignerKey designerKey, string categoryKey, int pageIndex, int pageSize) { if (pageIndex < 1) { return(null); } // On ne garde que les motifs ayant un aperçu et on ne garde que le préféré. var previews = _queries.ListPatterns(designerKey, categoryKey).Where(_ => _.HasPreview && _.Preferred); var pageCount = CountPage_(previews, pageSize); if (pageIndex > pageCount) { return(null); } var slice = previews .OrderBy(_ => _.Reference) .ThenByDescending(_ => _.LastModifiedTime) .Skip((pageIndex - 1) * pageSize) .Take(pageSize); return(new PreviewPagedList { PageCount = pageCount, PageIndex = pageIndex, Previews = slice }); }
public ListCategoriesQuery(string connectionString, DesignerKey designerKey) : base(connectionString, "usp_ListCategories") { Contract.Requires(!String.IsNullOrEmpty(connectionString)); DesignerKey = designerKey; }
protected override IEnumerable <Designer> Execute(SqlDataReader reader) { CheckFor.StoredProcedure.Execute(reader); var designers = new List <Designer>(); while (reader.Read()) { var designerKey = DesignerKey.Parse(reader.GetStringUnsafe("id")); var designer = new Designer(designerKey) { AvatarCategory = reader.GetStringUnsafe("avatar_category"), AvatarReference = reader.GetStringUnsafe("avatar_reference"), AvatarVersion = reader.GetStringUnsafe("avatar_version"), Email = reader.GetStringUnsafe("email_address"), FirstName = reader.GetStringUnsafe("firstname"), LastName = reader.GetStringUnsafe("lastname"), Nickname = reader.MayGetStringUnsafe("nickname"), Presentation = reader.GetStringUnsafe("presentation"), WebSiteUrl = reader.MayGetStringUnsafe("website").Select(_ => new Uri(_)), }; designers.Add(designer); } return(designers); }
private static string PreviewContent_(UrlHelper urlHelper, DesignerKey designerKey, string reference, string variant, bool absolute) { Require.NotNull(urlHelper, "urlHelper"); var path = "~/" + designerKey.ToString() + "/vignette-" + reference + "-" + variant + ".jpg"; return(absolute ? urlHelper.AbsoluteContent(path) : urlHelper.Content(path)); }
public ListPatternsQuery(string connectionString, DesignerKey designerKey) : base(connectionString, "usp_ListPatterns") { Contract.Requires(connectionString != null); Contract.Requires(connectionString.Length != 0); DesignerKey = designerKey; }
public IEnumerable <Pattern> ListPatterns(DesignerKey designerKey, bool published) { var q = new ListPatternsQuery(_connectionString, designerKey) { Published = published }; return(q.Execute()); }
public IEnumerable <Pattern> ListPatterns(DesignerKey designerKey, string categoryKey) { var q = new ListPatternsQuery(_connectionString, designerKey) { CategoryKey = categoryKey }; return(q.Execute()); }
public IEnumerable <Pattern> GetPatternViews( DesignerKey designerKey, string categoryKey, string reference) { return(_queries .ListPatterns(designerKey, categoryKey) .Where(_ => _.Reference == reference) .OrderByDescending(_ => _.Preferred) .ThenBy(_ => _.Variant)); }
private void SetOpenGraphImage_(DesignerKey designerKey, string reference, string variant) { var imageUrl = new Uri(Url.PreviewContent(designerKey, reference, variant, true /* absolute */)); Ontology.OpenGraph.Image = new OpenGraphJpeg(imageUrl) { Height = Constants.ImageGeometry.PreviewHeight, Width = Constants.ImageGeometry.PreviewWidth, }; }
public GetPatternQuery(string connectionString, DesignerKey designerKey, string reference, string variant) : base(connectionString, "usp_GetPattern") { Contract.Requires(!String.IsNullOrEmpty(connectionString)); DesignerKey = designerKey; Reference = reference; Variant = variant; CommandBehavior = CommandBehavior.CloseConnection | CommandBehavior.SingleRow; }
public GetDesignerQuery(string connectionString, DesignerKey designerKey, CultureInfo culture) : base(connectionString, "usp_GetDesigner") { Contract.Requires(connectionString != null); Contract.Requires(connectionString.Length != 0); _designerKey = designerKey; _culture = culture; CommandBehavior = CommandBehavior.CloseConnection | CommandBehavior.SingleRow; }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { Require.NotNull(controllerContext, "controllerContext"); var value = controllerContext.RouteData.Values["designerKey"]; if (value == null) { return(null); } return(DesignerKey.Parse((string)value)); }
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)); }
public static string Designer(this UrlHelper @this, DesignerKey designerKey, int pageIndex) { Acknowledge.Object(@this); object routeValues; if (pageIndex > 1) { routeValues = new { designerKey = designerKey.ToString(), p = pageIndex }; } else { routeValues = new { designerKey = designerKey.ToString() }; } return(SecureAction(@this, Constants.ActionName.Designer.Index, Constants.ControllerName.Designer, routeValues)); }
public static string Pattern(this UrlHelper @this, DesignerKey designerKey, string categoryKey, string reference, int pageIndex) { Acknowledge.Object(@this); object routeValues; if (pageIndex > 1) { routeValues = new { designerKey = designerKey.ToString(), categoryKey = categoryKey, reference = reference, p = pageIndex }; } else { routeValues = new { designerKey = designerKey.ToString(), categoryKey = categoryKey, reference = reference }; } return(SecureAction(@this, Constants.ActionName.Designer.Pattern, Constants.ControllerName.Designer, routeValues)); }
protected override Maybe <PatternImageQuery> BindCore(HttpRequest request) { var nvc = request.QueryString; return (from designerKey in Maybe.Flatten(nvc.MayGetSingle("designerKey").Select(_ => DesignerKey.MayParse(_))) from reference in nvc.MayGetSingle("reference") from size in (from _ in nvc.MayGetSingle("size") select ParseTo.Enum <PatternImageSize>(_)) let variant = nvc.MayGetSingle("variant") where size.HasValue select new PatternImageQuery { DesignerKey = designerKey, Reference = reference, Size = size.Value, Variant = variant.ValueOrElse(String.Empty), }); }
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)); }
public static string DesignerClass(DesignerKey key) { if (key == DesignerKey.ChristineLégeret) { return(Constants.CssClassName.ChristineLégeret); } else if (key == DesignerKey.EstherMarthi) { return(Constants.CssClassName.EstherMarthi); } else if (key == DesignerKey.LaureRoussel) { return(Constants.CssClassName.LaureRoussel); } else if (key == DesignerKey.VivianeDevaux) { return(Constants.CssClassName.VivianeDevaux); } else { throw new NotSupportedException(); } }
public Uri DesignerPattern(DesignerKey designerKey, string categoryKey, string reference, int pageIndex) { var uri = MakeAbsoluteUri_(designerKey.ToString() + "/" + categoryKey + "/" + reference); return(AddPagination_(uri, pageIndex)); }
public Uri DesignerCategory(DesignerKey designerKey, string categoryKey, int pageIndex) { var uri = MakeAbsoluteUri_(designerKey.ToString() + "/" + categoryKey); return(AddPagination_(uri, pageIndex)); }
public Uri Designer(DesignerKey designerKey, int pageIndex) { var uri = MakeAbsoluteUri_(designerKey.ToString()); return(AddPagination_(uri, pageIndex)); }
public IEnumerable <Category> ListCategories(DesignerKey designerKey) { var q = new ListCategoriesQuery(_connectionString, designerKey); return(q.Execute()); }
public Pattern GetPattern(DesignerKey designerKey, string reference, string variant) { var q = new GetPatternQuery(_connectionString, designerKey, reference, variant); return(q.Execute()); }
public Designer GetDesigner(DesignerKey designerKey, CultureInfo culture) { var q = new GetDesignerQuery(_connectionString, designerKey, culture); return(q.Execute()); }
public IEnumerable <Pattern> ListPatterns(DesignerKey designerKey, bool published) { return(from _ in ListPatterns(designerKey) where _.Published select _); }
public IEnumerable <Pattern> ListPatterns(DesignerKey designerKey, string categoryKey, bool published) { return(from _ in ListPatterns(designerKey) where _.CategoryKey == categoryKey && _.Published select _); }
public IEnumerable <Pattern> ListPatterns(DesignerKey designerKey) { return(_cache.GetOrInsertPatterns(designerKey, _ => _inner.ListPatterns(_))); }