Exemplo: converter comportamento de data e hora

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

Este exemplo demonstra como usar a mensagem ConvertDateAndTimeBehaviorRequest para converter o valor UTC do valor DateOnly do atributo de data e hora em Dynamics 365 que existe no sistema antes de alterar o comportamento do atributo de UserLocal para DateOnly.Para obter mais informações:Converter o comportamento de valores existentes de data e hora no banco de dados.

Este exemplo refere-se ao Atualização 1 do Microsoft Dynamics CRM Online 2015. Essa opção está disponível para download de Converter comportamento de data e hora.

Pré-requisitos

  1. Tenha acesso a uma organização do Atualização 1 do Microsoft Dynamics CRM Online 2015.

  2. Permita que a função Administrador do Sistema da organização do CRM use a mensagem ConvertDateAndTimeBehaviorRequest que é demonstrada neste exemplo. Caso contrário, este exemplo falhará.

  3. Baixe o projeto DateTimeAttributeBehavior do Visual Studio.

  4. Abra o projeto DateTimeAttributeBehavior do Visual Studio e instale o Pacote NuGet do Microsoft.CrmSdk.CoreAssemblies versão 7.1.0-preview. Consulte Instalar pacotes NuGet mais tarde para obter instruções.

    Depois de instalar os pacotes NuGet, consulte Executar o exemplo para obter instruções sobre como executar o exemplo e o que esperar.

Neste tópico

O que este exemplo faz

Instalar pacotes NuGet

Executar o exemplo

O que este exemplo faz

  1. O método ConvertDateandTimeBehavior da classe Run verifica se você está executando a versão apropriada do Dynamics 365 para o exemplo.

  2. O método CreateRequiredRecords cria os registros necessários para o exemplo:

    1. Cria um atributo de data e hora de exemplo para a entidade Account com o comportamento UserLocal.

    2. Cria um registro de conta de exemplo com o valor March 31, 2015 11:00 PM UTC no novo atributo de data e hora.

    3. Altera o comportamento do atributo de data e hora para DateOnly.

    4. Cria outro registro de conta de exemplo com o valor March 31, 2015 11:00 PM UTC no novo atributo de data e hora. Como o atributo agora é DateOnly, a parte de hora é ignorada e armazenada no sistema como March 31, 2015 00:00:00.

    5. Recupera o valor do atributo de data e hora nos dois registros de conta. Como o comportamento foi alterado, os dois valores são exibidos como March 31, 2015 00:00:00. No entanto, o valor no primeiro registro de conta permanece no UTC (March 31, 2015 11:00 PM) no banco de dados.

  3. Executa a mensagem SDK ConvertDateAndTimeBehaviorRequest para criar um trabalho assíncrono para converter os valores UTC no atributo de data e hora em um valor DateOnly. A regra de conversão na mensagem SDK converte o valor por código de fuso horário de IST (Hora Padrão da Índica) em CRM (190).

    
    ConvertDateAndTimeBehaviorRequest request = new ConvertDateAndTimeBehaviorRequest()
    {
        Attributes = new EntityAttributeCollection() 
                { 
                    new KeyValuePair<string, StringCollection>("account", new StringCollection() 
                    { "new_sampledatetimeattribute" }) 
                },
        ConversionRule = DateTimeBehaviorConversionRule.SpecificTimeZone.Value,
        TimeZoneCode = 190, // Time zone code for India Standard Time (IST) in CRM
        AutoConvert = false // Conversion must be done using ConversionRule
    };
    
    // Execute the request
    ConvertDateAndTimeBehaviorResponse response = (ConvertDateAndTimeBehaviorResponse)_serviceProxy.Execute(request);
    
  4. Recupera o valor do atributo de data e hora nos dois registros de conta após a conversão. O valor UTC no primeiro registro de conta é convertido em 1º de abril, em vez de 31 de março porque a conversão ocorreu de acordo com o fuso horário de IST. O valor no segundo registro de conta não é afetado pois ele já foi um valor DateOnly.

  5. Por fim, o método DeleteRequiredRecords solicita que você exclua os registros de entidade e o atributo personalizado de data e hora criados durante a execução de exemplo:

    1. Digite y e pressione ENTER para excluir os registros de entidade e o atributo personalizado da sua organização.

    2. Digite n e pressione ENTER para manter os registros de entidade e o atributo personalizado na sua organização. Você precisará excluí-los manualmente se desejar retornar ao estado original.

Instalar pacotes NuGet

Use as etapas a seguir para instalar os assemblies necessários para este exemplo:

  1. Baixe este exemplo e extraia os arquivos.

  2. Navegue até a pasta C# e abra o arquivo DateTimeAttributeBehavior.sln usando o Visual Studio.

  3. No Visual Studio, clique com o botão da direito no projeto DateTimeAttributeBehavior e escolha Gerenciar pacotes NuGet.

  4. Para a versão de visualização, escolha Incluir Pré-lançamento em vez de Somente Estável nos critérios da pesquisa. Em seguida, procure "Microsoft Dynamics CRM 2015 SDK core assemblies". Selecione a versão 7.1.0-preview.

  5. Clique em Instalar. Você precisará aceitar os termos de licença para concluir a instalação desse pacote.

Executar o exemplo

  1. No Visual Studio, com a solução aberta e os pacotes NuGet necessários instalados, pressione F5.

  2. Caso você não tenha executado antes um dos exemplos de código gerenciado do Microsoft Dynamics 365, será necessário inserir informações para executar o código; caso contrário, insira o número para um dos servidores do Dynamics 365 configurado anteriormente.

    Solicitar

    Descrição

    Insira um nome de servidor do CRM e uma porta [crm.dynamics.com]

    Digite o nome do seu servidor do Microsoft Dynamics CRM. O padrão é Microsoft Dynamics CRM Online (crm.dynamics.com) na América do Norte.

    Exemplo:
    crm5.dynamics.com

    Esta organização foi provisionada nos serviços online da Microsoft (y/n) [n]

    Digite y caso seja uma organização provisionada pelos serviços online da Microsoft. Caso contrário, digite n.

    Insira domínio\nome de usuário

    Digite sua conta da Microsoft.

    Insira a senha

    Digite sua senha. Os caracteres serão mostrados como "*" na janela. Sua senha é salva com segurança no Microsoft Credential Manager para reutilização posterior.

    Especificar um número da organização (1-n) [1]

    Na lista de organizações mostradas que você participa, digite o número correspondente. O padrão é 1, indicando a primeira organização na lista.

  3. O exemplo executará as operações descritas em O que este exemplo faz e pode solicitar a você opções adicionais.

  4. Quando o exemplo for concluída, pressione ENTER para fechar a janela do console.

Confira Também

ConvertDateAndTimeBehaviorRequest
Comportamento e formato do atributo de data e hora
Personalizar metadados do atributo de entidades

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais