Example #1
0
        /// <summary>
        /// Permite registrar una bodega en la base de datos
        /// </summary>
        /// <param name="doBodega">Bodega que se va a ingresar</param>
        /// <returns>True si se ingresa, False si ocurre un error</returns>
        public bool registrarBodega(DO_Bodega doBodega)
        {
            SqlCommand insertBodega = new SqlCommand("INSERT BODEGA (EST_HAB_ESTADO, BOD_NOMBRE, BOD_DIRECCION, BOD_TELEFONO)" +
                                                     "VALUES('HABILITADO',@nombre,@direccion,@telefono)", conexion);

            insertBodega.Parameters.AddWithValue("@nombre", doBodega.nombre);
            insertBodega.Parameters.AddWithValue("@direccion", doBodega.direccion);
            insertBodega.Parameters.AddWithValue("@telefono", doBodega.telefono);

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }
                if (insertBodega.ExecuteNonQuery() > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (SqlException)
            {
                return(false);
            }
            finally {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
Example #2
0
 /// <summary>
 /// Determina si los datos para la entrada de insumos son inválidos o no
 /// </summary>
 /// <param name="doBodega">Bodega con los datos a verificar</param>
 /// <returns>True si tiene los datos inválidos, false si son válidos</returns>
 private bool entradaInvalida(DO_Bodega doBodega)
 {
     if (doBodega.codigo <= 0 || doBodega.listaInsumosEnBodega is null ||
         doBodega.listaInsumosEnBodega.Count <= 0)
     {
         return(true);
     }
Example #3
0
        /// <summary>
        /// En este método se ingresan los insumos cuando hay entrada de insumos a una bodega
        /// </summary>
        /// <param name="bodega">Bodega con la lista de insumos entrantes</param>
        /// <returns>True si logra ingresar los insumos, false si sucede un error</returns>
        public bool entradaInsumos(DO_Bodega bodega, String correoOperario)
        {
            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                Int32 eniCodigo = registrarEntradaInsumo(correoOperario);

                String comando = "BEGIN TRANSACTION ";

                foreach (DO_InsumoEnBodega insumoEnBodega in bodega.listaInsumosEnBodega)
                {
                    if (existeInsumoEnbodega(insumoEnBodega, bodega.codigo)) // Ya hay registro de ese insumo en la bodega
                    {
                        comando += "UPDATE INS_ESTA_BOD SET IEB_CANTIDAD_DISPONIBLE = IEB_CANTIDAD_DISPONIBLE + " + insumoEnBodega.cantidadDisponible
                                   + " WHERE BOD_CODIGO = " + bodega.codigo + " AND INS_CODIGO = " + insumoEnBodega.insumo.codigo + " ";
                    }
                    else
                    { //No hay registro del insumo en la bodega por lo que se crea e ingresa la cantidad
                        comando += "INSERT INTO INS_ESTA_BOD (BOD_CODIGO, INS_CODIGO, IEB_CANTIDAD_DISPONIBLE)"
                                   + "VALUES (" + bodega.codigo + ", " + insumoEnBodega.insumo.codigo + ", " + insumoEnBodega.cantidadDisponible + ") ";
                    }
                    comando += "INSERT INTO INSUMO_ENTRANTE (ENI_CODIGO, BOD_CODIGO, INS_CODIGO, IENT_CANTIDAD)"
                               + "VALUES (" + eniCodigo + "," + bodega.codigo + ", " + insumoEnBodega.insumo.codigo + ", " + insumoEnBodega.cantidadDisponible + ") ";
                }

                comando += "COMMIT";
                SqlCommand ingresarLista = new SqlCommand(comando, conexion);

                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                if (ingresarLista.ExecuteNonQuery() <= 0)
                {
                    eliminarEntradaInsumo(eniCodigo);
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (SqlException e)
            {
                return(false);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
Example #4
0
        /// <summary>
        /// Retorna la lista de bodegas, todas o solo las habilitadas
        /// </summary>
        /// <param name="todos">Define si requiere todas las bodegas o solo las habilitadas</param>
        /// <returns>La lista de bodegas solicitada</returns>
        public List <DO_Bodega> obtenerListaBodegas(bool todos)
        {
            String comando;

            if (todos)
            {
                comando = "SELECT * FROM BODEGA";
            }
            else
            {
                comando = "SELECT * FROM BODEGA WHERE EST_HAB_ESTADO = 'HABILITADO'";
            }
            SqlDataAdapter adapter = new SqlDataAdapter();

            adapter.SelectCommand = new SqlCommand(comando, conexion);
            DataTable        datatable   = new DataTable();
            List <DO_Bodega> listaBodega = new List <DO_Bodega>();

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                adapter.Fill(datatable);

                foreach (DataRow row in datatable.Rows)
                {
                    DO_Bodega doBodega = new DO_Bodega();

                    doBodega.codigo    = Convert.ToInt32(row["BOD_CODIGO"]);
                    doBodega.estado    = (String)row["EST_HAB_ESTADO"];
                    doBodega.nombre    = (String)row["BOD_NOMBRE"];
                    doBodega.telefono  = (String)row["BOD_TELEFONO"];
                    doBodega.direccion = (String)row["BOD_DIRECCION"];

                    doBodega.listaInsumosEnBodega = obtenerInsumosBodega(doBodega.codigo);

                    listaBodega.Add(doBodega);
                }
                return(listaBodega);
            }
            catch (SqlException)
            {
                return(null);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
Example #5
0
 /// <summary>
 /// Este método permite la entrada de insumos al inventario
 /// </summary>
 /// <param name="doBodega">Bodega con la lista de insumos entrantes</param>
 /// <param name="correoOperario">Correo del operario que realiza la entrada</param>
 /// <returns>True si se ingresan los insumos en la bodega, false si sucede un error</returns>
 public bool entradaInsumos(DO_Bodega doBodega, String correoOperario)
 {
     if (correoOperario.Equals("") || entradaInvalida(doBodega))
     {
         return(false);
     }
     else
     {
         DAO_Bodega daoBodega = new DAO_Bodega();
         return(daoBodega.entradaInsumos(doBodega, correoOperario));
     }
 }
Example #6
0
        /// <summary>
        /// Este metodo permite sacar los datos de una bodega y la lista de insumos que contiene
        /// </summary>
        /// <param name="codigoBodega">Codigo de la bodega</param>
        /// <returns>La bodega con todos sus datos</returns>
        public DO_Bodega obtenerBodega(Int32 codigoBodega)
        {
            SqlCommand consultaBodega = new SqlCommand("SELECT * FROM BODEGA WHERE BOD_CODIGO = @codigoBodega", conexion);

            consultaBodega.Parameters.AddWithValue("@codigoBodega", codigoBodega);

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                DO_Bodega doBodega = new DO_Bodega();

                SqlDataReader lectorConsultaBodega = consultaBodega.ExecuteReader();
                if (lectorConsultaBodega.HasRows)
                {
                    while (lectorConsultaBodega.Read())
                    {
                        doBodega.codigo    = Convert.ToInt32(lectorConsultaBodega["BOD_CODIGO"]);
                        doBodega.estado    = (String)lectorConsultaBodega["EST_HAB_ESTADO"];
                        doBodega.nombre    = (String)lectorConsultaBodega["BOD_NOMBRE"];
                        doBodega.direccion = (String)lectorConsultaBodega["BOD_DIRECCION"];
                        doBodega.telefono  = (String)lectorConsultaBodega["BOD_TELEFONO"];
                    }//Ya se sacaron los datos de la bodega, faltan los insumos que tiene
                    lectorConsultaBodega.Close();
                    doBodega.listaInsumosEnBodega = obtenerInsumosBodega(new List <DO_InsumoEnBodega>(), codigoBodega);
                }
                return(doBodega);
            }
            catch (SqlException)
            {
                return(null);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
Example #7
0
        /// <summary>
        /// Permite modificar los datos de una bodega
        /// </summary>
        /// <param name="doBodega">Bodega con los datos a modificar</param>
        /// <returns>True si se modifica, false si no se modifica</returns>
        public bool modificarBodega(DO_Bodega doBodega)
        {
            SqlCommand modificarBodega = new SqlCommand("UPDATE BODEGA SET " +
                                                        "BOD_NOMBRE = @nombre, " +
                                                        "BOD_DIRECCION = @direccion, " +
                                                        "BOD_TELEFONO = @telefono, " +
                                                        "EST_HAB_ESTADO = @estado " +
                                                        "WHERE BOD_CODIGO = @codigoBodega", conexion);

            modificarBodega.Parameters.AddWithValue("@nombre", doBodega.nombre);
            modificarBodega.Parameters.AddWithValue("@direccion", doBodega.direccion);
            modificarBodega.Parameters.AddWithValue("@telefono", doBodega.telefono);
            modificarBodega.Parameters.AddWithValue("@codigoBodega", doBodega.codigo);
            modificarBodega.Parameters.AddWithValue("@estado", doBodega.estado);

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }
                if (modificarBodega.ExecuteNonQuery() > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (SqlException)
            {
                return(false);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
Example #8
0
        /// <summary>
        /// Este método permite la entrada de insumos al inventario
        /// </summary>
        /// <param name="doBodega">Bodega con la lista de insumos entrantes</param>
        /// <param name="correoOperario">Correo del operario que realiza la entrada</param>
        /// <returns>True si se ingresan los insumos en la bodega, false si sucede un error</returns>
        public bool entradaInsumos(DO_Bodega doBodega, String correoOperario)
        {
            DAO_Bodega daoBodega = new DAO_Bodega();

            return(daoBodega.entradaInsumos(doBodega, correoOperario));
        }
Example #9
0
        public bool entradaInsumos(DO_Bodega doBodega, string correoAdministrador)
        {
            BL_Bodega blBodega = new BL_Bodega();

            return(blBodega.entradaInsumos(doBodega, correoAdministrador));
        }
Example #10
0
        public bool registrarBodega(DO_Bodega doBodega)
        {
            BL_Bodega blBodega = new BL_Bodega();

            return(blBodega.registrarBodega(doBodega));
        }
Example #11
0
        public bool modificarBodega(DO_Bodega doBodega)
        {
            BL_Bodega blBodega = new BL_Bodega();

            return(blBodega.modificarBodega(doBodega));
        }
Example #12
0
        public bool cambiarEstadoBodega(DO_Bodega doBodega)
        {
            BL_Bodega blBodega = new BL_Bodega();

            return(blBodega.cambiarEstadoBodega(doBodega.codigo, doBodega.estado));
        }