| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 | using System;using System.Collections.Generic;using InABox.Configuration;using InABox.Core;namespace Comal.Classes{    // As of v8.20 this has been migrated from an Entity to GlobalConfiguration for     public class V6Settings : BaseObject, IGlobalConfigurationSettings    {        [TextBoxEditor]        [EditorSequence(1)]        public string Server { get; set; }                    [TextBoxEditor]        [EditorSequence(2)]        public string Database { get; set; }                    [TextBoxEditor]        [EditorSequence(3)]        public string UserID { get; set; }                    [PasswordEditor]        [EditorSequence(4)]        public string Password { get; set; }                [EnumLookupEditor(typeof(V6ImportDesigns))]        [EditorSequence(5)]        public V6ImportDesigns ImportDesigns { get; set; }                    [EnumLookupEditor(typeof(V6ImportCosts))]        [EditorSequence(6)]        public V6ImportCosts ImportCosts { get; set; }                [EditorSequence(7)]        [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]        public string JobStatus { get; set; }                [EditorSequence(8)]        [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]        public string TaxCode { get; set; }                // private abstract class AbstractUomLookupGenerator : LookupGenerator<object>        // {        //        //     protected abstract Filter<ProductDimensionUnit> UomFilter();        //        //     protected AbstractUomLookupGenerator(object[] items) : base(items)        //     {        //         var _results = Client.Query(        //             UomFilter(),        //             Columns.None<ProductDimensionUnit>()        //                 .Add(x => x.ID)        //                 .Add(x => x.Code)        //                 .Add(x => x.Description)        //         ).ToObjects<ProductDimensionUnit>();        //         foreach (var _result in _results)        //             AddValue(_result.Code, $"{_result.Code}: {_result.Description}");        //     }        // }        // private class ProfileUomLookupGenerator : AbstractUomLookupGenerator        // {        //        //     protected ProfileUomLookupGenerator(object[] items) : base(items) { }        //             //     protected override Filter<ProductDimensionUnit> UomFilter() =>        //         new Filter<ProductDimensionUnit>(x => x.HasLength).IsEqualTo(true);        // }                    //[ComboLookupEditor(typeof(ProfileUomLookupGenerator))]        [EditorSequence(9)]        [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]        public String ProfileUom { get; set; }                // private class ComponentUomLookupGenerator : AbstractUomLookupGenerator        // {        //             //     protected ComponentUomLookupGenerator(object[] items) : base(items) { }        //             //     protected override Filter<ProductDimensionUnit> UomFilter() =>        //         new Filter<ProductDimensionUnit>(x => x.HasQuantity).IsEqualTo(true);        // }                    //[ComboLookupEditor(typeof(ComponentLookupGenerator))]        [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]        [EditorSequence(10)]        public String ComponentUom { get; set; }                // private class GlassUomLookupGenerator : AbstractUomLookupGenerator        // {        //             //     protected GlassUomLookupGenerator(object[] items) : base(items) { }        //             //     protected override Filter<ProductDimensionUnit> UomFilter() =>        //         new Filter<ProductDimensionUnit>(x => x.HasHeight).IsEqualTo(true).And(x=>x.HasWidth).IsEqualTo(true);        // }                //[ComboLookupEditor(typeof(GlassUomLookupGenerator))]        [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]        [EditorSequence(11)]        public String GlassUom { get; set; }                //[ComboLookupEditor(typeof(GlassUomLookupGenerator))]        [CodeEditor(Visible=Visible.Default, Editable=Editable.Enabled)]        [EditorSequence(12)]        public String PacketTemplate { get; set; }                [MemoEditor]        [EditorSequence("1. Quote Query", 1)]        public String QuoteSQL { get; set; } = V6Quote.SQL;                [MemoEditor]        [EditorSequence("2. Elevations Query", 1)]        public String ElevationSQL { get; set; } = V6Elevation.SQL;        [MemoEditor]        [EditorSequence("3. Drawings Query", 1)]        public String DrawingsSQL { get; set; } = V6Drawings.SQL;                    [MemoEditor]        [EditorSequence("4. Profile Query", 1)]        public String ProfileSQL { get; set; } = V6Profile.SQL;                    [MemoEditor]        [EditorSequence("5. Component Query", 1)]        public String ComponentSQL { get; set; } = V6Component.SQL;                    [MemoEditor]        [EditorSequence("6. Glass Query", 1)]        public String GlassSQL { get; set; } = V6Glass.SQL;                    [MemoEditor]        [EditorSequence("7. Labour Query", 1)]        public String LabourSQL { get; set; } = V6Labour.SQL;                public string AsConnectionString() => String.IsNullOrWhiteSpace(UserID) && String.IsNullOrWhiteSpace(Password)            ? $"server={Server};database={Database};integrated security=SSPI;"            : $"server={Server};database={Database};integrated security=false;user id={UserID};password={Password}";        public void CheckSQL()        {            QuoteSQL = string.IsNullOrWhiteSpace(QuoteSQL) ? V6Quote.SQL : QuoteSQL;            ElevationSQL = string.IsNullOrWhiteSpace(ElevationSQL) ? V6Elevation.SQL : ElevationSQL;            DrawingsSQL = string.IsNullOrWhiteSpace(DrawingsSQL) ? V6Drawings.SQL : DrawingsSQL;            ProfileSQL = string.IsNullOrWhiteSpace(ProfileSQL) ? V6Profile.SQL : ProfileSQL;            ComponentSQL = string.IsNullOrWhiteSpace(ComponentSQL) ? V6Component.SQL : ComponentSQL;            GlassSQL = string.IsNullOrWhiteSpace(GlassSQL) ? V6Glass.SQL : GlassSQL;            LabourSQL = string.IsNullOrWhiteSpace(LabourSQL) ? V6Labour.SQL : LabourSQL;        }            }}
 |