public async Task <CreateOperationResult> CreateVehicle(CreateVehicleDTO dto) { using (var dbContext = new GrowFlowContext()) { using (var service = ComplianceService.Create(dbContext, account)) { try { var result = await service.CreateVehicleAsync( account, dto.Nickname, dto.Color, dto.Make, dto.Model, int.Parse(dto.Year), dto.PlateNum, dto.Vin); return(new CreateOperationResult() { Success = true, Data = result }); } catch (Exception e) { return(new CreateOperationResult() { Success = false, Exception = e.Message }); } } } }
private Vehicle(CreateVehicleDTO vehicleDto) { Plate = new Plate(vehicleDto.Plate); Color = vehicleDto.Color; Model = vehicleDto.Model; Manufacturer = vehicleDto.Manufacturer; IsDeleted = false; UserId = vehicleDto.UserId; }
public async Task CreateVehicle(CreateVehicleDTO vehicleDto) { var vehicle = Vehicle.FromCreateDto(vehicleDto); if (vehicle.IsValid()) { await _vehicleRepository.CreateVehicle(vehicle); } else { throw new ArgumentException("Dado(s) do veículo inválido(s), verifique todos os campos!"); } }
public async Task <IActionResult> Create([FromBody] CreateVehicleDTO dto) { dto.UserId = 1; //TODO: Corrigir quando tiver autenticação try { await _vehicleBusiness.CreateVehicle(dto); return(Ok()); } catch (InvalidPlateException) { return(BadRequest("A plca informada não está correta!")); } catch (ArgumentException e) { return(BadRequest(e.Message)); } }
public static Vehicle FromCreateDto(CreateVehicleDTO vehicleDto) { return(new Vehicle(vehicleDto)); }