using GreenTree.Strohrmann.ERP.Core.Domain.Business;
using GreenTree.Strohrmann.ERP.Core.Domain.Shared;
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 EmployeeModel : TrackingModel
{
#region Properties
///
/// Employee Id
///
[Display(Name = "ID")]
public int Id { get; set; }
///
/// Employee first name
///
[Display(Name = "Vorname")]
public string Firstname { get; set; }
///
/// Employee last name
///
[Display(Name = "Nachname")]
public string Lastname { get; set; }
///
/// Employee full name
///
[Display(Name = "Voller Name")]
public string Fullname
{
get
{
return String.Format("{0} {1}", Firstname, Lastname);
}
}
///
/// Employee mail address
///
[Display(Name = "Mail-Adresse")]
public string MailAddress { get; set; }
///
/// Employee birthdate
///
[Display(Name = "Geburtsdatum")]
[DisplayFormat(ApplyFormatInEditMode = false, DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime Birthdate { get; set; }
///
/// Employee degree
///
[Display(Name = "Ausbildungsgrad")]
public virtual EmployeeDegreeModel EmployeeDegree { get; set; }
#endregion
#region Ctor
///
/// Initializes a new instance of the EmployeeModel class
///
public EmployeeModel() { }
///
/// Initializes a new instance of the EmployeeModel class
///
/// The base employee.
public EmployeeModel(Employee employee)
: base(employee)
{
if (employee == null) return;
Id = employee.Id;
Firstname = employee.Firstname;
Lastname = employee.Lastname;
MailAddress = employee.MailAddress;
Birthdate = employee.Birthdate.HasValue
? employee.Birthdate.Value
: DateTime.MinValue;
EmployeeDegree = new EmployeeDegreeModel(employee.EmployeeDegree);
}
#endregion
}
}