Example #1
0
 public VehicleController(IVehicleService service, IEmployeeService employeeService, IVehicleParameters vehicleParameters, IEmployeeParameters employeeParameters)
 {
     this.Service            = service;
     this.EmployeeService    = employeeService;
     this.VehicleParameters  = vehicleParameters;
     this.EmployeeParameters = employeeParameters;
 }
Example #2
0
        public async Task <StaticPagedList <IVehicle> > GetAllPagedListAsync(IVehicleParameters vehicleParameters)
        {
            var count = await VehicleRepository.GetCountAsync(vehicleParameters);

            var vehicleList = await VehicleRepository.GetAllAsync(vehicleParameters);

            var vehiclePagedList = new StaticPagedList <IVehicle>(vehicleList, vehicleParameters.PageNumber.Value, vehicleParameters.PageSize.Value, count);

            return(vehiclePagedList);
        }
 public Task <int> GetCountAsync(IVehicleParameters parameters)
 {
     if (!String.IsNullOrEmpty(GenericParameters.SearchString) && parameters.OnStock != true)
     {
         GenericParameters.Filter = i => i.Name.Contains(GenericParameters.SearchString);
     }
     else if (!String.IsNullOrEmpty(GenericParameters.SearchString) && parameters.OnStock == true)
     {
         GenericParameters.Filter = i => i.Name.Contains(GenericParameters.SearchString) && i.EmployeeID == null;
     }
     else if (parameters.OnStock == true)
     {
         GenericParameters.Filter = i => i.EmployeeID == null;
     }
     return(Repository.GetCountAsync(GenericParameters));
 }
Example #4
0
 public async Task <List <IVehicle> > GetAllAsync(IVehicleParameters vehicleParameters)
 {
     return(new List <IVehicle>(await VehicleRepository.GetAllAsync(vehicleParameters)));
 }
        public async Task <IEnumerable <IVehicle> > GetAllAsync(IVehicleParameters parameters)
        {
            GenericParameters = Mapper.Map <IGenericRepositoryParameters <VehicleEntity> >(parameters);
            if (parameters.Paged)
            {
                if (!String.IsNullOrEmpty(GenericParameters.SearchString) && parameters.OnStock != true)
                {
                    GenericParameters.Filter = v => v.Name.Contains(GenericParameters.SearchString);
                }
                else if (!String.IsNullOrEmpty(GenericParameters.SearchString) && parameters.OnStock == true)
                {
                    GenericParameters.Filter = v => v.Name.Contains(GenericParameters.SearchString) && v.EmployeeID == null;
                }
                else if (parameters.OnStock == true)
                {
                    GenericParameters.Filter = v => v.EmployeeID == null;
                }
                #region Possible to add orderby and dec/asc field to parameters to reduce code here
                switch (GenericParameters.SortOrder)
                {
                case "Name":
                    GenericParameters.OrderBy = source => source.OrderBy(v => v.Name);
                    break;

                case "name_desc":
                    GenericParameters.OrderBy = source => source.OrderByDescending(v => v.Name);
                    break;

                case "Type":
                    GenericParameters.OrderBy = source => source.OrderBy(v => v.Type);
                    break;

                case "type_desc":
                    GenericParameters.OrderBy = source => source.OrderByDescending(v => v.Type);
                    break;

                case "LicenseExpirationDate":
                    GenericParameters.OrderBy = source => source.OrderBy(v => v.LicenseExpirationDate);
                    break;

                case "licenseExpirationDate_desc":
                    GenericParameters.OrderBy = source => source.OrderByDescending(v => v.LicenseExpirationDate);
                    break;

                case "Mileage":
                    GenericParameters.OrderBy = source => source.OrderBy(v => v.Mileage);
                    break;

                case "mileage_desc":
                    GenericParameters.OrderBy = source => source.OrderByDescending(v => v.Mileage);
                    break;

                case "NextService":
                    GenericParameters.OrderBy = source => source.OrderBy(v => v.NextService);
                    break;

                case "nextService_desc":
                    GenericParameters.OrderBy = source => source.OrderByDescending(v => v.NextService);
                    break;

                case "Employee":
                    GenericParameters.OrderBy = source => source.OrderBy(v => v.Employee.Name);
                    break;

                case "employee_desc":
                    GenericParameters.OrderBy = source => source.OrderByDescending(v => v.Employee.Name);
                    break;

                default:
                    GenericParameters.OrderBy = source => source.OrderBy(v => v.ID);
                    break;
                }
                #endregion
                GenericParameters.Skip = (GenericParameters.PageNumber - 1) * GenericParameters.PageSize;
                GenericParameters.Take = GenericParameters.PageSize;
            }
            var vehicleList = (Mapper.Map <List <IVehicle> >(await Repository.GetAllAsync(GenericParameters)));
            return(vehicleList);
        }