private void MainForm_Load(object sender, EventArgs e) { try { Hide(); using (LoginForm frmLogin = new LoginForm()) { frmLogin.ShowDialog(); } if (Sesion.Instancia().UsuarioLogueado != null) { Show(); Abrir(); if (!DigitoVerificador.ChequearDVs()) { MessageBox.Show(ObtenerLeyenda("msgPruebaDVMal"), "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } ChequearAlertasDeInsuficiencia(); } else { Application.Exit(); } } catch (Exception ex) { Log.Grabar(ex); } }
/// <summary> /// conseguirUsuarios se encarga de obtener todos los usuarios donde se ha registrado alguna actividad en algun momento. /// </summary> /// <returns></returns> public List <Usuario> conseguirUsuarios() { Sesion.Instancia().verificarPermiso("OP45"); DALBitacora dalBitacora = new DALBitacora(); return(dalBitacora.conseguirUsuarios()); }
/// <summary> /// Eliminar se encarga de /// </summary> /// <param name="nutricionista"></param> /// <returns></returns> public bool eliminar(Nutricionista nutricionista) { verificarPermiso("OP039"); try { if (Sesion.Instancia().UsuarioActual.Username != nutricionista.Usuario.Username) { nutricionista.Eliminado = true; nutricionista.Dvh = calcularDVH(nutricionista); dalNutricionista.eliminar(nutricionista); new DVVH().actualizarDVV("Nutricionista"); bllUsuario.eliminarUsuario(nutricionista.Usuario); } else { throw new Exception(NuSmartMessage.formatearMensaje("Nutricionista_messagebox_error_borrado_actual")); } return(true); }catch (Exception e) { bllBitacora.crearNuevaBitacora("Eliminacion de Nutricionista", "Error en la eliminacion de Nutricionista: " + e.Message, Criticidad.Alta); throw new Exception(NuSmartMessage.formatearMensaje(e.Message)); } }
/// <summary> /// Se encarga de llamar a la implementacion del metodo Actualizar de cada Observer. El metodo Actualizar debe /// implementar el recargado de idioma para todos los controles que posea. /// </summary> public void Notify() { foreach (BE.IObserver observer in Sesion.Instancia().Observers) { observer.Actualizar(); } }
/// <summary> /// Se encarga de actualizar la password al actual usuario. /// </summary> /// <param name="password"></param> /// <returns></returns> public int actualizarPassword(string password) { try { if (password.Length > 0) { Sesion.Instancia().UsuarioActual.Password = new Seguridad().encriptar(password); Console.WriteLine("Nueva contraseña encriptada: " + Sesion.Instancia().UsuarioActual.Password); Sesion.Instancia().UsuarioActual.Dvh = calcularDVH(Sesion.Instancia().UsuarioActual); dalUsuario.actualizarContraseña(Sesion.Instancia().UsuarioActual); bllBitacora.crearNuevaBitacora("Cambio de Password", "Se cambio la password del usuario " + Sesion.Instancia().UsuarioActual.Username, Criticidad.Media); return(new DVVH().actualizarDVV("Usuario")); } else { throw new Exception(); } } catch (Exception ex) { bllBitacora.crearNuevaBitacora("Cambio de Password", "Ocurrio un error en el cambio de Password " + ex.Message, Criticidad.Media); throw new Exception(NuSmartMessage.formatearMensaje("MiCuenta_messagebox_error_cambio_password"), ex); } }
private void LstUsuariosActuales_SelectedIndexChanged(object sender, EventArgs e) { if (lstUsuariosActuales.SelectedIndex == _ultimoUsuarioSeleccionado) { return; } if (_editando && !PreguntarPorLosCambios()) { lstUsuariosActuales.SelectedIndex = _ultimoUsuarioSeleccionado; return; } ResetearDetalles(false); if (lstUsuariosActuales.SelectedItem == null) { btnEditar.Enabled = false; btnEliminar.Enabled = false; } else { UsuarioBE usuario = (UsuarioBE)lstUsuariosActuales.SelectedItem; txtNombre.Text = usuario.Nombre; cmbIdioma.SelectedIndex = cmbIdioma.FindStringExact(usuario.Idioma.ToString()); txtNombreUsuario.Text = usuario.NombreDeUsuario; TildarPermisosUsuario(usuario, trvPermisos.Nodes); // El usuario administrador (id 1) no puede editarse ni eliminarse // Tampoco puede editarse el usuario actual bool puedeEditarse = usuario.Id > 1 && usuario.Id != Sesion.Instancia().UsuarioLogueado.Id; btnEditar.Enabled = puedeEditarse; btnEliminar.Enabled = puedeEditarse; } _ultimoUsuarioSeleccionado = lstUsuariosActuales.SelectedIndex; }
public void ActualizarLeyendas() { IdiomaBE idioma = Sesion.Instancia().UsuarioLogueado.Idioma; _leyendas = idioma.Leyendas.Where(l => l.NombreForm == Name).ToList(); AsignarLeyenda(this); }
private void menu_cerrar_sesion_Click(object sender, EventArgs e) { new BLLBitacora().crearNuevaBitacora("Logout de Usuario", "Se detectó un logout", Criticidad.Baja); Sesion.Instancia().Eliminar(); new Lenguaje().Show(); sessionOut = true; this.Close(); }
/// <summary> /// /// </summary> /// <param name="idiomaId"></param> /// <returns></returns> public void establecerIdioma(int idiomaId) { BLLLeyenda bllLeyenda = new BLLLeyenda(); Idioma idioma = dalIdioma.conseguir(idiomaId); idioma.Leyendas = bllLeyenda.conseguirLeyendasParaIdioma(idioma.Id); Sesion.Instancia().IdiomaActual = idioma; }
static void Main() { System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("es-ES");//en-US Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Inicializo el Singleton de la sesion Sesion.Instancia(); new Lenguaje().Show(); Application.Run(); }
public void verificarPermiso(string operacion) { try { Sesion.Instancia().verificarPermiso(operacion); }catch (Exception ex) { bitacora.crearNuevaBitacora("Error de Permisos", ex.Message, Criticidad.Alta); throw ex; } }
public void CerrarSesion() { try { Sesion.Instancia().CerrarSesion(); Application.Restart(); } catch (Exception ex) { Log.Grabar(ex); } }
/// <summary> /// 1. Se busca el usuario en la base de datos /// 2. Se pasa a verificar si se encuentra bloqueado por exceso de intentos /// 3. Se valida que efectivamente el usuario conseguido de la base de datos y el ingresado, son iguales, a traves de la capa de seguridad /// 4. Se valida si tiene reintentos pero no este bloqueado, y se resetea a 0 en caso de que los tenga /// /// /// 1.1 Si no se encuentra el usuario, se catchea la excepcion y se muestra un error generico indicando que no se pudo loguear /// 2.1 Si se encuentra bloqueado, se muestra un mensaje indicando que el usuario se encuentra bloqueado /// 3.1 Si no se valida correctamente con la clase de seguridad, se informa con un mensaje de error generico indicando que no se pudo loguear /// </summary> /// <param name="usuario"></param> /// <returns></returns> public Usuario conseguirUsuarioLogIn(Usuario usuario) { Seguridad seguridad = new Seguridad(); Usuario usuarioConseguido; usuario.Password = seguridad.encriptar(usuario.Password); try { usuarioConseguido = dalUsuario.conseguir(usuario.Username); } catch (Exception exception) { Console.Write(exception); throw new Exception(NuSmartMessage.formatearMensaje("Login_messagebox_error_login")); } try { if (!(seguridad.esBloqueado(usuarioConseguido))) { if (seguridad.validar(usuarioConseguido, usuario)) { usuarioConseguido.Roles = bllRol.conseguir(usuarioConseguido); Sesion.Instancia().UsuarioActual = usuarioConseguido; bllBitacora.crearNuevaBitacora("Login de Usuario", "Se detecto un evento de ingreso", Criticidad.Media); } else { agregarIntento(usuarioConseguido); bllBitacora.crearNuevaBitacora("Login de Usuario", "Se detecto un login incorrecto", Criticidad.Media); throw new Exception(NuSmartMessage.formatearMensaje("Login_messagebox_error_login")); } } else { bllBitacora.crearNuevaBitacora("Login de Usuario", "Se detecto un login incorrecto", Criticidad.Alta); throw new Exception(NuSmartMessage.formatearMensaje("Login_messagebox_usuario_bloqueado")); } if (usuarioConseguido.Intentos > 0) { reiniciarIntentos(usuarioConseguido); } return(usuarioConseguido); } catch (Exception ex) { Console.Write(ex); bllBitacora.crearNuevaBitacora("Login de Usuario", "Ocurrio un error en el login de usuario " + ex.Message, Criticidad.Media); throw new Exception(NuSmartMessage.formatearMensaje(ex.Message)); } }
/// <summary> /// Se encarga de solicitar la eliminacion de un rol a la base de datos y de eliminar todos sus hijos. /// Tambien desasocia el rol previamente de todos los usuarios. /// </summary> /// <param name="rol"></param> public void eliminar(Rol rol) { verificarPermiso("AA099"); if (Sesion.Instancia().validar(rol.Codigo)) { throw new Exception(NuSmartMessage.formatearMensaje("GestionRoles_messagebox_eliminar_rol_asociado")); } dalRol.desasociarDeTodos(rol); dalRol.eliminarRecursivamente(rol.Id); bllBitacora.crearNuevaBitacora("Eliminacion de Rol", "Se elimino el rol " + rol.Codigo, Criticidad.Alta); }
/// <summary> /// conseguirLeyendaMenu se encarga de conseguir y actualizar los textos de los controles relativos a los Menu en base /// al idioma cargado en la Sesion. /// </summary> /// <param name="item"></param> /// <returns></returns> public string conseguirLeyendaMenu(ToolStripMenuItem item) { Leyenda leyenda = Sesion.Instancia().IdiomaActual.Leyendas.Find(i => i.NombreControl == item.Name); if (leyenda != null) { return(leyenda.Texto); } else { return(item.Text); } }
private void validarNavegación() { if (Sesion.Instancia().UsuarioActual == null) { //Estoy en la pantalla de inicio, tengo que ir al login new Login().Show(); } else { bllIdioma.Notify(); } this.Close(); }
private void MIsTurnos_Load(object sender, EventArgs e) { try { monthCalendar1.SetDate(DateTime.Now); MisTurnos_label_nutricionista.Text = bllNutricionista.conseguir(Sesion.Instancia().UsuarioActual.Id).ToString(); listBox1.DataSource = bllTurnos.obtenerTurnos(monthCalendar1.SelectionRange.Start); }catch (Exception ex) { MessageBox.Show(ex.Message); MessageBox.Show(NuSmartMessage.formatearMensaje("Error_messagebox_carga_formulario")); } }
/// <summary> /// conseguirBitacorasConUsuario se encarga de obtener todas las actividades (Lista de entidad Bitacora) /// registradas para un usuario en particular /// </summary> /// <param name="usuario"></param> /// <param name="fechaInicio"></param> /// <param name="fechaFin"></param> /// <param name="criticidad"></param> /// <returns></returns> public List <Bitacora> conseguirBitacorasConUsuario(Usuario usuario, DateTime fechaInicio, DateTime fechaFin, string criticidad = null) { try { Sesion.Instancia().verificarPermiso("OP45"); DALBitacora dalBitacora = new DALBitacora(); return(dalBitacora.conseguirBitacorasConUsuario(usuario, fechaInicio, fechaFin, criticidad)); }catch (Exception ex) { Console.WriteLine(ex.Message); throw new Exception(NuSmartMessage.formatearMensaje("Bitacora_messagebox_busqueda_error")); } }
public List <Turno> obtenerTurnos(DateTime fecha) { verificarPermiso("OP044"); try { Nutricionista nutricionista = new BLLNutricionista().conseguir(Sesion.Instancia().UsuarioActual.Id); return(dalTurno.obtenerTurnos(fecha, nutricionista)); }catch (Exception ex) { crearNuevaBitacora("Busqueda De Turnos de Nutricionista", "Error en la busqueda de turnos del nutricionista: " + ex.Message, Criticidad.Alta); throw new Exception(NuSmartMessage.formatearMensaje("Error_messagebox_busqueda")); } }
private void button1_Click(object sender, EventArgs e) { try { List <Leyenda> leyendas = (List <Leyenda>)dataGridView2.DataSource; bllLeyenda.guardar(leyendas, idiomaSeleccionado); recargarEtiquetas(); Sesion.Instancia().IdiomaActual.Leyendas = bllLeyenda.conseguirLeyendasParaIdioma(Sesion.Instancia().IdiomaActual.Id); bllIdioma.Notify(); }catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void MiCuenta_Load(object sender, EventArgs e) { try { Nutricionista nutricionista = bllNutricionista.conseguir(Sesion.Instancia().UsuarioActual.Id); nutricionista.Usuario = Sesion.Instancia().UsuarioActual; micuenta_txt_usuario.Text = nutricionista.Usuario.Username; micuenta_txt_apellido.Text = nutricionista.Apellido; micuenta_txt_nombre.Text = nutricionista.Nombre; }catch (Exception ex) { MessageBox.Show(ex.Message); this.Close(); } }
private void button3_Click(object sender, EventArgs e) { try { bllLeyenda.eliminarLeyenda(leyendaSeleccionada); recargarEtiquetas(); bllIdioma.Notify(); Sesion.Instancia().IdiomaActual.Leyendas = bllLeyenda.conseguirLeyendasParaIdioma(Sesion.Instancia().IdiomaActual.Id); bllIdioma.Notify(); }catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void PersonalizacionForm_Load(object sender, EventArgs e) { Abrir(); try { cmbIdioma.Items.AddRange(Idioma.ListarTodos().ToArray()); cmbIdioma.SelectedIndex = cmbIdioma.FindStringExact(Sesion.Instancia().UsuarioLogueado.Idioma.ToString()); } catch { MostrarError(); } }
private void button4_Click(object sender, EventArgs e) { try { leyendaSeleccionada.NombreControl = GestionEtiqueta_textbox_nombre_control.Text; leyendaSeleccionada.Texto = GestionEtiqueta_textbox_texto_leyenda.Text; bllLeyenda.modificarLeyenda(leyendaSeleccionada); recargarEtiquetas(); Sesion.Instancia().IdiomaActual.Leyendas = bllLeyenda.conseguirLeyendasParaIdioma(Sesion.Instancia().IdiomaActual.Id); bllIdioma.Notify(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// conseguirLeyenda se encarga de retornar el texto de la leyenda traducida en base al idioma cargado actual en la Sesion. /// Si no se tiene una leyenda para ese control, se deja el atributo Text del control como se encuentra por default. /// </summary> /// <param name="control"></param> public void conseguirLeyenda(Control control) { Leyenda leyenda = Sesion.Instancia().IdiomaActual.Leyendas.Find(i => i.NombreControl == control.Name); if (leyenda != null) { control.Text = leyenda.Texto; if (control.HasChildren) { foreach (Control controlHijo in control.Controls) { conseguirLeyenda(controlHijo); } } } }
private void Contenedor_Load(object sender, EventArgs e) { //TODO: Validar el Rol del usuario para validar qué opciones se muestran reloadMainMenu(menuStrip1); Contenedor_menu_gestion_bitacora.Enabled = Sesion.Instancia().validar("OP45"); Contenedor_menu_backup.Enabled = Sesion.Instancia().validar("GE121"); Contenedor_menu_gestion_pacientes.Enabled = Sesion.Instancia().validar("GE100"); Contenedor_menu_gestion_alimentos.Enabled = Sesion.Instancia().validar("GE102"); Contenedor_menu_gestion_ejercicios.Enabled = Sesion.Instancia().validar("GE102"); Contenedor_menu_gestion_nutricionistas.Enabled = Sesion.Instancia().validar("AA099"); Contenedor_menu_roles.Enabled = Sesion.Instancia().validar("AA099"); Contenedor_menu_gestion_turnos.Enabled = Sesion.Instancia().validar("GE101"); //Contenedor_menu_gestion_bitacora.Enabled = Sesion.Instancia().validar("AA099"); Contenedor_menu_gestion_idioma.Enabled = Sesion.Instancia().validar("OP83"); Contenedor_menu_gestion_etiquetas.Enabled = Sesion.Instancia().validar("OP84"); ocultarItems(); }
private void button2_Click(object sender, EventArgs e) { try { bllRol.asociarAUsuario(rolSeleccionado, usuarioSeleccionado); List <Rol> roles = bllRol.conseguir(usuarioSeleccionado); usuarioSeleccionado.Roles = roles; popularTreeView(treeView2, bllRol.conseguir(usuarioSeleccionado)); limpiarSelecciones(); if (Sesion.Instancia().UsuarioActual.Username == usuarioSeleccionado.Username) { MessageBox.Show(NuSmartMessage.formatearMensaje("GestionRoles_messagebox_logout_aplicar_permiso_usuario_actual")); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void Bitacora_Load(object sender, EventArgs e) { try { Sesion.Instancia().verificarPermiso("OP45"); bllBitacora = new BLLBitacora(); dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dataGridView1.MultiSelect = false; dataGridView1.ReadOnly = true; usuariosConBitacoras = bllBitacora.conseguirUsuarios(); mostrarUsuariosConBitacoras(); } catch (Exception ex) { MessageBox.Show(NuSmartMessage.formatearMensaje("Error_messagebox_carga_formulario")); } }
/// <summary> /// Valida que no se pueda desasociar un usuario a si mismo roles. /// A su vez, busca recursivamente para validar si el rol que se quiere desasociar se encuentra en la lista de roles del usuario. /// </summary> /// <param name="rolBuscado"></param> /// <param name="usuario"></param> /// <returns></returns> public bool esPosibleDesociarRol(Rol rolBuscado, Usuario usuario) { if (usuario.Id == Sesion.Instancia().UsuarioActual.Id) { return(false); } else { foreach (Rol rolHijo in usuario.Roles) { if (rolHijo.Codigo == rolBuscado.Codigo) { return(true); } } } return(false); }
/// <summary> /// crearNuevaBitacora es el encargado de registrar una nueva Bitacora u actividad en la base de datos a fin de tener un registro de actividad. /// </summary> /// <param name="actividad"></param> /// <param name="descripcion"></param> /// <param name="criticidad"></param> /// <returns></returns> public void crearNuevaBitacora(string actividad, string descripcion, Criticidad criticidad) { try { Bitacora bitacora = new Bitacora(); bitacora.Actividad = actividad; bitacora.Descripción = descripcion; bitacora.Fecha = DateTime.Now; bitacora.Usuario = Sesion.Instancia().UsuarioActual; bitacora.TipoCriticidad = criticidad.Value; DALBitacora dalBitacora = new DALBitacora(); dalBitacora.guardarBitacora(bitacora); }catch (Exception ex) { //Si se falla en el guardado de Bitacora, no deberia ser un error que sea un Throw hacia las capas superiores. //Deberia continuar funcionando el programa. Console.WriteLine(ex.Message); } }