private async Task UpdateVehicleAsync(CreateOrUpdateVehicleInput input) { var vehicleDto = input.Vehicle; var vehicle = await _vehicleRepository.GetAsync(vehicleDto.Id.Value); if (vehicle.IsNullOrDeleted()) { throw new AbpException("VehicleNotFound"); } var valueObjects = CreateVehicleValueObjects(input.Vehicle); var manufacturingInfo = valueObjects.Item1; var location = valueObjects.Item2; var purchaseInfo = valueObjects.Item3; var specs = valueObjects.Item4; vehicle.SetBasicData(vehicleDto.BranchId, vehicleDto.FuelId); //set value objects vehicle.SetLocationInfo(location); vehicle.SetPurchaseInfo(purchaseInfo); vehicle.SetSpecs(specs); await vehicle.SetManufacturingInfo(manufacturingInfo); vehicle.LastModificationTime = Clock.Now; }
public async Task CreateOrUpdateVehicle(CreateOrUpdateVehicleInput input) { if (!input.Vehicle.Id.HasValue) { await CreateVehicleAsync(input); } else { await UpdateVehicleAsync(input); } }
private async Task CreateVehicleAsync(CreateOrUpdateVehicleInput input) { var vehicleDto = input.Vehicle; var valueObjects = CreateVehicleValueObjects(input.Vehicle); var manufacturingInfo = valueObjects.Item1; var location = valueObjects.Item2; var purchaseInfo = valueObjects.Item3; var specs = valueObjects.Item4; var vehicle = await Vehicle.CreateVehicle(vehicleDto.BranchId, vehicleDto.FuelId, vehicleDto.Odometer, manufacturingInfo, purchaseInfo, location, specs); await _vehicleRepository.InsertAsync(vehicle); }