Пример #1
0
        public SearchViewModel()
        {
            ContentId = ToolContentId;

            loader = new JsonOptionsLoader();

            QueryEditor = new QueryEditorViewModel(Session, () =>
            {
                if (SearchCommand.CanExecute(null))
                {
                    SearchCommand.Execute(null);
                }
            });
            QueryEditor.SendToSearchCommand.IsVisible = false;

            var ests = EntityQuery <Estimator> .All(Session)();

            Estimators        = new ObservableCollection <Estimator>(ests);
            SelectedEstimator = ests.FirstOrDefault();

            emh.Add(
                this.Subscribe(Event.SendToSearch, (e) =>
            {
                object pack = null;
                try
                {
                    pack = e.GetValue <object>(MessageKeys.ToSearchPackage);
                }
                catch
                {
                    return;
                }

                OpenHrSearch();

                var hrs  = pack as IEnumerable <HealthRecord>;
                var hios = pack as IEnumerable <ConfWithHio>;
                var opt  = pack as SearchOptions;

                if (hrs != null && hrs.Any())
                {
                    RecieveHealthRecords(hrs);
                }
                else if (hios != null && hios.Any())
                {
                    RecieveHrItemObjects(hios);
                }
                else if (opt != null)
                {
                    RecieveOptions(opt);
                }

                Contract.Assume(LastRecieverQueryBlock != null);
                Activate();
            })

                );

            ControlsVisible = true;
        }
Пример #2
0
        public OptionsLoaderViewModel(QueryEditorViewModel queryeditor, OptionsLoader loader, ISession session, bool useBuffer = false)
        {
            this.master    = queryeditor;
            this.useBuffer = useBuffer;
            this.loader    = loader;
            this.session   = session;

            handler = this.Subscribe(Event.NewSession, (e) =>
            {
                var s = e.GetValue <ISession>(MessageKeys.Session);
                ReplaceSession(s);
            });
        }
Пример #3
0
        public void CreateSameWordInQueryEditors()
        {
            var qe   = new QueryEditorViewModel(session);
            var auto = (qe.QueryBlocks[0].AutocompleteAll as AutocompleteViewModel);
            var w1   = auto.CompleteWord("1");
            var w2   = auto.CompleteWord("1");

            var auto2 = (qe.QueryBlocks[0].AutocompleteAll as AutocompleteViewModel);
            var qe2   = new QueryEditorViewModel(session);
            var w3    = auto2.CompleteWord("1");

            Assert.AreEqual(w1, w2);
            Assert.AreEqual(w1, w3);
            qe.Dispose();
            qe2.Dispose();
        }
Пример #4
0
        public void CreateWordInQueryEditor_ThanInWordList()
        {
            // внутри используется GetSameWordFromCreated

            var qe = new QueryEditorViewModel(session);
            var wl = new WordsListViewModel();

            qe.QueryBlocks[0].IsSelected = true; // prevent making options on AllEmpty changes after typing in autocomplete

            var auto = (qe.QueryBlocks[0].AutocompleteAll as AutocompleteViewModel);
            var w    = auto.CompleteWord("1");

            var fromList = wl.AddWord("1");

            Assert.AreEqual(w, fromList);
            qe.Dispose();
            wl.Dispose();
        }
Пример #5
0
        public EstimatorEditorViewModel(Estimator estimator)
        {
            this.estimator = estimator;
            loader         = new JsonOptionsLoader();

            CriteriaGroups = new ObservableCollection <CriteriaGroupEditorViewModel>();

            QueryEditor = new QueryEditorViewModel(Session);

            var opt = loader.ReadOptions(estimator.Options, Session);

            QueryEditor.SetOptions(opt);
            Estimator = new EstimatorViewModel(estimator);

            (estimator as IEditableObject).BeginEdit();

            Title          = "Редактор приказа";
            HelpTopic      = "";
            WithHelpButton = false;
        }
Пример #6
0
        public CriterionEditorViewModel(Criterion cr)
        {
            this.criterion = cr;
            loader         = new JsonOptionsLoader();

            QueryEditor = new QueryEditorViewModel(Session);

            Criterion = new CriterionViewModel(criterion);
            tester    = new ExistanceTester <Criterion>(cr, Criterion, Session);
            tester.Test();

            var opt = loader.ReadOptions(criterion.Options, Session);

            QueryEditor.SetOptions(opt);

            (criterion as IEditableObject).BeginEdit();

            Title          = "Редактор критерия";
            HelpTopic      = "editcriterion";
            WithHelpButton = false;
        }
Пример #7
0
 public QueryEditor()
 {
     DataContext = new QueryEditorViewModel();
     InitializeComponent();
 }
Пример #8
0
 public static void AddTag(this QueryEditorViewModel qe, object tagOrContent)
 {
     qe.QueryBlocks[0].AutocompleteAll.AddTag(tagOrContent);
 }
Пример #9
0
 public void Init()
 {
     e = new QueryEditorViewModel(session);
 }