Exemplo n.º 1
0
        /// <summary>
        /// get records from database.
        /// </summary>
        /// <param name="searchBy"></param>
        /// <param name="take"></param>
        /// <param name="skip"></param>
        /// <param name="sortBy"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        private async Task <DataTableResultModel <PurchaseInvoiceModel> > GetDataFromDbase(SearchFilterPurchaseInvoiceModel searchFilterModel, string searchBy, int take, int skip, string sortBy, string sortDir)
        {
            DataTableResultModel <PurchaseInvoiceModel> resultModel = new DataTableResultModel <PurchaseInvoiceModel>();

            IQueryable <Purchaseinvoice> query = GetQueryByCondition(w => w.PurchaseInvoiceId != 0);

            if (!string.IsNullOrEmpty(searchFilterModel.InvoiceNo))
            {
                query = query.Where(w => w.InvoiceNo.Contains(searchFilterModel.InvoiceNo));
            }

            if (null != searchFilterModel.SupplierLedgerId)
            {
                query = query.Where(w => w.SupplierLedgerId == searchFilterModel.SupplierLedgerId);
            }

            if (null != searchFilterModel.FromDate)
            {
                query = query.Where(w => w.InvoiceDate >= searchFilterModel.FromDate);
            }

            if (null != searchFilterModel.ToDate)
            {
                query = query.Where(w => w.InvoiceDate <= searchFilterModel.ToDate);
            }

            // get total count.
            resultModel.TotalResultCount = await query.CountAsync();

            // get records based on pagesize.
            query = query.Skip(skip).Take(take);
            resultModel.ResultList = await query.Select(s => new PurchaseInvoiceModel
            {
                PurchaseInvoiceId = s.PurchaseInvoiceId,
                InvoiceNo         = s.InvoiceNo,
                InvoiceDate       = s.InvoiceDate,
                NetAmount         = s.NetAmount,
            }).ToListAsync();

            // get filter record count.
            resultModel.FilterResultCount = await query.CountAsync();

            return(resultModel); // returns.
        }
Exemplo n.º 2
0
        /// <summary>
        /// get search purchase invoice result list.
        /// </summary>
        /// <param name="dataTableAjaxPostModel"></param>
        /// <param name="searchFilterModel"></param>
        /// <returns>
        /// return list.
        /// </returns>
        public async Task <DataTableResultModel <PurchaseInvoiceModel> > GetPurchaseInvoiceList(DataTableAjaxPostModel dataTableAjaxPostModel, SearchFilterPurchaseInvoiceModel searchFilterModel)
        {
            string searchBy = dataTableAjaxPostModel.search?.value;
            int    take     = dataTableAjaxPostModel.length;
            int    skip     = dataTableAjaxPostModel.start;

            string sortBy  = string.Empty;
            string sortDir = string.Empty;

            if (dataTableAjaxPostModel.order != null)
            {
                sortBy  = dataTableAjaxPostModel.columns[dataTableAjaxPostModel.order[0].column].data;
                sortDir = dataTableAjaxPostModel.order[0].dir.ToLower();
            }

            // search the dbase taking into consideration table sorting and paging
            DataTableResultModel <PurchaseInvoiceModel> resultModel = await GetDataFromDbase(searchFilterModel, searchBy, take, skip, sortBy, sortDir);

            return(resultModel); // returns.
        }