private void When(SubscriptionRenewedDomainEvent @event) { this.Id = @event.SubscriptionId; _subscriptionPeriod = SubscriptionPeriod.Of(@event.SubscriptionPeriodCode); _status = SubscriptionStatus.Of(@event.Status); _expirationDate = @event.ExpirationDate; }
public void Renew( SubscriptionRenewalPaymentSnapshot subscriptionRenewalPayment) { var expirationDate = SubscriptionDateExpirationCalculator.CalculateForRenewal( _expirationDate, subscriptionRenewalPayment.SubscriptionPeriod); SubscriptionRenewedDomainEvent subscriptionRenewedDomainEvent = new SubscriptionRenewedDomainEvent( this.Id, expirationDate, subscriptionRenewalPayment.PayerId.Value, subscriptionRenewalPayment.SubscriptionPeriod.Code, SubscriptionStatus.Active.Code); this.Apply(subscriptionRenewedDomainEvent); this.AddDomainEvent(subscriptionRenewedDomainEvent); }
private async Task When(SubscriptionRenewedDomainEvent subscriptionRenewed) { var period = SubscriptionPeriod.GetName(subscriptionRenewed.SubscriptionPeriodCode); await _connection.ExecuteScalarAsync("UPDATE payments.SubscriptionDetails " + "SET " + "[Status] = @Status, " + "[ExpirationDate] = @ExpirationDate, " + "[Period] = @Period " + "WHERE [Id] = @SubscriptionId", new { subscriptionRenewed.SubscriptionId, subscriptionRenewed.Status, subscriptionRenewed.ExpirationDate, period }); }