Ejemplo n.º 1
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (ReleaseName.Length != 0)
            {
                hash ^= ReleaseName.GetHashCode();
            }
            if (ReleaseId != 0L)
            {
                hash ^= ReleaseId.GetHashCode();
            }
            if (ReleaseAction.Length != 0)
            {
                hash ^= ReleaseAction.GetHashCode();
            }
            if (TriggeredBy.Length != 0)
            {
                hash ^= TriggeredBy.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Ejemplo n.º 2
0
        public Release ScheduleRelease(
            ReleaseId newReleaseId,
            String name,
            String description,
            DateTime begins,
            DateTime ends)
        {
            Release release =
                new Release(
                    this.TenantId,
                    this.ProductId,
                    newReleaseId,
                    name,
                    description,
                    begins,
                    ends);

            DomainEventPublisher
            .Instance
            .Publish(new ProductReleaseScheduled(
                         release.TenantId,
                         release.ProductId,
                         release.ReleaseId,
                         release.Name,
                         release.Description,
                         release.Begins,
                         release.Ends));

            return(release);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (Id.Length != 0)
            {
                hash ^= Id.GetHashCode();
            }
            if (RepoSource.Length != 0)
            {
                hash ^= RepoSource.GetHashCode();
            }
            if (RepoOwner.Length != 0)
            {
                hash ^= RepoOwner.GetHashCode();
            }
            if (RepoName.Length != 0)
            {
                hash ^= RepoName.GetHashCode();
            }
            if (ReleaseId.Length != 0)
            {
                hash ^= ReleaseId.GetHashCode();
            }
            hash ^= steps_.GetHashCode();
            if (insertedAtTime_ != null)
            {
                hash ^= InsertedAtTime.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
 public ProductReleaseScheduled(
     TenantId tenantId,
     ProductId productId,
     ReleaseId releaseId,
     string name,
     string description,
     DateTime starts,
     DateTime ends)
 {
     this.Description = description;
     this.Ends = ends;
     this.EventVersion = 1;
     this.Name = name;
     this.OccurredOn = DateTime.Now;
     this.ProductId = productId;
     this.ReleaseId = releaseId;
     this.Starts = starts;
     this.TenantId = tenantId;
 }
Ejemplo n.º 5
0
 public ProductReleaseScheduled(
     TenantId tenantId,
     ProductId productId,
     ReleaseId releaseId,
     string name,
     string description,
     DateTime starts,
     DateTime ends)
 {
     this.Description  = description;
     this.Ends         = ends;
     this.EventVersion = 1;
     this.Name         = name;
     this.OccurredOn   = DateTime.Now;
     this.ProductId    = productId;
     this.ReleaseId    = releaseId;
     this.Starts       = starts;
     this.TenantId     = tenantId;
 }
 public ProductReleaseScheduled(
     TenantId tenantId,
     ProductId productId,
     ReleaseId releaseId,
     string name,
     string description,
     DateTime starts,
     DateTime ends)
 {
     Description  = description;
     Ends         = ends;
     EventVersion = 1;
     Name         = name;
     OccurredOn   = DateTime.Now;
     ProductId    = productId;
     ReleaseId    = releaseId;
     Starts       = starts;
     TenantId     = tenantId;
 }
Ejemplo n.º 7
0
        public void ScheduleFor(Release release)
        {
            AssertionConcern.AssertArgumentNotNull(release, "Release must not be null.");
            AssertionConcern.AssertArgumentEquals(TenantId, release.TenantId, "Release must be of same tenant.");
            AssertionConcern.AssertArgumentEquals(ProductId, release.ProductId, "Release must be of same product.");

            if (IsScheduledForRelease && !ReleaseId.Equals(release.ReleaseId))
            {
                UnscheduleFromRelease();
            }

            if (Status == BacklogItemStatus.Planned)
            {
                Status = BacklogItemStatus.Scheduled;
            }

            ReleaseId = release.ReleaseId;

            DomainEventPublisher.Instance.Publish(
                new BacklogItemScheduled(TenantId, BacklogItemId, release.ReleaseId));
        }
Ejemplo n.º 8
0
        public Release(
            TenantId tenantId,
            ProductId productId,
            ReleaseId releaseId,
            string name,
            string description,
            DateTime begins,
            DateTime ends)
        {
            if (ends.Ticks < begins.Ticks)
                throw new InvalidOperationException("Release must not end before it begins.");

            this.Begins = begins;
            this.Description = description;
            this.Ends = ends;
            this.Name = name;
            this.ProductId = productId;
            this.ReleaseId = releaseId;
            this.TenantId = tenantId;
            this.backlogItems = new HashSet<ScheduledBacklogItem>();
        }
Ejemplo n.º 9
0
        public Release ScheduleRelease(
                ReleaseId newReleaseId,
                String name,
                String description,
                DateTime begins,
                DateTime ends)
        {
            Release release =
                new Release(
                        this.TenantId,
                        this.ProductId,
                        newReleaseId,
                        name,
                        description,
                        begins,
                        ends);

            DomainEventPublisher
                .Instance
                .Publish(new ProductReleaseScheduled(
                        release.TenantId,
                        release.ProductId,
                        release.ReleaseId,
                        release.Name,
                        release.Description,
                        release.Begins,
                        release.Ends));

            return release;
        }