Как установить parentaccountid в динамическом CRM с помощью веб-службы основных данных? - PullRequest
0 голосов
/ 06 марта 2012

Я создаю простое консольное приложение в .Net для создания новой учетной записи в CRM. Для этого я использую Main Data WebService, и он также создан, но мой вопрос заключается в том, что мне нужно установить родительский клиент в учетной записи и для этого яЯ должен установить parentcustomerid в этом, но я не понимаю, как я могу установить его .. Мой код указан ниже.

   namespace ConsoleWebService
   {
      class MainDataService
      {
         static void Main(string[] args)
         {
           Console.WriteLine("New Account GUID="+CreateAccount("Server","New Account"));
           Console.ReadKey();
          }

         private static string CreateAccount(string organizationName, string accountName)
         {
           try
           {

            CrmSdk.CrmService myCrm = new CrmSdk.CrmService();
            myCrm.Url = GetCrmServiceForOrganization(organizationName);
            CrmSdk.CrmAuthenticationToken myToken = new CrmSdk.CrmAuthenticationToken();
            myToken.AuthenticationType = 0;
            myToken.OrganizationName = organizationName;
            myCrm.CrmAuthenticationTokenValue = myToken;
            myCrm.Credentials = System.Net.CredentialCache.DefaultCredentials;
            CrmSdk.account newAccount = new CrmSdk.account();

            newAccount.name = accountName;
            newAccount.address1_country = "India";
            newAccount.address1_city = "Mumbai";

            Guid newAccountId = myCrm.Create(newAccount);
            return newAccountId.ToString();
          }
          catch (System.Web.Services.Protocols.SoapException soapEx)
         {
            Console.WriteLine("SOAP exception: " + soapEx.Detail.InnerText + " " + soapEx.ToString());
            return soapEx.Detail.InnerText + "  " + soapEx.ToString();
          }
         catch (Exception ex)
         {
            Console.WriteLine("General exception: " + ex.ToString());
            return "General exception: " + ex.ToString();
         }

    }
    private static string GetCrmServiceForOrganization(string organizationName)
    {
        string urlResult = "";
        CrmSdk.Discovery.CrmDiscoveryService myCrm = new CrmSdk.Discovery.CrmDiscoveryService();

        myCrm.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
        CrmSdk.Discovery.RetrieveOrganizationsRequest myRequest = new CrmSdk.Discovery.RetrieveOrganizationsRequest();

        CrmSdk.Discovery.RetrieveOrganizationsResponse myResponse = (CrmSdk.Discovery.RetrieveOrganizationsResponse)myCrm.Execute(myRequest);
        foreach (CrmSdk.Discovery.OrganizationDetail tDetail in myResponse.OrganizationDetails)
        {
            Console.WriteLine("Organization = " + tDetail.OrganizationName);
            if (String.Compare(tDetail.OrganizationName, organizationName, true) == 0)
            {
                return tDetail.CrmServiceUrl;
            }
        }
        return urlResult;

    }

}

}

Здесь я могу создать новую учетную запись, используя приведенный выше код, ноя хочу установить родительское право в учетной записи, так как я могу установить?

1 Ответ

1 голос
/ 06 марта 2012

Попробуйте это:

Lookup parentAccount = new Lookup();
parentAccount.type = EntityName.account.ToString();
parentAccount.Value = new Guid("GUID of The Parent Account");
newAccount.parentaccountid = parentAccount;
...