예제 #1
0
        public ActionResult Publishable(int?page)
        {
            StoryListViewData viewData = CreateStoryListViewData <StoryListViewData>(page);

            viewData.Title           = "{0} - Do opublikowania".FormatWith(Settings.SiteTitle);
            viewData.MetaDescription = "Do opublikowania";
            viewData.Subtitle        = "Do opublikowania";

            if (!IsCurrentUserAuthenticated || !CurrentUser.CanModerate())
            {
                viewData.NoStoryExistMessage = "Nie masz uprawnieñ do przegl¹dania artyku³ów do opublikowania.";
            }
            else
            {
                DateTime currentTime = SystemTime.Now();
                DateTime minimumDate = currentTime.AddHours(-Settings.MaximumAgeOfStoryInHoursToPublish);
                DateTime maximumDate = currentTime.AddHours(-Settings.MinimumAgeOfStoryInHoursToPublish);

                PagedResult <IStory> pagedResult = _storyRepository.FindPublishable(minimumDate, maximumDate, PageCalculator.StartIndex(page, Settings.HtmlStoryPerPage), Settings.HtmlStoryPerPage);

                viewData.Stories         = pagedResult.Result;
                viewData.TotalStoryCount = pagedResult.Total;

                viewData.NoStoryExistMessage = "Brak artyku³ów do apublikowania.";
            }

            return(View("List", viewData));
        }
예제 #2
0
        public ActionResult Publishable(int?page)
        {
            StoryListViewData viewData = CreateStoryListViewData <StoryListViewData>(page);

            viewData.Title           = "{0} - Publishable stories".FormatWith(Settings.SiteTitle);
            viewData.MetaDescription = "Publishable stories";
            viewData.Subtitle        = "Publishable";

            if (!IsCurrentUserAuthenticated || !CurrentUser.CanModerate())
            {
                viewData.NoStoryExistMessage = "You do not have the privilege to view publishable stories.";
            }
            else
            {
                DateTime currentTime = SystemTime.Now();
                DateTime minimumDate = currentTime.AddHours(-Settings.MaximumAgeOfStoryInHoursToPublish);
                DateTime maximumDate = currentTime.AddHours(-Settings.MinimumAgeOfStoryInHoursToPublish);

                PagedResult <IStory> pagedResult = _storyRepository.FindPublishable(minimumDate, maximumDate, PageCalculator.StartIndex(page, Settings.HtmlStoryPerPage), Settings.HtmlStoryPerPage);

                viewData.Stories         = pagedResult.Result;
                viewData.TotalStoryCount = pagedResult.Total;

                viewData.NoStoryExistMessage = "No publishable story exists.";
            }

            return(View("List", viewData));
        }
예제 #3
0
        public static string UserStoryListPager(this HtmlHelper helper, UserDetailTab selectedTab)
        {
            StoryListViewData viewData = (StoryListViewData)helper.ViewContext.ViewData.Model;

            helper.ViewContext.RouteData.Values["tab"] = selectedTab;

            return(Pager(helper, "User", null, null, helper.ViewContext.RouteData.Values, "page", true, viewData.PageCount, 10, 2, viewData.CurrentPage));
        }
예제 #4
0
        public ActionResult Published(int?page)
        {
            StoryListViewData    viewData    = CreateStoryListViewData <StoryListViewData>(page);
            PagedResult <IStory> pagedResult = _storyRepository.FindPublished(PageCalculator.StartIndex(page, Settings.HtmlStoryPerPage), Settings.HtmlStoryPerPage);

            viewData.Stories         = pagedResult.Result;
            viewData.TotalStoryCount = pagedResult.Total;

            viewData.Title               = "{0} - Najnowsze artyku³y o .NET".FormatWith(Settings.SiteTitle);
            viewData.RssUrl              = string.IsNullOrEmpty(Settings.PublishedStoriesFeedBurnerUrl) ? Url.RouteUrl("FeedPublished") : Settings.PublishedStoriesFeedBurnerUrl;
            viewData.AtomUrl             = Url.RouteUrl("FeedPublished", new { format = "Atom" });
            viewData.Subtitle            = "Wszystkie";
            viewData.NoStoryExistMessage = "Brak opublikowanych artyku³ów.";

            return(View("List", viewData));
        }
예제 #5
0
        public ActionResult Upcoming(int?page)
        {
            StoryListViewData    viewData    = CreateStoryListViewData <StoryListViewData>(page);
            PagedResult <IStory> pagedResult = _storyRepository.FindUpcoming(PageCalculator.StartIndex(page, Settings.HtmlStoryPerPage), Settings.HtmlStoryPerPage);

            viewData.Stories         = pagedResult.Result;
            viewData.TotalStoryCount = pagedResult.Total;

            viewData.Title               = "{0} - Upcoming stories".FormatWith(Settings.SiteTitle);
            viewData.MetaDescription     = "Upcoming stories";
            viewData.RssUrl              = string.IsNullOrEmpty(Settings.UpcomingStoriesFeedBurnerUrl) ? Url.RouteUrl("FeedUpcoming") : Settings.UpcomingStoriesFeedBurnerUrl;
            viewData.AtomUrl             = Url.RouteUrl("FeedUpcoming", new { format = "Atom" });
            viewData.Subtitle            = "Upcoming";
            viewData.NoStoryExistMessage = "No upcoming story exists.";

            return(View("List", viewData));
        }
예제 #6
0
        public ActionResult Tags(string name, int?page)
        {
            name = name.NullSafe();

            if (string.IsNullOrEmpty(name))
            {
                return(RedirectToRoute("Published"));
            }

            ITag tag = _tagRepository.FindByUniqueName(name);

            if (tag == null)
            {
                ThrowNotFound("Tag nie istnieje.");
            }

            StoryListViewData viewData   = CreateStoryListViewData <StoryListViewData>(page);
            string            uniqueName = name;

            if (tag != null)
            {
                PagedResult <IStory> pagedResult = _storyRepository.FindByTag(tag.Id, PageCalculator.StartIndex(page, Settings.HtmlStoryPerPage), Settings.HtmlStoryPerPage);

                viewData.Stories         = pagedResult.Result;
                viewData.TotalStoryCount = pagedResult.Total;

                name       = tag.Name;
                uniqueName = tag.UniqueName;
            }

            viewData.Title               = "{0} - Artyku³y z tagiem {1}".FormatWith(Settings.SiteTitle, name);
            viewData.MetaDescription     = "Artyku³y z tagiem {0}".FormatWith(name);
            viewData.RssUrl              = Url.Action("Tags", "Feed", new { name = uniqueName });
            viewData.AtomUrl             = Url.Action("Tags", "Feed", new { name = uniqueName, format = "Atom" });
            viewData.Subtitle            = name.HtmlEncode();
            viewData.NoStoryExistMessage = "Brak artyku³ów z \"{0}\".".FormatWith(name.HtmlEncode());

            return(View("List", viewData));
        }
예제 #7
0
        public ActionResult Category(string name, int?page)
        {
            name = name.NullSafe();

            if (string.IsNullOrEmpty(name))
            {
                return(RedirectToRoute("Published"));
            }

            ICategory category = _categoryRepository.FindByUniqueName(name);

            if (category == null)
            {
                ThrowNotFound("Kategoria nie istnieje.");
            }

            StoryListViewData viewData   = CreateStoryListViewData <StoryListViewData>(page);
            string            uniqueName = name;

            if (category != null)
            {
                PagedResult <IStory> pagedResult = _storyRepository.FindPublishedByCategory(category.Id, PageCalculator.StartIndex(page, Settings.HtmlStoryPerPage), Settings.HtmlStoryPerPage);
                viewData.Stories         = pagedResult.Result;
                viewData.TotalStoryCount = pagedResult.Total;

                name       = category.Name;
                uniqueName = category.UniqueName;
            }

            viewData.Title               = "{0} - Najnowsze artyku³y o .NET w dziale {1}".FormatWith(Settings.SiteTitle, name);
            viewData.MetaDescription     = "Najnowsze artyku³y o .NET w dziale {0}".FormatWith(name);
            viewData.RssUrl              = Url.Action("Category", "Feed", new { name = uniqueName });
            viewData.AtomUrl             = Url.Action("Category", "Feed", new { name = uniqueName, format = "Atom" });
            viewData.Subtitle            = name.HtmlEncode();
            viewData.NoStoryExistMessage = "Brak opublikowanych artyku³ów w \"{0}\".".FormatWith(name.HtmlEncode());

            return(View("List", viewData));
        }
예제 #8
0
        public ActionResult Unapproved(int?page)
        {
            StoryListViewData viewData = CreateStoryListViewData <StoryListViewData>(page);

            viewData.Title           = "{0} - Niezatwierdzone artyku³y".FormatWith(Settings.SiteTitle);
            viewData.MetaDescription = "Niezatwierdzone artyku³y";
            viewData.Subtitle        = "Niezatwierdzone";

            if (!IsCurrentUserAuthenticated || !CurrentUser.CanModerate())
            {
                viewData.NoStoryExistMessage = "Nie masz uprawnieñ do przegl¹dania niezatwierdzonych artyku³ów.";
            }
            else
            {
                PagedResult <IStory> pagedResult = _storyRepository.FindUnapproved(PageCalculator.StartIndex(page, Settings.HtmlStoryPerPage), Settings.HtmlStoryPerPage);

                viewData.Stories         = pagedResult.Result;
                viewData.TotalStoryCount = pagedResult.Total;

                viewData.NoStoryExistMessage = "Brak niezatwierdzonych artyku³ów.";
            }

            return(View("List", viewData));
        }
예제 #9
0
        public ActionResult Unapproved(int?page)
        {
            StoryListViewData viewData = CreateStoryListViewData <StoryListViewData>(page);

            viewData.Title           = "{0} - Unapproved stories".FormatWith(Settings.SiteTitle);
            viewData.MetaDescription = "Unapproved stories";
            viewData.Subtitle        = "Unapproved";

            if (!IsCurrentUserAuthenticated || !CurrentUser.CanModerate())
            {
                viewData.NoStoryExistMessage = "You do not have the privilege to view unapproved stories.";
            }
            else
            {
                PagedResult <IStory> pagedResult = _storyRepository.FindUnapproved(PageCalculator.StartIndex(page, Settings.HtmlStoryPerPage), Settings.HtmlStoryPerPage);

                viewData.Stories         = pagedResult.Result;
                viewData.TotalStoryCount = pagedResult.Total;

                viewData.NoStoryExistMessage = "No unapproved story exists.";
            }

            return(View("List", viewData));
        }
예제 #10
0
        public static string StoryListPager(this HtmlHelper helper)
        {
            StoryListViewData viewData = (StoryListViewData)helper.ViewContext.ViewData.Model;

            return(Pager(helper, null, null, null, helper.ViewContext.RouteData.Values, "page", true, viewData.PageCount, 10, 2, viewData.CurrentPage));
        }