Esempio n. 1
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);
            });
        }
Esempio n. 2
0
        public HrListViewModel(IHrsHolder holder, ISession session, HrViewColumn sorting = HrViewColumn.Ord, HrViewColumn grouping = HrViewColumn.Category)
        {
            Contract.Requires(holder != null);
            Contract.Requires(session != null);
            this.session = session;
            this.holder  = holder;

            HolderVm = new HolderViewModel(holder);

            doNotNotifyLastSelectedChanged = new FlagActionWrapper(() =>
            {
                OnPropertyChanged(() => LastSelected);
                logger.DebugFormat("(bulk) selected in order\n{0}", string.Join("\n", selectedOrder));
            });

            preserveSelected = new FlagActionWrapper <IList <ShortHealthRecordViewModel> >((hrs) =>
            {
                hrs.ForEach(vm => vm.IsSelected = true);
                // fix new selected item appears in listbox after movement hrs from diff categories in grouped by category
                // TODO fix when diff createdAt
                HealthRecords.Except(hrs).ForEach(x => x.IsSelected = false);
            });

            handler = this.Subscribe(Event.NewSession, (e) =>
            {
                var s = e.GetValue <ISession>(MessageKeys.Session);
                ReplaceSession(s);
            });

            hrManager = new HealthRecordManager(holder, OnHrVmPropChanged);
            hrManager.DeletedHealthRecords.CollectionChangedWrapper += DeletedHrsCollectionChanged;
            hrManager.HealthRecords.CollectionChangedWrapper        += HrsCollectionChanged;

            view = (ListCollectionView)CollectionViewSource.GetDefaultView(HealthRecords);

            DropHandler = new DropTargetHandler(this);
            DragHandler = new DragSourceHandler();

            IsDragSourceEnabled = true;
            IsDropTargetEnabled = true;
            IsRectSelectEnabled = true;

            Grouping = grouping;
            Sorting  = sorting;
            SetHrExtra(HealthRecords);
        }
Esempio n. 3
0
        public QueryEditorViewModel(ISession session, Action onQbEnter = null)
        {
            Contract.Requires(session != null);

            this.session   = session;
            this.onQbEnter = onQbEnter ?? (Action)(() => { });

            var loader = new JsonOptionsLoader();

            Loader = new OptionsLoaderViewModel(this, loader, session);
            var hist = new History <SearchOptions>();

            History     = new HistoryViewModel <SearchOptions>(hist);
            QueryBlocks = new ObservableCollection <QueryBlockViewModel>();

            QueryBlocks.CollectionChanged += (s, e) =>
            {
                OnPropertyChanged(() => AllEmpty);
            };
            hist.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == "CurrentState")
                {
                    SetOptions(hist.CurrentState);
                }
            };

            handler = this.Subscribe(Event.NewSession, (e) =>
            {
                var s = e.GetValue <ISession>(MessageKeys.Session);
                ReplaceSession(s);
            });
            AuthorityController.LoggedIn += (s, e) =>
            {
                SetupQueryBlocks();
            };

            AuthorityController.LoggedOut += (s, e) =>
            {
                QueryBlocks.ForAll(x => x.Dispose());
                QueryBlocks.Clear();
            };

            SetupQueryBlocks();
        }
Esempio n. 4
0
        public void InMemoryDatabaseTestInit()
        {
            Diagnosis.Data.Mappings.MappingHelper.Reset();
            NHibernateHelper.Default.InMemory = true;
            NHibernateHelper.Default.ShowSql  = true;
            Constants.IsClient = true;

            session = NHibernateHelper.Default.OpenSession();


            Load <Doctor>();
            AuthorityController = AuthorityController.Default;
            AuthorityController.TryLogIn(d1);
            handler = this.Subscribe(Event.NewSession, (e) =>
            {
                var s = e.GetValue <ISession>(MessageKeys.Session);
                if (session.SessionFactory == s.SessionFactory)
                {
                    session = s;
                }
            });
        }