public IActionResult AddVehicle([FromBody] VehicleDTO vehicleDTO) { _logger?.LogInformation($"Inicio del servicio: [Post] https://localhost:5001/api/vehicles "); try { VehicleMapper vehicleMapper = MapperFactory.CreateVehicleMapper(); Entity entity = vehicleMapper.CreateEntity(vehicleDTO); _logger?.LogInformation($" Se transformó de DTO a Entity "); AddVehicleCommand command = CommandFactory.CreateAddVehicleCommand((Vehicle)entity); _logger?.LogInformation($" Ejecución del comando "); command.Execute(); return(Ok("ok " + command.GetResult())); } catch (RequiredAttributeException ex) { _logger?.LogWarning("Atributo requerido: " + ex.Message); return(StatusCode(400, ex.Message)); } catch (ModelNotFoundException ex) { _logger?.LogWarning("Modelo con Id : " + ex.ModelId + "no encontrado"); return(StatusCode(404, ex.Message + ex.ModelId)); } catch (LocationNotFoundException ex) { _logger?.LogWarning("Lugar no encontrado"); return(StatusCode(404, ex.Message)); } catch (UniqueAttributeException ex) { _logger?.LogWarning(ex.Message); return(StatusCode(500, ex.Message)); }catch (InternalServerErrorException ex) { _logger?.LogError("Error: " + ex.Ex.Message); return(StatusCode(500, ex.Message)); } catch (Exception) { _logger?.LogError("Error inesperado"); return(StatusCode(400)); } }
public IActionResult UpdateVehicle([FromBody] VehicleDTO vehicleDTO) { _logger?.LogInformation($"Inicio del servicio: [PUT] https://localhost:5001/api/vehicles "); try{ VehicleMapper vehicleMapper = MapperFactory.CreateVehicleMapper(); Entity entity = vehicleMapper.CreateEntity(vehicleDTO); _logger?.LogInformation($" Se transformó de DTO a Entity "); UpdateVehicleCommand command = CommandFactory.CreateUpdateVehicleCommand((Vehicle)entity); _logger?.LogInformation($" Ejecución del comando "); command.Execute(); if (command.GetResult()) { return(Ok("La modificación fue realizada exitosamente")); } else { return(StatusCode(400)); } } catch (VehicleNotFoundException ex) { _logger?.LogWarning("Vehiculo con Id : " + ex.VehicleId + "no encontrado"); return(StatusCode(404, ex.Message + ex.VehicleId)); } catch (ModelNotFoundException ex) { _logger?.LogWarning("Modelo con Id : " + ex.ModelId + "no encontrado"); return(StatusCode(404, ex.Message + ex.ModelId)); } catch (LocationNotFoundException ex) { _logger?.LogWarning("Lugar no encontrado"); return(StatusCode(404, ex.Message)); } catch (InternalServerErrorException ex) { _logger?.LogError("Error: " + ex.Ex.Message); return(StatusCode(500, ex.Message)); } catch (Exception) { _logger?.LogError("Error inesperado"); return(StatusCode(400)); } }