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