コード例 #1
0
        private void GenerarAlertas()//metodo para generar las alertas
        {
            try
            {
                ProductoTableAdapter adapterPro = new ProductoTableAdapter();                     //instanciar objeto para utilizar los querys de la tblProducto
                ProductoDataTable    dataPro    = adapterPro.ProdAcabandose();                    //instanciar objeto para almacenar la data de los productos, en este caso los productos acabandose

                foreach (ProductoRow item in dataPro)                                             //recorre cada fila de productos que se estan acabando
                {
                    dgvAlertas.Rows.Add($"[{item.NombreProducto}] quedan {item.NumExistencias}"); // agrega los productos de un determinado formato en el data grid view
                }

                FacturasCajTableAdapter adapterFac = new FacturasCajTableAdapter();                                                                                 // objeto para utilizar los querys de tblFactura con el nombre del cliente ya traido
                FacturasCajDataTable    dataFac    = adapterFac.FacturaSinPagarConCaj();                                                                            //objeto para almacenar las facturas que tienen mas de un mes sin pagarse

                foreach (FacturasCajRow item in dataFac)                                                                                                            //recorre cada fila de las facturas sin pagar
                {
                    TimeSpan diasDebiendo = DateTime.Now - item.Fecha;                                                                                              // almacena la diferencia de dias que el cliente debe
                    int      diasDebe     = diasDebiendo.Days + 1;                                                                                                  //se le añade un día porque falta uno si no se añade
                    dgvAlertas.Rows.Add($"[{item.NomCliente}] debe RD${item.TotalGeneral - item.Pago} desde hace {diasDebe} días de la factura #{item.IdFactura}"); //se agrega al datagridview el cliente, el pago que debe, los dias y el id de la factura
                }
                log.Info("Se generaron las alertas en el menú");                                                                                                    //se registra que se cargó las alertas
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
            public override global::System.Data.DataTable Clone()
            {
                ProductoDataTable cln = ((ProductoDataTable)(base.Clone()));

                cln.InitVars();
                return(cln);
            }
コード例 #3
0
 private void InitClass()
 {
     this.DataSetName             = "ListaMercadoDataSet";
     this.Prefix                  = "";
     this.Namespace               = "http://tempuri.org/ListaMercadoDataSet.xsd";
     this.EnforceConstraints      = true;
     this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
     this.tableProducto           = new ProductoDataTable();
     base.Tables.Add(this.tableProducto);
 }
コード例 #4
0
 internal void InitVars(bool initTable)
 {
     this.tableProducto = ((ProductoDataTable)(base.Tables["Producto"]));
     if ((initTable == true))
     {
         if ((this.tableProducto != null))
         {
             this.tableProducto.InitVars();
         }
     }
 }
コード例 #5
0
        private void BuscarProducto()//metodo para buscar el producto para luego modificarlo
        {
            try
            {
                if (rbtCodigo.Checked)                                          //si el radiobutton codigo esta tachado
                {
                    if (txtFiltro.Text != "")                                   //si el texto del textbox filtro tiene informacion ingresada
                    {
                        data = adapter.BuscarProductoPorCodigo(txtFiltro.Text); //se busca la informacion del producto por su codigo de barrass
                    }
                }
                else //si es el radiobutton descripcion que esta tachado
                {
                    if (cboProducto.Text != "")//si el texto del combobox descripcion tiene informacion ingresada
                    {
                        data = adapter.BuscarProdPorNombre(cboProducto.Text);//se busca el producto por el nombre ingresado
                    }
                }

                if (data.Rows.Count == 0)                                                                                                                                                                                              // si no se encontró el producto
                {
                    MessageBox.Show($"No se encontró un producto con el {(rbtCodigo.Checked == true ? "Código" : "Nombre")}: {txtFiltro.Text}{cboProducto.Text}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);                //notifica al usuario que no se encontro el producto por medio de un mensaje

                    log.Warn($"Se intentó buscar al producto con el {(rbtCodigo.Checked == true ? "Código" : "Nombre")}: {txtFiltro.Text}{cboProducto.Text} por el usuario {usuario.Nombre} {usuario.Apellidos} pero no se encontró"); //se registra que se intentó buscar un producto pero la informacion ingresada para su busqueda no coincide con ninguno

                    LimpiarText();                                                                                                                                                                                                     //limpia la informacion que esta en la ventana
                }
                else//si se encontró el producto
                {
                    foreach (ProductoRow item in data)                                                                                                                                                             //se recorre la fila del producto
                    {
                        txtDescripcion.Text        = item.NombreProducto;                                                                                                                                          //se coloca el nombre del producto en el textbox descripcion
                        txtCodigo.Text             = item.CodigoBarra;                                                                                                                                             //se coloca el codigo de barras en el textbox codigo de barra
                        cboCategoria.SelectedValue = item.IdCategoriaP;                                                                                                                                            //se coloca la categoria en el combobox categoria
                        txtPrecioDetalle.Text      = item.PrecioDetalle.ToString();                                                                                                                                //se coloca el precio al detalle en el textbox detalle
                        txtPrecioMayor.Text        = item.PrecioMayor.ToString();                                                                                                                                  //se coloca el precio al mayor en el textbox precio mayor
                        txtNumExistencia.Text      = item.NumExistencias.ToString();                                                                                                                               //se coloca el numero de existencia actual en el textbox numexistencia
                        idProducto        = item.IdProducto;                                                                                                                                                       //se guarda el id del producto buscado para posteriormente modificarlo
                        txtDescuento.Text = item.Descuento.ToString();                                                                                                                                             //se coloca el descuento en el textbox descuento
                        cbxITBIS.Checked  = item.AplicaITBIS;                                                                                                                                                      //se coloca el estado de aplica itbis en el checkbox aplicaitbis
                    }
                    Permitir();                                                                                                                                                                                    //permite modificar los textbox para asi modificar el producto
                    log.Info($"Se buscó el producto con el {(rbtCodigo.Checked ? "Código" : "Nombre")}: {txtFiltro.Text}{cboProducto.Text} por el usuario {usuario.Nombre} {usuario.Apellidos} para modificarlo"); //se registra que se busco un producto
                    txtDescripcion.Focus();                                                                                                                                                                        //se hace focus en el texto descripcion
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}");
            }
        }
コード例 #6
0
        public void TraerProducto(DataGridView DgvMostrar)
        {
            DgvMostrar.Rows.Clear();
            ProductoTableAdapter adapter = new ProductoTableAdapter();
            ProductoDataTable    mitabla = adapter.GetData();

            for (int i = 0; i < mitabla.Count; i++)
            {
                ProductoRow misRegistro = (ProductoRow)mitabla.Rows[i];
                DgvMostrar.Rows.Add(
                    null,
                    misRegistro.IdProducto,
                    misRegistro.Producto
                    );
            }
        }
コード例 #7
0
 internal ProductoRow(global::System.Data.DataRowBuilder rb) :
     base(rb)
 {
     this.tableProducto = ((ProductoDataTable)(this.Table));
 }
コード例 #8
0
        private void btnAgregar_Click(object sender, EventArgs e)//evento que se dispara cuando das clic al boton agregar
        {
            try
            {
                if (txtCodigo.Text != "" && txtNombre.Text != "" && txtPrecioDetalle.Text != "" && txtPrecioMayor.Text != "" && txtNumExistencia.Text != "")                                                                                                   //verifica que se introduzca la informacion necesaria
                {
                    ProductoTableAdapter adapter = new ProductoTableAdapter();                                                                                                                                                                                 //objeto para usar los querys de tblProducto
                    ProductoDataTable    data    = adapter.BuscarProductoPorCodigo(txtCodigo.Text);                                                                                                                                                            //objeto para almacenar informacion de tblProducto, en este caso buscada por el codigo de barra ingresado

                    if (data.Count == 0)                                                                                                                                                                                                                       //verifica que no haya ya un producto ingresado con ese codigo de barra
                    {
                        decimal descuento   = Convert.ToDecimal(txtDescuento.Text);                                                                                                                                                                            //convierte los numeros ingresados en el textbox descuento en decimal para ingresarlo posteriormente a la base de datos
                        int     idCategoria = Convert.ToInt32(cboCategoria.SelectedValue);                                                                                                                                                                     //guarda la categoria que se seleccionó para el producto
                        adapter.InsertarP(txtNombre.Text.Trim(), txtCodigo.Text.Trim(), Convert.ToDecimal(txtPrecioDetalle.Text), Convert.ToDecimal(txtPrecioMayor.Text), Convert.ToDecimal(txtNumExistencia.Text), idCategoria, descuento, cbxITBIS.Checked); //se inserta el producto en tblProducto
                        log.Info($"Se agregó el producto con el código [{txtCodigo.Text}] al sistema por el usuario {usuario.Nombre} {usuario.Apellidos}");                                                                                                    //se registra que se ingresó el producto
                        MessageBox.Show($"Se agregó al sistema el producto ingresado con el código: {txtCodigo.Text}", "Agregar producto", MessageBoxButtons.OK, MessageBoxIcon.Information);                                                                  //notifica al usuario con un mensaje que se ingresó el producto
                        Limpiar();                                                                                                                                                                                                                             //se limpian todos los textbox
                    }
                    else                                                                                                                                                                                                                                       //si ya hay un producto con este codigo de barra
                    {
                        if ((MessageBox.Show($"Ya hay un producto ingresado con este Código: {txtCodigo.Text}, ¿Desea limpiar todos los campos?", "Error", MessageBoxButtons.YesNo) == DialogResult.Yes))                                                      //le pregunta al usuario si desea limpiar todos los campos. si responde si pasa lo siguiente
                        {
                            Limpiar();                                                                                                                                                                                                                         //se limpian todos los textbox
                        }
                        else                                                                                                                                                                                                                                   //si responde que no
                        {
                            txtCodigo.Focus();                                                                                                                                                                                                                 //coloca al usuario en el textbox codigo para que lo modifique
                        }
                        log.Info($"Se intentó agregar el producto {txtCodigo.Text} al sistema por el usuario {usuario.Nombre} {usuario.Apellidos} pero ya existe uno con este mismo código");                                                                  //registra que se intentó agregar un producto para ya habia uno con este codigo
                    }
                }//si falta alguna informacion
                else
                {
                    string mensaje = "Falta(n) por llenar lo(s) siguiente(s) campo(s): ";          //string para guardar que info hace falta
                    if (txtCodigo.Text == "")                                                      //si no se ingresó el codigo de barra en su respectivo textbo
                    {
                        mensaje += "\nCódigo de Barras";                                           //notifica que falta el codigo de barras
                    }
                    if (txtNombre.Text == "")                                                      //si no se ingresó el nombre en su respectivo textbo
                    {
                        mensaje += "\nNombre";                                                     //notifica que falta el nombre
                    }
                    if (txtPrecioDetalle.Text == "")                                               //si no se ingresó el precio al detalle en su respectivo textbo
                    {
                        mensaje += "\nPrecio al Detalle";                                          //notifica que falta el precio al detalle
                    }
                    if (txtPrecioMayor.Text == "")                                                 //si no se ingresó el precio mayor en su respectivo textbo
                    {
                        mensaje += "\nPrecio al Mayor";                                            //notifica que falta el precio al por mayor
                    }
                    if (txtNumExistencia.Text == "")                                               //si no se ingresó el numero de existencias en su respectivo textbo
                    {
                        mensaje += "\nNúmero de Existencia";                                       //notifica que falta el numero de existencia
                    }
                    MessageBox.Show(mensaje, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); //notifica al usuario el mensaje de lo que falta
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #9
0
        private void btnCambiarPrecio_Click(object sender, EventArgs e)
        {
            try
            {
                if (dgvProductos.SelectedRows.Count > 0)
                {
                    ElegirOpcion elegirOpcion = new ElegirOpcion(usuario, "Cambio de precio", "Seleccione a que precio desea cambiar el producto", "Detalle", "Mayor");
                    //MessageBoxManager.Retry = "Detalle";
                    //MessageBoxManager.Cancel = "Mayor";

                    DialogResult resultado = elegirOpcion.ShowDialog();//MessageBox.Show("Seleccione a que precio desea cambiar el producto", "Cambio de precio", MessageBoxButtons.RetryCancel, MessageBoxIcon.Exclamation);

                    if (resultado == DialogResult.Abort || resultado == DialogResult.Retry)
                    {
                        foreach (DataGridViewRow item in dgvProductos.SelectedRows)
                        {
                            int id = Convert.ToInt32(item.Cells[6].Value.ToString());
                            dataPro = adapterPro.BuscarPreciosPorId(id);
                            string precioDetalle = dataPro[0][dataPro.PrecioDetalleColumn].ToString();
                            string precioMayor   = dataPro[0][dataPro.PrecioMayorColumn].ToString();

                            string precio = "";

                            if (resultado == DialogResult.Retry)
                            {
                                precio = dataPro[0][dataPro.PrecioDetalleColumn].ToString();
                            }
                            else if (resultado == DialogResult.Abort)
                            {
                                precio = dataPro[0][dataPro.PrecioMayorColumn].ToString();
                            }

                            //precio = resultado == DialogResult.Retry ? dataPro[0][dataPro.PrecioDetalleColumn].ToString() :  dataPro[0][dataPro.PrecioMayorColumn].ToString();

                            item.Cells[1].Value = precio;
                            decimal importe = Convert.ToDecimal(precio) * Convert.ToDecimal(txtCantidad.Text);
                            decimal ITBIS   = 0;

                            if (aplicaITBIS)
                            {
                                ITBIS    = Convert.ToDecimal(importe * 18 / 100);
                                ITBIS    = Math.Round(ITBIS, 2);
                                importe += ITBIS;
                            }
                            item.Cells[3].Value = ITBIS;
                            item.Cells[5].Value = importe - Convert.ToDecimal(item.Cells[4].Value.ToString());
                        }
                        Total();
                        txtIdProducto.Focus();
                    }
                    else
                    {
                        MessageBox.Show("Debe seleccionar a que precio quiere cambiar el producto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Debe seleccionar un producto al que desea cambiarle el precio", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #10
0
        private void BuscarProducto()
        {
            try
            {
                descuentoPro = 0;
                if (txtIdProducto.Enabled == true)
                {
                    dataPro = adapterPro.BuscarProductoPorCodigo(txtIdProducto.Text);

                    if (dataPro.Rows.Count == 1)
                    {
                        cboDescripcionProducto.Text = dataPro.Rows[0][dataPro.NombreProductoColumn].ToString();
                        txtPrecioDetalle.Text       = dataPro.Rows[0][dataPro.PrecioDetalleColumn].ToString();
                        txtPrecioMayor.Text         = dataPro.Rows[0][dataPro.PrecioMayorColumn].ToString();
                        numExistencias = dataPro.Rows[0][dataPro.NumExistenciasColumn].ToString();
                        descuentoPro  += Convert.ToDecimal(dataPro.Rows[0][dataPro.DescuentoColumn].ToString());
                        aplicaITBIS    = Convert.ToBoolean(dataPro[0][dataPro.AplicaITBISColumn]);
                        idProducto     = Convert.ToInt32(dataPro[0][dataPro.IdProductoColumn].ToString());
                        AgregarProducto();
                    }
                    else
                    {
                        MessageBox.Show($"No sé encontro el producto con el código: {txtIdProducto.Text}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        txtIdProducto.Text          = "";
                        cboDescripcionProducto.Text = "";
                        txtPrecioDetalle.Text       = "";
                        txtCantidad.Text            = "1";
                    }
                }
                else
                {
                    dataPro = adapterPro.BuscarProdPorNombre(cboDescripcionProducto.Text);

                    if (dataPro.Rows.Count == 1)
                    {
                        if (dataPro.Rows[0][dataPro.IdProductoColumn].ToString() != "0")
                        {
                            txtIdProducto.Text    = dataPro.Rows[0][dataPro.CodigoBarraColumn].ToString();
                            txtPrecioDetalle.Text = dataPro.Rows[0][dataPro.PrecioDetalleColumn].ToString();
                            txtPrecioMayor.Text   = dataPro.Rows[0][dataPro.PrecioMayorColumn].ToString();
                            numExistencias        = dataPro.Rows[0][dataPro.NumExistenciasColumn].ToString();
                            descuentoPro         += Convert.ToDecimal(dataPro.Rows[0][dataPro.DescuentoColumn].ToString());
                            aplicaITBIS           = Convert.ToBoolean(dataPro[0][dataPro.AplicaITBISColumn]);
                            idProducto            = Convert.ToInt32(dataPro[0][dataPro.IdProductoColumn].ToString());
                            txtCantidad.Focus();
                        }
                    }
                    else
                    {
                        MessageBox.Show($"No sé encontro el producto con el nombre: {cboDescripcionProducto.Text}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        txtIdProducto.Text          = "";
                        cboDescripcionProducto.Text = "";
                        txtPrecioDetalle.Text       = "";
                        txtCantidad.Text            = "1";
                    }
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }