Public/Note.txt
|
#CreateAnnotation
function Add-CrmNoteToCrmRecord{ # .ExternalHelp Campgemini.Xrm.Data.PowerShell.Help.xml [CmdletBinding()] PARAM( [parameter(Mandatory=$false)] [Microsoft.Xrm.Sdk.IOrganizationService]$conn, [parameter(Mandatory=$true, Position=1, ParameterSetName="CrmRecord")] [PSObject]$CrmRecord, [parameter(Mandatory=$true, Position=1, ParameterSetName="NameWithId")] [string]$EntityLogicalName, [parameter(Mandatory=$true, Position=2, ParameterSetName="NameWithId")] [guid]$Id, [parameter(Mandatory=$true, Position=3)] [string]$Subject, [parameter(Mandatory=$true, Position=4)] [string]$NoteText ) $conn = VerifyCrmConnectionParam -conn $conn -pipelineValue ($PSBoundParameters.ContainsKey('conn')) if($CrmRecord -ne $null) { $EntityLogicalName = $CrmRecord.logicalname $Id = $CrmRecord.($EntityLogicalName + "id") } $newfields = New-Object 'System.Collections.Generic.Dictionary[[String], [Object]]' $subjectfield = [PSCustomObject]@{ Type = "String" Value = $Subject } $noteTextfield = [PSCustomObject]@{ Type = "String" Value = $NoteText } $newfields.Add("subject", $subjectfield) $newfields.Add("notetext", $noteTextfield) try { $result = $conn.CreateAnnotation($EntityLogicalName, $Id, $newfields, [Guid]::Empty) if($result -eq $null) { throw $_.Exception } } catch { throw $_.Exception } } |