|
@@ -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()
|