public VehicleController(IVehicleService service, IEmployeeService employeeService, IVehicleParameters vehicleParameters, IEmployeeParameters employeeParameters) { this.Service = service; this.EmployeeService = employeeService; this.VehicleParameters = vehicleParameters; this.EmployeeParameters = employeeParameters; }
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)); }
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); }