Quellcode durchsuchen

Better default columns for Employee

Kenric Nugteren vor 8 Monaten
Ursprung
Commit
57edc3684e
1 geänderte Dateien mit 18 neuen und 20 gelöschten Zeilen
  1. 18 20
      prs.classes/Entities/Employee/Employee.cs

+ 18 - 20
prs.classes/Entities/Employee/Employee.cs

@@ -12,28 +12,25 @@ namespace Comal.Classes
     public class Employee : Entity, IEmployee, ISchedulable, IPersistent, IRemotable, IOrgChart<EmployeeLink>, ILicense<CoreLicense>, IExportable,
         IImportable
     {
-        
+
         [UniqueCodeEditor(Visible = Visible.Default, Editable = Editable.Enabled)]
         [EditorSequence(1)]
-        public string Code { get; set; }
+        public string Code { get; set; } = "";
 
-        [TextBoxEditor]
         [EditorSequence(2)]
-        public string Name { get; set; }
+        public string Name { get; set; } = "";
                 
-        [EnumLookupEditor(typeof(EmployeeType))]
         [EditorSequence("Payroll", 3)]
         public EmployeeType Type { get; set; }
         
         [EditorSequence(4)]
         public Address Address { get; set; }
         
-        [TextBoxEditor]
         [EditorSequence(5)]
         public string Email { get; set; }
 
-        [TextBoxEditor]
         [EditorSequence(6)]
+        [TextBoxEditor(Alignment = Alignment.MiddleCenter, Width = 120)]
         public string Mobile { get; set; }
         
         [DateEditor]
@@ -138,24 +135,25 @@ namespace Comal.Classes
         [Obsolete("Replaced with EmployeeRoster class", true)]
         public TimeSpan UsualFinish { get; set; }
 
-        public Employee()
+        static Employee()
         {
-            Code = "";
-            Name = "";
-
-            UserLink.PropertyChanged += UserLink_PropertyChanged;
-
-
-            Roster = "";
-            RosterStart = DateTime.MinValue;
+            DefaultColumns.Add<Employee>(x => x.Code);
+            DefaultColumns.Add<Employee>(x => x.Name);
+            DefaultColumns.Add<Employee>(x => x.UserLink.UserID, caption: "User");
+            DefaultColumns.Add<Employee>(x => x.Group.Code, caption: "Group");
+            DefaultColumns.Add<Employee>(x => x.Email);
+            DefaultColumns.Add<Employee>(x => x.Mobile);
+            DefaultColumns.Add<Employee>(x => x.Type, width: 70);
+            DefaultColumns.Add<Employee>(x => x.ShowOnInOutBoard, caption: "In/Out?");
         }
 
-        private void UserLink_PropertyChanged(object sender, PropertyChangedEventArgs e)
+        protected override void DoPropertyChanged(string name, object? before, object? after)
         {
-            //if (e.PropertyName == "ID")
-            //    UserID = UserLink.ID;
-            if (e.PropertyName == "Type")
+            base.DoPropertyChanged(name, before, after);
+            if(name == $"{Type}")
+            {
                 ShowOnInOutBoard = Type == EmployeeType.Employee;
+            }
         }
 
         public override string ToString()