Esempio n. 1
0
        public ActionResult Search(string format, string q, int?start, int?max)
        {
            EnsureInRange(ref start, ref max);

            q = q.NullSafe();

            FeedViewData model = CreateViewData(start.Value, max.Value);

            model.Title       = "{0} - Wyniki wyszukiwania dla {1}".FormatWith(Settings.SiteTitle.HtmlEncode(), q.HtmlEncode());
            model.Description = model.Title;
            model.Url         = Url.RouteUrl("Search", new { q });

            if (!string.IsNullOrEmpty(q))
            {
                try
                {
                    PagedResult <IStory> pagedStories = _storyRepository.Search(q, start.Value, max.Value);

                    model.Stories         = pagedStories.Result;
                    model.TotalStoryCount = pagedStories.Total;
                }
                catch (Exception e)
                {
                    Log.Exception(e);
                }
            }

            return(new FeedResult(model, format));
        }
Esempio n. 2
0
        public FeedResult(FeedViewData model, string format)
        {
            Check.Argument.IsNotNull(model, "model");

            _model  = model;
            _format = format;

            _ns = model.RootUrl;
        }
Esempio n. 3
0
        public ActionResult PostedBy(string format, string name, int?start, int?max)
        {
            EnsureInRange(ref start, ref max);

            Guid   userId   = name.ToGuid();
            string userName = string.Empty;

            FeedViewData model = CreateViewData(start.Value, max.Value);

            if (!userId.IsEmpty())
            {
                try
                {
                    IUser user = UserRepository.FindById(userId);

                    if (user != null)
                    {
                        userName = user.UserName;

                        PagedResult <IStory> pagedStories = _storyRepository.FindPostedByUser(user.Id, start.Value, max.Value);

                        model.Stories         = pagedStories.Result;
                        model.TotalStoryCount = pagedStories.Total;
                    }
                }
                catch (Exception e)
                {
                    Log.Exception(e);
                }
            }

            model.Title       = "{0} - Artykuły dodane przez użytkownika {1}".FormatWith(Settings.SiteTitle.HtmlEncode(), userName.HtmlEncode());
            model.Description = model.Title;

            model.Url = Url.RouteUrl("User", new { name, tab = UserDetailTab.Posted });

            return(new FeedResult(model, format));
        }
Esempio n. 4
0
        public ActionResult Upcoming(string format, int?start, int?max)
        {
            EnsureInRange(ref start, ref max);

            FeedViewData model = CreateViewData(start.Value, max.Value);

            model.Title       = "{0} - Nadchodzące artykuły".FormatWith(Settings.SiteTitle.HtmlEncode());
            model.Description = model.Title;
            model.Url         = Url.RouteUrl("Upcoming");

            try
            {
                PagedResult <IStory> pagedStories = _storyRepository.FindUpcoming(start.Value, max.Value);

                model.Stories         = pagedStories.Result;
                model.TotalStoryCount = pagedStories.Total;
            }
            catch (Exception e)
            {
                Log.Exception(e);
            }

            return(new FeedResult(model, format));
        }
Esempio n. 5
0
        public ActionResult Category(string format, string name, int?start, int?max)
        {
            EnsureInRange(ref start, ref max);

            name = name.NullSafe();

            FeedViewData model = CreateViewData(start.Value, max.Value);

            model.Title       = "{0} - Ostatnio opublikowane artykuły w {1}".FormatWith(Settings.SiteTitle.HtmlEncode(), name.HtmlEncode());
            model.Description = model.Title;

            if (!string.IsNullOrEmpty(name))
            {
                try
                {
                    ICategory category = _categoryRepository.FindByUniqueName(name);

                    if (category != null)
                    {
                        PagedResult <IStory> pagedStories = _storyRepository.FindPublishedByCategory(category.Id, start.Value, max.Value);

                        model.Stories         = pagedStories.Result;
                        model.TotalStoryCount = pagedStories.Total;
                        name = category.UniqueName;
                    }
                }
                catch (Exception e)
                {
                    Log.Exception(e);
                }
            }

            model.Url = Url.Action("Category", "Story", new { name });

            return(new FeedResult(model, format));
        }
Esempio n. 6
0
        public ActionResult Tags(string format, string name, int?start, int?max)
        {
            EnsureInRange(ref start, ref max);

            name = name.NullSafe();

            FeedViewData model = CreateViewData(start.Value, max.Value);

            model.Title       = "{0} - Artykuły z tagiem {1}".FormatWith(Settings.SiteTitle.HtmlEncode(), name.HtmlEncode());
            model.Description = model.Title;

            if (!string.IsNullOrEmpty(name))
            {
                try
                {
                    ITag tag = _tagRepository.FindByUniqueName(name) ?? _tagRepository.FindByName(name);

                    if (tag != null)
                    {
                        PagedResult <IStory> pagedStories = _storyRepository.FindByTag(tag.Id, start.Value, max.Value);

                        model.Stories         = pagedStories.Result;
                        model.TotalStoryCount = pagedStories.Total;
                        name = tag.UniqueName;
                    }
                }
                catch (Exception e)
                {
                    Log.Exception(e);
                }
            }

            model.Url = Url.Action("Tags", "Story", new { name });

            return(new FeedResult(model, format));
        }