Exemple #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="newItem"></param>
 public void AddClient(ClientRowModel newItem)
 {
     lock (this._ClientsItemsLock)
     {
         this._Clients.Add(newItem);
     }
 }
Exemple #2
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);
        }
Exemple #3
0
        /// <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);
        }