public RevisionViewModel(IRevisionSetItem revision, bool selected, bool blocking)
        {
            this.revision = revision;
            this.Number = revision.Number;
            this.Selected = selected;
            this.Blocking = blocking;
            if (revision.UserOverride != null)
            {
                this.UserOverride =
                    new ReleaseStatusViewModel
                    {
                        CanBeReleased = revision.UserOverride.CanBeReleased,
                        Ignore = revision.UserOverride.Ignore
                    };
            }
            else
            {
                this.UserOverride = new ReleaseStatusViewModel();
            }

            this.NaturalReleaseStatus =
                    new ReleaseStatusViewModel
                    {
                        CanBeReleased = revision.NaturalReleaseStatus,
                        Ignore = revision.NaturalIgnore
                    };

            this.ReleaseStatus =
                    new ReleaseStatusViewModel
                    {
                        CanBeReleased = revision.ReleaseStatus,
                        Ignore = revision.Ignore
                    };

            this.PropogatedStatus =
                    new ReleaseStatusViewModel
                    {
                        CanBeReleased = revision.CanBeReleased,
                        Ignore = revision.Ignore,
                        IsBlocked = revision.IsBlocked
                    };
        }
 private RevisionViewModel GetRevisionViewModel(IRevisionSetItem revision)
 {
     if (revision == null)
     {
         return new EmptyRevisionViewModel();
     }
     return new RevisionViewModel(revision);
 }
 public RevisionViewModel(IRevisionSetItem revision)
     : this(revision, false, false)
 {
 }