private void DoLogin(string userName, string password) { try { //Realizo validaciones de datos ingresados if (string.IsNullOrEmpty(userName)) { throw new Exception("El usuario no puede ser vacío."); } if (string.IsNullOrEmpty(password)) { throw new Exception("La contraseña no puede ser vacía."); } //Valido que los datos del usuario ingresados sean correctos var user = UsuarioPersistance.Login(userName, password); //El usuario no se encuentra habilitado if (!user.Habilitado) { throw new Exception("No puede loguearse. El usuario se encuentra inhabilitado debido a que acumula más de 10 compras sin rendir. Por favor, acérquese a la oficina de administración."); } //Pregunto si por lo menos tiene un rol asignado que se encuentre activo if (user.RolesActivos != null) { //Seteo el usuario en sesion SessionManager.CurrentUser = user; //Mientras que el usuario posea una contraseña temporal, lo obligo a que la cambie while (SessionManager.CurrentUser.PassTemporal) { MessageBox.Show("Posee una contraseña temporal. Debera cambiarla a continuacion.", "Atención"); //Muestro el formulario para el cambio de contraseña var resetPassword = new FrmResetPassword(); resetPassword.ShowDialog(); //Refresco el currentUser por si ya lo modificó SessionManager.CurrentUser = UsuarioPersistance.GetByUsername(SessionManager.CurrentUser.Username); } Hide(); if (user.RolesActivos.Count > 1) { //Posee mas de un rol activo asignado, debe seleccionar uno solo var chooseRol = new FrmChooseRol(); chooseRol.ShowDialog(); } else { //Posee un unico rol asignado activo. Lo seteo en sesion. SessionManager.CurrentRol = user.RolesActivos.First(); //Muestro el formulario de home var home = new FrmHome(); home.ShowDialog(); } Close(); } else { throw new Exception("El usuario no cuenta con roles que se encuentren activos."); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Atención"); } }
private void DoLogin(string userName, string password) { try { //Realizo validaciones de datos ingresados if (string.IsNullOrEmpty(userName)) throw new Exception("El usuario no puede ser vacío."); if (string.IsNullOrEmpty(password)) throw new Exception("La contraseña no puede ser vacía."); //Valido que los datos del usuario ingresados sean correctos var user = UsuarioPersistance.Login(userName, password); //El usuario no se encuentra habilitado if (!user.Habilitado) throw new Exception("No puede loguearse. El usuario se encuentra inhabilitado debido a que acumula más de 10 compras sin rendir. Por favor, acérquese a la oficina de administración."); //Pregunto si por lo menos tiene un rol asignado que se encuentre activo if (user.RolesActivos != null) { //Seteo el usuario en sesion SessionManager.CurrentUser = user; //Mientras que el usuario posea una contraseña temporal, lo obligo a que la cambie while (SessionManager.CurrentUser.PassTemporal) { MessageBox.Show("Posee una contraseña temporal. Debera cambiarla a continuacion.", "Atención"); //Muestro el formulario para el cambio de contraseña var resetPassword = new FrmResetPassword(); resetPassword.ShowDialog(); //Refresco el currentUser por si ya lo modificó SessionManager.CurrentUser = UsuarioPersistance.GetByUsername(SessionManager.CurrentUser.Username); } Hide(); if (user.RolesActivos.Count > 1) { //Posee mas de un rol activo asignado, debe seleccionar uno solo var chooseRol = new FrmChooseRol(); chooseRol.ShowDialog(); } else { //Posee un unico rol asignado activo. Lo seteo en sesion. SessionManager.CurrentRol = user.RolesActivos.First(); //Muestro el formulario de home var home = new FrmHome(); home.ShowDialog(); } Close(); } else throw new Exception("El usuario no cuenta con roles que se encuentren activos."); } catch (Exception ex) { MessageBox.Show(ex.Message, "Atención"); } }