V6Settings.cs 6.1 KB

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