Ejemplo n.º 1
0
 public void logOrder(m_LogOrder log)
 {
     using (var conn = new OracleConnection(Database.conString))
     {
         try
         {
             conn.Open();
             using (var cmd = new OracleCommand(SqlCmd.Log.logOrder, conn)
             {
                 CommandType = CommandType.Text
             })
             {
                 cmd.Parameters.Add("cust_no", log.cust_no);
                 cmd.Parameters.Add("con_no", log.con_no);
                 cmd.Parameters.Add("order_no", log.order_no);
                 cmd.Parameters.Add("trans_no", log.trans_no);
                 cmd.Parameters.Add("channel_id", log.channel_id);
                 cmd.Parameters.Add("pay_amt", log.pay_amt);
                 cmd.Parameters.Add("trans_amt", log.trans_amt);
                 cmd.Parameters.Add("device_id", log.device_id);
                 cmd.Parameters.Add("tel", log.tel);
                 cmd.Parameters.Add("note", log.note);
                 cmd.Parameters.Add("ip_addr", log.ip_addr);
                 cmd.ExecuteNonQuery();
                 cmd.Dispose();
             }
         }
         finally
         {
             conn.Close();
             conn.Dispose();
         }
     }
     //oracle = new Database();
     //List<OracleParameter> parameter = new List<OracleParameter>
     //{
     //    new OracleParameter("cust_no", log.cust_no),
     //    new OracleParameter("con_no", log.con_no),
     //    new OracleParameter("order_no", log.order_no),
     //    new OracleParameter("trans_no", log.trans_no),
     //    new OracleParameter("channel_id", log.channel_id),
     //    new OracleParameter("pay_amt", log.pay_amt),
     //    new OracleParameter("trans_amt", log.trans_amt),
     //    new OracleParameter("device_id", log.device_id),
     //    new OracleParameter("tel", log.tel),
     //    new OracleParameter("note", log.note),
     //    new OracleParameter("ip_addr", log.ip_addr)
     //};
     //oracle.SqlExecuteWithParams(SqlCmd.Log.logOrder, parameter);
     //oracle.OracleDisconnect();
 }
Ejemplo n.º 2
0
        public IHttpActionResult PostNewPayment2([FromBody] PaymentReq value)
        {
            var setting        = (AppSettingsSection)WebConfigurationManager.OpenWebConfiguration("~").GetSection("appSettings");
            var appService     = setting.Settings["AppService"].Value;
            var paymentService = setting.Settings["PaymentService"].Value;

            if (appService == "False" || paymentService == "False")
            {
                return(Unauthorized());
            }
            value.IPAddress = HttpContext.Current.Request.UserHostAddress;
            string clientHostname = HttpContext.Current.Request.UserHostName;
            string url            = HttpContext.Current.Request.Path;

            try
            {
                //value.OrderNo = "test001";
                value.Description = "testAPI";
                string strAmt = value.Amount.ToString();
                strAmt       = strAmt.Insert(strAmt.Length - 2, ".");
                value.PayAmt = double.Parse(strAmt);
                mlog         = new m_LogReq();
                if (!ModelState.IsValid)
                {
                    return(BadRequest("Invalid parameter!"));
                }

                user = new User();
                var cust = user.getProfileById(value.CustomerId);
                if (cust != null)
                {
                    var contract = user.findContract(value.CustomerId, value.ContractNo);
                    if (contract != null)
                    {
                        if (value.PayAmt <= (contract.BAL_AMT - contract.DISC_AMT))
                        {
                            Payment    payment = new Payment();
                            PaymentRes res     = payment.createPayment(value);
                            if (res == null)
                            {
                                //mlogOrder = new m_LogOrder();
                                //mlogOrder.cust_no = value.CustomerId;
                                //mlogOrder.con_no = value.ContractNo;
                                //mlogOrder.channel_id = value.ChannelCode;
                                //mlogOrder.pay_amt = value.PayAmt;
                                //mlogOrder.trans_amt = value.Amount;
                                //mlogOrder.device_id = value.DeviceId;
                                //mlogOrder.tel = value.PhoneNumber;
                                //mlogOrder.note = "ระบบขัดข้อง ไม่สามารถทำรายการได้";
                                //mlogOrder.ip_addr = value.IPAddress;
                                //log.logOrder(mlogOrder);



                                monitor.sendMessage(url, clientHostname, value, new { request_status = "FAILURE", desc = "Internal server error / Invalid parameter!", data = res });
                                return(Ok(new { code = 500, message = "ระบบขัดข้อง ไม่สามารถทำรายการได้", data = res }));
                            }
                            else
                            {
                                monitor.sendMessage(url, clientHostname, value, new { request_status = "SUCCESS", desc = "Requested to Payment Gateway", data = res });
                                return(Ok(new { code = 200, message = "สร้างรายการชำระเงินสำเร็จ", data = res }));
                            }
                        }
                        else
                        {
                            mlogOrder            = new m_LogOrder();
                            mlogOrder.cust_no    = value.CustomerId;
                            mlogOrder.con_no     = value.ContractNo;
                            mlogOrder.channel_id = value.ChannelCode;
                            mlogOrder.pay_amt    = value.PayAmt;
                            mlogOrder.trans_amt  = value.Amount;
                            mlogOrder.device_id  = value.DeviceId;
                            mlogOrder.tel        = value.PhoneNumber;
                            mlogOrder.note       = "จำนวนเงินที่ต้องการชำระมากกว่ายอดคงเหลือหลังจากที่หักส่วนลดแล้ว";
                            mlogOrder.ip_addr    = value.IPAddress;
                            log.logOrder(mlogOrder);
                            //mlog.cust_no = value.CustomerId;
                            //mlog.device_id = value.DeviceId;
                            //mlog.ip_addr = value.IPAddress;
                            //mlog.note = "จำนวนเงินที่ต้องการชำระมากกว่ายอดคงเหลือหลังจากที่หักส่วนลดแล้ว";
                            //mlog.url = "api/authen/newpayment2";
                            //log.logRequest(mlog);
                            monitor.sendMessage(url, clientHostname, value, new { request_status = "FAILURE", desc = "จำนวนเงินที่ต้องการชำระมากกว่ายอดคงเหลือหลังจากที่หักส่วนลดแล้ว", data = string.Empty });
                            return(Ok(new { code = 400, message = "จำนวนเงินที่ต้องการชำระมากกว่ายอดคงเหลือหลังจากที่หักส่วนลดแล้ว", data = contract }));
                        }
                    }
                    else
                    {
                        mlogOrder            = new m_LogOrder();
                        mlogOrder.cust_no    = value.CustomerId;
                        mlogOrder.con_no     = value.ContractNo;
                        mlogOrder.channel_id = value.ChannelCode;
                        mlogOrder.pay_amt    = value.PayAmt;
                        mlogOrder.trans_amt  = value.Amount;
                        mlogOrder.device_id  = value.DeviceId;
                        mlogOrder.tel        = value.PhoneNumber;
                        mlogOrder.note       = "ไม่พบสัญญาของลูกค้า";
                        mlogOrder.ip_addr    = value.IPAddress;
                        log.logOrder(mlogOrder);
                        //mlog.cust_no = value.CustomerId;
                        //mlog.device_id = value.DeviceId;
                        //mlog.ip_addr = value.IPAddress;
                        //mlog.note = "ไม่พบสัญญาของลูกค้า";
                        //mlog.url = "api/authen/newpayment2";
                        //log.logRequest(mlog);
                        monitor.sendMessage(url, clientHostname, value, new { request_status = "FAILURE", desc = "Not found contract!", data = contract });
                        return(Ok(new { code = 400, message = "ไม่พบข้อมูลสัญญาในระบบ", data = contract }));
                    }
                }
                else
                {
                    mlogOrder            = new m_LogOrder();
                    mlogOrder.cust_no    = value.CustomerId;
                    mlogOrder.con_no     = value.ContractNo;
                    mlogOrder.channel_id = value.ChannelCode;
                    mlogOrder.pay_amt    = value.PayAmt;
                    mlogOrder.trans_amt  = value.Amount;
                    mlogOrder.device_id  = value.DeviceId;
                    mlogOrder.tel        = value.PhoneNumber;
                    mlogOrder.note       = "ไม่พบข้อมูลลูกค้าในระบบ";
                    mlogOrder.ip_addr    = value.IPAddress;
                    log.logOrder(mlogOrder);
                    //mlog.cust_no = value.CustomerId;
                    //mlog.device_id = value.DeviceId;
                    //mlog.ip_addr = value.IPAddress;
                    //mlog.note = "ไม่พบข้อมูลลูกค้า";
                    //mlog.url = "api/authen/newpayment2";
                    //log.logRequest(mlog);
                    monitor.sendMessage(url, clientHostname, value, new { request_status = "FAILURE", desc = "Not found customer!", data = cust });
                    return(Ok(new { code = 400, message = "ไม่พบข้อมูลลูกค้าในระบบ", data = cust }));
                }
            }
            catch (Exception e)
            {
                mlog           = new m_LogReq();
                mlog.cust_no   = value.CustomerId;
                mlog.device_id = value.DeviceId;
                mlog.ip_addr   = value.IPAddress;
                mlog.note      = e.Message;
                mlog.url       = "api/authen/newpayment2";
                log.logRequest(mlog);
                monitor.sendMessage(url, clientHostname, value, new { request_status = "FAILURE", Message = e.Message });
                return(Ok(new { code = 500, message = e.Message, data = string.Empty }));
            }
        }