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.
 
 
 
 
 

52 lines
1.7 KiB

using System.Collections.Generic;
using Swift.DAL.BL.System.Utility.Helper;
using Swift.DAL.SwiftDAL;
using System.Data;
namespace Swift.DAL.BL.System.Utility
{
public class UploadVoucherDao:SwiftDao
{
readonly XmlGenerator xmlUtil = new XmlGenerator();
private static List<FieldName> TextToXmlColumn(string fieldList)
{
var list = new List<FieldName>();
var i = 0;
foreach (var c in fieldList.Split(','))
{
list.Add(new FieldName(i++, c.Trim()));
}
return list;
}
public DbResult UploadVoucher(string filePath, string user)
{
var dbResult = new DbResult();
xmlUtil.FilePath = filePath;
xmlUtil.FirstLineIsHeader = true;
xmlUtil.CheckFirstLineHeader = true;
xmlUtil.ColSeperator = ",";
xmlUtil.RowSeperator = "\r\n";
xmlUtil.IgnoreInvalidRow = false;
xmlUtil.FieldList = TextToXmlColumn("agentCode,dot,amount,currencyType,xRate,mode,dollar_rate,branch_code,session_id,update_ts");
var xml = xmlUtil.GenerateXML();
if (xmlUtil.Dr.ErrorCode != "0")
return xmlUtil.Dr;
var sql = "EXEC proc_uploadVoucher @flag='upload'";
sql += ", @user=" + FilterString(user);
sql += ", @xml ='" + xml + "'";
return ParseDbResult(sql);
}
public DataTable ShowData(string user)
{
var sql = "EXEC proc_uploadVoucher @flag='s'";
sql += ", @user=" + FilterString(user);
return ExecuteDataTable(sql);
}
}
}