public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) { if (string.IsNullOrEmpty(parameterName)) { throw new ArgumentNullException("parameterName"); } if (values == null) { throw new ArgumentNullException("values"); } var extractor = new AlbumRouteValueExtractor(values); int? photoItem = extractor.ExtractInt(parameterName); string slug = extractor.ExtractString(_slugParameterName); int? year = extractor.ExtractInt(_yearParameterName); if (photoItem == null || photoItem <= 0 || slug == null || year == null) { return false; } Album album = _albumService.GetAlbum(year.Value, slug); if (album == null) { return false; } return photoItem <= album.PhotoCount; }
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) { if (string.IsNullOrEmpty(parameterName)) { throw new ArgumentNullException("parameterName"); } if (values == null) { throw new ArgumentNullException("values"); } var extractor = new AlbumRouteValueExtractor(values); string slug = extractor.ExtractString(parameterName); int? year = extractor.ExtractInt(_yearParameterName); if (slug == null || year == null) { return false; } return _albumService.GetAlbumSlugs(year.Value).Contains(slug); }
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) { if (string.IsNullOrEmpty(parameterName)) { throw new ArgumentNullException("parameterName"); } if (values == null) { throw new ArgumentNullException("values"); } var extractor = new AlbumRouteValueExtractor(values); int?photoItem = extractor.ExtractInt(parameterName); string slug = extractor.ExtractString(_slugParameterName); int?year = extractor.ExtractInt(_yearParameterName); if (photoItem == null || photoItem <= 0 || slug == null || year == null) { return(false); } Album album = _albumService.GetAlbum(year.Value, slug); if (album == null) { return(false); } return(photoItem <= album.PhotoCount); }
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) { if (string.IsNullOrEmpty(parameterName)) { throw new ArgumentNullException("parameterName"); } if (values == null) { throw new ArgumentNullException("values"); } var extractor = new AlbumRouteValueExtractor(values); string slug = extractor.ExtractString(parameterName); int?year = extractor.ExtractInt(_yearParameterName); if (slug == null || year == null) { return(false); } return(_albumService.GetAlbumSlugs(year.Value).Contains(slug)); }