/// <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(); }
/// <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)); }
/// <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); }
/// <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)); }
/// <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)); }
/// <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(); }