private async Task Seed(string energySupplierGlnNumber, string meteringPointGsrnNumber) { //TODO: Need to separate customers from energy suppliers - This does not make any sense at all var customerId = "Unknown"; var customer = new EnergySupplier(new GlnNumber(customerId)); _energySupplierRepository.Add(customer); var energySupplierGln = new GlnNumber(energySupplierGlnNumber); var energySupplier = new EnergySupplier(energySupplierGln); _energySupplierRepository.Add(energySupplier); await _unitOfWorkCallback.CommitAsync().ConfigureAwait(false); var meteringPoint = MeteringPoint.CreateProduction( GsrnNumber.Create(meteringPointGsrnNumber), true); var systemTimeProvider = _serviceProvider.GetRequiredService <ISystemDateTimeProvider>(); meteringPoint.RegisterMoveIn(new MarketParticipantMrid(customerId), new MarketParticipantMrid(energySupplierGlnNumber), systemTimeProvider.Now().Minus(Duration.FromDays(365))); meteringPoint.ActivateMoveIn(new MarketParticipantMrid(customerId), new MarketParticipantMrid(energySupplierGlnNumber)); _meteringPointRepository.Add(meteringPoint); await _unitOfWorkCallback.CommitAsync().ConfigureAwait(false); }
public void Add(EnergySupplier energySupplier) { if (energySupplier is null) { throw new ArgumentNullException(nameof(energySupplier)); } var snapshot = energySupplier.GetSnapshot(); var dataModel = GetDataModelFrom(snapshot); _unitOfWorkCallback.RegisterNew(dataModel, this); }