public static PagerModel ToPagerModel <T>(GetListResult <T> model, string linkFormat) where T : class { return(new PagerModel { CurrentPage = model.GetCurrentPageNumber(), LinkFormat = linkFormat, PagesCount = model.GetPagesCount(), PageSize = model.Count.Value, }); }
public async Task <GetListResult <WebAppRequestContextLogWithUserModel> > GetLogs <TUser>(WebAppRequestContextLogsSearch model) where TUser : class, ICrocoUser { var startDate = DateTime.Now; var query = Query <WebAppRequestContextLog>() .BuildQuery(model.GetCriterias()) .OrderBy(x => x.StartedOn); var step1 = (DateTime.Now - startDate).TotalMilliseconds; var joinedQuery = from log in query join user in Query <TUser>() on log.UserId equals user.Id into joinedUser from userOrEmpty in joinedUser.DefaultIfEmpty() select new { Log = log, UserOrEmpty = userOrEmpty, }; var res = await GetListResult <WebAppRequestContextLogWithUserModel> .GetAsync(model, joinedQuery.OrderBy(x => x.Log.StartedOn), a => new WebAppRequestContextLogWithUserModel { Log = new WebAppRequestContextLogModel { Id = a.Log.Id, FinishedOn = a.Log.FinishedOn, ParentRequestId = a.Log.ParentRequestId, RequestId = a.Log.RequestId, StartedOn = a.Log.StartedOn, Uri = a.Log.Uri, UserId = a.Log.UserId }, User = a.UserOrEmpty != null ? new UserNameAndEmailModel { Id = a.UserOrEmpty.Id, Email = a.UserOrEmpty.Email, Name = a.UserOrEmpty.Name } : null }); var step3 = (DateTime.Now - startDate).TotalMilliseconds; return(res); }
public static Task <IHtmlContent> RenderPaginationAsync <T>(this IHtmlHelper htmlHelper, GetListResult <T> model, string linkFormat) where T : class { return(htmlHelper.PartialAsync("~/Views/Components/Pagination.cshtml", PagerModel.ToPagerModel(model, linkFormat))); }