public async Task RefreshAsync()
		{
			await Task.Run(() =>
			{
				IsBusy = true;
				try
				{
					var persons = this.personService.GetPersons();
					var previouslySelectedPerson = selectedPerson;
					dispatcher.Invoke(() =>
						{
							personDirectory.Clear();
							personDirectory.AddRange(persons);
							if (previouslySelectedPerson != null)
							{
								if (personDirectory.Any(p => p.Id == previouslySelectedPerson.Id))
								{
									SelectedPerson = previouslySelectedPerson;
								}
							}
						});
				}
				catch (Exception)
				{
					//TODO: Publish operation failed
				}
				finally
				{
					IsBusy = false;
				}
			});
		}
Esempio n. 2
0
 public static bool UpdatePerson(Person person)
 {
     int index = persons.FindIndex(p => p.Id == person.Id);
     if (index < 0)
     {
         return false;
     }
     persons[index] = person;
     return true;
 }
 public PersonDialogViewModel(IPersonService personService, IDispatcher dispatcher, IEventAggregator aggregator, IDialogService dialogService, Person person)
     : base(personService, dispatcher, aggregator, dialogService)
 {
     this.person = new Person();
     if (person != null)
     {
         this.person.Id = person.Id;
         this.person.FirstName = person.FirstName;
         this.person.LastName = person.LastName;
         this.person.Age = person.Age;
         this.Title = "Edit person";
         this.CommandName = "Update";
         ActionCommand = new DelegateCommand(Edit);
     }
     else
     {
         this.Title = "New person";
         this.CommandName = "Create";
         ActionCommand = new DelegateCommand(Add);
     }
 }
		private void OnPersonDeleted(Person person)
		{
			this.personDirectory.Remove(person);
		}
Esempio n. 5
0
 public static void AddPerson(Person person)
 {
     person.Id = currentId++;
     persons.Add(person);
 }
Esempio n. 6
0
 public bool UpdatePerson(Person person)
 {
     return FakeDatabase.UpdatePerson(person);
 }
Esempio n. 7
0
 public bool CreatePerson(Person person)
 {
     FakeDatabase.AddPerson(person);
     return true;
 }
 private void OnSelectedPersonChanged(Person person)
 {
     this.Person = person;
 }
 private void WhenPersonDeletedEventIsReceived(Person person)
 {
     personDeletedCallback.Invoke(person);
 }