public BaseTableViewModel <ModelAlbum> GetAlbumList(TableFilterModel data, Language lang) { var result = new BaseTableViewModel <ModelAlbum>(); using (var db = new DataContext()) { var query = db.AlbumLanguages.Include(x => x.Album) .Where(x => x.LanguageId == lang.Id && x.Album.ParentId == null) .OrderByDescending(x => x.Album.CreateDate).ToList(); var countRow = query.Count(); result.CountPage = data.PageSize != 0 ? (int)(Math.Ceiling(countRow / (decimal)data.PageSize)) : 1; var currentPage = result.CountPage < data.CurrentPage - 1 ? result.CountPage : data.CurrentPage - 1; result.CountItems = countRow; result.List = query.Skip(data.PageSize * (currentPage)).Take(data.PageSize).ToList() .Select(x => new ModelAlbum() { Id = x.AlbumId, Name = x.Name, Descrition = x.Descrition, CreateDate = x.Album.CreateDate, PhotoName = x.Album.PhotoName }).ToList(); return(result); } }
public void MultipleOrderDataSet(TableFilterModel tableFilterPayload) { tableFilterPayload.MultiSortMeta.Select((value, i) => new { i, value }).ToList().ForEach(o => { switch (o.value.Order) { case (int)SortingEnumeration.OrderByAsc: if (o.i == 0) { _linqOperator.OrderBy(o.value.Field.FirstCharToUpper()); } else { _linqOperator.ThenBy(o.value.Field.FirstCharToUpper()); } break; case (int)SortingEnumeration.OrderByDesc: if (o.i == 0) { _linqOperator.OrderByDescending(o.value.Field.FirstCharToUpper()); } else { _linqOperator.ThenByDescending(o.value.Field.FirstCharToUpper()); } break; default: throw new System.ArgumentException("Invalid Sort Order!"); } }); }
public async Task <ActionResult <List <LogLineModel> > > GetAll([FromQuery] TableFilterModel filterModel, CancellationToken cancellationToken) { var filderDataModel = this.mapper.Map <TableFilterDataModel>(filterModel); var logLinesData = await this.logLineService.GetAll(filderDataModel, cancellationToken); return(this.mapper.Map <List <LogLineModel> >(logLinesData)); }
public static IEnumerable <T> PrimengTableFilter <T>(this IEnumerable <T> dataSet, TableFilterModel tableFilterPayload, out int totalRecord) { var resultSet = dataSet.AsQueryable(); resultSet = resultSet.PrimengTableFilter(tableFilterPayload, out totalRecord); return(resultSet.AsEnumerable()); }
// GET: Gallery public ActionResult Index(TableFilterModel data) { var model = new ModelGallery() { Seo = MainServices.Modules.GetCurrentPageSeo(CurrentLang.Id, EnumSitePage.Gallery), //Albums = MainServices.Albums.GetAlbumList(data,CurrentLang), Videos = MainServices.Albums.GetGalleryVideos(CurrentLang) }; return(View(model)); }
public JsonResult GetNewsList(TableFilterModel data) { try { var listPage = MainServices.News.GetNewsList(data, CurrentLang); return(Json(listPage)); } catch (Exception ex) { return(Json(new { Result = "ERROR", ex.Message })); } }
public void SingleOrderDataSet(TableFilterModel tableFilterPayload) { switch (tableFilterPayload.SortOrder) { case (int)SortingEnumeration.OrderByAsc: _linqOperator.OrderBy(tableFilterPayload.SortField.FirstCharToUpper()); break; case (int)SortingEnumeration.OrderByDesc: _linqOperator.OrderByDescending(tableFilterPayload.SortField.FirstCharToUpper()); break; default: throw new System.ArgumentException("Invalid Sort Order!"); } }
public IActionResult Index([FromBody] TableFilterModel tableFilterPayload) { var totalRecord = 0; var result = _webBoardRepository .Gets() .Select(o => new WebBoardViewModel { No = o.No, Question = o.Question, Email = o.Email, Name = o.Name }) .PrimengTableFilter(tableFilterPayload, ref totalRecord); return(Ok(new GenericResponseViewModel <List <WebBoardViewModel> >(totalRecord, result.ToList()))); }
public static IQueryable <T> PrimengTableFilter <T>(this IQueryable <T> dataSet, TableFilterModel tableFilterPayload, out int totalRecord) { ITableFilterManager <T> tableFilterManager = new TableFilterManager <T>(dataSet); if (tableFilterPayload.Filters != null && tableFilterPayload.Filters.Any()) { foreach (var filterContext in tableFilterPayload.Filters) { var filterPayload = filterContext.Value.ToString(); var filterToken = JToken.Parse(filterPayload); switch (filterToken) { case JArray _: { var filters = filterToken.ToObject <List <TableFilterContext> >(); tableFilterManager.FiltersDataSet(filterContext.Key, filters); break; } case JObject _: { var filter = filterToken.ToObject <TableFilterContext>(); tableFilterManager.FilterDataSet(filterContext.Key, filter); break; } } } tableFilterManager.ExecuteFilter(); } if (!string.IsNullOrEmpty(tableFilterPayload.SortField)) { tableFilterManager.SingleOrderDataSet(tableFilterPayload); } if (tableFilterPayload.MultiSortMeta != null && tableFilterPayload.MultiSortMeta.Any()) { tableFilterManager.MultipleOrderDataSet(tableFilterPayload); } dataSet = tableFilterManager.GetResult(); totalRecord = dataSet.Count(); dataSet = dataSet.Skip(tableFilterPayload.First).Take(tableFilterPayload.Rows); return(dataSet); }
public BaseTableViewModel <ModelNews> GetNewsList(TableFilterModel data, Language lang) { var result = new BaseTableViewModel <ModelNews>(); using (var db = new DataContext()) { var query = db.NewsLanguages.Include(x => x.News) .Where(x => x.LanguageId == lang.Id).OrderByDescending(x => x.News.CreateDate).ToList(); var countRow = query.Count(); result.CountPage = data.PageSize != 0 ? (int)(Math.Ceiling(countRow / (decimal)data.PageSize)) : 1; var currentPage = result.CountPage < data.CurrentPage - 1 ? result.CountPage : data.CurrentPage - 1; result.CountItems = countRow; result.List = query.Skip(data.PageSize * (currentPage)).Take(data.PageSize).ToList() .Select(x => ConverToModelNews(x)).ToList(); return(result); } }