/* * This method is used by various child classes to persist data * to file. * A switch statement based on the enum parameter is used to populate * a list of string arrays to pass to the data layer. */ protected internal void SaveToFile(ListType listType) { string path = null; List <string[]> listToSave = new List <string[]>(); foreach (ShoppingListObject ShoppingList in _objects) { string[] row = null; switch (listType) { case ListType.ShoppingList: path = (string)App.Current.FindResource("LISTPATH"); foreach (ShoppingListElement element in ShoppingList.ShoppingList) { row = new string[] { element.Item, element.Category, element.Amount.ToString() }; listToSave.Add(row); } break; case ListType.ItemsList: path = (string)App.Current.FindResource("ITEMSPATH"); foreach (ShoppingListElement element in ShoppingList.ShoppingListItems) { row = new string[] { element.Item, element.Category }; listToSave.Add(row); } break; case ListType.Categories: path = (string)App.Current.FindResource("CATEGORIESPATH"); row = new string[] { ShoppingList.CategoryTitle }; listToSave.Add(row); break; case ListType.NewShoppingList: path = (string)App.Current.FindResource("LASTLISTPATH"); foreach (ShoppingListElement element in ShoppingList.ShoppingList) { row = new string[] { element.Item, element.Category, element.Amount.ToString() }; listToSave.Add(row); } break; } } WriteListToFile save = new WriteListToFile(listToSave, path); }
private void RestoreDefaultCategories() { DeleteFile.Delete(ITEMSPATH); for (int i = _objects.Count - 1; i >= 0; i--) { _objects.RemoveAt(i); } DefaultCategories defaultCategories = new DefaultCategories(); IList <string[]> defaultCats = defaultCategories.DefaultCategoryList; WriteListToFile set = new WriteListToFile(defaultCats, CATEGORIESPATH); foreach (string[] category in defaultCats) { _objects.Add(new ShoppingListObject(category[0])); } }
private void GetList() { GetListFromFile get = new GetListFromFile(CATEGORIESPATH); IList <string[]> cats = null; if (get.ListFromFile.Count > 0) { cats = get.ListFromFile; } else { DefaultCategories defaultCategories = new DefaultCategories(); cats = defaultCategories.DefaultCategoryList; WriteListToFile set = new WriteListToFile(cats, CATEGORIESPATH); } foreach (string[] cat in cats) { categories.Add(new ShoppingListObject(cat[0])); } }
private void GetItems() { GetListFromFile get = new GetListFromFile(ITEMSPATH); IList <string[]> ItemsList = null; if (get.ListFromFile.Count > 0) { ItemsList = get.ListFromFile; } else { DefaultItemsLibrary defaultItems = new DefaultItemsLibrary(); ItemsList = defaultItems.DefaultItemsList; WriteListToFile set = new WriteListToFile(ItemsList, ITEMSPATH); } foreach (string[] row in ItemsList) { if (string.Equals(CategoryTitle, row[1])) { ShoppingListItems.Add(new ShoppingListElement(row[0], row[1])); } } }