public void FiltrarGastosPorFechaTest()
        {
            Repositorio  Repo          = new Repositorio();
            ManagerGasto unManager     = new ManagerGasto(Repo);
            string       FechaAFiltrar = new DateTime(2018, 1, 2).ToString("MMMM yyyy");
            Moneda       NuevaMoneda   = new Moneda("Dolar", "USD", 43.00M);

            Repo.AgregarMoneda(NuevaMoneda);
            Categoria cat1 = new Categoria("Cine");
            Categoria cat2 = new Categoria("Entretenimiento");
            Categoria cat3 = new Categoria("CiAutosne");

            Repo.AgregarCategoria(cat1);
            Repo.AgregarCategoria(cat2);
            Repo.AgregarCategoria(cat3);
            Gasto Gasto1 = new Gasto("Gasto1", 100.00M, cat1, new DateTime(2019, 1, 1), NuevaMoneda, 12.00M);
            Gasto Gasto2 = new Gasto("Gasto2", 100.00M, cat2, new DateTime(2019, 1, 1), NuevaMoneda, 12.00M);
            Gasto Gasto3 = new Gasto("Gasto3", 100.00M, cat3, new DateTime(2018, 1, 2), NuevaMoneda, 12.00M);

            Repo.AgregarGasto(Gasto1);
            Repo.AgregarGasto(Gasto2);
            Repo.AgregarGasto(Gasto3);
            List <Gasto> ListaFiltrada = unManager.FiltrarGastosPorFecha(FechaAFiltrar);

            Assert.AreEqual(1, ListaFiltrada.Count);
        }
        public void CargarFechasDondeHuboGastosTest()
        {
            Repositorio  Repo        = new Repositorio();
            ManagerGasto unManager   = new ManagerGasto(Repo);
            Moneda       NuevaMoneda = new Moneda("Dolar", "USD", 43.00M);

            Repo.AgregarMoneda(NuevaMoneda);
            Categoria cat1 = new Categoria("Cine");
            Categoria cat2 = new Categoria("Entretenimiento");
            Categoria cat3 = new Categoria("CiAutosne");

            Repo.AgregarCategoria(cat1);
            Repo.AgregarCategoria(cat2);
            Repo.AgregarCategoria(cat3);
            Gasto Gasto1 = new Gasto("Gasto1", 100.00M, cat1, new DateTime(2019, 1, 1), NuevaMoneda, 12.00M);
            Gasto Gasto2 = new Gasto("Gasto2", 100.00M, cat2, new DateTime(2019, 1, 20), NuevaMoneda, 12.00M);
            Gasto Gasto3 = new Gasto("Gasto3", 100.00M, cat3, new DateTime(2020, 1, 14), NuevaMoneda, 12.00M);

            Repo.AgregarGasto(Gasto1);
            Repo.AgregarGasto(Gasto2);
            Repo.AgregarGasto(Gasto3);
            List <string> Lista = unManager.CargarFechasDondeHuboGastos();

            Assert.AreEqual(Lista[1], "January 2020");
        }
        public void SumaDeGastosParaFechaTest()
        {
            Repositorio  Repo                = new Repositorio();
            ManagerGasto unManager           = new ManagerGasto(Repo);
            List <Gasto> ListParaSumarMontos = new List <Gasto>();
            Moneda       NuevaMoneda         = new Moneda("Dolar", "USD", 43.00M);

            Repo.AgregarMoneda(NuevaMoneda);
            Categoria cat1 = new Categoria("Cine");
            Categoria cat2 = new Categoria("Entretenimiento");
            Categoria cat3 = new Categoria("CiAutosne");

            Repo.AgregarCategoria(cat1);
            Repo.AgregarCategoria(cat2);
            Repo.AgregarCategoria(cat3);
            Gasto Gasto1 = new Gasto("Gasto1", 100.00M, cat1, new DateTime(2019, 1, 1), NuevaMoneda, 12.00M);
            Gasto Gasto2 = new Gasto("Gasto2", 100.00M, cat2, new DateTime(2019, 1, 20), NuevaMoneda, 12.00M);
            Gasto Gasto3 = new Gasto("Gasto3", 100.00M, cat3, new DateTime(2019, 1, 12), NuevaMoneda, 12.00M);

            ListParaSumarMontos.Add(Gasto1);
            ListParaSumarMontos.Add(Gasto2);
            ListParaSumarMontos.Add(Gasto3);
            decimal resultado = decimal.Parse(unManager.SumaDeGastosParaFecha(ListParaSumarMontos));

            Assert.AreEqual(3600.00M, Math.Round(resultado, 2));
        }
        public void ValidacionFechaMayorTest()
        {
            Repositorio  unRepositorio = new Repositorio();
            ManagerGasto unManager     = new ManagerGasto(unRepositorio);
            DateTime     FechaInvalida = new DateTime(2031, 01, 01);

            unManager.ValidacionFechaGasto(FechaInvalida);
        }
        public void MontoInvalidoTest()
        {
            Repositorio  unRepositorio = new Repositorio();
            ManagerGasto unManager     = new ManagerGasto(unRepositorio);
            decimal      unMonto       = -1.44M;

            unManager.ValidarMonto(unMonto);
        }
        public void ValidacionDeDescripcionConMasDe20CaracteresTest()
        {
            Repositorio  unRepositorio  = new Repositorio();
            ManagerGasto unManager      = new ManagerGasto(unRepositorio);
            String       unaDescripcion = "Entradas para niños con 8 años";

            unManager.ValidacionDescripcionGasto(unaDescripcion);
        }
        public void ValidacionDeDescripcionConMenosDe3CaracteresTest()
        {
            Repositorio  unRepositorio  = new Repositorio();
            ManagerGasto unManager      = new ManagerGasto(unRepositorio);
            String       unaDescripcion = "ET";

            unManager.ValidacionDescripcionGasto(unaDescripcion);
        }
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            GastoSeleccionado = (Gasto)lstGastos.SelectedItem;
            ManagerGasto manager = new ManagerGasto(Repo);

            manager.ValidacionEliminarGasto(GastoSeleccionado);
            CargarListBox();
        }
        public void ValidacionDeDescripcionValidaTest()
        {
            Repositorio  unRepositorio  = new Repositorio();
            ManagerGasto unManager      = new ManagerGasto(unRepositorio);
            String       unaDescripcion = "Entradas para niños";

            unManager.ValidacionDescripcionGasto(unaDescripcion);
            Assert.IsNotNull(unaDescripcion);
        }
        public void ValidacionFechaValidaTest()
        {
            Repositorio  unRepositorio = new Repositorio();
            ManagerGasto unManager     = new ManagerGasto(unRepositorio);
            DateTime     FechaValida   = new DateTime(2028, 01, 01);

            unManager.ValidacionFechaGasto(FechaValida);
            Assert.IsNotNull(FechaValida);
        }
        public void MontoValidoTest()
        {
            Repositorio  unRepositorio = new Repositorio();
            ManagerGasto unManager     = new ManagerGasto(unRepositorio);
            decimal      unMonto       = 1.44M;

            unManager.ValidarMonto(unMonto);
            Assert.IsNotNull(unMonto);
        }
        public void TransformarMontoTest()
        {
            Repositorio  unRepositorio = new Repositorio();
            ManagerGasto unManager     = new ManagerGasto(unRepositorio);
            decimal      unMonto       = 1000;

            unMonto = unManager.TransformarMonto(unMonto);
            Assert.AreEqual(unMonto, (decimal)1000.00);
        }
        private void btnActualizar_Click(object sender, EventArgs e)
        {
            ManagerGasto manager     = new ManagerGasto(Repo);
            string       descripcion = txtDescripcion.Text;

            cboCategoria.DataSource = null;
            cboCategoria.DataSource = (manager.ValidacionBusquedaCategorias(descripcion));
            if (manager.ValidacionBusquedaCategorias(descripcion).Count() > 1)
            {
                cboCategoria.SelectedIndex = -1;
            }
        }
        public void ValidacionAgregarGastoTest()
        {
            Repositorio  Repositorio  = new Repositorio();
            ManagerGasto unManager    = new ManagerGasto(Repositorio);
            Categoria    UnaCategoria = new Categoria();
            Moneda       NuevaMoneda  = new Moneda("Dolar", "USD", 43.00M);

            Repositorio.AgregarMoneda(NuevaMoneda);
            Repositorio.AgregarCategoria(UnaCategoria);
            Gasto UnGasto = new Gasto("Descripcion x", 100.00M, UnaCategoria, new DateTime(2018, 1, 1), NuevaMoneda, 12.00M);

            unManager.ValidacionAgregarGasto(UnGasto);
            Assert.AreEqual(UnGasto.Descripcion, Repositorio.GetGastos().GetAll()[0].Descripcion);
        }
        public void ValidacionBusquedaCategoriaMultiplesPalabrasClaveGastoTest()
        {
            Repositorio         unRepositorio    = new Repositorio();
            ManagerGasto        unManager        = new ManagerGasto(unRepositorio);
            PalabraClave        palabraTemporal1 = new PalabraClave("Cines");
            PalabraClave        palabraTemporal2 = new PalabraClave("Carreras");
            PalabraClave        palabraTemporal3 = new PalabraClave("Teatro");
            PalabraClave        palabraTemporal4 = new PalabraClave("Autos");
            List <PalabraClave> Lista            = new List <PalabraClave> {
                palabraTemporal1, palabraTemporal2, palabraTemporal3, palabraTemporal4
            };
            Categoria UnaCategoria     = new Categoria("CategoriaAutos", Lista);
            String    DescripcionGasto = "Autos de Carreras";

            unRepositorio.AgregarCategoria(UnaCategoria);
            Assert.IsTrue(UnaCategoria.Id == unManager.ValidacionBusquedaCategorias(DescripcionGasto)[0].Id);
        }
Exemple #16
0
        private void button1_Click(object sender, EventArgs e)
        {
            ManagerGasto manager = new ManagerGasto(Repo);

            if (txtDescripcion.Text != "" && cboCategoria.SelectedIndex != -1 && nroMonto.Text != "" && cbo_Moneda.Text != "")
            {
                decimal monto = Decimal.Parse(nroMonto.Text);
                monto = manager.TransformarMonto(monto);
                try
                {
                    Gasto GastoTemporal = new Gasto();
                    GastoTemporal.Fecha       = dateFecha.Value;
                    GastoTemporal.Categoria   = (Categoria)cboCategoria.SelectedItem;
                    GastoTemporal.Moneda      = (Moneda)cbo_Moneda.SelectedItem;
                    GastoTemporal.Monto       = monto;
                    GastoTemporal.Descripcion = txtDescripcion.Text;
                    manager.ValidacionModificacionGasto(GastoSeleccionado, GastoTemporal);
                    MessageBox.Show("El gasto fue modificado correctamente");
                    GastoSeleccionado          = new Gasto();
                    txtDescripcion.Text        = "";
                    nroMonto.Text              = "";
                    cboCategoria.SelectedIndex = -1;
                    cbo_Moneda.SelectedIndex   = -1;
                    panelModificacion.Visible  = false;
                }
                catch (ExceptionDescripcionGasto descripcion)
                {
                    MessageBox.Show(" La descripción tiene que tener entre 3 y 20 caracteres");
                }
                catch (ExceptionFechaGasto fecha)
                {
                    MessageBox.Show("La fecha debe de esta comprendida entre 2018 - 2030");
                }
                catch (ExceptionMonto montoException)
                {
                    MessageBox.Show("El monto debe de ser mayor a 0");
                }
            }
            else
            {
                MessageBox.Show("Hay campos vacios");
            }
            CargarComboBox();
            CargarListBox();
        }
 private void ReporteDeGastos_Load(object sender, EventArgs e)
 {
     try
     {
         ManagerGasto unManager = new ManagerGasto(Repo);
         cboMes.DataSource = unManager.CargarFechasDondeHuboGastos();
     }
     catch (System.Data.Entity.Core.EntityException)
     {
         this.Enabled = false;
         MessageBox.Show("Error: La base de datos no se encuentra disponible");
     }
     catch (System.Data.SqlClient.SqlException)
     {
         this.Enabled = false;
         MessageBox.Show("Error: La base de datos no se encuentra disponible");
     }
 }
        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 btnConsultar_Click(object sender, EventArgs e)
        {
            ManagerGasto unManager = new ManagerGasto(Repo);

            if (cboMes.SelectedIndex != -1)
            {
                var list = unManager.FiltrarGastosPorFecha(cboMes.SelectedItem.ToString()).OrderBy(x => x.Fecha).ToList();
                data_gastos.DataSource = list;
                data_gastos.Columns["Fecha"].DisplayIndex            = 0;
                data_gastos.Columns["Fecha"].DefaultCellStyle.Format = "dd'/'MM'/'yyyy";
                data_gastos.Columns.Remove("Id");
                data_gastos.Columns.Remove("CotizacionActual");
                data_gastos.RowHeadersVisible = false;
                string  resultado        = (unManager.SumaDeGastosParaFecha(unManager.FiltrarGastosPorFecha(cboMes.SelectedItem.ToString())));
                decimal resultadoDecimal = Math.Round(decimal.Parse(resultado), MAX_DECIMALES_MONTO);
                lbl_resultado.Text      = resultadoDecimal.ToString();
                lbl_resultado.ForeColor = Color.White;
            }
        }
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            ManagerGasto manager = new ManagerGasto(Repo);

            if (txtDescripcion.Text != "" && cboCategoria.SelectedIndex != -1)
            {
                try
                {
                    unGasto.Descripcion = txtDescripcion.Text;
                    decimal monto = decimal.Parse(nroMonto.Text);
                    monto                      = manager.TransformarMonto(monto);
                    unGasto.Fecha              = dateFecha.Value;
                    unGasto.Moneda             = (Moneda)cbo_Monedas.SelectedItem;
                    unGasto.CotizacionActual   = unGasto.Moneda.Cotizacion;
                    unGasto.Monto              = monto;
                    unGasto.Categoria          = (Categoria)cboCategoria.SelectedItem;
                    txtDescripcion.Text        = "";
                    nroMonto.Text              = "";
                    cboCategoria.SelectedIndex = -1;
                    manager.ValidacionAgregarGasto(unGasto);
                    MessageBox.Show("El gasto fue registrado correctamente");
                    unGasto = new Gasto();
                }
                catch (ExceptionDescripcionGasto descripcion)
                {
                    MessageBox.Show(" La descripción tiene que tener entre 3 y 20 caracteres");
                }
                catch (ExceptionFechaGasto fecha)
                {
                    MessageBox.Show("La fecha debe de esta comprendida entre 2018 - 2030");
                }
                catch (ExceptionMonto montoException)
                {
                    MessageBox.Show("El monto debe de ser mayor a 0");
                }
            }
            else
            {
                MessageBox.Show("Hay campos vacios");
            }
            listBox1.DataSource = null;
            listBox1.DataSource = Repo.GetGastos().GetAll();
        }
        public void ValidacionModificarMontoGastoTest()
        {
            Repositorio  Repositorio  = new Repositorio();
            ManagerGasto unManager    = new ManagerGasto(Repositorio);
            Categoria    UnaCategoria = new Categoria();

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

            Repositorio.AgregarMoneda(NuevaMoneda);
            Gasto UnGasto = new Gasto("Descripcion x", 100.00M, UnaCategoria, new DateTime(2018, 1, 1), NuevaMoneda, 12.00M);

            unManager.ValidacionAgregarGasto(UnGasto);
            Gasto GastoModificado = new Gasto("Descripcion x", 102.00M, UnaCategoria, new DateTime(2018, 1, 1), NuevaMoneda, 12.00M);

            unManager.ValidacionModificacionGasto(UnGasto, GastoModificado);
            Gasto gastoValidar = Repositorio.GetGastos().Get(GastoModificado.Id);

            Assert.AreEqual((decimal)102.00M, gastoValidar.Monto);
        }
        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");
            }
        }
        public void ValidacionModificacionCategoriaGasto()
        {
            Repositorio  Repo        = new Repositorio();
            ManagerGasto unManager   = new ManagerGasto(Repo);
            DateTime     FechaRandom = new DateTime(2020, 1, 1);
            Categoria    categoria   = new Categoria("Entretenimiento");

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

            Repo.AgregarMoneda(NuevaMoneda);
            Gasto UnGasto = new Gasto("Entradas al cine", 10.00M, categoria, FechaRandom, NuevaMoneda, 12.00M);

            Repo.AgregarGasto(UnGasto);
            Categoria categoriaNueva = new Categoria("Formula 1");

            Repo.AgregarCategoria(categoriaNueva);
            Gasto GastoModificado = new Gasto("Entradas al cine", 10.00M, categoriaNueva, FechaRandom, NuevaMoneda, 12.00M);

            unManager.ValidacionModificacionGasto(UnGasto, GastoModificado);
            Categoria categoriaValidar = Repo.GetGastos().Get(GastoModificado.Id).Categoria;

            Assert.AreEqual("Formula 1", categoriaValidar.Nombre);
        }