public MenuPpal(Objetos.Usuario usuarioActual) { InitializeComponent(); //obtengo todos las funcionalidades para el rol string cmd = string.Format("SELECT ID_Funcionalidad FROM ANOTHER_CAT.tl_Rol_Funcionalidad where ID_Rol={0}", usuarioActual.Id_rol); DataSet Roles = Conexion.Ejecutar(cmd); //habilito o deshabilito botones segun el rol y la funcionalidad comprarBono.Visible = estaHabilitadoRol(7, Roles); //7 pedirTurno.Visible = estaHabilitadoRol(9, Roles); //9 cancelarTurno.Visible = estaHabilitadoRol(6, Roles); //6 registrarLlegada.Visible = estaHabilitadoRol(11, Roles); //11 registrarResultados.Visible = estaHabilitadoRol(12, Roles); //12 AfiliadoABM.Visible = estaHabilitadoRol(1, Roles); //1 agendaABM.Visible = estaHabilitadoRol(10, Roles); //10 rolABM.Visible = estaHabilitadoRol(5, Roles); //5 profesionalABM.Visible = estaHabilitadoRol(4, Roles); //4 EspecialicadMedicaABM.Visible = estaHabilitadoRol(2, Roles); //2 PlanesMedicosABM.Visible = estaHabilitadoRol(3, Roles); //3 ListadoEstadisticoABM.Visible = estaHabilitadoRol(8, Roles); //8 }
private void button1_Click(object sender, EventArgs e) { //Verifico que se ingresen datos en los campos if (Usuario.TextLength > 0 && Contrasenia.TextLength > 0) { //Obtengo la conexion desde la clase "Conexion" SqlConnection conexionABase = Conexion.ObtenerConexion(); //Instancio el objeto Stored Procedure SqlCommand cmdLogin = new SqlCommand("[ANOTHER_CAT].[LOGIN]", conexionABase); cmdLogin.CommandType = CommandType.StoredProcedure; //Le agrego los parametros cmdLogin.Parameters.AddWithValue("@auxnombre", Usuario.Text); //cmdLogin.Parameters.AddWithValue("@auxpass", Password.encriptarPassword(Contrasenia.Text).Trim());//encriptada cmdLogin.Parameters.AddWithValue("@auxpass", Contrasenia.Text.Trim().ToString()); //Logica para el manejo de un parametro del tipo OUTPUT SqlParameter parametroRetorno = new SqlParameter(); parametroRetorno.ParameterName = "@RETORNO"; parametroRetorno.DbType = DbType.Int32; parametroRetorno.Direction = ParameterDirection.Output; //Agrego los parametros cmdLogin.Parameters.Add(parametroRetorno); //Logica para el manejo de un parametro del tipo OUTPUT idUsuario SqlParameter idUsuario = new SqlParameter(); idUsuario.ParameterName = "@IDUSUARIO"; idUsuario.DbType = DbType.Int64; idUsuario.Direction = ParameterDirection.Output; //Agrego los parametros cmdLogin.Parameters.Add(idUsuario); //Logica para el manejo de un parametro del tipo OUTPUT cantidadRoles SqlParameter cantRoles = new SqlParameter(); cantRoles.ParameterName = "@CANTROLES"; cantRoles.DbType = DbType.Int32; cantRoles.Direction = ParameterDirection.Output; //Agrego los parametros cmdLogin.Parameters.Add(cantRoles); //Ejecuto el comando SP SqlDataReader reader = cmdLogin.ExecuteReader(); //Obtengo el valor del parametro de tipo OUTPUT del SP string resultadoEjecucion = cmdLogin.Parameters["@RETORNO"].Value.ToString(); Int64 idUser = Int64.Parse(cmdLogin.Parameters["@IDUSUARIO"].Value.ToString()); Int32 cantRol = Int32.Parse(cmdLogin.Parameters["@CANTROLES"].Value.ToString()); //Cierro la conexion conexionABase.Close(); //Evaluo el resultado de la ejecucion del SP e informo el resultado //Resultado = 0 ==> Login Correcto //Resultado = 1 ==> Contraseña incorrecta //Resultado = 2 ==> El Usuario está inhabilitado //Resultado = 3 ==> Ingresó mal la clave 3 veces. Se inhabilitó usuario switch (resultadoEjecucion) { case "0": //Esta todo OK. if (cantRol > 1) { SeleccionRol selecionRolview = new SeleccionRol(idUser); this.Hide(); selecionRolview.Show(this); } else { Objetos.Usuario usuarioActual = new Objetos.Usuario(); usuarioActual.id_user = idUser; conexionABase = Conexion.ObtenerConexion(); // string CMD = string.Format("SELECT r.Nombre from [ANOTHER_CAT].tl_Usuario_Rol as ur join [GD2C2016].[ANOTHER_CAT].tl_rol as R on ur.ID_Rol = r.ID_Rol where ur.ID_Usuario='{0}'", idUser); string CMD = string.Format("SELECT ID_Rol from [ANOTHER_CAT].tl_Usuario_Rol where ID_Usuario='{0}'", idUser); SqlCommand comandoLlenado = new SqlCommand(CMD, conexionABase); SqlDataReader ReadRol = comandoLlenado.ExecuteReader(); ReadRol.Read(); // string rolUsuario = ReadRol[0].ToString(); usuarioActual.Id_rol = Int32.Parse(ReadRol[0].ToString()); conexionABase.Close(); MenuPpal menuPpal = new MenuPpal(usuarioActual); this.Hide(); menuPpal.Show(this); } // this.Close(); break; case "1": MessageBox.Show("Contraseña Incorrecta"); break; case "2": MessageBox.Show("Su Usuario está inhabilitado. Contactar Administrador"); break; case "3": MessageBox.Show("Usted ha sido inhabilitado. Ingresó mal la clave 3 veces"); break; } } else { MessageBox.Show("Complete todos los campos.", "Advertencia", MessageBoxButtons.OK); Usuario.Focus(); } }