コード例 #1
0
        private async void AddItem(object sender, RoutedEventArgs e)
        {
            Category category = new Category(NewCategory.Text);

            if (!ListOfCategories.Contains(category.Name))
            {
                ListOfCategories.Add(category.Name);
                category.UserId = LoginPage.account.Id;
                await ViewModel.SaveCategoryAsync(category);
            }

            if (!NumberCheck(NewAmount.Text))
            {
                ErrorLabel.Text = "Only numbers are allowed in the amount field, please try again.";
            }

            else if (NewItem.Text == String.Empty)
            {
                ErrorLabel.Text = "No item was specified, please try again.";
            }

            else
            {
                TravelCheckListItem checkListItem = new TravelCheckListItem()
                {
                    Name = NewItem.Text, Amount = Convert.ToInt32(NewAmount.Text), Checked = (bool)NewCheck.IsChecked, Category = category.Name
                };
                checkListItem = await ViewModel.SaveChecklistAsync(checkListItem);

                ObservablecheckListItems.Add(checkListItem);
                LoadProgress();
            };
        }
コード例 #2
0
 public async Task UpdateCheckListItemAsync(int id, TravelCheckListItem checkListItem)
 {
     if (checkListItem == null)
     {
         throw new ArgumentNullException(nameof(checkListItem));
     }
     _context.Items.Update(checkListItem);
     await _context.SaveChangesAsync();
 }
コード例 #3
0
        private async void DeleteItem(object sender, RoutedEventArgs e)
        {
            Button btn = sender as Button;
            TravelCheckListItem itemToDelete = (TravelCheckListItem)btn.DataContext;

            await ViewModel.DeleteChecklistAsync(itemToDelete);

            ObservablecheckListItems.Remove(itemToDelete);
            LoadProgress();
        }
コード例 #4
0
 private async void CheckBox_CheckedChanged(object sender, RoutedEventArgs e)
 {
     if (this.CheckListTable.IsLoaded)
     {
         CheckBox            cbx          = sender as CheckBox;
         TravelCheckListItem ItemToUpdate = (TravelCheckListItem)cbx.DataContext;
         ItemToUpdate.Checked = (bool)cbx.IsChecked;
         ObservablecheckListItems.Where(x => x.TravelCheckListItemID == ItemToUpdate.TravelCheckListItemID).ToList().ForEach(x => x.Checked = (bool)cbx.IsChecked);
         LoadProgress();
         await ViewModel.UpdateChecklistAsync(ItemToUpdate);
     }
 }
コード例 #5
0
        public async Task <TravelCheckListItem> CreateCheckListItemAsync(TravelCheckListItem checkListItem)
        {
            if (checkListItem == null)
            {
                throw new ArgumentNullException(nameof(checkListItem));
            }
            _context.Items.Add(checkListItem);
            await _context.SaveChangesAsync();

            return(await _context.Items.AsNoTracking()
                   .FirstOrDefaultAsync(p => p.TravelCheckListItemID == checkListItem.TravelCheckListItemID));
        }
コード例 #6
0
 public async Task UpdateCheckListItemAsync(int id, TravelCheckListItem checkListItem) =>
 await _http.PutAsync <TravelCheckListItem, TravelCheckListItem>($"travelchecklistitem/{id}", checkListItem);
コード例 #7
0
 public async Task DeleteCheckListItemAsync(TravelCheckListItem checkListItem) =>
 await _http.DeleteAsync("travelchecklistitem", checkListItem.TravelCheckListItemID);
コード例 #8
0
 public async Task <TravelCheckListItem> CreateCheckListItemAsync(TravelCheckListItem checkListItem) =>
 await _http.PostAsync <TravelCheckListItem, TravelCheckListItem>("travelchecklistitem", checkListItem);