Interfaz_Presentadores.Modulo2.ValidacionesM2.filtrarRoles C# (CSharp) Метод

filtrarRoles() публичный Метод

Metodo que retorna los roles que el usuario NO tiene asignado
public filtrarRoles ( List usuarioRol, List sistemaRol ) : List
usuarioRol List Lista de los roles que el usuario tiene asignado
sistemaRol List Lista de los roles de sistema
Результат List
        public List<Rol> filtrarRoles(List<Rol> usuarioRol, List<Rol> sistemaRol)
        {
            bool diferente;
            try
            {
                List<Rol> respuesta = new List<Rol>();
                foreach (Rol rolSistema in sistemaRol)
                {
                    diferente = true;
                    foreach (Rol rolUsuario in usuarioRol)
                    {
                        if (rolSistema.Id_rol == rolUsuario.Id_rol)
                            diferente = false;
                    }
                    if (diferente)
                        respuesta.Add(rolSistema);
                }
                return respuesta;
            }
            catch (Exception e)
            {
                throw new ExcepcionesSKD.Modulo2.RolesException(RecursosInterfazPresentadorM2.Codigo_Error_FiltrarRol,
                         RecursosInterfazPresentadorM2.Mensaje_Error_FiltarRol, e);
            }
        }

Usage Example

            public void M2PruebaFiltrarRoles()
            {
                ValidacionesM2 lg = new ValidacionesM2();

                ComandoRolesDeSistema _respuesta = (ComandoRolesDeSistema)laFabrica.ObtenerRolesDeSistema();
                List<Rol> RolesSis = _respuesta.Ejecutar();
                Cuenta usuario = (Cuenta)laFabricaE.ObtenerCuenta_M1();
                usuario.Id = 1;
                ComandoRolesUsuario _respuesta2 = (ComandoRolesUsuario)laFabrica.ObtenerRolesUsuario();
                _respuesta2.LaEntidad = usuario;
                List<Rol> RolesUsu = _respuesta2.Ejecutar();
                   List<Rol> filtrado = lg.filtrarRoles(RolesUsu, RolesSis);
                   Assert.AreNotEqual(filtrado, RolesSis);
            }