Exemplo n.º 1
0
        // GET: VehicleModel
        public async Task <ActionResult> Index(string vehiclemake, string search, int?page, string currentFilter, string sortOrder)
        {
            var modelmake = await _modelService.GetModels();

            ViewBag.Search = search;
            string src = "";

            if (vehiclemake != null)
            {
                src = vehiclemake;
            }
            else
            {
                src = search;
            }
            VehicleFilters filter = new VehicleFilters(src, currentFilter);
            VehiclePaging  paging = new VehiclePaging(page);

            var models = await _modelService.GetModelsList(filter, paging);

            var makes = modelmake.Select(m => m.VehicleMake.Name).Distinct();

            ViewBag.VehicleMake = new SelectList(makes);
            List <VehicleModelViewModel> viewModel = _mapper.Map <List <VehicleModelViewModel> >(models);
            var pagedList = new StaticPagedList <VehicleModelViewModel>(viewModel, paging.Page ?? 1, paging.PageSize, paging.TotalItems);

            FilteringCheck(ViewBag, filter, paging);
            return(View(pagedList));
        }
Exemplo n.º 2
0
 private void FilteringCheck(dynamic ViewBag, VehicleFilters filter, VehiclePaging page)
 {
     if (filter.SearchString != null)
     {
         page.Page = 1;
     }
     else
     {
         filter.SearchString = filter.CurrentFilter;
     }
     ViewBag.CurrentFilter = filter.SearchString;
 }
Exemplo n.º 3
0
        // GET: VehicleMake
        public async Task <ActionResult> Index(string searchString, int?page, string currentFilter, string sortOrder)
        {
            VehicleFilters filter = new VehicleFilters(searchString, currentFilter);
            VehiclePaging  paging = new VehiclePaging(page);
            var            makes  = await _vehicleService.GetMakesList(filter, paging);

            List <VehicleMakeViewModel> viewModel = _mapper.Map <List <VehicleMakeViewModel> >(makes);
            var pagedList = new StaticPagedList <VehicleMakeViewModel>(viewModel, paging.Page ?? 1, paging.PageSize, paging.TotalItems);

            SortingCheck(ViewBag, filter, paging);
            return(View(pagedList));
        }
        // GET: VehicleMake
        public async Task <ActionResult> Index(string sortBy, string currentFilter, string searchString, int?page)
        {
            VehicleFilters filters = new VehicleFilters(searchString, currentFilter);
            VehicleSorting sorting = new VehicleSorting(sortBy);
            VehiclePaging  paging  = new VehiclePaging(page);

            var vehicles = await _vehicleService.GetVehicleMakeListAsync(filters, sorting, paging);

            List <VehicleMakeViewModel> vehiclesListDest = iMapper.Map <List <VehicleMakeViewModel> >(vehicles);
            var paginatedVehiclesList = new StaticPagedList <VehicleMakeViewModel>(vehiclesListDest, paging.Page ?? 1, paging.ResultsPerPage, paging.TotalCount);

            UpdateView(ViewBag, filters, sorting, paging);

            return(View(paginatedVehiclesList));
        }
        public async Task ShouldReturnEmptyModelList()
        {
            //Arrange
            var vehicleModels = new List <IVehicleModel>().AsEnumerable();

            string searchString = "";
            string sortBy       = "";
            int    page         = 0;

            VehicleFilters filters = new VehicleFilters(searchString);
            VehicleSorting sorting = new VehicleSorting(sortBy);
            VehiclePaging  paging  = new VehiclePaging(page);

            _modelRepoMock.Setup(x => x.GetAll(filters, sorting, paging)).Returns(Task.FromResult(vehicleModels));
            //Act
            var result = await _sut.GetVehicleModels(filters, sorting, paging);

            //Assert
            result.Should().BeEmpty();
        }
        public async Task <IHttpActionResult> GetVehicleModels(string sortBy, string searchString, int?page)
        {
            VehicleFilters filters = new VehicleFilters(searchString);
            VehicleSorting sorting = new VehicleSorting(sortBy);
            VehiclePaging  paging  = new VehiclePaging(page);

            IEnumerable <IVehicleModel> vehicleModels = await _vehicleService.GetVehicleModels(filters, sorting, paging);

            List <VehicleModelViewModel> vehicleModelsDest = iMapper.Map <List <VehicleModelViewModel> >(vehicleModels);

            return(Ok(new
            {
                models = vehicleModelsDest,
                pagingInfo = new
                {
                    resultsPerPage = paging.ResultsPerPage,
                    totalCount = paging.TotalCount,
                    pageNumber = paging.Page,
                }
            }));
        }
        public async Task ShouldReturnModelList()
        {
            //Arrange
            var vehicleModels = new List <IVehicleModel>()
            {
                new VehicleModel()
                {
                    Id     = 1,
                    Name   = "123",
                    Abrv   = "Mercedes",
                    MakeId = 1
                },
                new VehicleModel()
                {
                    Id     = 2,
                    Name   = "A5",
                    Abrv   = "Audi",
                    MakeId = 2
                },
            }.AsEnumerable();

            string searchString = "";
            string sortBy       = "";
            int    page         = 0;

            VehicleFilters filters = new VehicleFilters(searchString);
            VehicleSorting sorting = new VehicleSorting(sortBy);
            VehiclePaging  paging  = new VehiclePaging(page);

            _modelRepoMock.Setup(x => x.GetAll(filters, sorting, paging)).Returns(Task.FromResult(vehicleModels));
            //Act
            var result = await _sut.GetVehicleModels(filters, sorting, paging);

            //Assert
            result.Should().BeEquivalentTo(vehicleModels);
        }
Exemplo n.º 8
0
        public async Task <IEnumerable <IVehicleMake> > GetVehicleMakes(VehicleFilters filters, VehicleSorting sorting, VehiclePaging paging)
        {
            IEnumerable <IVehicleMake> query = await _repository.GetAll(filters, sorting, paging);

            return(query.ToList());
        }
 public async Task <IEnumerable <VehicleModel> > GetVehicleModelList(VehicleFilters filters, VehicleSorting sorting, VehiclePaging paging)
 {
     return(await _vehicleRepository.GetVehicleModelList(filters, sorting, paging));
 }
Exemplo n.º 10
0
        // Vehicle Make
        public async Task <IEnumerable <VehicleMake> > GetVehicleMakeList(VehicleFilters filters, VehicleSorting sorting, VehiclePaging paging)
        {
            IQueryable <VehicleMake> vehicles = from vehicle in _entities.VehicleMakes
                                                select vehicle;

            //filter/find
            if (filters.ShouldApplyFilters())
            {
                vehicles = vehicles.Where(m => m.Name.Contains(filters.FilterBy) || m.Abrv.Contains(filters.FilterBy));
            }

            paging.TotalCount = vehicles.Count();
            // sort
            switch (sorting.SortBy)
            {
            case "name_desc":
                vehicles = vehicles.OrderByDescending(v => v.Name);
                break;

            case "Abrv":
                vehicles = vehicles.OrderBy(v => v.Abrv);
                break;

            case "abrv_desc":
                vehicles = vehicles.OrderByDescending(v => v.Abrv);
                break;

            default:     // sort by name
                vehicles = vehicles.OrderBy(v => v.Name);
                break;
            }

            return(await vehicles.Skip(paging.ItemsToSkip).Take(paging.ResultsPerPage).ToListAsync());
        }
        public async Task <IEnumerable <IVehicleModel> > GetAll(VehicleFilters filters, VehicleSorting sorting, VehiclePaging paging)
        {
            IQueryable <VehicleModelEntityModel> models = _genericRepository.GetAll();

            if (filters.ShouldApplyFilters())
            {
                models = models.Where(m => m.Name.Contains(filters.FilterBy) ||
                                      m.Abrv.Contains(filters.FilterBy) ||
                                      m.MakeId.ToString().Contains(filters.FilterBy));
            }

            paging.TotalCount = models.Count();

            switch (sorting.SortBy)
            {
            case "name_desc":
                models = models.OrderByDescending(v => v.Name);
                break;

            case "Abrv":
                models = models.OrderBy(v => v.Abrv);
                break;

            case "abrv_desc":
                models = models.OrderByDescending(v => v.Abrv);
                break;

            case "MakeId":
                models = models.OrderBy(v => v.MakeId);
                break;

            case "makeid_desc":
                models = models.OrderByDescending(v => v.MakeId);
                break;

            default:
                models = models.OrderBy(v => v.Name);
                break;
            }
            return(await models.Skip(paging.ItemsToSkip).Take(paging.ResultsPerPage).ProjectTo <VehicleModel>(_mapperConfiguration).ToListAsync());
        }
Exemplo n.º 12
0
        public async Task <IEnumerable <VehicleModel> > GetModelsList(VehicleFilters filter, VehiclePaging page)
        {
            IQueryable <VehicleModel> model = from m in context.VehicleModels.Include(m => m.VehicleMake) select m;

            if (filter.Filters())
            {
                model = model.Where(v => v.Name.Contains(filter.FilterBy) || v.Abrv.Contains(filter.FilterBy) || v.VehicleMake.Name.Contains(filter.FilterBy));
            }
            page.TotalItems = model.Count();
            return(await model.OrderBy(m => m.Name).Skip(page.Skip).Take(page.PageSize).ToListAsync());
        }
        // Index methods
        private void UpdateView(dynamic ViewBag, VehicleFilters filters, VehicleSorting sorting, VehiclePaging paging)
        {
            ViewBag.CurrentSort = sorting.SortBy;
            ViewBag.SortByName  = sorting.SortByName;
            ViewBag.SortByAbrv  = sorting.SortByAbrv;

            // paging - if searchString is updated, return to page 1

            if (filters.SearchString != null)
            {
                paging.Page = 1;
            }
            else // else keep the filter
            {
                filters.SearchString = filters.CurrentFilter;
            }

            // current filter - keeps filter between pages
            ViewBag.CurrentFilter = filters.SearchString;
        }
        private void UpdateView(dynamic ViewBag, VehicleFilters filters, VehicleSorting sorting, VehiclePaging paging)
        {
            // current sort by - keep sorting between pages
            ViewBag.CurrentSort = sorting.SortBy;
            // sort by
            ViewBag.SortByName = String.IsNullOrEmpty(sorting.SortBy) ? "name_desc" : "";
            ViewBag.SortByAbrv = sorting.SortBy == "Abrv" ? "abrv_desc" : "Abrv";
            ViewBag.SortById   = sorting.SortBy == "MakeId" ? "makeid_desc" : "MakeId";

            // paging - if searchString is updated, return to page 1
            if (filters.SearchString != null)
            {
                paging.Page = 1;
            }
            else // else keep the filter
            {
                filters.SearchString = filters.CurrentFilter;
            }
            // current filter - keeps filter between pages
            ViewBag.CurrentFilter = filters.SearchString;
        }
Exemplo n.º 15
0
        public async Task <IEnumerable <VehicleMake> > GetMakesList(VehicleFilters filter, VehiclePaging pageing)
        {
            IQueryable <VehicleMake> makes = from make in context.VehicleMakes select make;

            if (filter.Filters())
            {
                makes = makes.Where(m => m.Name.Contains(filter.FilterBy) || m.Abrv.Contains(filter.FilterBy));
            }
            pageing.TotalItems = makes.Count();
            return(await makes.OrderBy(m => m.Name).Skip(pageing.Skip).Take(pageing.PageSize).ToListAsync());
        }
Exemplo n.º 16
0
 public async Task <IEnumerable <VehicleMake> > GetMakesList(VehicleFilters filter, VehiclePaging pages)
 {
     return(await _vehicleRepository.GetMakesList(filter, pages));
 }
Exemplo n.º 17
0
 public async Task <IEnumerable <VehicleModel> > GetModelsList(VehicleFilters filter, VehiclePaging page)
 {
     return(await _modelRepository.GetModelsList(filter, page));
 }
Exemplo n.º 18
0
        public async Task <IEnumerable <VehicleModel> > GetVehicleModelList(VehicleFilters filters, VehicleSorting sorting, VehiclePaging paging)
        {
            IQueryable <VehicleModel> models = from model in _entities.VehicleModels
                                               select model;

            if (filters.ShouldApplyFilters())
            {
                models = models.Where(m => m.Name.Contains(filters.FilterBy) ||
                                      m.Abrv.Contains(filters.FilterBy) ||
                                      m.MakeId.ToString().Contains(filters.FilterBy));
            }

            paging.TotalCount = models.Count();
            // sort
            switch (sorting.SortBy)
            {
            case "name_desc":
                models = models.OrderByDescending(v => v.Name);
                break;

            case "Abrv":
                models = models.OrderBy(v => v.Abrv);
                break;

            case "abrv_desc":
                models = models.OrderByDescending(v => v.Abrv);
                break;

            case "MakeId":
                models = models.OrderBy(v => v.MakeId);
                break;

            case "makeid_desc":
                models = models.OrderByDescending(v => v.MakeId);
                break;

            default:     // sort by name
                models = models.OrderBy(v => v.Name);
                break;
            }
            return(await models.Skip(paging.ItemsToSkip).Take(paging.ResultsPerPage).ToListAsync());
        }