JobRequisition.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.Linq.Expressions;
  3. using InABox.Core;
  4. namespace Comal.Classes
  5. {
  6. [UserTracking(typeof(Job))]
  7. public class JobRequisition : Entity, IRemotable, IPersistent, INumericAutoIncrement<JobRequisition>, IJobMaterialRequisition,
  8. ILicense<ProjectManagementLicense>
  9. {
  10. [IntegerEditor(Visible = Visible.Default, Editable = Editable.Disabled)]
  11. [EntityRelationship(DeleteAction.Cascade)]
  12. public JobLink Job { get; set; }
  13. [IntegerEditor(Visible = Visible.Default, Editable = Editable.Disabled)]
  14. [EditorSequence(1)]
  15. public int Number { get; set; }
  16. [TextBoxEditor(Visible = Visible.Default)]
  17. [EditorSequence(2)]
  18. public string Description { get; set; }
  19. [MemoEditor(Visible = Visible.Optional)]
  20. [EditorSequence(3)]
  21. public String Notes { get; set; }
  22. [DateEditor(Visible = Visible.Default)]
  23. [EditorSequence(4)]
  24. public DateTime DueDate { get; set; }
  25. [NullEditor]
  26. [Obsolete("Replaced with Approved", true)]
  27. public DateTime Date { get; set; }
  28. [TimestampEditor(Visible = Visible.Default)]
  29. [EditorSequence(5)]
  30. [LoggableProperty]
  31. public DateTime Approved { get; set; }
  32. public Expression<Func<JobRequisition, int>> AutoIncrementField()
  33. {
  34. return x => x.Number;
  35. }
  36. public Filter<JobRequisition> AutoIncrementFilter()
  37. {
  38. return new Filter<JobRequisition>(x => x.Job.ID).IsEqualTo(Job.ID);
  39. }
  40. protected override void Init()
  41. {
  42. base.Init();
  43. Job = new JobLink();
  44. Notes = "";
  45. DueDate = DateTime.Now;
  46. Description = "";
  47. }
  48. }
  49. }