/// <summary>
        /// Crea producto y lo agrega a la lista
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_Agregar_Producto_Click(object sender, EventArgs e)
        {
            string    nombre = txtB_Nombre_Producto_Agre.Text;
            int       id;
            double    precio;
            int       Stock;
            Productos nuevoProducto;
            Productos modificacionProducto = new Productos();

            Int32.TryParse(txtB_Id_Producto_Agre.Text, out id);
            Int32.TryParse(txtB_Stock_Producto_Agre.Text, out Stock);
            double.TryParse(txtB_Precio_Producto_Agre.Text, out precio);
            if (Validaciones.ValidoString(nombre) && Validaciones.ValidoNumeroInt(id) &&
                Validaciones.ValidoNumeroInt(Stock) && Validaciones.ValidoNumeroDouble(precio))
            {
                nuevoProducto = new Productos(nombre, id, precio, Stock);
                if (Comercio.AgregarProducto(nuevoProducto) == true)
                {
                    MessageBox.Show("Su producto se dio de alta");
                }
                else
                {
                    MessageBox.Show("Su producto no se dio de alta");
                }
            }
            else
            {
                MessageBox.Show("Le falta completar un campo");
            }
        }
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            Producto nuevoProd = new Producto();
            double   aux;
            int      aux2;


            if (double.TryParse(txtPrecio.Text, out aux) && int.TryParse(txtStockInicial.Text, out aux2))
            {
                nuevoProd.nombreProducto = txtNombre.Text;
                nuevoProd.precioProducto = aux;
                nuevoProd.stockProducto  = aux2;
                nuevoProd.tipoProducto   = (Producto.ECategoriaProducto) this.cmbCategoria.SelectedItem;
                nuevoProd.codigoProducto = listaProductos.Count + 1;

                if (Comercio.AgregarProducto(nuevoProd))
                {
                    auxMenu.CargarListaProducto();
                    MessageBox.Show("Producto agregado correctamente.");
                }
                else
                {
                    MessageBox.Show("El producto ya existe.");
                }


                LimpiarCampos();
            }
            else
            {
                MessageBox.Show("Algun valor es invalido, reeingrese los datos.");
            }
        }
        private bool cargarProductosHmg()
        {
            bool     pudoCargar = false;
            Producto nuevoProdHmg;
            int      primerFila = 10;

            while (!string.IsNullOrEmpty(slHmg.GetCellValueAsString(primerFila, 2)))
            {
                nuevoProdHmg = new Producto();

                nuevoProdHmg.Proveedor          = "HMG";
                nuevoProdHmg.Rubro              = slHmg.GetCellValueAsString(primerFila, 2);
                nuevoProdHmg.Marca              = slHmg.GetCellValueAsString(primerFila, 3);
                nuevoProdHmg.NumeroArticulo     = slHmg.GetCellValueAsString(primerFila, 4);
                nuevoProdHmg.Descripcion        = slHmg.GetCellValueAsString(primerFila, 5);
                nuevoProdHmg.PrecioVentaCliente = "$ " + slHmg.GetCellValueAsDouble(primerFila, 6).ToString();
                nuevoProdHmg.Stock              = slHmg.GetCellValueAsString(primerFila, 8);

                nuevoProdHmg.Iva = slHmg.GetCellValueAsDouble(primerFila, 10).ToString() + "%";

                //nuevoProdHmg.MargenGanancia = slHmg.GetCellValueAsString(primerFila, 16);
                nuevoProdHmg.PrecioVentaPublico = "$ " + slHmg.GetCellValueAsDouble(primerFila, 17).ToString();

                Comercio.AgregarProducto(nuevoProdHmg);

                primerFila++;
                pudoCargar = true;
            }

            return(pudoCargar);
        }
        private bool cargarProductosChromos()
        {
            bool     pudoCargar = false;
            Producto nuevoProdChromos;
            int      primerFila = 9;
            int      ultimaFila = 200;

            while (primerFila < ultimaFila)
            {
                if (slChromos.GetCellValueAsString(primerFila, 2) == "COD ARTICULO")
                {
                    primerFila++;
                }
                else
                {
                    if (!(string.IsNullOrEmpty(slChromos.GetCellValueAsString(primerFila, 2))) &&
                        !(string.IsNullOrEmpty(slChromos.GetCellValueAsString(primerFila, 4))))
                    {
                        nuevoProdChromos = new Producto();

                        nuevoProdChromos.Proveedor          = "Chromos";
                        nuevoProdChromos.NumeroArticulo     = slChromos.GetCellValueAsString(primerFila, 2);
                        nuevoProdChromos.Descripcion        = slChromos.GetCellValueAsString(primerFila, 3);
                        nuevoProdChromos.PrecioVentaCliente = "$ " + slChromos.GetCellValueAsDouble(primerFila, 4).ToString();

                        if (primerFila < 89)
                        {
                            nuevoProdChromos.Stock              = slChromos.GetCellValueAsString(primerFila, 6);
                            nuevoProdChromos.Observacion        = slChromos.GetCellValueAsString(primerFila, 5);
                            nuevoProdChromos.PrecioVentaPublico = "$ " + slChromos.GetCellValueAsDouble(primerFila, 7).ToString();
                        }
                        else
                        {
                            nuevoProdChromos.Stock              = "N/A";
                            nuevoProdChromos.Observacion        = slChromos.GetCellValueAsString(primerFila, 6);
                            nuevoProdChromos.PrecioVentaPublico = slChromos.GetCellValueAsString(primerFila, 5);
                        }

                        Comercio.AgregarProducto(nuevoProdChromos);

                        primerFila++;
                        pudoCargar = true;
                    }
                    else
                    {
                        primerFila++;
                    }
                }
            }

            return(pudoCargar);
        }
        private bool cargarProductosMartcar()
        {
            bool     pudoCargar = false;
            Producto nuevoProdMartcar;
            int      primerFila = 13;
            int      ultimaFila = 1500;
            string   auxIva;

            slMartcar.SelectWorksheet("Lista de precios");

            while (primerFila < ultimaFila)
            {
                if (string.IsNullOrEmpty(slMartcar.GetCellValueAsString(primerFila, 3)))
                {
                    primerFila++;
                }
                else
                {
                    if (!(string.IsNullOrEmpty(slMartcar.GetCellValueAsString(primerFila, 3))) &&   //verifica que tenga numero de articulo
                        !(string.IsNullOrEmpty(slMartcar.GetCellValueAsString(primerFila, 4))) &&   //verifica que tenga descripción
                        !(string.IsNullOrEmpty(slMartcar.GetCellValueAsString(primerFila, 7))) &&   //verifica que tenga precio cliente
                        !(string.IsNullOrEmpty(slMartcar.GetCellValueAsString(primerFila, 9))))     //verifica que tenga precio público
                    {
                        nuevoProdMartcar = new Producto();

                        nuevoProdMartcar.Proveedor          = "Martcar";
                        nuevoProdMartcar.Marca              = slMartcar.GetCellValueAsString(primerFila, 1);
                        nuevoProdMartcar.Rubro              = slMartcar.GetCellValueAsString(primerFila, 2);
                        nuevoProdMartcar.NumeroArticulo     = slMartcar.GetCellValueAsString(primerFila, 3);
                        nuevoProdMartcar.Descripcion        = slMartcar.GetCellValueAsString(primerFila, 4);
                        nuevoProdMartcar.Stock              = slMartcar.GetCellValueAsString(primerFila, 6);
                        nuevoProdMartcar.PrecioVentaCliente = "$ " + slMartcar.GetCellValueAsDouble(primerFila, 7).ToString();

                        auxIva = slMartcar.GetCellValueAsString(primerFila, 8).ToString();
                        nuevoProdMartcar.Iva = ConvertIva(auxIva);

                        nuevoProdMartcar.PrecioVentaPublico = "$ " + slMartcar.GetCellValueAsInt32(primerFila, 9).ToString();

                        Comercio.AgregarProducto(nuevoProdMartcar);

                        pudoCargar = true;
                        primerFila++;
                    }
                    else
                    {
                        primerFila++;
                    }
                }
            }

            return(pudoCargar);
        }
        private void btn_AgregarProducto_Click(object sender, EventArgs e)
        {
            FrmAltaProducto frmAltaProducto = new FrmAltaProducto();

            if (frmAltaProducto.ShowDialog() == DialogResult.OK)
            {
                if (!Comercio.AgregarProducto(frmAltaProducto.MiProducto))
                {
                    MessageBox.Show("No se puede agregar un producto con un número de artículo ya existente.",
                                    "Error",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
                else
                {
                    MessageBox.Show($"Se agregó correctamente el artículo: \n\n {frmAltaProducto.MiProducto.ToString()}",
                                    "Éxito",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
            }

            RefrescarDgvProductos(Comercio.MisProductos);
        }
        /// <summary>
        /// Botón que valida los datos de los textbox y agrega un producto al comercio y la base de datos
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_AgregarProducto_Click(object sender, EventArgs e)
        {
            Producto nuevoProd;
            float    auxPrecioProducto;
            int      auxStock;

            if (!string.IsNullOrEmpty(this.txt_Descripcion.Text))
            {
                if (float.TryParse(this.txt_Precio.Text, out auxPrecioProducto))
                {
                    if (int.TryParse(this.txt_Stock.Text, out auxStock))
                    {
                        try
                        {
                            nuevoProd = new Producto(Producto.MapearEnum(this.cmb_Tipo.Text), this.txt_Descripcion.Text, auxPrecioProducto, auxStock);

                            if (Comercio.AgregarProducto(nuevoProd))
                            {
                                MessageBox.Show("Se agregó con éxito el siguiente producto: \n\n" +
                                                $"Descripción: {nuevoProd.Descripcion.ToString()}\n" +
                                                $"Precio: ${nuevoProd.PrecioUnitario.ToString()}\n" +
                                                $"Stock: {nuevoProd.Unidades.ToString()}\n",
                                                "Éxito",
                                                MessageBoxButtons.OK,
                                                MessageBoxIcon.Information);

                                this.txt_Descripcion.Text = string.Empty;
                                this.txt_Precio.Text      = string.Empty;
                                this.txt_Stock.Text       = string.Empty;
                            }
                            ActualizarDgvProductos();
                        }
                        catch (NuevoProductoException miEx)
                        {
                            MessageBox.Show(miEx.Message,
                                            "Error",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Warning);
                            miEx.Guardar();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message,
                                            "Error",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Warning);
                            ex.Guardar();
                        }
                    }
                    else
                    {
                        MessageBox.Show("No se ha ingresado un stock válido",
                                        "Error",
                                        MessageBoxButtons.OK,
                                        MessageBoxIcon.Warning);
                    }
                }
                else
                {
                    MessageBox.Show("No se ha ingresado un precio válido",
                                    "Error",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
            }
            else
            {
                MessageBox.Show("No se ha ingresado una descripción válida",
                                "Error",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
            }
        }
        private bool cargarProductosMartinBlust()
        {
            bool     pudoCargar = false;
            Producto nuevoProdMartinBlust;
            int      primerFila;
            int      ultimaFila = 110;
            string   auxNumArticulo;

            primerFila = 14;
            slMartinBlust.SelectWorksheet("CLÁSICA");

            while (primerFila < ultimaFila)
            {
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))) &&
                    !(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 7))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";

                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "CLÁSICA";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 7).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }


            primerFila = 12;
            slMartinBlust.SelectWorksheet("ELÉCTRICA");
            while (primerFila < ultimaFila)
            {
                if (slMartinBlust.GetCellValueAsString(primerFila, 1) == "CÓDIGO")
                {
                    primerFila++;
                }
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))) &&
                    !(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 7))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";
                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "ELÉCTRICA";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 7).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }

            primerFila = 9;
            slMartinBlust.SelectWorksheet("BAJO ELÉCTRICO");
            while (primerFila < ultimaFila)
            {
                if (slMartinBlust.GetCellValueAsString(primerFila, 1) == "CÓDIGO")
                {
                    primerFila++;
                }
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))) &&
                    !(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 7))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";
                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "BAJO ELÉCTRICO";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 7).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }

            primerFila = 14;
            slMartinBlust.SelectWorksheet("BLACK SOUL");
            while (primerFila < ultimaFila)
            {
                if (slMartinBlust.GetCellValueAsString(primerFila, 1) == "CÓDIGO")
                {
                    primerFila++;
                }
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))) &&
                    !(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 7))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";
                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "BLACK SOUL";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 7).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }

            primerFila = 9;
            slMartinBlust.SelectWorksheet("ACÚSTICA 8020");
            while (primerFila < ultimaFila)
            {
                if (slMartinBlust.GetCellValueAsString(primerFila, 1) == "CÓDIGO")
                {
                    primerFila++;
                }
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))) &&
                    !(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 7))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";
                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "ACÚSTICA 8020";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 7).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }

            primerFila = 10;
            slMartinBlust.SelectWorksheet("BAJO ACÚSTICO 8020");
            while (primerFila < ultimaFila)
            {
                if (slMartinBlust.GetCellValueAsString(primerFila, 1) == "CÓDIGO")
                {
                    primerFila++;
                }
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))) &&
                    !(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 7))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";
                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "BAJO ACÚSTICO 8020";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 7).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }

            primerFila = 10;
            slMartinBlust.SelectWorksheet(" ACÚSTICA 8515");
            while (primerFila < ultimaFila)
            {
                if (slMartinBlust.GetCellValueAsString(primerFila, 1) == "CÓDIGO")
                {
                    primerFila++;
                }
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";
                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "ACÚSTICA 8515";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 7).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }

            primerFila = 9;
            slMartinBlust.SelectWorksheet("LATINO");
            while (primerFila < ultimaFila)
            {
                if (slMartinBlust.GetCellValueAsString(primerFila, 1) == "CÓDIGO")
                {
                    primerFila++;
                }
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";
                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "LATINO";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 7).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }


            primerFila = 9;
            slMartinBlust.SelectWorksheet("INTERNACIONAL");
            while (primerFila < ultimaFila)
            {
                if (slMartinBlust.GetCellValueAsString(primerFila, 1) == "CÓDIGO")
                {
                    primerFila++;
                }
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";
                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "INTERNACIONAL";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 7).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }

            primerFila = 6;
            slMartinBlust.SelectWorksheet("ACCESORIOS");
            while (primerFila < ultimaFila)
            {
                if (slMartinBlust.GetCellValueAsString(primerFila, 1) == "CÓDIGO")
                {
                    primerFila++;
                }
                if (!(string.IsNullOrEmpty(slMartinBlust.GetCellValueAsString(primerFila, 1))))
                {
                    nuevoProdMartinBlust = new Producto();

                    nuevoProdMartinBlust.Proveedor = "Martin Blust";
                    auxNumArticulo = slMartinBlust.GetCellValueAsString(primerFila, 1);
                    nuevoProdMartinBlust.NumeroArticulo = RemoveCharsBeforeString(auxNumArticulo);
                    nuevoProdMartinBlust.Rubro          = "ACCESORIOS";

                    nuevoProdMartinBlust.Marca              = "Martin Blust";
                    nuevoProdMartinBlust.Descripcion        = slMartinBlust.GetCellValueAsString(primerFila, 2);
                    nuevoProdMartinBlust.PrecioVentaCliente = "$ " + slMartinBlust.GetCellValueAsDouble(primerFila, 8).ToString();

                    Comercio.AgregarProducto(nuevoProdMartinBlust);

                    primerFila++;
                    pudoCargar = true;
                }
                else
                {
                    primerFila++;
                }
            }

            return(pudoCargar);
        }
        private bool cargarProductosIntermusica()
        {
            bool     pudoCargar = false;
            Producto nuevoProdIntermusica;
            string   auxIva;
            string   auxMargenGanancia;
            int      fila;

            fila = 10;
            slIntermusica.SelectWorksheet("Lista Nacional");
            while (!string.IsNullOrEmpty(slIntermusica.GetCellValueAsString(fila, 1)))
            {
                nuevoProdIntermusica = new Producto("Intermusica");
                nuevoProdIntermusica.NumeroArticulo     = slIntermusica.GetCellValueAsString(fila, 1);
                nuevoProdIntermusica.Marca              = slIntermusica.GetCellValueAsString(fila, 2);
                nuevoProdIntermusica.Rubro              = slIntermusica.GetCellValueAsString(fila, 3);
                nuevoProdIntermusica.Descripcion        = slIntermusica.GetCellValueAsString(fila, 4);
                nuevoProdIntermusica.PrecioVentaCliente = "$ " + slIntermusica.GetCellValueAsDouble(fila, 5).ToString();

                auxIva = slIntermusica.GetCellValueAsDouble(fila, 6).ToString();
                nuevoProdIntermusica.Iva = ConvertIva(auxIva);

                auxMargenGanancia = slIntermusica.GetCellValueAsDouble(fila, 7).ToString();
                nuevoProdIntermusica.MargenGanancia = ConvertMargen(auxMargenGanancia);

                nuevoProdIntermusica.PrecioVentaPublico = "$ " + slIntermusica.GetCellValueAsDouble(fila, 8).ToString();
                nuevoProdIntermusica.OrigenProducto     = "Nacional";

                Comercio.AgregarProducto(nuevoProdIntermusica);
                fila++;
                pudoCargar = true;
            }

            fila = 10;
            slIntermusica.SelectWorksheet("Lista Importado");
            while (!string.IsNullOrEmpty(slIntermusica.GetCellValueAsString(fila, 1)))
            {
                nuevoProdIntermusica = new Producto("Intermusica");
                nuevoProdIntermusica.NumeroArticulo = slIntermusica.GetCellValueAsString(fila, 1);
                nuevoProdIntermusica.Marca          = slIntermusica.GetCellValueAsString(fila, 2);
                nuevoProdIntermusica.Rubro          = slIntermusica.GetCellValueAsString(fila, 3);
                nuevoProdIntermusica.Descripcion    = slIntermusica.GetCellValueAsString(fila, 4);

                nuevoProdIntermusica.PrecioVentaClienteUSD = "us$ " + slIntermusica.GetCellValueAsDouble(fila, 5).ToString();
                nuevoProdIntermusica.PrecioVentaCliente    = "$ " + slIntermusica.GetCellValueAsDouble(fila, 6).ToString();

                auxIva = slIntermusica.GetCellValueAsDouble(fila, 7).ToString();
                nuevoProdIntermusica.Iva = ConvertIva(auxIva);

                auxMargenGanancia = slIntermusica.GetCellValueAsDouble(fila, 8).ToString();
                nuevoProdIntermusica.MargenGanancia = ConvertMargen(auxMargenGanancia);

                nuevoProdIntermusica.PrecioVentaPublicoUSD = "us$ " + slIntermusica.GetCellValueAsDouble(fila, 9).ToString();
                nuevoProdIntermusica.PrecioVentaPublico    = "$ " + slIntermusica.GetCellValueAsDouble(fila, 10).ToString();
                nuevoProdIntermusica.OrigenProducto        = "Importado";

                Comercio.AgregarProducto(nuevoProdIntermusica);
                fila++;
                pudoCargar = true;
            }

            return(pudoCargar);
        }
예제 #10
0
        static void Main(string[] args)
        {
            Console.Title = "Espinosa Quimey 2D TP N°4";

            Thread thVendedor = new Thread(Comercio.EntregarVentas);
            //Thread thActualizador = new Thread(this.Actualizar2);
            Producto miProd1 = new Producto(1, Producto.ETipo.Cuerdas, "Electracústica", 180, 35);
            Producto miProd2 = new Producto(2, Producto.ETipo.Percusion, "Triángulo", 25, 35);
            Producto miProd3 = new Producto(3, Producto.ETipo.Teclas, "Teclado Yamaha", 450, 35);

            try
            {
                DAO.AumentarStockProductos(100);
                DAO.GetProductos(); //Cargo productos de la base

                Console.WriteLine("Se intentará traer los productos de la base de datos y agregar 3 nuevos productos con ID's que ya contienen otros productos\n");
                Console.WriteLine("Presione una tecla para continuar...");
                Console.ReadKey();
                Console.Clear();

                if (Comercio.AgregarProducto(miProd1))
                {
                    Console.WriteLine($"Se agregó satisfactoriamente el producto: \n{miProd1.ToString()}\n");
                }
                else
                {
                    Console.WriteLine($"Ya existe un producto con el ID de producto: {miProd1.NumArticulo}\n");
                }

                if (Comercio.AgregarProducto(miProd2))
                {
                    Console.WriteLine($"Se agregó satisfactoriamente el producto: \n{miProd2.ToString()}\n");
                }
                else
                {
                    Console.WriteLine($"Ya existe un producto con el ID de producto: {miProd2.NumArticulo}\n");
                }

                if (Comercio.AgregarProducto(miProd3))
                {
                    Console.WriteLine($"Se agregó satisfactoriamente el producto: \n{miProd3.ToString()}");
                }
                else
                {
                    Console.WriteLine($"Ya existe un producto con el ID de producto: {miProd3.NumArticulo}\n");
                }
            }
            catch (ConexionALaBaseException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (NuevoProductoException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (ArchivoException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
            Console.Clear();

            Console.WriteLine($"La cantidad de productos traidos de la base es {Comercio.MisProductos.Count} y son los siguientes: \n");

            foreach (Producto item in Comercio.MisProductos)
            {
                Console.WriteLine(item.ToString());
            }

            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
            Console.Clear();

            Console.WriteLine("Se intentará generar 5 nuevas ventas aleatorias");
            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
            Console.Clear();

            try
            {
                for (int i = 0; i < 5; i++)
                {
                    Comercio.VentasPendientes.Enqueue(Comercio.NuevaVentaRandom());
                }
            }
            catch (NuevaVentaException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("Las nuevas ventas pendientes de entrega son:");

            foreach (Venta item in Comercio.VentasPendientes)
            {
                Console.WriteLine(item.ToString());
            }

            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
            Console.Clear();

            Console.WriteLine("Se intentará guardar en un archivo XML las 5 nuevas ventas generadas anteriormente y luego se leeran y cargaran nuevamente a la queue de VentasPendientes");
            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
            Console.Clear();

            try
            {
                Comercio.GuardarVentasPendientesXml();
                Comercio.CargarVentasPendientesXml();
            }
            catch (ArchivoException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine($"Se guardó y luego cargó del xml {Comercio.VentasPendientes.Count} ventas:");
            foreach (Venta item in Comercio.VentasPendientes)
            {
                Console.WriteLine(item.ToString());
            }

            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
            Console.Clear();

            Console.WriteLine("Se intentará pasar hasta agotarse las ventas pendientes a la queue de ventas entregadas cada 4 segundos mediante un hilo");
            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
            Console.Clear();

            try
            {
                thVendedor.Start();

                while (Comercio.VentasPendientes.Count > 0)
                {
                    Thread.Sleep(1000);
                    Console.Clear();
                    foreach (Venta item in Comercio.VentasPendientes)
                    {
                        Console.WriteLine(item.ToString());
                    }
                    Thread.Sleep(3000);
                }

                thVendedor.Abort();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("Se mostrara la queue con las ventas que acaba de ser cargada (VentasEntregadas)");
            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
            Console.Clear();

            foreach (Venta item in Comercio.VentasEntregadas)
            {
                Console.WriteLine(item.ToString());
            }

            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
            Console.Clear();

            Console.WriteLine("\n\nFinalizó el test exitosamente");
            Console.WriteLine("Presione una tecla para continuar...");
            Console.ReadKey();
        }
예제 #11
0
        public void Test_NuevoProductoException()
        {
            Producto miProd = null;

            Comercio.AgregarProducto(miProd);
        }