示例#1
0
        /// <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;
            }
        }
示例#2
0
        /// <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;
            }
        }
示例#3
0
        /// <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;
            }
        }
示例#4
0
        /// <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;
            }
        }