You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

301 lines
8.4 KiB

using Common.Model.Config;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Globalization;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using System.Web;
namespace JsonRx.Helper
{
/// <summary>
/// </summary>
public static class Util
{
/// <summary>
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetGuid(HttpRequestMessage request)
{
try
{
object uuidNumber = "";
request.Properties.TryGetValue("Guid", out uuidNumber);
return uuidNumber.ToString();
}
catch
{
return "";
}
}
/// <summary>
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetUsername(HttpRequestMessage request)
{
try
{
object uuidNumber = "";
request.Properties.TryGetValue("Username", out uuidNumber);
return uuidNumber.ToString();
}
catch
{
return "";
}
}
/// <summary>
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetCustomerId(HttpRequestMessage request)
{
try
{
object uuidNumber = "";
request.Properties.TryGetValue("CustomerId", out uuidNumber);
return uuidNumber.ToString();
}
catch
{
return "";
}
}
public static string GetFintechUseNo(HttpRequestMessage request)
{
try
{
object uuidNumber = "";
request.Properties.TryGetValue("FintechUseNo", out uuidNumber);
return uuidNumber.ToString();
}
catch
{
return "";
}
}
public static string GetAccessToken(HttpRequestMessage request)
{
try
{
object uuidNumber = "";
request.Properties.TryGetValue("AccessToken", out uuidNumber);
return uuidNumber.ToString();
}
catch
{
return "";
}
}
/// <summary>
/// </summary>
/// <returns></returns>
public static string GetUuid(HttpRequestMessage request)
{
// UUID number coming from http header. This header value is sending to the properties
// of Request object and capturing here.
try
{
object uuidNumber = "";
request.Properties.TryGetValue("uuid", out uuidNumber);
return uuidNumber.ToString();
}
catch
{
return "";
}
}
/// <summary>
/// </summary>
/// <returns></returns>
public static string GetScope(HttpRequestMessage request)
{
// UUID number coming from http header. This header value is sending to the properties
// of Request object and capturing here.
try
{
object uuidNumber = "";
request.Properties.TryGetValue("scope", out uuidNumber);
return uuidNumber.ToString();
}
catch
{
return "";
}
}
/// <summary>
/// </summary>
/// <returns></returns>
public static string GetClientId(HttpRequestMessage request)
{
try
{
object clientId = "";
request.Properties.TryGetValue("clientId", out clientId);
return clientId.ToString();
}
catch
{
return "";
}
}
/// <summary>
/// Since we require to choose langaue to reflect correponding kftc page and use can view
/// kftc page based on langauage selected by them. This method return provided langauge
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetKFTCLanguage(HttpRequestMessage request)
{
try
{
object clientId = "";
request.Properties.TryGetValue("language", out clientId);
return clientId.ToString();
}
catch
{
return "";
}
}
/// <summary>
/// Since we require to choose langaue to reflect correponding kftc page and use can view
/// kftc page based on langauage selected by them. This method return provided langauge
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetKFTCClientId(HttpRequestMessage request)
{
try
{
object kftcId = "";
request.Properties.TryGetValue("KftcClientId", out kftcId);
return kftcId.ToString();
}
catch
{
return "";
}
}
public static string GetClientFCMId(HttpRequestMessage request)
{
try
{
object clientFcmId = "";
request.Properties.TryGetValue("ClientFcmId", out clientFcmId);
return clientFcmId.ToString();
}
catch
{
return "";
}
}
public static string getJWTTokenClaim(string token, string claimName)
{
try
{
var tokenHandler = new JwtSecurityTokenHandler();
var securityToken = (JwtSecurityToken)tokenHandler.ReadToken(token);
var claimValue = securityToken.Claims.FirstOrDefault(c => c.Type == claimName)?.Value;
return claimValue;
}
catch (Exception)
{
//TODO: Logger.Error
return null;
}
}
public static string GetDeviceType(HttpRequestMessage request)
{
try
{
object deviceType = "";
request.Properties.TryGetValue("deviceType", out deviceType);
return deviceType != null ? deviceType.ToString() : "IOS";
}
catch
{
return "IOS";
}
}
public static string GetFullName(string fname, string mname, string lname)
{
string fullName = string.Empty;
fullName = string.Format("{0} {1}", (!string.IsNullOrEmpty(mname)) ? fname + " " + mname : fname, lname);
return fullName;
}
}
public static class StringHelper
{
private static CultureInfo ci = new CultureInfo("en-US");
//Convert all first latter
public static string ToTitleCase(this string str)
{
str = str.ToLower();
var strArray = str.Split(' ');
if (strArray.Length > 1)
{
strArray[0] = ci.TextInfo.ToTitleCase(strArray[0]);
return string.Join(" ", strArray);
}
return ci.TextInfo.ToTitleCase(str);
}
public static string ToTitleCase(this string str, TitleCase tcase)
{
str = str.ToLower();
switch (tcase)
{
case TitleCase.First:
var strArray = str.Split(' ');
if (strArray.Length > 1)
{
strArray[0] = ci.TextInfo.ToTitleCase(strArray[0]);
return string.Join(" ", strArray);
}
break;
case TitleCase.All:
return ci.TextInfo.ToTitleCase(str);
default:
break;
}
return ci.TextInfo.ToTitleCase(str);
}
}
public enum TitleCase
{
First,
All
}
}