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); }
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); }
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); }