MaterialModel.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. using GreenTree.Strohrmann.ERP.Core.Domain.Business;
  2. using GreenTree.Strohrmann.ERP.Web.Models.Shared;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel.DataAnnotations;
  6. using System.Linq;
  7. using System.Threading.Tasks;
  8. namespace GreenTree.Strohrmann.ERP.Web.Models.Business
  9. {
  10. public class MaterialModel : TrackingModel
  11. {
  12. #region Properties
  13. /// <summary>
  14. /// Material id
  15. /// </summary>
  16. [Display(Name = "ID")]
  17. public int Id { get; set; }
  18. /// <summary>
  19. /// Material name
  20. /// </summary>
  21. [Display(Name = "Name")]
  22. public string Name { get; set; }
  23. /// <summary>
  24. /// Material item number
  25. /// </summary>
  26. [Display(Name = "Artikel- / Materialnummer d. Lieferanten")]
  27. public string ItemNumber { get; set; }
  28. /// <summary>
  29. /// Material description
  30. /// </summary>
  31. [Display(Name = "Beschreibung")]
  32. public string Description { get; set; }
  33. /// <summary>
  34. /// Material net value
  35. /// </summary>
  36. [Display(Name = "Nettowert")]
  37. [DisplayFormat(ApplyFormatInEditMode = false, DataFormatString = "{0:C}")]
  38. public float NetValue { get; set; }
  39. /// <summary>
  40. /// Material height
  41. /// </summary>
  42. [Display(Name = "Höhe")]
  43. public decimal Height { get; set; }
  44. /// <summary>
  45. /// Material width
  46. /// </summary>
  47. [Display(Name = "Breite")]
  48. public decimal Width { get; set; }
  49. /// <summary>
  50. /// Material depth
  51. /// </summary>
  52. [Display(Name = "Tiefe")]
  53. public decimal Depth { get; set; }
  54. /// <summary>
  55. /// Material dimensions (read only)
  56. /// </summary>
  57. [Display(Name = "Maße")]
  58. public string Dimension
  59. {
  60. get
  61. {
  62. return String.Format("{0:F2}x{1:F2}x{2:F2}", Height, Width, Depth);
  63. }
  64. }
  65. /// <summary>
  66. /// Material default unit
  67. /// </summary>
  68. [Display(Name = "Einheit")]
  69. public UnitModel DefaultUnit { get; set; }
  70. /// <summary>
  71. /// The amount of items per package
  72. /// </summary>
  73. [Display(Name = "Packungsgröße / -menge")]
  74. public decimal PackageSize { get; set; }
  75. /// <summary>
  76. /// Material supplier
  77. /// </summary>
  78. [Display(Name = "Lieferant")]
  79. public SupplierModel Supplier { get; set; }
  80. #endregion
  81. #region Ctor
  82. /// <summary>
  83. /// Initializes a new instance of the MaterialModel class
  84. /// </summary>
  85. public MaterialModel() { }
  86. /// <summary>
  87. /// Initializes a new instance of the MaterialModel class
  88. /// </summary>
  89. /// <param name="material">The base material.</param>
  90. public MaterialModel(Material material)
  91. : base(material)
  92. {
  93. if (material == null) return;
  94. Id = material.Id;
  95. Name = material.Name;
  96. ItemNumber = material.ItemNumber;
  97. Description = material.Description;
  98. NetValue = Convert.ToSingle(material.NetValue);
  99. Height = material.Height;
  100. Width = material.Width;
  101. Depth = material.Depth;
  102. DefaultUnit = new UnitModel(material.DefaultUnit);
  103. PackageSize = material.PackageSize;
  104. Supplier = new SupplierModel(material.Supplier);
  105. }
  106. #endregion
  107. }
  108. }