private void Consumer() { List <E_TRANSFER_COMMISSION_SPLIT> splitFormular = CachingProvider.GetCachedData <List <E_TRANSFER_COMMISSION_SPLIT> >("Transfer"); List <E_FUNDGATE_COMMISSION_SPLIT> fundGatesplitFormular = CachingProvider.GetCachedData <List <E_FUNDGATE_COMMISSION_SPLIT> >("FundGate"); List <CommissionMapViewModel> commission = AutoMapper.Mapper.Map <List <CommissionMapViewModel> >(splitFormular); List <CommissionMapViewModel> fundGatecommission = AutoMapper.Mapper.Map <List <CommissionMapViewModel> >(fundGatesplitFormular); using (EtzbkDataContext etzbk = new EtzbkDataContext()) { try { etzbk.Configuration.AutoDetectChangesEnabled = false; int i = 0; foreach (var item in enqueData.GetConsumingEnumerable()) { List <E_FEE_DETAIL_BK> feeDetailList = new List <E_FEE_DETAIL_BK>(); if (item.CHANNELID == "09") { feeDetailList = FeeProcessing.ProcessCardloadSplit(item, fundGatecommission); } else { feeDetailList = FeeProcessing.ProcessCardloadSplit(item, commission); } etzbk.E_FEE_DETAIL_BK.AddRange(feeDetailList); E_SETTLEMENT_DOWNLOAD_BK e_settlement = AutoMapper.Mapper.Map <E_SETTLEMENT_DOWNLOAD_BK>(item); decimal bankFee = feeDetailList.Where(fee => fee.MERCHANT_CODE.EndsWith("9999")).Select(FEE => FEE.FEE).FirstOrDefault(); e_settlement.BANK_FEE = bankFee; etzbk.E_SETTLEMENT_DOWNLOAD_BK.Add(e_settlement); if (i % 50 == 0) { etzbk.SaveChanges(); } i++; } etzbk.SaveChanges(); } catch (Exception ex) { Logger logger = new Logger(); Console.WriteLine("Exception from EtranzactChannelTransaction Run " + ExceptionExtensions.GetFullMessage(ex)); logger.LogInfoMessage("Exception from Run " + nameof(EtranzactChannelTransaction) + " " + ExceptionExtensions.GetFullMessage(ex)); } } }
internal static void ProcessTransferSettlement(E_TRANSACTION item) { List <E_TRANSFER_COMMISSION_SPLIT> splitFormular = CachingProvider.GetCachedData <List <E_TRANSFER_COMMISSION_SPLIT> >("Transfer"); List <E_FUNDGATE_COMMISSION_SPLIT> fundGatesplitFormular = CachingProvider.GetCachedData <List <E_FUNDGATE_COMMISSION_SPLIT> >("FundGate"); List <CommissionMapViewModel> commission = AutoMapper.Mapper.Map <List <CommissionMapViewModel> >(splitFormular); List <CommissionMapViewModel> fundGatecommission = AutoMapper.Mapper.Map <List <CommissionMapViewModel> >(fundGatesplitFormular); using (EtzbkDataContext etzbk = new EtzbkDataContext()) { try { List <E_FEE_DETAIL_BK> feeDetailList = new List <E_FEE_DETAIL_BK>(); if (item.CHANNELID == "09") { feeDetailList = FeeProcessing.ProcessCardloadSplit(item, fundGatecommission); } else { feeDetailList = FeeProcessing.ProcessCardloadSplit(item, commission); } var e_Fee_detail = RemoveSettledFeeDetails(feeDetailList); etzbk.E_FEE_DETAIL_BK.AddRange(e_Fee_detail); E_SETTLEMENT_DOWNLOAD_BK e_settlement = AutoMapper.Mapper.Map <E_SETTLEMENT_DOWNLOAD_BK>(item); decimal bankFee = feeDetailList.Where(fee => fee.MERCHANT_CODE.EndsWith("9999")).Select(FEE => FEE.FEE).FirstOrDefault(); e_settlement.BANK_FEE = bankFee; if (!CheckSettledFee(e_settlement)) { etzbk.E_SETTLEMENT_DOWNLOAD_BK.Add(e_settlement); } item.PROCESS_STATUS = "1"; etzbk.E_TRANSACTION.Add(item); etzbk.Entry(item).State = System.Data.Entity.EntityState.Modified; etzbk.SaveChanges(); } catch (Exception ex) { Console.WriteLine("Exception from " + System.Reflection.MethodBase.GetCurrentMethod().Name + " " + nameof(Settlement) + " " + ExceptionExtensions.GetFullMessage(ex)); logger.LogInfoMessage("Exception from Run " + nameof(Settlement) + " " + System.Reflection.MethodBase.GetCurrentMethod().Name + " " + ExceptionExtensions.GetFullMessage(ex)); } } }