Пример #1
0
        public static IGridWithOptions<Thread> BasicThreadGrid(this HtmlHelper htmlHelper, SortableGridModel<Thread> model, Func<Thread, ActionResult> detailsActionResult)
        {
            var grid = htmlHelper.Grid(model.Data);

            grid.Empty(Resources.Global.GridEmptyText);

            grid.Columns(column =>
                         {
                             column.For(t => htmlHelper.ActionLink(t.Name, detailsActionResult(t)));
                                 //column.For(t => t.Category.Name).Named(Resources.Thread.ThreadCategory).SortColumnName(
                                 //    ThreadOrder.Category).SortInitialDirection(SortDirection.Ascending);
                                 //column.For(t => t.Posts.Count - 1).Named(Resources.Thread.ThreadNumberOfReplies).
                                 //    SortColumnName(ThreadOrder.PostCount).SortInitialDirection(SortDirection.Ascending);
                                 column.For(t => t.Posts.First().CreationDate.ToTimeSinceFormat()).Named(
                                     Resources.Thread.ThreadCreateDate).SortColumnName(ThreadOrder.CreationDate).
                                     SortInitialDirection(SortDirection.Descending);
                                 column.For(t => t.State.Describe(Resources.Thread.ResourceManager)).Named(
                                     Resources.Thread.ThreadState).SortColumnName(ThreadOrder.State).
                                     SortInitialDirection(SortDirection.Ascending);
                                 //column.For(t => t.Priority.Describe(Resources.Thread.ResourceManager)).Named(
                                 //    Resources.Thread.ThreadPriority).SortColumnName(ThreadOrder.Priority).
                                 //    SortInitialDirection(SortDirection.Descending);
                                 //column.For(t => t.Verbosity.Describe(Resources.Thread.ResourceManager)).Named(
                                 //    Resources.Thread.ThreadVerbosity).SortColumnName(ThreadOrder.Verbosity).
                                 //    SortInitialDirection(SortDirection.Ascending);
                             });

            grid.Sort(model.SortOptions);

            return grid;
        }
Пример #2
0
        public virtual ActionResult EventsLog([QueryParameter]int? page = null, [QueryParameter] int? threadId = null)
        {
            TODO: //do wyciepki threadId -> zdarzenia specyficznego threada sa w widoku dla tegóż wątku

            Func<IQueryable<Event>, IQueryable<Event>> query = null;
            /*if (threadId.HasValue)
                query = e => e.ByThread(threadId.Value);*/

            query = e => e.ByHideOnMainList(false);

            var logs = Repository.Event.Find(PagerHelper.PageSize, page ?? 1, query, e => e.OccurenceDate, false, e => e.IsHandled);
            var count = Repository.Event.Count(query);
            var pagination = PagerHelper.Pagination(page, count);
            var model = new SortableGridModel<Event> { Data = logs, Pagination = pagination };

            return View(model);
        }
Пример #3
0
        public static IGridWithOptions<User> UserGrid(this HtmlHelper htmlHelper, SortableGridModel<User> model)
        {
            var grid = htmlHelper.Grid(model.Data);

            grid.Empty(Resources.Administration.UserGridEmptyText);

            grid.Columns(column =>
                             {
                                 column.For(u => u.Email).Named(Resources.Administration.UserEmail).SortColumnName(
                                     UserOrder.Email).SortInitialDirection(SortDirection.Ascending);
                                 column.For(u => u.CreationDate).Named(Resources.Administration.UserCreationDate).
                                     SortColumnName(UserOrder.CreationDate).SortInitialDirection(
                                         SortDirection.Descending);
                                 column.For(
                                     u =>
                                     htmlHelper.ActionLink(u.IsExpert ? u.Expert.PublicName : "brak", u.IsExpert ? MVC.Profile.ExpertOverview(u.Expert.Id, u.Expert.Categories.First().Id) : MVC.Administration.UserList(model.SortOptions, 1)))
                                     .Named("Wizytówka eksperta");
                             }
                );

            grid.Sort(model.SortOptions);

            return grid;
        }
Пример #4
0
        //chats overview
        public static IGridWithOptions<ChatMessage> ChatsDetailsGrid(this HtmlHelper htmlHelper, SortableGridModel<ChatMessage> model)
        {
            var grid = htmlHelper.Grid(model.Data);

            grid.Empty(Resources.Global.GridEmptyText);

            grid
                .Columns(column =>
                {
                    column.For(c => c.CreationDate.ToTimeSinceFormat()).Named(Resources.Administration.ChatDetailsCreationDateColumn);
                    column.For(c => c.GetMessageAuthorName()).Named(Resources.Administration.ChatDetailsAuthorColumn);
                    column.For(c => c.Text).Named(Resources.Administration.ChatDetailsTextColumn);
                });
                

            return grid;
        }
Пример #5
0
        //chats overview
        public static IGridWithOptions<Chat> ChatsOverviewGrid(this HtmlHelper htmlHelper, SortableGridModel<Chat> model, bool moderatorMode, int? clientChatId = null)
        {
            var grid = htmlHelper.Grid(model.Data);

            grid.Empty(Resources.Global.ChatEmptyGrid);

            grid
                .Columns(column =>
                {
                    if (moderatorMode)
                    {
                        column.For(c => c.Id.ToString()).Named(Resources.Administration.ChatIdColumn);
                        column.For(c => c.GetOwnerPublicName()).Named(Resources.Administration.ChatsOwnerColumn)
                            .SortColumnName(ChatsOverviewOrder.Owner).SortInitialDirection(SortDirection.Descending);
                    }

                    column.For(c => c.GetPublicModeratorName()).Named(Resources.Administration.ChatModeratorColumn)
                        .SortColumnName(ChatsOverviewOrder.Moderator).SortInitialDirection(SortDirection.Descending);
                    column.For(c => c.CreationDate.ToTimeSinceFormat()).Named(Resources.Administration.ChatCreationDateColumn)
                        .SortColumnName(ChatsOverviewOrder.CreationDate).SortInitialDirection(SortDirection.Descending);
                    column.For(c => c.LastModificationDate.ToTimeSinceFormat()).Named(Resources.Administration.ChatLastModificationDateColumn)
                        .SortColumnName(ChatsOverviewOrder.LastModificationDate).SortInitialDirection(SortDirection.Descending);

                    if (moderatorMode)
                        column.For(c => c.Messages.Count).Named(Resources.Administration.ChatNoOfMassegesColumn);
                })
                .RowAttributes(c => new Dictionary<string, object>
                                        {
                                            {"class", c.Item.AttentionObligatory(moderatorMode, clientChatId) ? "not-viewed" : null},
                                            {"data-chatId", c.Item.Id},
                                            {"data-isClosed", c.Item.IsClosed || (clientChatId.HasValue && clientChatId != c.Item.Id) }
                                        });

            return grid;
        }
Пример #6
0
        //balance
        public static IGridWithOptions<Transfer> BalanceGrid(this HtmlHelper htmlHelper, SortableGridModel<Transfer> model)
        {
            var grid = htmlHelper.Grid(model.Data);

            grid.Empty(Resources.Global.GridEmptyText);

            grid.Columns(column =>
            {
                column.For(t => t.OrderDate.ToTimeSinceFormat()).Named(Resources.Account.BalanceOrderDateColumn).SortColumnName(
                   BalanceOrder.OrderDate).SortInitialDirection(SortDirection.Descending);
                column.For(t => t.TransferDate.ToTimeSinceFormat()).Named(Resources.Account.BalanceTransferDateColumn).SortColumnName(
                   BalanceOrder.TransferDate).SortInitialDirection(SortDirection.Descending);
                column.For(t => t.Title).Named(Resources.Account.BalanceTitleColumn).SortColumnName(
                   BalanceOrder.Title).SortInitialDirection(SortDirection.Descending);
                column.For(t => t.Value).Named(Resources.Account.BalanceValueColumn).SortColumnName(
                   BalanceOrder.Value).SortInitialDirection(SortDirection.Descending);
            });

            grid.Sort(model.SortOptions);

            return grid;
        }
Пример #7
0
        //seokeyword
        public static IGridWithOptions<SEOKeyword> BasicSeoKeywordGrid(this HtmlHelper htmlHelper, SortableGridModel<SEOKeyword> model, Func<SEOKeyword, ActionResult> detailsActionResult)
        {
            var grid = htmlHelper.Grid(model.Data);

            grid.Empty(Resources.Global.GridEmptyText);

            grid.Columns(column =>
            {
                    column.For(k => htmlHelper.ActionLink(k.Phrase, detailsActionResult(k))).Named(Resources.Catalog.Keyword_Phrase).SortColumnName(SeoKeywordOrder.Phrase).SortInitialDirection(
                        SortDirection.Descending);
                    column.For(k => k.Category.Name).Named(Resources.Catalog.Keyword_Category).SortColumnName(SeoKeywordOrder.Category).SortInitialDirection(
                        SortDirection.Descending);
            }
            );

            grid.Sort(model.SortOptions);

            return grid;
        }