public async Task <IActionResult> Add([FromBody] VehicleViewModel vehicle) { var(EntitySuccessfullyAdded, Entity) = await _vehiclesRepository.Add(vehicle); if (EntitySuccessfullyAdded) { return(RedirectToAction(nameof(Get), new { Id = Entity.Id })); } return(Ok(new { status = "error", data = $"not possible add{vehicle.Name}" })); }
public async Task <Unit> Handle(Data request, CancellationToken cancellationToken) { Guid _Id = Guid.NewGuid(); var vehicle = new Vehicle { Id = _Id, Enrollment = request.Enrollment, Brand = request.Brand, Model = request.Model, RegularDriver = request.RegularDriver, Status = true }; var findEnrollment = await _vehiclesRepository.FindBy(f => f.Enrollment == vehicle.Enrollment); if (findEnrollment != null & findEnrollment.Count > 0) { throw new ExceptionHandler(HttpStatusCode.Conflict, new { mensaje = "Enrollment existing in the database" }); } _vehiclesRepository.Add(vehicle); if (request.DriverList != null) { foreach (var id in request.DriverList) { var findDriver = await _driverRepository.FindBy(f => f.Id == id); if (!findDriver.Any()) { throw new ExceptionHandler(HttpStatusCode.Conflict, new { mensaje = $"Driver does not exist: {id}." }); } var driverVehicle = new DriverVehicle { Id = Guid.NewGuid(), DriverId = id, VehicleId = vehicle.Id }; _driverVehicleRepository.Add(driverVehicle); } } var value = await _vehiclesRepository.Commit(); if (value > 0) { return(Unit.Value); } throw new Exception("The record was not inserted"); }
public async Task <(bool IsSuccess, Vehicle Vehicle)> InsertVehicle(Vehicle vehicle) { try { var response = await vehicleRepository.Add(vehicle); return(response); } catch (Exception ex) { logger.LogError(ex, ex.Message); } return(false, null); }