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);
        }
Example #2
0
        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());
        }
Example #3
0
        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));
        }
Example #4
0
        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));
        }
Example #7
0
        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));
        }
Example #9
0
        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));
        }
Example #10
0
        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));
        }