public static bool Consultar(Usuario usuario, VentanaInfo ventanaInfo, CRUDName cRUDName) { if (usuario.TipoUsuario == TipoUsuario.Administrador) { return(true); } var retorno = false; foreach (var item in usuario.Modulos) { ///Va a buscar solo en los modulos que tenga permiso if (item.TienePermiso) { ///busca todas las ventanas de ese modulo y pregunta cual es igual a la que le acaban de pasar ///por parametro y si tiene permiso de hacer la accion que tambien fue pasada por parametro foreach (var ventana in item.LstVentanas) { if (ventana.VentanaInfo == ventanaInfo && (ventana.FindCRUD(cRUDName).TienePermiso)) { return(true); } } } } return(retorno); }
public CRUDItem FindCRUD(CRUDName cRUDItem) { switch (cRUDItem) { case CRUDName.Insertar: return(CRUDInsert); case CRUDName.Actualizar: return(CRUDUpdate); case CRUDName.Eliminar: return(CRUDDeleted); case CRUDName.Listar: return(CRUDLIst); default: return(null); } }
public CRUDItem(CRUDName nombre, bool tienePermiso) { Nombre = nombre; TienePermiso = tienePermiso; }