/// <summary> /// /// </summary> /// <param name="newItem"></param> public void AddVisit(VisitRowModel newItem) { lock (this._VisitsItemsLock) { this._Visits.Add(newItem); } }
/// <summary> /// Ctor /// </summary> public MainVM(IMessageBoxService iMessageBoxService) { this._IMessageBoxService = iMessageBoxService; this._SelectedClient = null; this._SelectedVisit = null; this._ClientsItemsLock = new object(); this._Clients = new ObservableCollection <ClientRowModel>(); BindingOperations.EnableCollectionSynchronization(this._Clients, this._ClientsItemsLock); this._VisitsItemsLock = new object(); this._Visits = new ObservableCollection <VisitRowModel>(); BindingOperations.EnableCollectionSynchronization(this._Visits, this._VisitsItemsLock); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> private VisitInfoModel LoadVisitModel(Int32 id) { IDataSource i_datasource = DataSourceCreator.CreateDataSource(); VisitInfoModel model = i_datasource.LoadVisitInfo(id); if (id == 0) { model.ClientId = this.SelectedClient.Id; } model.SuccessSave += (o, e) => { // испольцуем model - так ьыстрее if (0 == id) { // add new var new_visit = new VisitRowModel(model.Id, model.ClientId, model.DateVisit, model.VisitType, model.Diagnos); this.AddVisit(new_visit); } else { // refresh var visit = this.Visits.Where(c => c.Id == model.Id). FirstOrDefault(); if (null != visit) { visit.DateVisit = model.DateVisit; visit.Diagnos = model.Diagnos; visit.VisitType = model.VisitType; } } }; return(model); }