Ejemplo n.º 1
0
        /*
         * 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);
        }
Ejemplo n.º 2
0
        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]));
            }
        }
Ejemplo n.º 4
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]));
                }
            }
        }