Ejemplo n.º 1
0
        public async Task <VehicleModelForReturnDto> Create(VehicleModelForCreationDto createDto)
        {
            var checkByName = await vehicleModelDal.GetAsync(x => x.VehicleModelName.ToLower() == createDto.VehicleModelName.ToLower());

            if (checkByName != null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { AlreadyExist = Messages.AlreadyExist });
            }

            var checkBrandById = await vehicleBrandDal.GetAsync(x => x.Id == createDto.VehicleBrandId);

            if (checkBrandById == null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { NotFound = Messages.BrandNotFound });
            }

            var mapForCreate = mapper.Map <VehicleModel>(createDto);
            var saveToDb     = await vehicleModelDal.Add(mapForCreate);

            var mapForReturn = mapper.Map <VehicleModel, VehicleModelForReturnDto>(saveToDb);

            return(mapForReturn);
        }