public void Setup() { validVehicle = new Domain.Entities.Vehicle(1, "honda", "Civic", "prata", "abc1234", 1); handlerError = new VehicleCommandHandler(new ErrorVehicleRepository(), new CompanyVehicleCommandHandler(new ErrorCompanyVehicleRepository()), new ErrorCompanyVehicleRepository()); handlerSuccess = new VehicleCommandHandler(new SuccessVehicleRepository(), new CompanyVehicleCommandHandler(new SuccessCompanyVehicleRepository()), new SuccessCompanyVehicleRepository()); removeVehicleCommand = new RemoveVehicleCommand(10); }
protected override void Handle(CreateRepairCommand request) { var client = _dbContext.Clients.Include(c => c.Address) .Include(c => c.Vehicles) .ThenInclude(v => v.Repairs) .FirstOrDefault(c => c.Id == request.Client.Id); var manager = _dbContext.Employees.Include(e => e.Identity) .Include(m => m.Repairs) .FirstOrDefault(e => e.Id == request.ManagerId); var vehicle = _dbContext.Vehicles.Include(v => v.Type) .Include(v => v.Repairs) .FirstOrDefault(v => v.Id == request.Vehicle.Id); if (client == null) { client = new Client(request.Client.Id, request.Client.FirstName, request.Client.LastName, request.Client.PhoneNumber, request.Client.Email, request.Client.Street, request.Client.City, request.Client.Code); _dbContext.Clients.Add(client); } else { client.UpdateAddress(request.Client.Street, request.Client.City, request.Client.Code); client.UpdateContactDetails(request.Client.PhoneNumber, request.Client.Email); } if (vehicle == null) { if (_dbContext.VehicleTypes.Any(vt => vt.Id == request.Vehicle.TypeId)) { vehicle = new Domain.Entities.Vehicle(request.Vehicle.Id, request.Vehicle.RegistrationNumbers, client.Id, request.Vehicle.TypeId); } else { vehicle = new Domain.Entities.Vehicle(request.Vehicle.Id, client.Id, request.Vehicle.RegistrationNumbers, request.Vehicle.Brand, request.Vehicle.Model); } } var repair = new Domain.Entities.Repair(request.Repair.Id, request.Repair.Description, manager.Id, vehicle.Id); client.AddRepair(repair, vehicle); if (_dbContext.SaveChanges() == 0) { throw new Exception("Could not create new repair"); } }
public async Task <int> Handle(CreateVehicleCommand request, CancellationToken cancellationToken) { if (await VehicleHelper.IsVehicleNumberOccupied(request.Number, _context)) { throw new ConflictException("Vehicle number is occupied!"); } var vehicle = new Domain.Entities.Vehicle { OwnerUserId = request.OwnerUserId, Brand = request.Brand, Model = request.Model, Year = request.Year, Number = request.Number, Country = request.Country }; await _context.Vehicle.AddAsync(vehicle); await _context.SaveChangesAsync(cancellationToken); return(vehicle.VehicleId); }
public void Setup() { validVehicle = new Domain.Entities.Vehicle(1, "honda", "Civic", "prata", "abc1234", 1); }
public IndexUserDto(AppUserId appUserId, string firstName, string lastName, Domain.Entities.Vehicle vehicle) : this( appUserId, firstName, lastName) => Vehicle = vehicle is null ? null : new IndexVehicleDto(vehicle.Name);