/// <summary> /// Método que se encarga de llamar al stored procedure que borra un lugar del sistema /// </summary> /// <param name="idLugar">id del lugar que se quiere borrar</param> /// <returns>Retorna un valor booleano que indica true si la inserción fue exitosa o false en caso contrario</returns> public bool borrarLugar(Lugar lugar) { Boolean resultado = false; SqlCommand borrar = new SqlCommand("SP_COM_BorrarLugar", _conexion); borrar.CommandType = CommandType.StoredProcedure; SqlParameter[] parametros = new SqlParameter[2]; parametros[0] = new SqlParameter("@idLugar", SqlDbType.Int); parametros[0].Value = lugar.IdLugar; parametros[1] = new SqlParameter("@login", SqlDbType.VarChar); parametros[1].Value = lugar.Login; borrar.Parameters.AddRange(parametros); if (_conexion.State == ConnectionState.Closed) _conexion.Open(); try { SqlDataReader reader = borrar.ExecuteReader(); reader.Read(); resultado = !(reader.HasRows); _conexion.Close(); } catch (Exception ex) { if (_conexion.State == ConnectionState.Open) _conexion.Close(); insertarBitacoraError(ex.ToString(), ""); } return resultado; }
/// <summary> /// Método que se encarga de llamar al stored procedure que modifca un Lugar /// </summary> /// <param name="lugar">Objeto Lugar sobre el cual se quiere hacer el cambio</param> /// <returns>Retorna un valor booleano que indica true si la inserción fue exitosa o false en caso contrario</returns> public bool modificarLugar(Lugar lugar) { Boolean resultado = false; SqlCommand modificar = new SqlCommand("SP_COM_ModificarLugar", _conexion); modificar.CommandType = CommandType.StoredProcedure; SqlParameter[] parametros = new SqlParameter[9]; parametros[0] = new SqlParameter("@idLugar", SqlDbType.Int); parametros[0].Value = lugar.IdLugar; parametros[1] = new SqlParameter("@login", SqlDbType.VarChar); parametros[1].Value = lugar.Login; parametros[2] = new SqlParameter("@nombre", SqlDbType.VarChar); parametros[2].Value = lugar.NombreLugar; parametros[3] = new SqlParameter("@capacidad", SqlDbType.Int); parametros[3].Value = lugar.Capacidad; parametros[4] = new SqlParameter("@descripcion", SqlDbType.NText); parametros[4].Value = lugar.Descripcion; parametros[5] = new SqlParameter("@encargado", SqlDbType.NVarChar); parametros[5].Value = lugar.Encargado; parametros[6] = new SqlParameter("@loginEncargado", SqlDbType.VarChar); parametros[6].Value = lugar.LoginEncargado; parametros[7] = new SqlParameter("@idTipoLugar", SqlDbType.Int); parametros[7].Value = lugar.IdTipoLugar; parametros[8] = new SqlParameter("@activo", SqlDbType.Bit); parametros[8].Value = lugar.Activo; modificar.Parameters.AddRange(parametros); if (_conexion.State == ConnectionState.Closed) _conexion.Open(); try { SqlDataReader reader = modificar.ExecuteReader(); reader.Read(); resultado = !(reader.HasRows); _conexion.Close(); } catch (Exception ex) { if (_conexion.State == ConnectionState.Open) _conexion.Close(); insertarBitacoraError(ex.ToString(), ""); } return resultado; }
/// <summary> /// Método que se encarga de modificar los datos de un lugar /// </summary> /// <param name="pkLugar">Identificador del lugar</param> /// <param name="nombre">Nombre del lugar</param> /// <param name="loginEncargardo">Encargado del lugar</param> /// <param name="capacidad">Capacidad del lugar</param> /// <param name="descripcion">Descripción del lugar</param> /// <param name="tipo">Tipo del lugar: Aula (true) o Laboratorio (false)</param> /// <param name="activo">True si el lugar esta activo, false en caso contrario</param> /// <param name="login">Login del usuario que se encuentra logueado</param> /// <returns>Retorna un entero. -1 si el login no corresponde a nadie en el sistema, 0 en caso error en la operación, 1 en caso de éxito</returns> public int modificarLugar(string pkLugar, string nombre, string loginEncargardo, string capacidad, string descripcion, bool activo, int tipo, string login) { Lugar lugar = new Lugar(); lugar.IdLugar = Convert.ToInt32(pkLugar); lugar.NombreLugar = nombre; lugar.Encargado = _conexionLDAP.obtenerNombrePersona(loginEncargardo); if (lugar.Encargado == null) return -1; lugar.LoginEncargado = loginEncargardo; lugar.Capacidad = Convert.ToInt32(capacidad); lugar.IdTipoLugar = tipo; lugar.Descripcion = descripcion; lugar.Login = login; lugar.Activo = activo; if (_conexionBD.modificarLugar(lugar)) return 1; else return 0; }
/// <summary> /// Método que se encarga de obtener todos los lugares existentes (sean aulas o laboratorios) /// </summary> /// <returns>Retorna una lista de tipo Lugar, con todos los lugares encontrados (que estén activos). Null si falla</returns> public List<Lugar> consultarLugares() { List<Lugar> resultado = new List<Lugar>(); Lugar lugar; SqlCommand buscar = new SqlCommand("SP_COM_ConsultarLugares", _conexion); buscar.CommandType = CommandType.StoredProcedure; if (_conexion.State == ConnectionState.Closed) _conexion.Open(); try { SqlDataReader reader = buscar.ExecuteReader(); while (reader.Read()) { lugar = new Lugar(); lugar.IdLugar = reader.GetInt32(0); // Obtener el PK del Lugar lugar.NombreLugar = reader.GetString(1); // Obtener nombre del Lugar lugar.Capacidad = reader.GetInt32(2); // Obtener capacidad del Lugar lugar.Descripcion = reader.GetString(3); // Obtener la descripción de Lugar lugar.Encargado = reader.GetString(4); // Obtener el nombre del encargado del Lugar lugar.NombreTipoLugar = reader.GetString(5); // Obtener el nombre de tipo del Lugar lugar.Activo = reader.GetBoolean(6); // Si el lugar esta habilitado o no lugar.IdTipoLugar = reader.GetInt32(7); // Obtiene el id del tipoLugar resultado.Add(lugar); } _conexion.Close(); return resultado; } catch (Exception ex) { if (_conexion.State == ConnectionState.Open) _conexion.Close(); insertarBitacoraError(ex.ToString(), ""); return null; } }
/// <summary> /// Método que se encarga de crear un nuevo lugar en el sistema /// </summary> /// <param name="nombre">Nombre del nuevo lugar</param> /// <param name="loginEncargado">Login del encargado del nuevo lugar</param> /// <param name="capacidad">Capacidad del nuevo lugar</param> /// <param name="tipo">Tipo del nuevo lugar (aula o laboratorio)</param> /// <param name="descripcion">Descripción del nuevo lugar</param> /// <param name="login">Usuario logueado actualmente</param> /// <returns>Retorna un entero. -1 si el login no corresponde a nadie en el sistema, 0 en caso error en la operación, 1 en caso de éxito</returns> public int crearLugar(string nombre, string loginEncargado, string capacidad, string descripcion, int idTipoLugar, string login) { Lugar nuevoLugar = new Lugar(); nuevoLugar.NombreLugar = nombre; nuevoLugar.LoginEncargado = loginEncargado; nuevoLugar.Encargado = _conexionLDAP.obtenerNombrePersona(loginEncargado); if (nuevoLugar.Encargado == null) // Si el login proporcionado no corresponde a ningún usuario return -1; nuevoLugar.Capacidad = Convert.ToInt32(capacidad); nuevoLugar.IdTipoLugar = idTipoLugar; nuevoLugar.Descripcion = descripcion; nuevoLugar.Login = login; if (_conexionBD.insertarLugar(nuevoLugar)) return 1; // En caso de éxito else return 0; // Si hubo un error al crear el lugar }