public static AG_IAS_PAYMENT_DETAIL_HIS ConvertToAG_IAS_PAYMENT_DETAIL_HIS(this AG_IAS_TEMP_PAYMENT_DETAIL_HIS item) { AG_IAS_PAYMENT_DETAIL_HIS entity = new AG_IAS_PAYMENT_DETAIL_HIS(); entity.HIS_ID = item.HIS_ID; entity.ID = item.ID; entity.RECORD_TYPE = item.RECORD_TYPE; entity.BANK_CODE = item.BANK_CODE; entity.COMPANY_ACCOUNT = item.COMPANY_ACCOUNT; entity.PAYMENT_DATE = ParseDateFromString.ParseDateHeaderBank(item.PAYMENT_DATE); entity.PAYMENT_TIME = item.PAYMENT_TIME; entity.CUSTOMER_NAME = item.CUSTOMER_NAME; entity.CUSTOMER_NO_REF1 = item.CUSTOMER_NO_REF1; entity.REF2 = item.REF2; entity.REF3 = item.REF3; entity.BRANCH_NO = item.BRANCH_NO; entity.TELLER_NO = item.TELLER_NO; entity.KIND_OF_TRANSACTION = item.KIND_OF_TRANSACTION; entity.TRANSACTION_CODE = item.TRANSACTION_CODE; entity.CHEQUE_NO = item.CHEQUE_NO; entity.AMOUNT = item.AMOUNT; entity.CHEQUE_BANK_CODE = item.CHEQUE_BANK_CODE; entity.HEADER_ID = item.HEADER_ID; return(entity); }
public static AG_IAS_PAYMENT_DETAIL ConvertToAG_IAS_PAYMENT_DETAIL(this AG_IAS_TEMP_PAYMENT_DETAIL bankPaymentDetail) { AG_IAS_PAYMENT_DETAIL transferDetail = new AG_IAS_PAYMENT_DETAIL(); transferDetail.ID = bankPaymentDetail.ID; transferDetail.RECORD_TYPE = bankPaymentDetail.RECORD_TYPE; transferDetail.BANK_CODE = bankPaymentDetail.BANK_CODE; transferDetail.COMPANY_ACCOUNT = bankPaymentDetail.COMPANY_ACCOUNT; transferDetail.PAYMENT_DATE = ParseDateFromString.ParseDateHeaderBank(bankPaymentDetail.PAYMENT_DATE); transferDetail.PAYMENT_TIME = bankPaymentDetail.PAYMENT_TIME; transferDetail.CUSTOMER_NAME = bankPaymentDetail.CUSTOMER_NAME; transferDetail.CUSTOMER_NO_REF1 = bankPaymentDetail.CUSTOMER_NO_REF1; transferDetail.REF2 = bankPaymentDetail.REF2; transferDetail.REF3 = bankPaymentDetail.REF3; transferDetail.BRANCH_NO = bankPaymentDetail.BRANCH_NO; transferDetail.TELLER_NO = bankPaymentDetail.TELLER_NO; transferDetail.KIND_OF_TRANSACTION = bankPaymentDetail.KIND_OF_TRANSACTION; transferDetail.TRANSACTION_CODE = bankPaymentDetail.TRANSACTION_CODE; transferDetail.CHEQUE_NO = bankPaymentDetail.CHEQUE_NO; transferDetail.AMOUNT = bankPaymentDetail.AMOUNT; transferDetail.CHEQUE_BANK_CODE = bankPaymentDetail.CHEQUE_BANK_CODE; transferDetail.HEADER_ID = bankPaymentDetail.HEADER_ID; transferDetail.STATUS = bankPaymentDetail.STATUS; return(transferDetail); }
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); }
private void Validate() { _paymentStatus = DTO.ImportPaymentStatus.Valid; if (base.RECORD_TYPE != "6") { AddBrokenRule(BankFileDetailBusinessRules.RECORD_TYPE_Required); } if (Utils.DateUtil.ValidateDateFormatString("ddMMyyyy", base.PAYMENT_DATE, "th-TH")) { AddBrokenRule(BankFileDetailBusinessRules.PAYMENT_DATE_Required); } //if (Utils.DateUtil.ValidateDateFormatString("hhmmss", base.PAYMENT_TIME, "th-TH")) // AddBrokenRule(BankFileDetailBusinessRules.PAYMENT_TIME_Required); if (String.IsNullOrEmpty(CUSTOMER_NO_REF1.Trim())) { AddBrokenRule(BankFileDetailBusinessRules.CUSTOMER_NO_REF1_Required); } if (base.CUSTOMER_NO_REF1.Length != 20) { AddBrokenRule(BankFileDetailBusinessRules.CUSTOMER_NO_REF1_Required); } Decimal tempInt; if (!Decimal.TryParse(base.AMOUNT, out tempInt)) { AddBrokenRule(BankFileDetailBusinessRules.AMOUNT_Required); } if (_brokenRules.Count > 0) { _paymentStatus = DTO.ImportPaymentStatus.Invalid; } else { AG_IAS_PAYMENT_G_T payment = CityFileHeader.Context.AG_IAS_PAYMENT_G_T.FirstOrDefault(a => a.GROUP_REQUEST_NO == CUSTOMER_NO_REF1.Trim()); if (payment == null) { Int32 ref1 = 0; if (Regex.IsMatch(CUSTOMER_NO_REF1.Trim(), @"^\d+$"))// Int32.TryParse(CUSTOMER_NO_REF1.Trim(), out ref1)) { _paymentStatus = DTO.ImportPaymentStatus.MissingRefNo; } else { AddBrokenRule(BankFileDetailBusinessRules.CUSTOMER_NO_REF1_Required); _paymentStatus = DTO.ImportPaymentStatus.Invalid; } } else { if (payment.STATUS == PaymentStatus.P.ToString()) { AddBrokenRule(BankFileDetailBusinessRules.CUSTOMER_NO_REF1_Updated); _paymentStatus = DTO.ImportPaymentStatus.Paid; } else { if (payment.EXPIRATION_DATE != null && (((DateTime)payment.EXPIRATION_DATE).Date < ParseDateFromString.ParseDateHeaderBank(PAYMENT_DATE).Date)) { _paymentStatus = DTO.ImportPaymentStatus.Paylate; } } //else if (PhaseAmountHelper.ConvertStringAmount(AMOUNT) != payment.GROUP_AMOUNT) //{ // AddBrokenRule(BankFileDetailBusinessRules.AMOUNT_Required); //} } } }