Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View rappen's full-sized avatar

Jonas Rapp rappen

View GitHub Profile
@rappen
rappen / CanaryTracer.cs
Last active April 11, 2024 10:28
CanaryTracer - writes IExecutionContext to Plugin Trace Log
/* ***********************************************************
* CanaryTracer.cs
* Found at: https://jonasr.app/canary
* Created by: Jonas Rapp https://jonasr.app/
* Get full solution: https://jonasr.app/canary/
*
* Writes everything from an IExecutionContext to the Plugin Trace Log.
*
* Simplest call:
* serviceProvider.TraceContext();
@rappen
rappen / MyIOrganizationService.cs
Created September 23, 2022 15:15
Sample of IOrganizationService implementation
#region IOrganizationService implementation
public Guid Create(Entity entity)
{
Trace($"Creating {entity.LogicalName} with {entity.Attributes.Count} attributes");
var result = Service.Create(entity);
Trace("Created!");
return result;
}
using System;
namespace XrmToolBox.Constants
{
// Guids of tools, to be used when referencing tool A from tool B in integration scenarios.
// Feel free to submit your own tool ids here, to help grow integration possibilities!
//
// Original file found at: https://gist.github.com/rappen/eeb2a9633de39fe5a0bfcf74643d777d
public static class XrmToolBoxToolIds
/* ***********************************************************
* XTBAppInsights.cs
* Found at: https://gist.github.com/rappen/fbdbb644b3fffec1305b00a51b007fa6
* Created by: Jonas Rapp https://jonasr.app/
* Immensely inspired by: code from Jason Lattimer https://github.com/jlattimer/D365AppInsights
*
* Simplifies logging to Azure Application Insights from XrmToolBox tools.
*
* Sample from tool constructor:
* ai = new AppInsights("https://dc.services.visualstudio.com/v2/track", "[a guid that is the key to your appinsights resource]", Assembly.GetExecutingAssembly(), "[my custom tool name]");
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
using System.Xml;
namespace Rappen.Xrm.Extensions
{
public static class ServiceExtensions
{
/// <summary>