ManufacturingTemplateGroup.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public interface IManufacturingTemplateGroup : IEntity
  6. {
  7. string Code { get; set; }
  8. string Description { get; set; }
  9. string Watermark { get; set; }
  10. }
  11. public class ManufacturingTemplateGroup : Entity, IRemotable, IPersistent, IManufacturingTemplateGroup
  12. {
  13. [UniqueCodeEditor(Visible = Visible.Default, Editable = Editable.Enabled)]
  14. [EditorSequence(1)]
  15. public string Code { get; set; }
  16. [TextBoxEditor(Visible = Visible.Default)]
  17. [EditorSequence(2)]
  18. public string Description { get; set; }
  19. [TextBoxEditor(Visible = Visible.Default)]
  20. [EditorSequence(3)]
  21. public string Watermark { get; set; }
  22. }
  23. public class ManufacturingTemplateGroupLink : EntityLink<ManufacturingTemplateGroup>, IManufacturingTemplateGroup
  24. {
  25. [LookupEditor(typeof(ManufacturingTemplateGroup))]
  26. public override Guid ID { get; set; }
  27. [CodeEditor(Visible=Visible.Default, Editable = Editable.Hidden)]
  28. [EditorSequence(1)]
  29. public string Code { get; set; }
  30. [TextBoxEditor(Visible=Visible.Optional, Editable = Editable.Hidden)]
  31. [EditorSequence(2)]
  32. public string Description { get; set; }
  33. [TextBoxEditor(Visible=Visible.Optional, Editable = Editable.Hidden)]
  34. [EditorSequence(3)]
  35. public string Watermark { get; set; }
  36. public ManufacturingTemplateGroupLink()
  37. {
  38. }
  39. public ManufacturingTemplateGroupLink(Func<BaseObject>? entity) : base(entity)
  40. {
  41. }
  42. }
  43. public class ManufacturingTemplateGroupProducts : Entity, IRemotable, IPersistent,
  44. IManyToMany<ManufacturingTemplateGroup, Product>
  45. {
  46. [PopupEditor(typeof(ManufacturingTemplateGroup))]
  47. [EditorSequence(1)]
  48. [EntityRelationship(DeleteAction.Cascade)]
  49. public ManufacturingTemplateGroupLink TemplateGroup { get; set; }
  50. [PopupEditor(typeof(Product))]
  51. [EntityRelationship(DeleteAction.Cascade)]
  52. [EditorSequence(1)]
  53. public ProductLink Product { get; set; }
  54. protected override void Init()
  55. {
  56. base.Init();
  57. TemplateGroup = new ManufacturingTemplateGroupLink(() => this);
  58. Product = new ProductLink(() => this);
  59. }
  60. }
  61. }