CRM 2011 – Clonar Registros

O SDK atual não fornece um método par clonarmos registros, assim escrevo este post para dar um exemplo de como fazer, na verdade não mostrarei nada de novo e sim o procedimento para se clonar.

Abaixo um exemplo de um Clone da entidade Oportunidade, mas vejam que é só um exemplo, o mesmo se aplica para todos as outras entidades, podemos até termos apenas um método genérico para realizar o procedimento, mas como eu disse o importante é a ideia…

private Entity ClonarOportunidade(IOrganizationService service, Guid oportunidadeID)
{
    // Declara objetos
    Guid novaOportunidadeID;
    Entity oportunidadeEntity;

    // Cria objetos
    columns = new Microsoft.Xrm.Sdk.Query.ColumnSet();

    // Seta para recuperar todas as colunas
    columns.AllColumns = true;

    // Recupera Oportunidade
    oportunidadeEntity = (Entity)service.Retrieve("opportunity", oportunidadeID, columns);

    // Verifica se localizou a Oportunidade
    if (oportunidadeEntity != null)
    {
        // Remove atributos desnecessários
        oportunidadeEntity.Attributes.Remove("opportunityid");
        oportunidadeEntity.Attributes.Remove("statecode");
        oportunidadeEntity.Attributes.Remove("statuscode");

        // Limpa o ID
        oportunidadeEntity.Id = Guid.NewGuid();

        // Limpa o Assunto
        oportunidadeEntity["name"] = "";

        // Clona a Oportunidade
        novaOportunidadeID = service.Create(oportunidadeEntity);

        // ID da Nova Oportunidade
        oportunidadeEntity.Id = novaOportunidadeID;
    }

    return oportunidadeEntity;
}

Bom é isso…

Att,
Tiago Cardoso

Anúncios

Sobre Tiago Michelini Cardoso

I have been working with IT since 2006, almost of this time using Microsoft Dynamics CRM/365 as a source of solutions. I graduated in Bachelor of Information Systems at FIAP (Brazil) in 2012. I really love what I do! Technology has been my interest since always. Even in a tool different world of the current. When we didn't have internet, tablets, smartphones e social networks! Although I have worked in some roles, I can't give up "the developer life". Even so far of the greatest developers. Development in general is the thing that I love to work! I started my contributions about Dynamics in 2010. At the beginning, I used to help at MSDN and TechNet forums. But now, I'm dedicating all my time in my personal blog! Currently, I have the enormous honour of being the only Brazilian who got the award for Microsoft MVP (Most Valuable Professional) for Microsoft Dynamics CRM/365 product. I have been receiving the award since 2012.
Esse post foi publicado em Dynamics CRM e marcado , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s