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);
            });
        }
示例#2
0
        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);
            });
        }