Difference between revisions of "CSharp: AulaDemoDll.NamespaceE.ArmazenadorDeProdutos"
From AdonaiMedrado.Pro.Br
(New page: == Classe ArmazenadorDeProdutos == <code lang="csharp"> using System; using System.Data; namespace AulaDemoDll.NamespaceE { public static class ArmazenadorDeProdutos { ...) |
(No difference)
|
Latest revision as of 19:40, 11 November 2008
Classe ArmazenadorDeProdutos
using System; using System.Data; namespace AulaDemoDll.NamespaceE { public static class ArmazenadorDeProdutos { public static void Armazenar(Produto p) { string arquivo = "produtos.xml"; DataSet d; if (System.IO.File.Exists(arquivo)) { d = new DataSet(); d.ReadXml(arquivo); } else { d = new DataSet("BancoDeProdutos"); d.Tables.Add("Produto"); d.Tables[0].Columns.Add("Nome", typeof(string)); d.Tables[0].Columns.Add("MargemDeLucro", typeof(double)); } d.Tables[0].Rows.Add(new object[] { p.Nome, p.MargemDeLucro }); d.WriteXml(arquivo, XmlWriteMode.WriteSchema); } public static System.Collections.Generic.List<Produto> Retornar() { System.Collections.Generic.List<Produto> retorno = new System.Collections.Generic.List<Produto>(); string arquivo = "produtos.xml"; DataSet d; d = new DataSet(); d.ReadXml(arquivo); foreach (DataRow row in d.Tables[0].Rows) retorno.Add(new Produto((string)row["Nome"], (double)row["MargemDeLucro"])); return retorno; } } }
Uso da classe ArmazenadorDeProdutos
using System; using AulaDemoDll.NamespaceE; namespace AulaDemo { class Program { static void Main(string[] args) { string nome, sn; double margem; do { Console.Write("Digite o nome de um produto: "); nome = Console.ReadLine(); Console.Write("Digite uma margem de lucro: "); margem = double.Parse(Console.ReadLine()); ArmazenadorDeProdutos.Armazenar(new Produto(nome, margem)); Console.Write("Deseja digitar outro [s/n]? "); sn = Console.ReadLine(); } while (sn == "s"); Console.WriteLine(); foreach (Produto p in ArmazenadorDeProdutos.Retornar()) { Console.WriteLine("Produto: " + p.Nome); Console.WriteLine("Margem: " + p.MargemDeLucro); Console.WriteLine("---------------"); } Console.ReadKey(); } } }