public IActionResult Edit(int id)
        {
            var generation = generationsService.GetById(id);

            if (generation == null)
            {
                return(this.BadRequest());
            }

            var viewModel = Mapper.Map <EditGenerationModel>(generation);

            SetUpViewBag(generation);

            return(this.View(viewModel));
        }
Ejemplo n.º 2
0
        public IActionResult All(int id)
        {
            var generation = generationsService.GetById(id);

            if (generation == null)
            {
                return(this.BadRequest());
            }

            SetUpViewBag(generation);

            var viewModel = generation.Cars
                            .AsQueryable()
                            .To <DisplayCarModel>()
                            .OrderBy(x => x.BeginningOfProductionYear)
                            .ThenBy(x => x.Engine.MaxHP)
                            .ThenBy(x => x.Engine.Name);

            return(View(viewModel));
        }
Ejemplo n.º 3
0
        public IActionResult Generations(int id)
        {
            var model = modelsService.GetById(id);

            if (model == null)
            {
                return(this.BadRequest());
            }

            var generations = generationsService
                              .GetAllForModel(id)
                              .To <DisplayGenerationWithImageModel>()
                              .ToList();

            foreach (var generation in generations)
            {
                var _gen = generationsService.GetById(generation.Id);

                generation.ProductionYearBegin = _gen
                                                 .Cars
                                                 .Min(x => x.BeginningOfProductionYear);

                generation.ProductionYearEnd = _gen.Cars
                                               .Any(x => x.EndOfProductionYear == null) ?
                                               null : _gen.Cars.Max(x => x.EndOfProductionYear);

                generation.CarsCount = _gen.Cars.Count();

                generation.ImageUrl = $"/images/generations/{generation.Id}/0.png";
            }

            generations = generations.OrderByDescending(x => x.ProductionYearBegin).ToList();

            this.ViewBag.Make    = model.Make.Name;
            this.ViewBag.Model   = model.Name;
            this.ViewBag.ModelId = model.Id.ToString();

            return(this.View(generations));
        }