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(); }
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)); }