예제 #1
0
        public virtual DriverListModel PrepareListModel(DriverSearchModel searchModel)
        {
            if (null == searchModel)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            var list = driverService.GetAll(
                pageIndex: searchModel.Page - 1,
                pageSize: searchModel.PageSize,
                name: searchModel.SearchName,
                enabled: searchModel.SearchEnabled);

            var model = new DriverListModel
            {
                Data = list.Select(x =>
                {
                    var modelItem = x.ToModel <DriverModel>();

                    return(modelItem);
                }),
                Total = list.TotalCount
            };

            return(model);
        }
예제 #2
0
        public IActionResult Search(string driverName, string company, string cdl)
        {
            using RDATContext context = new RDATContext();
            DriverSearchModel _model  = new DriverSearchModel();
            List <Driver>     drivers = new List <Driver>();

            if (driverName != "")
            {
                drivers = context.Drivers.Where(c => c.DriverName.Contains(driverName)).ToList();
            }

            if (!company.IsEmpty() && company != null)
            {
                List <Company> cos = context.Companys.Where(c => c.Name.Contains(company)).ToList();

                foreach (Company co in cos)
                {
                    List <Driver> cosDrivers = context.Drivers.Where(d => d.Company_id == co.Id).ToList();
                    if (cosDrivers != null)
                    {
                        drivers.AddRange(cosDrivers);
                    }
                }
            }

            if (!cdl.IsEmpty() && cdl != null)
            {
                List <Driver> cdlDrivers = drivers.Where(c => c.CDL.Contains(cdl)).ToList();
                if (cdlDrivers != null)
                {
                    drivers.AddRange(cdlDrivers);
                }
            }

            List <Company> _co        = context.Companys.ToList();
            var            driverList = drivers.Join(_co,
                                                     d => d.Company_id,
                                                     co => co.Id,
                                                     (driver, company) => new DriverCompanyModel
            {
                Id              = driver.Id,
                DriverName      = driver.DriverName,
                CompanyName     = company.Name,
                Phone           = driver.Phone,
                Email           = driver.Email,
                EnrollmentDate  = driver.EnrollmentDate,
                TerminationDate = driver.TerminationDate,
                isFavorite      = driver.isFavorite,
            }).ToList();

            var count = drivers.Count();

            _model.Drivers    = driverList;
            _model.DriverName = driverName;

            return(View("Index", _model));
        }
예제 #3
0
        public virtual IActionResult List(DriverSearchModel searchModel)
        {
            if (!permissionService.Authorize(StandardPermissionProvider.ManageDrivers))
            {
                return(AccessDeniedView());
            }

            var model = driverFactory.PrepareListModel(searchModel);

            return(Json(model));
        }
예제 #4
0
        public virtual DriverSearchModel PrepareSearchModel(DriverSearchModel searchModel)
        {
            if (null == searchModel)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            baseAdminModelFactory.PrepareEnabledOptions(searchModel.AvailableEnabledOptions);

            searchModel.SetGridPageSize();

            return(searchModel);
        }
        public ActionResult Search(DriverSearchModel search)
        {
            var result = _driverService.Where(Mapper.Map <DriverSearchQuery>(search));

            return(PartialView("Partials/_Drivers", Mapper.Map <DriverResultViewModel>(result)));
        }
예제 #6
0
        public IActionResult Index(int id = 0, string type = "all")
        {
            using RDATContext context = new RDATContext();
            DriverSearchModel _model = new DriverSearchModel();

            var            drivers    = new List <Driver>();
            var            listName   = "All Active Drivers";
            List <Company> _co        = context.Companys.ToList();
            var            driverList = new List <DriverCompanyModel>();

            if (id != 0)
            {
                // drivers = context.Drivers.Where(c => c.Company_id == id).ToList();
                drivers    = context.Drivers.Where(d => d.Company_id == id && !d.isDelete).ToList();
                driverList = drivers.Join(_co,
                                          d => d.Company_id,
                                          co => co.Id,
                                          (driver, company) => new DriverCompanyModel
                {
                    Id              = driver.Id,
                    DriverName      = driver.DriverName,
                    CompanyName     = company.Name,
                    Phone           = driver.Phone,
                    Email           = driver.Email,
                    EnrollmentDate  = driver.EnrollmentDate,
                    TerminationDate = driver.TerminationDate,
                    isFavorite      = driver.isFavorite,
                }).ToList();
                listName = context.Companys.Where(c => c.Id == id).FirstOrDefault().Name + " Drivers";
            }
            else
            {
                // drivers = context.Drivers.ToList();
                drivers    = context.Drivers.Where(d => !d.isDelete).ToList();
                driverList = drivers.Join(_co,
                                          d => d.Company_id,
                                          co => co.Id,
                                          (driver, company) => new DriverCompanyModel
                {
                    Id              = driver.Id,
                    DriverName      = driver.DriverName,
                    CompanyName     = company.Name,
                    Phone           = driver.Phone,
                    Email           = driver.Email,
                    EnrollmentDate  = driver.EnrollmentDate,
                    TerminationDate = driver.TerminationDate,
                    isFavorite      = driver.isFavorite,
                }).ToList();

                //
            }

            // Filter List
            if (type == "active")
            {
                driverList = driverList.Where(d => d.TerminationDate == null).ToList();
            }

            if (type == "terminated")
            {
                driverList = driverList.Where(d => d.TerminationDate != null).ToList();
            }

            var count = driverList.Count();

            ViewBag.Count    = count;
            ViewBag.ListName = listName;
            _model.Drivers   = driverList;

            return(View(_model));
        }