AbstractLogikalPartsResponse.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. namespace InABox.Logikal
  2. {
  3. public interface ILogikalPartsResponse<TFinish, TProfile, TComponent, TGlass, TLabour>
  4. where TFinish : ILogikalFinish
  5. where TProfile : ILogikalProfile
  6. where TComponent : ILogikalComponent
  7. where TGlass : ILogikalGlass
  8. where TLabour : ILogikalLabour
  9. {
  10. TFinish[] Finishes { get; set; }
  11. TProfile[] Profiles { get; set; }
  12. TComponent[] Components { get; set; }
  13. TGlass[] Glass { get; set; }
  14. TLabour[] Labour { get; set; }
  15. byte[] ExcelData { get; set; }
  16. }
  17. public abstract class AbstractLogikalPartsResponse<TFinish, TProfile, TComponent, TGlass, TLabour> : LogikalResponse, ILogikalPartsResponse<TFinish, TProfile, TComponent, TGlass, TLabour>
  18. where TFinish : ILogikalFinish
  19. where TProfile : ILogikalProfile
  20. where TComponent : ILogikalComponent
  21. where TGlass : ILogikalGlass
  22. where TLabour : ILogikalLabour
  23. {
  24. public TFinish[] Finishes { get; set; }
  25. public TProfile[] Profiles { get; set; }
  26. public TComponent[] Components { get; set; }
  27. public TGlass[] Glass { get; set; }
  28. public TLabour[] Labour { get; set; }
  29. public byte[] ExcelData { get; set; }
  30. public override string ToString() => $"{Finishes?.Length ?? 0} Finishes / {Profiles?.Length ?? 0} Profiles / {Components?.Length ?? 0} Components / {Glass?.Length ?? 0} Glass/ {Labour?.Length ?? 0} Activities found";
  31. }
  32. }