/// <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(); } } }
/// <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); }
/// <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(); } } }
/// <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(); } } }
/// <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)); } }
/// <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(); } } }
/// <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(); } } }
/// <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)); }
public bool entradaInsumos(DO_Bodega doBodega, string correoAdministrador) { BL_Bodega blBodega = new BL_Bodega(); return(blBodega.entradaInsumos(doBodega, correoAdministrador)); }
public bool registrarBodega(DO_Bodega doBodega) { BL_Bodega blBodega = new BL_Bodega(); return(blBodega.registrarBodega(doBodega)); }
public bool modificarBodega(DO_Bodega doBodega) { BL_Bodega blBodega = new BL_Bodega(); return(blBodega.modificarBodega(doBodega)); }
public bool cambiarEstadoBodega(DO_Bodega doBodega) { BL_Bodega blBodega = new BL_Bodega(); return(blBodega.cambiarEstadoBodega(doBodega.codigo, doBodega.estado)); }