示例#1
0
        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();
        }
示例#2
0
        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);
        }
示例#3
0
        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");
        }
示例#4
0
        //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);
        }
示例#5
0
        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;
            }
        }
示例#6
0
        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);
        }