/// <summary>
        /// Get domestic policy details by document number(policy number)
        /// </summary>
        /// <param name="documentNo">document number</param>
        /// <param name="agentCode">agent code</param>
        /// <param name="isEndorsement">details fetched for endorsement page or policy page.</param>
        /// <param name="endorsementID">endoresment id</param>
        /// <returns></returns>
        public DomesticHelpSavedQuotationResponse GetSavedDomesticPolicy(string documentNo, string agentCode, bool isEndorsement = false, long endorsementID = 0)
        {
            try
            {
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@DocumentNo", documentNo),
                    new SqlParameter("@AgentCode", agentCode)
                };
                DataSet            domesticds = BKICSQL.eds(StoredProcedures.DomesticHelpInsuranceSP.GetSavedQuotationByDocumentNo, para);
                DomesticHelpPolicy domestic   = new DomesticHelpPolicy();

                if (domesticds != null && domesticds.Tables[0].Rows.Count > 0)
                {
                    DataRow dr = domesticds.Tables[0].Rows[0];
                    domestic.DomesticID       = Convert.ToInt64(dr["DOMESTICID"]);
                    domestic.InsurancePeroid  = Convert.ToInt32(dr["INSURANCEPERIOD"]);
                    domestic.AgentBranch      = Convert.ToString(dr["BRANCHCODE"]);
                    domestic.PolicyStartDate  = Convert.ToDateTime(dr["COMMENCEDATE"]);
                    domestic.PolicyExpiryDate = Convert.ToDateTime(dr["EXPIRYDATE"]);
                    domestic.PolicyIssueDate  = Convert.ToDateTime(dr["DATEOFSUBMISSION"]);
                    domestic.CPR                       = Convert.ToString(dr["CPR"]);
                    domestic.FullName                  = Convert.ToString(dr["INSUREDNAME"]);
                    domestic.PremiumAfterDiscount      = dr.IsNull("PREMIUMAMOUNT") ? 0 : Convert.ToDecimal(dr["PREMIUMAMOUNT"]);
                    domestic.PremiumBeforeDiscount     = Convert.ToDecimal(dr["ORIGINALPREMIUMAMOUNT"]);
                    domestic.DocumentNo                = Convert.ToString(dr["DOCUMENTNO"]);
                    domestic.SumInsured                = Convert.ToDecimal(dr["SUMINSURED"]);
                    domestic.InsuredCode               = Convert.ToString(dr["INSUREDCODE"]);
                    domestic.DomesticWorkType          = dr["DomesticWorkerType"].ToString() ?? "";
                    domestic.IsPhysicalDefect          = dr["PhysicalDefect"].ToString() == null ? "" : dr["PhysicalDefect"].ToString();
                    domestic.PhysicalDefectDescription = dr["PhysicalDesc"].ToString() == null ? "" : dr["PhysicalDesc"].ToString();
                    domestic.InsuredCode               = Convert.ToString(dr["INSUREDCODE"]);
                    domestic.IsHIR                     = Convert.ToBoolean(dr["IsHIR"]);
                    domestic.Remarks                   = dr["Remarks"].ToString() == null ? "" : Convert.ToString(dr["Remarks"]);
                    domestic.AccountNumber             = dr["AccountNumber"].ToString() == null ? "" : Convert.ToString(dr["AccountNumber"]);
                    domestic.CommisionBeforeDiscount   = dr.IsNull("CommissionBeforeDiscount") ? 0 : Convert.ToDecimal(dr["CommissionBeforeDiscount"]);
                    domestic.CommissionAfterDiscount   = dr.IsNull("CommissionAfterDiscount") ? 0 : Convert.ToDecimal(dr["CommissionAfterDiscount"]);
                    domestic.CommissionAmount          = dr.IsNull("CommissionAmount") ? 0 : Convert.ToDecimal(dr["CommissionAmount"]);
                    domestic.IsSaved                   = dr.IsNull("IsSaved") ? false : Convert.ToBoolean(dr["IsSaved"]);
                    domestic.IsActivePolicy            = dr.IsNull("IsActive") ? false : Convert.ToBoolean(dr["IsActive"]);
                    domestic.PolicyIssueDate           = Convert.ToDateTime(dr["DATEOFSUBMISSION"]);
                    domestic.PaymentType               = dr["PAYMENTTYPE"].ToString() == null ? "" : Convert.ToString(dr["PAYMENTTYPE"]);
                    domestic.HIRStatus                 = dr.IsNull("HIRStatus") ? 0 : Convert.ToInt32(dr["HIRStatus"]);
                    domestic.TaxOnPremium              = dr.IsNull("TaxOnPremium") ? 0 : Convert.ToDecimal(dr["TaxOnPremium"]);
                    domestic.TaxOnCommission           = dr.IsNull("TaxOnCommission") ? 0 : Convert.ToDecimal(dr["TaxOnCommission"]);
                }

                List <DomesticHelpMember> membersList = new List <DomesticHelpMember>();

                if (domesticds != null && domesticds.Tables[1].Rows.Count > 0)
                {
                    domestic.NoOfDomesticWorkers = domesticds.Tables[1].Rows.Count;
                    foreach (DataRow dr in domesticds.Tables[1].Rows)
                    {
                        DomesticHelpMember members = new DomesticHelpMember();
                        members.InsuredCode      = Convert.ToString(dr["INSUREDCODE"]);
                        members.SumInsured       = Convert.ToDecimal(dr["SUMINSURED"]);
                        members.PremiumAmount    = Convert.ToDecimal(dr["PREMIUMAMOUNT"]);
                        members.OtherOccupation  = Convert.ToString(dr["OCCUPATIONOTHER"]);
                        members.CommencementDate = Convert.ToDateTime(dr["COMMENCEDATE"]);
                        members.ExpiryDate       = Convert.ToDateTime(dr["EXPIRYDATE"]);
                        members.Name             = Convert.ToString(dr["INSUREDNAME"]);
                        members.Sex          = Convert.ToChar(dr["SEX"]);
                        members.DOB          = Convert.ToDateTime(dr["DOB"]);
                        members.Nationality  = Convert.ToString(dr["NATIONALITY"]);
                        members.CPRNumber    = Convert.ToString(dr["IDENTITYNO"]);
                        members.Occupation   = Convert.ToString(dr["OCCUPATION"]);
                        members.ItemserialNo = Convert.ToInt32(dr["ITEMSERIALNO"]);
                        members.AddressType  = Convert.ToString(dr["ADDRESS1"]);
                        members.Passport     = Convert.ToString(dr["Passport"]);
                        membersList.Add(members);
                    }
                }
                return(new DomesticHelpSavedQuotationResponse
                {
                    IsTransactionDone = true,
                    DomesticHelp = domestic,
                    DomesticHelpMemberList = membersList
                });
            }
            catch (Exception ex)
            {
                return(new DomesticHelpSavedQuotationResponse
                {
                    IsTransactionDone = false,
                    TransactionErrorMessage = ex.Message
                });
            }
        }
        /// <summary>
        /// Get the domestic policy details by domestic id.
        /// </summary>
        /// <param name="domesticID">doemstic id</param>
        /// <param name="insuredCode">insured code</param>
        /// <returns></returns>
        public DomesticHelpSavedQuotationResponse GetSavedDomesticHelp(int domesticID, string insuredCode)
        {
            try
            {
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@DomesticID", domesticID),
                    new SqlParameter("@InsuredCode", insuredCode)
                };

                DataSet            domesticds = BKICSQL.eds(StoredProcedures.DomesticHelpInsuranceSP.SavedQuotation, para);
                DomesticHelpPolicy domestic   = new DomesticHelpPolicy();
                if (domesticds != null && domesticds.Tables[0].Rows.Count > 0)
                {
                    DataRow dr = domesticds.Tables[0].Rows[0];
                    domestic.DomesticID       = domesticID;
                    domestic.InsurancePeroid  = Convert.ToInt32(dr["INSURANCEPERIOD"]);
                    domestic.PolicyStartDate  = Convert.ToDateTime(dr["COMMENCEDATE"]);
                    domestic.PolicyExpiryDate = Convert.ToDateTime(dr["EXPIRYDATE"]);
                    domestic.CPR                       = Convert.ToString(dr["CPR"]);
                    domestic.FullName                  = Convert.ToString(dr["INSUREDNAME"]);
                    domestic.PremiumAfterDiscount      = Convert.ToDecimal(dr["PREMIUMAMOUNT"]);
                    domestic.PremiumBeforeDiscount     = Convert.ToDecimal(dr["ORIGINALPREMIUMAMOUNT"]);
                    domestic.DocumentNo                = Convert.ToString(dr["DOCUMENTNO"]);
                    domestic.SumInsured                = Convert.ToDecimal(dr["SUMINSURED"]);
                    domestic.InsuredCode               = Convert.ToString(dr["INSUREDCODE"]);
                    domestic.DomesticWorkType          = dr["DomesticWorkerType"].ToString() == null ? "" : dr["DomesticWorkerType"].ToString();
                    domestic.IsPhysicalDefect          = dr["PhysicalDefect"].ToString() == null ? "" : dr["PhysicalDefect"].ToString();
                    domestic.PhysicalDefectDescription = dr["PhysicalDesc"].ToString() == null ? "" : dr["PhysicalDesc"].ToString();
                    domestic.InsuredCode               = insuredCode;
                    domestic.IsHIR                     = Convert.ToBoolean(dr["IsHIR"]);
                }

                List <DomesticHelpMember> membersList = new List <DomesticHelpMember>();
                if (domesticds != null && domesticds.Tables[1].Rows.Count > 0)
                {
                    domestic.NoOfDomesticWorkers = domesticds.Tables[1].Rows.Count;
                    foreach (DataRow dr in domesticds.Tables[1].Rows)
                    {
                        DomesticHelpMember members = new DomesticHelpMember();
                        members.InsuredCode     = Convert.ToString(dr["INSUREDCODE"]);
                        members.SumInsured      = Convert.ToDecimal(dr["SUMINSURED"]);
                        members.PremiumAmount   = Convert.ToDecimal(dr["PREMIUMAMOUNT"]);
                        members.OtherOccupation = Convert.ToString(dr["OCCUPATIONOTHER"]);
                        // members.DateOfSubmission = Convert.ToDateTime(dr["DATEOFSUBMISSION"]);
                        members.CommencementDate = Convert.ToDateTime(dr["COMMENCEDATE"]);
                        members.ExpiryDate       = Convert.ToDateTime(dr["EXPIRYDATE"]);
                        members.Name             = Convert.ToString(dr["INSUREDNAME"]);
                        members.Sex          = Convert.ToChar(dr["SEX"]);
                        members.DOB          = Convert.ToDateTime(dr["DOB"]);
                        members.Nationality  = Convert.ToString(dr["NATIONALITY"]);
                        members.CPRNumber    = Convert.ToString(dr["IDENTITYNO"]);
                        members.Occupation   = Convert.ToString(dr["OCCUPATION"]);
                        members.ItemserialNo = Convert.ToInt32(dr["ITEMSERIALNO"]);
                        members.AddressType  = Convert.ToString(dr["ADDRESS1"]);
                        members.Passport     = Convert.ToString(dr["Passport"]);
                        membersList.Add(members);
                    }
                }
                return(new DomesticHelpSavedQuotationResponse
                {
                    IsTransactionDone = true,
                    DomesticHelp = domestic,
                    DomesticHelpMemberList = membersList
                });
            }
            catch (Exception ex)
            {
                return(new DomesticHelpSavedQuotationResponse
                {
                    IsTransactionDone = false,
                    TransactionErrorMessage = ex.Message
                });
            }
        }