Exemple #1
0
 protected override void Dispose(bool disposing)
 {
     try
     {
         if (disposing)
         {
             handler.Dispose();
             QueryBlocks.Clear();
         }
     }
     finally
     {
         base.Dispose(disposing);
     }
 }
Exemple #2
0
        /// <summary>
        /// Меняет опции. Текущие опции теряются, если не совпадают.
        /// </summary>
        public void SetOptions(SearchOptions opt)
        {
            var root = QueryBlocks.FirstOrDefault();

            if (root != null && root.MakeOptions().Equals(opt))
            {
                return;
            }

            if (AuthorityController.CurrentDoctor == null)
            {
                return;
            }

            SetRootOptions(opt);
        }
Exemple #3
0
        private QueryBlockViewModel SetRootOptions(SearchOptions options = null)
        {
            Contract.Requires(AuthorityController.CurrentDoctor != null);
            Contract.Ensures(options == null || options.PartialLoaded == Contract.Result <QueryBlockViewModel>().Options.PartialLoaded);

            QueryBlocks.Clear();

            var qb = new QueryBlockViewModel(session, onQbEnter, options);

            qb.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == "AllEmpty")
                {
                    OnPropertyChanged(() => AllEmpty);
                }
            };
            QueryBlocks.Add(qb);

            return(qb);
        }
Exemple #4
0
        protected override IReadOnlyList <OracleColumn> BuildColumns()
        {
            var columns = new List <OracleColumn>();

            if (Type == ReferenceType.SchemaObject)
            {
                if (SchemaObject.GetTargetSchemaObject() is OracleDataObject dataObject)
                {
                    columns.AddRange(dataObject.Columns.Values);
                }
            }
            else
            {
                var queryColumns = QueryBlocks.SelectMany(qb => qb.Columns)
                                   .Where(c => !c.IsAsterisk)
                                   .Select(c => c.ColumnDescription);

                columns.AddRange(queryColumns);
            }

            return(columns.AsReadOnly());
        }
Exemple #5
0
 public SampleQueryEditorViewModel()
     : base(SessionVMBase.Nhib.GetSession())
 {
     QueryBlocks.Add(new SampleQueryBlockViewModel());
 }