public static void ProcessFailed() { try { VAT_SHOP_ECARE Vobj = new VAT_SHOP_ECARE(); DataTable dt = new Database.DAL.VAT_SHOP_ECAREList(ConfigurationSettings.AppSettings["MySQLCon"]).GetDataTable("status<>0 or ResultDesc='under processing'"); foreach (DataRow dr in dt.Rows) { string VAT = dr["VAT_amount"].ToString(); if (VAT == "" || VAT == null) { VAT = GetVaT(dr["RECHARGE_AMOUNT"].ToString()); } else { VAT = dr["VAT_amount"].ToString(); } string result = VATBusiness.Common.FeeDeduct(dr["MSISDN"].ToString(), VAT); Vobj.STATUS = int.Parse(GetValueFromXmlTag(result, "cbs:ResultCode")); Vobj.ResultDesc = GetValueFromXmlTag(result, "cbs:ResultDesc"); if (Vobj.STATUS.Equals(0)) { //VATBusiness.Common.SendSMS("تم خصم ضريبه القيمه المضافه \nVAT Tax Applied is " + Math.Round(decimal.Parse(dr["VAT_amount"].ToString()) / 10000, 2), dr["MSISDN"].ToString()); } new Database.DAL.VAT_SHOP_ECAREList(ConfigurationSettings.AppSettings["MySQLCon"]).Update("Update VAT_SHOP_ECARE set status=" + Vobj.STATUS + ",VAT_amount=" + VAT + ",ResultDesc='" + Vobj.ResultDesc + "' where SEQ_ID=" + dr["SEQ_ID"].ToString()); } } catch (Exception e) { MyLogEvent(e); } }
public void Download() { try { Database.DAL.DBHandler DHOracle = new DBHandler(ESPCon); VAT_SHOP_ECAREList ObjLst = new VAT_SHOP_ECAREList(MySQLCon); //string MAX_SEQ_ID = ObjLst.GetMaxseq_Id(); string DateYYYYMMDD = DateTime.Now.ToString("yyyyMMdd"); string SQL = ""; //if (MAX_SEQ_ID == "") SQL = @"select t1.req_message,t.channel,t.REQ_TIMESTAMP,t.ESB_TRACKING_ID,t.SEQ_ID,t.PARTITION_ID from esb.esb_cle_log_ex t , esb.esb_cle_message_ex t1 where t.seq_id like '" + DateYYYYMMDD + @"%' and t.DESTINATION = 'CBS' and t.service_name = 'Payment' and result_code=0 and channel is null and t1.seq_id=t.seq_id and dbms_lob.instr(t1.req_message , utl_raw.CAST_TO_RAW('CardPinNumber'), 1, 1) <= 0 "; DataTable DTR = DHOracle.ExecuteDataTable(SQL); foreach (DataRow dr in DTR.Rows) { VAT_SHOP_ECARE Vobj = new VAT_SHOP_ECARE(); if (ObjLst.GetDataTable("seq_Id=" + dr["seq_Id"]).Rows.Count == 0) { string RequestXMLcontent = VATBusiness.Common.BinaryToText((byte[])dr["req_message"]); List <string> CashString = VATBusiness.Common.ParseSOAPResponse(RequestXMLcontent, "http://www.huawei.com/bme/cbsinterface/arservices", "CashPayment"); if (CashString.Count > 0) { string CashPaymentTAG = CashString[0]; string CashPaymentVal = VATBusiness.Common.getXMLTagValue(CashPaymentTAG, "<ars:Amount>"); if (VATBusiness.Common.ParseSOAPResponse(RequestXMLcontent, "http://cbs.huawei.com/ar/wsservice/arcommon", "PrimaryIdentity").Count != 0) { string MSISDNTAG = VATBusiness.Common.ParseSOAPResponse(RequestXMLcontent, "http://cbs.huawei.com/ar/wsservice/arcommon", "PrimaryIdentity")[0]; string MSISDN = VATBusiness.Common.getXMLTagValue(MSISDNTAG); decimal vatRatio = 5; decimal VatPrec = 1.05m; decimal vatAmount = decimal.Parse(GetVaT(CashPaymentVal)); //Math.Round(((decimal.Parse(CashPaymentVal) * vatRatio / 100) / VatPrec), 0); string offerName = GetOfferName(MSISDN); if (vatAmount == 0) { vatAmount = Math.Round(((decimal.Parse(CashPaymentVal) * vatRatio / 100) / VatPrec), 0); } if (!offerName.Equals("")) { Vobj.STATUS = -1; Vobj.ResultDesc = "Under processing"; Vobj.MSISDN = MSISDN; Vobj.OFFER_NAME = offerName; Vobj.RECHARGE_AMOUNT = int.Parse(CashPaymentVal); Vobj.REQ_XML = RequestXMLcontent; Vobj.SEQ_ID = dr["SEQ_ID"].ToString(); Vobj.CHANNEL = dr["CHANNEL"] == null ? "" : dr["CHANNEL"].ToString(); Vobj.Partition_ID = dr["partition_id"].ToString(); Vobj.TRACK_ID = dr["ESB_TRACKING_ID"].ToString(); Vobj.TRANSDATE = dr["REQ_TIMESTAMP"].ToString(); Vobj.VAT_AMOUNT = vatAmount; ObjLst.Add(Vobj); } } } } } ProcessFailed(); // process failed records } catch (Exception e) { MyLogEvent(e); } }