EmployeeProduct.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. [Caption("Issued Products")]
  6. public class EmployeeProduct : Entity, IRemotable, IPersistent, IOneToMany<Employee>, ILicense<ProductManagementLicense>
  7. {
  8. [NullEditor]
  9. public EmployeeLink Employee { get; set; }
  10. [EditorSequence(1)]
  11. public ProductLink Product { get; set; }
  12. [DoubleEditor]
  13. [EditorSequence(2)]
  14. public double Quantity { get; set; }
  15. [TimestampEditor(Visible = Visible.Default)]
  16. [EditorSequence(3)]
  17. public DateTime Issued { get; set; }
  18. [NullEditor]
  19. [EntityRelationship(DeleteAction.SetNull)]
  20. public StockMovementLink IssuedMovement { get; set; }
  21. [TimestampEditor(Visible = Visible.Default)]
  22. [EditorSequence(4)]
  23. public DateTime Returned { get; set; }
  24. [NullEditor]
  25. [EntityRelationship(DeleteAction.Cascade)]
  26. public StockMovementLink ReturnedMovement { get; set; }
  27. [TimestampEditor(Visible = Visible.Default)]
  28. [EditorSequence(5)]
  29. public DateTime Disposed { get; set; }
  30. protected override void Init()
  31. {
  32. base.Init();
  33. Employee = new EmployeeLink();
  34. Product = new ProductLink(() => this);
  35. IssuedMovement = new StockMovementLink();
  36. ReturnedMovement = new StockMovementLink();
  37. Quantity = 1.0F;
  38. }
  39. }
  40. }