Skip to content

Instantly share code, notes, and snippets.

View patkleef's full-sized avatar

Patrick van Kleef patkleef

View GitHub Profile
@patkleef
patkleef / payment-request-page.ts
Created January 4, 2019 08:45
Modern Storefront - Payment Request API
export class PaymentRequestPageViewModel extends ViewModelBase {
repository = repositoryFactory.get();
paymentRequest: PaymentRequest;
shippingOptions: PaymentShippingOption[];
totalPrice: number;
constructor() {
super();
this.initPayment();
}
@patkleef
patkleef / ApplicationInsightsDataService.cs
Created March 19, 2017 18:42
Application Insights Blog - ApplicationInsightsDataService.cs
public class DataService
{
private readonly TelemetryClient _telemetryClient;
private readonly IDictionary<string, int> _dic;
public DataService()
{
_telemetryClient = new TelemetryClient();
_dic = new Dictionary<string, int>();
@patkleef
patkleef / ApplicationInsightsRegisterActionMethod.cs
Created March 19, 2017 18:41
Application Insights Blog - ApplicationInsightsRegisterActionMethod.cs
[System.Web.Mvc.HttpPost]
public ActionResult Register([FromBody]RegisterModel model)
{
var dic = new Dictionary<string, string>();
dic.Add("email", model.Email);
dic.Add("name", model.Name);
dic.Add("category", Session["selectedCategory"]?.ToString());
_telemetryClient.TrackEvent("Registration form entered event", dic);
@patkleef
patkleef / ApplicationInsightsHomeActionMethod.cs
Created March 19, 2017 18:40
Application Insights Blog - ApplicationInsightsHomeActionMethod.cs
public ActionResult Index()
{
var arr = new string[2];
try
{
arr[0] = "value 1";
arr[1] = "value 2";
arr[2] = "value 3";
var result = arr[3];
@patkleef
patkleef / ApplicationInsightsExceptionTrackingTelemetryModule.config
Created March 19, 2017 18:40
Application Insights Blog - ApplicationInsightsExceptionTrackingTelemetryModule.config
<TelemetryModules>
<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector"></Add>
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.AI.WindowsServer" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule, Microsoft.AI.WindowsServer" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule, Microsoft.AI.WindowsServer" />
<Add Type="Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule, Microsoft.AI.Web">
<Handlers>
<Add>System.Web.Handlers.TransferRequestHandler</Add>
@patkleef
patkleef / ApplicationInsightsFilterConfig.cs
Created March 19, 2017 18:38
Application Insights Blog - ApplicationInsightsFilterConfig.cs
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new ErrorHandler.AiHandleErrorAttribute());
}
}
@patkleef
patkleef / ApplicationInsightsAiHandleErrorAttribute.cs
Created March 19, 2017 18:38
Application Insights Blog - ApplicationInsightsAiHandleErrorAttribute.cs
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class AiHandleErrorAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
if (filterContext != null && filterContext.HttpContext != null && filterContext.Exception != null)
{
if (filterContext.HttpContext.IsCustomErrorEnabled)
{
var ai = new TelemetryClient();
@patkleef
patkleef / ApplicationInsightsTraceTracking.cs
Created March 13, 2017 19:25
Application Insights Blog - ApplicationInsightsTraceTracking.cs
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> ForgotPassword(ForgotPasswordViewModel model)
{
if (ModelState.IsValid)
{
var postVariables = Request.Form.ToString();
var dic = new Dictionary<string, string>();
@patkleef
patkleef / ApplicationInsightsEventTracking.cs
Created March 13, 2017 19:24
Application Insights Blog - ApplicationInsightsEventTracking.cs
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
@patkleef
patkleef / ApplicationInsightsEventTracking.js
Created March 13, 2017 19:24
Application Insights Blog - ApplicationInsightsEventTracking.js
$(document).ready(function() {
$(".home-page-link").click(function() {
window.appInsights.trackEvent("homePageLinkClicked", $(this).text());
});
});