public static バックログアイテムディスカッション FromAvailability(ディスカッションアベイラビリティ availability) { if (availability == ディスカッションアベイラビリティ.Ready) throw new ArgumentException("Cannot be created ready."); return new バックログアイテムディスカッション( new ディスカッション記述子(ディスカッション記述子.UNDEFINED_ID), availability); }
public static プロダクトディスカッション FromAvailability( ディスカッションアベイラビリティ availability) { if (availability == ディスカッションアベイラビリティ.Ready) throw new InvalidOperationException("Cannot be created ready."); var descriptor = new ディスカッション記述子(ディスカッション記述子.UNDEFINED_ID); return new プロダクトディスカッション(descriptor, availability); }
public プロダクト作成時( テナントId tenantId, プロダクトId productId, プロダクトオーナId productOwnerId, string name, string description, ディスカッションアベイラビリティ availability) { this.Availability = availability; this.Description = description; this.EventVersion = 1; this.Name = name; this.OccurredOn = DateTime.Now; this.ProductId = productId; this.ProductOwnerId = productOwnerId; this.TenantId = tenantId; }
public void RequestDiscussion(ディスカッションアベイラビリティ availability) { if (this.Discussion.Availability != ディスカッションアベイラビリティ.Ready) { this.Discussion = バックログアイテムディスカッション.FromAvailability(availability); DomainEventPublisher.Instance.Publish( new バックログアイテムディスカッションリクエスト時( this.TenantId, this.ProductId, this.BacklogItemId, availability == ディスカッションアベイラビリティ.Requested)); } }
public バックログアイテムディスカッション(ディスカッション記述子 descriptor, ディスカッションアベイラビリティ availability) { this.Descriptor = descriptor; this.Availability = availability; }
public プロダクトディスカッション(ディスカッション記述子 descriptor, ディスカッションアベイラビリティ availability) { AssertionConcern.AssertArgumentNotNull(descriptor, "The descriptor must be provided."); this.Availability = availability; this.Descriptor = descriptor; }