示例#1
0
        public GenericListModel <CompanyModel> GetSearchCompaniesList(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <CompanyModel> baseListModel = new GenericListModel <CompanyModel>();

            try
            {
                //if (!base.CompanyHasPermision(baseListModel))
                //    return baseListModel;
                IQueryable <Company> companies = prepareSearch(dataTableSearchParameters.search.value);

                foreach (JQDTColumnOrder order in dataTableSearchParameters.order)
                {
                    switch (order.column)
                    {
                    case 0:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            companies = companies.OrderBy(c => c.Name);
                        }
                        else
                        {
                            companies = companies.OrderByDescending(c => c.Name);
                        }
                        break;

                    case 1:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            companies = companies.OrderBy(c => c.Notes);
                        }
                        else
                        {
                            companies = companies.OrderByDescending(c => c.Notes);
                        }
                        break;
                    }
                }

                baseListModel.Total = companies.Count();
                companies           = companies.Skip(dataTableSearchParameters.start);

                if (dataTableSearchParameters.length != -1)
                {
                    companies = companies.Take(dataTableSearchParameters.length);
                }

                CompanyMapper.Map(dbContext, companies.ToList(), baseListModel.List);
            }
            catch (Exception ex)
            {
                base.HandleError(baseListModel, CommonLayer.LookUps.ErrorType.Critical, ex);
            }

            return(baseListModel);
        }
示例#2
0
        public GenericListModel <SettingModel> GetSearchSettingsList(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <SettingModel> baseListModel = new GenericListModel <SettingModel>();

            try
            {
                //if (!base.UserHasPermision(baseListModel))
                //    return baseListModel;

                IQueryable <Setting> settings = dbContext.Settings.OrderBy(x => x.CreatedAt);

                if (!string.IsNullOrEmpty(dataTableSearchParameters.search.value))
                {
                    settings = settings.Where(x => x.Key.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()));
                }

                foreach (JQDTColumnOrder order in dataTableSearchParameters.order)
                {
                    switch (order.column)
                    {
                    case 0:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            settings = CommonLayer.Helpers.Utilites.GetLocalizedOrderBy(settings.OrderBy(c => c.EnglishName), settings.OrderBy(c => c.ArabicName));
                        }
                        else
                        {
                            settings = CommonLayer.Helpers.Utilites.GetLocalizedOrderBy(settings.OrderByDescending(c => c.EnglishName), settings.OrderByDescending(c => c.ArabicName));
                        }
                        break;
                    }
                }

                baseListModel.Total = settings.Count();
                settings            = settings.Skip(dataTableSearchParameters.start);

                if (dataTableSearchParameters.length != -1)
                {
                    settings = settings.Take(dataTableSearchParameters.length);
                }


                SettingMapper.Map(settings.ToList(), baseListModel.List);
            }
            catch (Exception ex)
            {
                base.HandleError(baseListModel, CommonLayer.LookUps.ErrorType.Critical, ex);
            }

            return(baseListModel);
        }
示例#3
0
        public JsonResult GetTrucks(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <TruckModel> baseListModel = new GenericListModel <TruckModel>();

            using (TruckBAL truckBAL = new TruckBAL(ContextInfo))
            {
                baseListModel = truckBAL.GetSearchTrucksList(dataTableSearchParameters);
            }

            return(Json(new
            {
                baseModel = baseListModel
            }, JsonRequestBehavior.AllowGet));
        }
示例#4
0
        public JsonResult GetRoles(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <RoleModel> baseListModel = new GenericListModel <RoleModel>();

            using (RoleBAL roleBAL = new RoleBAL(ContextInfo))
            {
                baseListModel = roleBAL.GetSearchRolesList(dataTableSearchParameters);
            }

            return(Json(new
            {
                baseModel = baseListModel
            }, JsonRequestBehavior.AllowGet));
        }
示例#5
0
        public JsonResult GetUsers(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <UserModel> baseListModel = new GenericListModel <UserModel>();

            using (UserBAL userBAL = new UserBAL(ContextInfo))
            {
                baseListModel = userBAL.GetSearchUsersList(dataTableSearchParameters);
            }

            return(Json(new
            {
                baseModel = baseListModel
            }, JsonRequestBehavior.AllowGet));
        }
示例#6
0
        public JsonResult GetSettings(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <SettingModel> baseListModel = new GenericListModel <SettingModel>();

            using (SettingBAL settingBAL = new SettingBAL(ContextInfo))
            {
                baseListModel = settingBAL.GetSearchSettingsList(dataTableSearchParameters);
            }

            return(Json(new
            {
                baseModel = baseListModel
            }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult GetCompanies(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <CompanyModel> baseListModel = new GenericListModel <CompanyModel>();

            using (CompanyBAL companyBAL = new CompanyBAL(ContextInfo))
            {
                baseListModel = companyBAL.GetSearchCompaniesList(dataTableSearchParameters);
            }

            return(Json(new
            {
                baseModel = baseListModel
            }, JsonRequestBehavior.AllowGet));
        }
示例#8
0
        public GenericListModel <RoleModel> GetSearchRolesList(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <RoleModel> baseListModel = new GenericListModel <RoleModel>();

            try
            {
                IQueryable <AspNetRole> aspNetRoles = dbContext.AspNetRoles.OrderBy(x => x.CreatedAt);

                if (!string.IsNullOrEmpty(dataTableSearchParameters.search.value))
                {
                    aspNetRoles = aspNetRoles.Where(x => x.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()));
                }


                foreach (JQDTColumnOrder order in dataTableSearchParameters.order)
                {
                    switch (order.column)
                    {
                    case 0:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            aspNetRoles = aspNetRoles.OrderBy(c => c.Name);
                        }
                        else
                        {
                            aspNetRoles = aspNetRoles.OrderByDescending(c => c.Name);
                        }
                        break;
                    }
                }

                baseListModel.Total = aspNetRoles.Count();
                aspNetRoles         = aspNetRoles.Skip(dataTableSearchParameters.start);

                if (dataTableSearchParameters.length != -1)
                {
                    aspNetRoles = aspNetRoles.Take(dataTableSearchParameters.length);
                }

                RoleMapper.Map(aspNetRoles.ToList(), baseListModel.List);
            }
            catch (Exception ex)
            {
                base.HandleError(baseListModel, CommonLayer.LookUps.ErrorType.Critical, ex);
            }

            return(baseListModel);
        }
示例#9
0
        public GenericListModel <TruckModel> GetSearchTrucksList(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <TruckModel> baseListModel = new GenericListModel <TruckModel>();

            try
            {
                IQueryable <Common.DAL.Truck> trucks = prepareSearch(dataTableSearchParameters.search.value);

                foreach (JQDTColumnOrder order in dataTableSearchParameters.order)
                {
                    switch (order.column)
                    {
                    case 0:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            trucks = trucks.OrderBy(c => c.Name);
                        }
                        else
                        {
                            trucks = trucks.OrderByDescending(c => c.Name);
                        }
                        break;

                    case 1:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            trucks = trucks.OrderBy(c => c.OnBuyPrice);
                        }
                        else
                        {
                            trucks = trucks.OrderByDescending(c => c.OnBuyPrice);
                        }
                        break;

                    case 2:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            trucks = trucks.OrderBy(c => c.OnBuyMilage);
                        }
                        else
                        {
                            trucks = trucks.OrderByDescending(c => c.OnBuyMilage);
                        }
                        break;

                    case 3:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            trucks = trucks.OrderBy(c => c.DriverId == null ? "" : c.Driver.Name);
                        }
                        else
                        {
                            trucks = trucks.OrderByDescending(c => c.DriverId == null ? "" : c.Driver.Name);
                        }
                        break;
                    }
                }

                baseListModel.Total = trucks.Count();
                trucks = trucks.Skip(dataTableSearchParameters.start);

                if (dataTableSearchParameters.length != -1)
                {
                    trucks = trucks.Take(dataTableSearchParameters.length);
                }

                TruckMapper.Map(dbContext, trucks.ToList(), baseListModel.List);
            }
            catch (Exception ex)
            {
                base.HandleError(baseListModel, CommonLayer.LookUps.ErrorType.Critical, ex);
            }

            return(baseListModel);
        }
示例#10
0
        public GenericListModel <USAStateModel> GetSearchUSAStatesList(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <USAStateModel> baseListModel = new GenericListModel <USAStateModel>();

            try
            {
                //if (!base.USAStateHasPermision(baseListModel))
                //    return baseListModel;
                IQueryable <USAState> uSAStates = dbContext.USAStates.OrderBy(x => x.CreatedAt);

                if (!string.IsNullOrEmpty(dataTableSearchParameters.search.value))
                {
                    uSAStates = uSAStates.Where(x =>
                                                x.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()) ||
                                                x.StateCode.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()) ||
                                                x.Notes.ToLower().Contains(dataTableSearchParameters.search.value.ToLower())
                                                );
                }

                foreach (JQDTColumnOrder order in dataTableSearchParameters.order)
                {
                    switch (order.column)
                    {
                    case 0:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            uSAStates = uSAStates.OrderBy(c => c.Name);
                        }
                        else
                        {
                            uSAStates = uSAStates.OrderByDescending(c => c.Name);
                        }
                        break;

                    case 1:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            uSAStates = uSAStates.OrderBy(c => c.StateCode);
                        }
                        else
                        {
                            uSAStates = uSAStates.OrderByDescending(c => c.StateCode);
                        }
                        break;
                    }
                }

                baseListModel.Total = uSAStates.Count();
                uSAStates           = uSAStates.Skip(dataTableSearchParameters.start);

                if (dataTableSearchParameters.length != -1)
                {
                    uSAStates = uSAStates.Take(dataTableSearchParameters.length);
                }

                USAStateMapper.Map(dbContext, uSAStates.ToList(), baseListModel.List);
            }
            catch (Exception ex)
            {
                base.HandleError(baseListModel, CommonLayer.LookUps.ErrorType.Critical, ex);
            }

            return(baseListModel);
        }
示例#11
0
        public GenericListModel <UserModel> GetSearchUsersList(DataTableSearchParameters <Nullable <bool> > dataTableSearchParameters)
        {
            GenericListModel <UserModel> baseListModel = new GenericListModel <UserModel>();

            try
            {
                //if (!base.UserHasPermision(baseListModel))
                //    return baseListModel;
                IQueryable <AspNetUser> aspNetUsers = dbContext.AspNetUsers.OrderBy(x => x.CreatedAt);

                if (!string.IsNullOrEmpty(dataTableSearchParameters.search.value))
                {
                    aspNetUsers = aspNetUsers.Where(x =>
                                                    x.UserName.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()) ||
                                                    x.EnglishName.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()) ||
                                                    x.ArabicName.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()) ||
                                                    x.Email.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()) ||
                                                    x.PhoneNumber.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()) ||
                                                    x.AspNetRoles.Any(a => a.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()))
                                                    );
                }

                foreach (JQDTColumnOrder order in dataTableSearchParameters.order)
                {
                    switch (order.column)
                    {
                    case 0:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            aspNetUsers = aspNetUsers.OrderBy(c => c.UserName);
                        }
                        else
                        {
                            aspNetUsers = aspNetUsers.OrderByDescending(c => c.UserName);
                        }
                        break;

                    case 1:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            aspNetUsers = CommonLayer.Helpers.Utilites.GetLocalizedOrderBy(aspNetUsers.OrderBy(c => c.EnglishName), aspNetUsers.OrderBy(c => c.ArabicName));
                        }
                        else
                        {
                            aspNetUsers = CommonLayer.Helpers.Utilites.GetLocalizedOrderBy(aspNetUsers.OrderByDescending(c => c.EnglishName), aspNetUsers.OrderByDescending(c => c.ArabicName));
                        }
                        break;

                    case 2:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            aspNetUsers = aspNetUsers.OrderBy(c => c.Email);
                        }
                        else
                        {
                            aspNetUsers = aspNetUsers.OrderByDescending(c => c.Email);
                        }
                        break;

                    case 3:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            aspNetUsers = aspNetUsers.OrderBy(c => c.PhoneNumber);
                        }
                        else
                        {
                            aspNetUsers = aspNetUsers.OrderByDescending(c => c.PhoneNumber);
                        }
                        break;
                    }
                }

                baseListModel.Total = aspNetUsers.Count();
                aspNetUsers         = aspNetUsers.Skip(dataTableSearchParameters.start);

                if (dataTableSearchParameters.length != -1)
                {
                    aspNetUsers = aspNetUsers.Take(dataTableSearchParameters.length);
                }

                UserMapper.Map(dbContext, aspNetUsers.ToList(), baseListModel.List);

                PrepareListUserModel(baseListModel);
            }
            catch (Exception ex)
            {
                base.HandleError(baseListModel, CommonLayer.LookUps.ErrorType.Critical, ex);
            }

            return(baseListModel);
        }
示例#12
0
        public GenericListModel <TruckExpenseModel> GetSearchTruckExpensessList(DataTableSearchParameters <TruckExpenseSearchModel> dataTableSearchParameters)
        {
            GenericListModel <TruckExpenseModel> baseListModel = new GenericListModel <TruckExpenseModel>();

            try
            {
                //if (!base.TruckExpensesHasPermision(baseListModel))
                //    return baseListModel;
                IQueryable <Common.DAL.TruckExpens> truckExpenses = dbContext.TruckExpenses.OrderBy(x => x.CreatedAt);

                if (dataTableSearchParameters.CustomSearchObject != null)
                {
                    if (!string.IsNullOrEmpty(dataTableSearchParameters.CustomSearchObject.AtDateString))
                    {
                        dataTableSearchParameters.CustomSearchObject.AtDate = dataTableSearchParameters.CustomSearchObject.AtDateString.ConvertToDateTime();
                    }

                    truckExpenses = truckExpenses.Where(x =>
                                                        (string.IsNullOrEmpty(dataTableSearchParameters.CustomSearchObject.TruckId) || x.TruckId == dataTableSearchParameters.CustomSearchObject.TruckId) &&
                                                        (string.IsNullOrEmpty(dataTableSearchParameters.CustomSearchObject.ExpenseTypeId) || x.ExpenseTypeId == dataTableSearchParameters.CustomSearchObject.ExpenseTypeId) &&
                                                        (dataTableSearchParameters.CustomSearchObject.AtDate == null || x.AtDate == dataTableSearchParameters.CustomSearchObject.AtDate.Value)
                                                        );
                }

                if (!string.IsNullOrEmpty(dataTableSearchParameters.search.value))
                {
                    truckExpenses = truckExpenses.Where(x =>
                                                        (x.ExpenseTypeId == null || string.IsNullOrEmpty(x.TruckExpensType.Name) || x.TruckExpensType.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                                        (x.TruckId == null || string.IsNullOrEmpty(x.Truck.Name) || x.Truck.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                                        (x.Price == null || x.Price.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                                        (x.AtDate == null || x.AtDate.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                                        (string.IsNullOrEmpty(x.Notes) || x.Notes.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()))
                                                        );
                }

                foreach (JQDTColumnOrder order in dataTableSearchParameters.order)
                {
                    switch (order.column)
                    {
                    case 0:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            truckExpenses = truckExpenses.OrderBy(c => c.TruckId == null ? "" : c.Truck.Name);
                        }
                        else
                        {
                            truckExpenses = truckExpenses.OrderByDescending(c => c.TruckId == null ? "" : c.Truck.Name);
                        }
                        break;

                    case 1:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            truckExpenses = truckExpenses.OrderBy(c => c.ExpenseTypeId == null ? "" : c.TruckExpensType.Name);
                        }
                        else
                        {
                            truckExpenses = truckExpenses.OrderByDescending(c => c.ExpenseTypeId == null ? "" : c.TruckExpensType.Name);
                        }
                        break;

                    case 2:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            truckExpenses = truckExpenses.OrderBy(c => c.Price);
                        }
                        else
                        {
                            truckExpenses = truckExpenses.OrderByDescending(c => c.Price);
                        }
                        break;

                    case 3:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            truckExpenses = truckExpenses.OrderBy(c => c.AtDate);
                        }
                        else
                        {
                            truckExpenses = truckExpenses.OrderByDescending(c => c.AtDate);
                        }
                        break;
                    }
                }

                baseListModel.Total = truckExpenses.Count();
                truckExpenses       = truckExpenses.Skip(dataTableSearchParameters.start);

                if (dataTableSearchParameters.length != -1)
                {
                    truckExpenses = truckExpenses.Take(dataTableSearchParameters.length);
                }

                TruckExpenseMapper.Map(dbContext, truckExpenses.ToList(), baseListModel.List);
            }
            catch (Exception ex)
            {
                base.HandleError(baseListModel, CommonLayer.LookUps.ErrorType.Critical, ex);
            }

            return(baseListModel);
        }
示例#13
0
        public GenericListModel <TruckLoadModel> GetSearchTrucksLoadsList(DataTableSearchParameters <TruckLoadSearchModel> dataTableSearchParameters)
        {
            GenericListModel <TruckLoadModel> baseListModel = new GenericListModel <TruckLoadModel>();

            try
            {
                //if (!base.LoadHasPermision(baseListModel))
                //    return baseListModel;
                IQueryable <Common.DAL.TruckLoad> loads = dbContext.TruckLoads.OrderBy(x => x.CreatedAt);

                if (dataTableSearchParameters.CustomSearchObject != null)
                {
                    if (!string.IsNullOrEmpty(dataTableSearchParameters.CustomSearchObject.FromDateString))
                    {
                        dataTableSearchParameters.CustomSearchObject.FromDate = dataTableSearchParameters.CustomSearchObject.FromDateString.ConvertToDateTime();
                    }
                    if (!string.IsNullOrEmpty(dataTableSearchParameters.CustomSearchObject.ToDateString))
                    {
                        dataTableSearchParameters.CustomSearchObject.ToDate = dataTableSearchParameters.CustomSearchObject.ToDateString.ConvertToDateTime();
                    }

                    loads = loads.Where(x =>
                                        (string.IsNullOrEmpty(dataTableSearchParameters.CustomSearchObject.TruckId) || x.TruckId == dataTableSearchParameters.CustomSearchObject.TruckId) &&
                                        (string.IsNullOrEmpty(dataTableSearchParameters.CustomSearchObject.DriverId) || x.DriverId == dataTableSearchParameters.CustomSearchObject.DriverId) &&
                                        (string.IsNullOrEmpty(dataTableSearchParameters.CustomSearchObject.CompanyId) || x.DriverId == dataTableSearchParameters.CustomSearchObject.CompanyId) &&
                                        (string.IsNullOrEmpty(dataTableSearchParameters.CustomSearchObject.StatusId) || x.DriverId == dataTableSearchParameters.CustomSearchObject.StatusId) &&
                                        (dataTableSearchParameters.CustomSearchObject.FromDate == null || (x.FromDate.HasValue && x.FromDate.Value >= dataTableSearchParameters.CustomSearchObject.FromDate.Value)) &&
                                        (dataTableSearchParameters.CustomSearchObject.ToDate == null || (x.ToDate.HasValue && x.ToDate.Value <= dataTableSearchParameters.CustomSearchObject.ToDate.Value))
                                        );
                }

                if (!string.IsNullOrEmpty(dataTableSearchParameters.search.value))
                {
                    loads = loads.Where(x =>
                                        (x.TruckId == null || string.IsNullOrEmpty(x.Truck.Name) || x.Truck.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.DriverId == null || string.IsNullOrEmpty(x.Driver.Name) || x.Driver.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.CompanyId == null || string.IsNullOrEmpty(x.Company.Name) || x.Company.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.StatusId == null || string.IsNullOrEmpty(x.TruckLoadStatus.Name) || x.TruckLoadStatus.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.Milage == null || x.Milage.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.FromStateId == null || string.IsNullOrEmpty(x.USAState.Name) || x.USAState.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.ToStateId == null || string.IsNullOrEmpty(x.USAState1.Name) || x.USAState1.Name.ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (string.IsNullOrEmpty(x.FromNotes) || x.FromNotes.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (string.IsNullOrEmpty(x.ToNotes) || x.ToNotes.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (string.IsNullOrEmpty(x.Notes) || x.Notes.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.Price == null || x.Price.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.PricePerMile == null || x.PricePerMile.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.FromDate == null || x.FromDate.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.ToDate == null || x.ToDate.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.FuelCost == null || x.FuelCost.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.DriverPerMileCost == null || x.PricePerMile.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (x.OtherCosts == null || x.PricePerMile.ToString().ToLower().Contains(dataTableSearchParameters.search.value.ToLower())) ||
                                        (string.IsNullOrEmpty(x.OtherCostsNotes) || x.OtherCostsNotes.ToLower().Contains(dataTableSearchParameters.search.value.ToLower()))
                                        );
                }

                foreach (JQDTColumnOrder order in dataTableSearchParameters.order)
                {
                    switch (order.column)
                    {
                    case 0:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            loads = loads.OrderBy(c => c.TruckId == null ? "" : c.Truck.Name);
                        }
                        else
                        {
                            loads = loads.OrderByDescending(c => c.TruckId == null ? "" : c.Truck.Name);
                        }
                        break;

                    case 1:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            loads = loads.OrderBy(c => c.DriverId == null ? "" : c.Driver.Name);
                        }
                        else
                        {
                            loads = loads.OrderByDescending(c => c.DriverId == null ? "" : c.Driver.Name);
                        }
                        break;

                    case 2:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            loads = loads.OrderBy(c => c.CompanyId == null ? "" : c.Company.Name);
                        }
                        else
                        {
                            loads = loads.OrderByDescending(c => c.CompanyId == null ? "" : c.Company.Name);
                        }
                        break;

                    case 3:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            loads = loads.OrderBy(c => c.StatusId == null ? "" : c.TruckLoadStatus.Name);
                        }
                        else
                        {
                            loads = loads.OrderByDescending(c => c.StatusId == null ? "" : c.TruckLoadStatus.Name);
                        }
                        break;

                    case 4:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            loads = loads.OrderBy(c => c.Milage);
                        }
                        else
                        {
                            loads = loads.OrderByDescending(c => c.Milage);
                        }
                        break;

                    case 5:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            loads = loads.OrderBy(c => c.Price);
                        }
                        else
                        {
                            loads = loads.OrderByDescending(c => c.Price);
                        }
                        break;

                    case 6:
                        if (order.dir == JQDTColumnOrderDirection.asc)
                        {
                            loads = loads.OrderBy(c => c.PricePerMile);
                        }
                        else
                        {
                            loads = loads.OrderByDescending(c => c.PricePerMile);
                        }
                        break;
                    }
                }

                baseListModel.Total = loads.Count();
                loads = loads.Skip(dataTableSearchParameters.start);

                if (dataTableSearchParameters.length != -1)
                {
                    loads = loads.Take(dataTableSearchParameters.length);
                }

                TruckLoadMapper.Map(dbContext, loads.ToList(), baseListModel.List);
            }
            catch (Exception ex)
            {
                base.HandleError(baseListModel, CommonLayer.LookUps.ErrorType.Critical, ex);
            }

            return(baseListModel);
        }