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 <Unit> Handle(Data request, CancellationToken cancellationToken) { var vehicle = _vehiclesRepository.GetSingle(request.Id); if (vehicle == null) { throw new Exception("no record found"); } _vehiclesRepository.Delete(vehicle); var result = await _vehiclesRepository.Commit(); if (result > 0) { return(Unit.Value); } throw new Exception("Records were not saved"); }