CRMEmailTemplate.Create Method
The Create method creates a personal e-mail template.
Syntax
[Visual Basic .NET]
Public Function Create(
ByVal Caller As CUserAuth,
ByVal TemplateXml As String
) As String
[C#]
public string Create(
CUserAuth Caller,
string TemplateXml
);
[C++]
public: String* Create(
CUserAuth* Caller,
String* TemplateXml
);
Parameters
Caller
Specifies the identity of the caller. The caller must have the prvCreateEmailTemplate privilege to perform this action. See CUserAuth.
TemplateXml
Specifies an XML string describing the e-mail template. The XML schema is described by template.xsd.
Return Value
Returns a String type that specifies the ID of the new template.
Remarks
Note Create a value for the presentationxml field that is meaningful for your application. These templates do not work with the Microsoft CRM application, which uses a proprietary e-mail template format.
If there is an error, SOAP throws an exception and the error message is reported in System.Web.Services.Protocols.SoapException.Detail.OuterXml.
All IDs passed to the platform are GUIDs wrapped in braces. For example: {6522D89A-A752-4455-A2B0-51494C6957C3}
Example
[C#]
// strServer should be set with the name of the platform Web server
string strServer = "myservername";
// virtualDirectory should be set with the name of the Microsoft CRM
// virtual directory on the platform Web server
string virtualDirectory = "mscrmservices";
string strDir = "https://" + strServer + "/" + virtualDirectory + "/";
// BizUser proxy object
Microsoft.CRM.Proxy.BizUser bizUser = new Microsoft.CRM.Proxy.BizUser ();
bizUser.Credentials = System.Net.CredentialCache.DefaultCredentials;
bizUser.Url = strDir + "BizUser.srf";
// CRMEmailTemplate proxy object
Microsoft.CRM.Proxy.CRMEmailTemplate emailtemplate = new Microsoft.CRM.Proxy.CRMEmailTemplate();
emailtemplate.Credentials = System.Net.CredentialCache.DefaultCredentials;
emailtemplate.Url = strDir + "CRMEmailTemplate.srf";
string strErrorMsg;
try
{
Microsoft.CRM.Proxy.CUserAuth userAuth = bizUser.WhoAmI();
// Set up the XML string for the e-mail template
string strXmlTemplate = "<template>";
strXmlTemplate += "<subject>A Template Subject</subject>";
strXmlTemplate += "<templatetypecode>1</templatetypecode>";
strXmlTemplate += "<ownerid type=\"" + Microsoft.CRM.Flags.ObjectType.otSystemUser.ToString() +"\">";
strXmlTemplate += userAuth.UserId + "</ownerid>";
strXmlTemplate += "</template>";
string strEmailTemplateId = emailtemplate.Create(userAuth, strXmlTemplate);
}
catch (System.Web.Services.Protocols.SoapException err)
{
// Process the platform error here
strErrorMsg = ("ErrorMessage: " + err.Message + " " + err.Detail.OuterXml + " Source: " + err.Source );
}
catch (Exception err)
{
// Process other errors here
strErrorMsg = ("ErrorMessage: " + err.Message );
}
Requirements
Namespace: Microsoft.CRM.Proxy
Assembly: microsoft.crm.proxy.dll
See Also