Example #1
0
        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));
                }
            }
        }
Example #2
0
        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));
                }
            }
        }