Example #1
0
        private static List <Reconciliation> ReadContents(ReconciliationFile rec)
        {
            var reconciliations = new List <Reconciliation>();

            using (var stream = new StreamReader(new MemoryStream(rec.Contents), Encoding.Default))
            {
                var str = stream.ReadLine();
                while (str != null)
                {
                    var flag = str.AsRecordType();
                    if (flag.ToUpper().Equals("D")) //Detail
                    {
                        var recDto = new Reconciliation
                        {
                            ReconciliationFileId = rec.Id,
                            PaymentMethod        = rec.FileType,
                            PaymentCode          = str.AsCustomerNoRef1(),
                            PaymentDate          = str.AsPaymentDateTime(),
                            PaymentBy            = str.AsCustomerName(),
                            Amount = str.AsAmount()
                        };

                        reconciliations.Add(recDto);
                    }

                    str = stream.ReadLine();
                }
            }
            return(reconciliations);
        }
Example #2
0
        public void TestCreateReconciliation()
        {
            using (var context = new TransactionModelContainer())
            {
                ReconciliationFile reconcil = new ReconciliationFile("test", new byte[] { 1, 2 }, DateTime.Now, "system", null, true, null, false);
                context.ReconciliationFiles.AddObject(reconcil);

                context.SaveChanges();
            }
        }
Example #3
0
        private void ReadStream(ReconciliationFile rec)
        {
            var reconciliations = ReadContents(rec);

            if (reconciliations.Count > 0)
            {
                SaveReconcilation(reconciliations.ToArray());
                ReconciliationFile.UpdateSuccessReconciliationFile(rec.Id);
            }
        }
Example #4
0
 public void Reader(ReconciliationFile rec)
 {
     if (rec.FileType == FileType.C.ToString())
     {
         CreditCard(rec);
     }
     else if (rec.FileType == FileType.P.ToString())
     {
         PayInSlip(rec);
     }
 }
Example #5
0
        private void CreditCard(ReconciliationFile rec)
        {
            var     content = new StreamReader(new MemoryStream(rec.Contents));
            DataSet ds      = TextToDataSet.Convert(content);
            var     recons  = MapperReconciliation.CreateCreditCardToBBL(ds.Tables[0],
                                                                         rec.FileType,
                                                                         rec.Id);

            SaveReconcilation(recons);
            ReconciliationFile.UpdateSuccessReconciliationFile(rec.Id);
        }
Example #6
0
        private void UpdateFailReconciliationFile(ReconciliationFile rec)
        {
            var sourceFile      = rec.BackupPath;
            var destinationFile = sourceFile.Replace("Success", "Err");

            var parentPath = new DirectoryInfo(destinationFile).Parent.FullName;

            CreateDirectory(parentPath);

            File.Move(sourceFile, destinationFile);

            rec.BackupPath = destinationFile;

            ReconciliationFile.UpdateFailReconciliationFile(rec);
        }
Example #7
0
        public void ReadReconciliation()
        {
            var reconciliations = ReconciliationFile.GetReconciliationFile();

            foreach (var rec in reconciliations)
            {
                try
                {
                    BankType(rec);
                }
                catch (Exception ex)
                {
                    CreateLog(ex);
                }
            }
        }
Example #8
0
        private void BankType(ReconciliationFile rec)
        {
            var bankName = GetBank(rec.BackupPath);

            if (bankName == TransactionBanks.BBL.ToString())
            {
                var bbl = new BBLProcessor();
                bbl.Reader(rec);
            }
            else if (bankName == TransactionBanks.KBANK.ToString())
            {
                var kbank = new KBankProcessor();
                kbank.Reader(rec);
            }
            else if (bankName == TransactionBanks.SCB.ToString())
            {
                var scb = new SCBProcessor();
                scb.Reader(rec);
            }
        }
Example #9
0
        private void ReadContents(ReconciliationFile rec)
        {
            try
            {
                List <Reconciliation> reconciliations = new List <Reconciliation>();
                string sourceFileName = rec.BackupPath;
                using (var stream = new StreamReader(new MemoryStream(rec.Contents), Encoding.Default))
                {
                    string str = stream.ReadLine();
                    while (str != null)
                    {
                        str = str.Substring(19);
                        string flag = str.Substring(0, 1).ToUpper();

                        if (flag == "D")
                        {
                            //Line Item
                            var value = MapperReconciliation.CreatePayInSlip(str, rec.Id);
                            reconciliations.Add(value);
                        }
                        str = stream.ReadLine();
                    }

                    if (reconciliations.Count() <= 0)
                    {
                        string msg = string.Format("Invalid PayInSlip Pattern - Id:{0} FullPath:{1}", rec.Id, rec.BackupPath);
                        throw new Exception(msg);
                    }

                    SaveReconcilation(reconciliations.ToArray());
                    ReconciliationFile.UpdateSuccessReconciliationFile(rec.Id);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #10
0
 private void PayInSlip(ReconciliationFile rec)
 {
     ReadStream(rec);
 }
Example #11
0
 private void CreditCard(ReconciliationFile rec)
 {
     throw new NotImplementedException("KBANK_CAN_NOT_PAY_CREDIT_CARD");
 }
Example #12
0
 private void PayInSlip(ReconciliationFile rec)
 {
     ReadContents(rec);
 }