/// <summary> /// Metodo que consultara en la Base de Datos todos los usuarios y los devolvera en una lista /// </summary> /// <returns>Lista con todos los usuarios obtenidos de la Base de Datos</returns> public List <Entidad> ListarUsuarios() { //Lista que sera la respuesta de la consulta; List <Entidad> usuarios; //Instanciamos la fabrica concreta de Entidades FabricaEntidades fabrica = new FabricaEntidades(); //Parametros que tendra List <Parametro> parametros = new List <Parametro>(); try { //Recibimos la respuesta de la consulta DataTable dt = EjecutarStoredProcedureTuplas(RecursosBaseDeDatosModulo7.ProcedimientoListarUsuario, parametros); //Instanciamos la lista usuarios = new List <Entidad>(); //Recorremos el data table, crearmos el usuario con sus datos y asignamos cada usuario a la lista foreach (DataRow fila in dt.Rows) { Entidad aux = fabrica.ObtenerUsuario(fila[RecursosBaseDeDatosModulo7.UsernameNombre].ToString(), fila[RecursosBaseDeDatosModulo7.NombreUsu].ToString(), fila[RecursosBaseDeDatosModulo7.ApellidoUsu].ToString(), fila[RecursosBaseDeDatosModulo7.CargoNombre].ToString()); usuarios.Add(aux); } //Retornamos la lista con los usuarios return(usuarios); } catch (SqlException e) { //Si hay error en la Base de Datos escribimos en el logger y lanzamos la excepcion BDDAOUsuarioException daoSqlException = new BDDAOUsuarioException( RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_MENSAJE, e); Logger.EscribirError(this.GetType().Name, daoSqlException); throw daoSqlException; } catch (Exception e) { //Si existe un error inesperado escribimos en el logger y lanzamos la excepcion ErrorInesperadoDAOUsuarioException errorInesperado = new ErrorInesperadoDAOUsuarioException( RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_MENSAJE, e); Logger.EscribirError(this.GetType().Name, errorInesperado); throw errorInesperado; } }
/// <summary> /// Metodo que interactua con la Base de Datos y obtiene todos los cargos de la Base de Datos /// </summary> /// <returns>La lista con todos los cargos encontrados en la Base de Datos</returns> public List <string> ListarCargos() { //Lista que sera la respuesta de la consulta; List <String> cargos = new List <String>(); //Parametros que tendra List <Parametro> parametros = new List <Parametro>(); try { //Recibimos la respuesta de la consulta DataTable dt = EjecutarStoredProcedureTuplas(RecursosBaseDeDatosModulo7.PROCEDIMIENTO_SELECCIONAR_CARGOS, parametros); if (dt.Rows.Count >= 1) { //Recorremos el data table y asignamos cada cargo a la lista foreach (DataRow fila in dt.Rows) { cargos.Add(fila[RecursosBaseDeDatosModulo7.CARGO_NOMBRE].ToString()); } //Devolvemos la lista con los cargos return(cargos); } Logger.EscribirError(this.GetType().Name, new CargosNoExistentesException()); throw new CargosNoExistentesException(RecursosBaseDeDatosModulo7.EXCEPTION_CARGOS_INEXISTENTES_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_CARGOS_INEXISTENTES_MENSAJE, new CargosNoExistentesException()); } catch (SqlException e) { //Si hay error en la Base de Datos escribimos en el logger y lanzamos la excepcion BDDAOUsuarioException daoSqlException = new BDDAOUsuarioException( RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_MENSAJE, e); Logger.EscribirError(this.GetType().Name, daoSqlException); throw daoSqlException; } catch (Exception e) { //Si existe un error inesperado escribimos en el logger y lanzamos la excepcion ErrorInesperadoDAOUsuarioException errorInesperado = new ErrorInesperadoDAOUsuarioException( RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_MENSAJE, e); Logger.EscribirError(this.GetType().Name, errorInesperado); throw errorInesperado; } }
/// <summary> /// Metodo que ejecuta la consulta para eliminar un usuario de la Base de Datos /// </summary> /// <param name="username">El usuario que se desea eliminar</param> /// <returns>Verdadero si se pude eliminar, falso sino se pudo</returns> public bool EliminarUsuario(String username) { //Exito o fallo de la eliminacion bool exito; //Lista de los parametros del query List <Parametro> listaParametros = new List <Parametro>(); //Si el username tiene un valor valido creamos el parametro con su valor, sino, lanzamos la exception if (username != null) { //Creamos un nuevo parametro y lo agregamos a la lista Parametro aux = new Parametro(RecursosBaseDeDatosModulo7.UsernameUsuario, SqlDbType.VarChar, username, false); listaParametros.Add(aux); } else { //Escribimos el error y Lanzamos la excepcion UsernameVacioException usernameVacio = new UsernameVacioException( RecursosBaseDeDatosModulo7.EXCEPTION_USERNAME_VACIO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_USERNAME_VACIO_MENSAJE, new UsernameVacioException()); Logger.EscribirError(this.GetType().Name, usernameVacio); throw usernameVacio; } try { //Ejecutamos la consulta int resultadoQuery = EjecutarStoredProcedureAlteraFilas( RecursosBaseDeDatosModulo7.ProcedimientoEliminarUsuario, listaParametros); //Si el resultado da mayor a cero significa que se elimino un usuario if (resultadoQuery > 0) { exito = true; } else { exito = false; } //Retornamos la respuesta return(exito); } catch (SqlException e) { //Si hay error en la Base de Datos escribimos en el logger y lanzamos la excepcion BDDAOUsuarioException daoSqlException = new BDDAOUsuarioException( RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_MENSAJE, e); Logger.EscribirError(this.GetType().Name, daoSqlException); throw daoSqlException; } catch (Exception e) { //Si existe un error inesperado escribimos en el logger y lanzamos la excepcion ErrorInesperadoDAOUsuarioException errorInesperado = new ErrorInesperadoDAOUsuarioException( RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_MENSAJE, e); Logger.EscribirError(this.GetType().Name, errorInesperado); throw errorInesperado; } }
/// <summary> /// Metodo que valida si el correo que se desea registrar ya existe o no en la Base de Datos /// </summary> /// <param name="correo">El correo que se desea registrar</param> /// <returns>Verdadero si es valido o falso si ya existe en la Base de Datos</returns> public bool ValidarCorreoUnico(String correo) { //Indicaremos si se encontro o no el correo en la BD bool valido; /*Creamos una lista de parametros y le agregamos los valores correspondientes * a las variables de stored procedure*/ List <Parametro> listaParametros = new List <Parametro>(); Parametro parametroConsulta; if (correo != null) { parametroConsulta = new Parametro(RecursosBaseDeDatosModulo7.CorreoUsuario, SqlDbType.VarChar, correo, false); listaParametros.Add(parametroConsulta); parametroConsulta = new Parametro(RecursosBaseDeDatosModulo7.Resultadorepetido, SqlDbType.VarChar, true); listaParametros.Add(parametroConsulta); } else { //Sino existe un correo a evaluar se escribe en el logger y se lanza la exception Logger.EscribirError(this.GetType().Name, new CorreoVacioException()); throw new CorreoVacioException(RecursosBaseDeDatosModulo7.EXCEPTION_CORREO_VACIO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_CORREO_VACIO_MENSAJE, new CorreoVacioException()); } try { //Ejecutamos el stored procedure y obtenemos el output List <Resultado> resultado = EjecutarStoredProcedure(RecursosBaseDeDatosModulo7.ProcedimientoCorreoUnico, listaParametros); //Sino existe el username en la Base de Datos entonces es valido agregarlo if (resultado[0].valor == "") { valido = true; } else { valido = false; } return(valido); } catch (SqlException e) { //Si hay error en la Base de Datos escribimos en el logger y lanzamos la excepcion BDDAOUsuarioException daoSqlException = new BDDAOUsuarioException( RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_MENSAJE, e); Logger.EscribirError(this.GetType().Name, daoSqlException); throw daoSqlException; } catch (Exception e) { //Si existe un error inesperado escribimos en el logger y lanzamos la excepcion ErrorInesperadoDAOUsuarioException errorInesperado = new ErrorInesperadoDAOUsuarioException( RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_CODIGO, RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_MENSAJE, e); Logger.EscribirError(this.GetType().Name, errorInesperado); throw errorInesperado; } }