Ver Fonte

Mitarbeiter begonnen

Arne Diekmann há 5 anos atrás
pai
commit
90985d7e77

+ 59 - 0
GreenTree.Strohrmann.ERP.Web/Models/Business/EmployeeDegreeModel.cs

@@ -0,0 +1,59 @@
+using GreenTree.Strohrmann.ERP.Core.Domain.Business;
+using GreenTree.Strohrmann.ERP.Web.Models.Shared;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace GreenTree.Strohrmann.ERP.Web.Models.Business
+{
+    public class EmployeeDegreeModel
+    {
+        #region Properties
+
+        /// <summary>
+        /// Degree Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// Degree name
+        /// </summary>
+        public string Name { get; set; }
+
+        /// <summary>
+        /// Degree value
+        /// </summary>
+        public decimal Value { get; set; }
+
+        /// <summary>
+        /// Degree order
+        /// </summary>
+        public int Order { get; set; }
+
+        #endregion
+
+        #region Ctor
+
+        /// <summary>
+        /// Initializes a new instance of the EmployeeDegreeModel class
+        /// </summary>
+        public EmployeeDegreeModel() {  }
+
+        /// <summary>
+        /// Initializes a new instance of the EmployeeDegreeModel class
+        /// </summary>
+        /// <param name="employeeDegree">The base employee degree.</param>
+        public EmployeeDegreeModel(EmployeeDegree employeeDegree)
+        {
+            if (employeeDegree == null) return;
+
+            Id = employeeDegree.Id;
+            Name = employeeDegree.Name;
+            Value = employeeDegree.Value;
+            Order = employeeDegree.Order;
+        }
+
+        #endregion
+    }
+}

+ 73 - 0
GreenTree.Strohrmann.ERP.Web/Models/Business/EmployeeModel.cs

@@ -0,0 +1,73 @@
+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.Linq;
+using System.Threading.Tasks;
+
+namespace GreenTree.Strohrmann.ERP.Web.Models.Business
+{
+    public class EmployeeModel : TrackingModel
+    {
+        #region Properties
+
+        /// <summary>
+        /// Employee Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// Employee first name
+        /// </summary>
+        public string Firstname { get; set; }
+
+        /// <summary>
+        /// Employee last name
+        /// </summary>
+        public string Lastname { get; set; }
+
+        /// <summary>
+        /// Employee mail address
+        /// </summary>
+        public string MailAddress { get; set; }
+
+        /// <summary>
+        /// Employee birthdate
+        /// </summary>
+        public DateTime? Birthdate { get; set; }
+
+        /// <summary>
+        /// Employee degree
+        /// </summary>
+        public virtual EmployeeDegreeModel EmployeeDegree { get; set; }
+
+        #endregion
+
+        #region Ctor
+
+        /// <summary>
+        /// Initializes a new instance of the EmployeeModel class
+        /// </summary>
+        public EmployeeModel() {  }
+
+        /// <summary>
+        /// Initializes a new instance of the EmployeeModel class
+        /// </summary>
+        /// <param name="employee">The base employee.</param>
+        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;
+            EmployeeDegree = new EmployeeDegreeModel(employee.EmployeeDegree);
+        }
+
+        #endregion
+    }
+}

+ 43 - 0
GreenTree.Strohrmann.ERP.Web/Validators/EmployeeValidator.cs

@@ -0,0 +1,43 @@
+using FluentValidation;
+using GreenTree.Strohrmann.ERP.Domain.Model;
+using GreenTree.Strohrmann.ERP.Web.Models.Business;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace GreenTree.Strohrmann.ERP.Web.Validators
+{
+	public class EmployeeValidator : AbstractValidator<EmployeeModel>
+	{
+		#region DI fields
+
+		// The global DbContext
+		private readonly ERPDbContext _eRPDbContext;
+
+		#endregion
+
+		#region Ctor
+
+		/// <summary>
+		/// Initializes a new instance of the EmployeeValidator class
+		/// </summary>
+		/// <param name="eRPDbContext">Global DbContext.</param>
+		public EmployeeValidator(
+			ERPDbContext eRPDbContext)
+		{
+			_eRPDbContext = eRPDbContext;
+
+			RuleFor(m => m.Firstname)
+				.NotEmpty();
+
+			RuleFor(m => m.Lastname)
+				.NotEmpty();
+
+			RuleFor(m => m.EmployeeDegree)
+				.NotEmpty();
+		}
+
+        #endregion
+    }
+}