public CharactersViewModel() { Title = "Display Characters"; Characters = new ObservableCollection <Character>(); LoadCharactersCommand = new Command(async() => await ExecuteLoadCharactersCommand()); //Change to NewCharacterPage MessagingCenter.Subscribe <NewItemPage, Character>(this, "AddCharacter", async(obj, character) => { var newCharacter = character as Character; Characters.Add(newCharacter); await DataStore.AddCharacterAsync(newCharacter); }); }
public CharacterViewModel() { Title = "Browse"; Characters = new ObservableCollection <Character>(); LoadCharactersCommand = new Command(async() => await ExecuteLoadCharactersCommand()); MessagingCenter.Subscribe <NewCharacterPage, Character>(this, "AddCharacter", async(obj, character) => { var newCharacter = character as Character; Characters.Add(newCharacter); await DataStore.AddCharacterAsync(newCharacter); }); MessagingCenter.Subscribe <EditCharacterPage, Character>(this, "EditCharacter", async(obj, character) => { var newCharacter = character as Character; var ch = Characters.FirstOrDefault(arg => arg.Id == newCharacter.Id); if (ch == null) { return; } ch.Update(newCharacter); await DataStore.UpdateCharacterAsync(ch); _NeedsRefresh = true; }); MessagingCenter.Subscribe <DeleteCharacterPage, Character>(this, "DeleteCharacter", async(obj, character) => { var newCharacter = character as Character; Characters.Remove(newCharacter); await DataStore.DeleteCharacterAsync(newCharacter.Id); }); }