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; } }); }
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); }
public static void AddPerson(Person person) { person.Id = currentId++; persons.Add(person); }
public bool UpdatePerson(Person person) { return FakeDatabase.UpdatePerson(person); }
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); }