예제 #1
0
        /// <summary>
        /// Initializes a new instance of the
        /// <see cref="HypervisorControllerListIndexViewModel"/> class.
        /// </summary>
        /// <param name="model">The HypervisorController to reference.</param>
        /// <param name="activeHypervisorGroupCount">The number of active
        /// HypervisorGroup records linked to this HypervisorController.</param>
        private HypervisorControllerListIndexViewModel(HypervisorController model, int activeHypervisorGroupCount)
            : base(model)
        {
            // Properties from the entity, notes and tags.
            this.ReadEntityProperties(model);

            // Related entities.
            this.ActiveHypervisorGroupCount = activeHypervisorGroupCount;
        }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the
        /// <see cref="HypervisorControllerListIndexViewModel"/> class.
        /// </summary>
        /// <param name="model">The HypervisorController to reference.</param>
        public HypervisorControllerListIndexViewModel(HypervisorController model)
            : base(model)
        {
            // Properties from the entity, notes and tags.
            this.ReadEntityProperties(model);

            // Related entities.
            this.ActiveHypervisorGroupCount = model.HypervisorGroups.Where(x => !x.Inactive).Count();
        }
예제 #3
0
        /// <summary>
        /// Initializes a new instance of the
        /// <see cref="HypervisorControllerDetailsViewModel"/> class.
        /// </summary>
        /// <param name="model">The HypervisorController to reference.</param>
        /// <param name="totalHypervisorGroupCount">The count of all
        /// HypervisorGroup records, active or inactive, linked to the
        /// HypervisorController.</param>
        private HypervisorControllerDetailsViewModel(HypervisorController model, int totalHypervisorGroupCount)
            : base(model)
        {
            // Properties from the entity, notes and tags.
            this.ReadEntityProperties(model);

            // Related entities.
            this.TotalHypervisorGroupCount = totalHypervisorGroupCount;
        }
예제 #4
0
        /// <summary>
        /// Initializes a new instance of the
        /// <see cref="HypervisorControllerDetailsViewModel"/> class.
        /// </summary>
        /// <param name="model">The HypervisorController to reference.</param>
        public HypervisorControllerDetailsViewModel(HypervisorController model)
            : base(model)
        {
            // Properties from the entity, notes and tags.
            this.ReadEntityProperties(model);

            // Related entities.
            this.TotalHypervisorGroupCount = model.HypervisorGroups.Count();
        }
예제 #5
0
        /// <summary>
        /// Populates properties on the view model from an instance of the
        /// HypervisorController class.
        /// </summary>
        /// <param name="model">The HypervisorController to reference.</param>
        private void ReadEntityProperties(HypervisorController model)
        {
            // Properties from the entity.
            this.CreatedDate  = model.CreatedDate;
            this.LastUpdated  = model.LastUpdated;
            this.InactiveDate = model.InactiveDate;

            // Notes and Tags.
            this.Notes = model.Notes
                         .OrderByDescending(x => x.CreatedAt)
                         .AsEnumerable()
                         .Select(x => new NoteDetailsViewModel(x))
                         .ToList();

            this.Tags = model.TagsMetas
                        .OrderBy(x => x.Tag.Name)
                        .AsEnumerable()
                        .Select(x => new TagDetailsViewModel(x))
                        .ToList();
        }
예제 #6
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="HypervisorControllerReferenceViewModel" /> class.
 /// </summary>
 /// <param name="model">The HypervisorController to reference.</param>
 public HypervisorControllerReferenceViewModel(HypervisorController model)
 {
     this.Id       = model.Id;
     this.Name     = model.Name;
     this.Inactive = model.Inactive;
 }
예제 #7
0
 /// <summary>
 /// Populates properties on the view model from an instance of the
 /// HypervisorController class.
 /// </summary>
 /// <param name="model">The HypervisorController to reference.</param>
 private void ReadEntityProperties(HypervisorController model)
 {
     // Notes and Tags.
     this.Notes = new NoteCollectionListViewModel(model.Notes);
     this.Tags  = new TagCollectionListViewModel(model.TagsMetas);
 }