コード例 #1
0
        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
                        });
                    }
                }
            }
        }
コード例 #2
0
ファイル: Vehicle.cs プロジェクト: CristianoRC/Gatel
 private Vehicle(CreateVehicleDTO vehicleDto)
 {
     Plate        = new Plate(vehicleDto.Plate);
     Color        = vehicleDto.Color;
     Model        = vehicleDto.Model;
     Manufacturer = vehicleDto.Manufacturer;
     IsDeleted    = false;
     UserId       = vehicleDto.UserId;
 }
コード例 #3
0
        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!");
            }
        }
コード例 #4
0
        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));
            }
        }
コード例 #5
0
ファイル: Vehicle.cs プロジェクト: CristianoRC/Gatel
 public static Vehicle FromCreateDto(CreateVehicleDTO vehicleDto)
 {
     return(new Vehicle(vehicleDto));
 }