Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        /// <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);
            }
        }