public ActionResult ViewArticlesBySeries(string seriesSlug)
        {
            var series = SeriesModel.GetSeriesBySlug(seriesSlug);

            if (series == null)
            {
                return(HttpNotFound());
            }

            return(View(Views.Articles.Index, new ArticlesIndexViewModel(series)));
        }
Beispiel #2
0
 public EditSeriesViewModel(string slug)
 {
     if (slug != null)
     {
         this.Series = SeriesModel.GetSeriesBySlug(slug);
     }
     else
     {
         this.Series = new SeriesModel();
     }
 }
        public ActionResult ViewArticlesBySeriesAndMonth(int year, int month, string seriesSlug)
        {
            var date   = new DateTime(year, month, 1);
            var series = SeriesModel.GetSeriesBySlug(seriesSlug);

            if (series == null)
            {
                return(HttpNotFound());
            }

            return(View(Views.Articles.Index, new ArticlesIndexViewModel(series, date)));
        }
Beispiel #4
0
        public ActionResult ViewRecentArticlesBySeriesAndCount(string slug, int count = 8)
        {
            if (count > 100)
            {
                return(ErrorStatus(HttpStatusCode.BadRequest, "Count cannot be greater than 100"));
            }

            var articles = ArticleModel.GetRecentArticlesBySeries(slug, count);

            if (IsEmpty(articles))
            {
                return(ErrorStatus(HttpStatusCode.NotFound, SeriesModel.GetSeriesBySlug(slug) == null ? "Invalid Series" : "No articles found"));
            }

            return(FormatOutput(articles));
        }
Beispiel #5
0
        public ActionResult ViewArticlesBySeriesAndDate(string slug, int year, int month)
        {
            DateTime date;

            try
            {
                date = new DateTime(year, month, 1);
            }
            catch (ArgumentOutOfRangeException)
            {
                return(ErrorStatus(HttpStatusCode.BadRequest, "Invalid date"));
            }
            var articles = ArticleModel.GetSeriesArticlesByMonth(slug, date);

            if (IsEmpty(articles))
            {
                return(ErrorStatus(HttpStatusCode.NotFound, SeriesModel.GetSeriesBySlug(slug) == null ? "Invalid Series" : "No articles found"));
            }

            return(FormatOutput(articles));
        }