EmployeeLink.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public class EmployeeLink : EntityLink<Employee>, IEmployee
  6. {
  7. public EmployeeLink() : this(null)
  8. {
  9. }
  10. public EmployeeLink(Func<BaseObject>? entity) : base(entity)
  11. {
  12. UserLink = new UserLink();
  13. Group = new EmployeeGroupLink();
  14. }
  15. [LookupEditor(typeof(Employee))]
  16. [RequiredColumn]
  17. [LoggableProperty]
  18. public override Guid ID { get; set; }
  19. [CodeEditor(Visible = Visible.Default, Editable = Editable.Hidden)]
  20. public string Code { get; set; }
  21. [TextBoxEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  22. public string Name { get; set; }
  23. [TextBoxEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  24. public string Department { get; set; }
  25. [NullEditor]
  26. public EmployeeGroupLink Group { get; set; }
  27. [NullEditor]
  28. public UserLink UserLink { get; set; }
  29. [DateEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  30. public DateTime StartDate { get; set; }
  31. [DateEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  32. public DateTime FinishDate { get; set; }
  33. [CodeEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  34. public string PayrollID { get; set; }
  35. [NullEditor]
  36. public ImageDocumentLink Thumbnail { get; set; }
  37. [NullEditor]
  38. public String Roster { get; set; }
  39. [NullEditor]
  40. public DateTime RosterStart { get; set; }
  41. protected override void Init()
  42. {
  43. base.Init();
  44. Thumbnail = new ImageDocumentLink();
  45. }
  46. }
  47. }