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

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);
}
}
}