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; }
public async Task <IEnumerable <Entity> > GetAllAsync() { using (var connection = context.CreateConnection()) { return(await connection.QueryAsync <Entity>(EntityQuery.All())); } }
public LoginViewModel() { var doctors = EntityQuery <Doctor> .All(Session)() .OrderBy(d => d.FullName) .ToList(); var adminPassport = PassportQuery.WithId(Session)(Admin.DefaultId); var admin = new Admin(adminPassport); Passwords = new ConfirmPasswordViewModel(); Users = new ObservableCollection <IUser>(doctors); Users.Add(admin); Title = "Вход"; SelectedUser = Users[0]; if (AuthorityController.AutoLogon) { var doc = doctors.Where(d => d.Passport.Remember).FirstOrDefault(); if (doc != null) { SelectedUser = doc; AutoLogIn(); } } }
public SpecialityListViewModel() { Title = "Специальности"; var specs = EntityQuery <Speciality> .All(Session)(); Specialities.SyncWith(specs); }
private void MakeVms() { var vocs = EntityQuery <Vocabulary> .All(Session)(); var vms = vocs.Select(v => Vocs .Where(vm => vm.voc == v) .FirstOrDefault() ?? new VocabularyViewModel(v)); Vocs.SyncWith(vms); }
/// <summary> /// Удаляем убранные, обновляем оставшиеся загруженные словари /// </summary> /// <param name="mustBeDeletedIdsPerType"></param> public void AfterSyncVocs(Dictionary <Type, IEnumerable <object> > mustBeDeletedIdsPerType) { Contract.Requires(mustBeDeletedIdsPerType != null); IEnumerable <object> ids; if (mustBeDeletedIdsPerType.TryGetValue(typeof(Vocabulary), out ids)) { var vocsToDel = VocabularyQuery.ByIds(session)(ids.Cast <Guid>()); DeleteVocs(vocsToDel); } var vocs = EntityQuery <Vocabulary> .All(session)(); LoadOrUpdateVocs(vocs); }
public CriteriaViewModel() { viewer = new HierViewer <Estimator, CriteriaGroup, Criterion, ICrit>( cg => cg.Estimator, cr => cr.Group, e => e.CriteriaGroups, cg => cg.Criteria ); Navigator = new CritNavigator(viewer, beforeInsert: CloseEditor); // first save editing crit Navigator.CurrentChanged += (s, e) => { var c = e.arg != null ? (e.arg as CriteriaItemViewModel).Crit : null; ShowEditor(c); }; Navigator.PropertyChanged += (s, e) => { if (e.PropertyName == "CurrentTitle") { Title = Navigator.CurrentTitle; } }; var ests = EntityQuery <Estimator> .All(Session)(); ests.ForEach(x => Navigator.AddRootItemFor(x)); emh.Add(this.Subscribe(Event.DeleteCrit, (e) => { var crit = e.GetValue <ICrit>(MessageKeys.Crit); DeleteCrit(crit); })); emh.Add(this.Subscribe(Event.EntityDeleted, (e) => { var entity = e.GetValue <IEntity>(MessageKeys.Entity); if (entity is ICrit) { OnCritDeleted(entity as ICrit); } })); //var last = ests.LastOrDefault(); //if (last != null) //{ // Open(last); //} }
private int MakeAvailableVms() { var ids = EntityQuery <Vocabulary> .All(Session)().Select(y => y.Id).ToList(); var notInstalled = serverNonCustomVocs .Where(x => !ids.Contains(x.Id)); var vms = notInstalled.Select(voc => AvailableVocs .Where(vm => vm.voc == voc) .FirstOrDefault() ?? new VocabularyViewModel(voc)) .ToList(); uiTaskFactory.StartNew(() => AvailableVocs.SyncWith(vms)); return(vms.Count()); }
/// <summary> /// Начинает редактировать врача. /// </summary> public DoctorEditorViewModel(Doctor doctor) { this.doctor = doctor; _specialities = new List <Speciality> { Speciality.Null }; _specialities.AddRange(EntityQuery <Speciality> .All(Session)() .OrderBy(s => s.Title)); Doctor = new DoctorViewModel(doctor); (doctor as IEditableObject).BeginEdit(); Doctor.canEditComboBoxValues = true; Title = "Данные врача"; HelpTopic = "editdoctor"; WithHelpButton = false; }
protected override IEnumerable <HealthRecord> GetResultForGroup(SearchOptions qb) { var or = base.GetResultForGroup(qb); var allHrs = allHrsCache ?? (allHrsCache = EntityQuery <HealthRecord> .All(session)()); // минимизировать блоки Nor/выбор всех записей switch (qb.SearchScope) { case SearchScope.HealthRecord: return(allHrs.Except(or)); case SearchScope.Holder: return(NotAnyInHolderScope(or, allHrs, h => h.Holder)); case SearchScope.Patient: return(NotAnyInHolderScope(or, allHrs, h => h.GetPatient())); default: throw new NotImplementedException(); } }
public UomEditorViewModel(Uom uom) { Contract.Requires(uom != null); this.uom = uom; Types = new List <UomType>(EntityQuery <UomType> .All(Session)()); Formats = new ObservableCollection <UomFormat>(uom.Formats); (uom as IEditableObject).BeginEdit(); Uom = new UomViewModel(uom); Uom.IsBase = false; // не делать новые единицы базовыми по умолчанию // Нельзя добавить единицу с таким же описанием или обозначением в группе. var customEqTest = (Expression <Func <Uom, bool> >)((x) => (x.Description == uom.Description || x.Abbr == uom.Abbr) && x.Type == uom.Type); tester = new ExistanceTester <Uom>(uom, Uom, Session, customEqTest); tester.Test(); Title = "Единица"; HelpTopic = "edituom"; WithHelpButton = false; }
public DoctorsListViewModel() { Title = "Врачи"; var docs = EntityQuery <Doctor> .All(Session)() .OrderBy(d => d.FullName).ToList(); var specs = EntityQuery <Speciality> .All(Session)() .OrderBy(s => s.Title).ToList(); Doctors.SyncWith(docs); emh.Add(this.Subscribe(Event.EntitySaved, (e) => { // выбираем нового доктора или изменившегося var doc = e.GetValue <IEntity>(MessageKeys.Entity) as Doctor; if (doc != null) { SelectDoctor(doc); } } )); }