public async Task <JqueryDataTablesPagedResults <Demo> > GetDataAsync(JqueryDataTablesParameters table)
        {
            IQueryable <DemoEntity> query = _context.Demos
                                            .AsNoTracking()
                                            .Include(x => x.DemoNestedLevelOne)
                                            .ThenInclude(y => y.DemoNestedLevelTwo);

            query = new SearchOptionsProcessor <Demo, DemoEntity>().Apply(query, table.Columns);
            query = new SortOptionsProcessor <Demo, DemoEntity>().Apply(query, table);

            var size = await query.CountAsync();

            var items = await query
                        .AsNoTracking()
                        .Skip((table.Start / table.Length) * table.Length)
                        .Take(table.Length)
                        .ProjectTo <Demo>(_mappingConfiguration)
                        .ToArrayAsync();

            return(new JqueryDataTablesPagedResults <Demo>
            {
                Items = items,
                TotalSize = size
            });
        }
        private static IEnumerable<SortTerm> GetAllTerms(JqueryDataTablesParameters table)
        {
            var dtColumns = table.Columns as IList<DTColumn> ?? table.Columns.ToList();

            if (dtColumns.All(x => !x.Orderable))
            {
                yield break;
            }

            foreach (var term in table.Order)
            {
                var column = dtColumns[term.Column];
                if (!column.Orderable)
                {
                    continue;
                }

                var hasNavigation = column.Data.Contains('.');

                yield return new SortTerm
                {
                    Name = column.Data,
                    Descending = term.Dir.Equals(DTOrderDir.DESC),
                    HasNavigation = hasNavigation
                };
            }
        }
Exemplo n.º 3
0
        public static IQueryable <TEntity> Apply(IQueryable <TEntity> query, JqueryDataTablesParameters table)
        {
            var terms = GetValidTerms(table).ToArray();

            if (!terms.Any())
            {
                return(query);
            }

            var modifiedQuery = query;
            var useThenBy     = false;

            foreach (var term in terms)
            {
                var hasMultipleTerms = term.EntityName?.Contains(',') ?? false;

                if (hasMultipleTerms)
                {
                    var entityTerms = term.EntityName.Split(',');

                    foreach (var entityTerm in entityTerms)
                    {
                        term.EntityName = entityTerm;

                        modifiedQuery = GetSortQuery(modifiedQuery, ref useThenBy, term);
                    }
                }
                else
                {
                    modifiedQuery = GetSortQuery(modifiedQuery, ref useThenBy, term);
                }
            }

            return(modifiedQuery);
        }
Exemplo n.º 4
0
        private static IEnumerable <SortTerm> GetValidTerms(JqueryDataTablesParameters table)
        {
            var queryTerms = GetAllTerms(table).ToArray();

            if (!queryTerms.Any())
            {
                yield break;
            }

            var declaredTerms = GetTermsFromModel();

            foreach (var term in queryTerms)
            {
                var declaredTerm =
                    declaredTerms.SingleOrDefault(x => x.Name.Equals(term.Name, StringComparison.OrdinalIgnoreCase));
                if (declaredTerm == null)
                {
                    continue;
                }

                yield return(new SortTerm {
                    Name = declaredTerm.Name,
                    EntityName = declaredTerm.EntityName,
                    Descending = term.Descending,
                    Default = declaredTerm.Default
                });
            }
        }
Exemplo n.º 5
0
        public IQueryable <TEntity> Apply(IQueryable <TEntity> query, JqueryDataTablesParameters table)
        {
            var terms = GetValidTerms(table).ToArray();

            if (!terms.Any())
            {
                return(query);
            }

            var modifiedQuery = query;
            var useThenBy     = false;

            foreach (var term in terms)
            {
                var propertyInfo = ExpressionHelper
                                   .GetPropertyInfo <TEntity>(term.EntityName ?? term.Name);
                var obj = ExpressionHelper.Parameter <TEntity>();

                // Build up the LINQ Expression backwards:
                // query = query.OrderBy(x => x.Property);

                // x => x.Property
                var key         = ExpressionHelper.GetPropertyExpression(obj, propertyInfo);
                var keySelector = ExpressionHelper.GetLambda(typeof(TEntity), propertyInfo.PropertyType, obj, key);

                // query.OrderBy/ThenBy[Descending](x => x.Property)
                modifiedQuery = ExpressionHelper.CallOrderByOrThenBy(
                    modifiedQuery, useThenBy, term.Descending, propertyInfo.PropertyType, keySelector);

                useThenBy = true;
            }

            return(modifiedQuery);
        }
Exemplo n.º 6
0
 public async Task <JsonResult> GetDataAsync(IQueryable <object> dbset, JqueryDataTablesParameters param)
 {
     switch (dbset)
     {
     // case IQueryable<Chauffeur> chauffeurs:
     //     return await GetDataAsync<Chauffeur, ChauffeurApi>(chauffeurs, param);
     default:
         await Task.CompletedTask;
         return(null);
     }
 }
Exemplo n.º 7
0
        public async Task <IActionResult> GetTelephoneList([FromBody] JqueryDataTablesParameters param)
        {
            var results = await _iTelephoneRepository.GetTelephoneList(param);

            return(new JsonResult(new JqueryDataTablesResult <TelephoneAC>
            {
                Draw = param.Draw,
                Data = results.Items,
                RecordsFiltered = results.TotalSize,
                RecordsTotal = results.TotalSize
            }));
        }
Exemplo n.º 8
0
 public async Task <IActionResult> LoadTable([FromBody] JqueryDataTablesParameters param)
 {
     try
     {
         HttpContext.Session.SetString(_dataTableSessionKey, JsonConvert.SerializeObject(param));
         return(Json(await _demoService.GetDataAsync(param)));
     } catch (Exception e)
     {
         Console.Write(e.Message);
         return(new JsonResult(new { error = "Internal Server Error" }));
     }
 }
Exemplo n.º 9
0
        public IActionResult GetEmployeeList([FromBody] JqueryDataTablesParameters param)
        {
            var results = _iEmployeeRepository.GetEmployeeList(param);

            return(new JsonResult(new JqueryDataTablesResult <EmployeeProfileDetailAC>
            {
                Draw = param.Draw,
                Data = results.Items,
                RecordsFiltered = results.TotalSize,
                RecordsTotal = results.TotalSize
            }));
        }
Exemplo n.º 10
0
        public IActionResult GetAssignedTelephoneList([FromBody] JqueryDataTablesParameters param)
        {
            var results = _iTelephoneRepository.GetAssignedTelephoneList(param);

            return(new JsonResult(new JqueryDataTablesResult <AssignTelePhoneAC>
            {
                Draw = param.Draw,
                Data = results.Items,
                RecordsFiltered = results.TotalSize,
                RecordsTotal = results.TotalSize
            }));
        }
Exemplo n.º 11
0
        public async Task <IActionResult> LoadTable([FromBody] JqueryDataTablesParameters param)
        {
            try
            {
                HttpContext.Session.SetString(nameof(JqueryDataTablesParameters), JsonSerializer.Serialize(param));
                var results = await _demoService.GetDataAsync(param);

                return(new JsonResult(new JqueryDataTablesResult <Demo>
                {
                    Draw = param.Draw,
                    Data = results.Items,
                    RecordsFiltered = results.TotalSize,
                    RecordsTotal = results.TotalSize
                }));
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                return(new JsonResult(new { error = "Internal Server Error" }));
            }
        }
        public async Task <IActionResult> LoadTable([FromBody] JqueryDataTablesParameters param)
        {
            try
            {
                HttpContext.Session.SetString(nameof(JqueryDataTablesParameters), JsonSerializer.Serialize(param));
                List <Order_MasterViewModel> list = new List <Order_MasterViewModel>();

                IQueryable <Invoice> query = _dbContext.tbl_Invoice.FromSqlRaw("select custNum  ,invoiceNum  , cast( releaseDate as char)   releaseDate,freight  ,salesManNum  ,salesManNum2  ,billName  ,billAddress1 ,billAddress2 ,billAddress3 ,shipName ,shipAddress1,shipAddress2,shipAddress3,termId  ,carrierCode  ,d2  ,poNum  , cast( orderDate as char) orderDate, cast( shipDate as char) shipDate,  CAST( cancelDate AS CHAR) cancelDate,cast( enterDate as char) enterDate,terminal  ,custNote ,clerk  ,netTotal  ,commision ,d4  ,d6  ,storeNum  ,dept  ,orderType  ,bolNum  ,cast( bolDate as char) bolDate ,tracking1  ,tracking2 ,orderNum  ,cast( invoiceDate as char) invoiceDate  ,isCreditMemo  ,isCreditHold  ,isFreightCollect from  v_Invoice").AsNoTracking();

                query = SearchOptionsProcessor <InvoiceViewModel, Invoice> .Apply(query, param.Columns);

                query = SortOptionsProcessor <InvoiceViewModel, Invoice> .Apply(query, param);

                var size = await query.CountAsync();

                var InvoiceNum = "";
                var OrderNum   = "";
                var BillName   = "";

                var i = 0;
                foreach (var column in param.AdditionalValues)
                {
                    if (i == 0)
                    {
                        InvoiceNum = column;
                    }
                    else if (i == 1)
                    {
                        OrderNum = column;
                    }
                    else
                    {
                        BillName = column;
                    }
                    i++;
                }

                if (InvoiceNum != "" || OrderNum != "" || BillName != "")
                {
                    query = query.Where(w =>
                                        ((InvoiceNum == "" ? true : w.InvoiceNum.Contains(InvoiceNum))) &&
                                        ((OrderNum == "" ? true : w.InvoiceNum.Contains(OrderNum))) &&
                                        ((BillName == "" ? true : w.BillName.Contains(BillName))));
                }


                foreach (var column in param.Columns)
                {
                    if (column.Data == "InvoiceNum")
                    {
                        column.Searchable   = true;
                        column.Search.Value = InvoiceNum;
                    }
                    if (column.Data == "OrderNum")
                    {
                        column.Searchable   = true;
                        column.Search.Value = OrderNum;
                    }
                    if (column.Data == "BillName")
                    {
                        column.Searchable   = true;
                        column.Search.Value = BillName;
                    }
                }
                var items = await query
                            .AsNoTracking()
                            .Skip((param.Start / param.Length) * param.Length)
                            .Take(param.Length)
                            .ProjectTo <InvoiceViewModel>(_mappingConfiguration)
                            .ToArrayAsync();


                var result = new JqueryDataTablesPagedResults <InvoiceViewModel>
                {
                    Items     = items,
                    TotalSize = size
                };

                return(new JsonResult(new JqueryDataTablesResult <InvoiceViewModel>
                {
                    Draw = param.Draw,
                    Data = result.Items,
                    RecordsFiltered = result.TotalSize,
                    RecordsTotal = result.TotalSize
                }));
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                return(new JsonResult(new { error = "Internal Server Error" }));
            }
        }
Exemplo n.º 13
0
        public async Task <JqueryDataTablesPagedResults <TelephoneAC> > GetTelephoneList(JqueryDataTablesParameters param)
        {
            int    skip             = (param.Start / param.Length) * param.Length;
            int    take             = param.Length;
            int?   sortColumnNumber = null;
            string sortType         = string.Empty;

            if (param.Order.Length > 0)
            {
                sortColumnNumber = param.Order[0].Column;
                sortType         = param.Order[0].Dir.ToString();
            }

            IQueryable <Telephonenumber> query = _dbTeleBilling_V01Context.Telephonenumber.Where(x => !x.IsDelete).Include(x => x.Provider).Include(x => x.LineType).OrderByDescending(x => x.Id).AsNoTracking();

            query = query.Where(x => x.Provider.Name.Contains(param.Search.Value) || x.TelephoneNumber1.Contains(param.Search.Value) || x.AccountNumber.Contains(param.Search.Value));

            var size = await query.CountAsync();

            var telphoneList = await query.Skip((param.Start / param.Length) *param.Length).Take(param.Length).ToArrayAsync();

            List <TelephoneAC> items = _mapper.Map <List <TelephoneAC> >(telphoneList);


            if (items.Any())
            {
                foreach (var item in items)
                {
                    if (await _dbTeleBilling_V01Context.Telephonenumberallocation.FirstOrDefaultAsync(x => x.TelephoneNumberId == item.Id && !x.IsDelete) != null)
                    {
                        item.IsAssigned = true;
                    }
                    else
                    {
                        item.IsAssigned = false;
                    }
                }
            }

            return(new JqueryDataTablesPagedResults <TelephoneAC>
            {
                Items = items,
                TotalSize = size
            });
        }
Exemplo n.º 14
0
        public JqueryDataTablesPagedResults <AssignTelePhoneAC> GetAssignedTelephoneList(JqueryDataTablesParameters param)
        {
            List <AssignTelePhoneAC> assignTelePhonelist = new List <AssignTelePhoneAC>();

            long   skipRecord       = param.Start;
            int    length           = param.Length;
            int?   sortColumnNumber = null;
            string sortType         = string.Empty;
            string searchValue      = param.Search.Value;
            int    totalSize        = 0;

            if (param.Order.Length > 0)
            {
                sortColumnNumber = param.Order[0].Column;
                sortType         = param.Order[0].Dir.ToString();
            }

            SortedList sl = new SortedList();

            sl.Add("SkipRecord", skipRecord);
            sl.Add("Length", length);
            sl.Add("SearchValue", searchValue);
            DataSet ds = _objDalmysql.GetDataSet("usp_GetTelphoneAssignListWithPagging", sl);

            if (ds != null)
            {
                if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0] != null)
                {
                    assignTelePhonelist = _objDal.ConvertDataTableToGenericList <AssignTelePhoneAC>(ds.Tables[0]).ToList();
                }

                if (ds.Tables[1].Rows.Count > 0 && ds.Tables[1] != null)
                {
                    totalSize = Convert.ToInt16(ds.Tables[1].Rows[0]["TotalSize"]);
                }
            }

            return(new JqueryDataTablesPagedResults <AssignTelePhoneAC>
            {
                Items = assignTelePhonelist,
                TotalSize = totalSize
            });
        }
        public async Task <IActionResult> LoadTable([FromBody] JqueryDataTablesParameters param)
        {
            try
            {
                HttpContext.Session.SetString(nameof(JqueryDataTablesParameters), JsonSerializer.Serialize(param));
                IQueryable <EmployeeViewModel_datatable> employees;
                string            queryDef = "call get_careGiverList()";
                DbfunctionUtility dbfunction = new DbfunctionUtility(_appSettings);
                CommanUtility     _commanUtility = new CommanUtility(_appSettings);
                DateTime          startDate = new DateTime(); DateTime endDate = new DateTime(); int i = 0; bool isDateFilter = false;
                DataSet           ds = new DataSet();

                foreach (var column in param.AdditionalValues)
                {
                    if (Convert.ToString(column) != "")
                    {
                        isDateFilter = true;
                        var dateParts = column.Split("/");

                        // var date = dateParts[1] + "/" + dateParts[0] + "/" + dateParts[2];
                        if (i == 0)
                        {
                            DateTime.TryParse(column, out startDate);
                        }
                        else if (i == 1)
                        {
                            DateTime.TryParse(column, out endDate);
                        }
                    }
                    i++;
                }

                if (isDateFilter == false)
                {
                    ds = dbfunction.GetDataset(@"call get_careGiverList()");
                }
                else
                {
                    ds = dbfunction.GetDataset(@"call get_careGiverListByDate('" + startDate.ToString("yyyy/MM/dd") + "','" + endDate.ToString("yyyy/MM/dd") + "') ");
                }

                employees = (from row in ds.Tables[0].AsEnumerable()
                             select new EmployeeViewModel_datatable
                {
                    EmployeeId = Convert.ToInt32(row["Id"]),
                    FirstName = Convert.ToString(row["FirstName"]),
                    MiddleName = Convert.ToString(row["MiddleName"]),
                    LastName = Convert.ToString(row["LastName"]),
                    Email = Convert.ToString(row["Email"]),
                    EmployeeNo = Convert.ToString(row["EmployeeNo"]),
                    UserId = Convert.ToInt32(row["UserId"]),
                    HrGroupName = Convert.ToString(row["HrGroup"]),
                    HrGroupId = Convert.ToInt32(row["HrGroupId"]),
                    PassedTest = Convert.ToInt32(row["PassedTest"]),
                    Totaltest = Convert.ToInt32(row["total_tests_1"]),
                    VideoDuration = Convert.ToString(row["VideoDuration"]) == "" ? (Decimal?)null : Convert.ToDecimal(row["VideoDuration"]),
                    ExamDate = Convert.ToString(row["ExamDate"]) == "" ? (DateTime?)null : Convert.ToDateTime(row["ExamDate"]),
                    ValidEmail = _commanUtility.CheckValidEmail(Convert.ToString(row["Email"]))
                }).AsQueryable();

                if (_rolename.ToLower() == "hr")
                {
                    employees = employees.Where(w => _HrGroupId.Contains("/" + w.HrGroupId.ToString() + "/")).AsQueryable();
                }


                employees = SearchOptionsProcessor <EmployeeViewModel_datatable, EmployeeViewModel_datatable> .Apply(employees, param.Columns);

                employees = SortOptionsProcessor <EmployeeViewModel_datatable, EmployeeViewModel_datatable> .Apply(employees, param);

                var size = employees.Count();


                if (Convert.ToString(param.Search?.Value) != "")
                {
                    var serchValue = param.Search?.Value.ToLower();
                    employees = employees.Where(w =>
                                                (w.FirstName.ToLower().Contains(serchValue) ? true :
                                                 (w.MiddleName.ToLower().Contains(serchValue) ? true :
                                                  ((w.LastName.ToLower().Contains(serchValue) ? true :
                                                    ((w.EmployeeNo.ToLower().Contains(serchValue) ? true :
                                                      ((w.Email.ToLower().Contains(serchValue) ? true :
                                                        ((w.HrGroupName.ToLower().Contains(serchValue) ? true : false))))))))
                                                 )));
                }

                var items = employees
                            .Skip((param.Start / param.Length) * param.Length)
                            .Take(param.Length)
                            .ProjectTo <EmployeeViewModel_datatable>(_mappingConfiguration)
                            .ToArray();


                var result = new JqueryDataTablesPagedResults <EmployeeViewModel_datatable>
                {
                    Items     = items,
                    TotalSize = size
                };

                return(new JsonResult(new JqueryDataTablesResult <EmployeeViewModel_datatable>
                {
                    Draw = param.Draw,
                    Data = result.Items,
                    RecordsFiltered = result.TotalSize,
                    RecordsTotal = result.TotalSize
                }));
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                return(new JsonResult(new { error = "Internal Server Error" }));
            }
        }
        public ActionResult LoadOrderDatatable([FromBody] JqueryDataTablesParameters param)
        {
            List <Order_MasterViewModel> OrderList = new List <Order_MasterViewModel>();

            try
            {
                HttpContext.Session.SetString(nameof(JqueryDataTablesParameters), JsonSerializer.Serialize(param));
                DbfunctionUtility dbfunction = new DbfunctionUtility(_appSettings);
                DataSet           ds         = dbfunction.GetDataset("Select *,NoteCount from orders left join (select Ordernum,count(*)NoteCount from ordernotes group by Ordernum ) a on  orders.Ordernum = a.Ordernum order by Orderdate desc limit 50;");
                OrderList = (from row in ds.Tables[0].AsEnumerable()
                             select new Order_MasterViewModel
                {
                    Custnum = Convert.ToString(row["Custnum"]),
                    ordernum = Convert.ToString(row["ordernum"]),
                    Orderdate = Convert.ToDateTime(row["Orderdate"]),
                    Credit = Convert.ToString(row["Credit"]),
                    Freight = Convert.ToDecimal(row["Freight"]),
                    Slnum = Convert.ToString(row["Slnum"]),
                    Slnum2 = Convert.ToString(row["Slnum2"]),
                    D0 = Convert.ToString(row["D0"]),
                    Name = Convert.ToString(row["Name"]),
                    Address1 = Convert.ToString(row["Address1"]),
                    Address2 = Convert.ToString(row["Address2"]),
                    Address3 = Convert.ToString(row["Address3"]),
                    Shipname = Convert.ToString(row["Shipname"]),
                    Shipaddress1 = Convert.ToString(row["Shipaddress1"]),
                    Shipaddress2 = Convert.ToString(row["Shipaddress2"]),
                    Shipaddress3 = Convert.ToString(row["Shipaddress3"]),
                    Terms = Convert.ToString(row["Terms"]),
                    Via = Convert.ToString(row["Via"]),
                    Backorder = Convert.ToString(row["Backorder"]),
                    Ponum = Convert.ToString(row["Ponum"]),
                    Shippeddate = Convert.ToString(row["Shippeddate"]) == "" ? (DateTime?)null : Convert.ToDateTime(row["Shippeddate"]),
                    Shipdate = Convert.ToDateTime(row["Shipdate"]),
                    Canceldate = Convert.ToString(row["Canceldate"]) == "" ? (DateTime?)null : Convert.ToDateTime(row["Canceldate"]),
                    Edidate = Convert.ToDateTime(row["Edidate"]),
                    Custnote = Convert.ToString(row["Custnote"]),
                    clerk = Convert.ToString(row["clerk"]),
                    Poammount = Convert.ToDecimal(row["Poammount"]),
                    Commission = Convert.ToDecimal(row["Commission"]),
                    Status = Convert.ToString(row["Status"]),
                    D1 = Convert.ToString(row["D1"]),
                    D2 = Convert.ToString(row["D2"]),
                    Creditmemo = Convert.ToString(row["Creditmemo"]),
                    Storenum = Convert.ToString(row["Storenum"]),
                    Dept = Convert.ToString(row["Dept"]),
                    Ordertype = Convert.ToString(row["Ordertype"]),
                    WeborderId = Convert.ToString(row["WeborderId"]),
                    IsOpenOrder = Convert.ToString(row["IsOpenOrder"]),
                    NoteCount = Convert.ToString(row["NoteCount"]) == "" ?0 : Convert.ToInt32(row["NoteCount"]),
                }).ToList();

                return(new JsonResult(new JqueryDataTablesResult <Order_MasterViewModel>
                {
                    Draw = param.Draw,
                    Data = OrderList,
                    RecordsFiltered = 10,
                    RecordsTotal = 10
                }));
            }
            catch (Exception Ex)
            {
            }
            return(View("List", OrderList));
        }
 public async Task <JqueryDataTablesExcelResult <Demo> > GetExcelDataAsync(JqueryDataTablesParameters table, bool exportAllData = false)
 {
     return(await JqueryDataTableHelpers.GetJqueryDataTablesExcelResultAsync <Demo, DemoEntity>(table, _context.Demos, _mappingConfiguration, exportAllData, "Demo Sheet Name", "Fingers10"));
 }
        public async Task <IActionResult> LoadTable([FromBody] JqueryDataTablesParameters param)
        {
            try
            {
                HttpContext.Session.SetString(nameof(JqueryDataTablesParameters), JsonSerializer.Serialize(param));
                List <Order_MasterViewModel> list = new List <Order_MasterViewModel>();

                var    showAll  = param.AdditionalValues.Last();
                string queryDef = "";
                if (showAll == "true")
                {
                    queryDef = @"SELECT Custnum,orders.ordernum,Orderdate,Credit,Freight, Slnum, Slnum2, D0, NAME, Address1, Address2, Address3, Shipname, Shipaddress1, Shipaddress2, Shipaddress3, Terms, Via,
                                                                              Backorder,Tax,Terminal, Ponum,Shippeddate, Shipdate, Canceldate, Edidate, Custnote, clerk, Poammount, Commission, STATUS, D1, D2, Creditmemo, Storenum,
                                                                              Dept, Ordertype, WeborderId, IsOpenOrder, NoteCount,'a' AS ACTION  FROM orders LEFT JOIN (SELECT Ordernum,COUNT(*)NoteCount,YEAR FROM ordernotes
                                                                              GROUP BY Ordernum,YEAR  ) a ON  (SUBSTRING((orders.Ordernum ),1,6)= a.Ordernum AND  SUBSTRING((orders.Ordernum ),8,2)= a.Year)
                                                                           ";
                }
                else
                {
                    queryDef = @"SELECT Custnum,orders.ordernum,Orderdate,Credit,Freight, Slnum, Slnum2, D0, NAME, Address1, Address2, Address3, Shipname, Shipaddress1, Shipaddress2, Shipaddress3, Terms, Via,
                                                                              Backorder,Tax,Terminal, Ponum,Shippeddate, Shipdate, Canceldate, Edidate, Custnote, clerk, Poammount, Commission, STATUS, D1, D2, Creditmemo, Storenum,
                                                                              Dept, Ordertype, WeborderId, IsOpenOrder, NoteCount,'a' AS ACTION  FROM orders LEFT JOIN (SELECT Ordernum,COUNT(*)NoteCount,YEAR FROM ordernotes
                                                                              GROUP BY Ordernum,YEAR  ) a ON  (SUBSTRING((orders.Ordernum ),1,6)= a.Ordernum AND  SUBSTRING((orders.Ordernum ),8,2)= a.Year)
                                                                              WHERE IsOpenOrder =1                                                                          
                                                                            ";
                }


                IQueryable <Order> query = _dbContext.tbl_Orders.FromSqlRaw(queryDef).AsNoTracking();


                query = SearchOptionsProcessor <Order_MasterViewModel, Order> .Apply(query, param.Columns);

                query = SortOptionsProcessor <Order_MasterViewModel, Order> .Apply(query, param);

                var size = await query.CountAsync();

                var      orderNum         = "";
                var      custnumOrName    = "";
                var      Shipdate         = "";
                DateTime ShipDateD        = DateTime.Now;
                var      i                = 0;
                var      additionalValues = param.AdditionalValues.SkipLast(1);
                foreach (var column in additionalValues)
                {
                    if (i == 0)
                    {
                        orderNum = column;
                    }
                    else if (i == 1)
                    {
                        custnumOrName = column;
                    }
                    else
                    {
                        Shipdate = column;
                        if (Convert.ToString(Shipdate) == "1/1/0001 12:00:00 AM")
                        {
                            Shipdate = "";
                        }
                        if (Shipdate != "")
                        {
                            DateTime.TryParse(Shipdate, out ShipDateD);
                        }
                    }
                    i++;
                }

                if (orderNum != "" || custnumOrName != "" || Shipdate != "")
                {
                    query = query.Where(w =>
                                        ((orderNum == "" ? true : w.ordernum.Contains(orderNum))) &&
                                        ((custnumOrName == "" ? true : (w.Custnum.Contains(custnumOrName) ? true : (w.Name.Contains(custnumOrName))))) &&
                                        ((Shipdate == "" ? true : w.Shipdate == ShipDateD)));
                }


                foreach (var column in param.Columns)
                {
                    if (column.Data == "ordernum")
                    {
                        column.Searchable   = true;
                        column.Search.Value = orderNum;
                    }
                    if (column.Data == "Shipdate")
                    {
                        column.Searchable   = true;
                        column.Search.Value = orderNum;
                    }
                    if (column.Data == "Shipdate")
                    {
                        column.Searchable   = true;
                        column.Search.Value = orderNum;
                    }
                }



                var items = query
                            //.AsNoTracking()
                            .Skip((param.Start / param.Length) * param.Length)
                            .Take(param.Length)
                            .ProjectTo <Order_MasterViewModel>(_mappingConfiguration)
                            .ToArray();


                var result = new JqueryDataTablesPagedResults <Order_MasterViewModel>
                {
                    Items     = items,
                    TotalSize = size
                };

                return(new JsonResult(new JqueryDataTablesResult <Order_MasterViewModel>
                {
                    Draw = param.Draw,
                    Data = result.Items,
                    RecordsFiltered = result.TotalSize,
                    RecordsTotal = result.TotalSize
                }));
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                return(new JsonResult(new { error = "Internal Server Error" }));
            }
        }
        public static async Task <JqueryDataTablesExcelResult <T> > GetJqueryDataTablesExcelResultAsync <T, TEntity>(JqueryDataTablesParameters @params, IQueryable <TEntity> query, IConfigurationProvider configurationProvider, bool convertAllData = false, string sheetName = "sheetName", string fileName = "fileName")
        {
            if (@params == null)
            {
                throw new ArgumentNullException($"{nameof(@params)} cannot be null!");
            }

            if (query == null)
            {
                throw new ArgumentNullException($"{nameof(query)} cannot be null!");
            }

            var results = new JqueryDataTablesPagedResults <T>();

            if (convertAllData)
            {
                var items = await query
                            .ProjectTo <T>(configurationProvider)
                            .ToArrayAsync();

                results.Items = items;
            }
            else
            {
                query = new SearchOptionsProcessor <T, TEntity>().Apply(query, @params.Columns);
                query = new SortOptionsProcessor <T, TEntity>().Apply(query, @params);

                var items = await query
                            .Skip((@params.Start / @params.Length) * @params.Length)
                            .Take(@params.Length)
                            .ProjectTo <T>(configurationProvider)
                            .ToArrayAsync();

                results.Items = items;
            }

            return(new JqueryDataTablesExcelResult <T>(results.Items, sheetName, fileName));
        }
        public async Task <IActionResult> LoadTable([FromBody] JqueryDataTablesParameters param)
        {
            try
            {
                //return new JsonResult(new { error = "Internal Server Error" });

                HttpContext.Session.SetString(nameof(JqueryDataTablesParameters), System.Text.Json.JsonSerializer.Serialize(param));

                DbfunctionUtility dbfunction = new DbfunctionUtility(_appSettings);
                DataSet           ds         = dbfunction.GetDataset(@"select indSell_Compo.*,itemmaster.Description as Item_master,itemcomponent.Description as Item_component
                                                    from indSell_Compo 
                                                    left join items as itemmaster on trim(indSell_ItemMaster) = itemmaster.Itemnum
                                                    left join items as itemcomponent on trim(indSell_Compo.indSell_ItemComponent) = itemcomponent.Itemnum");

                IQueryable <IndsellCompoViewModel> itemComponentList = (from row in ds.Tables[0].AsEnumerable()
                                                                        select new IndsellCompoViewModel
                {
                    indSell_ItemMaster = Convert.ToString(row["indSell_ItemMaster"]),
                    indSell_ItemComponent = Convert.ToString(row["indSell_ItemComponent"]),
                    indSell_Allowed = Convert.ToInt16(row["indSell_Allowed"]),
                    Item_master = Convert.ToString(row["Item_master"]),
                    Item_component = Convert.ToString(row["Item_component"]),
                }).AsQueryable();


                var size = itemComponentList.Count();


                if (Convert.ToString(param.AdditionalValues.FirstOrDefault()) != "")
                {
                    var serchValue = Convert.ToString(param.AdditionalValues.FirstOrDefault()).ToLower();
                    itemComponentList = itemComponentList.Where(w =>
                                                                ((w.indSell_ItemMaster ?? "").ToLower().Contains(serchValue) ? true :
                                                                 ((w.indSell_ItemComponent ?? "").ToLower().Contains(serchValue) ? true :
                                                                  (w.indSell_Allowed).ToString().ToLower().Contains(serchValue) ? true :
                                                                  (w.Item_master).ToString().ToLower().Contains(serchValue) ? true :
                                                                  (w.Item_component).ToString().ToLower().Contains(serchValue) ? true : false)));
                }


                if (param.Length == -1)
                {
                    var items = itemComponentList
                                .ProjectTo <IndsellCompoViewModel_Datatable>(_mappingConfiguration)
                                .ToArray();


                    var result = new JqueryDataTablesPagedResults <IndsellCompoViewModel_Datatable>
                    {
                        Items     = items,
                        TotalSize = size
                    };

                    return(new JsonResult(new JqueryDataTablesResult <IndsellCompoViewModel_Datatable>
                    {
                        Draw = param.Draw,
                        Data = result.Items,
                        RecordsFiltered = result.TotalSize,
                        RecordsTotal = result.TotalSize
                    }));
                }
                else
                {
                    var items = itemComponentList
                                .Skip((param.Start / param.Length) * param.Length)
                                .Take(param.Length)
                                .ProjectTo <IndsellCompoViewModel_Datatable>(_mappingConfiguration)
                                .ToArray();


                    var result = new JqueryDataTablesPagedResults <IndsellCompoViewModel_Datatable>
                    {
                        Items     = items,
                        TotalSize = size
                    };

                    return(new JsonResult(new JqueryDataTablesResult <IndsellCompoViewModel_Datatable>
                    {
                        Draw = param.Draw,
                        Data = result.Items,
                        RecordsFiltered = result.TotalSize,
                        RecordsTotal = result.TotalSize
                    }));
                }
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                return(new JsonResult(new { error = "Internal Server Error" }));
            }
        }
Exemplo n.º 21
0
        public async Task <IActionResult> SearchPersonas([FromBody] JqueryDataTablesParameters param)
        {
            try
            {
                #region Paginacion y Ordenacion

                var pageIndex     = (param.Start / param.Length) + 1;
                var pageSize      = param.Length;
                var sortedColumns = param.Order;
                var colum         = sortedColumns.FirstOrDefault();
                var orderBy       = PersonaOrderColumn.Codigo;

                var orderIsAscending = true;
                if (colum != null)
                {
                    var orderByAux = (PersonaOrderColumn)colum.Column;
                    orderBy          = orderByAux;
                    orderIsAscending = colum.Dir == DTOrderDir.ASC ? true : false;
                }

                #endregion

                var optionSearch = new OptionSearchPersonasDto
                {
                    TextSearch  = param.Search?.Value,
                    PageIndex   = pageIndex,
                    IsAscending = orderIsAscending,
                    PageSize    = pageSize,
                    OrderBy     = orderBy,
                };

                HttpContext.Session.SetString(nameof(OptionSearchPersonasDto), JsonSerializer.Serialize(optionSearch));

                var res = await _service.BuscarAsync(optionSearch);

                if (res.HasErrors)
                {
                    return(null);
                }

                var list = res.Elements;

                var data = list.Select(ele => new PersonaViewModel
                {
                    Codigo      = ele.Id.ToString(),
                    Nombres     = ele.Nombres,
                    Apellidos   = ele.Apellidos,
                    Oficina     = ele.Oficina,
                    Experiencia = ele.Experiencia,
                    FechaInicio = ele.FechaInicio,
                    Salario     = ele.Salario,
                    Cargo       = ele.Cargo
                }).ToList();

                var recordsFiltered = res.TotalFiltered;
                var recordsTotal    = res.TotalElements;

                return(new JsonResult(new JqueryDataTablesResult <PersonaViewModel>
                {
                    Draw = param.Draw,
                    Data = data,
                    RecordsFiltered = recordsFiltered,
                    RecordsTotal = recordsTotal
                }));
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                return(new JsonResult(new { error = "Internal Server Error" }));
            }
        }
Exemplo n.º 22
0
        public async Task <JsonResult> GetDataAsync <TEntity, TEntityApi>(IQueryable <TEntity> query, JqueryDataTablesParameters param) where TEntity : class
        {
            query = SearchOptionsProcessor <TEntityApi, TEntity> .Apply(query, param.Columns);

            query = SortOptionsProcessor <TEntityApi, TEntity> .Apply(query, param);

            var items = await query
                        .AsNoTracking()
                        .Skip(param.Start)
                        .Take(param.Length)
                        .ProjectTo <TEntityApi>(_mappingConfiguration)
                        .ToArrayAsync();

            return(new JsonResult(new JqueryDataTablesResult <TEntityApi>
            {
                Draw = param.Draw,
                Data = items,
                RecordsFiltered = items.Length,
                RecordsTotal = items.Length
            }));
        }
Exemplo n.º 23
0
        public JqueryDataTablesPagedResults <EmployeeProfileDetailAC> GetEmployeeList(JqueryDataTablesParameters param)
        {
            List <EmployeeProfileDetailSP> employeelistData = new List <EmployeeProfileDetailSP>();
            List <EmployeeProfileDetailAC> employeelist     = new List <EmployeeProfileDetailAC>();

            try
            {
                long   skipRecord       = param.Start;
                int    length           = param.Length;
                int?   sortColumnNumber = null;
                string sortType         = string.Empty;
                string searchValue      = param.Search.Value;
                int    totalSize        = 0;

                if (param.Order.Length > 0)
                {
                    sortColumnNumber = param.Order[0].Column;
                    sortType         = param.Order[0].Dir.ToString();
                }

                SortedList sl = new SortedList();
                sl.Add("SkipRecord", skipRecord);
                sl.Add("Length", length);
                sl.Add("SearchValue", searchValue);

                DataSet ds = _objDalmysql.GetDataSet("usp_GetEmployeesWithPagging", sl);
                if (ds != null)
                {
                    if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0] != null)
                    {
                        employeelistData = _objDal.ConvertDataTableToGenericList <EmployeeProfileDetailSP>(ds.Tables[0]).ToList();
                    }
                    if (ds.Tables[1].Rows.Count > 0 && ds.Tables[1] != null)
                    {
                        totalSize = Convert.ToInt16(ds.Tables[1].Rows[0]["TotalSize"]);
                    }
                }

                if (employeelistData.Any())
                {
                    employeelist = _mapper.Map <List <EmployeeProfileDetailAC> >(employeelistData);
                }

                return(new JqueryDataTablesPagedResults <EmployeeProfileDetailAC>
                {
                    Items = employeelist,
                    TotalSize = totalSize
                });
            }
            catch (Exception e)
            {
                return(null);
            }
        }
        public async Task <IActionResult> LoadTable1([FromBody] JqueryDataTablesParameters param)
        {
            try
            {
                HttpContext.Session.SetString(nameof(JqueryDataTablesParameters), JsonSerializer.Serialize(param));
                List <Order_MasterViewModel> list = new List <Order_MasterViewModel>();
                var mySqlQuery  = "select count(*) from orders";
                var searchQuery = "";
                DbfunctionUtility dbfunctionUtility = new DbfunctionUtility(_appSettings);
                var dsResult      = dbfunctionUtility.GetDataset(mySqlQuery);
                var totalRecords  = Convert.ToInt32(dsResult.Tables[0].Rows[0][0]);
                var searchRecords = 0;
                mySqlQuery = "SET @row_number = 0; SELECT t.* FROM  (  SELECT *, (@row_number:=@row_number + 1) AS RowNo  FROM orders )t  where 1=1  ";
                var searchCount = 0;

                var orderNum      = "";
                var custnumOrName = "";
                var Shipdate      = "";
                var i             = 0;
                foreach (var column in param.AdditionalValues)
                {
                    if (i == 0)
                    {
                        orderNum = column;
                    }
                    else if (i == 1)
                    {
                        custnumOrName = column;
                    }
                    else
                    {
                        Shipdate = column;
                    }
                    i++;
                }

                if (!string.IsNullOrEmpty(orderNum))
                {
                    searchCount++;
                    mySqlQuery += " and  ordernum   like '%" + orderNum + "%' ";
                }

                if (!string.IsNullOrEmpty(Shipdate) && (Convert.ToString(Shipdate) != "1/1/0001 12:00:00 AM"))
                {
                    searchCount++;
                    mySqlQuery += " and   DATE_FORMAT(Shipdate, '%m/%d/%Y') = '" + Shipdate + "' ";
                }
                if (!string.IsNullOrEmpty(custnumOrName))
                {
                    searchCount++;
                    mySqlQuery += " and  Custnum   like '%" + custnumOrName + "%' ";
                }
                var orderByColumn = param.Columns[param.Order[0].Column];
                mySqlQuery += " and RowNo > " + ((param.Start / param.Length) * param.Length) + "  ";
                if (orderByColumn.Data == "Action")
                {
                    mySqlQuery += " order by Orderdate desc ";
                }
                else
                {
                    mySqlQuery += " order by  " + orderByColumn.Data + " " + param.Order[0].Dir + "";
                }

                mySqlQuery += " limit " + param.Length;
                if (param.Start == 0 && searchCount == 0)
                {
                    mySqlQuery = "select * from orders order by Orderdate desc limit 50";
                }
                var queryResult = _dbContext.tbl_Orders.FromSqlRaw(mySqlQuery).ToList <Order>();
                if (queryResult.Count() == 0 && (!string.IsNullOrEmpty(custnumOrName)))
                {
                    mySqlQuery  = "SET @row_number = 0; SELECT t.* FROM  (  SELECT *, (@row_number:=@row_number + 1) AS RowNo  FROM orders )t  where 1=1  ";
                    searchCount = 0;

                    if (!string.IsNullOrEmpty(orderNum))
                    {
                        searchCount++;
                        mySqlQuery += " and  ordernum   like '%" + orderNum + "%' ";
                    }

                    if (!string.IsNullOrEmpty(Shipdate))
                    {
                        searchCount++;
                        mySqlQuery += " and   DATE_FORMAT(Shipdate, '%m/%d/%Y') = '" + Shipdate + "' ";
                    }
                    if (!string.IsNullOrEmpty(custnumOrName))
                    {
                        searchCount++;
                        mySqlQuery += " and  Name   like '%" + custnumOrName + "%' ";
                    }
                    orderByColumn = param.Columns[param.Order[0].Column];
                    searchQuery   = mySqlQuery;
                    mySqlQuery   += " and RowNo > " + ((param.Start / param.Length) * param.Length) + "  ";
                    if (orderByColumn.Data == "Action")
                    {
                        mySqlQuery += " order by Orderdate desc ";
                    }
                    else
                    {
                        mySqlQuery += " order by  " + orderByColumn.Data + " " + param.Order[0].Dir + "";
                    }

                    mySqlQuery += " limit " + param.Length;
                }
                if (searchQuery != "")
                {
                    var searchDs = dbfunctionUtility.GetDataset(searchQuery);
                    try
                    {
                        searchRecords = Convert.ToInt32(searchDs.Tables[0].Rows[0][0]);
                    }
                    catch (Exception ex)
                    {
                    }
                }
                return(new JsonResult(new JqueryDataTablesResult <Order>
                {
                    Draw = param.Draw,
                    Data = queryResult,
                    RecordsFiltered = (searchCount == 0 ? totalRecords : (searchRecords == 0 ? queryResult.Count() : searchRecords)),
                    RecordsTotal = totalRecords
                }));
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                return(new JsonResult(new { error = "Internal Server Error" }));
            }
        }
        public Task BindModelAsync(ModelBindingContext bindingContext)
        {
            if (bindingContext == null)
            {
                throw new ArgumentNullException(nameof(bindingContext));
            }

            var allValues = bindingContext.HttpContext.Request.Query;

            // Retrieve request data
            var draw   = Convert.ToInt32(allValues.FirstOrDefault(a => a.Key == "draw").Value);
            var start  = Convert.ToInt32(allValues.FirstOrDefault(a => a.Key == "start").Value);
            var length = Convert.ToInt32(allValues.FirstOrDefault(a => a.Key == "length").Value);

            // Search
            var search = new DTSearch {
                Value = allValues.FirstOrDefault(a => a.Key == "search[value]").Value,
                Regex = Convert.ToBoolean(allValues.FirstOrDefault(a => a.Key == "search[regex]").Value)
            };

            // Order
            var o     = 0;
            var order = new List <DTOrder>();

            while (allValues.Any(a => a.Key == "order[" + o + "][column]"))
            {
                Enum.TryParse(allValues.FirstOrDefault(a => a.Key == "order[" + o + "][dir]").Value,
                              out DTOrderDir dir);

                order.Add(new DTOrder {
                    Column = Convert.ToInt32(allValues.FirstOrDefault(a => a.Key == "order[" + o + "][column]").Value),
                    Dir    = dir
                });
                o++;
            }

            // Columns
            var c       = 0;
            var columns = new List <DTColumn>();

            while (allValues.Any(a => a.Key == "columns[" + c + "][name]"))
            {
                columns.Add(new DTColumn {
                    Data       = allValues.FirstOrDefault(a => a.Key == "columns[" + c + "][data]").Value,
                    Name       = allValues.FirstOrDefault(a => a.Key == "columns[" + c + "][name]").Value,
                    Orderable  = Convert.ToBoolean(allValues.FirstOrDefault(a => a.Key == "columns[" + c + "][orderable]").Value),
                    Searchable = Convert.ToBoolean(allValues.FirstOrDefault(a => a.Key == "columns[" + c + "][searchable]").Value),
                    Search     = new DTSearch {
                        Value = allValues.FirstOrDefault(a => a.Key == "columns[" + c + "][search][value]").Value,
                        Regex = Convert.ToBoolean(allValues.FirstOrDefault(a => a.Key == "columns[" + c + "][search][regex]").Value)
                    }
                });
                c++;
            }

            // Additional Values
            var p = 0;
            var additionalValues = new List <string>();

            while (allValues.Any(a => a.Key == "additionalValues[" + p + "]"))
            {
                additionalValues.Add(allValues.FirstOrDefault(a => a.Key == "additionalValues[" + p + "]").Value);
                p++;
            }

            var model = new JqueryDataTablesParameters {
                Draw             = draw,
                Start            = start,
                Length           = length,
                Search           = search,
                Order            = order.ToArray(),
                Columns          = columns.ToArray(),
                AdditionalValues = additionalValues.ToArray()
            };

            bindingContext.Result = ModelBindingResult.Success(model);
            return(Task.CompletedTask);
        }
 public async Task <JqueryDataTablesResult <Demo> > GetDataAsync(JqueryDataTablesParameters table)
 {
     return(await JqueryDataTableHelpers.GetJqueryDataTablesResultAsync <Demo, DemoEntity>(table, _context.Demos, _mappingConfiguration));
 }
        public static async Task <JqueryDataTablesResult <T> > GetJqueryDataTablesResultAsync <T, TEntity>(JqueryDataTablesParameters @params, IQueryable <TEntity> query, IConfigurationProvider configurationProvider)
        {
            if (@params == null)
            {
                throw new ArgumentNullException($"{nameof(@params)} cannot be null!");
            }

            if (query == null)
            {
                throw new ArgumentNullException($"{nameof(query)} cannot be null!");
            }

            query = new SearchOptionsProcessor <T, TEntity>().Apply(query, @params.Columns);
            query = new SortOptionsProcessor <T, TEntity>().Apply(query, @params);

            var size = await query.CountAsync();

            if (@params.Length <= 0)
            {
                @params.Length = size;
            }

            var items = await query
                        .Skip((@params.Start / @params.Length) * @params.Length)
                        .Take(@params.Length)
                        .ProjectTo <T>(configurationProvider)
                        .ToArrayAsync();

            var results = new JqueryDataTablesPagedResults <T>
            {
                Items     = items,
                TotalSize = size
            };

            return(new JqueryDataTablesResult <T>
            {
                Draw = @params.Draw,
                Data = results.Items,
                RecordsFiltered = results.TotalSize,
                RecordsTotal = results.TotalSize
            });
        }
Exemplo n.º 28
0
        public JqueryDataTablesPagedResults <VendorWisePackageDetailsAC> VendorWisePackageDetailReport(JqueryDataTablesParameters param)
        {
            int skip      = (param.Start / param.Length) * param.Length;
            int take      = param.Length;
            int totalsize = 0;

            List <VendorWisePackageDetailsAC> searchDataList       = new List <VendorWisePackageDetailsAC>();
            List <PackageDetailListAC>        packageDetailListACs = new List <PackageDetailListAC>();

            SortedList sl = new SortedList();

            sl.Add("SkipRecord", skip);
            sl.Add("Length", take);
            sl.Add("SearchValue", param.Search.Value);

            DataSet ds = _objDalmysql.GetDataSet("usp_GetVendorWisePackageReportWithPagging", sl);

            if (ds != null)
            {
                if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0] != null)
                {
                    packageDetailListACs = _objDal.ConvertDataTableToGenericList <PackageDetailListAC>(ds.Tables[0]).ToList();
                }
                if (ds.Tables[1].Rows.Count > 0 && ds.Tables[1] != null)
                {
                    totalsize = Convert.ToInt16(ds.Tables[1].Rows[0]["TotalSize"]);
                }
            }

            var providedrWiseGroup = packageDetailListACs.GroupBy(x => x.ProviderName);

            foreach (var item in providedrWiseGroup)
            {
                VendorWisePackageDetailsAC vendorWisePackageDetailsAC = new VendorWisePackageDetailsAC();
                vendorWisePackageDetailsAC.ProviderName        = item.Key;
                vendorWisePackageDetailsAC.PackageDetailListAC = new List <PackageDetailListAC>();
                foreach (var subitem in item)
                {
                    vendorWisePackageDetailsAC.PackageDetailListAC.Add(subitem);
                }
                searchDataList.Add(vendorWisePackageDetailsAC);
            }

            return(new JqueryDataTablesPagedResults <VendorWisePackageDetailsAC>
            {
                Items = searchDataList,
                TotalSize = totalsize
            });
        }
Exemplo n.º 29
0
        public async Task <JqueryDataTablesPagedResults <ViewModels.Todo> > GetDataAsync(JqueryDataTablesParameters table)
        {
            ViewModels.Todo[] items = null;
            IQueryable <Todo> query = _context.Todos.Where(d => d.DeletedDate == null).OrderByDescending(d => d.CreatedDate).AsNoTracking();

            query = SearchOptionsProcessor <ViewModels.Todo, Todo> .Apply(query, table.Columns);

            query = SortOptionsProcessor <ViewModels.Todo, Todo> .Apply(query, table);

            var size = await query.CountAsync();

            if (table.Length > 0)
            {
                items = await query
                        .Skip((table.Start / table.Length) *table.Length)
                        .Take(table.Length)
                        .ProjectTo <ViewModels.Todo>(_mappingConfiguration)
                        .ToArrayAsync();
            }
            else
            {
                items = await query
                        .ProjectTo <ViewModels.Todo>(_mappingConfiguration)
                        .ToArrayAsync();
            }

            return(new JqueryDataTablesPagedResults <ViewModels.Todo>
            {
                Items = items,
                TotalSize = size
            });
        }
Exemplo n.º 30
0
        public JqueryDataTablesPagedResults <TransferDeActivatedReportAC> GetTransferredDeactivatedReport(JqueryDataTablesParameters param)
        {
            int totalsize = 0;
            List <TransferDeActivatedReportAC> searchDataList = new List <TransferDeActivatedReportAC>();

            int skip = (param.Start / param.Length) * param.Length;
            int take = param.Length;

            SortedList sl = new SortedList();

            sl.Add("SkipRecord", skip);
            sl.Add("Length", take);
            sl.Add("SearchValue", param.Search.Value);

            DataSet ds = _objDalmysql.GetDataSet("usp_GetTransferredDeactivatedWithPagging", sl);

            if (ds != null)
            {
                if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0] != null)
                {
                    searchDataList = _objDal.ConvertDataTableToGenericList <TransferDeActivatedReportAC>(ds.Tables[0]).ToList();
                }
                if (ds.Tables[1].Rows.Count > 0 && ds.Tables[1] != null)
                {
                    totalsize = Convert.ToInt16(ds.Tables[1].Rows[0]["TotalSize"]);
                }
            }

            return(new JqueryDataTablesPagedResults <TransferDeActivatedReportAC>
            {
                Items = searchDataList,
                TotalSize = totalsize
            });
        }