Esempio n. 1
0
        public void ConvertStringAmount_Can_Phase_Test()
        {
            Decimal result;

            result = PhaseAmountHelper.ConvertStringAmount("0000000020000");
            Assert.AreEqual(result, 200);

            result = PhaseAmountHelper.ConvertStringAmount("0000000220000");
            Assert.AreEqual(result, 2200);

            result = PhaseAmountHelper.ConvertStringAmount("0000000220021");
            Assert.AreEqual(result, 2200.21);

            Decimal resultError = PhaseAmountHelper.ConvertStringAmount("000xxx2000000");

            Assert.AreEqual(result, 0);
        }
Esempio n. 2
0
        public static IEnumerable <DTO.BankTransaction> ConvertToBankTransactions(this IEnumerable <BankFileDetail> ktbFileDetails)
        {
            IList <DTO.BankTransaction> bankTransactions = new List <DTO.BankTransaction>();

            foreach (BankFileDetail item in ktbFileDetails)
            {
                bankTransactions.Add(new DTO.BankTransaction()
                {
                    Id           = item.ID,
                    SequenceNo   = item.SequenceNo,
                    PaymentDate  = String.Format("{0}/{1}/{2}", item.PAYMENT_DATE.Substring(0, 2), item.PAYMENT_DATE.Substring(2, 2), item.PAYMENT_DATE.Substring(4, 4)),
                    CustomerName = item.CUSTOMER_NAME,
                    Ref1         = item.CUSTOMER_NO_REF1,
                    Ref2         = item.REF2,
                    ChequeNo     = item.CHEQUE_NO,
                    Amount       = PhaseAmountHelper.ConvertStringAmount(item.AMOUNT)
                });
            }

            return(bankTransactions);
        }
        public static IEnumerable <DTO.BankTransaction> ConvertToBankTransactions(this IEnumerable <AG_IAS_PAYMENT_DETAIL> ktbFileDetails)
        {
            IList <DTO.BankTransaction> bankTransactions = new List <DTO.BankTransaction>();
            Int32 seq = 0;

            foreach (AG_IAS_PAYMENT_DETAIL item in ktbFileDetails)
            {
                seq++;
                bankTransactions.Add(new DTO.BankTransaction()
                {
                    Id           = item.ID,
                    SequenceNo   = seq.ToString(),
                    PaymentDate  = ((DateTime)item.PAYMENT_DATE).ToString("dd/MM/yyyy"), // , item.PAYMENT_DATE.Substring(2, 2), item.PAYMENT_DATE.Substring(4, 4)),
                    CustomerName = item.CUSTOMER_NAME,
                    Ref1         = item.CUSTOMER_NO_REF1,
                    Ref2         = item.REF2,
                    ChequeNo     = item.CHEQUE_NO,
                    Amount       = PhaseAmountHelper.ConvertStringAmount(item.AMOUNT)
                });
            }

            return(bankTransactions);
        }
Esempio n. 4
0
        public DTO.UploadResult <DTO.SummaryBankTransaction, DTO.BankTransaction> ValidateData()
        {
            DTO.UploadResult <DTO.SummaryBankTransaction, DTO.BankTransaction> result = new DTO.UploadResult <DTO.SummaryBankTransaction, DTO.BankTransaction>();
            result.Header  = new List <DTO.SummaryBankTransaction>();
            result.Detail  = new List <DTO.BankTransaction>();
            result.GroupId = this.ID;


            foreach (CityFileDetail item in this.CityFileDetails)
            {
                DTO.BankTransaction detail = new DTO.BankTransaction()
                {
                    Id           = item.ID,
                    SequenceNo   = item.SequenceNo,
                    PaymentDate  = ParseDateFromString.ParseDateHeaderBank(item.PAYMENT_DATE).ToString("dd/MM/yyyy"), //  .Format("{0}/{1}/{2}", item.PAYMENT_DATE.Substring(0, 2), item.PAYMENT_DATE.Substring(2, 2), item.PAYMENT_DATE.Substring(4, 4)),
                    CustomerName = item.CUSTOMER_NAME,
                    Ref1         = item.CUSTOMER_NO_REF1,
                    Ref2         = item.REF2,
                    ChequeNo     = item.CHEQUE_NO,
                    Amount       = PhaseAmountHelper.ConvertStringAmountCity(item.AMOUNT),
                    AccountNo    = item.COMPANY_ACCOUNT,
                };

                detail.ErrorMessage = (item.GetBrokenRules().Count() > 0) ? item.GetBrokenRules().First().Rule : "";
                detail.Status       = (int)item.Status;
                if (item.Status == DTO.ImportPaymentStatus.Paylate)
                {
                    detail.ErrorMessage += String.Format("- นำส่งล้าช้า <br />");
                }


                result.Detail.Add(detail);
            }


            Int32 countDetail    = CityFileDetails.Count();
            Int32 countOfInvalid = result.Detail.Where(a => !String.IsNullOrEmpty(a.ErrorMessage)).Count();



            Decimal sumAmount = PhaseAmountHelper.ConvertStringAmountCity(CityFileTotal.TOTAL_CREDIT_AMOUNT);


            DTO.SummaryBankTransaction sumary = new DTO.SummaryBankTransaction()
            {
                UploadDate      = DateTime.Today,
                FileName        = FileName,
                NumberOfItems   = countDetail,
                NumberOfValid   = countDetail - countOfInvalid,
                NumberOfInValid = countOfInvalid,
                Total           = this.TotalAmount,
            };

            //foreach (CityFileTotal item in this.CityFileTotals)
            //{
            //    if (item.GetBrokenRules().Count() > 0)
            //    {
            //        sumary.ErrMessage = this.CityFileTotal.GetBrokenRules().First().Rule;
            //        break;
            //    }
            //}
            Decimal sumDetail = this.CityFileDetails.Sum(a => PhaseAmountHelper.ConvertStringAmountCity(a.AMOUNT));

            if (sumary.Total != sumDetail)
            {
                sumary.ErrMessage = "จำนวนเงินรวม เอกสารไม่ถูกต้อง";
            }

            result.Header.Add(sumary);
            return(result);
        }