private void When(SubscriptionCreatedDomainEvent @event) { this.Id = @event.SubscriptionId; _subscriberId = new SubscriberId(@event.PayerId); _subscriptionPeriod = SubscriptionPeriod.Of(@event.SubscriptionPeriodCode); _countryCode = @event.CountryCode; _status = SubscriptionStatus.Of(@event.Status); _expirationDate = @event.ExpirationDate; }
private async Task When(SubscriptionCreatedDomainEvent subscriptionCreated) { await _connection.ExecuteScalarAsync( "UPDATE payments.SubscriptionPayments SET SubscriptionId = @SubscriptionId " + "WHERE PaymentId = @SubscriptionPaymentId ", new { subscriptionCreated.SubscriptionId, subscriptionCreated.SubscriptionPaymentId }); }
private async Task When(SubscriptionCreatedDomainEvent subscriptionCreated) { var period = SubscriptionPeriod.GetName(subscriptionCreated.SubscriptionPeriodCode); await _connection.ExecuteScalarAsync("INSERT INTO payments.SubscriptionDetails " + "([Id], [Period], [Status], [CountryCode], [ExpirationDate]) " + "VALUES (@SubscriptionId, @Period, @Status, @CountryCode, @ExpirationDate)", new { subscriptionCreated.SubscriptionId, period, subscriptionCreated.Status, subscriptionCreated.CountryCode, subscriptionCreated.ExpirationDate }); }
public static Subscription Create( SubscriptionPaymentSnapshot subscriptionPayment) { var subscription = new Subscription(); var expirationDate = SubscriptionDateExpirationCalculator.CalculateForNew(subscriptionPayment.SubscriptionPeriod); var subscriptionCreatedDomainEvent = new SubscriptionCreatedDomainEvent( subscriptionPayment.Id.Value, Guid.NewGuid(), subscriptionPayment.PayerId.Value, subscriptionPayment.SubscriptionPeriod.Code, subscriptionPayment.CountryCode, expirationDate, SubscriptionStatus.Active.Code); subscription.Apply(subscriptionCreatedDomainEvent); subscription.AddDomainEvent(subscriptionCreatedDomainEvent); return(subscription); }