/// <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; }
/// <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(); }
/// <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; }
/// <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(); }
/// <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(); }
/// <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; }
/// <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); }