示例#1
0
文件: Get.cs 项目: jhonner72/plat
        public static VoucherInfoBatch MatchVouchers(iVoucherInfoBatch voucherInfoBatch, IEnumerable<IECLRecord> ECLItemsResult)
        {
            VoucherInfoBatch updatedMatchedVoucher = new VoucherInfoBatch();
            updatedMatchedVoucher.JobIdentifier = voucherInfoBatch.JobIdentifier;

            if (voucherInfoBatch.VoucherInformation != null)
            {
                IECLRecordVoucherInfo[] vouchers = voucherInfoBatch.VoucherInformation
                    .Where(a => a.SkippedForNextProcessing == false)
                    .ToArray<IECLRecordVoucherInfo>();

                var MatchedVouchers = vouchers.Where
                     (voucherInfo => ECLItemsResult.Any
                              (eclItems =>
                               eclItems.Amount == voucherInfo.Voucher.voucher.amount.PadLeft(10, '0') &&
                               eclItems.ChequeSerialNumber == voucherInfo.Voucher.voucher.auxDom.PadLeft(9, '0') &&
                               eclItems.DrawerAccountNumber == voucherInfo.Voucher.voucher.accountNumber.PadLeft(10, ' ') &&
                               eclItems.LedgerBSBCode == voucherInfo.Voucher.voucher.bsbNumber)).Distinct().ToArray<IECLRecordVoucherInfo>();

                var updatedMatchedVouchers = MatchedVouchers.Select(f => GetMatchingECLRecord(f.Voucher, ECLItemsResult)).ToArray<IECLRecordVoucherInfo>();

                updatedMatchedVoucher.VoucherInformation = updatedMatchedVouchers.ToList<IECLRecordVoucherInfo>();
               
            }
            return updatedMatchedVoucher;
        }
示例#2
0
文件: Get.cs 项目: jhonner72/plat
        public static VoucherInfoBatch UnMatchVouchers(iVoucherInfoBatch voucherInfoBatch, VoucherInformation[] MatchedVouchers)
        {
            var unMatchedVoucher = new VoucherInfoBatch();

            if (voucherInfoBatch.VoucherInformation != null)
            {
                var vouchers = voucherInfoBatch.VoucherInformation.Select(a => a.Voucher).ToArray<VoucherInformation>();
                unMatchedVoucher.JobIdentifier = voucherInfoBatch.JobIdentifier;

                if (vouchers.Length != 0)
                {
                    var newQuery = vouchers.Except(MatchedVouchers).Select(a => new ECLRecordVoucherInfo { Voucher = a })
                                                                    .ToList<IECLRecordVoucherInfo>();

                    unMatchedVoucher.VoucherInformation = newQuery;
                }
            }

            return unMatchedVoucher;
        }