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.
 
 
 
 
 

2810 lines
103 KiB

using Swift.API.Common;
using Swift.DAL.BL.Remit.Transaction;
using Swift.DAL.BL.Remit.Transaction.PayTransaction;
using Swift.DAL.BL.System.Notification;
using Swift.DAL.SwiftDAL;
using Swift.web.SwiftSystem.UserManagement.ApplicationUserPool;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Script.Serialization;
using System.Web.UI;
using System.Web.UI.WebControls;
using Swift.DAL.Common;
using System.Net;
using System.IO;
using System.Xml.Serialization;
using SelectPdf;
using Newtonsoft.Json;
using System.Linq;
using System.Security.Cryptography;
//using SelectPdf;
namespace Swift.web.Library
{
public static class GetStatic
{
public static DbResult LogError(HttpException lastError, string page)
{
Exception err = lastError;
if (lastError.InnerException != null)
err = lastError.InnerException;
RemittanceDao db = new RemittanceDao();
var errPage = db.FilterString(page);
var errMsg = db.FilterString(err.Message);
var errDetails = db.FilterString(lastError.GetHtmlErrorMessage());
var user = string.IsNullOrWhiteSpace(GetUser()) ? "'UNKNOWN'" : GetUser();
string sql = string.Format(@"EXEC proc_ErrorLogs @flag = 'i', @errorPage={0}, @errorMsg={1}, @errorDetails={2}, @user = {3}", errPage, errMsg, errDetails, user);
return db.ParseDbResult(sql);
}
internal static void AttachConfirmMsg(ref object btnApprove, string v)
{
throw new NotImplementedException();
}
public static string UploadDocument(HttpPostedFile doc, string customerId, string documentTypeName, string membershipId, string registeredDate, out string fileType)
{
fileType = "";
string fName = "";
string documentExtension = "";
try
{
fileType = doc.ContentType;
string fileExtension = new FileInfo(doc.FileName).Extension;
if (documentTypeName.ToLower() == "other_document" || documentTypeName.ToLower() == "registration_form" || documentTypeName.ToLower() == "beneficiary_registration_form")
{
documentExtension = GetStatic.ReadWebConfig("customerDocFileExtension", "");
}
else
{
documentExtension = GetStatic.ReadWebConfig("customerDocFileExtension", "");
}
if (documentExtension.ToLower().Contains(fileExtension.ToLower()))
{
string fileName = documentTypeName + "_" + GetStatic.GetDateTimeStamp() + "_" + GetStatic.GetUser() + fileExtension;
string path = GetStatic.GetCustomerFilePath() + "CustomerDocument\\" + registeredDate.Replace("-", "\\") + "\\" + membershipId;
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
doc.SaveAs(path + "/" + fileName);
fName = fileName;
}
else
{
fName = "notValid";
}
}
catch (Exception ex)
{
fName = "";
}
return fName;
}
public static void EmailNotificationLog(SmtpMailSetting smtpMail)
{
RemittanceDao db = new RemittanceDao();
string sql = "";
sql = "EXEC proc_emailNotes @flag = 'i'";
sql += ", @sendFrom=" + db.FilterString(smtpMail.SendEmailId);
sql += ", @sendTo=" + db.FilterString(smtpMail.ToEmails);
sql += ", @sendCc=" + db.FilterString(smtpMail.CcEmails);
sql += ", @sendBcc=" + db.FilterString(smtpMail.BccEmails);
sql += ", @subject=" + db.FilterString(smtpMail.MsgSubject);
sql += ", @user=''";
sql += ", @sendStatus=" + db.FilterString(smtpMail.Status);
sql += ", @errorMsg=" + db.FilterString(smtpMail.MsgBody);
db.ExecuteDataRow(sql);
}
public static int ToInt(this string val)
{
int myval;
if (int.TryParse(val.Trim(), out myval))
{
return myval;
}
else
return 0;
}
public static decimal ToDecimal(this string val)
{
decimal myval;
if (decimal.TryParse(val.Trim(), out myval))
{
return myval;
}
else
return 0;
}
public static DateTime? ParseDateTime(this string val)
{
DateTime myval;
if (DateTime.TryParse(val.Trim(), out myval))
{
return myval;
}
else
return null;
}
public static string ToDate(this string val)
{
DateTime myval;
if (DateTime.TryParse(val.Trim(), out myval))
{
return myval.ToString("yyyy-MM-dd");
}
else
return "";
}
public static string RemoveComaFromMoney(string amt)
{
try
{
var Split = amt.Split('.');
amt = Split[0];
}
catch (Exception e)
{
amt = "";
}
return amt.Replace(",", "");
}
public static DbResult CheckSlab(string pcnt, string minAmt, string maxAmt)
{
//bool PreError = false;
var dbResult = new DbResult();
if ((pcnt == "" ? "0" : pcnt) != "0")
{
if ((minAmt == "" ? "0" : minAmt) == "0" || (maxAmt == "" ? "0" : maxAmt) == "0")
{
dbResult.Id = "1";
dbResult.Msg = "Please set Min or Max Amt ..";
//PreError = true;
}
}
else if ((pcnt == "" ? "0" : pcnt) == "0" && (minAmt == "" ? "0" : minAmt) == "0")
{
dbResult.Id = "1";
dbResult.Msg = "Please set Min Amt ..";
//PreError = true;
}
return dbResult;
}
public static void Process(ref Button ctl)
{
var function = "return Process();";
ctl.Attributes.Add("onclick", function);
}
public static double GetPayAmountLimit(string controlNo)
{
var pay = new PayDao();
var limitAmount = pay.GetPayAmountLimit(GetStatic.GetUser(), controlNo);
return limitAmount;
}
public static string GetSendingCountryBySCurr(string sCurr)
{
//var db = new SwiftDao();
RemittanceDao db = new RemittanceDao();
var sql = "EXEC proc_transactionUtility @flag='sCountry', @user=" + db.FilterString(GetUser()) + ", @curr=" + db.FilterString(sCurr);
return db.GetSingleResult(sql);
}
public static string GetOFACSDN()
{
return ReadWebConfig("OFAC_SDN");
}
public static string GetOFACALT()
{
return ReadWebConfig("OFAC_ALT");
}
public static string GetOFACADD()
{
return ReadWebConfig("OFAC_ADD");
}
public static string GetOFACUNSCR()
{
return ReadWebConfig("OFAC_UNSCR");
}
public static string RemoveAllTags(string html)
{
var loop = true;
var pFrom = 0;
var pTo = 0;
var refined = html;
while (loop)
{
pFrom = refined.IndexOf("<");
pTo = refined.IndexOf(">");
var t = refined.Substring(pFrom, pTo + 1 - pFrom);
if (string.IsNullOrWhiteSpace(t))
{
return refined.Trim();
}
refined = refined.Replace(t, "");
loop = refined.Contains("<") || refined.Contains(">");
}
return refined.Trim();
}
public static string RemoveHtmlTagsRegex(string input)
{
return Regex.Replace(input, "<.*?>", string.Empty);
}
public static String ShowFormatedCommaAmt(string strVal)
{
if (strVal != "")
{
var amt = double.Parse(strVal);
amt = (amt < 0 ? amt * -1 : amt);
return amt.ToString("C", System.Globalization.CultureInfo.CreateSpecificCulture("ko-KR"));
}
//return String.Format("{0:c}", double.Parse(strVal));
else
return strVal;
}
//public static string ReplaceFirst(string text, string search, string replace)
//{
// int pos = text.IndexOf(search);
// if (pos < 0)
// {
// return text;
// }
// return text.Substring(0, pos) + replace + text.Substring(pos + search.Length);
//}
public static void GetPDF(string data)
{
//string newData = ReplaceFirst(data, "<table", "<table border='1' ");
//string htmlData = newData;
//SelectPdf.HtmlToPdf converter = new SelectPdf.HtmlToPdf();
//converter.Options.PdfPageSize = PdfPageSize.A4;
//converter.Options.PdfPageOrientation = PdfPageOrientation.Landscape;
//converter.Options.WebPageWidth = 1024;
//converter.Options.WebPageHeight = 0;
//PdfDocument doc = converter.ConvertHtmlString(data);
//doc.Save(HttpContext.Current.Response, true, "Report.pdf");
//doc.Close();
}
public static string TXNDocumentUploadPath()
{
return ReadWebConfig("txnDocumentUploadPath");
}
public static string GetUserDateTime()
{
var db = new RemittanceDao();
var sql = "EXEC proc_MatrixReport @flag = 'udt', @user = '" + GetUser() + "'";
return db.GetSingleResult(sql);
}
public static string GetBranchName()
{
return ReadSession("branchName", "");
}
public static string GetAgentName()
{
return ReadSession("agentName", "");
}
public static string GetSuperAgent()
{
return ReadSession("superAgent", "");
}
public static string GetSuperAgentName()
{
return ReadSession("superAgentName", "");
}
public static string GetAgentType()
{
return ReadSession("agentType", "");
}
public static string GetSettlingAgent()
{
return ReadSession("settlingAgent", "");
}
public static string GetTranNoName()
{
return ReadWebConfig("tranNoName");
}
public static string GetAgentNameByMapCodeInt(string mapCodeInt)
{
var db = new SwiftDao();
var sql = "SELECT agent_name FROM FastMoneyPro_account.dbo.agentTable with(nolock) where map_code = '" + mapCodeInt + "'";
return db.GetSingleResult(sql);
}
public static string GetMapCodeInt()
{
return ReadSession("mapCodeInt", "");
}
public static string GetIsApiFlag()
{
return ReadWebConfig("isAPI");
}
public static string GetisSendPush()
{
return ReadWebConfig("isSendPush");
}
public static string GetMapCodeDom()
{
return ReadSession("mapCodeDom", "");
}
public static string GetIsActAsBranch()
{
return ReadSession("isActAsBranch", "");
}
public static string GetParentMapCodeInt()
{
return ReadSession("parentMapCodeInt", "");
}
public static string GetFundDepositVoucherPath()
{
return ReadWebConfig("fundDepositVoucher");
}
public static void AddTroubleTicket(Page page, string controlNo, string message, int successMessageType)
{
var obj = new TranViewDao();
if (successMessageType == 1)
PrintSuccessMessage(page, "Ticket Added Successfully");
else if (successMessageType == 2)
AlertMessage(page, "Ticket Added Successfully");
ResizeFrame(page);
}
public static string GetFromSendTrnTime()
{
return ReadSession("fromSendTrnTime", "");
}
public static string GetToSendTrnTime()
{
return ReadSession("toSendTrnTime", "");
}
public static string GetFromPayTrnTime()
{
return ReadSession("fromPayTrnTime", "");
}
public static string GetToPayTrnTime()
{
return ReadSession("toPayTrnTime", "");
}
public static string GetCountryFlag(string countryCode)
{
var html = "<img src=\"" + GetUrlRoot() + "/images/countryflag/" + countryCode + ".png" + "\" border=\"0\">";
return html;
}
public static void DataTable2ExcelDownload(ref DataTable table, string fileName)
{
string fileName_forSave = fileName + "_" + DateTime.Now.Year + "_" + DateTime.Now.Month + "_" + DateTime.Now.Day + "_" + DateTime.Now.ToString("hhmmss");
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName_forSave + ".xls");
HttpContext.Current.Response.Charset = "utf-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1250");
//sets font
HttpContext.Current.Response.Write("<font style='font-size:10.0pt; font-family:Calibri;'>");
HttpContext.Current.Response.Write("<br/><br/><br/>");
//sets the table border, cell spacing, border color, font of the text, background, foreground, font height
HttpContext.Current.Response.Write("<table border='1' bgColor='#ffffff' " +
"borderColor='#000000' cellSpacing='0' cellPadding='0' " +
"style='font-size:10.0pt; font-family:Calibri; background:white;'> <tr>");
//am getting my grid's column headers
int columnscount = table.Columns.Count;
for (int j = 0; j < columnscount; j++)
{ //write in new column
HttpContext.Current.Response.Write("<td>");
//Get column headers and make it as bold in excel columns
HttpContext.Current.Response.Write("<strong>");
HttpContext.Current.Response.Write(table.Columns[j].ColumnName.ToString());
HttpContext.Current.Response.Write("</strong>");
HttpContext.Current.Response.Write("</td>");
}
HttpContext.Current.Response.Write("</tr>");
int rowNum = 0, totalBorderRows = table.Rows.Count - 5;
foreach (DataRow row in table.Rows)
{//write in new row
HttpContext.Current.Response.Write("<tr>");
for (int i = 0; i < table.Columns.Count; i++)
{
if (fileName == "AccountStatement" && rowNum > totalBorderRows)
{
HttpContext.Current.Response.Write("<td style='border:0;'>");
}
else
{
HttpContext.Current.Response.Write("<td style='textmode'>");
}
//HttpContext.Current.Response.Write("");
HttpContext.Current.Response.Write(row[i].ToString());
HttpContext.Current.Response.Write("</td>");
}
HttpContext.Current.Response.Write("</tr>");
rowNum++;
}
HttpContext.Current.Response.Write("</table>");
HttpContext.Current.Response.Write("</font>");
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
}
public static DataTable ConvertHTMLTableToDataSet(string HTML)
{
// Declarations
DataSet ds = new DataSet();
DataTable dt = null;
DataRow dr = null;
string TableExpression = "<table[^>]*>(.*?)</table>";
string HeaderExpression = "<th[^>]*>(.*?)</th>";
string RowExpression = "<tr[^>]*>(.*?)</tr>";
string ColumnExpression = "<td[^>]*>(.*?)</td>";
bool HeadersExist = false;
int iCurrentColumn = 0;
int iCurrentRow = 0;
// Get a match for all the tables in the HTML
MatchCollection Tables = Regex.Matches(HTML, TableExpression, RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.IgnoreCase);
// Loop through each table element
foreach (Match Table in Tables)
{
// Reset the current row counter and the header flag
iCurrentRow = 0;
HeadersExist = false;
// Add a new table to the DataSet
dt = new DataTable();
// Create the relevant amount of columns for this table (use the headers if they
// exist, otherwise use default names)
if (Table.Value.Contains("<th"))
{
// Set the HeadersExist flag
HeadersExist = true;
// Get a match for all the rows in the table
MatchCollection Headers = Regex.Matches(Table.Value, HeaderExpression, RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.IgnoreCase);
// Loop through each header element
foreach (Match Header in Headers)
{
if (!dt.Columns.Contains(Header.Groups[1].ToString()))
dt.Columns.Add(Header.Groups[1].ToString().Replace("&nbsp;", ""));
}
}
else
{
for (int iColumns = 1; iColumns <= Regex.Matches(Regex.Matches(Regex.Matches(Table.Value, TableExpression, RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.IgnoreCase).ToString(), RowExpression, RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.IgnoreCase).ToString(), ColumnExpression, RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.IgnoreCase).Count; iColumns++)
{
dt.Columns.Add("Column " + iColumns);
}
}
// Get a match for all the rows in the table
MatchCollection Rows = Regex.Matches(Table.Value, RowExpression, RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.IgnoreCase);
// Loop through each row element
foreach (Match Row in Rows)
{
// Only loop through the row if it isn't a header row
if (!(iCurrentRow == 0 & HeadersExist == true))
{
// Create a new row and reset the current column counter
dr = dt.NewRow();
iCurrentColumn = 0;
// Get a match for all the columns in the row
MatchCollection Columns = Regex.Matches(Row.Value, ColumnExpression, RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.IgnoreCase);
// Loop through each column element
foreach (Match Column in Columns)
{
if (Columns.Count - 1 != iCurrentColumn)
// Add the value to the DataRow
dr[iCurrentColumn] = Regex.Replace(Convert.ToString(Column.Groups[1]).Replace("&nbsp;", ""), "<.*?>", string.Empty);
// Increase the current column
iCurrentColumn += 1;
}
// Add the DataRow to the DataTable
dt.Rows.Add(dr);
}
// Increase the current row counter
iCurrentRow += 1;
}
// Add the DataTable to the DataSet
ds.Tables.Add(dt);
}
return ds.Tables[0];
}
public static string GetCSVFileInTable(string path, bool hasHeader, int numberOfObjects = 0)
{
var dt = new DataTable();
var columnList = new ArrayList();
var sb = new StringBuilder("<root>");
using (CsvReader reader = new CsvReader(path))
{
foreach (string[] values in reader.RowEnumerator)
{
if (hasHeader)
{
dt.Columns.Clear();
dt.Clear();
foreach (var itm in values)
{
var data = itm.Replace(" ", "_").Replace("\"", "");
columnList.Add(data.ToUpper());
}
hasHeader = false;
continue;
}
if (values.Length > 0)
{
sb.Append("<row");
for (int i = 0; i < ((numberOfObjects == 0) ? values.Length : numberOfObjects); i++)
{
sb.Append(string.Format(" {0}=\"{1}\"", columnList[i].ToString().Trim(), values[i].ToString().Trim()));
}
sb.Append(" />");
}
}
}
sb.Append("</root>");
return sb.ToString();
}
public static string GetCSVFileInTableForTxnSyncInficare(string path, bool hasHeader, int numberOfObjects = 0)
{
var dt = new DataTable();
var columnList = new ArrayList();
var sb = new StringBuilder("<root>");
using (CsvReader reader = new CsvReader(path))
{
foreach (string[] values in reader.RowEnumerator)
{
if (hasHeader)
{
dt.Columns.Clear();
dt.Clear();
foreach (var itm in values)
{
var data = itm.Replace(" ", "_").Replace("\"", "").Replace(".", "");
if (string.IsNullOrEmpty(data))
{
data = "AgentName";
}
columnList.Add(data.ToUpper());
}
hasHeader = false;
continue;
}
if (values.Length > 0)
{
sb.Append("<row");
for (int i = 0; i < ((numberOfObjects == 0) ? values.Length : numberOfObjects); i++)
{
sb.Append(string.Format(" {0}=\"{1}\"", columnList[i].ToString().Trim(), values[i].ToString().Trim()));
}
sb.Append(" />");
}
}
}
sb.Append("</root>");
return sb.ToString();
}
public static DataTable GetHistoryChangedList(string logType, string oldData, string newData)
{
var stringSeparators = new[] { "-:::-" };
var oldDataList = oldData.Split(stringSeparators, StringSplitOptions.None);
var newDataList = newData.Split(stringSeparators, StringSplitOptions.None);
var dt = new DataTable();
var col1 = new DataColumn("Field");
var col2 = new DataColumn("Old Value");
var col3 = new DataColumn("New Value");
var col4 = new DataColumn("hasChanged");
dt.Columns.Add(col1);
dt.Columns.Add(col2);
dt.Columns.Add(col3);
dt.Columns.Add(col4);
var colCount = newData == "" ? oldDataList.Length : newDataList.Length;
for (var i = 0; i < colCount; i++)
{
var changeList = ParseChangesToArray(logType, (oldData == "") ? "" : oldDataList[i], (newData == "") ? "" : newDataList[i]);
var row = dt.NewRow();
row[col1] = changeList[0];
row[col2] = changeList[1];
row[col3] = changeList[2];
if (changeList[1] == changeList[2])
{
row[col4] = "N";
}
else
{
row[col4] = "Y";
}
dt.Rows.Add(row);
}
return dt;
}
//
//public static string ToFilterStringNativeTrim(this string strVal)
//{
// var db = new RemittanceDao();
// var str = db.FilterQuoteNative(strVal);
// if (str.ToLower() != "null") str = "'" + str + "'"; else str = "";
// return str;
//}
private static string[] ParseChangesToArray(string logType, string oldData, string newData)
{
const string seperator = "=";
var oldValue = "";
var newValue = "";
var field = "";
if (logType.ToLower() == "insert" || logType.ToLower() == "i" || logType.ToLower() == "update" || logType.ToLower() == "u" || logType.ToLower() == "login fails" || logType.ToLower() == "log in")
{
var seperatorPos = newData.IndexOf(seperator);
if (seperatorPos > -1)
{
field = newData.Substring(0, seperatorPos - 1).Trim();
newValue = newData.Substring(seperatorPos + 1).Trim();
}
}
if (logType.ToLower() == "delete" || logType.ToLower() == "d" || logType.ToLower() == "update" || logType.ToLower() == "u")
{
var seperatorPos = oldData.IndexOf(seperator);
if (seperatorPos > -1)
{
if (field == "")
field = oldData.Substring(0, seperatorPos - 1).Trim();
oldValue = oldData.Substring(seperatorPos + 1).Trim();
}
}
return new[] { field, oldValue, newValue };
}
internal static string ParseOfacJson(string ofacRes, string senderReceiverName)
{
List<OFACModel> _listOfac = JsonConvert.DeserializeObject<List<OFACModel>>(ofacRes);
if (_listOfac == null || _listOfac.Count <= 0)
{
return "";
}
StringBuilder sb = new StringBuilder();
sb.AppendLine("<table class='trnLog' border=\"1\" cellspacing=0 cellpadding=\"3\">");
sb.Append("<tr><th align=\"left\">S. No.</th><th align=\"left\">OFAC Remarks</th></tr>");
var strArr = senderReceiverName.Split(' ');
int sNo = 1;
foreach (var item in _listOfac)
{
string data = item.rmrks;
sb.Append("<tr>");
sb.AppendLine("<td>" + item.sno + "</td>");
for (int j = 0; j < strArr.Length; j++)
{
if (!string.IsNullOrWhiteSpace(strArr[j]))
{
if (strArr[j].Length > 2)
{
data = data.ToUpper().Replace(strArr[j], GetStatic.PutRedBackGround(strArr[j]));
}
}
}
sb.AppendLine("<td>" + data + "</td>");
sb.Append("</tr>");
sNo++;
}
sb.Append("</table>");
return sb.ToString();
}
internal static string ParseOfacJsonAndGetTopResult(string ofacRes)
{
List<OFACModel> _listOfac = JsonConvert.DeserializeObject<List<OFACModel>>(ofacRes);
if (_listOfac == null || _listOfac.Count <= 0)
{
return "";
}
return _listOfac[0].rmrks.ToString();
}
public static DataTable GetHistoryChangedListForAgent(string oldData, string newData)
{
var applicationLogsDao = new ApplicationLogsDao();
return applicationLogsDao.GetAuditDataForAgent(oldData, newData);
}
public static DataTable GetHistoryChangedListForFunction(string oldData, string newData)
{
var applicationLogsDao = new ApplicationLogsDao();
return applicationLogsDao.GetAuditDataForFunction(oldData, newData);
}
public static DataTable GetHistoryChangedListForRole(string oldData, string newData)
{
var applicationLogsDao = new ApplicationLogsDao();
return applicationLogsDao.GetAuditDataForRole(oldData, newData);
}
public static DataTable GetHistoryChangedListForRuleCriteria(string oldData, string newData)
{
var applicationLogsDao = new ApplicationLogsDao();
return applicationLogsDao.GetAuditDataForRuleCriteria(oldData, newData);
}
public static double RoundOff(double num, int place, int currDecimal)
{
if (currDecimal != 0)
return Math.Round(num, currDecimal);
else if (place != 0)
return (Math.Round(num / place)) * place;
return Math.Round(num, 0);
}
public static Boolean IsNumeric(string stringToTest)
{
int result;
return int.TryParse(stringToTest, out result);
}
#region Userpool
public static string GetFullName(string firstName, string middleName, string lastName1, string lastName2)
{
var fullName = firstName;
if (!string.IsNullOrWhiteSpace(middleName))
fullName += " " + middleName;
if (!string.IsNullOrWhiteSpace(lastName1))
fullName += " " + lastName1;
if (!string.IsNullOrEmpty(lastName2))
fullName += " " + lastName2;
return fullName;
}
public static string GetAgent()
{
return ReadSession("agent", "");
}
public static string GetAgentIdN()
{
return ReadSession("agentId", "");
}
public static string GetCountry()
{
return ReadSession("country", "");
}
public static string GetUser()
{
var user = ReadSession("admin", "");
WriteSession("admin", user);
//WriteSession("lastActiveTS", DateTime.Now.ToString());
return user;
}
public static string GetAgentId()
{
var branchId = ReadSession("branchId", "");
//WriteSession("lastActiveTS", DateTime.Now.ToString());
return branchId;
}
public static string GetUserType()
{
var userType = ReadSession("userType", "");
//WriteSession("lastActiveTS", DateTime.Now.ToString());
return userType;
}
public static void RemoveUserSession()
{
WriteSession("admin", "");
}
#endregion Userpool
public static string GetBranch()
{
return ReadSession("branch", "");
}
public static string GetDcInfo()
{
return GetLoggedInUser().DcInfo;
return HttpContext.Current.Request.ClientCertificate["SERIALNUMBER"] + ":" + HttpContext.Current.Request.ClientCertificate["SUBJECTCN"];
}
public static string GetIp()
{
return GetLoggedInUser().IPAddress;
return HttpContext.Current.Request.ClientCertificate["REMOTE_ADDR"];
}
public static string ToShortDate(string datetime)
{
try
{
DateTime dt;
DateTime.TryParse(datetime, out dt);
return dt.ToShortDateString();
}
catch
{
return "";
}
}
public static string GetSessionId()
{
return HttpContext.Current.Session.SessionID;
}
public static string EncryptPassword(string pwd)
{
return pwd;
}
public static int GetSessionTimeOut()
{
return 0;
}
#region Read/Write Data
public static string ReadCookie(string key, string defVal)
{
var cookie = HttpContext.Current.Request.Cookies[key];
return cookie == null ? defVal : HttpContext.Current.Server.HtmlEncode(cookie.Value);
}
public static string ReadFormData(string key, string defVal)
{
return HttpContext.Current.Request.Form[key] ?? defVal;
}
public static string GetCountDownInSec()
{
return (ReadWebConfig("countDownInSec") ?? "0").ToString();
}
public static string ReadQueryString(string key, string defVal)
{
return HttpContext.Current.Request.QueryString[key] ?? defVal;
}
public static string ReadValue(string gridName, string key)
{
key = gridName + "_ck_" + key;
var ck = ReadCookie(key, "");
return ck;
}
public static void WriteValue(string gridName, ref DropDownList ddl, string key)
{
key = gridName + "_ck_" + key;
WriteCookie(key, ddl.Text);
}
public static void WriteValue(string gridName, ref TextBox tb, string key)
{
key = gridName + "_ck_" + key;
WriteCookie(key, tb.Text);
}
#endregion Read/Write Data
public static string ReadSession(string key, string defVal)
{
try
{
return HttpContext.Current.Session[key] == null ? defVal : HttpContext.Current.Session[key].ToString();
}
catch (Exception ex)
{
return "";
}
}
public static DataTable ReadSessionAsTable(string key)
{
try
{
return HttpContext.Current.Session[key] == null ? null : HttpContext.Current.Session[key] as DataTable;
}
catch (Exception ex)
{
return null;
}
}
public static void WriteSessionAsDataTable(string key, DataTable dt)
{
HttpContext.Current.Session[key] = dt;
}
public static void WriteSession(string key, string value)
{
HttpContext.Current.Session[key] = value;
}
public static void RemoveSession(string key)
{
if (HttpContext.Current.Session[key] == null)
{
return;
}
HttpContext.Current.Session.Remove(key);
}
public static void DeleteCookie(string key)
{
if (HttpContext.Current.Request.Cookies[key] != null)
{
var aCookie = new HttpCookie(key);
aCookie.Expires = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Cookies.Add(aCookie);
}
}
public static void AttachJSFunction(ref Button ctl, string evt, string function)
{
ctl.Attributes.Add(evt, function);
}
public static void AttachConfirmMsg(ref Button ctl)
{
AttachConfirmMsg(ref ctl, "Are you sure?");
}
public static void AttachJSFunction(ref DropDownList ctl, string evt, string function)
{
ctl.Attributes.Add(evt, function);
}
public static void AttachJSFunction(ref TextBox ctl, string evt, string function)
{
ctl.Attributes.Add(evt, function);
}
public static void AttachConfirmMsg(ref Button ctl, string confirmText)
{
var function = "return confirm('" + confirmText + "');";
ctl.Attributes.Add("onclick", function);
}
public static LoggedInUser GetLoggedInUser()
{
var userPool = UserPool.GetInstance();
return userPool.GetUser(GetUser());
}
public static void WriteCookie(string key, string value)
{
if (string.IsNullOrEmpty(value.Trim()))
{
DeleteCookie(key);
return;
}
var httpCookie = new HttpCookie(key, value);
httpCookie.Expires = DateTime.Now.AddDays(1);
HttpContext.Current.Response.Cookies.Add(httpCookie);
}
public static string FormatData(string data)
{
if (string.IsNullOrEmpty(data))
return "";
decimal m;
decimal.TryParse(data, out m);
return m.ToString("F2");
}
public static string FormatData(string data, string dataType)
{
if (string.IsNullOrEmpty(data))
return "&nbsp;";
if (data == "-")
return data;
if (dataType == "D")
{
DateTime d;
DateTime.TryParse(data, out d);
return d.Day.ToString("00") + "/" + d.Month.ToString("00") + "/" + d.Year;
}
if (dataType == "DT")
{
DateTime t;
DateTime.TryParse(data, out t);
return t.Year + "/" + t.Month.ToString("00") + "/" + t.Day.ToString("00") + " " + t.Hour.ToString("00") + ":" + t.Minute.ToString("00");
}
if (dataType == "M")
{
decimal m;
decimal.TryParse(data, out m);
return m.ToString("N");
}
return data;
}
public static string FormatDataForForm(string data, string dataType)
{
if (string.IsNullOrEmpty(data))
return "";
if (data == "-")
return data;
if (dataType == "D")
{
DateTime d;
DateTime.TryParse(data, out d);
return d.Year + "/" + d.Month.ToString("00") + "/" + d.Day.ToString("00");
}
if (dataType == "DT")
{
DateTime t;
DateTime.TryParse(data, out t);
return t.Year + "/" + t.Month.ToString("00") + "/" + t.Day.ToString("00") + " " + t.Hour.ToString("00") + ":" + t.Minute.ToString("00");
}
if (dataType == "M")
{
decimal m;
decimal.TryParse(data, out m);
return m.ToString("N");
}
return data;
}
public static string NumberToWord(string data)
{
var str = data.Split('.');
int number = Convert.ToInt32(str[0]);
int dec = 0;
if (str.Length > 1)
dec = Convert.ToInt32(str[1].Substring(0, 2));
if (number == 0) return "Zero";
if (number == -2147483648)
return
"Minus Two Hundred and Fourteen Crore Seventy Four Lakh Eighty Three Thousand Six Hundred and Forty Eight Rupees Fifty Paisa";
int[] num = new int[4];
int first = 0;
int u, h, t;
StringBuilder sb = new System.Text.StringBuilder();
if (number < 0)
{
sb.Append("Minus ");
number = -number;
}
string[] words0 = {
"", "One ", "Two ", "Three ", "Four ",
"Five ", "Six ", "Seven ", "Eight ", "Nine "
};
string[] words1 = {
"Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ",
"Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen "
};
string[] words2 = {
"Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ",
"Seventy ", "Eighty ", "Ninety "
};
string[] words3 = { "Thousand ", "Lakh ", "Crore " };
num[0] = number % 1000; // units
num[1] = number / 1000;
num[2] = number / 100000;
num[1] = num[1] - 100 * num[2]; // thousands
num[3] = number / 10000000; // crores
num[2] = num[2] - 100 * num[3]; // lakhs
for (int i = 3; i > 0; i--)
{
if (num[i] != 0)
{
first = i;
break;
}
}
for (int i = first; i >= 0; i--)
{
if (num[i] == 0) continue;
u = num[i] % 10; // ones
t = num[i] / 10;
h = num[i] / 100; // hundreds
t = t - 10 * h; // tens
if (h > 0) sb.Append(words0[h] + "Hundred ");
if (u > 0 || t > 0)
{
if (h > 0 && i == 0) sb.Append("and ");
if (t == 0)
sb.Append(words0[u]);
else if (t == 1)
sb.Append(words1[u]);
else
sb.Append(words2[t - 2] + words0[u]);
}
if (i != 0) sb.Append(words3[i - 1]);
}
//sb.Append(" Rupees ");
int d1 = dec / 10;
int d2 = dec % 10;
if (d1 == 0)
sb.Append(words0[d1]);
else if (d1 == 1)
sb.Append(words1[d2]);
else
sb.Append(words2[d1 - 2] + words0[d2]);
//if (dec > 0)
// sb.Append(" Paisa");
return sb.ToString().TrimEnd() + " only";
}
public static string NumberToWord(string data, string currName, string currDecimal)
{
var str = data.Split('.');
int number = Convert.ToInt32(str[0]);
int dec = 0;
if (str.Length > 1)
dec = Convert.ToInt32(str[1].Substring(0, 2));
if (number == 0) return "Zero";
if (number == -2147483648)
return
"Minus Two Hundred and Fourteen Crore Seventy Four Lakh Eighty Three Thousand Six Hundred and Forty Eight Rupees Fifty Paisa";
int[] num = new int[4];
int first = 0;
int u, h, t;
StringBuilder sb = new System.Text.StringBuilder();
if (number < 0)
{
sb.Append("Minus ");
number = -number;
}
string[] words0 = {
"", "One ", "Two ", "Three ", "Four ",
"Five ", "Six ", "Seven ", "Eight ", "Nine "
};
string[] words1 = {
"Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ",
"Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen "
};
string[] words2 = {
"Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ",
"Seventy ", "Eighty ", "Ninety "
};
//string[] words3 = { "Thousand ", "Lakh ", "Crore " };
string[] words3 = { "Thousand ", "Million ", "Billion " };
num[0] = number % 1000; // units
num[1] = number / 1000;
num[2] = number / 1000000;
num[1] = num[1] - 1000 * num[2]; // thousands
num[3] = number / 1000000000; // billions
num[2] = num[2] - 1000 * num[3]; // millions
for (int i = 3; i > 0; i--)
{
if (num[i] != 0)
{
first = i;
break;
}
}
//for (int i = first; i >= 0; i--)
//{
// if (num[i] == 0) continue;
// u = num[i] % 10; // ones
// t = num[i] / 10;
// h = num[i] / 100; // hundreds
// t = t - 10 * h; // tens
// if (h > 0) sb.Append(words0[h] + "Hundred ");
// if (u > 0 || t > 0)
// {
// if (h > 0 || i < first) sb.Append("and ");
// if (t == 0)
// sb.Append(words0[u]);
// else if (t == 1)
// sb.Append(words1[u]);
// else
// sb.Append(words2[t - 2] + words0[u]);
// }
// if (i != 0) sb.Append(words3[i - 1]);
//}
//num[0] = number % 1000; // units
//num[1] = number / 1000;
//num[2] = number / 100000;
//num[1] = num[1] - 100 * num[2]; // thousands
//num[3] = number / 10000000; // crores
//num[2] = num[2] - 100 * num[3]; // lakhs
//for (int i = 3; i > 0; i--)
//{
// if (num[i] != 0)
// {
// first = i;
// break;
// }
//}
for (int i = first; i >= 0; i--)
{
if (num[i] == 0) continue;
u = num[i] % 10; // ones
t = num[i] / 10;
h = num[i] / 100; // hundreds
t = t - 10 * h; // tens
if (h > 0) sb.Append(words0[h] + "Hundred ");
if (u > 0 || t > 0)
{
if (h > 0 && i == 0) sb.Append("and ");
//if (h > 0 || i < first) sb.Append("and ");
//if (h > 0) sb.Append("and ");
if (t == 0)
sb.Append(words0[u]);
else if (t == 1)
sb.Append(words1[u]);
else
sb.Append(words2[t - 2] + words0[u]);
}
if (i != 0) sb.Append(words3[i - 1]);
}
sb.Append(" " + currName + " ");
int d1 = dec / 10;
int d2 = dec % 10;
if (d1 == 0)
sb.Append(words0[d1]);
else if (d1 == 1)
sb.Append(words1[d2]);
else
sb.Append(words2[d1 - 2] + words0[d2]);
if (dec > 0 && !string.IsNullOrEmpty(currDecimal))
sb.Append(" " + currDecimal);
return sb.ToString().TrimEnd() + " only";
}
#region Read From Web Config
public static string GetAppRoot()
{
return ReadWebConfig("root");
}
public static string GetFilePath()
{
return ReadWebConfig("filePath");
}
public static string GetCustomerFilePath()
{
return ReadWebConfig("customerDocPath");
}
public static string GetUrlRoot()
{
return ReadWebConfig("urlRoot");
}
public static string GetVirtualDirName()
{
return ReadWebConfig("virtualDirName");
}
public static string GetDBUrlRoot()
{
return ReadWebConfig("dbUrlRoot");
}
public static string GetDBRoot()
{
return ReadWebConfig("dbRoot");
}
public static string GetReportPagesize()
{
return ReadWebConfig("reportPageSize");
}
public static string GetUploadFileSize()
{
return ReadWebConfig("fileSize");
}
#endregion Read From Web Config
public static DataTable GetStringToTable(string data)
{
var stringSeparators = new[] { "-:::-" };
var dataList = data.Split(stringSeparators, StringSplitOptions.None);
var dt = new DataTable();
var col1 = new DataColumn("field1");
var col2 = new DataColumn("field2");
var col3 = new DataColumn("field3");
dt.Columns.Add(col1);
dt.Columns.Add(col2);
dt.Columns.Add(col3);
var colCount = dataList.Length;
for (var i = 0; i < colCount; i++)
{
var changeList = dataList[i].Split('=');
var changeListCout = changeList.Length;
var value1 = changeListCout > 0 ? changeList[0].Trim() : "";
var value2 = changeListCout > 1 ? changeList[1].Trim() : "";
var value3 = changeListCout > 2 ? changeList[2].Trim() : "";
var row = dt.NewRow();
row[col1] = value1;
row[col2] = value2;
row[col3] = value3;
dt.Rows.Add(row);
}
return dt;
}
public static DbResult GetPasswordStatus()
{
DbResult dr = null;
if (HttpContext.Current.Session["passwordStatus"] != null)
{
dr = (DbResult)HttpContext.Current.Session["passwordStatus"];
}
return dr;
}
public static void SetPasswordStatus(DbResult dr)
{
HttpContext.Current.Session["passwordStatus"] = dr;
}
public static string GetUserName()
{
var identityArray = HttpContext.Current.User.Identity.Name.Split('\\');
return identityArray.Length > 1 ? identityArray[1] : identityArray[0];
}
public static string GetLogoutPage()
{
return GetUrlRoot() + "/Logout.aspx";
}
public static string GetErrorPage()
{
return GetUrlRoot() + "/Error.aspx";
}
public static string GetAuthenticationPage()
{
return GetUrlRoot() + "/Authentication.aspx";
}
public static string NoticeMessage
{
get { return ReadSession("message", ""); }
set { WriteSession("message", value); }
}
public static bool ToImage(this string value)
{
value = value.ToLower();
if (!value.Contains("."))
{
value = "." + value;
}
if (value == ".jpeg" || value == ".jpg" || value == ".png" || value == ".gif" || value == ".bmp")
return true;
else
{
return false;
}
}
public static string DataTable2ExcelXML(ref DataTable dt)
{
var date = DateTime.Now.Date.ToString("yyyy-MM-dd");
var header = new StringBuilder("");
header.AppendLine("<?xml version=\"1.0\"?>");
header.AppendLine("<?mso-application progid=\"Excel.Sheet\"?>");
header.AppendLine("<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"");
header.AppendLine("xmlns:o=\"urn:schemas-microsoft-com:office:office\"");
header.AppendLine("xmlns:x=\"urn:schemas-microsoft-com:office:excel\"");
header.AppendLine("xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\"");
header.AppendLine("xmlns:html=\"http://www.w3.org/TR/REC-html40\">");
header.AppendLine("<DocumentProperties xmlns=\"urn:schemas-microsoft-com:office:office\">");
header.AppendLine("<Created>" + date + "</Created>");
header.AppendLine("<LastSaved>" + date + "</LastSaved>");
header.AppendLine("<Version>12.00</Version>");
header.AppendLine("</DocumentProperties>");
header.AppendLine("<OfficeDocumentSettings xmlns=\"urn:schemas-microsoft-com:office:office\">");
header.AppendLine("<RemovePersonalInformation/>");
header.AppendLine("</OfficeDocumentSettings>");
header.AppendLine("<ExcelWorkbook xmlns=\"urn:schemas-microsoft-com:office:excel\">");
header.AppendLine("<WindowHeight>8010</WindowHeight>");
header.AppendLine("<WindowWidth>14805</WindowWidth>");
header.AppendLine("<WindowTopX>240</WindowTopX>");
header.AppendLine("<WindowTopY>105</WindowTopY>");
header.AppendLine("<ProtectStructure>False</ProtectStructure>");
header.AppendLine("<ProtectWindows>False</ProtectWindows>");
header.AppendLine("</ExcelWorkbook>");
header.AppendLine("<Styles>");
header.AppendLine("<Style ss:ID=\"Default\" ss:Name=\"Normal\">");
header.AppendLine("<Alignment ss:Vertical=\"Bottom\"/>");
header.AppendLine("<Borders/>");
header.AppendLine("<Font ss:FontName=\"Calibri\" x:Family=\"Swiss\" ss:Size=\"11\" ss:Color=\"#000000\"/>");
header.AppendLine("<Interior/>");
header.AppendLine("<NumberFormat/>");
header.AppendLine("<Protection/>");
header.AppendLine("</Style>");
header.AppendLine("<Style ss:ID=\"s16\">");
header.AppendLine(" <NumberFormat ss:Format=\"@\"/>");
header.AppendLine("</Style>");
header.AppendLine("</Styles>");
header.AppendLine("<Worksheet ss:Name=\"Sheet1\">");
header.AppendLine("<Table ss:ExpandedColumnCount=\"{columns}\" ss:ExpandedRowCount=\"{rows}\" x:FullColumns=\"1\" x:FullRows=\"1\" ss:DefaultRowHeight=\"15\">");
var footer = new StringBuilder("");
footer.AppendLine("</Table>");
footer.AppendLine("<WorksheetOptions xmlns=\"urn:schemas-microsoft-com:office:excel\">");
footer.AppendLine("<PageSetup>");
footer.AppendLine("<Header x:Margin=\"0.3\"/>");
footer.AppendLine("<Footer x:Margin=\"0.3\"/>");
footer.AppendLine("<PageMargins x:Bottom=\"0.75\" x:Left=\"0.7\" x:Right=\"0.7\" x:Top=\"0.75\"/>");
footer.AppendLine("</PageSetup>");
footer.AppendLine("<Print>");
footer.AppendLine("<ValidPrinterInfo/>");
footer.AppendLine("<HorizontalResolution>300</HorizontalResolution>");
footer.AppendLine("<VerticalResolution>300</VerticalResolution>");
footer.AppendLine("</Print>");
footer.AppendLine("<Selected/>");
footer.AppendLine("<Panes>");
footer.AppendLine("<Pane>");
footer.AppendLine("<Number>3</Number>");
footer.AppendLine("<ActiveRow>1</ActiveRow>");
footer.AppendLine("</Pane>");
footer.AppendLine("</Panes>");
footer.AppendLine("<ProtectObjects>False</ProtectObjects>");
footer.AppendLine("<ProtectScenarios>False</ProtectScenarios>");
footer.AppendLine("</WorksheetOptions>");
footer.AppendLine("</Worksheet>");
footer.AppendLine("</Workbook>");
const string dataTemplate = "<Cell ss:StyleID=\"s16\"><Data ss:Type=\"String\">{data}</Data></Cell>";
var body = new StringBuilder("");
var columnCount = dt.Columns.Count;
body.AppendLine("<Row>");
for (var i = 0; i < columnCount; i++)
{
body.AppendLine(dataTemplate.Replace("{data}", dt.Columns[i].ColumnName));
}
body.AppendLine("</Row>");
foreach (DataRow dr in dt.Rows)
{
body.AppendLine("<Row>");
for (var i = 0; i < columnCount; i++)
{
body.AppendLine(dataTemplate.Replace("{data}", dr[i].ToString()));
}
body.AppendLine("</Row>");
}
header.AppendLine(body.ToString());
header.AppendLine(footer.ToString());
return header.ToString().Replace("{rows}", (dt.Rows.Count + 1).ToString()).Replace("{columns}",
dt.Columns.Count.ToString());
}
public static string ReadWebConfig(string key)
{
return ReadWebConfig(key, "");
}
public static string ReadWebConfig(string key, string defValue)
{
return ConfigurationManager.AppSettings[key] ?? defValue;
}
public static string PutYellowBackGround(string mes)
{
return "<span style = \"background-color : yellow\">" + mes + "</span>";
}
public static string PutRedBackGround(string mes)
{
return "<span style = \"background-color : red\">" + mes + "</span>";
}
public static string PutBlueBackGround(string mes)
{
return "<span style = \"background-color : blue\">" + mes + "</span>";
}
public static string PutHalfYellowBackGround(string mes)
{
return "<span style = \"background-color : #FFA822\">" + mes + "</span>";
}
public static long ReadNumericDataFromQueryString(string key)
{
var tmpId = ReadQueryString(key, "0");
long tmpIdLong;
long.TryParse(tmpId, out tmpIdLong);
return tmpIdLong;
}
public static decimal ReadDecimalDataFromQueryString(string key)
{
var tmpId = ReadQueryString(key, "0");
decimal tmpIdDecimal;
decimal.TryParse(tmpId, out tmpIdDecimal);
return tmpIdDecimal;
}
public static void SetActiveMenu(string menuFunctionId)
{
HttpContext.Current.Session["activeMenu"] = menuFunctionId;
}
public static void ResizeFrame(Page page)
{
// CallBackJs1(page, "Resize Iframe", "window.parent.resizeIframe();");
}
/// <summary>
/// Set DbResult in Session
/// </summary>
public static void SetMessage(DbResult value)
{
HttpContext.Current.Session["message"] = value;
}
/// <summary>
/// Set Error Code and Message in Session
/// </summary>
/// <param name="errorCode">
/// Error Code
/// </param>
/// <param name="msg">
/// Message
/// </param>
public static void SetMessage(string errorCode, string msg)
{
var dbResult = new DbResult { ErrorCode = errorCode, Msg = msg };
SetMessage(dbResult);
}
/// <summary>
/// Jquery Print Message from session
/// </summary>
public static void PrintMessage(Page page)
{
if (HttpContext.Current.Session["message"] == null)
{
//CallBackJs1(page, "Remove Message", "SetMessageBox();");
return;
}
var dbResult = GetMessage();
CallBackJs1(page, "Set Message", "window.parent.SetMessageBox(\"" + dbResult.Msg + "\",\"" + dbResult.ErrorCode + "\");");
HttpContext.Current.Session.Remove("message");
}
/// <summary>
/// Jquery Print Message from session
/// </summary>
public static void PrintMessageAPI(Page page, JsonResponse apiResponse)
{
CallBackJs1(page, "Set Message", "window.parent.SetMessageBox(\"" + apiResponse.Msg + "\",\"" + apiResponse.ResponseCode + "\");");
HttpContext.Current.Session.Remove("message");
}
/// <summary>
/// Jquery Print Message from DbResult
/// </summary>
public static void PrintMessage(Page page, DbResult dbResult)
{
CallBackJs1(page, "Set Message", "window.parent.SetMessageBox(\"" + dbResult.Msg + "\",\"" + dbResult.ErrorCode + "\");");
}
/// <summary>
/// Jquery Print Message directly passing Error Code and Message
/// </summary>
public static void PrintMessage(Page page, string errorCode, string msg)
{
CallBackJs1(page, "Set Message", "window.parent.SetMessageBox(\"" + msg + "\",\"" + errorCode + "\");");
}
public static void PrintSuccessMessage(Page page, string msg)
{
PrintMessage(page, "0", msg);
}
public static void PrintErrorMessage(Page page, string msg)
{
PrintMessage(page, "1", msg);
}
/// <summary>
/// Alert Message from session
/// </summary>
public static void AlertMessage(Page page)
{
if (HttpContext.Current.Session["message"] == null)
return;
var dbResult = GetMessage();
if (dbResult.Msg == "")
return;
CallBackJs1(page, "Alert Message", "alert(\"" + FilterMessageForJs(dbResult.Msg) + "\");");
HttpContext.Current.Session.Remove("message");
}
/// <summary>
/// Alert Message directly passing Message
/// </summary>
public static void AlertMessage(Page page, string msg)
{
CallBackJs1(page, "Alert Message", "alert(\"" + FilterMessageForJs(msg) + "\");");
}
public static void ShowSuccessMessage(string msg)
{
HttpContext.Current.Server.Transfer(GetVirtualDirName() + "/PrintMessage.aspx?errorCode=0&msg=" + msg);
}
public static void ShowErrorMessage(string msg)
{
HttpContext.Current.Server.Transfer(GetVirtualDirName() + "/PrintMessage.aspx?errorCode=1&msg=" + msg);
}
public static string GetActiveMenu()
{
return ReadSession("activeMenu", "");
}
public static string GetBoolToChar(bool chk)
{
return chk ? "Y" : "N";
}
public static bool GetCharToBool(string value)
{
return value.ToUpper() == "Y" ? true : false;
}
public static DbResult GetMessage()
{
return (DbResult)HttpContext.Current.Session["message"];
}
public static void Redirect(Page page, string url)
{
page.ClientScript.RegisterStartupScript(typeof(string), "script", "<script language = 'javascript'>Redirect('" + url + "');</script>");
}
public static void CloseDialog(Page page, string returnValue)
{
page.ClientScript.RegisterStartupScript(typeof(string), "scriptClose", "<script language = 'javascript'>CloseDialog('" + returnValue + "');</script>");
}
public static bool VerifyMode()
{
return ReadQueryString("mode", "") == "verify" ? true : false;
}
public static string GetVoucherName(string vType)
{
switch (vType.ToLower())
{
case "j":
return "Journal Voucher";
case "c":
return "Contra Voucher";
case "y":
return "Payment Voucher";
case "r":
return "Receipt Voucher";
case "s":
return "Remittance Voucher";
default:
return "";
}
}
public static String ShowWithoutDecimal(String strVal)
{
if (strVal != "")
return String.Format("{0:0}", double.Parse(strVal));
else
return strVal;
}
public static String ShowTwoDecimal(String strVal)
{
if (strVal != "")
return double.Parse(strVal).ToString("0.00");
else
return strVal;
}
public static String ShowDecimal(String strVal)
{
if (strVal != "")
return String.Format("{0:0,0.00}", double.Parse(strVal));
else
return strVal;
}
public static String ShowDecimalRate(String strVal)
{
if (strVal != "")
return String.Format("{0:0,0.0000}", double.Parse(strVal));
else
return strVal;
}
public static String ShowAbsDecimal(String strVal)
{
if (strVal != "")
{
strVal = Math.Abs(ParseDouble(strVal)).ToString();
return String.Format("{0:0,0.00}", double.Parse(strVal));
}
else
return strVal;
}
public static string GetNegativeFigureOnBrac(string Amount)
{
var FIndex = Amount[0].ToString();
if (FIndex.Equals("-"))
{
return "(" + ShowDecimal(Amount.Substring(1).ToString()) + ")";
}
else
return ShowDecimal(Amount);
}
public static string ShowDecimal_Account(string Amount)
{
var FIndex = Amount[0].ToString();
if (FIndex.Equals("-"))
{
return ShowAbsDecimal(Amount);
}
else
return "(" + ShowDecimal(Amount.ToString()) + ")";
}
public static string GetRowData(DataRow dr, string fieldName, string defValue)
{
return dr == null ? defValue : dr[fieldName].ToString();
}
public static string GetRowData(DataRow dr, string fieldName)
{
return GetRowData(dr, fieldName, "");
}
public static string GetRowDataInShortDateFormat(DataRow dr, string fieldName)
{
return dr[fieldName].ToString() == "" ? "" : Convert.ToDateTime(dr[fieldName].ToString()).ToShortDateString();
}
public static string ParseResultJsPrint(DbResult dbResult)
{
return dbResult.ErrorCode + "-:::-" + dbResult.Msg.Replace("'", "").Replace("<br/>", "").Replace(System.Environment.NewLine, "") + "-:::-" + dbResult.Id;
}
public static void CallBackJs1(Page page, String scriptName, string functionName)
{
ScriptManager.RegisterStartupScript(page, page.GetType(), scriptName, functionName, true);
}
public static void CallJSFunction(Page page, string functionName)
{
ScriptManager.RegisterStartupScript(page, page.GetType(), "cb", functionName, true);
}
public static void CallBackJs2(Page page, string scriptName, string functionName)
{
ScriptManager.RegisterStartupScript(page, page.GetType(), scriptName, functionName, true);
}
public static double ParseDouble(string value)
{
double tmp;
double.TryParse(value, out tmp);
return tmp;
}
public static decimal ParseDecimal(string value)
{
decimal tmp;
decimal.TryParse(value, out tmp);
return tmp;
}
public static int ParseInt(string value)
{
int tmp;
int.TryParse(value, out tmp);
return tmp;
}
public static string DataTableToCheckBox(DataTable dt, string name, string valueField, string textField)
{
var sb = new StringBuilder();
foreach (DataRow row in dt.Rows)
{
sb.AppendLine("<input type = \"checkbox\" name = \"" + name + "\" value = \"" + row[valueField] +
"\" />" + row[textField] + " <br />");
}
return sb.ToString();
}
public static string ParseMinusValue(double data)
{
var retVal = Math.Abs(data).ToString("N");
if (data < 0)
{
return "(" + retVal + ")";
}
return retVal;
}
public static string ParseMinusValue(string data)
{
var m = ParseDouble(data);
return ParseMinusValue(m);
}
public static DataTable GetHistoryChangedListForIdCriteria(string oldData, string newData, string id)
{
var applicationLogsDao = new ApplicationLogsDao();
return applicationLogsDao.GetAuditDataForIdCriteria(oldData, newData, id);
}
public static DataTable GetHistoryChangedListForCommissionPackage(string oldData, string newData)
{
var applicationLogsDao = new ApplicationLogsDao();
if (string.IsNullOrEmpty(oldData))
oldData = newData;
if (string.IsNullOrEmpty(newData))
newData = oldData;
return applicationLogsDao.GetAuditDataForCommissionPackage(oldData, newData);
}
public static FullName ParseName(string fullName)
{
var fn = new FullName();
var name = fullName.Split(' ');
var names = name.Length;
fn.FirstName = name[0];
fn.MiddleName = "";
fn.LastName1 = "";
fn.LastName2 = "";
if (names > 1)
{
fn.LastName1 = name[1];
if (names > 2)
{
fn.MiddleName = name[1];
fn.LastName1 = name[2];
if (names > 3)
fn.LastName2 = name[3];
if (names > 4)
fn.LastName2 += " " + name[4];
}
}
return fn;
}
//DateTime dt = GetStatic.GMTDatetime();
public static DateTime GMTDatetime()
{
System.DateTime CurrTime = System.DateTime.Now;
System.DateTime CurrUTCTime = CurrTime.ToUniversalTime();
var dt1 = CurrUTCTime.AddMinutes(345);
return dt1;
}
public static String FilterMessageForJs(string strVal)
{
if (strVal.ToLower() != "null")
{
strVal = strVal.Replace("\"", "");
}
return strVal;
}
public static void ReloadJQueryDatePicket(Page p, string textBoxName)
{
CallBackJs1(p, "ajax", "AsyncDone('#" + textBoxName + "');");
//This script handles ajax postbacks, by registering the js to run at the end of *AJAX* requests
//p.ClientScript.RegisterStartupScript(typeof(Page), "ajaxTrigger", "Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);", true);
//p.ClientScript.RegisterClientScriptBlock(typeof(Page), "EndRequest", "function EndRequestHandler(sender, args){" + callBack + ";}", true);
}
public static String GetPopupHelpmsg()
{
var sb = new StringBuilder("<!-- Start to use Help Float-->");
sb.AppendLine("<div id=\"dek\" onmouseout=\"kill()\"></div>");
sb.AppendLine("<style type=\"text/css\">");
sb.AppendLine("<!-- #dek {position:absolute;visibility:hidden;z-index:10;} //--> </style>");
sb.AppendLine("<script type=\"text/javascript\" language=\"javascript\">");
sb.AppendLine("Xoffset = -60;");
sb.AppendLine("Yoffset = 20; ");
sb.AppendLine("var old, skn, iex = (document.all), yyy = -1000;");
sb.AppendLine("var ns4 = document.layers");
sb.AppendLine("var ns6 = document.getElementById && !document.all");
sb.AppendLine("var ie4 = document.all");
sb.AppendLine("if (ns4) skn = document.dek");
sb.AppendLine("else if (ns6) skn = document.getElementById(\"dek\").style");
sb.AppendLine("else if (ie4) skn = document.all.dek.style");
sb.AppendLine("if (ns4) document.captureEvents(Event.MOUSEMOVE);");
sb.AppendLine("else {");
sb.AppendLine("skn.visibility = \"visible\"; skn.display = \"none\"; }");
sb.AppendLine("document.onmousemove = get_mouse;");
//popup
sb.AppendLine("function popup(msg, bak, control) {");
sb.AppendLine("var pos = FindPos(GetElement(control));");
sb.AppendLine("var left = pos[0] + 200;");
sb.AppendLine("var top = pos[1];");
sb.AppendLine("document.getElementById(\"dek\").style.left = left + \"px\";");
sb.AppendLine("document.getElementById(\"dek\").style.top = top + \"px\";");
sb.AppendLine("var content = \"<TABLE WIDTH=250 BORDER=1 BORDERCOLOR=black CELLPADDING=2 CELLSPACING=0 BGCOLOR=\" + bak + \"><TD ALIGN=center><FONT COLOR=black SIZE=2>\" + msg + \"</FONT></TD></TABLE>\";");
sb.AppendLine("yyy = Yoffset;");
sb.AppendLine("if (ns4) { skn.document.write(content); skn.document.close(); skn.visibility = \"visible\" }");
sb.AppendLine("if (ns6) { document.getElementById(\"dek\").innerHTML = content; skn.display = '' }");
sb.AppendLine("if (ie4) { document.all(\"dek\").innerHTML = content; skn.display = '' }");
sb.AppendLine("}");
//function kill() {
sb.AppendLine("function kill() {");
sb.AppendLine("yyy = -1000;");
sb.AppendLine("if (ns4) { skn.visibility = \"hidden\"; }");
sb.AppendLine("else if (ns6 || ie4) skn.display = \"none\"");
sb.AppendLine("}</script>");
return sb.ToString();
}
public static string ToRomanNumeral(this int value)
{
if (value < 0)
{
// throw new ArgumentOutOfRangeException("Please use a positive integer greater than zero.");
return "";
}
StringBuilder sb = new StringBuilder();
int remain = value;
while (remain > 0)
{
if (remain >= 1000) { sb.Append("M"); remain -= 1000; }
else if (remain >= 900) { sb.Append("CM"); remain -= 900; }
else if (remain >= 500) { sb.Append("D"); remain -= 500; }
else if (remain >= 400) { sb.Append("CD"); remain -= 400; }
else if (remain >= 100) { sb.Append("C"); remain -= 100; }
else if (remain >= 90) { sb.Append("XC"); remain -= 90; }
else if (remain >= 50) { sb.Append("L"); remain -= 50; }
else if (remain >= 40) { sb.Append("XL"); remain -= 40; }
else if (remain >= 10) { sb.Append("X"); remain -= 10; }
else if (remain >= 9) { sb.Append("IX"); remain -= 9; }
else if (remain >= 5) { sb.Append("V"); remain -= 5; }
else if (remain >= 4) { sb.Append("IV"); remain -= 4; }
else if (remain >= 1) { sb.Append("I"); remain -= 1; }
else
{
//throw new Exception("Unexpected error."); // <<-- shouldn't be possble to get here, but it ensures that we will never have an infinite loop (in case the computer is on crack that day).
}
}
return sb.ToString();
}
public static string getCompanyHead()
{
var headerSplit = ReadWebConfig("companyName", "").Split('|');
string header = "<strong>" + headerSplit[0].ToString() + "</strong>";
header += "<br>" + headerSplit[1].ToString();
return header;
}
public static string IntToLetter(this int value)
{
string result = string.Empty;
while (--value >= 0)
{
result = (char)('a' + value % 26) + result;
value /= 26;
}
return result + ".";
}
public static string GetVoucherType(string vType, string def)
{
string vt = "";
if (vType.ToLower() == "s")
{
vt = "Sales";
}
else if (vType.ToLower() == "p")
{
vt = "Purchase";
}
else if (vType.ToLower() == "c")
{
vt = "Contra";
}
else if (vType.ToLower() == "y")
{
vt = "Payment";
}
else if (vType.ToLower() == "r")
{
vt = "Receipt";
}
else if (vType.ToLower() == "j")
{
vt = "Journal";
}
else
{
vt = def;
}
return vt;
}
/// <summary>
/// </summary>
/// <param name="page">
/// </param>
/// <param name="controlNo">
/// </param>
/// <param name="message">
/// </param>
/// <param name="successMessageType">
/// 1 - Jquery Message, 2 - Js Alert Message
/// </param>
#region for Remittance use only
public static string GetDomesticSuperAgentId()
{
return ReadWebConfig("domesticSuperAgentId");
}
public static string GetHoAgentId()
{
return ReadWebConfig("hoAgentId");
}
#endregion for Remittance use only
public static string GetDomesticCountryId()
{
return ReadWebConfig("domesticCountryId");
}
public static string GetCountryId()
{
return ReadSession("countryId", "");
}
public static string GetDefaultPage()
{
switch (ReadCookie("loginType", "").ToUpper())
{
case "ADMIN":
return GetUrlRoot() + "/admin";
case "AGENT":
return GetUrlRoot() + "/agentlogin";
}
return GetUrlRoot();
}
internal static string GetDefaultDocPath()
{
switch (ReadCookie("loginType", "").ToUpper())
{
case "ADMIN":
return GetUrlRoot() + "/admin";
case "AGENT":
return GetUrlRoot() + "/agentlogin";
}
return GetUrlRoot();
}
public static string GetDefaultDocPathMortgage()
{
return ReadWebConfig("defaultDocPath");
}
public static string GetSendEmailId()
{
return ReadWebConfig("SendEmailId");
}
public static string GetSendEmailPwd()
{
return ReadWebConfig("SendEmailPwd");
}
public static string GetSmtpPort()
{
return ReadWebConfig("SmtpPort");
}
public static string GetSmtpServer()
{
return ReadWebConfig("SmtpServer");
}
public static void JsonResponse<T>(T obk, Page page, DataTable dt = null)
{
string jsonString = "";
if (dt == null)
{
JavaScriptSerializer jsonData = new JavaScriptSerializer();
jsonData.MaxJsonLength = Int32.MaxValue;
jsonString = jsonData.Serialize(obk);
}
else
{
jsonString = DataTableToJson(dt);
}
page.Response.ContentType = "application/json";
page.Response.Write(jsonString);
page.Response.End();
}
public static string DataTableToJson(DataTable table)
{
if (table == null)
return "";
var list = new List<Dictionary<string, object>>();
foreach (DataRow row in table.Rows)
{
var dict = new Dictionary<string, object>();
foreach (DataColumn col in table.Columns)
{
dict[col.ColumnName] = string.IsNullOrEmpty(row[col].ToString()) ? "" : row[col];
}
list.Add(dict);
}
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(list);
return json;
}
public static void DataTableToJson(DataTable table, Page page)
{
if (null == table)
{
page.Response.ContentType = "application/json";
page.Response.Write("");
page.Response.End();
}
else
{
var list = new List<Dictionary<string, object>>();
foreach (DataRow row in table.Rows)
{
var dict = new Dictionary<string, object>();
foreach (DataColumn col in table.Columns)
{
dict[col.ColumnName] = string.IsNullOrEmpty(row[col].ToString()) ? "" : row[col];
}
list.Add(dict);
}
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(list);
page.Response.ContentType = "application/json";
page.Response.Write(json);
page.Response.End();
}
}
public static string ObjectToXML(object input)
{
try
{
StringWriter stringwriter = new StringWriter();
XmlSerializer serializer = new XmlSerializer(input.GetType());
serializer.Serialize(stringwriter, input);
return stringwriter.ToString();
}
catch (Exception ex)
{
if (ex.InnerException != null)
ex = ex.InnerException;
return "Could not convert: " + ex.Message;
}
}
public static string MakeAutoCompleteControl(string uniqueKey, string category, string selectedValue = "", string selectedText = "")
{
var url = GetStatic.GetUrlRoot() + "/Component/AutoComplete/DataSource.asmx/GetList";
var usr = GetStatic.GetUser();
var sb = new StringBuilder();
//var strClientID = rowId + "_" + f.Key;
var ctlValue = uniqueKey + "_aValue";
var ctlText = uniqueKey + "_aText";
var ctlSearch = uniqueKey + "_aSearch";
//grdRole_gl_code_aText_c_admin////grdRole_gl_code_aSearch
sb.Append("<input type = 'hidden' id = '" + ctlValue + "' name = '" + ctlValue + "' value='" + selectedValue + "'/>");
sb.Append("<input type = 'text' id = '" + ctlText + "' name = '" + ctlText + "' class='form-control' value='" + selectedText + "' />");
sb.Append("<input style = 'background-color:#BBF;display:none' type = 'text' id = '" + ctlSearch + "' name = '" + ctlSearch + "' class='form-control' />");
sb.Append("<script language = 'javascript' type ='text/javascript'>");
sb.Append("$(document).ready(function () {");
sb.Append("function Auto_" + uniqueKey + "() {");
sb.Append(InitFunction(category, url, uniqueKey, "150px"));
sb.Append("} Auto_" + uniqueKey + "();");
sb.Append("});");
sb.Append("</script>");
return sb.ToString();
}
public static string MakeAutoCompleteControlNew(string uniqueKey, string category, string selectedValue = "", string selectedText = "")
{
var url = GetStatic.GetUrlRoot() + "/Component/AutoComplete/DataSource.asmx/GetList";
var usr = GetStatic.GetUser();
var sb = new StringBuilder();
//var strClientID = rowId + "_" + f.Key;
var ctlValue = uniqueKey + "_aValue";
var ctlText = uniqueKey + "_aText";
var ctlSearch = uniqueKey + "_aSearch";
//grdRole_gl_code_aText_c_admin////grdRole_gl_code_aSearch
sb.Append("<input type = 'hidden' id = '" + ctlValue + "' name = '" + ctlValue + "' value='" + selectedValue + "'/>");
sb.Append("<input type = 'text' disabled id = '" + ctlText + "' name = '" + ctlText + "' class='form-control' value='" + selectedText + "' />");
sb.Append("<input style = 'background-color:#BBF;display:none' type = 'text' id = '" + ctlSearch + "' name = '" + ctlSearch + "' class='form-control' />");
sb.Append("<script language = 'javascript' type ='text/javascript'>");
sb.Append("$(document).ready(function () {");
sb.Append("function Auto_" + uniqueKey + "() {");
sb.Append(InitFunction(category, url, uniqueKey, "150px"));
sb.Append("} Auto_" + uniqueKey + "();");
sb.Append("});");
sb.Append("</script>");
return sb.ToString();
}
public static Location GetLocation(string ipAddress)
{
if (ReadWebConfig("UseLocationAPI", "") == "N")
{
return new Location
{
errorCode = "1",
errorMsg = "Called from DEV, so no API Called!"
};
}
string apiKey = GetStatic.ReadWebConfig("GeoLocationIpInfoKey");
string url = string.Format("http://api.ipinfodb.com/v3/ip-city/?key={0}&ip={1}", apiKey, ipAddress);
JavaScriptSerializer serializer = new JavaScriptSerializer();
try
{
var HttpWReq = (HttpWebRequest)WebRequest.Create(url);
HttpWReq.Method = "GET";
var HttpWResp = (HttpWebResponse)HttpWReq.GetResponse();
System.IO.StreamReader reader = new System.IO.StreamReader(HttpWResp.GetResponseStream());
string content = reader.ReadToEnd();
var _arrLoc = content.Split(';');
if (_arrLoc[0].ToUpper() == "OK")
{
Location _loc = new Location
{
errorCode = "0",
IpAddress = _arrLoc[2],
CountryCode = _arrLoc[3],
CountryName = _arrLoc[4],
Region = _arrLoc[5],
City = _arrLoc[6],
ZipCode = _arrLoc[7],
Lat = _arrLoc[8],
Long = _arrLoc[9],
TimeZone = _arrLoc[10]
};
return _loc;
}
else
{
Location _loc = new Location
{
errorCode = "1",
errorMsg = _arrLoc[0] + " : " + _arrLoc[1]
};
return _loc;
}
}
catch (Exception ex)
{
return new Location
{
errorCode = "1",
errorMsg = ex.Message
};
}
}
public static string GetSMSTextForTxn(DataRow sRow)
{
FullName _fullNameS = GetStatic.ParseName(sRow["senderName"].ToString());
FullName _fullNameR = GetStatic.ParseName(sRow["receiverName"].ToString());
string sms = "";
if (sRow["paymentMethod"].ToString().ToLower() == "bank deposit")
{
FullName _bankName = GetStatic.ParseName(sRow["pBankName"].ToString());
sms += "Dear Mr/Ms " + _fullNameS.FirstName + ", your money sent to account of Mr/Ms " + _fullNameR.FirstName + " in ";
sms += _bankName.FirstName + "... Bank. Amt sent: JPY " + GetStatic.ShowWithoutDecimal(sRow["cAmt"].ToString());
sms += ", Deposit Amt " + sRow["payoutCurr"].ToString() + " " + GetStatic.ShowWithoutDecimal(sRow["pAmt"].ToString()) + ". Thank you-JME.";
}
else
{
sms += "Dear Mr/Ms " + _fullNameS.FirstName + ", your money sent to Mr/Ms " + _fullNameR.FirstName + ". Amt sent: JPY ";
sms += GetStatic.ShowWithoutDecimal(sRow["cAmt"].ToString()) + ", Payout Amt " + sRow["payoutCurr"].ToString() + " " + GetStatic.ShowWithoutDecimal(sRow["pAmt"].ToString()) + ". PIN NO: " + sRow["controlNo"].ToString() + ". Thank you-JME.";
}
return sms;
}
public static string SendEmail(string msgSubject, string msgBody, string toEmailId)
{
SmtpMailSetting mail = new SmtpMailSetting
{
MsgBody = msgBody,
MsgSubject = msgSubject,
ToEmails = toEmailId
};
return mail.SendSmtpMail(mail);
}
private static string InitFunction(string filter, string url, string rowId, string width)
{
var sb = new StringBuilder();
sb.Append("LoadAutoCompleteTextBox(");
sb.Append(@"""" + url + @"""");
sb.Append(@",""#" + rowId + @"""");
sb.Append(@",""" + width + @"""");
sb.Append(@",""" + filter + @""");");
return sb.ToString();
}
public static string UploadSignatureImage(string imageData, string registerDate, string membershipId, string customerId)
{
string errorCode = "1";
try
{
string fileExtension = ".png";
string fileName = customerId + "_signature_" + DateTime.Now.Hour.ToString() + DateTime.Now.Millisecond.ToString() + "_" + registerDate.Replace("-", "_") + fileExtension;
string path = GetStatic.GetCustomerFilePath() + "CustomerDocument\\" + registerDate.Replace("-", "\\") + "\\" + membershipId;
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
string fName = path + "\\" + fileName;
using (FileStream fs = new FileStream(fName, FileMode.CreateNew))
{
using (BinaryWriter bw = new BinaryWriter(fs))
{
byte[] data = Convert.FromBase64String(imageData);
bw.Write(data);
bw.Close();
}
}
errorCode = fileName;
}
catch (Exception ex)
{
errorCode = "1";
}
return errorCode;
}
public static string HTMLToPDF(string htmlString, string user, string fileSaveLocation, string filePrefix = "")
{
string fileName = GetDateTimeStamp() + "_" + user + ".pdf";
if (!string.IsNullOrEmpty(filePrefix))
fileName = filePrefix + "_" + fileName;
HtmlToPdf converter = new HtmlToPdf();
if (!File.Exists(fileSaveLocation))
Directory.CreateDirectory(fileSaveLocation);
PdfDocument doc = converter.ConvertHtmlString(htmlString, ReadWebConfig("root", ""));
doc.Save(fileSaveLocation + fileName);
doc.Close();
return fileName;
}
public static string GetDateTimeStamp()
{
return DateTime.Now.ToString("yyyyMMddHHmmssffff");
}
public static string DataSetToJSON(DataSet ds)
{
ArrayList root = new ArrayList();
List<Dictionary<string, object>> table;
Dictionary<string, object> data;
foreach (DataTable dt in ds.Tables)
{
table = new List<Dictionary<string, object>>();
foreach (DataRow dr in dt.Rows)
{
data = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
data.Add(col.ColumnName, dr[col]);
}
table.Add(data);
}
root.Add(table);
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(root);
}
#region MIME TYPE
private static IDictionary<string, string> _mappings = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase)
{
{".jpe", "image/jpeg"},
{".jpeg", "image/jpeg"},
{".jpg", "image/jpeg"},
{".png", "image/png"},
{".bmp", "image/bmp"},
{".tif", "image/tiff"},
{".tiff", "image/tiff"},
{".pdf", "application/pdf"},
{".gif", "image/gif"},
{".xls", "application/vnd.ms-excel"},
{".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
{".xml", "text/xml"},
{".xps", "application/vnd.ms-xpsdocument"},
{".txt", "text/plain"},
{".csv", "text/csv"},
};
public static string GetFileExtension(this string fileName)
{
string ext = string.Empty;
int fileExtPos = fileName.LastIndexOf(".", StringComparison.Ordinal);
if (fileExtPos >= 0)
ext = fileName.Substring(fileExtPos, fileName.Length - fileExtPos);
return ext;
}
public static string GetMimeType(this string extension)
{
if (extension == null)
{
throw new ArgumentNullException("extension");
}
if (!extension.StartsWith("."))
extension = "." + extension;
string mime;
return _mappings.TryGetValue(extension, out mime) ? mime : "text/plain";
}
#endregion
public static DbResult LogError(Exception lastError, string userid = "")
{
Exception err = lastError;
if (lastError.InnerException != null)
err = lastError.InnerException;
RemittanceDao db = new RemittanceDao();
var errPage = db.FilterString(HttpContext.Current.Request.Url.ToString());
var errMsg = db.FilterString(err.Message);
var errDetails = db.FilterString(lastError.ToString());
var user = !string.IsNullOrWhiteSpace(userid) ? userid : GetUser();
string sql = string.Format(@"EXEC proc_ErrorLogs @flag = 'i', @errorPage={0}, @errorMsg={1}, @errorDetails={2}, @user = {3}", errPage, errMsg, errDetails, user);
DbResult _db = db.ParseDbResult(sql);
return _db;
}
public static String ShowDecimalWithoutZero(String strVal)
{
if (strVal != "")
return String.Format("{0:0,0}", double.Parse(strVal));
else
return "0";
}
public static string GetMIMEExtension(this string contentType)
{
return MimeTypes.MimeTypeMap.GetExtension(contentType);
}
public static string GetCSVFileInXML(string path, string[] defaultHeaders, bool hasHeader = true)
{
var columnList = new ArrayList();
var sb = new StringBuilder("<root>");
using (CsvReader reader = new CsvReader(path))
{
foreach (string[] values in reader.RowEnumerator)
{
defaultHeaders = defaultHeaders.Select(a => a.Trim()).ToArray().Select(s => s.ToLowerInvariant()).ToArray();
var fileHeaders = values.Select(a => a.Trim()).ToArray().Select(s => s.ToLowerInvariant()).ToArray();
var areEqual = Enumerable.SequenceEqual(defaultHeaders, fileHeaders);
if (hasHeader)
{
if (areEqual)
{
foreach (var item in defaultHeaders)
{
columnList.Add(item);
}
columnList.Add("trantype");
columnList.Add("invalidreason");
hasHeader = false;
continue;
}
else
break;
}
if (values.Length > 0)
{
var trimValues = values.Select(a => a.Trim()).ToArray();
bool isFirstLoop = true;
bool isInvalid = false;
string misMatchedColumn = "";
sb.Append("<row>");
for (int i = 0; i < trimValues.Length; i++)
{
//mandatory fields
if (isFirstLoop && (string.IsNullOrEmpty(trimValues[0]) || !IsValidPartner(trimValues[0]) || string.IsNullOrEmpty(trimValues[1]) || string.IsNullOrEmpty(trimValues[2]) || string.IsNullOrEmpty(trimValues[3]) ||
string.IsNullOrEmpty(trimValues[4]) || string.IsNullOrEmpty(trimValues[6]) || string.IsNullOrEmpty(trimValues[7]) || string.IsNullOrEmpty(trimValues[8]) ||
string.IsNullOrEmpty(trimValues[9]) || string.IsNullOrEmpty(trimValues[12]) || string.IsNullOrEmpty(trimValues[13]) || !IsValidDate(trimValues[13]) ||
string.IsNullOrEmpty(trimValues[15]) || !IsValidPaymentMethod(trimValues[15]) || (trimValues[15].ToLower().Equals("w") && (!IsValidNumber(trimValues[10]) || trimValues[14].ToLower() != "imepay")) ||
(trimValues[15].ToLower().Equals("b") && (string.IsNullOrEmpty(trimValues[14]) || string.IsNullOrEmpty(trimValues[16]) || string.IsNullOrEmpty(trimValues[18]) || !IsValidBankid(trimValues[14]))) ||
string.IsNullOrEmpty(trimValues[19]) || string.IsNullOrEmpty(trimValues[20]) || (IsRateRequiredPartner(trimValues[0]) && string.IsNullOrEmpty(trimValues[22])) || string.IsNullOrEmpty(trimValues[23]) || string.IsNullOrEmpty(trimValues[24]) || string.IsNullOrEmpty(trimValues[25])
|| string.IsNullOrEmpty(trimValues[26])))
{
isInvalid = true;
isFirstLoop = false;
}
// to assign invalidreason for empty columns values
if (string.IsNullOrEmpty(trimValues[i]) && (i == 0 || i == 1 || i == 2 || i == 3 || i == 4 || i == 6 || i == 7 || i == 8
|| i == 9 || i == 12 || i == 13 || i == 15 || i == 19 || i == 20))
misMatchedColumn += string.IsNullOrEmpty(misMatchedColumn) ? columnList[i].ToString() : ',' + columnList[i].ToString();
// to assign invalidreason for invalid columns values
else if ((i == 0 && !IsValidPartner(trimValues[0])) || (i == 10 && trimValues[15].ToLower().Equals("w") && !IsValidNumber(trimValues[10])) ||
(i == 13 && !IsValidDate(trimValues[13])) || (i == 14 && trimValues[15].ToLower().Equals("w") && trimValues[14].ToLower() != "imepay") ||
(i == 14 && trimValues[15].ToLower().Equals("b") && string.IsNullOrEmpty(trimValues[14])) || (i == 15 && !IsValidPaymentMethod(trimValues[15])) ||
(i == 16 && trimValues[15].ToLower().Equals("b") && string.IsNullOrEmpty(trimValues[16])) || (i == 18 && trimValues[15].ToLower().Equals("b") && string.IsNullOrEmpty(trimValues[18])) ||
(i == 14 && trimValues[15].ToLower().Equals("b") && !IsValidBankid(trimValues[14])) || (i == 22 && IsRateRequiredPartner(trimValues[0]) && string.IsNullOrEmpty(trimValues[22])) || string.IsNullOrEmpty(trimValues[23])
|| string.IsNullOrEmpty(trimValues[24]) || string.IsNullOrEmpty(trimValues[25]) || string.IsNullOrEmpty(trimValues[26]))
{
misMatchedColumn += string.IsNullOrEmpty(misMatchedColumn) ? columnList[i].ToString() : ',' + columnList[i].ToString();
}
sb.Append(string.Format(" <{0}>{1}</{0}>", columnList[i], values[i]));
}
if (isInvalid)
sb.Append(string.Format(" <{0}>{1}</{0}>", columnList[27], "Invalid"));
else
sb.Append(string.Format(" <{0}>{1}</{0}>", columnList[27], "Valid"));
sb.Append(string.Format(" <{0}>{1}</{0}>", columnList[28], misMatchedColumn));
sb.Append(" </row>");
}
}
}
sb.Append("</root>");
return sb.ToString();
}
public static bool IsValidPaymentMethod(string name)
{
string[] nameArray = { "c", "b", "w" };
if (Array.Exists(nameArray, element => element == name.ToLower()))
return true;
return false;
}
public static bool IsValidNumber(string number)
{
if (Regex.Match(number, @"^9(61|62|74|75|80|81|82|84|85|86|88)[0-9]{7}$").Success)
return true;
return false;
}
public static bool IsValidDate(string date)
{
string[] format = { "yyyy-mm-dd" };
DateTime parsedDateTime;
if (DateTime.TryParseExact(date, format, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.NoCurrentDateDefault, out parsedDateTime))
return true;
return false;
}
public static bool IsValidPartner(string partnerId)
{
var db = new RemittanceDao();
var sql = "EXEC proc_UploadedFileTxnHistory @flag = 'checkPartner', @partnerId = '" + partnerId + "'";
var dbResult = db.ParseDbResult(sql);
if (dbResult.ErrorCode == "0")
return true;
return false;
}
public static bool IsRateRequiredPartner(string partnerId)
{
var rateRequiredPartners = ConfigurationManager.AppSettings["rate_required_partners"];
List<string> lst = new List<string>();
if (rateRequiredPartners != null)
{
lst = rateRequiredPartners.Split('|').ToList();
if (lst.Contains(partnerId))
return true;
}
return false;
}
public static bool IsValidBankid(string bankId)
{
if (string.IsNullOrEmpty(bankId))
return false;
var db = new RemittanceDao();
var sql = "EXEC proc_UploadedFileTxnHistory @flag = 'checkbankCode', @partnerId = '" + bankId + "'";
var dbResult = db.ParseDbResult(sql);
if (dbResult.ErrorCode == "0")
return true;
return false;
}
}
}