private async Task <bool> HandleAsync(VehicleUpdated e) { Log.Information("Updated Vehicle: {LicenseNumber}, {Brand}, {Type}, Owner Id: {OwnerId}", e.LicenseNumber, e.Brand, e.Type, e.OwnerId); try { using (var transaction = await _dbContext.Database.BeginTransactionAsync()) { var vehicle = await _dbContext.Vehicles.FirstAsync(v => v.LicenseNumber == e.LicenseNumber); vehicle.LicenseNumber = e.LicenseNumber; vehicle.Brand = e.Brand; vehicle.Type = e.Type; vehicle.OwnerId = e.OwnerId; _dbContext.Vehicles.Update(vehicle); await _dbContext.SaveChangesAsync(); await transaction.CommitAsync(); } } catch (DbUpdateException) { Console.WriteLine($"Skipped updating vehicle with license number {e.LicenseNumber}."); } return(true); }
public static Vehicle ToEntity(this VehicleUpdated e) => FromVehicleInfo((e.LicenseNumber, e.Brand, e.Type), e.OwnerId);