using GreenTree.Strohrmann.ERP.Core.Domain.Business; using GreenTree.Strohrmann.ERP.Web.Models.Shared; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; namespace GreenTree.Strohrmann.ERP.Web.Models.Business { public class MaterialModel : TrackingModel, ISearchResult { #region Properties /// /// Material id /// [Display(Name = "ID")] public int Id { get; set; } /// /// Material name /// [Display(Name = "Name")] public string Name { get; set; } /// /// Material item number /// [Display(Name = "Artikel- / Materialnummer d. Lieferanten")] public string ItemNumber { get; set; } /// /// Material description /// [Display(Name = "Beschreibung")] public string Description { get; set; } /// /// Material net value /// [Display(Name = "Nettowert")] [DisplayFormat(ApplyFormatInEditMode = false, DataFormatString = "{0:C}")] public float NetValue { get; set; } /// /// Material height /// [Display(Name = "Höhe")] public float Height { get; set; } /// /// Material width /// [Display(Name = "Breite")] public float Width { get; set; } /// /// Material depth /// [Display(Name = "Tiefe")] public float Depth { get; set; } /// /// Material dimensions (read only) /// [Display(Name = "Maße")] public string Dimension { get { return String.Format("{0:F2}x{1:F2}x{2:F2}", Height, Width, Depth); } } /// /// Material default unit /// [Display(Name = "Einheit")] public UnitModel DefaultUnit { get; set; } /// /// The amount of items per package /// [Display(Name = "Packungsgröße / -menge")] public float PackageSize { get; set; } /// /// Material supplier /// [Display(Name = "Lieferant")] public SupplierModel Supplier { get; set; } #endregion #region Search result /// /// Search result id /// public object SearchId { get { return Id; } } /// /// Search result text /// public string SearchText { get { return String.Format("{0} ({1})", Name, ItemNumber); } } #endregion #region Ctor /// /// Initializes a new instance of the MaterialModel class /// public MaterialModel() { } /// /// Initializes a new instance of the MaterialModel class /// /// The base material. public MaterialModel(Material material) : base(material) { if (material == null) return; Id = material.Id; Name = material.Name; ItemNumber = material.ItemNumber; Description = material.Description; NetValue = material.NetValue; Height = material.Height; Width = material.Width; Depth = material.Depth; DefaultUnit = new UnitModel(material.DefaultUnit); PackageSize = material.PackageSize; Supplier = new SupplierModel(material.Supplier); } #endregion } }