コード例 #1
0
    public GetPolicyDetailForPayment_Result GetPolicyDetailForPayment(string partnerUsername, string partnerPassword, string policyNumber)
    {
        GetPolicyDetailForPayment_Result obj = new GetPolicyDetailForPayment_Result();
        RefRunningTBBLL runningobj = new RefRunningTBBLL();
        this.refnum = runningobj.AddRefRunningTBAndReturn();
        WSLogBLL logobj = new WSLogBLL();
        string methodName = "GetPolicyDetailForPayment";

        try
        {
            if (partnerUsername == "" || partnerPassword == "" || policyNumber == "")
            {
                this.partnerName = partnerUsername;
                // LogRequest: Insert Log Request
                logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + policyNumber, this.refnum);

                obj.Result = "notcomplete_กรุณาระบุข้อมูลให้ครบถ้วน";
            }
            else if (policyNumber.Trim().Substring(0, 2) == "PA")
            {
                this.partnerName = partnerUsername;
                // LogRequest: Insert Log Request
                logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + policyNumber, this.refnum);

                obj.Result = "notcomplete_กรมธรรม์นี้ไม่รับชำระค่าเบี้ยประกันต่ออายุออนไลน์";
            }
            else if (policyNumber.Length != 10 || !MTL.Utils.ThisWeb.CheckIsNumeric(policyNumber))
            {
                this.partnerName = partnerUsername;
                // LogRequest: Insert Log Request
                logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + policyNumber, this.refnum);

                obj.Result = "notcomplete_กรุณาระบุเลขกรมธรรม์ให้ถูกต้อง";
            }
            else
            {
                // พิสูจน์ตัวตนของพันธมิตรก่อนที่จะให้ใช้งานจริง
                NETWS_ForPartnerAuthenticationChecking.CheckPartnerAuthentication_Result pacobj = CheckPartnerAuthenticationReturnDetail(partnerUsername, partnerPassword, this.ipaddress);
                if (pacobj.Result.Trim().ToLower() == "passed")
                {
                    this.partnerName = pacobj.PartnerName;
                    // LogRequest: Insert Log Request
                    logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + policyNumber, this.refnum);

                    // ดึงข้อมูลรายละเอียดของกรมธรรม์กับ ApplinX WS_Admin
                    ApplinXGetShortPolicyDetail2Result resAdminObj = new ApplinXGetShortPolicyDetail2Result();
                    MTL.WS_Admin.WS_Admin_ForMTLmPOS.WS_Admin_ForMPosService adminWSObj = new MTL.WS_Admin.WS_Admin_ForMTLmPOS.WS_Admin_ForMPosService();
                    resAdminObj.fld_result = adminWSObj.GetShortPolicyDetail2(this.admin_username, this.admin_password, policyNumber, out resAdminObj.fld_sessionID, out resAdminObj.fld_service_agent, out resAdminObj.fld_client_name, out resAdminObj.fld_face_amount, out resAdminObj.fld_paid_mode, out resAdminObj.fld_plan_code, out resAdminObj.fld_plan_name, out resAdminObj.fld_total_premium, out resAdminObj.fld_policy_status, out resAdminObj.fld_issue_date, out resAdminObj.fld_warning_message);
                    if (resAdminObj.fld_result.Trim().ToLower() == "found")
                    {
                        //// ตรวจสอบว่าสถานะกรมธรรม์เป็น 1/B/7/9 หรือไม่ ถ้าไม่เป็นจะไม่ยอมให้ชำระต่ออายุออนไลน์
                        //if (resAdminObj.fld_policy_status.Trim().ToUpper() != "1" && resAdminObj.fld_policy_status.Trim().ToUpper() != "B" && resAdminObj.fld_policy_status.Trim().ToUpper() != "7" && resAdminObj.fld_policy_status.Trim().ToUpper() != "9")
                        // 20150115 พี่ไร, พี่มด ให้รองรับเฉพาะสถานะกรมธรรม์เป็น 1 เท่านั้น
                        // ตรวจสอบว่าสถานะกรมธรรม์เป็น 1 หรือไม่ ถ้าไม่เป็นจะไม่ยอมให้ชำระต่ออายุออนไลน์
                        if (resAdminObj.fld_policy_status.Trim().ToUpper() != "1")
                        {
                            obj.Result = "notcomplete_กรมธรรม์นี้ไม่รับชำระค่าเบี้ยประกันต่ออายุออนไลน์";
                        }
                        else
                        {
                            // ตรวจสอบว่าเป็นกรมธรรม์ที่สามารถรับชำระด้วยวิธีการใดได้บ้าง
                            if (resAdminObj.fld_warning_message.Contains("อนุโลม"))
                            {
                                obj.PaymentTypeToPay = "CCP|CDC";
                            }
                            else if (resAdminObj.fld_warning_message.Contains("ไม่รับบัตรเครดิต"))
                            {
                                obj.PaymentTypeToPay = "CCP";
                            }
                            else
                            {
                                obj.PaymentTypeToPay = "CCP|CDC";
                            }

                            // ตรวจสอบว่าเป็นกรมธรรม์ประเภท PA หรือไม่ (เลขกรมธรรม์ขึ้นต้นด้วย 8) ถ้าใช่จะต้องไปเอาค่าเบี้ยประกันรวมจากหน้าจอใบเสร็จ
                            if (policyNumber.Trim().Substring(0, 1) == "8")
                            {
                                MTL.WS_Admin.WS_Admin_ForMTLmPOS.CPINQ03_ReceiptDetailList[] receiptList;
                                string receiptResult = adminWSObj.GetReceiptDetailList(this.admin_username, this.admin_password, policyNumber, "", "", out resAdminObj.fld_sessionID, out receiptList);
                                if (receiptResult.Trim().ToLower() == "completed")
                                {
                                    var lastListResult = receiptList.Last();

                                    obj.TotalPremium = lastListResult.Amount.Trim();
                                }
                                else
                                {
                                    obj.TotalPremium = resAdminObj.fld_total_premium.Trim();
                                }
                            }
                            else
                            {
                                obj.TotalPremium = resAdminObj.fld_total_premium.Trim();
                            }

                            obj.Result = "completed";
                            obj.SessionID = resAdminObj.fld_sessionID.Trim();
                            obj.ClientName = resAdminObj.fld_client_name.Trim();
                            obj.FaceAmount = resAdminObj.fld_face_amount.Trim();
                            obj.IssueDate = resAdminObj.fld_issue_date.Trim();
                            obj.PaidMode = resAdminObj.fld_paid_mode.Trim();
                            obj.PlanCode = resAdminObj.fld_plan_code.Trim();
                            obj.PlanName = resAdminObj.fld_plan_name.Trim();
                            obj.PolicyStatus = resAdminObj.fld_policy_status.Trim();
                            obj.ServiceAgent = resAdminObj.fld_service_agent.Trim();
                            obj.WarningMessage = resAdminObj.fld_warning_message.Trim();
                        }
                    }
                    else
                    {
                        obj.Result = resAdminObj.fld_result.Trim().Replace("notfound_", "notcomplete_");
                    }
                }
                else
                {
                    this.partnerName = pacobj.PartnerName;
                    // LogRequest: Insert Log Request
                    logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + policyNumber, this.refnum);

                    obj.Result = pacobj.Result.Trim().Replace("notpass_", "notcomplete_");
                }
            }

            // LogResponse: Insert Log Response
            logobj.AddWSLog(this.partnerName, this.ipaddress, "Response", this.webserviceName, methodName, obj.Result + "|" + obj.PolicyStatus + "|" + obj.TotalPremium + "|" + "|" + obj.WarningMessage + "|" + obj.PlanCode + "|" + obj.PlanName + "|" + obj.ClientName + "|" + obj.SessionID, this.refnum);

            return obj;
        }
        catch (Exception ex)
        {
            obj.Result = "notcomplete_" + ex.Message.ToString();

            // LogResponse: Insert Log Response
            logobj.AddWSLog(this.partnerName, this.ipaddress, "Response", this.webserviceName, methodName, obj.Result, this.refnum);

            return obj;
        }
    }
コード例 #2
0
    public GetAgentPolicyDetailForPayment_Result GetAgentPolicyDetailForPayment(string partnerUsername, string partnerPassword, string agentNumber, string agentPassword, string policyNumber)
    {
        GetAgentPolicyDetailForPayment_Result obj = new GetAgentPolicyDetailForPayment_Result();
        RefRunningTBBLL runningobj = new RefRunningTBBLL();
        this.refnum = runningobj.AddRefRunningTBAndReturn();
        WSLogBLL logobj = new WSLogBLL();
        string methodName = "GetAgentPolicyByPolicyNumber";

        try
        {
            if (partnerUsername == "" || partnerPassword == "" || policyNumber == "" || agentNumber == "" || agentPassword == "")
            {
                this.partnerName = partnerUsername;
                // LogRequest: Insert Log Request
                logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + agentNumber + "|" + agentPassword + "|" + policyNumber, this.refnum);

                obj.Result = "notpass_กรุณาระบุข้อมูลให้ครบถ้วน";
            }
            else if (policyNumber.Length != 10 || !MTL.Utils.ThisWeb.CheckIsNumeric(policyNumber))
            {
                this.partnerName = partnerUsername;
                // LogRequest: Insert Log Request
                logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + agentNumber + "|" + agentPassword + "|" + policyNumber, this.refnum);

                obj.Result = "notcomplete_กรุณาระบุเลขกรมธรรม์ให้ถูกต้อง";
            }
            else if (agentNumber.Length != 6 || !MTL.Utils.ThisWeb.CheckIsNumeric(agentNumber))
            {
                this.partnerName = partnerUsername;
                // LogRequest: Insert Log Request
                logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + agentNumber + "|" + agentPassword + "|" + policyNumber, this.refnum);

                obj.Result = "notcomplete_กรุณาระบุเลขที่ตัวแทนให้ถูกต้อง";
            }
            else if (agentPassword.Length != 6 || !MTL.Utils.ThisWeb.CheckIsNumeric(agentPassword))
            {
                this.partnerName = partnerUsername;
                // LogRequest: Insert Log Request
                logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + agentNumber + "|" + agentPassword + "|" + policyNumber, this.refnum);

                obj.Result = "notcomplete_กรุณาระบุรหัสผ่านตัวแทนให้ถูกต้อง";
            }
            else
            {
                // พิสูจน์ตัวตนของพันธมิตรก่อนที่จะให้ใช้งานจริง
                NETWS_ForPartnerAuthenticationChecking.CheckPartnerAuthentication_Result pacobj = CheckPartnerAuthenticationReturnDetail(partnerUsername, partnerPassword, this.ipaddress);
                if (pacobj.Result.Trim().ToLower() == "passed")
                {
                    this.partnerName = pacobj.PartnerName;
                    // LogRequest: Insert Log Request
                    logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + agentNumber + "|" + agentPassword + "|" + policyNumber, this.refnum);

                    //// ตรวจสอบว่าเลขกรมธรรม์ที่ระบุเป็นกรมธรรม์ของตัวแทนจริงกับ ApplinX WS_Agent
                    //ApplinXCheckAgentOwnerPolicyResult resAgentObj = new ApplinXCheckAgentOwnerPolicyResult();
                    //MTL.WS_Agent.WS_Agent_ForMTLmPOS.WS_Agent_ForMPosService agentWSObj = new MTL.WS_Agent.WS_Agent_ForMTLmPOS.WS_Agent_ForMPosService();
                    //resAgentObj.fld_result = agentWSObj.CheckAgentOwnerPolicy(agentNumber, agentPassword, policyNumber, out resAgentObj.fld_sessionID, out resAgentObj.fld_belong_to_agent, out resAgentObj.fld_client_name, out resAgentObj.fld_face_amount, out resAgentObj.fld_plan_code, out resAgentObj.fld_plan_name, out resAgentObj.fld_total_premium);
                    //if (resAgentObj.fld_result.Trim().ToLower() == "หมายเลขกรมธรรม์ถูกต้อง")
                    //{
                        // ดึงข้อมูลรายละเอียดของกรมธรรม์กับ ApplinX WS_Admin
                        ApplinXGetShortPolicyDetail2Result resAdminObj = new ApplinXGetShortPolicyDetail2Result();
                        MTL.WS_Admin.WS_Admin_ForMTLmPOS.WS_Admin_ForMPosService adminWSObj = new MTL.WS_Admin.WS_Admin_ForMTLmPOS.WS_Admin_ForMPosService();
                        resAdminObj.fld_result = adminWSObj.GetShortPolicyDetail2(this.admin_username, this.admin_password, policyNumber, out resAdminObj.fld_sessionID, out resAdminObj.fld_service_agent, out resAdminObj.fld_client_name, out resAdminObj.fld_face_amount, out resAdminObj.fld_paid_mode, out resAdminObj.fld_plan_code, out resAdminObj.fld_plan_name, out resAdminObj.fld_total_premium, out resAdminObj.fld_policy_status, out resAdminObj.fld_issue_date, out resAdminObj.fld_warning_message);
                        if (resAdminObj.fld_result.Trim().ToLower() == "found")
                        {
                            if (resAdminObj.fld_policy_status.Trim().ToUpper() != "1" && resAdminObj.fld_policy_status.Trim().ToUpper() != "B" && resAdminObj.fld_policy_status.Trim().ToUpper() != "7" && resAdminObj.fld_policy_status.Trim().ToUpper() != "8" && resAdminObj.fld_policy_status.Trim().ToUpper() != "9")
                            {
                                obj.Result = "notcomplete_กรมธรรม์นี้ไม่สามารถรับชำระผ่านช่องทาง mPOS ได้ กรุณาชำระผ่านช่องทางอื่นๆ ของบริษัทฯ";
                            }
                            else if (resAdminObj.fld_warning_message.Contains("ไม่รับบัตรเครดิต"))
                            {
                                obj.Result = "notcomplete_กรมธรรม์นี้ไม่รับชำระด้วยบัตรเครดิต";
                                obj.WarningMessage = "";
                            }
                            else
                            {
                                obj.Result = "completed";
                                obj.SessionID = resAdminObj.fld_sessionID.Trim();
                                obj.ClientName = resAdminObj.fld_client_name.Trim();
                                obj.FaceAmount = resAdminObj.fld_face_amount.Trim();
                                obj.IssueDate = resAdminObj.fld_issue_date.Trim();
                                obj.PaidMode = resAdminObj.fld_paid_mode.Trim();
                                obj.PlanCode = resAdminObj.fld_plan_code.Trim();
                                obj.PlanName = resAdminObj.fld_plan_name.Trim();
                                obj.PolicyStatus = resAdminObj.fld_policy_status.Trim();
                                obj.ServiceAgent = resAdminObj.fld_service_agent.Trim();
                                obj.TotalPremium = resAdminObj.fld_total_premium.Trim();
                                obj.WarningMessage = resAdminObj.fld_warning_message.Trim();
                            }

                            if (resAdminObj.fld_policy_status.Trim().ToUpper() == "8")
                            {
                                obj.TotalPremium = "";
                            }
                        }
                        else
                        {
                            obj.Result = resAdminObj.fld_result.Trim().Replace("notfound_", "notcomplete_");
                        }
                    //}
                    //else
                    //{
                    //    obj.Result = "notcomplete_" + resAgentObj.fld_result.Trim();
                    //}
                }
                else
                {
                    this.partnerName = pacobj.PartnerName;
                    // LogRequest: Insert Log Request
                    logobj.AddWSLog(this.partnerName, this.ipaddress, "Request", this.webserviceName, methodName, partnerUsername + "|" + agentNumber + "|" + agentPassword + "|" + policyNumber, this.refnum);

                    obj.Result = pacobj.Result.Trim().Replace("notpass_", "notcomplete_");
                }
            }

            // LogResponse: Insert Log Response
            logobj.AddWSLog(this.partnerName, this.ipaddress, "Response", this.webserviceName, methodName, obj.Result + "|" + obj.PolicyStatus + "|" + obj.TotalPremium + "|" + "|" + obj.WarningMessage + "|" + obj.PlanCode + "|" + obj.PlanName + "|" + obj.ClientName + "|" + obj.SessionID, this.refnum);

            return obj;
        }
        catch (Exception ex)
        {
            obj.Result = "notcomplete_" + ex.Message.ToString();

            // LogResponse: Insert Log Response
            logobj.AddWSLog(this.partnerName, this.ipaddress, "Response", webserviceName, methodName, obj.Result + "|" + obj.SessionID, this.refnum);

            return obj;
        }
    }