public void UpdateListFilterStore(ShoppingList list, string filterStore) { list.FilterStore = filterStore; listDB.SubmitChanges(); }
public void UpdateListFilterTag(ShoppingList list, string filterTag) { list.FilterTag = filterTag; listDB.SubmitChanges(); }
/// <summary> /// Move item to another list /// </summary> /// <param name="oldList">Instance of old item list</param> /// <param name="newList">Instance of new item list</param> /// <param name="listItem">Instance of item to be moved</param> public void MoveItemToAnotherList(ShoppingList oldList, ShoppingList newList, ShoppingListItem listItem) { oldList.ListItems.Remove(listItem); oldList.ModifiedDate = DateTime.Now; //Filter list items collection with adding new item to list oldList.FilterItemsCollection(); listItem.List = newList; newList.ListItems.Add(listItem); newList.ModifiedDate = DateTime.Now; //Filter list items collection with adding new item to list newList.FilterItemsCollection(); //Submiting all changes to database //listDB.ListItems.InsertOnSubmit(newListItem); listDB.SubmitChanges(); }
/// <summary> /// Rename list /// </summary> /// <param name="renameList">List to be renamed</param> /// <param name="newName">New list name</param> public void RenameList(ShoppingList renameList, string newName) { //Select corresponding list in data context collection and changing its name var listInDB = listDB.Lists.Where(c => c.ListID == renameList.ListID).FirstOrDefault(); listInDB.ListName = newName; listInDB.ModifiedDate = DateTime.Now; //Submiting all changes to database listDB.SubmitChanges(); }
/// <summary> /// Change item status. If status was 'Unchecked' -> change to 'Checked', /// else if status was 'Checked' -> change to 'Unchecked' /// </summary> /// <param name="currentList">Instance of list containing item to be changed</param> /// <param name="item">Instance of item to be updated</param> public void ChangeItemStatus(ShoppingList currentList, ShoppingListItem item) { ShoppingListItem itemInDB = listDB.ListItems.Where(i => i.ItemID == item.ItemID).FirstOrDefault(); if (itemInDB.Status == 0) itemInDB.Status = 1; else itemInDB.Status = 0; itemInDB.ModifiedDate = DateTime.Now; currentList.ModifiedDate = DateTime.Now; currentList.SortItemsCollection(); listDB.SubmitChanges(); }
/// <summary> /// Delete list from database /// </summary> /// <param name="delList">List to be deleted</param> public void DeleteList(ShoppingList delList) { listDB.Lists.DeleteOnSubmit(delList); listDB.SubmitChanges(); //Delete list from current loaded collection ShoppingLists.Remove(delList); }
/// <summary> /// Adding new list item to list /// </summary> /// <param name="currentList">Instance of list to which add new item</param> /// <param name="newListItem">Instance of new item to be added</param> public void AddNewListItem(ShoppingList currentList, ShoppingListItem newListItem) { newListItem.CreatedDate = DateTime.Now; newListItem.ModifiedDate = DateTime.Now; currentList.ListItems.Add(newListItem); currentList.ModifiedDate = DateTime.Now; //Filter list items collection with adding new item to list currentList.FilterItemsCollection(); //Submiting all changes to database listDB.ListItems.InsertOnSubmit(newListItem); listDB.SubmitChanges(); }
/// <summary> /// Add new store to list /// </summary> /// <param name="list">Instance of list in which store will be added</param> /// <param name="store">Instance of store to be added</param> public void AddNewStore(ShoppingList list, ShoppingListStore store) { list.ListStores.Add(store); list.ModifiedDate = DateTime.Now; store.CreatedDate = DateTime.Now; store.ModifiedDate = DateTime.Now; listDB.ListStores.InsertOnSubmit(store); list.UpdateListStoreLabels(); listDB.SubmitChanges(); }
/// <summary> /// Adding new list to collection and save it to local database /// </summary> /// <param name="newList">Instance of new adding list</param> public void AddNewList(ShoppingList newList) { //Initialisation list fields associated with date newList.CreatedDate = DateTime.Now; newList.ModifiedDate = DateTime.Now; //Insetrion and submition all changes to database listDB.Lists.InsertOnSubmit(newList); listDB.SubmitChanges(); //Adding new list to current observable collection ShoppingLists.Add(newList); }
/// <summary> /// Activate List Selector Control /// </summary> public void ActivateListSelector(ShoppingList list, ShoppingListItem item) { this.listSelector = new ListSelectorControl(); listSelector.list = list; listSelector.item = item; listSelector.CollapsedVisualState.Storyboard.Completed +=new EventHandler(ListSelect_Completed); //Actually activating the dialog LayoutRoot.Children.Add(listSelector); listSelector.Activate(); ApplicationBar.IsVisible = false; }
/// <summary> /// Set shopping list selected - currently displaying on the MainPage of application /// </summary> /// <param name="list">ShoppingList instance, which have to be selceted /// (currently displaying on the screen).</param> private void SetSelectedList(ShoppingList list) { DependencyObject listContainer = LayoutRoot.Children[0]; Grid grid = VisualTreeHelper.GetChild(listContainer, 0) as Grid; UIElement obj = grid.Children[0] as ItemsControl; if (obj is Pivot) (obj as Pivot).SelectedItem = list; else if (obj is ListPicker) (obj as ListPicker).SelectedItem = list; else throw new Exception("Unrecognized control in the page's layout"); }
/// <summary> /// Creating message body string from current list's entries /// </summary> /// <param name="currentList">Instance of the selected current shopping list</param> /// <returns>String body of the selected current shopping list</returns> private string CreateMessageBody(ShoppingList currentList) { String body = String.Empty; if (currentList != null) { foreach (ShoppingListItem item in currentList.ListItems) { if (item.Status <= 1) { body += String.Format("[{0}] ", item.Status == 0 ? " " : "X"); body += item.Quantity == null ? "" : item.Quantity + " "; body += item.Units == null ? "" : item.Units + " "; body += String.Format("{0} ", item.ItemName); if (item.Tag != string.Empty || item.Price != 0.00F) { body += "()"; body = body.Insert(body.Length - 1, item.Tag == string.Empty ? "" : item.Tag + " "); body = body.Insert(body.Length - 1, item.Price == 0.00F ? "" : String.Format("{0:F2}", item.Price)); } body += "\n"; } } } return body; }
//With EditNameGialog 'ok' button click will check 'new list name' TextBox void ButtonOK_Click(object sender, RoutedEventArgs e) { //Is 'new list name' TextBox.Text Empty? if (editNameDlg.DialogData.Text.Trim() != String.Empty) { //If 'new list name' TextBox.Text is NOT empty, //than create the collection of exist shopping list's names. //This collection will be checked for containing the 'new list name'. var listsNames = from ShoppingList list in App.ViewModel.ShoppingLists select list.ListName; string newListName = editNameDlg.DialogData.Text.Trim(); //If 'new list name' already exist in this collection, //than it will be selected (currently displaying) the list with this name. if (listsNames.Contains(newListName)) { ShoppingList list = App.ViewModel.ShoppingLists.FirstOrDefault(x => x.ListName == newListName); this.SetSelectedList(list); editNameDlg.Deactivate(); } //If 'new list name' DOES NOT exist in this collection, //than it will be renaming or adding new shopping list (accordingly to the EditNameDialogMode) else { //Renaming exeisting shopping list and deactivating the control if (editNameDlg.DialogMode == (int)EditNameDialog.EditNameDialogMode.RenamingList) { ShoppingList renameList = this.GetCurrentShoppingList(); App.ViewModel.RenameList(renameList, newListName); editNameDlg.Deactivate(); } //Adding new shopping list and deactivating the control else if (editNameDlg.DialogMode == (int)EditNameDialog.EditNameDialogMode.AddingNewList) { ShoppingList newList = new ShoppingList() { ListName = newListName }; App.ViewModel.AddNewList(newList); this.SetSelectedList(newList); editNameDlg.Deactivate(); } } } //If 'new list name' TextBox.Text IS empty -> MessageBox for informating user //to input correct data. else MessageBox.Show("Please, input correct list's name" + "\n\n" + "*Note: Name must not be empty", "Information", MessageBoxButton.OK); }