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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 4
0
        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));
        }