public void CityBankTextFile_CanLoadFile_AndValidateData() { DTO.UploadData data = ReadDataFromFile(); IAS.DAL.Interfaces.IIASPersonEntities ctx = DAL.DALFactory.GetPersonContext(); CityFileHeader header = BankFileFactory.ConcreateCityBankFileTransfer(ctx, "test.txt", data); Assert.IsNotNull(header); Assert.AreEqual(header.CityFileBoxHeaders.Count(), 3); Assert.AreEqual(header.CityFileOverFlows.Count(), 7); Assert.AreEqual(header.CityFileBatchHeaders.Count(), 6); Assert.AreEqual(header.CityFileDetails.Count(), 6); Assert.AreEqual(header.CityFileBatchTotals.Count(), 6); Assert.AreEqual(header.CityFileTotals.Count(), 3); Assert.AreEqual(header.CityFileTotals.ElementAt(0).CityFileDetails.Count(), 1); Assert.AreEqual(header.CityFileTotals.ElementAt(1).CityFileDetails.Count(), 3); Assert.AreEqual(header.CityFileTotals.ElementAt(2).CityFileDetails.Count(), 2); Int32 rownum = (1 + header.CityFileBoxHeaders.Count() + header.CityFileOverFlows.Count() + header.CityFileBatchHeaders.Count() + header.CityFileDetails.Count() + header.CityFileBatchTotals.Count() + header.CityFileTotals.Count() + 1); Assert.AreEqual(header.RowCount, rownum); DTO.UploadResult <DTO.SummaryBankTransaction, DTO.BankTransaction> uploadResult = header.ValidateData(); }
public static AG_IAS_TEMP_PAYMENT_TOTAL GetAG_IAS_TEMP_PAYMENT_TOTAL (this CityFileHeader cityFileheader) { IEnumerable <CityFileTotal> cityFileTotals = cityFileheader.CityFileTotals; AG_IAS_TEMP_PAYMENT_TOTAL ag_Total = new AG_IAS_TEMP_PAYMENT_TOTAL() { ID = cityFileheader.ID, HEADER_ID = cityFileheader.ID, RECORD_TYPE = cityFileTotals.FirstOrDefault().RECORD_TYPE, COMPANY_ACCOUNT = cityFileTotals.FirstOrDefault().COMPANY_ACCOUNT, TOTAL_CREDIT_AMOUNT = cityFileTotals.Sum(a => Convert.ToDecimal(a.TOTAL_CREDIT_AMOUNT)).ToString() }; return(ag_Total); }
public void CityBankTextFileHeaderType1_Can_SubString_To_BankFileHeader() { IAS.DAL.Interfaces.IIASPersonEntities ctx = DAL.DALFactory.GetPersonContext(); CityFileHeader bankHeader = new CityFileHeader(ctx) { RECORD_TYPE = _type1.Substring(0, 1), SEQUENCE_NO = "", BANK_CODE = _type1.Substring(33, 3), COMPANY_ACCOUNT = _type1.Substring(3, 10), COMPANY_NAME = "", EFFECTIVE_DATE = "", SERVICE_CODE = "" }; Assert.AreEqual(bankHeader.RECORD_TYPE, "1"); Assert.AreEqual(bankHeader.BANK_CODE, "Cit"); Assert.AreEqual(bankHeader.COMPANY_ACCOUNT, "5xxxxxx012"); }
//public static BankFileHeader ConcreateBankFileTranfer(IAS.DAL.IASPersonEntities ctx, String fileName, DTO.UploadData data) //{ // if (data.Body.FirstOrDefault().Substring(0,1)=="H") // { // return ConcreateKTBFileTransfer(ctx, fileName, data); // } //} #region CityBank File Upload public static CityFileHeader ConcreateCityBankFileTransfer(IAS.DAL.Interfaces.IIASPersonEntities ctx, String fileName, DTO.UploadData data) { String id = OracleDB.GetGenAutoId(); CityFileHeader header = new CityFileHeader(ctx, id, fileName); Int32 numrow = 0; foreach (String record in data.Body) { numrow++; switch (record.Substring(0, 1)) { case "1": CreateCityBankHeader(header, record, numrow); break; case "2": header.AddBoxHeader(new CityFileBoxHeader()); break; case "4": header.AddOverFlow(new CityFileOverFlow()); break; case "5": header.AddBatchHeader(new CityFileBatchHeader()); break; case "6": header.AddDetail(CreateCityBankDetail(ctx, record, numrow)); break; case "7": header.AddBatchTotal(new CityFileBatchTotal()); break; case "8": header.SetTotal(CreateCityBankTotal(record, numrow)); break; case "9": header.RowCount = Convert.ToInt32(record.Substring(1, 6)); break; default: break; } } return(header); }
public void CityBank_Upload_Can_Commit_ToEntity() { IAS.DAL.Interfaces.IIASPersonEntities ctx = DAL.DALFactory.GetPersonContext(); DTO.UploadData data = ReadDataFromFile(); String fileName = "testData.txt"; CityFileHeader bankHeader = BankFileFactory.ConcreateCityBankFileTransfer(ctx, fileName, data); var res = new DTO.ResponseService <DTO.UploadResult <DTO.SummaryBankTransaction, DTO.BankTransaction> >(); res.DataResponse = bankHeader.ValidateData(); if (res.IsError) { throw new ApplicationException(res.ErrorMsg); } AG_IAS_TEMP_PAYMENT_HEADER payment_g_t = new AG_IAS_TEMP_PAYMENT_HEADER(); bankHeader.MappingToEntity <CityFileHeader, AG_IAS_TEMP_PAYMENT_HEADER>(payment_g_t); ctx.AG_IAS_TEMP_PAYMENT_HEADER.AddObject(payment_g_t); foreach (CityFileDetail item in bankHeader.CityFileDetails) { AG_IAS_TEMP_PAYMENT_DETAIL detail = new AG_IAS_TEMP_PAYMENT_DETAIL(); item.MappingToEntity <AG_IAS_TEMP_PAYMENT_DETAIL>(detail); ctx.AG_IAS_TEMP_PAYMENT_DETAIL.AddObject(detail); } ctx.AG_IAS_TEMP_PAYMENT_TOTAL.AddObject(bankHeader.GetAG_IAS_TEMP_PAYMENT_TOTAL()); try { using (var ts = new TransactionScope()) { ctx.SaveChanges(); ts.Complete(); } } catch (Exception ex) { throw; } }
public static CityFileHeader CreateCityBankHeader(CityFileHeader header, String lineData, Int32 rownum) { header.RECORD_TYPE = getSubstring(lineData, 0, 1); header.SEQUENCE_NO = rownum.ToString(); header.BANK_CODE = getSubstring(lineData, 7, 3); header.COMPANY_ACCOUNT = getSubstring(lineData, 10, 10); header.COMPANY_NAME = getSubstring(lineData, 77, 10); header.EFFECTIVE_DATE = getSubstring(lineData, 63, 8); header.SERVICE_CODE = getSubstring(lineData, 68, 8); header.RECORD_TYPE = getSubstring(lineData, 0, 1); header.SEQUENCE_NO = rownum.ToString(); header.BANK_CODE = getSubstring(lineData, 33, 3); header.COMPANY_ACCOUNT = getSubstring(lineData, 3, 10); //header.COMPANY_NAME = ""; //header.EFFECTIVE_DATE = ""; //header.SERVICE_CODE = ""; return(header); }