public void ExcluirDespesa(Despesa despesaEncontrada)
 {
     Db.Delete(SQL_EXCLUIR_DESPESA, GetParametrosDespesa(despesaEncontrada));
 }
        public Despesa RegistrarNovaDespesa(Despesa despesa)
        {
            despesa.Numero = Db.Insert(SQL_INSERIR_DESPESA, GetParametrosDespesa(despesa));

            return despesa;
        }
 private object[] GetParametrosDespesa(Despesa despesa)
 {
     return new object[]
     {
         "Descricao", despesa.Descricao,
         "Categoria", despesa.Categoria,
         "Data", despesa.Data,
         "FormaPagamento", despesa.FormaPagamento,
         "Valor", despesa.Valor,
         "Numero", despesa.Numero
     };
 }
 public void AtualizarDespesa(Despesa despesaAtualizada)
 {
     Db.Update(SQL_ATUALIZAR_DESPESA, GetParametrosDespesa(despesaAtualizada));
 }
        private Despesa ConverterEmDespesa(IDataReader reader)
        {
            Despesa despesa = new Despesa();

            despesa.Numero = Convert.ToInt32(reader["Numero"]);
            despesa.Descricao = Convert.ToString(reader["Descricao"]);
            despesa.Data = Convert.ToDateTime(reader["Data"]);
            despesa.Categoria = Convert.ToString(reader["Categoria"]);
            despesa.Valor = Convert.ToDouble(reader["Valor"]);
            despesa.FormaPagamento = Convert.ToString(reader["FormaPagamento"]);

            return despesa;
        }
        //private Despesa PesquisarDespesa(bool atualizando)
        //{
        //    Despesa despesaSelecionada = null;
        //    do
        //    {
        //        Console.WriteLine();
        //        Console.Write("Digite o número da Despesa a ser {0} ", atualizando ? "atualizada" : "excluída");
        //        int id = Convert.ToInt32(Console.ReadLine());
        //        try
        //        {
        //            despesaSelecionada = controlador.SelecionarDespesaPorNumero(id);
        //            Console.Clear();
        //            MostrarDetalhesDespesa(despesaSelecionada);
        //        }
        //        catch (RegistroNaoEncontradoException despesaNaoEncontrada)
        //        {
        //            Console.WriteLine(despesaNaoEncontrada);
        //            Console.ReadKey();
        //        }
        //    } while (despesaSelecionada == null);
        //    return despesaSelecionada;
        //}
        private void MostrarDetalhesDespesa(Despesa despesaEncontrada)
        {
            Console.Clear();

            Console.WriteLine();

            Console.WriteLine("Nº: {0}", despesaEncontrada.Numero);

            Console.WriteLine("Descrição: {0}", despesaEncontrada.Descricao);

            Console.WriteLine("Categoria: {0}", despesaEncontrada.Categoria);

            Console.WriteLine("Data: {0}", despesaEncontrada.Data);

            Console.WriteLine("Valor: {0}", despesaEncontrada.Valor);

            Console.WriteLine("Forma de pagamento: {0}", despesaEncontrada.FormaPagamento);

            Console.WriteLine();
        }
        private Despesa MontarDespesa()
        {
            Console.WriteLine("Digite o tipo da Despesa: ");

            Console.WriteLine();

            Console.WriteLine("Digite \"F1\" para Habitação");
            Console.WriteLine("Digite \"F2\" para Transporte");
            Console.WriteLine("Digite \"F3\" para Alimentação");
            Console.WriteLine("Digite \"F4\" para Saúde");
            Console.WriteLine("Digite \"F5\" para Cuidados Pessoais");

            Console.WriteLine();

            ConsoleKey opcao = Console.ReadKey().Key;

            string categoria = "";

            switch (opcao)
            {
                case ConsoleKey.F1: categoria = "Habitação";
                    break;
                case ConsoleKey.F2: categoria = "Transporte";
                    break;
                case ConsoleKey.F3: categoria = "Alimentação";
                    break;
                case ConsoleKey.F4: categoria = "Saúde";
                    break;
                case ConsoleKey.F5: categoria = "Cuidados Pessoais";
                    break;

                default:
                    break;
            }

            Console.Write("Digite a descrição do Despesa: ");
            string descricao = Console.ReadLine();

            Console.Write("Digite a data da Despesa: ");
            string strData = Console.ReadLine();

            Console.Write("Digite o valor da Despesa: ");
            string strValor = Console.ReadLine();

            Console.Write("Digite a forma de pagamento da Despesa: ");

            Console.WriteLine();

            Console.WriteLine("Digite \"F1\" para Cartão de Crédito");
            Console.WriteLine("Digite \"F2\" para Dinheiro");

            opcao = Console.ReadKey().Key;

            string formaPgto = "";

            switch (opcao)
            {
                case ConsoleKey.F1: formaPgto = "Cartão de Crédito";
                    break;
                case ConsoleKey.F2: formaPgto = "Dinheiro";
                    break;

                default:
                    break;
            }

            Despesa despesa = new Despesa();

            despesa.Descricao = descricao;
            despesa.Categoria = categoria;
            despesa.Data = Convert.ToDateTime(strData);
            despesa.Valor = Convert.ToDouble(strValor);
            despesa.FormaPagamento = formaPgto;

            return despesa;
        }
 public Despesa RegistrarNovaDespesa(Despesa novaDespesa)
 {
     novaDespesa.Numero = countId++;
     this.Despesas.Add(novaDespesa);
     return novaDespesa;
 }
 public Despesa AtualizarDespesa(Despesa despesa)
 {
     int index = SelecionarIndicePorNumero(despesa.Numero);
     this.Despesas[index] = despesa;
     return despesa;
 }