Пример #1
0
        /// <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;
            }
        }
Пример #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 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;
            }
        }
Пример #4
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;
            }
        }