Beispiel #1
0
        // Refactorizado para SQLite
        public ArrayList getProductosInventariados()
        {
            string           sql     = "SELECT co_producto,co_laboratorio,in_prod_fraccionado,nu_anaquel,nu_anaquel_concat,va_fraccion,ca_entero,ca_fraccion FROM ProductoInventario";
            SQLiteCommand    command = new SQLiteCommand(sql, Connection.getConexion());
            SQLiteDataReader reader  = command.ExecuteReader();
            ArrayList        list    = new ArrayList();

            while (true)
            {
                if (!reader.Read())
                {
                    reader.Close();
                    reader = null;
                    command.Dispose();
                    command = null;
                    return(list);
                }
                ProductoLaboratorio laboratorio = new ProductoLaboratorio();
                laboratorio.setCoProducto((string)reader["co_producto"]);
                laboratorio.setCoLaboratorio((string)reader["co_laboratorio"]);
                laboratorio.setInProdFraccionado((string)reader["in_prod_fraccionado"]);
                laboratorio.setNuAnaquel((string)reader["nu_anaquel"]);
                laboratorio.setNuAnaquelConcant((string)reader["nu_anaquel_concat"]);
                laboratorio.setVaFraccion(int.Parse(reader["va_fraccion"].ToString()));
                laboratorio.setCaEntero(int.Parse(reader["ca_entero"].ToString()));
                laboratorio.setCaFraccion(int.Parse(reader["ca_fraccion"].ToString()));
                list.Add(laboratorio);
            }
        }
Beispiel #2
0
        public string getNuAnaquelConcatInventario(ProductoLaboratorio producto)
        {
            string           sql             = "SELECT nu_anaquel_concat FROM ProductoInventario WHERE co_producto = '" + producto.getCoProducto() + "'";
            SQLiteCommand    command         = new SQLiteCommand(sql, Connection.getConexion());
            SQLiteDataReader reader          = command.ExecuteReader();
            String           nuAnaquelConcat = "";

            try
            {
                while (true)
                {
                    if (!reader.Read())
                    {
                        reader.Close();
                        reader = null;
                        command.Dispose();
                        command = null;
                        break;
                    }
                    nuAnaquelConcat = reader.GetString(0);
                }
            }
            catch (SQLiteException e)
            {
                throw e;
            }

            //return nuAnaquelConcat;
            return(nuAnaquelConcat);
        }
Beispiel #3
0
 private void grid_Click(object sender, EventArgs e)
 {
     if (!ReferenceEquals(this.listaProductos, null))
     {
         DataGrid            grid     = (DataGrid)sender;
         ProductoLaboratorio producto = (ProductoLaboratorio)this.listaProductos[grid.CurrentRowIndex];
         this.chequeador.setFrmParent(this);
         this.chequeador.procesarProducto(producto);
     }
 }
Beispiel #4
0
        public void procesarProducto(ProductoLaboratorio producto)
        {
            this.rp.getDatosProductoInventario(producto);
            FrmCantidad cantidad = new FrmCantidad();

            cantidad.setProductoLaboratorio(producto);
            cantidad.setChequeador(this);
            cantidad.setFrmParent(this.frmParent);
            cantidad.ejecutar();
            cantidad.Show();
        }
Beispiel #5
0
        // Refactorizado para SQLite
        public void insertProductoInventario(ProductoLaboratorio producto)
        {
            string sql = "INSERT INTO ProductoInventario(CO_PRODUCTO, CO_LABORATORIO, IN_PROD_FRACCIONADO, NU_ANAQUEL, NU_ANAQUEL_CONCAT, VA_FRACCION, CA_ENTERO, CA_FRACCION) "
                         + "VALUES('" + producto.getCoProducto() + "', '" + producto.getCoLaboratorio() + "', '" + producto.getInProdFraccionado() + "', '" + producto.getNuAnaquel() + "', '" + producto.getNuAnaquel() + "', " + producto.getVaFraccion() + ", " + producto.getCaEntero() + ", " + producto.getCaFraccion() + ")";

            using (SQLiteTransaction sqlTransaction = Connection.getConexion().BeginTransaction())
            {
                SQLiteCommand command = new SQLiteCommand(sql, Connection.getConexion());
                command.ExecuteNonQuery();
                sqlTransaction.Commit();
            }
        }
Beispiel #6
0
        public void updateAnaquelConcat(ProductoLaboratorio producto)
        {
            string sql = "UPDATE ProductoInventario SET "
                         + "nu_anaquel_concat= '" + producto.getNuAnaquelConcat() + "' "
                         + " WHERE co_producto='" + producto.getCoProducto() + "' ";

            using (SQLiteTransaction sqlTransaction = Connection.getConexion().BeginTransaction())
            {
                SQLiteCommand command = new SQLiteCommand(sql, Connection.getConexion());
                command.ExecuteNonQuery();
                sqlTransaction.Commit();
            }
        }
Beispiel #7
0
 private void gridProductos_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (!ReferenceEquals(this.listaProductos, null))
     {
         DataGrid grid = (DataGrid)sender;
         this.txtCodigo.Focus();
         if (grid.CurrentRowIndex != -1)
         {
             ProductoLaboratorio producto = (ProductoLaboratorio)this.listaProductos[grid.CurrentRowIndex];
             this.chequeador.setFrmParent(this);
             this.chequeador.procesarProducto(producto);
             this.abrirOtraVentana = true;
         }
     }
 }
Beispiel #8
0
        // Refactorizado para SQLite
        public ArrayList getProductos(string codigo, int tipo)
        {
            string sql;
            string body  = "SELECT p.co_producto,p.de_producto,p.de_unidad,p.de_unidad_fraccion,p.in_prod_fraccionado,p.va_fraccion,p.co_laboratorio,p.de_laboratorio FROM ";
            string case1 = "Producto p WHERE p.co_producto='" + codigo + "' ";
            string case2 = "Producto p WHERE p.de_producto like '%" + codigo + "%' ";
            string case3 = "productoBarra b,  producto p  where  b.co_barra='" + codigo + "' and  p.co_producto=b.co_producto";

            if (tipo == 1)
            {
                sql = body + case1;
            }
            else if (tipo != 2)
            {
                sql = body + case2;
            }
            else
            {
                sql = body + case3;
            }

            SQLiteCommand    command = new SQLiteCommand(sql, Connection.getConexion());
            SQLiteDataReader reader  = command.ExecuteReader();
            ArrayList        list    = new ArrayList();

            while (true)
            {
                if (!reader.Read())
                {
                    reader.Close();
                    reader = null;
                    command.Dispose();
                    command = null;
                    return(list);
                }
                ProductoLaboratorio laboratorio = new ProductoLaboratorio();
                laboratorio.setCoProducto((string)reader["co_producto"]);
                laboratorio.setDeProducto((string)reader["de_producto"]);
                laboratorio.setDeUnidad((string)reader["de_unidad"]);
                laboratorio.setDeUnidadFraccion((string)reader["de_unidad_fraccion"]);
                laboratorio.setVaFraccion(int.Parse(reader["va_fraccion"].ToString()));
                laboratorio.setCoLaboratorio((string)reader["co_laboratorio"]);
                laboratorio.setDeLaboratorio((string)reader["de_laboratorio"]);
                laboratorio.setInProdFraccionado((string)reader["in_prod_fraccionado"]);
                list.Add(laboratorio);
            }
        }
Beispiel #9
0
 public void guardar(ProductoLaboratorio producto)
 {
     try
     {
         if (producto.isNuevo())
         {
             this.rp.insertProductoInventario(producto);
         }
         else
         {
             // Validación para concatenar anaqueles sin que se repita un anaquel que ya existe
             string[] nuAnaquelConcat = this.rp.getNuAnaquelConcatInventario(producto).Split(',');
             if (nuAnaquelConcat != null)
             {
                 for (int i = 0; i < nuAnaquelConcat.Length; i++)
                 {
                     if (nuAnaquelConcat.GetValue(i).Equals(producto.getNuAnaquel()))
                     {
                         producto.setNuAnaquelConcant(string.Join(",", nuAnaquelConcat));
                         break;
                     }
                     else
                     {
                         producto.setNuAnaquelConcant(string.Join(",", nuAnaquelConcat) + "," + producto.getNuAnaquel());
                     }
                 }
             }
             else
             {
                 producto.setNuAnaquelConcant(producto.getNuAnaquel());
             }
             this.rp.updateProductoInventario(producto);
         }
     }
     catch (Exception e)
     {
         MessageBox.Show("Error al actualizar Productos", "Mensaje del sistema", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
         Console.WriteLine("Error: " + e);
     }
 }
Beispiel #10
0
        // Refactorizado para SQLite
        public void getDatosProductoInventario(ProductoLaboratorio productoLaboratorio)
        {
            string           sql     = "SELECT ca_entero, ca_fraccion, nu_anaquel FROM ProductoInventario where co_producto='" + productoLaboratorio.getCoProducto() + "'";
            SQLiteCommand    command = new SQLiteCommand(sql, Connection.getConexion());
            SQLiteDataReader reader  = command.ExecuteReader();

            while (true)
            {
                if (!reader.Read())
                {
                    reader.Close();
                    reader = null;
                    command.Dispose();
                    command = null;
                    return;
                }
                productoLaboratorio.setCaEntero(reader.GetInt32(0));
                productoLaboratorio.setCaFraccion(reader.GetInt32(1));
                productoLaboratorio.setNuAnaquel((string)reader["nu_anaquel"]);
                productoLaboratorio.setNuevo(false);
            }
        }
Beispiel #11
0
        public void updateAnaquelConcat(ProductoLaboratorio producto, string oldAnaquel)
        {
            try
            {
                string[] nuAnaquelConcat = this.rp.getNuAnaquelConcatInventario(producto).Split(',');

                if (nuAnaquelConcat != null)
                {
                    for (int i = 0; i < nuAnaquelConcat.Length; i++)
                    {
                        if (nuAnaquelConcat.GetValue(i).Equals(producto.getNuAnaquel()))
                        {
                            string anaquel = string.Join(",", nuAnaquelConcat);
                            anaquel = anaquel.Replace(nuAnaquelConcat.Length == 1 ? oldAnaquel : oldAnaquel + ",", "");
                            producto.setNuAnaquelConcant(anaquel);
                            break;
                        }
                        else
                        {
                            string anaquel = string.Join(",", nuAnaquelConcat);
                            anaquel = anaquel.Replace(oldAnaquel, producto.getNuAnaquel());
                            producto.setNuAnaquelConcant(anaquel);
                        }
                    }
                }
                else
                {
                    producto.setNuAnaquelConcant(producto.getNuAnaquel());
                }
                this.rp.updateProductoInventario(producto);
            }
            catch (Exception e)
            {
                MessageBox.Show("Error al actualizar el anaquel", "Mensaje del sistema", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
                Console.WriteLine("Error: " + e);
            }
        }
Beispiel #12
0
        public bool procesarProducto(string codigo)
        {
            ArrayList list = this.rp.getProductos(codigo, this.orden);

            if (list.Count <= 0)
            {
                return(false);
            }
            else
            {
                IEnumerator enumerator = list.GetEnumerator();
                try
                {
                    if (enumerator.MoveNext())
                    {
                        ProductoLaboratorio current = (ProductoLaboratorio)enumerator.Current;
                        this.rp.getDatosProductoInventario(current);
                        FrmCantidad cantidad = new FrmCantidad();
                        cantidad.setProductoLaboratorio(current);
                        cantidad.setChequeador(this);
                        cantidad.setFrmParent(this.frmParent);
                        cantidad.ejecutar();
                        cantidad.Show();
                    }
                }
                finally
                {
                    IDisposable objA = enumerator as IDisposable;
                    if (!ReferenceEquals(objA, null))
                    {
                        objA.Dispose();
                    }
                }
            }
            return(true);
        }
Beispiel #13
0
 public void setProductoLaboratorio(ProductoLaboratorio producto)
 {
     this.producto = producto;
 }
Beispiel #14
0
        private DataTable buscarProductos(string codigo)
        {
            DataTable  table  = new DataTable("Productos");
            DataColumn column = new DataColumn
            {
                DataType      = System.Type.GetType("System.String"),
                ColumnName    = "Producto",
                AutoIncrement = false,
                Caption       = "Producto",
                ReadOnly      = true,
                Unique        = false
            };

            table.Columns.Add(column);
            column = new DataColumn
            {
                DataType      = System.Type.GetType("System.String"),
                ColumnName    = "Unidad",
                AutoIncrement = false,
                Caption       = "Unidad",
                ReadOnly      = false,
                Unique        = false
            };
            table.Columns.Add(column);
            column = new DataColumn
            {
                DataType      = System.Type.GetType("System.String"),
                ColumnName    = "Laboratorio",
                AutoIncrement = false,
                Caption       = "Laboratorio",
                ReadOnly      = false,
                Unique        = false
            };
            table.Columns.Add(column);
            if (codigo.Length > 2)
            {
                this.chequeador.setOrden(3);
                this.listaProductos = this.chequeador.obtenerLista(codigo);
                bool flag = this.listaProductos.Count <= 0;
                if (flag)
                {
                    MessageBox.Show("Producto no encontrado");
                }
                else
                {
                    IEnumerator enumerator = this.listaProductos.GetEnumerator();
                    try
                    {
                        while (true)
                        {
                            flag = enumerator.MoveNext();
                            if (!flag)
                            {
                                break;
                            }
                            ProductoLaboratorio current = (ProductoLaboratorio)enumerator.Current;
                            DataRow             row     = table.NewRow();
                            row["Producto"]    = current.getDeProducto();
                            row["Unidad"]      = current.getDeUnidad();
                            row["Laboratorio"] = current.getDeLaboratorio();
                            table.Rows.Add(row);
                        }
                    }
                    finally
                    {
                        IDisposable objA = enumerator as IDisposable;
                        if (!ReferenceEquals(objA, null))
                        {
                            objA.Dispose();
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("ingrese 3 caracteres");
                return(table);
            }
            return(table);
        }