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; }
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); }
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; }
//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; }
//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; }
//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; }
//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; }