V6Settings.cs 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using System;
  2. using System.Collections.Generic;
  3. using InABox.Clients;
  4. using InABox.Core;
  5. namespace Comal.Classes
  6. {
  7. public class V6Settings : Entity, IRemotable, IPersistent, ILicense<V6License>
  8. {
  9. [TextBoxEditor]
  10. [EditorSequence(1)]
  11. public string Server { get; set; }
  12. [TextBoxEditor]
  13. [EditorSequence(2)]
  14. public string Database { get; set; }
  15. [TextBoxEditor]
  16. [EditorSequence(3)]
  17. public string UserID { get; set; }
  18. [PasswordEditor]
  19. [EditorSequence(4)]
  20. public string Password { get; set; }
  21. [EnumLookupEditor(typeof(V6ImportDesigns))]
  22. [EditorSequence(5)]
  23. public V6ImportDesigns ImportDesigns { get; set; }
  24. [EnumLookupEditor(typeof(V6ImportCosts))]
  25. [EditorSequence(6)]
  26. public V6ImportCosts ImportCosts { get; set; }
  27. [EditorSequence(7)]
  28. [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]
  29. public string JobStatus { get; set; }
  30. [EditorSequence(8)]
  31. [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]
  32. public string TaxCode { get; set; }
  33. // private abstract class AbstractUomLookupGenerator : LookupGenerator<object>
  34. // {
  35. //
  36. // protected abstract Filter<ProductDimensionUnit> UomFilter();
  37. //
  38. // protected AbstractUomLookupGenerator(object[] items) : base(items)
  39. // {
  40. // var _results = Client.Query(
  41. // UomFilter(),
  42. // Columns.None<ProductDimensionUnit>()
  43. // .Add(x => x.ID)
  44. // .Add(x => x.Code)
  45. // .Add(x => x.Description)
  46. // ).ToObjects<ProductDimensionUnit>();
  47. // foreach (var _result in _results)
  48. // AddValue(_result.Code, $"{_result.Code}: {_result.Description}");
  49. // }
  50. // }
  51. // private class ProfileUomLookupGenerator : AbstractUomLookupGenerator
  52. // {
  53. //
  54. // protected ProfileUomLookupGenerator(object[] items) : base(items) { }
  55. //
  56. // protected override Filter<ProductDimensionUnit> UomFilter() =>
  57. // new Filter<ProductDimensionUnit>(x => x.HasLength).IsEqualTo(true);
  58. // }
  59. //[ComboLookupEditor(typeof(ProfileUomLookupGenerator))]
  60. [EditorSequence(9)]
  61. [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]
  62. public String ProfileUom { get; set; }
  63. // private class ComponentUomLookupGenerator : AbstractUomLookupGenerator
  64. // {
  65. //
  66. // protected ComponentUomLookupGenerator(object[] items) : base(items) { }
  67. //
  68. // protected override Filter<ProductDimensionUnit> UomFilter() =>
  69. // new Filter<ProductDimensionUnit>(x => x.HasQuantity).IsEqualTo(true);
  70. // }
  71. //[ComboLookupEditor(typeof(ComponentLookupGenerator))]
  72. [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]
  73. [EditorSequence(10)]
  74. public String ComponentUom { get; set; }
  75. // private class GlassUomLookupGenerator : AbstractUomLookupGenerator
  76. // {
  77. //
  78. // protected GlassUomLookupGenerator(object[] items) : base(items) { }
  79. //
  80. // protected override Filter<ProductDimensionUnit> UomFilter() =>
  81. // new Filter<ProductDimensionUnit>(x => x.HasHeight).IsEqualTo(true).And(x=>x.HasWidth).IsEqualTo(true);
  82. // }
  83. //[ComboLookupEditor(typeof(GlassUomLookupGenerator))]
  84. [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]
  85. [EditorSequence(11)]
  86. public String GlassUom { get; set; }
  87. //[ComboLookupEditor(typeof(GlassUomLookupGenerator))]
  88. [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]
  89. [EditorSequence(12)]
  90. public String PacketTemplate { get; set; }
  91. [MemoEditor]
  92. [EditorSequence("1. Quote Query", 1)]
  93. public String QuoteSQL { get; set; } = V6Quote.SQL;
  94. [MemoEditor]
  95. [EditorSequence("2. Elevations Query", 1)]
  96. public String ElevationSQL { get; set; } = V6Elevation.SQL;
  97. [MemoEditor]
  98. [EditorSequence("3. Drawings Query", 1)]
  99. public String DrawingsSQL { get; set; } = V6Drawings.SQL;
  100. [MemoEditor]
  101. [EditorSequence("4. Profile Query", 1)]
  102. public String ProfileSQL { get; set; } = V6Profile.SQL;
  103. [MemoEditor]
  104. [EditorSequence("5. Component Query", 1)]
  105. public String ComponentSQL { get; set; } = V6Component.SQL;
  106. [MemoEditor]
  107. [EditorSequence("6. Glass Query", 1)]
  108. public String GlassSQL { get; set; } = V6Glass.SQL;
  109. [MemoEditor]
  110. [EditorSequence("7. Labour Query", 1)]
  111. public String LabourSQL { get; set; } = V6Labour.SQL;
  112. public string AsConnectionString() => String.IsNullOrWhiteSpace(UserID) && String.IsNullOrWhiteSpace(Password)
  113. ? $"server={Server};database={Database};integrated security=SSPI;"
  114. : $"server={Server};database={Database};integrated security=false;user id={UserID};password={Password}";
  115. public void CheckSQL()
  116. {
  117. QuoteSQL = string.IsNullOrWhiteSpace(QuoteSQL) ? V6Quote.SQL : QuoteSQL;
  118. ElevationSQL = string.IsNullOrWhiteSpace(ElevationSQL) ? V6Elevation.SQL : ElevationSQL;
  119. DrawingsSQL = string.IsNullOrWhiteSpace(DrawingsSQL) ? V6Drawings.SQL : DrawingsSQL;
  120. ProfileSQL = string.IsNullOrWhiteSpace(ProfileSQL) ? V6Profile.SQL : ProfileSQL;
  121. ComponentSQL = string.IsNullOrWhiteSpace(ComponentSQL) ? V6Component.SQL : ComponentSQL;
  122. GlassSQL = string.IsNullOrWhiteSpace(GlassSQL) ? V6Glass.SQL : GlassSQL;
  123. LabourSQL = string.IsNullOrWhiteSpace(LabourSQL) ? V6Labour.SQL : LabourSQL;
  124. }
  125. }
  126. }