Пример #1
0
        public Tela Mostra()
        {
            Console.WriteLine(">>> " + this.Nome + " <<<");
            Console.WriteLine();

            using (GranaContext ctx = new GranaContext())
            {
                DespesaRepositorio dr       = new DespesaRepositorio(ctx);
                List <Despesa>     despesas = dr.BuscaRecente();

                int opt = -1;

                while (opt < 0 || opt > despesas.Count)
                {
                    for (int i = 0; i < despesas.Count; i++)
                    {
                        Console.WriteLine("{0} | {1} - {2} - {3}", (i + 1), despesas[i].Data, despesas[i].Nome, despesas[i].Valor);
                    }

                    Console.WriteLine();
                    Console.WriteLine("Digite o número da despesa que deseja remover.");
                    Console.WriteLine("Digite 0 para sair:");

                    try
                    {
                        opt = Convert.ToInt32(Console.ReadLine());
                    }
                    catch (FormatException e)
                    {
                        Console.WriteLine("Opção inválida!");
                    }

                    if (opt < 0 || opt > 1000)
                    {
                        Console.WriteLine("Opção incorreta!");
                    }

                    if (opt != 0)
                    {
                        dr.Remove(despesas[opt - 1]);

                        despesas.RemoveAt(opt - 1);

                        opt = -1;

                        ctx.SaveChanges();

                        Console.WriteLine();
                        Console.WriteLine("Despesa Removida");
                        Console.WriteLine();
                    }
                }

                Console.WriteLine();

                return(this.anterior);
            }

            return(anterior);
        }
Пример #2
0
        public Tela mostra()
        {
            Console.WriteLine(">>> " + this.Nome + " <<<");
            Console.WriteLine();

            Console.WriteLine("Limpando dados...");

            using (GranaContext ctx = new GranaContext())
            {
                ctx.Database.ExecuteSqlCommand("DELETE FROM Despesas");
                ctx.Database.ExecuteSqlCommand("DELETE FROM Receitas");

                ctx.SaveChanges();
            }

            Console.WriteLine("Dados limpos");
            Console.WriteLine();

            return(this.anterior);
        }
Пример #3
0
        public Tela mostra()
        {
            Console.WriteLine(">>> " + this.Nome + " <<<");
            Console.WriteLine();

            Console.Write("Digite o nome: ");
            string nome = Console.ReadLine();

            double valor = -1;

            while (valor < 0)
            {
                Console.WriteLine("Digite o valor: ");

                try
                {
                    valor = Convert.ToDouble(Console.ReadLine());
                }
                catch (FormatException e)
                {
                    Console.WriteLine("Valor incorreto");
                    continue;
                }

                if (valor < 0)
                {
                    Console.WriteLine("Valor incorreto");
                }
            }

            DateTime?data = null;

            while (data == null)
            {
                Console.WriteLine("Digite a data (ex: 05/08/2016): ");

                try
                {
                    CultureInfo cf = new CultureInfo("pt-BR");
                    data = Convert.ToDateTime(Console.ReadLine(), cf);
                }
                catch (FormatException e)
                {
                    Console.WriteLine("Data incorreta!");
                    data = null;
                    continue;
                }
            }

            Console.WriteLine();
            Dictionary <int, string> tipos = new Dictionary <int, string>();

            tipos.Add(1, "Aluguel");
            tipos.Add(2, "Alimentação");
            tipos.Add(3, "Transporte");
            tipos.Add(4, "Lazer");
            tipos.Add(5, "Outros");

            foreach (KeyValuePair <int, string> kvp in tipos)
            {
                Console.WriteLine(kvp.Key + ". " + kvp.Value);
            }

            int tipo = -1;

            while (tipo < 1 || tipo > 5)
            {
                Console.Write("Escolha o tipo (número de 1 a 5)");

                try
                {
                    tipo = Convert.ToInt32(Console.ReadLine());
                }
                catch (FormatException e)
                {
                    Console.WriteLine("Tipo incorreto!");
                    continue;
                }

                if (tipo < 1 || tipo > 5)
                {
                    Console.WriteLine("Tipo incorreto!");
                }
            }

            using (GranaContext ctx = new GranaContext())
            {
                Despesa desp = new Despesa();
                desp.Nome  = nome;
                desp.Valor = valor;
                desp.Tipo  = tipos[tipo];
                desp.Data  = data.GetValueOrDefault();

                DespesaRepositorio d = new DespesaRepositorio(ctx);
                d.Adiciona(desp);

                ctx.SaveChanges();
            }

            Console.WriteLine("Despesa adicionada");
            return(this.anterior);
        }
Пример #4
0
 public ReceitaRepositorio(GranaContext context)
 {
     _context = context ?? throw new ArgumentNullException(nameof(context));
 }
Пример #5
0
 public TelaGeraDados(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Gerar dados";
 }
Пример #6
0
 public TelaDespesaAdicionar(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Adicionar Despesa";
 }
Пример #7
0
 public TelaRelatorioMensal(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Relatório Mensal";
 }
Пример #8
0
        public Tela mostra()
        {
            Console.WriteLine(">>> " + this.Nome + " <<<");
            Console.WriteLine();

            DateTime?dataInicial = null;

            while (dataInicial == null)
            {
                Console.WriteLine("Digite sua data inicial (ex: 05/08/2016): ");

                try
                {
                    CultureInfo cf = new CultureInfo("pt-BR");
                    dataInicial = Convert.ToDateTime(Console.ReadLine());
                }
                catch (FormatException e)
                {
                    dataInicial = null;
                    Console.WriteLine("Data incorreta");
                }
            }

            DateTime?dataFinal = null;

            while (dataFinal == null)
            {
                Console.WriteLine("Insira a sua data final (Ex: 05/03/2016): ");

                try
                {
                    CultureInfo cf = new CultureInfo("pt-BR");
                    dataFinal = Convert.ToDateTime(Console.ReadLine());

                    if (dataFinal < dataInicial)
                    {
                        dataFinal = null;
                        Console.WriteLine("Data incorreta!");
                    }
                }
                catch (FormatException e)
                {
                    Console.WriteLine("Data incorreta!");
                }
            }

            using (GranaContext ctx = new GranaContext())
            {
                DespesaRepositorio d = new DespesaRepositorio(ctx);

                List <Despesa> despesas = d.BuscaPorPeriodo(dataInicial.GetValueOrDefault(), dataFinal.GetValueOrDefault());


                int opt = -1;

                while (opt < 0 || opt > despesas.Count)
                {
                    for (int i = 0; i < despesas.Count; i++)
                    {
                        Console.WriteLine((i + 1) + ". " + despesas[i]);
                    }

                    Console.WriteLine();
                    Console.WriteLine("Digite o número da despesa que deseja remover.");
                    Console.WriteLine("Digite 0 para voltar.");

                    try
                    {
                        opt = Convert.ToInt32(Console.ReadLine());
                    }
                    catch (FormatException e)
                    {
                        Console.WriteLine("Opção inválida!");
                        continue;
                    }

                    if (opt < 0 || opt > despesas.Count)
                    {
                        Console.WriteLine("Opção inválida!");
                        continue;
                    }

                    if (opt != 0)
                    {
                        DespesaRepositorio dr = new DespesaRepositorio(ctx);

                        despesas.RemoveAt(opt - 1);

                        opt = -1;

                        ctx.SaveChanges();

                        Console.WriteLine();
                        Console.WriteLine("Despesa removida!");
                        Console.WriteLine();
                    }
                }
            }

            Console.WriteLine();
            return(this.anterior);
        }
Пример #9
0
 public TelaRelatorioPesonalizado(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Relatório Personalizado";
 }
Пример #10
0
 public TelaReceitaConsultaTipo(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Receitas por Tipo";
 }
Пример #11
0
 public TelaDespesaConsultaTipo(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Despesas por Tipo";
 }
Пример #12
0
        static void Main(string[] args)
        {
            using (GranaContext context = new GranaContext())
            {
                // Menu principal
                TelaMenu principal = new TelaMenu("Menu Pincipal");

                TelaMenu       relatorios = new TelaMenu("Relatórios");
                TelaMenu       receitas   = new TelaMenu("Receitas");
                TelaMenu       despesas   = new TelaMenu("Despesas");
                TelaGeraDados  geraDados  = new TelaGeraDados(principal, context);
                TelaLimpaDados limpaDados = new TelaLimpaDados(principal, context);
                TelaSair       sair       = new TelaSair();

                principal.AdicionaFilha(relatorios);
                principal.AdicionaFilha(receitas);
                principal.AdicionaFilha(despesas);
                principal.AdicionaFilha(geraDados);
                principal.AdicionaFilha(limpaDados);
                principal.AdicionaFilha(sair);

                // Relatórios
                TelaRelatorioConsolidado  relatorioConsolidado  = new TelaRelatorioConsolidado(relatorios, context);
                TelaRelatorioMensal       relatorioMensal       = new TelaRelatorioMensal(relatorios, context);
                TelaRelatorioPesonalizado relatorioPesonalizado = new TelaRelatorioPesonalizado(relatorios, context);

                relatorios.AdicionaFilha(relatorioConsolidado);
                relatorios.AdicionaFilha(relatorioMensal);
                relatorios.AdicionaFilha(relatorioPesonalizado);
                relatorios.AdicionaFilha(principal);

                // Receitas
                TelaReceitaAdicionar receitaAdicionar = new TelaReceitaAdicionar(receitas, context);
                TelaMenu             receitaConsultar = new TelaMenu("Consultar");

                receitas.AdicionaFilha(receitaAdicionar);
                receitas.AdicionaFilha(receitaConsultar);
                receitas.AdicionaFilha(principal);

                // Receitas - Consultar
                TelaReceitaConsultaPeriodo  receitaConsultaPeriodo  = new TelaReceitaConsultaPeriodo(receitaConsultar, context);
                TelaReceitaConsultaRecentes receitaConsultaRecentes = new TelaReceitaConsultaRecentes(receitaConsultar, context);
                TelaReceitaConsultaTipo     receitaConsultaTipo     = new TelaReceitaConsultaTipo(receitaConsultar, context);

                receitaConsultar.AdicionaFilha(receitaConsultaPeriodo);
                receitaConsultar.AdicionaFilha(receitaConsultaRecentes);
                receitaConsultar.AdicionaFilha(receitaConsultaTipo);
                receitaConsultar.AdicionaFilha(receitas);

                // Despesas
                TelaDespesaAdicionar despesaAdicionar = new TelaDespesaAdicionar(despesas, context);
                TelaMenu             despesaConsultar = new TelaMenu("Consultar");

                despesas.AdicionaFilha(despesaAdicionar);
                despesas.AdicionaFilha(despesaConsultar);
                despesas.AdicionaFilha(principal);

                // Despesas - Consultar
                TelaDespesaConsultaPeriodo  despesaConsultaPeriodo  = new TelaDespesaConsultaPeriodo(despesaConsultar, context);
                TelaDespesaConsultaRecentes despesaConsultaRecentes = new TelaDespesaConsultaRecentes(despesaConsultar, context);
                TelaDespesaConsultaTipo     despesaConsultaTipo     = new TelaDespesaConsultaTipo(despesaConsultar, context);

                despesaConsultar.AdicionaFilha(despesaConsultaPeriodo);
                despesaConsultar.AdicionaFilha(despesaConsultaRecentes);
                despesaConsultar.AdicionaFilha(despesaConsultaTipo);
                despesaConsultar.AdicionaFilha(despesas);

                ITela atual = principal;

                while (atual != null)
                {
                    atual = atual.Mostra();

                    if (context.ChangeTracker.HasChanges())
                    {
                        context.SaveChanges();
                    }

                    Console.Clear();
                }
            }
        }
Пример #13
0
 public TelaRelatorioConsolidado(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Relatório Consolidado";
 }
Пример #14
0
 public TelaDespesaConsultaRecentes(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Últimas Despesas Adicionadas";
 }
Пример #15
0
 public TelaReceitaAdicionar(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Adicionar Receita";
 }
Пример #16
0
 public TelaLimpaDados(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Limpa Dados";
 }
Пример #17
0
 public TelaDespesaConsultaPeriodo(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Despesas por período";
 }
Пример #18
0
 public TelaReceitaConsultaPeriodo(ITela anterior, GranaContext context)
 {
     _anterior = anterior;
     _context  = context;
     Nome      = "Receitas por período";
 }
Пример #19
0
        public Tela mostra()
        {
            Console.WriteLine(">>> " + this.Nome + " <<<");
            Console.WriteLine();

            Console.WriteLine("Gerando dados...");

            using (GranaContext ctx = new GranaContext())
            {
                ReceitaRepositorio r = new ReceitaRepositorio(ctx);
                DespesaRepositorio d = new DespesaRepositorio(ctx);

                for (int i = 0; i < 36; i++)
                {
                    Receita rec = new Receita();
                    rec.Nome  = "Salário K19";
                    rec.Tipo  = "Salário";
                    rec.Valor = 8000.0;

                    DateTime data = new DateTime(2014, 1, 10);
                    data     = data.AddMonths(i);
                    rec.Data = data;

                    r.Adiciona(rec);
                }

                for (int i = 0; i < 36; i++)
                {
                    Receita rec = new Receita();
                    rec.Nome  = "VA";
                    rec.Tipo  = "Vale Alimentação";
                    rec.Valor = 400.00;

                    DateTime data = new DateTime(2014, 1, 10);
                    data     = data.AddMonths(i);
                    rec.Data = data;

                    r.Adiciona(rec);
                }

                for (int i = 0; i < 36; i++)
                {
                    Receita rec = new Receita();
                    rec.Nome  = "Aluguel Casa BH";
                    rec.Tipo  = "Aluguel";
                    rec.Valor = 1000.0;

                    DateTime data = new DateTime(2014, 1, 10);
                    data     = data.AddMonths(i);
                    rec.Data = data;

                    r.Adiciona(rec);
                }

                for (int i = 0; i < 36; i++)
                {
                    Despesa desp = new Despesa();
                    desp.Nome  = "Aluguel Apto SP";
                    desp.Tipo  = "Aluguel";
                    desp.Valor = 1800.0;

                    DateTime data = new DateTime(2014, 1, 10);
                    data      = data.AddMonths(i);
                    desp.Data = data;

                    d.Adiciona(desp);
                }

                for (int i = 0; i < 36; i++)
                {
                    Despesa desp = new Despesa();
                    desp.Nome  = "Compras Supermercado";
                    desp.Tipo  = "Alimentação";
                    desp.Valor = 1000.0;

                    DateTime data = new DateTime(2014, 1, 10);
                    data      = data.AddMonths(i);
                    desp.Data = data;

                    d.Adiciona(desp);
                }

                for (int i = 0; i < 36; i++)
                {
                    Despesa desp = new Despesa();
                    desp.Nome  = "Combustível";
                    desp.Tipo  = "Transporte";
                    desp.Valor = 400.0;

                    DateTime data = new DateTime(2014, 1, 10);
                    data      = data.AddMonths(i);
                    desp.Data = data;

                    d.Adiciona(desp);
                }

                for (int i = 0; i < 36; i++)
                {
                    Despesa desp = new Despesa();
                    desp.Nome  = "Cinema";
                    desp.Tipo  = "Lazer";
                    desp.Valor = 200.0;

                    DateTime data = new DateTime(2014, 1, 10);
                    data      = data.AddMonths(i);
                    desp.Data = data;

                    d.Adiciona(desp);
                }

                ctx.SaveChanges();
            }

            Console.WriteLine("Dados gerados\n");

            return(this.anterior);
        }