コード例 #1
0
        public async Task <ActionResult <CarModel> > CreateCar([FromBody] CarAddModel car)
        {
            if (car == null)
            {
                return(await Task.FromResult <ActionResult>(this.BadRequest(new ErrorModel(1, "Id", "The car can not be null!").ToList())));
            }

            if (car.Year < 1885)
            {
                return(await Task.FromResult <ActionResult>(this.UnprocessableEntity("Vehicle year is invalid!")));
            }

            if (!Enum.IsDefined(typeof(EnumColor), car.Color))
            {
                return(await Task.FromResult <ActionResult>(this.UnprocessableEntity("Color of the vehicle is invalid!")));
            }

            if (CarRepository.Cars.Count() > 30)
            {
                return(await Task.FromResult <ActionResult>(this.UnprocessableEntity("It is not possible to add more vehicles, please delete the available vehicles!")));
            }

            var result = this.InsertCar(car);

            if (result == null)
            {
                return(await Task.FromResult <ActionResult>(this.UnprocessableEntity("This car has already been registered!")));
            }
            else
            {
                return(await Task.FromResult <ActionResult>(this.Created(result.Id.ToString(), result)));
            }
        }
コード例 #2
0
        private CarModel InsertCar(CarAddModel car)
        {
            if (CarRepository.Cars.Any(x =>
                                       x.Brand.Equals(car.Brand, StringComparison.OrdinalIgnoreCase) &&
                                       x.Model.Equals(car.Model, StringComparison.OrdinalIgnoreCase) &&
                                       x.Year == car.Year))
            {
                return(null);
            }

            var entity = new CarModel(car);

            CarRepository.Cars.Add(entity);
            return(entity);
        }