Example #1
0
        public async Task <IActionResult> Update(int id, [FromBody] Save_VehicleDTO model)
        {
            if (model.Id != id)
            {
                ModelState.AddModelError("Id", $"Vehicle id doesn´t match: {id} != {model.Id}");
            }
            if (model.VehicleFeatures.Any(x => x.VehicleId != id))
            {
                ModelState.AddModelError("Id", $"Some features doesn´t match with the current vehicle: {id} != {string.Join(",", model.VehicleFeatures.Select(x => x.VehicleId))}");
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Vehicle vehicle = await vehicleDAL.GetVehicleById(id);

            if (vehicle == null)
            {
                return(NotFound($"Vehicle with id {id} has not been found"));
            }

            mapper.Map <Save_VehicleDTO, Vehicle>(model, vehicle);

            vehicleDAL.UpdateVehicle(vehicle);
            dataLayerContext.CompleteChanges();

            vehicle = await vehicleDAL.GetVehicleById(vehicle.Id);

            var vehicleDTO = mapper.Map <Vehicle, VehicleDTO>(vehicle);

            return(Ok(vehicleDTO));
        }
 public VehiclePage()
 {
     InitializeComponent();
     httpClient      = new HttpClient();
     save_VehicleDTO = new Save_VehicleDTO();
     GetMakes();
 }
Example #3
0
        public async Task <IActionResult> Save([FromBody] Save_VehicleDTO model)
        {
            if (model.Id != 0)
            {
                ModelState.AddModelError("id", "Id can´t be assigned manually");
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var vehicle = mapper.Map <Save_VehicleDTO, Vehicle>(model);

            vehicleDAL.AddVehicle(vehicle);
            dataLayerContext.CompleteChanges();
            vehicle = await vehicleDAL.GetVehicleById(vehicle.Id);

            var vehicleDTO = mapper.Map <Vehicle, VehicleDTO>(vehicle);

            return(Ok(vehicleDTO));
        }