Skip to content

Instantly share code, notes, and snippets.

@ansariabr
ansariabr / DateTimeOffsetWrapper.cs
Last active December 18, 2019 16:21
A wrapper on top of DateTimeOffset
public struct DateTimeOffsetWrapper
{
private static DateTimeOffset? _dateTimeOffset;
public static DateTimeOffset Now => _dateTimeOffset ?? DateTimeOffset.Now;
/// <summary>
/// This method can be used to initialize our internal DateTimeOffset object to the desired date and time
/// </summary>
/// <param name="dateTimeOffset">Desired date and time</param>
public static void SetDateTimeOffset(DateTimeOffset dateTimeOffset)
@ansariabr
ansariabr / DiscountService.cs
Last active December 15, 2019 11:45
A method to calculate discount based on the time of the day
public decimal CalculateDiscount(decimal totalAmount)
{
decimal discountPercentage;
if (DateTimeOffset.Now.Hour >= 22 || DateTimeOffset.Now.Hour < 6)
discountPercentage = 25;
else
discountPercentage = 10;
return totalAmount - ((totalAmount * discountPercentage) / 100);
}
@ansariabr
ansariabr / JWTUtility.cs
Last active March 18, 2016 12:57
Encoding and Decoding JWT using JWT library(https://www.nuget.org/packages/JWT/)
using System;
using System.Collections.Generic;
using System.Linq;
using JWT;
namespace MyJWTUtility
{
public static class JWTUtility
{
/// <summary>
@ansariabr
ansariabr / photoSignThumbUploadInBase64.js
Last active March 18, 2016 12:39
Upload photo, sign and/or thumb impression in Base64 format to FileUploader using jQuery
var formData = new FormData();
var photoFileName = "MyPhoto.jpg";
var signFileName = "MySign.jpg";
var thumbFileName = "MyThumb.jpg";
formData.append("Photo", "<<image in base64 format>>");
formData.append("Sign", "<<image in base64 format>>");
formData.append("Thumb", "<<image in base64 format>>");
formData.append("Token", "<<append the JWT in this parameter>>");
formData.append("PhotoUploaded", "Y");//N if not uploading a photo
formData.append("SignUploaded", "Y"); //N if not uploading a sign
@ansariabr
ansariabr / photoSignUploadInBase64.js
Last active March 18, 2016 12:38
Upload photo and/or sign in Base64 format to FileUploader using jQuery
var formData = new FormData();
var photoFileName = "MyPhoto.jpg";
var signFileName = "MySign.jpg";
formData.append("Photo", "<<image in base64 format>>");
formData.append("Sign", "<<image in base64 format>>");
formData.append("Token", "<<append the JWT in this parameter>>");
formData.append("PhotoUploaded", "Y");//N if not uploading a photo
formData.append("SignUploaded", "Y"); //N if not uploading a sign
formData.append("PhotoFileName", photoFileName);
formData.append("SignFileName", signFileName);
@ansariabr
ansariabr / photoSignUpload.js
Last active March 18, 2016 12:37
Upload photo and/or sign to FileUploader using jQuery
var formData = new FormData();
formData.append("Photo", $("#filePhotoUpload").get(0).files[0]);//filePhotoUpload is html file element
formData.append("Sign", $("#fileSignUpload").get(0).files[0]);//fileSignUpload is html file element
formData.append("Token", "<<append the JWT in this parameter>>");
formData.append("PhotoUploaded", "Y"); //N if not uploading a photo
formData.append("SignUploaded", "Y"); //N if not uploading a sign
var ajaxRequest = $.ajax({
type: "POST",
url: 'fileserver.com/FileUploader/api/filenx/UploadPhotoSign',
data: formData,
@ansariabr
ansariabr / fileUpload.js
Last active March 18, 2016 11:37
Uploading File To FileUploader using jQuery
var data = new FormData();
data.append("UploadedImage", $("#fileUpload").get(0).files[0]);
data.append("Token", "<<append the JWT in this parameter>>");
var ajaxRequest = $.ajax({
type: "POST",
url: 'fileserver.com/FileUploader/api/filenx/Upload',
contentType: false,
processData: false,
data: data
});
@ansariabr
ansariabr / ngInterceptor.js
Last active February 29, 2016 13:13
Interceptor for token based authentication
app.factory('authInterceptor', ['$q', function ($q) {
return {
request: function (config) {
config.headers = config.headers || {};
if (config.headers.skipAuthorization === false) {
var token = localStorage.getItem('authenticationToken');
if (token != null) {
config.headers.Authorization = token;
}
}