Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
 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);
     }
 }