using ComputerStoreContracts.BindingModels; using ComputerStoreDataModels.Models; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ComputerStoreContracts.ViewModels { public class PCViewModel : IPCModel { public int ID { get; set; } [DisplayName("PC's name")] public string Name { get; set; } = string.Empty; [DisplayName("PC's price")] public double Price { get; set; } public int EmployeeID { get; set; } [DisplayName("Employee's username")] public string EmployeeUsername { get; set; } = string.Empty; [DisplayName("Request ID")] public int RequestID { get; set; } public Dictionary PCComponents { get; set; } = new(); [JsonConstructor] public PCViewModel(Dictionary PCComponents) { this.PCComponents = PCComponents.ToDictionary(x => x.Key, x => (x.Value.Component as IComponentModel, x.Value.Quantity)); } public PCViewModel() { } } }