コード例 #1
0
        /// <summary>
        /// Actualiza la informacion de un determinado usuario en el sistema
        /// </summary>
        /// <param name="usuario">usuario a actualizar</param>
        public void Actualizar(Usuario usuario)
        {
            ValidarUsuario(usuario);

            Datos.UsuariosDAL   dalUsuarios = dal.ObtenerUsuariosDAL();
            Datos.PerfilUsuario perfilDAL   = dalUsuarios.ObtenerPerfil(usuario.Perfil.ToString());

            if (perfilDAL == null)
            {
                throw new OBMCateringException(string.Format(Resources.UsuariosBL_Validaciones_PerfilInvalido, usuario.Perfil));
            }

            Datos.Usuario usuarioDAL = dalUsuarios.Obtener(usuario.Nick);

            if (usuarioDAL == null)
            {
                throw new OBMCateringException(string.Format(Resources.UsuariosBL_Validaciones_UsuarioInvalido, usuario.Nick));
            }

            usuarioDAL.Nombre          = usuario.Nombre;
            usuarioDAL.Email           = usuario.Email;
            usuarioDAL.Password        = usuario.Password;
            usuarioDAL.Perfil          = perfilDAL;
            usuarioDAL.CambiarPassword = usuario.CambiarPassword;

            dalUsuarios.Actualizar(usuarioDAL);
            dal.Guardar();
        }
コード例 #2
0
        /// <summary>
        /// Obtiene el listado completo de usuarios del sistema
        /// </summary>
        /// <returns>Listado de usuarios</returns>
        public IEnumerable <Usuario> Obtener()
        {
            Datos.UsuariosDAL           dalUsuarios = dal.ObtenerUsuariosDAL();
            IEnumerable <Datos.Usuario> usuariosDAL = dalUsuarios.Obtener();

            return(Obtener(usuariosDAL));
        }
コード例 #3
0
        /// <summary>
        /// Autentica al usuario en el sistema, lo cual permite determinar si las credenciales (usuario y password)
        /// son correctas y estan registradas y autorizadas.
        /// </summary>
        /// <param name="nick">Nombre de usuario a autenticar</param>
        /// <param name="password">Password del usuario a autenticar. Se asume que el valor del password ya esta hasheado, con lo
        /// cual no se calculara su hash y se comparara su valor directamente con el de la base de datos</param>
        /// <returns>Valor que determina si el usuario ha sido autenticado o no</returns>
        public bool Autenticar(string nick, string password)
        {
            if (string.IsNullOrEmpty(nick))
            {
                throw new OBMCateringException(Resources.UsuariosBL_Validaciones_NombreNull);
            }

            if (string.IsNullOrEmpty(password))
            {
                throw new OBMCateringException(Resources.UsuariosBL_Validaciones_PasswordNull);
            }

            Datos.UsuariosDAL dalUsuarios = dal.ObtenerUsuariosDAL();
            Datos.Usuario     usuarioDAL  = dalUsuarios.Obtener(nick);

            if (usuarioDAL == null)
            {
                throw new OBMCateringException(string.Format(Resources.UsuariosBL_Validaciones_UsuarioInvalido, nick));
            }

            bool autenticado = usuarioDAL != null && usuarioDAL.Password == password;

            if (autenticado)
            {
                Usuario usuario = Obtener(usuarioDAL);

                contexto.AsignarUsuarioAutenticado(usuario);
            }

            return(autenticado);
        }
コード例 #4
0
        /// <summary>
        /// Obtiene un usuario segun su nombre de usuario
        /// </summary>
        /// <param name="nick">Nombre de usuario</param>
        /// <returns>Usuario encontrado</returns>
        public Usuario Obtener(string nick)
        {
            if (string.IsNullOrEmpty(nick))
            {
                throw new OBMCateringException(Resources.UsuariosBL_Validaciones_NickNull);
            }

            Datos.UsuariosDAL dalUsuarios = dal.ObtenerUsuariosDAL();
            Datos.Usuario     usuarioDAL  = dalUsuarios.Obtener(nick);

            return(Obtener(usuarioDAL));
        }
コード例 #5
0
        /// <summary>
        /// Obtiene los eventos registrados en el sistema para un usuario especifico
        /// </summary>
        /// <param name="usuario">Usuario para el cual se quieren obtener los eventos</param>
        /// <returns>Eventos encontrados</returns>
        public IEnumerable <Bitacora> Obtener(Usuario usuario)
        {
            if (usuario == null)
            {
                throw new OBMCateringException(Resources.BitacoraBL_Validaciones_UsuarioNull);
            }

            Datos.UsuariosDAL dalUsuarios = dal.ObtenerUsuariosDAL();
            Datos.Usuario     usuarioDAL  = dalUsuarios.Obtener(usuario.Nick);

            if (usuarioDAL == null)
            {
                throw new OBMCateringException(string.Format(Resources.BitacoraBL_Validaciones_UsuarioInvalido, usuario.Nick));
            }

            Datos.BitacoraDAL            dalBitacoras = dal.ObtenerBitacoraDAL();
            IEnumerable <Datos.Bitacora> bitacorasDAL = dalBitacoras.Obtener(usuarioDAL);

            return(Obtener(bitacorasDAL));
        }
コード例 #6
0
        /// <summary>
        /// Registra un nuevo evento en el sistema
        /// </summary>
        /// <param name="mensaje">Mensaje del evento</param>
        /// <param name="tipo">Tipo de evento</param>
        public void Registrar(string mensaje, TipoMensajeBitacora tipo)
        {
            if (string.IsNullOrEmpty(mensaje))
            {
                throw new OBMCateringException(Resources.BitacoraBL_Validaciones_MensajeNull);
            }

            Datos.BitacoraDAL         dalBitacoras   = dal.ObtenerBitacoraDAL();
            Datos.TipoMensajeBitacora tipoMensajeDAL = dalBitacoras.ObtenerTipo(tipo.ToString());

            if (tipoMensajeDAL == null)
            {
                throw new OBMCateringException(string.Format(Resources.BitacoraBL_Validaciones_TipoInvalido, tipo));
            }

            Usuario usuarioAutenticado = contexto.ObtenerUsuarioAutenticado();

            Datos.Usuario usuarioDAL = null;

            if (usuarioAutenticado != null)
            {
                Datos.UsuariosDAL dalUsuarios = dal.ObtenerUsuariosDAL();

                usuarioDAL = dalUsuarios.Obtener(usuarioAutenticado.Nick);
            }

            Datos.Bitacora bitacoraDAL = new Datos.Bitacora
            {
                Fecha   = DateTime.Now,
                Mensaje = mensaje,
                Tipo    = tipoMensajeDAL,
                Usuario = usuarioDAL
            };

            dalBitacoras.Crear(bitacoraDAL);
            dal.Guardar();
        }