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; } }
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; } }