/// <summary> /// Metodo que valida si el username ya existe en la Base de Datos /// </summary> /// <param name="username">El username que se desea registrar</param> /// <returns>Verdadero si es valido, falso sino es valido</returns> public bool ValidarUsernameUnico(String username) { //Indicaremos si se encontro o no el username en la BD bool valido; try { /*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; //Aqui se almacenara lo consultado de la BD List<Resultado> resultado; //Si se esta mandando un username que no es nulo if(username != null) { parametroConsulta = new Parametro(RecursosBaseDeDatosModulo7.UsernameUsuario,SqlDbType.VarChar, username,false); listaParametros.Add(parametroConsulta); parametroConsulta = new Parametro(RecursosBaseDeDatosModulo7.Resultadorepetido, SqlDbType.VarChar, true); listaParametros.Add(parametroConsulta); //Ejecutamos el stored procedure y obtenemos el output resultado = EjecutarStoredProcedure(RecursosBaseDeDatosModulo7.ProcedimientoUsuarioUnico, listaParametros); } 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; } //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; } }
/// <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 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 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; } }