예제 #1
0
        public async Task SelectListAsync(ToDoList list)
        {
            if (list.Id == SelectedList?.Id)
            {
                return;
            }

            SelectedList = list;

            await SelectedListChanged.InvokeAsync(list)
            .ConfigureAwait(true);

            OnStateChanged();
        }
예제 #2
0
        public async Task EditListAsync(ToDoList list, string newName)
        {
            try
            {
                var item = await _listsService.EditListAsync(list.Id, newName)
                           .ConfigureAwait(true);

                list.Name = item.Name;

                if (SelectedList?.Id == list.Id)
                {
                    await SelectedListChanged.InvokeAsync(SelectedList)
                    .ConfigureAwait(true);
                }

                OnStateChanged();
            }
            catch (Exception ex)
            {
                await ShowErrorAsync(ex)
                .ConfigureAwait(true);
            }
        }
예제 #3
0
        public async Task RemoveListAsync(ToDoList list)
        {
            try
            {
                await _listsService.DeleteListAsync(list.Id)
                .ConfigureAwait(true);

                Lists.Remove(list);

                if (SelectedList?.Id == list.Id)
                {
                    SelectedList = null;
                    await SelectedListChanged.InvokeAsync(null)
                    .ConfigureAwait(true);
                }

                OnStateChanged();
            }
            catch (Exception ex)
            {
                await ShowErrorAsync(ex)
                .ConfigureAwait(true);
            }
        }