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.
163 lines
5.8 KiB
163 lines
5.8 KiB
|
|
using System.Data;
|
|
using Swift.DAL.SwiftDAL;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System;
|
|
|
|
namespace Swift.DAL.BL.Remit.OFACManagement
|
|
{
|
|
public class OFACDao : RemittanceDao
|
|
{
|
|
private string GetXml(string filePath)
|
|
{
|
|
var streamReader = new StreamReader(filePath);
|
|
if (streamReader.EndOfStream)
|
|
return "";
|
|
|
|
var contents = streamReader.ReadToEnd().Replace(@"""", "").Replace("'", "").Replace("&","amp").Replace("<","lt").Replace(">","gt");
|
|
|
|
|
|
|
|
contents = contents.TrimEnd('\r', '\n');
|
|
streamReader.Close();
|
|
streamReader.Dispose();
|
|
|
|
var rowSeperator = new[] { "\r\n" };
|
|
var rows = contents.Split(rowSeperator, StringSplitOptions.None);
|
|
var colSeperator = new[] { "|" };
|
|
|
|
var sb = new StringBuilder("<root>");
|
|
|
|
foreach(var row in rows)
|
|
{
|
|
var cols = row.Split(colSeperator, StringSplitOptions.None);
|
|
sb.Append("<row");
|
|
var f = 0;
|
|
foreach (var col in cols)
|
|
{
|
|
f++;
|
|
sb.Append(" f" + f.ToString() + "=\"" + col.Trim() + "\"");
|
|
}
|
|
sb.Append(" />");
|
|
}
|
|
sb.Append("</root>");
|
|
return sb.ToString();
|
|
}
|
|
|
|
public DbResult Update(string user, string sdnFilePath, string altFilePath, string addFilePath)
|
|
{
|
|
var sql = "EXEC proc_ofacManagement @flag = 'sdn'";
|
|
sql += ", @user = " + FilterString(user);
|
|
sql += ", @sdnXML = " + FilterString(GetXml(sdnFilePath));
|
|
sql += ", @altXML = " + FilterString(GetXml(altFilePath));
|
|
sql += ", @addXML = " + FilterString(GetXml(addFilePath));
|
|
|
|
|
|
return ParseDbResultV2(sql);
|
|
}
|
|
public DbResult UpdateOther(string user)
|
|
{
|
|
var sql = "EXEC proc_ofacOtherDataManagement @flag = 'other'";
|
|
sql += ", @user = " + FilterString(user);
|
|
return ParseDbResultV2(sql);
|
|
}
|
|
|
|
public DataRow UploadXMLData(string xml, string user)
|
|
{
|
|
var sql = "EXEC proc_ofacOtherDataManagement @flag = 'other'";
|
|
sql += " ,@user=" + FilterString(user);
|
|
sql += " ,@xml='" + xml + "'";
|
|
return ExecuteDataRow(sql);
|
|
}
|
|
|
|
public DbResult UpdateAQList(string user, string xmlFile,string xmlFileName, string source)
|
|
{
|
|
var sql = "EXEC Proc_UKListManagement @flag = 'ofac-list'";
|
|
sql += ", @user = " + FilterString(user);
|
|
sql += ", @xmlFile = " + FilterString(xmlFile);
|
|
sql += ", @xmlFileName = " + FilterString(xmlFileName);
|
|
sql += ", @source = " + FilterString(source);
|
|
|
|
return ParseDbResultV2(sql);
|
|
}
|
|
public DataTable LoadLog(string user)
|
|
{
|
|
var sql = "EXEC proc_ofacManagement @flag = 's'";
|
|
sql += ", @user = " + FilterString(user);
|
|
|
|
return ExecuteDataset(sql).Tables[0];
|
|
}
|
|
|
|
public DataTable LoadSourceWiseData(string user)
|
|
{
|
|
var sql = "EXEC proc_ofacManagement @flag = 'swLog'";
|
|
sql += ", @user = " + FilterString(user);
|
|
|
|
return ExecuteDataset(sql).Tables[0];
|
|
}
|
|
|
|
public DataTable SearchSDN(string user, string name)
|
|
{
|
|
var sql = "EXEC proc_ofacTracker @flag = 's'";
|
|
sql += ", @user = " + FilterString(user);
|
|
sql += ", @name = N" + FilterString(name);
|
|
|
|
return ExecuteDataset(sql).Tables[0];
|
|
}
|
|
public DataTable SearchSDNFromDj(string user, string name)
|
|
{
|
|
var sql = "EXEC proc_ofacTracker @flag = 's-fromDj'";
|
|
sql += ", @user = " + FilterString(user);
|
|
sql += ", @name = N" + FilterString(name);
|
|
|
|
return ExecuteDataset(sql).Tables[0];
|
|
}
|
|
public DataRow SelectOFACSetting(string user)
|
|
{
|
|
string sql = "EXEC proc_ofacSetting";
|
|
sql += " @flag = 'a'";
|
|
sql += ", @user = " + FilterString(user);
|
|
|
|
DataSet ds = ExecuteDataset(sql);
|
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
|
return null;
|
|
return ds.Tables[0].Rows[0];
|
|
}
|
|
|
|
|
|
public DbResult UpdateOFACSetting(string user, string OFACTracker, string OFACTran)
|
|
{
|
|
string sql = "EXEC proc_ofacSetting";
|
|
sql += " @flag = 'u'";
|
|
sql += ", @user = " + FilterString(user);
|
|
sql += ", @ofacTracker = " + FilterString(OFACTracker);
|
|
sql += ", @ofacTran = " + FilterString(OFACTran);
|
|
return ParseDbResult(ExecuteDataset(sql).Tables[0]);
|
|
}
|
|
public DbResult UpdateOFACSetting(string user, string trackBy)
|
|
{
|
|
string sql = "EXEC proc_ofacSetting";
|
|
sql += " @flag = 'save'";
|
|
sql += ", @user = " + FilterString(user);
|
|
sql += ", @trackBy = " + FilterString(trackBy);
|
|
return ParseDbResult(ExecuteDataset(sql).Tables[0]);
|
|
}
|
|
public DbResult UpdateOFACSettingNew(string user, string trackBy,string matchPercentage)
|
|
{
|
|
string sql = "EXEC proc_ofacSetting";
|
|
sql += " @flag = 'save'";
|
|
sql += ", @user = " + FilterString(user);
|
|
sql += ", @trackBy = " + FilterString(trackBy);
|
|
sql += ", @matchPercentage = " + FilterString(matchPercentage);
|
|
return ParseDbResult(ExecuteDataset(sql).Tables[0]);
|
|
}
|
|
public DataSet GetDJPersonAndEntity(string user)
|
|
{
|
|
string sql = "EXEC proc_ofacTracker";
|
|
sql += " @flag = 'getDJPersonAndEntity'";
|
|
sql += ", @user = " + FilterString(user);
|
|
return ExecuteDataset(sql);
|
|
}
|
|
}
|
|
}
|