public BacklogItemStatusChanged(Tenants.TenantId tenantId, BacklogItemId backlogItemId, BacklogItemStatus status)
        {
            this.TenantId = tenantId;
            this.EventVersion = 1;
            this.OccurredOn = DateTime.UtcNow;
            this.BacklogItemId = backlogItemId;

            this.Status = status;
        }
        public BacklogItem(TenantId tenantId, ProductId productId, BacklogItemId backlogItemId, string summary,
            string category, BacklogItemType type, BacklogItemStatus backlogItemStatus, StoryPoints storyPoints)
        {
            AssertionConcern.NotEmpty(summary, "The summary must be provided.");
            AssertionConcern.Length(summary, 100, "The summary must be 100 characters or less.");

            this.TenantId = tenantId;
            this.ProductId = productId;
            this.BacklogItemId = backlogItemId;
            this.Summary = summary;
            this.Category = category;
            this.Type = type;
            this.Status = backlogItemStatus;
            this.StoryPoints = storyPoints;

            this._tasks = new List<Task>();
        }
 public BacklogItem(
     TenantId tenantId,
     ProductId productId,
     BacklogItemId backlogItemId,
     string summary,
     string category,
     BacklogItemType type,
     BacklogItemStatus backlogItemStatus,
     StoryPoints storyPoints)
 {
     this.BacklogItemId = backlogItemId;
     this.Category = category;
     this.ProductId = productId;
     this.Status = backlogItemStatus;
     this.StoryPoints = storyPoints;
     this.Summary = summary;
     this.TenantId = tenantId;
     this.Type = type;
 }
 void ElevateStatusWith(BacklogItemStatus status)
 {
     if (this.Status == BacklogItemStatus.Scheduled)
     {
         this.Status = BacklogItemStatus.Committed;
     }
 }