CRM2013 : fix bug for OrganizationId with '.'

This commit is contained in:
dev_amdtel 2014-11-03 17:39:43 +03:00
parent 9a18300889
commit 241fdc0fe4
2 changed files with 16 additions and 2 deletions

View file

@ -35,6 +35,7 @@ using WebsitePanel.Providers.CRM;
using WebsitePanel.Providers.DNS;
using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.Providers.ResultObjects;
using System.Text.RegularExpressions;
namespace WebsitePanel.EnterpriseServer
{
@ -237,6 +238,12 @@ namespace WebsitePanel.EnterpriseServer
return value;
}
public static string GetOrganizationCRMUniqueName(string orgName)
{
return Regex.Replace(orgName, @"[^\dA-Za-z]", "-", RegexOptions.Compiled);
}
public static OrganizationResult CreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation, int baseLanguageCode)
{
OrganizationResult res = StartTask<OrganizationResult>("CRM", "CREATE_ORGANIZATION");
@ -329,7 +336,7 @@ namespace WebsitePanel.EnterpriseServer
if (port != string.Empty)
port = ":" + port;
string strDomainName = string.Format("{0}.{1}", org.OrganizationId,
string strDomainName = string.Format("{0}.{1}", GetOrganizationCRMUniqueName(org.OrganizationId),
serviceSettings[Constants.IFDWebApplicationRootDomain]);
org.CrmUrl = string.Format("{0}://{1}{2}", schema, strDomainName, port);

View file

@ -183,12 +183,19 @@ namespace WebsitePanel.Providers.HostedSolution
return orgResponse.Details;
}
public virtual string GetOrganizationUniqueName(string orgName)
{
return Regex.Replace(orgName, @"[^\dA-Za-z]", "-", RegexOptions.Compiled);
}
protected virtual Uri GetCRMOrganizationUrl(string orgName)
{
//string url = "https://" + ProviderSettings[Constants.AppRootDomain] + ":" + ProviderSettings[Constants.Port] + "/" + orgName + "/XRMServices/2011/Organization.svc";
string url;
orgName = GetOrganizationUniqueName(orgName);
string organizationWebServiceUri = ProviderSettings[Constants.OrganizationWebService];
if (String.IsNullOrEmpty(orgName))
@ -723,7 +730,7 @@ namespace WebsitePanel.Providers.HostedSolution
OrganizationResult ret = StartLog<OrganizationResult>("CreateOrganizationInternal");
organizationUniqueName = Regex.Replace(organizationUniqueName, @"[^\dA-Za-z]", "-", RegexOptions.Compiled);
organizationUniqueName = GetOrganizationUniqueName(organizationUniqueName);
// calculate UserRootPath
string ldapstr = "";