public void ObtenerGastosPorFechaCategoriaTest()
        {
            Repositorio  Repo         = new Repositorio();
            ManagerGasto unManager    = new ManagerGasto(Repo);
            Categoria    UnaCategoria = new Categoria("Entretenimiento");

            Repo.AgregarCategoria(UnaCategoria);
            Moneda NuevaMoneda = new Moneda("Dolar", "USD", 43.00M);

            Repo.AgregarMoneda(NuevaMoneda);
            Gasto  UnGasto         = new Gasto("Gasto1", 100.00M, UnaCategoria, new DateTime(2019, 1, 1), NuevaMoneda, 12.00M);
            string FechaFormateada = UnGasto.Fecha.ToString("MMMM yyyy");

            Repo.AgregarGasto(UnGasto);
            List <Gasto> GastosRetorno = unManager.ObtenerGastosPorFechaCategoria(UnaCategoria, FechaFormateada);

            Assert.IsTrue(UnGasto.Id == GastosRetorno[0].Id);
        }
        private void btn_Consultar_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text != "")
            {
                ManagerPresupuesto ManagerP = new ManagerPresupuesto(Repo);
                ManagerGasto       ManagerG = new ManagerGasto(Repo);
                data_Presupuestos.Rows.Clear();
                data_Presupuestos.Columns.Clear();
                data_Presupuestos.Columns.Add("Catgeoria", "Categoria");
                data_Presupuestos.Columns.Add("Planificado", "Planificado");
                data_Presupuestos.Columns.Add("Real", "Real");
                data_Presupuestos.Columns.Add("Diferencia", "Diferencia");
                Presupuesto Encontrado       = ManagerP.BuscarPresupuestosPorFecha(comboBox1.Text);
                decimal     TotalPlanificado = VALOR_POR_DEFECTO;
                decimal     TotalReal        = VALOR_POR_DEFECTO;
                decimal     TotalDiferencia  = VALOR_POR_DEFECTO;
                foreach (var item in Encontrado.getPresupuestosCategorias())
                {
                    List <Gasto> ListaDeGastosParaEsaFecha = ManagerG.ObtenerGastosPorFechaCategoria(item.Cat, comboBox1.Text);
                    string       SumaDeGastos = ManagerG.SumaDeGastosParaFecha(ListaDeGastosParaEsaFecha);
                    decimal      resultado    = RestaRealPlanificado(item.Monto, decimal.Parse(SumaDeGastos));
                    data_Presupuestos.Rows.Add(item.Cat.Nombre, item.Monto, SumaDeGastos, Formato(resultado));

                    TotalPlanificado += Math.Round(item.Monto, MAX_DECIMALES_MONTO);
                    TotalReal        += Math.Round(decimal.Parse(SumaDeGastos), MAX_DECIMALES_MONTO);
                    TotalDiferencia  += Math.Round(resultado);
                }
                data_Presupuestos.RowHeadersVisible = false;
                data_Presupuestos.Rows.Add("Total", TotalPlanificado, TotalReal, Formato(TotalDiferencia));
                ColorNegativo();
            }
            else
            {
                MessageBox.Show("Seleccione un presupuesto");
            }
        }