IPowerPortalsProService

A IPowerPortalsProService interface fornece métodos para realizar operações CRUD, executar consultas, gerenciar relacionamentos e recuperar metadados do Dataverse. É o serviço principal para acesso a dados do lado do servidor no PowerPortalsPro.

Nota

Na maioria dos casos, você não precisa ligar IPowerPortalsProService diretamente. Os RecordContextcomponentes , MainContext, e grade gerenciam automaticamente as operações de dados. Use esse serviço para lógica personalizada que esteja fora do fluxo padrão de componentes.

Implementações de Servidor e Cliente

IPowerPortalsProService vem com duas implementações registradas automaticamente pelo framework — seu código de componente é idêntico em ambos, e o runtime injeta aquela que corresponde ao contexto ativo de renderização:

  • Implementação do servidor (PowerPortalsPro.Web.Server, registrado por AddPowerPortalsProWebServer) — roda em processo, comunica-se diretamente com o Dataverse por IOrganizationService, e aplica seus ITablePermissionProvider registros antes de qualquer leitura ou escrita. Selecionado quando a página é renderizada sob InteractiveServerRenderMode ou SSR estático.
  • Implementação cliente (PowerPortalsPro.Web.Client, registrada por AddPowerPortalsProWebClient) — roda no navegador sob WebAssembly, não possui nenhum SDK Dataverse e, em vez disso, serializa cada chamada em JSON para o endpoint HTTP do lado do servidor correspondente (/api/table/{name}, /api/retrieveMultiple, etc.). Os handlers de permissão ainda se aplicam porque a requisição retorna ao endpoint do servidor. Veja a página da API do Cliente para o formato da wire e as rotas que a implementação do cliente chama.

Como o contrato é idêntico, o mesmo componente funciona em qualquer modo de interatividade (Servidor, WebAssembly ou Auto). Código que chama _powerPortalsProService.RetrieveRecordAsync(...) uma página renderizada pelo servidor faz uma chamada Dataverse em processo; a mesma linha em uma página renderizada por WASM emite uma requisição HTTP — sem necessidade de ramificação.

Injeção do Serviço

Injetar IPowerPortalsProService em qualquer componente ou serviço Blazor via injeção de construtor ou propriedade.

React Blazor

Recuperando um Registro

Use RetrieveRecordAsync para buscar um único registro pelo nome da tabela e ID. Opcionalmente especifique quais colunas devolver; se omitido, todas as colunas são retornadas.

React Blazor

Consulta a múltiplos registros

Use RetrieveRecordsAsync com uma string de consulta FetchXML para recuperar múltiplos registros com suporte a filtragem, ordenação e entidades vinculadas.

React Blazor

Criando um Registro

Use CreateRecordAsync para criar um novo registro no Dataverse. A resposta contém o ID do registro recém-criado.

React Blazor

Atualizando um Registro

Use UpdateRecordAsync para atualizar um registro existente. Apenas as propriedades definidas no TableRecord são enviadas para o Dataverse.

React Blazor

Apagando um Registro

Use DeleteRecordAsync para deletar um registro pelo nome da tabela e ID.

React Blazor

Registros Associados

Use AssociateAsync e DisassociateAsync gerencie relações muitos-para-muitos entre registros.

React Blazor

Execução de Solicitações

Use ExecuteAsync para uma única requisição ou ExecuteMultipleAsync para executar múltiplas requisições em uma única transação de banco de dados. Se qualquer requisição em um lote transacional falhar, todas as alterações são revertidas.

React Blazor

Recuperando Metadados

Use RetrieveTableMetadataAsync e RetrieveViewMetadataAsync para recuperar metadados de tabela e visualização. Para acesso em cache, prefere ITableMetadataCache e IViewMetadataCache em vez disso.

React Blazor

Trabalhando com Arquivos

Use GetFileInfoAsync para recuperar metadados de arquivos ou imagens e, opcionalmente, o conteúdo binário de uma coluna de arquivo ou imagem.

React Blazor

Acesso Direto ao Dataverse

IPowerPortalsProService cobre o que um portal normalmente precisa, mas alguns trabalhos do lado do servidor querem o próprio SDK do Dataverse — uma consulta LINQ com joins ou agregados, ExecuteMultipleuma ação personalizada ou qualquer mensagem que o serviço não envolve. Injete IOrganizationServiceProvider para obter um ServiceClient e usar o SDK diretamente.

Ela oferece dois clientes, e a diferença é importante:

  • GetOrganizationService() — aquele a ser usado por padrão. É o usuário logado, então o CallerId Dataverse aplica os próprios privilégios desse usuário e o rastro de auditoria registra quem fez o quê.
  • GetOrganizationServiceAsApp() (uma extensão em PowerPortalsPro.Xrm.Extensions) — limpa CallerId, então as chamadas são executadas como o usuário da aplicação configurado em ConnectionOptions. Necessário quando a operação lê algo para o qual o usuário logado não tem privilégio, como um usuário com contato necessário ler um systemuser registro.

O retorno ServiceClient é um clone e é descartável — envolva-o using como acima em vez de manter um durante toda a vida útil de um componente.

Cuidado

Nenhum dos clientes executa o código do ITablePermissionProvider seu portal — isso se aplica a chamadas que passam por IPowerPortalsProService. GetOrganizationServiceAsApp() em particular, também contorna a própria segurança do Dataverse, então uma consulta escrita lá pode devolver qualquer coisa no ambiente. Quando você a usa em um caminho que um visitante pode alcançar, filtre os dados na própria consulta em vez de depois do fato.

Nota

Isso é apenas do lado do servidor — precisa da conexão Dataverse, então está disponível no projeto servidor (e nos componentes do Blazor Server), mas não em um cliente WebAssembly ou no React SPA. Esses acessam o Dataverse pela API do portal.

IPowerPortalsProService Interface

Métodos

Nome
Parâmetros
Tipo
Descrição
AssociateAsyncTableRecordReference record
string relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
CancellationToken cancellationToken
Task<AssociateResponse>
Associa um registro a um ou mais registros relacionados por meio de uma relação muitos-para-muitos.
ClearAllCachesAsyncCancellationToken cancellationToken
Task<IReadOnlyList<CacheClearResult>>
Limpa todos os servidores Services.IClearableCache (tabela / visualização / privilégio metadados, privilégios por usuário, configurações do arquivo do ambiente) e reconstrói o Localized-strings cacheam atômicamente — os leitores continuam a ver o anteriormente dados carregados até que o novo estado esteja totalmente preenchido. Reabastecimento preguiçoso de caches no Próximo pedido que precisar deles. O endpoint HTTP por trás dessa chamada é bloqueado por [AuthorizeSystemAdmin]. Chamadas diretas do lado do servidor devem Gate apropriadamente em seu próprio limite.
ClearCacheAsyncstring name
CancellationToken cancellationToken
Task<CacheClearResult>
Limpa um cache nomeado. Retorna null quando não está registrado correspondências name de cache (insensíveis a maiúsculas e maiúsculas); falhas são Embrulhado no resultado em vez de jogado fora. Mesmo portão de autenticação que Threading.CancellationToken).
CreateFileArchiveAsyncCreateFileArchiveRequest request
CancellationToken cancellationToken
Task<FileArchiveResult>
Constrói um arquivo (atualmente zip; formatos futuros estão disponíveis atrás do CreateFileArchiveRequest.Format enum) contendo todos os registros carga útil para o par nomeado de tabela / coluna. Usa o mesmo valor por registro Cadeia de permissão como Threading.CancellationToken) — não autorizada / ausente linhas são silenciosamente eliminadas do arquivo. Nomes de arquivos duplicados são desambiguado por sufixos ' (2)'', ' (3)', ... então o arquivo Nunca sobrescreve entradas.
CreateRecordAsyncTableRecord record
CancellationToken cancellationToken
Task<CreateResponse>
Cria um novo registro no Dataverse.
DeleteRecordAsyncstring tableLogicalName
Guid id
CancellationToken cancellationToken
Task<DeleteResponse>
Exclui um registro do Dataverse pelo nome da tabela e pelo ID do registro.
DisassociateAsyncTableRecordReference record
string relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
CancellationToken cancellationToken
Task<DisassociateResponse>
Remove uma associação entre um registro e um ou mais registros relacionados por meio de uma relação muitos-para-muitos.
DownloadLocalizationSourceAsyncstring sourceId
string culture
CancellationToken cancellationToken
Task<LocalizationDownload>
Downloads as chaves que uma fonte contribuiu para uma cultura durante a maior parte aquecimento recente, como JSON no mesmo consumidor em forma de objeto aninhado aplicativo.{cultura}.json usam. Destinado à transferência de tradução — Entregue o arquivo para um tradutor, recupere uma versão traduzida, coloque no arquivo uma pasta de localização onde ela sobrescreve a fonte original fornecido para essas chaves.
DownloadMergedLocalizationsAsyncstring culture
CancellationToken cancellationToken
Task<LocalizationDownload>
Baixa as chaves de localização mesclaras para uma cultura — o pós-fusão valor vencedor para cada chave armazenada pelo cache, independentemente de qual A fonte originalmente fornecia isso. Use isso para um snapshot completo referência (tudo o que o portal realmente vai servir para essa cultura) em vez da visão por fonte acima.
ExecuteAsyncOrganizationRequest request
CancellationToken cancellationToken
Task<OrganizationResponse>
Executa uma única solicitação de organização contra o Dataverse.
ExecuteMultipleAsyncIEnumerable<OrganizationRequest> requests
bool returnResponses
CancellationToken cancellationToken
Task<List<OrganizationResponse>>
Executa múltiplas requisições de organização em uma única transação de banco de dados. Se alguma solicitação falhar, todas as alterações no lote são revertidas.
GetCacheNamesAsyncCancellationToken cancellationToken
Task<IReadOnlyList<string>>
Retorna os nomes de cada lado Services.IClearableCachedo servidor , adequado para uma interface de administração que quer renderizar botões de limpeza por cache. Mesma porta de autenticação como Threading.CancellationToken) se aplica ao endpoint HTTP.
GetFileInfoAsyncstring tableName
Guid recordId
string columnName
bool includeData
CancellationToken cancellationToken
Task<FileInfo>
Recupera informações de arquivos e, opcionalmente, o conteúdo binário de uma coluna de arquivo ou imagem no Dataverse.
GetFileInfosAsyncstring tableName
IEnumerable<Guid> recordIds
string columnName
bool includeData
CancellationToken cancellationToken
Task<IEnumerable<FileInfo>>
Recuperação em lote de informações de arquivos para muitos registros da mesma tabela / coluna em uma única viagem de ida e volta. Internamente, ventila o disco por disco em paralelo e retorna a lista combinada. A mesma cadeia de manipuladores de permissões por registro executa como para a chamada de disco único; Consultas falhadas são eliminadas da resposta em vez de Falhando no lote todo. Usado pelo 'Download All' / 'Download Selected' do FileGrid para que o cliente possa construir um zip sem disparar N requisições HTTP.
GetLocalizationOverviewAsyncCancellationToken cancellationToken
Task<LocalizationOverview>
Retorna um snapshot voltado para o administrador do pipeline de localização de strings: o configuração estática que conduziu o aquecimento, além dos registros de carga por fonte produzido pelo aquecimento mais recente. Apoia o LocalizationAdmin componente em PowerPortalsPro.Web.Blazor.FluentUI. O endpoint HTTP é bloqueado por [AuthorizeSystemAdmin].
GetMergedLocalizationEntriesAsyncstring culture
CancellationToken cancellationToken
Task<IReadOnlyList<MergedLocalizationEntry>>
Retorna as chaves de localização mescladas de uma cultura como uma lista estruturada — cada Chave que o cache servirá, seu valor vencedor após a fusão e qual fonte foi fornecida Esse valor. Mesmos dados que Threading.CancellationToken) , mas por chave anotado com sua origem (arquivo / recurso web / metadados do Dataverse) para que um administrador possa Inspecionar a proveniência em uma grade. As entradas são ordenadas por chave.
GetOrganizationSettingsAsyncCancellationToken cancellationToken
Task<OrganizationSettings>
Recupera as configurações organizacionais obtidas do Dataverse Histórico organizacional : DefaultCurrency — a moeda base da organização, usada pelo modo criação editores (MoneyEdit) para renderizar o símbolo certo em discos totalmente novos. BlockedFileExtensions + MaxUploadFileSizeInBytes — upload de arquivo restrições que os clientes espelham para rejeitar arquivos inválidos antes da viagem de ida e volta. Substitui o legado GetEnvironmentFileSettingsAsync — os dois campos de arquivo agora estão expostos nessa resposta combinada.
GetTablePermissionsForCurrentUserAsyncstring tableLogicalName
CancellationToken cancellationToken
Task<TableSecurityPermission>
Retorna a máscara combinada em nível Models.TableSecurityPermission de tabela do usuário atual para tableLogicalName — a união bit a bit de Ler / Criar / Escrever / Delete / Append / AppendTo sinaliza qualquer ITablePermissionProvider registrado permitir para aquele usuário naquela mesa. No lado do servidor, isso delega para o cache ITablePermissionCache; o cliente WASM atinge um endpoint HTTP que chama o mesmo cache no servidor. Espelha o Consulta de cache-tabela NovoRegistroGridBotão / ExcluirRegistroGradeBotão de Blazor já faz diretamente via DI, e o novo valor que o GridDataResponse carrega como TablePermissions — exposto aqui para que consumidores fora do caminho da grade (personalizado barras de ferramentas, interface condicional, portas 'O usuário pode criar X?' em qualquer lugar da página) podem Chegar à mesma resposta sem precisar fazer uma consulta em grade.
GetTablePermissionWebRolesAsyncGuid tablePermissionId
CancellationToken cancellationToken
Task<IReadOnlyList<Guid>>
Retorna os IDs dos papéis web do Power Pages aos quais uma permissão de tabela se aplica, sob enhanced autorização. Leia do próprio registro da permissão, porque é aí que o Power Pages as guarda: o mspp_entitypermission relação da tabela virtual com mspp_webrole é vazia mesmo quando os papéis estão vinculados. Executa como o usuário logado, então o Dataverse aplica seus privilégios.
GetTranslationAvailabilityAsyncCancellationToken cancellationToken
Task<TranslationAvailability>
Retorna se o recurso de localização-tradução é utilizável no ambiente atual: se o serviço de tradução do Azure está configurado, se a tradução gerenciou a solução é instalada, e os idiomas-alvo candidatos (as culturas suportadas pelo portal anotado com Azure-translatability). Apoia a decisão da interface do LocalizationTranslator para mostrar o painel de tradução, um prompt de instalação ou nada.
GetUserTablePermissionsAsyncstring tableLogicalName
CancellationToken cancellationToken
Task<UserTablePermissions>
As operações do usuário atual em uma tabela, juntamente com as permissões da coluna, um registro Eles criam começa com — quais colunas podem definir ao criar, em oposição às que Um registro TableRecord.ColumnPermissions existente diz que eles podem mudar. O que um formulário no modo criar precisa para renderizar as colunas que o usuário pode não definir como somente leitura.
RetrieveRecordAsyncstring tableLogicalName
Guid id
IEnumerable<string> columns
CancellationToken cancellationToken
Task<TableRecord>
Recupera um único registro do Dataverse por nome da tabela e ID do registro.
RetrieveRecordsAsyncstring fetchXml
CancellationToken cancellationToken
Task<RetrieveRecordsResponse>
Recupera múltiplos registros do Dataverse usando uma consulta FetchXML. Suporta filtragem, ordenação, paginação, entidades vinculadas e consultas agregadas.
RetrieveTableHeadersAsyncCancellationToken cancellationToken
Task<IReadOnlyList<TableHeader>>
Recupera os metadados em nível de identidade — lógico, esquema e nome de exibição mais algumas bandeiras — para cada mesa do ambiente. A contraparte barata de Threading.CancellationToken), para o caso em que um chamador precise listar tabelas em vez de inspecionar uma. A O designer de consultas que preencha um seletor 'from' teria que recuperar metadados completos para cada tabela no ambiente, o que custa dezenas de segundos; esta é uma única ida e volta, servida a partir de um cache em processo após A primeira ligação. Retorna todas as tabelas, não um subconjunto filtrado por permissão — a mesma postura que Threading.CancellationToken), que serve a qualquer autenticado O formato de qualquer tabela. Os chamadores que precisam de uma lista mais restrita devem Filtre ou TableHeader.IsValidForAdvancedFind aplique seus Regras próprias.
RetrieveTableMetadataAsyncstring tableLogicalName
CancellationToken cancellationToken
Task<TableMetadata>
Recupera metadados de tabela do Dataverse, incluindo definições de colunas, relacionamentos e configuração de exibição.
RetrieveTableMetadataBatchAsyncIReadOnlyList<TableMetadataRequest> requests
CancellationToken cancellationToken
Task<IReadOnlyList<TableMetadata>>
Retorna os metadados de várias tabelas em uma única chamada, cada uma restringida às colunas e relacionamentos seus nomes de pedidos. Para o chamador que quer um pouco de cada uma das muitas tabelas. Resolvendo a exibição Nomes por trás das relações de uma tabela é o caso motivador: as colunas de pesquisa viva nas mesas do outro lado de cada uma, então respondendo até o final Threading.CancellationToken) significa uma viagem de ida e volta por tabela relacionada, cada retornando uma tabela inteira para ler uma etiqueta. O estreitamento muda quais colunas voltam, não o que cada uma carrega: uma coluna nomeada chega tão completamente descrito quanto seria de uma leitura de tabela inteira. Colunas do chamador pode não ler que são retidos aqui exatamente como estão ali, então essa não é uma forma Em torno das permissões das colunas. Uma tabela que o ambiente não possui — ou que o pedido escreve mal — está ausente a partir do resultado em vez de um erro; corresponder os resultados pelo nome da tabela.
RetrieveViewMetadataAsyncGuid viewId
CancellationToken cancellationToken
Task<ViewMetadata>
Recupera metadados da visualização do Dataverse, incluindo a consulta FetchXML da visualização, colunas e configuração de exibição.
RetrieveViewsForTableAsyncstring tableLogicalName
CancellationToken cancellationToken
Task<IEnumerable<ViewMetadata>>
Recupera todos os registros de metadados de visualização de uma tabela. Usado por grades que precisam enumere as visualizações disponíveis (view-picker, resolução padrão-view, etc.). A implementação do lado do servidor lê do IViewMetadataCache em processo; o cliente WASM atinge um endpoint HTTP que faz o mesmo no servidor.
SetTablePermissionWebRolesAsyncGuid tablePermissionId
IReadOnlyCollection<Guid> webRoleIds
CancellationToken cancellationToken
Task<bool>
Substitui os papéis web do Power Pages para os quais uma permissão de tabela se aplica, sob autorização aprimorada. Escrito no próprio registro da permissão, que é o que faz o Power Pages ressincronizar a segurança funções emparelhadas com essas funções web — então a mudança alcança privilégios do Dataverse, tipicamente dentro de um minuto. Uma associação através da relação das tabelas virtuais não seria: ela parece salva e não concede nada. Cada ID adicionado deve ser um papel web do site do portal; um dos Listas de permissões já são mantidas ou descartadas conforme solicitado, mesmo que essa função web já tenha sido excluído.
TranslateLocalizationFileAsyncTranslationRequest request
CancellationToken cancellationToken
Task<TranslationResult>
Traduz automaticamente um arquivo de localização carregado para um ou mais idiomas-alvo via Azure Tradutor, reutilizando a memória de tradução do Dataverse e reportando quantas strings estavam Traduzido recém-usado versus reutilizado. Retorna um arquivo por idioma de destino mais um zip de todos.
UpdateRecordAsyncTableRecord record
CancellationToken cancellationToken
Task<UpdateResponse>
Atualiza um registro existente no Dataverse. Apenas as propriedades definidas no registro são enviadas para o Dataverse.
Nome: AssociateAsync
Parâmetros: TableRecordReference record
string relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
CancellationToken cancellationToken
Tipo: Task<AssociateResponse>
Descrição: Associa um registro a um ou mais registros relacionados por meio de uma relação muitos-para-muitos.
Nome: ClearAllCachesAsync
Parâmetros: CancellationToken cancellationToken
Tipo: Task<IReadOnlyList<CacheClearResult>>
Descrição: Limpa todos os servidores Services.IClearableCache (tabela / visualização / privilégio metadados, privilégios por usuário, configurações do arquivo do ambiente) e reconstrói o Localized-strings cacheam atômicamente — os leitores continuam a ver o anteriormente dados carregados até que o novo estado esteja totalmente preenchido. Reabastecimento preguiçoso de caches no Próximo pedido que precisar deles. O endpoint HTTP por trás dessa chamada é bloqueado por [AuthorizeSystemAdmin]. Chamadas diretas do lado do servidor devem Gate apropriadamente em seu próprio limite.
Nome: ClearCacheAsync
Parâmetros: string name
CancellationToken cancellationToken
Tipo: Task<CacheClearResult>
Descrição: Limpa um cache nomeado. Retorna null quando não está registrado correspondências name de cache (insensíveis a maiúsculas e maiúsculas); falhas são Embrulhado no resultado em vez de jogado fora. Mesmo portão de autenticação que Threading.CancellationToken).
Nome: CreateFileArchiveAsync
Parâmetros: CreateFileArchiveRequest request
CancellationToken cancellationToken
Tipo: Task<FileArchiveResult>
Descrição: Constrói um arquivo (atualmente zip; formatos futuros estão disponíveis atrás do CreateFileArchiveRequest.Format enum) contendo todos os registros carga útil para o par nomeado de tabela / coluna. Usa o mesmo valor por registro Cadeia de permissão como Threading.CancellationToken) — não autorizada / ausente linhas são silenciosamente eliminadas do arquivo. Nomes de arquivos duplicados são desambiguado por sufixos ' (2)'', ' (3)', ... então o arquivo Nunca sobrescreve entradas.
Nome: CreateRecordAsync
Parâmetros: TableRecord record
CancellationToken cancellationToken
Tipo: Task<CreateResponse>
Descrição: Cria um novo registro no Dataverse.
Nome: DeleteRecordAsync
Parâmetros: string tableLogicalName
Guid id
CancellationToken cancellationToken
Tipo: Task<DeleteResponse>
Descrição: Exclui um registro do Dataverse pelo nome da tabela e pelo ID do registro.
Nome: DisassociateAsync
Parâmetros: TableRecordReference record
string relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
CancellationToken cancellationToken
Tipo: Task<DisassociateResponse>
Descrição: Remove uma associação entre um registro e um ou mais registros relacionados por meio de uma relação muitos-para-muitos.
Nome: DownloadLocalizationSourceAsync
Parâmetros: string sourceId
string culture
CancellationToken cancellationToken
Tipo: Task<LocalizationDownload>
Descrição: Downloads as chaves que uma fonte contribuiu para uma cultura durante a maior parte aquecimento recente, como JSON no mesmo consumidor em forma de objeto aninhado aplicativo.{cultura}.json usam. Destinado à transferência de tradução — Entregue o arquivo para um tradutor, recupere uma versão traduzida, coloque no arquivo uma pasta de localização onde ela sobrescreve a fonte original fornecido para essas chaves.
Nome: DownloadMergedLocalizationsAsync
Parâmetros: string culture
CancellationToken cancellationToken
Tipo: Task<LocalizationDownload>
Descrição: Baixa as chaves de localização mesclaras para uma cultura — o pós-fusão valor vencedor para cada chave armazenada pelo cache, independentemente de qual A fonte originalmente fornecia isso. Use isso para um snapshot completo referência (tudo o que o portal realmente vai servir para essa cultura) em vez da visão por fonte acima.
Nome: ExecuteAsync
Parâmetros: OrganizationRequest request
CancellationToken cancellationToken
Tipo: Task<OrganizationResponse>
Descrição: Executa uma única solicitação de organização contra o Dataverse.
Nome: ExecuteMultipleAsync
Parâmetros: IEnumerable<OrganizationRequest> requests
bool returnResponses
CancellationToken cancellationToken
Tipo: Task<List<OrganizationResponse>>
Descrição: Executa múltiplas requisições de organização em uma única transação de banco de dados. Se alguma solicitação falhar, todas as alterações no lote são revertidas.
Nome: GetCacheNamesAsync
Parâmetros: CancellationToken cancellationToken
Tipo: Task<IReadOnlyList<string>>
Descrição: Retorna os nomes de cada lado Services.IClearableCachedo servidor , adequado para uma interface de administração que quer renderizar botões de limpeza por cache. Mesma porta de autenticação como Threading.CancellationToken) se aplica ao endpoint HTTP.
Nome: GetFileInfoAsync
Parâmetros: string tableName
Guid recordId
string columnName
bool includeData
CancellationToken cancellationToken
Tipo: Task<FileInfo>
Descrição: Recupera informações de arquivos e, opcionalmente, o conteúdo binário de uma coluna de arquivo ou imagem no Dataverse.
Nome: GetFileInfosAsync
Parâmetros: string tableName
IEnumerable<Guid> recordIds
string columnName
bool includeData
CancellationToken cancellationToken
Tipo: Task<IEnumerable<FileInfo>>
Descrição: Recuperação em lote de informações de arquivos para muitos registros da mesma tabela / coluna em uma única viagem de ida e volta. Internamente, ventila o disco por disco em paralelo e retorna a lista combinada. A mesma cadeia de manipuladores de permissões por registro executa como para a chamada de disco único; Consultas falhadas são eliminadas da resposta em vez de Falhando no lote todo. Usado pelo 'Download All' / 'Download Selected' do FileGrid para que o cliente possa construir um zip sem disparar N requisições HTTP.
Nome: GetLocalizationOverviewAsync
Parâmetros: CancellationToken cancellationToken
Tipo: Task<LocalizationOverview>
Descrição: Retorna um snapshot voltado para o administrador do pipeline de localização de strings: o configuração estática que conduziu o aquecimento, além dos registros de carga por fonte produzido pelo aquecimento mais recente. Apoia o LocalizationAdmin componente em PowerPortalsPro.Web.Blazor.FluentUI. O endpoint HTTP é bloqueado por [AuthorizeSystemAdmin].
Nome: GetMergedLocalizationEntriesAsync
Parâmetros: string culture
CancellationToken cancellationToken
Tipo: Task<IReadOnlyList<MergedLocalizationEntry>>
Descrição: Retorna as chaves de localização mescladas de uma cultura como uma lista estruturada — cada Chave que o cache servirá, seu valor vencedor após a fusão e qual fonte foi fornecida Esse valor. Mesmos dados que Threading.CancellationToken) , mas por chave anotado com sua origem (arquivo / recurso web / metadados do Dataverse) para que um administrador possa Inspecionar a proveniência em uma grade. As entradas são ordenadas por chave.
Nome: GetOrganizationSettingsAsync
Parâmetros: CancellationToken cancellationToken
Tipo: Task<OrganizationSettings>
Descrição: Recupera as configurações organizacionais obtidas do Dataverse Histórico organizacional : DefaultCurrency — a moeda base da organização, usada pelo modo criação editores (MoneyEdit) para renderizar o símbolo certo em discos totalmente novos. BlockedFileExtensions + MaxUploadFileSizeInBytes — upload de arquivo restrições que os clientes espelham para rejeitar arquivos inválidos antes da viagem de ida e volta. Substitui o legado GetEnvironmentFileSettingsAsync — os dois campos de arquivo agora estão expostos nessa resposta combinada.
Nome: GetTablePermissionsForCurrentUserAsync
Parâmetros: string tableLogicalName
CancellationToken cancellationToken
Tipo: Task<TableSecurityPermission>
Descrição: Retorna a máscara combinada em nível Models.TableSecurityPermission de tabela do usuário atual para tableLogicalName — a união bit a bit de Ler / Criar / Escrever / Delete / Append / AppendTo sinaliza qualquer ITablePermissionProvider registrado permitir para aquele usuário naquela mesa. No lado do servidor, isso delega para o cache ITablePermissionCache; o cliente WASM atinge um endpoint HTTP que chama o mesmo cache no servidor. Espelha o Consulta de cache-tabela NovoRegistroGridBotão / ExcluirRegistroGradeBotão de Blazor já faz diretamente via DI, e o novo valor que o GridDataResponse carrega como TablePermissions — exposto aqui para que consumidores fora do caminho da grade (personalizado barras de ferramentas, interface condicional, portas 'O usuário pode criar X?' em qualquer lugar da página) podem Chegar à mesma resposta sem precisar fazer uma consulta em grade.
Nome: GetTablePermissionWebRolesAsync
Parâmetros: Guid tablePermissionId
CancellationToken cancellationToken
Tipo: Task<IReadOnlyList<Guid>>
Descrição: Retorna os IDs dos papéis web do Power Pages aos quais uma permissão de tabela se aplica, sob enhanced autorização. Leia do próprio registro da permissão, porque é aí que o Power Pages as guarda: o mspp_entitypermission relação da tabela virtual com mspp_webrole é vazia mesmo quando os papéis estão vinculados. Executa como o usuário logado, então o Dataverse aplica seus privilégios.
Nome: GetTranslationAvailabilityAsync
Parâmetros: CancellationToken cancellationToken
Tipo: Task<TranslationAvailability>
Descrição: Retorna se o recurso de localização-tradução é utilizável no ambiente atual: se o serviço de tradução do Azure está configurado, se a tradução gerenciou a solução é instalada, e os idiomas-alvo candidatos (as culturas suportadas pelo portal anotado com Azure-translatability). Apoia a decisão da interface do LocalizationTranslator para mostrar o painel de tradução, um prompt de instalação ou nada.
Nome: GetUserTablePermissionsAsync
Parâmetros: string tableLogicalName
CancellationToken cancellationToken
Tipo: Task<UserTablePermissions>
Descrição: As operações do usuário atual em uma tabela, juntamente com as permissões da coluna, um registro Eles criam começa com — quais colunas podem definir ao criar, em oposição às que Um registro TableRecord.ColumnPermissions existente diz que eles podem mudar. O que um formulário no modo criar precisa para renderizar as colunas que o usuário pode não definir como somente leitura.
Nome: RetrieveRecordAsync
Parâmetros: string tableLogicalName
Guid id
IEnumerable<string> columns
CancellationToken cancellationToken
Tipo: Task<TableRecord>
Descrição: Recupera um único registro do Dataverse por nome da tabela e ID do registro.
Nome: RetrieveRecordsAsync
Parâmetros: string fetchXml
CancellationToken cancellationToken
Tipo: Task<RetrieveRecordsResponse>
Descrição: Recupera múltiplos registros do Dataverse usando uma consulta FetchXML. Suporta filtragem, ordenação, paginação, entidades vinculadas e consultas agregadas.
Nome: RetrieveTableHeadersAsync
Parâmetros: CancellationToken cancellationToken
Tipo: Task<IReadOnlyList<TableHeader>>
Descrição: Recupera os metadados em nível de identidade — lógico, esquema e nome de exibição mais algumas bandeiras — para cada mesa do ambiente. A contraparte barata de Threading.CancellationToken), para o caso em que um chamador precise listar tabelas em vez de inspecionar uma. A O designer de consultas que preencha um seletor 'from' teria que recuperar metadados completos para cada tabela no ambiente, o que custa dezenas de segundos; esta é uma única ida e volta, servida a partir de um cache em processo após A primeira ligação. Retorna todas as tabelas, não um subconjunto filtrado por permissão — a mesma postura que Threading.CancellationToken), que serve a qualquer autenticado O formato de qualquer tabela. Os chamadores que precisam de uma lista mais restrita devem Filtre ou TableHeader.IsValidForAdvancedFind aplique seus Regras próprias.
Nome: RetrieveTableMetadataAsync
Parâmetros: string tableLogicalName
CancellationToken cancellationToken
Tipo: Task<TableMetadata>
Descrição: Recupera metadados de tabela do Dataverse, incluindo definições de colunas, relacionamentos e configuração de exibição.
Nome: RetrieveTableMetadataBatchAsync
Parâmetros: IReadOnlyList<TableMetadataRequest> requests
CancellationToken cancellationToken
Tipo: Task<IReadOnlyList<TableMetadata>>
Descrição: Retorna os metadados de várias tabelas em uma única chamada, cada uma restringida às colunas e relacionamentos seus nomes de pedidos. Para o chamador que quer um pouco de cada uma das muitas tabelas. Resolvendo a exibição Nomes por trás das relações de uma tabela é o caso motivador: as colunas de pesquisa viva nas mesas do outro lado de cada uma, então respondendo até o final Threading.CancellationToken) significa uma viagem de ida e volta por tabela relacionada, cada retornando uma tabela inteira para ler uma etiqueta. O estreitamento muda quais colunas voltam, não o que cada uma carrega: uma coluna nomeada chega tão completamente descrito quanto seria de uma leitura de tabela inteira. Colunas do chamador pode não ler que são retidos aqui exatamente como estão ali, então essa não é uma forma Em torno das permissões das colunas. Uma tabela que o ambiente não possui — ou que o pedido escreve mal — está ausente a partir do resultado em vez de um erro; corresponder os resultados pelo nome da tabela.
Nome: RetrieveViewMetadataAsync
Parâmetros: Guid viewId
CancellationToken cancellationToken
Tipo: Task<ViewMetadata>
Descrição: Recupera metadados da visualização do Dataverse, incluindo a consulta FetchXML da visualização, colunas e configuração de exibição.
Nome: RetrieveViewsForTableAsync
Parâmetros: string tableLogicalName
CancellationToken cancellationToken
Tipo: Task<IEnumerable<ViewMetadata>>
Descrição: Recupera todos os registros de metadados de visualização de uma tabela. Usado por grades que precisam enumere as visualizações disponíveis (view-picker, resolução padrão-view, etc.). A implementação do lado do servidor lê do IViewMetadataCache em processo; o cliente WASM atinge um endpoint HTTP que faz o mesmo no servidor.
Nome: SetTablePermissionWebRolesAsync
Parâmetros: Guid tablePermissionId
IReadOnlyCollection<Guid> webRoleIds
CancellationToken cancellationToken
Tipo: Task<bool>
Descrição: Substitui os papéis web do Power Pages para os quais uma permissão de tabela se aplica, sob autorização aprimorada. Escrito no próprio registro da permissão, que é o que faz o Power Pages ressincronizar a segurança funções emparelhadas com essas funções web — então a mudança alcança privilégios do Dataverse, tipicamente dentro de um minuto. Uma associação através da relação das tabelas virtuais não seria: ela parece salva e não concede nada. Cada ID adicionado deve ser um papel web do site do portal; um dos Listas de permissões já são mantidas ou descartadas conforme solicitado, mesmo que essa função web já tenha sido excluído.
Nome: TranslateLocalizationFileAsync
Parâmetros: TranslationRequest request
CancellationToken cancellationToken
Tipo: Task<TranslationResult>
Descrição: Traduz automaticamente um arquivo de localização carregado para um ou mais idiomas-alvo via Azure Tradutor, reutilizando a memória de tradução do Dataverse e reportando quantas strings estavam Traduzido recém-usado versus reutilizado. Retorna um arquivo por idioma de destino mais um zip de todos.
Nome: UpdateRecordAsync
Parâmetros: TableRecord record
CancellationToken cancellationToken
Tipo: Task<UpdateResponse>
Descrição: Atualiza um registro existente no Dataverse. Apenas as propriedades definidas no registro são enviadas para o Dataverse.