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.
167 lines
5.0 KiB
167 lines
5.0 KiB
using System;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Security;
|
|
using System.Xml.Serialization;
|
|
|
|
namespace Swift.DAL.BL.Helper.ThirdParty
|
|
{
|
|
public class ApiUtility : XMLDataTableUtilityAPI
|
|
{
|
|
public static string GetDateToSqlDate(string strDate)
|
|
{
|
|
var date = DateTime.Parse(strDate);
|
|
return date.ToString("yyyy-MM-dd");
|
|
}
|
|
|
|
public static string GetDateInCEFormat(string strDate)
|
|
{
|
|
var date = DateTime.Parse(strDate);
|
|
return date.ToString("dd/MM/yyyy");
|
|
}
|
|
|
|
public static string GetDateToShortString(string strDate)
|
|
{
|
|
var date = DateTime.Parse(strDate);
|
|
return date.ToShortDateString();
|
|
}
|
|
|
|
public static string ReadWebConfig(string key, string defValue)
|
|
{
|
|
return (ConfigurationSettings.AppSettings[key] ?? defValue);
|
|
}
|
|
|
|
public static string ParseToValidXMLData(string data)
|
|
{
|
|
return SecurityElement.Escape(data);
|
|
}
|
|
|
|
public static ApiResult LogRequest(string user, string providerName, string methodName, string controlNo, string requestXml)
|
|
{
|
|
try
|
|
{
|
|
var sql = string.Format("EXEC proc_tpApiLogs @flag='i', @user={0}, @providerName='{1}', @methodName='{2}',@controlNo='{3}',@requestXml='{4}'", user, providerName, methodName, controlNo, requestXml.Replace("'", ""));
|
|
var db = new Dao();
|
|
return db.ParseDbResult(sql);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
return new ApiResult();
|
|
}
|
|
}
|
|
|
|
public static ApiResult LogResponse(string rowId, string responseXml, string errorCode, string errorMessage)
|
|
{
|
|
try
|
|
{
|
|
var db = new Dao();
|
|
var sql = string.Format("EXEC proc_tpApiLogs @flag='u', @rowId='{0}',@responseXml='{1}',@errorCode='{2}',@errorMessage={3}", rowId, responseXml.Replace("'", ""), errorCode, db.FilterString(errorMessage));
|
|
return db.ParseDbResult(sql);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
return new ApiResult();
|
|
}
|
|
}
|
|
|
|
public static ApiResult LogDataError(string rowId, string errorCode, string errorMessage)
|
|
{
|
|
try
|
|
{
|
|
var db = new Dao();
|
|
var sql = string.Format("EXEC proc_tpApiLogs @flag='e', @rowId='{0}',@errorCode='{1}',@errorMessage={2}", rowId, errorCode, db.FilterString(errorMessage));
|
|
return db.ParseDbResult(sql);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
return new ApiResult();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class XMLDataTableUtilityAPI
|
|
{
|
|
public static DataTable ParseXMLToDataTable(string xml)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(xml))
|
|
{
|
|
return null;
|
|
}
|
|
DataSet ds = ParseXMLToDataSet(xml);
|
|
if (ds == null || ds.Tables.Count == 0)
|
|
return null;
|
|
|
|
return ds.Tables[0];
|
|
}
|
|
|
|
public static DataSet ParseXMLToDataSet(string xml)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(xml))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
DataSet ds = new DataSet(); ;
|
|
using (StringReader r = new StringReader(xml))
|
|
{
|
|
ds.ReadXml(r);
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
|
|
public static DataRow ParseXMLToDataRow(string xml)
|
|
{
|
|
DataTable dt = ParseXMLToDataTable(xml);
|
|
if (dt == null || dt.Rows.Count == 0)
|
|
return null;
|
|
|
|
return dt.Rows[0];
|
|
}
|
|
|
|
public static string GetDataRowData(ref DataRow dr, string colName, string defVal)
|
|
{
|
|
if (ColumnExists(ref dr, colName))
|
|
{
|
|
return (dr[colName] ?? defVal).ToString();
|
|
}
|
|
return "";
|
|
}
|
|
|
|
public static string GetDataRowData(ref DataRow dr, string colName)
|
|
{
|
|
return GetDataRowData(ref dr, colName, "");
|
|
}
|
|
|
|
protected static bool ColumnExists(ref DataRow dr, string colName)
|
|
{
|
|
foreach (DataColumn dc in dr.Table.Columns)
|
|
{
|
|
if (dc.ColumnName.ToUpper().Equals(colName.ToUpper()))
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static string ObjectToXML(object input)
|
|
{
|
|
try
|
|
{
|
|
var stringwriter = new StringWriter();
|
|
var 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;
|
|
}
|
|
}
|
|
}
|
|
}
|