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 async Task <MeteringPoint> GetByGsrnNumberAsync(GsrnNumber gsrnNumber) { if (gsrnNumber is null) { throw new ArgumentNullException(nameof(gsrnNumber)); } var meteringPointQuery = $"SELECT * FROM [dbo].[MarketEvaluationPoints]" + "WHERE GsrnNumber = @GsrnNumber"; var meteringPoint = await Connection.QueryFirstOrDefaultAsync <MarketEvaluationPointDataModel>( meteringPointQuery, new { GsrnNumber = gsrnNumber.Value, }).ConfigureAwait(false); if (meteringPoint is null) { return(null !); } var relationships = await GetRelationshipsDataModelAsync(meteringPoint.Id).ConfigureAwait(false); return(MeteringPoint.CreateFrom(CreateMarketEvaluationPointSnapshot(meteringPoint, relationships))); }
private Task <MeteringPoint> GetMeteringPointAsync(string gsrnNumber) { var meteringPointId = GsrnNumber.Create(gsrnNumber); var meteringPoint = _meteringPointRepository.GetByGsrnNumberAsync(meteringPointId); return(meteringPoint); }
private (ProcessId, GsrnNumber, Instant) CreateTestValues() { var processId = new ProcessId(Guid.NewGuid().ToString()); var gsrnNumber = GsrnNumber.Create("571234567891234568"); var effectiveDate = SystemClock.Instance.GetCurrentInstant().Plus(Duration.FromDays(60)); return(processId, gsrnNumber, effectiveDate); }
public MeteringPointClosedDown(GsrnNumber gsrnNumber) { GsrnNumber = gsrnNumber; }
public MeteringPointCreated(GsrnNumber gsrnNumber, MeteringPointType meteringPointType) { GsrnNumber = gsrnNumber; MeteringPointType = meteringPointType; }
public void Should_create_when_gsrn_value_is_valid(string gsrnValue) { Assert.NotNull(GsrnNumber.Create(gsrnValue)); }
public void Should_throw_when_length_is_invalid(string gsrnValue) { Assert.Throws <InvalidMeteringPointIdRuleException>(() => GsrnNumber.Create(gsrnValue)); }
private static GsrnNumber CreateGsrnNumber() { return(GsrnNumber.Create("571234567891234568")); }
public EnergySupplierChangeRegistered(GsrnNumber gsrnNumber, ProcessId processId, Instant effectiveDate) { GsrnNumber = gsrnNumber; ProcessId = processId; EffectiveDate = effectiveDate; }