Skip to content

Instantly share code, notes, and snippets.

View code-atom's full-sized avatar
🏠
Working from home

Ankit Rana code-atom

🏠
Working from home
View GitHub Profile
@code-atom
code-atom / IPBlockModule.cs
Last active September 1, 2017 05:18
IP block ASP.NET Module
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net;
using System.Text.RegularExpressions;
using System.Web;
public class HandlebarHelper
{
public static void RegisterHelper()
{
RegisterArrayContainsHelper();
}
/// <summary>
/// {{#arrayContains List<> limit}}
/// ... if condition true
@code-atom
code-atom / ForceDeleteInitializer.cs
Created May 31, 2017 09:18
Forcefully delete Database if database is already in use.
/// <summary>
/// Database Initializer that will Drop/Create databases that are currently in use
/// </summary>
/// <typeparam name="TContext">Data Context</typeparam>
public class ForceDeleteInitializer<TContext> : IDatabaseInitializer<TContext> where TContext : DbContext
{
private readonly IDatabaseInitializer<TContext> _initializer;
public ForceDeleteInitializer()
{
@code-atom
code-atom / CSVActionResult.cs
Created May 4, 2017 09:09
CVS File from Generic Collection
public class CsvFileActionResult<T> : System.Web.Mvc.ActionResult
{
public string FileName { get; set; }
public IEnumerable<T> List { get; set; }
protected virtual void Write(IEnumerable<T> list, TextWriter output)
{
PropertyDescriptorCollection props = TypeDescriptor.GetProperties(typeof(T));
foreach (PropertyDescriptor prop in props)
@code-atom
code-atom / CandidateSignatureHandler.cs
Created April 20, 2017 09:24
Custom Http Handler Example
public class CandidateSignatureHandler : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
ICandidateDocument _candidateDocHandler = AppDefaults.Get<ICandidateDocument>();
@code-atom
code-atom / listExtension.cs
Created April 14, 2017 12:59
List Intersect Method Extension.
public static class ListExtension
{
public static IEnumerable<TObject> Intersect<TObject>(this IEnumerable<TObject> source, IEnumerable<TObject> destination, Func<TObject, TObject, bool> predicate)
{
var result = new List<TObject>();
foreach (var sourceObject in source)
{
foreach (var destinationObject in destination)
{
if (predicate(sourceObject, destinationObject))
@code-atom
code-atom / EmailProvider.cs
Last active April 7, 2017 04:15
Email Provider for sending email
public class EmailProvider : IEmailProvider
{
private readonly SmtpClient smtpClient = null;
private readonly IEmailTemplateRepository _emailRepository;
private bool disposed = false;
private EmailProvider()
{
smtpClient = new SmtpClient();
}
@code-atom
code-atom / FCMAPINotification.cs
Created March 10, 2017 06:13
FCM Notification based on API
public class Notifications
{
public string SendNotification(GcmNotiInputModel model)
{
try
{
string GoogleAppID = Config.BrowserKey;
var SENDER_ID = Config.SenderId;
public static string GenerateSEOFriendlyUrl(string uncleanUrl)
{
//Trim Start and End Spaces.
uncleanUrl = uncleanUrl.Trim();
//Trim "-" Hyphen
uncleanUrl = uncleanUrl.Trim('-');
uncleanUrl = uncleanUrl.ToLower();
char[] chars = @"$%#@!*?;:~`+=()[]{}|\'<>,/^&"".".ToCharArray();
//Replace . with - hyphen
uncleanUrl = uncleanUrl.Replace(".", "-");
@code-atom
code-atom / IndexedDBCRUD.html
Created February 23, 2017 12:41
CRUD operation in IndexDb
<!DOCTYPE html5>
<html lang="en">
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<style type="text/css">
.main-container {
}
</style>