Ejemplo n.º 1
0
        public void AddDiet(Diet diet)
        {
            bool fileExists = File.Exists(path);

            // Create file if it does not exists.
            if (!fileExists)
            {
                var xmlTextWriter = new XmlTextWriter(path, System.Text.Encoding.UTF8)
                {
                    Formatting = Formatting.Indented
                };
                xmlTextWriter.WriteStartDocument();
                xmlTextWriter.WriteStartElement("Diets");
                xmlTextWriter.WriteEndElement();
                xmlTextWriter.WriteEndDocument();
                xmlTextWriter.Close();
            }

            XDocument doc = XDocument.Load(path);

            XElement newDiet = new XElement("Diet",
                                            new XElement("Name", diet.Name),
                                            new XElement("Description", diet.Description));

            XElement productsOfDiet = new XElement("DietProducts");

            List <DietProduct> array = diet.Products;

            for (int i = 0; i < array.Count; i++)
            {
                XElement dietProduct = new XElement("DietProduct");

                dietProduct.Add
                (
                    new XElement("Amount", array[i].Amount),
                    new XElement("Name", array[i].Name),
                    new XElement("Description", array[i].Description),
                    new XElement("Unit", array[i].Unit),
                    new XElement("Weight", array[i].Weight),
                    new XElement("Calories", array[i].Calories),
                    new XElement("Fat", array[i].Fat),
                    new XElement("Carbs", array[i].Carbs),
                    new XElement("Proteins", array[i].Proteins)
                );

                productsOfDiet.Add(dietProduct);
            }

            newDiet.Add(productsOfDiet);
            doc.Element("Diets").Add(newDiet);
            doc.Save(path);
        }
Ejemplo n.º 2
0
        public List <Diet> GetAllDiets()
        {
            if (!File.Exists(path))
            {
                Console.WriteLine($"{path} does not exists");
                return(null);
            }

            List <Diet> diets = new List <Diet>();
            XmlDocument doc   = new XmlDocument();

            doc.Load(path);

            XmlNodeList elemList = doc.GetElementsByTagName("Diet");

            // Iterate diets (<Diet>).
            for (int i = 0; i < elemList.Count; i++)
            {
                Diet diet = new Diet();
                diet.Name        = elemList[i].ChildNodes[0].InnerText;
                diet.Description = elemList[i].ChildNodes[1].InnerText;

                // Iterate products of diet (<DietProducts>).
                for (int k = 0; k < elemList[i].ChildNodes[2].ChildNodes.Count; k++)
                {
                    var elements = elemList[i].ChildNodes[2].ChildNodes[k].ChildNodes;

                    // Create product.
                    Product product = new Product();
                    product.Name        = elements[1].InnerText;
                    product.Description = elements[2].InnerText;
                    product.Unit        = elements[3].InnerText;
                    product.Weight      = double.Parse(elements[4].InnerText, CultureInfo.InvariantCulture);
                    product.Calories    = double.Parse(elements[5].InnerText, CultureInfo.InvariantCulture);
                    product.Fat         = double.Parse(elements[6].InnerText, CultureInfo.InvariantCulture);
                    product.Carbs       = double.Parse(elements[7].InnerText, CultureInfo.InvariantCulture);
                    product.Proteins    = double.Parse(elements[8].InnerText, CultureInfo.InvariantCulture);

                    int amount = int.Parse(elements[0].InnerText);

                    diet.AddProduct(new DietProduct(product, amount));
                }

                diets.Add(diet);

                Console.WriteLine(diet.ToString());
            }

            return(diets);
        }
Ejemplo n.º 3
0

        
Ejemplo n.º 4
0

        
Ejemplo n.º 5
0
 // TODO
 public void RemoveDiet(Diet diet)
 {
     throw new NotImplementedException();
 }