Skip to content

Instantly share code, notes, and snippets.

@davidvesely
davidvesely / ToQueryString.cs
Created July 22, 2017 19:28
Convert NameValueCollection to query string
public static string ConvertToQueryString(NameValueCollection queryParameters)
{
return string.Join("&", queryParameters.AllKeys
.Select(a => $"{HttpUtility.UrlEncode(a)}={HttpUtility.UrlEncode(queryParameters[a])}"));
}
@davidvesely
davidvesely / UriAppend.cs
Created July 22, 2017 19:26
Uri Append extension method
public static Uri Append(this Uri uri, params string[] paths)
{
return new Uri(paths.Aggregate(uri.AbsoluteUri,
(current, path) => string.Format("{0}/{1}", current.TrimEnd('/'), path.TrimStart('/'))));
}
@davidvesely
davidvesely / DictionaryToString.cs
Created January 18, 2016 02:36
Serializing dictionary to string
public static string DictionaryToString(Dictionary<string, string> d)
{
// Build up each line one-by-one and then trim the end
StringBuilder builder = new StringBuilder();
foreach (KeyValuePair<string, string> pair in d)
{
builder.Append(pair.Key).Append(":").Append(pair.Value).Append(",\n");
}
string result = builder.ToString();
return result;
@davidvesely
davidvesely / MoqExtensions.cs
Created January 13, 2016 09:38 — forked from ngocvantran/MoqExtensions.cs
Extension methods to quickly ignore arguments without repeating It.IsAny<>()
using System;
using System.Linq.Expressions;
using Moq.Language.Flow;
namespace Moq
{
public static class MoqExtensions
{
public static ISetup<T, TResult> SetupIgnoreArgs<T, TResult>(this Mock<T> mock,
Expression<Func<T, TResult>> expression)
@davidvesely
davidvesely / SmartCardCertificates.cs
Created November 13, 2015 11:58
Подписване на заяка към сървис без ръчно въвеждане на ПИН код в SmartCard устройство със сертификат
using Net.Pkcs11Interop.Common;
using Net.Pkcs11Interop.HighLevelAPI;
using Net.Pkcs11Interop.PDF;
using Org.BouncyCastle.Crypto.Parameters;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Security;