public static IEnumerable <T> ProcessCollection(IEnumerable <T> lstElements, DataTablePostModel dataTableModel) { var skip = dataTableModel.start; var pageSize = dataTableModel.length; if (dataTableModel.order != null) { if (dataTableModel.order[0].column.ToString() != null) { var columnName = dataTableModel.columns[dataTableModel.order[0].column].data; var sortDirection = dataTableModel.order[0].dir.ToLower(); if (columnName != null) { var order = CreateGetter(typeof(T), columnName); if (sortDirection == "asc") { lstElements = lstElements.OrderBy(o => order(o)); } else { lstElements = lstElements.OrderByDescending(o => order(o)); } if (pageSize > 0) { return(lstElements.Skip(skip).Take(pageSize)); } else { return(lstElements); } } } } return(null); }
public IActionResult Index(DataTablePostModel dataTablePostModel) { var model = db.Album.Select(q => new DataTableAlbumList { Id = q.Id, Name = q.Name }); var Albums = DataTableProcessor <DataTableAlbumList> .ProcessCollection(model, dataTablePostModel).ToList(); return(View()); }
public async Task <IActionResult> GetTransactions(DataTablePostModel <TransactionFilterCriteria> model) { var count = model.Length > MaxTxsPerFilterPage ? MaxTxsPerFilterPage : model.Length; var data = await _transactionQuery.GetTransactionsFilteredAsync(model.FilterCriteria, model.Start, count, true, 1000); var response = new { RecordsFiltered = data.ResultCount, Data = data.Results }; return(Ok(response)); }
public async Task <IActionResult> GetAddresses(DataTablePostModel <AddressFilterCriteria> model) { var count = model.Length > MaxAddressesPerFilterPage ? MaxAddressesPerFilterPage : model.Length; var data = await _addressQuery.GetAddressLitesFilteredAsync(model.FilterCriteria, model.Start, count, true, MaxAddressesFilterResults); var resultCount = data.ResultCount; var response = new { RecordsFiltered = resultCount, Data = data.Results }; return(Ok(response)); }
public IActionResult Index(DataTablePostModel dataTablePostModel) { var model = db.Album.Select(q => new DataTableAlbumList { Id = q.Id, Name = q.Name }); var Albums = DataTableProcessor <DataTableAlbumList> .ProcessCollection(model, dataTablePostModel).ToList(); dynamic response = new { Data = Albums, Draw = dataTablePostModel.draw, RecordsFiltered = model.ToList().Count, RecordsTotal = model.ToList().Count }; return(StatusCode(200, response)); }
public IActionResult Images(DataTablePostModel dataTablePostModel, int albumId) { var model = db.albumItem.Where(q => q.AlbumId == albumId).Select(q => new DataTableAlbumItemList { Id = q.Id, Image = q.Image }); var Images = DataTableProcessor <DataTableAlbumItemList> .ProcessCollection(model, dataTablePostModel).ToList(); dynamic response = new { Data = Images, Draw = dataTablePostModel.draw, RecordsFiltered = model.ToList().Count, RecordsTotal = model.ToList().Count }; return(StatusCode(200, response)); }
public IActionResult Index(DataTablePostModel dataTablePostModel) { var model = db.FAQ.Select(q => new DataTableFAQList { Id = q.Id, Question = q.Question, Answer = q.Answer }); var FAQs = DataTableProcessor<DataTableFAQList>.ProcessCollection(model, dataTablePostModel).ToList(); dynamic response = new { Data = FAQs, Draw = dataTablePostModel.draw, RecordsFiltered = model.ToList().Count, RecordsTotal = model.ToList().Count }; return StatusCode(200, response); }
public IActionResult Index(DataTablePostModel dataTablePostModel) { var model = db.Slider.Select(q => new DataTableSliderList { Id = q.Id, Image = q.Image, ScreenOrder = q.ScreenOrder }); var Sliders = DataTableProcessor <DataTableSliderList> .ProcessCollection(model, dataTablePostModel).ToList(); dynamic response = new { Data = Sliders, Draw = dataTablePostModel.draw, RecordsFiltered = model.ToList().Count, RecordsTotal = model.ToList().Count }; return(StatusCode(200, response)); }
public async Task <IActionResult> GetAddressTxs(DataTablePostModel <AddressTransactionFilterCriteria> model) { var count = model.Length > MaxAddressesPerFilterPage ? MaxAddressesPerFilterPage : model.Length; if (model.FilterCriteria == null || !model.FilterCriteria.AddressHashes.Any()) { return(NotFound("Address hash is required!")); } var filterCriteria = model.FilterCriteria ?? new AddressTransactionFilterCriteria(); var txResult = await _addressQuery.GetAddressTransactionsFilteredAsync(filterCriteria, model.Start, count, true); var response = new { RecordsFiltered = txResult.ResultCount, Data = txResult.Results }; return(Ok(response)); }
public IActionResult Index(DataTablePostModel dataTablePostModel) { var model = db.Contact.Select(q => new DataTableContactList { Id = q.Id, Sender = q.Sender, Subject = q.Subject, Date = q.SendDate.ToShortDateString(), IsReaded = q.IsReaded }); var Contacts = DataTableProcessor <DataTableContactList> .ProcessCollection(model, dataTablePostModel).ToList(); dynamic response = new { Data = Contacts, Draw = dataTablePostModel.draw, RecordsFiltered = model.ToList().Count, RecordsTotal = model.ToList().Count }; return(StatusCode(200, response)); }