示例#1
0
        public MonstersViewModel()
        {
            Title           = "Monster List";
            Dataset         = new ObservableCollection <Monster>();
            LoadDataCommand = new Command(async() => await ExecuteLoadDataCommand());

            MessagingCenter.Subscribe <DeleteMonsterPage, Monster>(this, "DeleteData", async(obj, data) =>
            {
                Dataset.Remove(data);
                await DataStore.DeleteAsync_Monster(data);
            });

            MessagingCenter.Subscribe <NewMonsterPage, Monster>(this, "AddData", async(obj, data) =>
            {
                Dataset.Add(data);
                await DataStore.AddAsync_Monster(data);
            });

            MessagingCenter.Subscribe <EditMonsterPage, Monster>(this, "EditData", async(obj, data) =>
            {
                // Find the Monster, then update it
                var myData = Dataset.FirstOrDefault(arg => arg.Id == data.Id);
                if (myData == null)
                {
                    return;
                }

                myData.Update(data);
                await DataStore.UpdateAsync_Monster(myData);

                _needsRefresh = true;
            });
        }
示例#2
0
        public async Task <bool> AddAsync(Monster data)
        {
            Dataset.Add(data);
            var ret = await DataStore.AddAsync_Monster(data);

            return(ret);
        }