using System; using System.ComponentModel.DataAnnotations; namespace EnVisage.Models { public class CreditDepartmentModel : IBaseModel { public Guid Id { get; set; } [Required] [MaxLength(100)] [Display(Name = "Department")] public string Name { get; set; } [Required] [MaxLength(50)] [Display(Name = "Cost Center")] public string CreditNumber { get; set; } [Display(Name = "Number of Expenditures")] public int ExpenditureCategoryCount { get; set; } /// /// Copies data from model to DAL object. /// /// A target DAL object. public void CopyTo(CreditDepartment dbObj) { if (dbObj == null) throw new ArgumentNullException(); dbObj.Name = Name; dbObj.CreditNumber = CreditNumber; } } /// /// An UI representation of CreditDepartment to be displayed as list items /// public class CreditDepartmentListModel { public Guid Id { get; set; } public string Name { get; set; } public string CreditNumber { get; set; } public int ExpenditureCount { get; set; } } public class CreditDepartmentApiModel { public Guid Id { get; set; } public string Name { get; set; } public string CreditNumber { get; set; } #region Constructors public CreditDepartmentApiModel() { } public CreditDepartmentApiModel(CreditDepartmentModel model) : this() { if (model == null) throw new ArgumentNullException("model"); Id = model.Id; Name = model.Name; CreditNumber = model.CreditNumber; } #endregion } }