JobRequisition.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. public DateTime Approved { get; set; }
  31. public Expression<Func<JobRequisition, int>> AutoIncrementField()
  32. {
  33. return x => x.Number;
  34. }
  35. public Filter<JobRequisition> AutoIncrementFilter()
  36. {
  37. return new Filter<JobRequisition>(x => x.Job.ID).IsEqualTo(Job.ID);
  38. }
  39. protected override void Init()
  40. {
  41. base.Init();
  42. Job = new JobLink();
  43. Notes = "";
  44. DueDate = DateTime.Now;
  45. Description = "";
  46. }
  47. }
  48. }