public Login getLogin(String usuario, String pass) { Login l = null; DataBaseHelper helper = new DataBaseHelper(); SqlCommand comando = new SqlCommand("select idlogin,usuario,passwd,ultimoAcceso,empleado from login where usuario=@usuario and passwd=CONVERT(NVARCHAR(30),HASHBYTES('MD5',@passwd),2)"); SqlParameter parametro1 = new SqlParameter("@usuario", usuario); SqlParameter parametro2 = new SqlParameter("@passwd", pass); parametro2.SqlDbType = SqlDbType.VarChar; comando.Parameters.Add(parametro1); comando.Parameters.Add(parametro2); EmpleadoDal empleadoHelper = new EmpleadoDal(); PrivilegioDal privilegioHelper = new PrivilegioDal(); DataTable datos = new DataTable(); try { datos = helper.getDatos(comando); Debug.WriteLine(datos.Rows.Count); } catch (SqlException ex) { throw ex; } catch (InvalidOperationException ex) { throw ex; } foreach (DataRow row in datos.Rows) { Empleado e = empleadoHelper.getEmpleadoPorId(Convert.ToInt32(row[4])); Debug.WriteLine(e.NombreEmp); SqlCommand comandoPriv = new SqlCommand("select idPrivilegio from login_privilegios where idlogin=@login"); SqlParameter paramPriv = new SqlParameter("@login", Convert.ToInt32(row[0])); Debug.WriteLine("login " + Convert.ToInt32(row[0])); comandoPriv.Parameters.Add(paramPriv); DataTable privs = helper.getDatos(comandoPriv); List <Privilegio> listaPrivilegios = new List <Privilegio>(); foreach (DataRow rowPriv in privs.Rows) { Privilegio privilegio = privilegioHelper.getPrivilegioPorId(Convert.ToInt32(rowPriv[0])); listaPrivilegios.Add(privilegio); Debug.WriteLine(privilegio.NombrePriv); } l = new Login(Convert.ToInt32(row[0]), row[1].ToString(), row[2].ToString(), Convert.ToDateTime(row[3]), e); l.Privilegios = listaPrivilegios; } return(l); }
/// <summary> /// Metodo que obtiene el login de un empleado pasado por parametro /// </summary> /// <param name="e">Empleado cuyo login buscaremos.</param> /// <returns>Login buscado</returns> public Login getLoginPorEmpleado(Empleado e) { Login l = null; DataBaseHelper helper = new DataBaseHelper(); SqlCommand comando = new SqlCommand("select idlogin,usuario,passwd,ultimoAcceso,empleado from login where empleado=@empleado"); SqlParameter parametro1 = new SqlParameter("@empleado", e.IdEmpleado); comando.Parameters.Add(parametro1); PrivilegioDal privilegioHelper = new PrivilegioDal(); DataTable datos = new DataTable(); try { datos = helper.getDatos(comando); } catch (SqlException ex) { throw ex; } catch (InvalidOperationException ex) { throw ex; } foreach (DataRow row in datos.Rows) { SqlCommand comandoPriv = new SqlCommand("select idPrivilegio from login_privilegios where idlogin=@login"); SqlParameter paramPriv = new SqlParameter("@login", Convert.ToInt32(row[0])); comandoPriv.Parameters.Add(paramPriv); DataTable privs = helper.getDatos(comandoPriv); List <Privilegio> listaPrivilegios = new List <Privilegio>(); foreach (DataRow rowPriv in privs.Rows) { Privilegio privilegio = privilegioHelper.getPrivilegioPorId(Convert.ToInt32(rowPriv[0])); listaPrivilegios.Add(privilegio); Debug.WriteLine(privilegio.NombrePriv); } l = new Login(Convert.ToInt32(row[0]), row[1].ToString(), row[2].ToString(), Convert.ToDateTime(row[3]), e); l.Privilegios = listaPrivilegios; } return(l); }
/// <summary> /// Obtiene un listado de todos los logins de la bbdd. Quiza no se use pero por si acaso. /// </summary> /// <returns></returns> public List <Login> getListaLogins() { List <Login> listado = new List <Login>(); DataBaseHelper helper = new DataBaseHelper(); SqlCommand comando = new SqlCommand("select idlogin,usuario,passwd,ultimoAcceso,empleado from login"); EmpleadoDal empleadoHelper = new EmpleadoDal(); PrivilegioDal privilegioHelper = new PrivilegioDal(); DataTable datos = new DataTable(); try { datos = helper.getDatos(comando); } catch (SqlException ex) { throw ex; } foreach (DataRow row in datos.Rows) { Empleado e = empleadoHelper.getEmpleadoPorId(Convert.ToInt32(row[4])); SqlCommand comandoPriv = new SqlCommand("select idPrivilegio from login_privilegios where idlogin=@login"); SqlParameter paramPriv = new SqlParameter("@login", Convert.ToInt32(row[0])); comandoPriv.Parameters.Add(paramPriv); DataTable privs = helper.getDatos(comandoPriv); List <Privilegio> listaPrivilegios = new List <Privilegio>(); foreach (DataRow rowPriv in privs.Rows) { Privilegio privilegio = privilegioHelper.getPrivilegioPorId(Convert.ToInt32(rowPriv[0])); listaPrivilegios.Add(privilegio); } Login l = new Login(Convert.ToInt32(row[0]), row[1].ToString(), row[2].ToString(), Convert.ToDateTime(row[3]), e); l.Privilegios = listaPrivilegios; listado.Add(l); } return(listado); }