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.
 
 
 
 
 

189 lines
7.6 KiB

using System.Collections.Generic;
using System.Data;
using Swift.DAL.BL.System.Utility.Helper;
using Swift.DAL.SwiftDAL;
namespace Swift.DAL.BL.System.Utility
{
public class DataImportDao: SwiftDao
{
XmlGenerator xmlUtil = new XmlGenerator();
public DataSet ImportPaidTransaction(string xml, string user)
{
var sql = @"EXEC proc_ImportFile @flag='pt', @user=" + FilterString(user) +
@", @xml='" + xml + "'";
var ds = ExecuteDataset(sql);
if (ds == null || ds.Tables.Count == 0)
return null;
return ds;
}
public DataSet LoadIncorrectDataFromFile(string xml, string user)
{
var sql = @"EXEC proc_ImportFile @flag='s', @user=" + FilterString(user) +
@", @xml='" + xml + "'";
var ds = ExecuteDataset(sql);
if (ds == null || ds.Tables.Count == 0)
return null;
return ds;
}
public DbResult ImportPaidTransactionAdmin(string xml, string xmlErrorDataId, string user, string pAgent, string fileFormatType)
{
var sql = "EXEC proc_importFileApiAdmin @flag = 'ptApi'";
sql += ", @user = " + FilterString(user);
sql += ", @xml = " + FilterString(xml);
sql += ", @xmlErrorDataId = " + FilterString(xmlErrorDataId);
sql += ", @pAgent = " + FilterString(pAgent);
sql += ", @fileFormatType = " + FilterString(fileFormatType);
return ParseDbResult(sql);
}
public DataRow ImportPaidTransactionApi(string xml, string xmlErrorDataId, string user, string pBranch, string pBranchName, string pAgent, string pAgentName, string pSuperAgent, string pSuperAgentName, string mapCode, string parentMapCode, string pCountryId)
{
var sql = "EXEC proc_importFileApi @flag = 'ptApi'";
sql += ", @user = " + FilterString(user);
sql += ", @xml = " + FilterString(xml);
sql += ", @xmlErrorDataId = " + FilterString(xmlErrorDataId);
sql += ", @pBranch = " + FilterString(pBranch);
sql += ", @pBranchName = " + FilterString(pBranchName);
sql += ", @pAgent = " + FilterString(pAgent);
sql += ", @pAgentName = " + FilterString(pAgentName);
sql += ", @pSuperAgent = " + FilterString(pSuperAgent);
sql += ", @pSuperAgentName = " + FilterString(pSuperAgentName);
sql += ", @mapCode = " + FilterString(mapCode);
sql += ", @parentMapCode = " + FilterString(parentMapCode);
sql += ", @pCountryId = " + FilterString(pCountryId);
var 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 DataSet ImportPaidTransactionLocal(string xml, string xmlErrorDataId, string user, string pBranch, string pBranchName, string pAgent, string pAgentName, string pSuperAgent, string pSuperAgentName, string uploadLogId)
{
var sql = "EXEC proc_importFileApi @flag = 'pt'";
sql += ", @user = " + FilterString(user);
sql += ", @xml = " + FilterString(xml);
sql += ", @xmlErrorDataId = " + FilterString(xmlErrorDataId);
sql += ", @pBranch = " + FilterString(pBranch);
sql += ", @pBranchName = " + FilterString(pBranchName);
sql += ", @pAgent = " + FilterString(pAgent);
sql += ", @pAgentName = " + FilterString(pAgentName);
sql += ", @pSuperAgent = " + FilterString(pSuperAgent);
sql += ", @pSuperAgentName = " + FilterString(pSuperAgentName);
sql += ", @uploadLogId = " + FilterString(uploadLogId);
var ds = ExecuteDataset(sql);
if (ds == null || ds.Tables.Count == 0)
return null;
return ds;
}
public DataSet LoadIncorrectDataFromFileAdmin(string xml, string user, string pAgent, string fileFormatType)
{
var sql = "EXEC proc_ImportFileAPIAdmin @flag='s'";
sql += ", @user = " + FilterString(user);
sql += ", @xml = '" + xml + "'";
sql += ", @pAgent = " + FilterString(pAgent);
sql += ", @fileFormatType = " + FilterString(fileFormatType);
var ds = ExecuteDataset(sql);
if (ds == null || ds.Tables.Count == 0)
return null;
return ds;
}
public DataSet LoadIncorrectDataFromFileApi(string xml, string user)
{
var sql = @"EXEC proc_ImportFileAPI @flag='s', @user=" + FilterString(user) +
@", @xml='" + xml + "'";
var ds = ExecuteDataset(sql);
if (ds == null || ds.Tables.Count == 0)
return null;
return ds;
}
public DbResult GetXmlFromFileCustom(string filePath, bool useFirstLineAsHeader, string fileFormatType)
{
var dbResult = new DbResult();
xmlUtil.FilePath = filePath;
xmlUtil.FirstLineIsHeader = useFirstLineAsHeader;
xmlUtil.CheckFirstLineHeader = useFirstLineAsHeader;
xmlUtil.ColSeperator = ",";
xmlUtil.RowSeperator = "\r\n";
xmlUtil.IgnoreInvalidRow = false;
if(fileFormatType.ToLower() == "tranid")
xmlUtil.FieldList = TextToXmlColumn("tranid,amount");
else
xmlUtil.FieldList = TextToXmlColumn("controlno,amount");
var xml = xmlUtil.GenerateXML();
if (xmlUtil.Dr.ErrorCode != "0")
return xmlUtil.Dr;
xmlUtil = null;
dbResult.SetError("0", xml, "");
return dbResult;
}
public DbResult GetXmlFromFile(string filePath)
{
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("controlno,amount");
var xml = xmlUtil.GenerateXML();
if (xmlUtil.Dr.ErrorCode != "0")
return xmlUtil.Dr;
xmlUtil = null;
dbResult.SetError("0", xml, "");
return dbResult;
}
private 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 UploadCouponNo(string filePath,string schemeId, 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("f1,f2");
var xml = xmlUtil.GenerateXML();
if (xmlUtil.Dr.ErrorCode != "0")
return xmlUtil.Dr;
var sql = @"EXEC proc_uploadCoupon @flag='upload', @user=" + FilterString(user) +
", @xml ='" + xml + "',@schemeId="+FilterString(schemeId);
return ParseDbResult(sql);
}
}
}