private void UpdateLocalVariables(IList <DbObjectInfo> dbObjs, ObjectViewItem localVarItems)
            {
                List <ObjectViewItem> newItems = new List <ObjectViewItem>();

                foreach (var objWithSameForm in dbObjs.Where(p => !p.shared).GroupBy(p => p.forms))
                {
                    string form       = objWithSameForm.Key;
                    string formHeader = DDBString.FirstLetterToUpper(form.ToLower());

                    ObjectViewItem formItem = localVarItems.Children.FirstOrDefault(
                        p => p.Header.Equals(formHeader));

                    if (formItem == null)
                    {
                        formItem = new ObjectViewItem
                        {
                            Header        = formHeader,
                            IsExpanded    = false,
                            IconImage     = folderBitSource,
                            ExpandImage   = openedFolderBitSource,
                            UnExpandImage = folderBitSource
                        }
                    }
                    ;

                    var newVariableItem = new ObservableCollection <ObjectViewItem>();
                    foreach (var obj in objWithSameForm)
                    {
                        newVariableItem.Add(new ObjectViewItem
                        {
                            Header        = FormatDbObjectStr(obj),
                            Tag           = obj,
                            IconImage     = docBitSource,
                            ExpandImage   = docBitSource,
                            UnExpandImage = docBitSource
                        });
                    }

                    ExpandItemIfHasNewChildern(formItem, newVariableItem);
                    formItem.Children = newVariableItem;
                    newItems.Add(formItem);
                }

                localVarItems.Children.Clear();
                foreach (var obj in newItems)
                {
                    localVarItems.Children.Add(obj);
                }

                ExpandItemIfChildrenIsExpanded(localVarItems);
            }
示例#2
0
        private async Task <string> RunScriptAsync(string script, Config cfg)
        {
            try
            {
                IEntity e = await Task.Factory.StartNew(() =>
                {
                    return(AddinBackend.RunScript(conn, script));
                });

                return(DDBString.GetValueAsStringIfScalarOrPair(e));
            }
            catch (Exception ex)
            {
                throw new AggregateException(ex);
            }
        }