public Publisher CreatePublisher(string uniqueName, string friendlyName, Uri supportingWebsiteUrl, string customizationPrefix, string eMailAddress, string description) { try { Publisher crmSdkPublisher = new Publisher(); using (XrmService service = new XrmService(XRMConnectionString)) { if (supportingWebsiteUrl != null) { crmSdkPublisher = new Publisher { UniqueName = uniqueName, FriendlyName = friendlyName, SupportingWebsiteUrl = supportingWebsiteUrl.AbsoluteUri, CustomizationPrefix = customizationPrefix, EMailAddress = eMailAddress, Description = description }; QueryExpression queryPublisher = new QueryExpression { EntityName = Publisher.EntityLogicalName, ColumnSet = new ColumnSet("publisherid", "customizationprefix"), Criteria = new FilterExpression() }; queryPublisher.Criteria.AddCondition("uniquename", ConditionOperator.Equal, crmSdkPublisher.UniqueName); EntityCollection queryPublisherResults; queryPublisherResults = service.RetrieveMultiple(queryPublisher); Publisher SDKPublisherResults = null; if (queryPublisherResults.Entities.Count > 0) { SDKPublisherResults = (Publisher)queryPublisherResults.Entities[0]; crmSdkPublisher.Id = (Guid)SDKPublisherResults.PublisherId; crmSdkPublisher.CustomizationPrefix = SDKPublisherResults.CustomizationPrefix; } if (SDKPublisherResults == null) { crmSdkPublisher.Id = service.Create(crmSdkPublisher); } } } return(crmSdkPublisher); } catch (FaultException <Microsoft.Xrm.Sdk.OrganizationServiceFault> ) { throw; } }
/// <summary> /// Method to create a new solution in Dynamics CRM. /// </summary> /// <param name="uniqueName">The unique name of the solution.</param> /// <param name="friendlyName">The friendly name of the solution.</param> /// <param name="publisherId">The identity of the publisher.</param> /// <param name="description">The description of the solution.</param> /// <param name="version">The version of the solution.</param> /// <returns>A new solution object containing the details of the new solution.</returns> public Solution CreateSolution(string uniqueName, string friendlyName, Guid publisherId, string description, string version) { try { Solution solution; using (XrmService service = new XrmService(XRMConnectionString)) { solution = new Solution { UniqueName = uniqueName, FriendlyName = friendlyName, PublisherId = new EntityReference(Publisher.EntityLogicalName, publisherId), Description = description, Version = version }; QueryExpression querySampleSolution = new QueryExpression { EntityName = Solution.EntityLogicalName, ColumnSet = new ColumnSet(), Criteria = new FilterExpression() }; querySampleSolution.Criteria.AddCondition("uniquename", ConditionOperator.Equal, solution.UniqueName); EntityCollection querySampleSolutionResults = service.RetrieveMultiple(querySampleSolution); Solution SampleSolutionResults = null; if (querySampleSolutionResults.Entities.Count > 0) { SampleSolutionResults = (Solution)querySampleSolutionResults.Entities[0]; solution.Id = (Guid)SampleSolutionResults.SolutionId; } if (SampleSolutionResults == null) { solution.Id = service.Create(solution); } return(solution); } } catch (FaultException <Microsoft.Xrm.Sdk.OrganizationServiceFault> ) { throw; } }