Skip to content

Instantly share code, notes, and snippets.

View deepumi's full-sized avatar
🎯
Focusing

Deepu Madhusoodanan deepumi

🎯
Focusing
View GitHub Profile
@deepumi
deepumi / BackgroundTaskRegistrationHelper.cs
Last active July 18, 2016 18:58
UWP Generic background task registration calss
namespace UWPBackgroundTaskDemo
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Windows.ApplicationModel.Background;
using System.Linq;
///Helper class for regsitering multiple background task
public static class BackgroundTaskRegistrationHelper
@deepumi
deepumi / StripeTLS1.2 Check
Last active April 9, 2018 11:01
Stripe TLS 1.2 integration. Sample code to ensure TLS 1.2 support in OS, library and framework level using C# HttpClient
//No third party library required for this code.
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
internal static class Stripe
{
internal static async Task<string> DoesTLS12Support()
{
@deepumi
deepumi / JsonToXmlResponse
Created September 26, 2016 19:17
Convert json string to XML node from reflection
using System.Runtime.Serialization.Json;
using System.Text;
using System.Xml.Linq;
internal static string JsonToXmlResponse(this Type type)
{
if (type == null) return string.Empty;
var json = new ObjectGenerator().GenerateObject(type).Serialize();
var xml = XDocument.Load(JsonReaderWriterFactory.CreateJsonReader(Encoding.ASCII.GetBytes(json), new XmlDictionaryReaderQuotas()));
return xml.ToString();
@deepumi
deepumi / UriQueryStringBuilder.cs
Last active December 20, 2016 01:25
Build query string using URIBuilder
public class UriQueryStringBuilder : UriBuilder
{
private readonly IDictionary<string, string> _queryParameters;
public UriQueryStringBuilder(string schemeName, string hostName, string path) : this(schemeName, hostName, path, null) { }
public UriQueryStringBuilder(string schemeName, string hostName, string path, IEnumerable<KeyValuePair<string, string>> queryParameters) : this(schemeName, hostName,path,null)
{
if (queryParameters == null) return;
@deepumi
deepumi / HttpWebRequestSample.cs
Last active December 22, 2016 15:13
HttpRequest Sample
try
{
var httpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("API URL HERE");
httpWebRequest.Headers.Add("Authorization", string.Format("Bearer {0}", "REPLACE YOUR TOKEN"));
httpWebRequest.ContentType = "application/json"; //for xml response change to application/xml
httpWebRequest.Method = "GET";
httpWebRequest.Accept = "application/json";
var httpResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse();
@deepumi
deepumi / EventHanlderTest.cs
Created January 17, 2017 17:59
Event Hanlder
class C
{
public event EventHandler<EventArgs> ItemDiscarded;
public void Add(int value)
{
OnItemDiscarded(value);//trigger event handler
}
void OnItemDiscarded(int value)
using System;
using System.Collections.Generic;
using System.ComponentModel;
public class DictionaryParameter
{
private readonly Dictionary<string, object> _parameters = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
public DictionaryParameters(object param)
{
@deepumi
deepumi / CSharp6.0-features.txt
Created January 25, 2017 20:28
CSharp6.0 features
ExpressionBodied Methods => public string SomeMethod => "Hello world";
ConditionalAccessOperator - Elvis Operator ?. SomeMethod?.Property
AutoPropertyIntializers public List<string> Roles {get;set;} = new[] {"FFF","FF"};
Primary Constructor
class C(string a, string b)
{
@deepumi
deepumi / PropertyBag.cs
Last active March 26, 2017 16:39
PropertyBag class for return multiple values
public struct PropertyBag<T1, T2>
{
public PropertyBag(T1 t1, T2 t2)
{
Item1 = t1;
Item2 = t2;
}
public T1 Item1;
@deepumi
deepumi / FtpClient.cs
Last active January 28, 2017 02:47
Ftp download files
internal class FtpClient
{
const string BaseUrl = "ftp://[IPADDRESS]/[FOLDER_PATH/";
private FtpWebRequest CreateRequest(string url)
{
var request = FtpWebRequest.Create(url) as FtpWebRequest;
request.Credentials = new NetworkCredential("[USERNAME]", "[PASSWORD]");
request.UsePassive = true;
request.UseBinary = true;