/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> private ClientInfoModel LoadClientModel(Int32 id) { IDataSource i_datasource = DataSourceCreator.CreateDataSource(); ClientInfoModel model = i_datasource.LoadClientInfo(id); model.SuccessSave += (o, e) => { if (0 == id) { // add new var new_client = new ClientRowModel(model.Id, model.Name, model.SecondName, model.ThirdName); this.AddClient(new_client); this.SelectedClient = new_client; } else { // refresh var client = this.Clients.Where(c => c.Id == model.Id). FirstOrDefault(); if (null != client) { client.Name = model.Name; client.SecondName = model.SecondName; client.ThirdName = model.ThirdName; } this.SelectedClient = client; } }; return(model); }
/// <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); }
/// <summary> /// /// </summary> /// <param name="iCollectionConsumer"></param> /// <param name="token"></param> /// <param name="delay"></param> /// <param name="clientId"></param> private void LoadVisits(IMultiThreadObservableCollectionConsumer iCollectionConsumer, CancellationToken token, Boolean delay, Int32 clientId) { try { if (delay) { Debug.WriteLine("Load visits: sleep 500 ms"); Thread.Sleep(500); if (token.IsCancellationRequested) { Debug.WriteLine("Load visits cancelled: task break without load"); return; } } IDataSource data_source = DataSourceCreator.CreateDataSource(); var visits = data_source.LoadVisits(clientId); iCollectionConsumer.ClearVisits(); foreach (var visit in visits) { if (token.IsCancellationRequested) { Debug.WriteLine("Load visits cancelled: break add itens"); break; } iCollectionConsumer.AddVisit(visit); } } catch (Exception ex) { this._IMessageBoxService.MessageBoxShow("Error", ex.Message, MessageBoxButton.OK, MessageBoxImage.Error); } }