public static String[] GetSeatLayout(String args)
    {
        String[] returnval = new String[4];
        try
        {
            BaseClass baseCls = new BaseClass();
            baseCls = (BaseClass)(HttpContext.Current.Session["Parameters"]);

            KesineniDetails kesineniDetails;
            AbhiBusDetails abhiBusDetails;
            BitlaDetails bitlaDetails;
            KABCommon objCommon;
            kesineniDetails = new KesineniDetails();
            kesineniDetails.LoginId = KesineniConstants.LoginId;
            kesineniDetails.PassWord = KesineniConstants.Password;
            abhiBusDetails = new AbhiBusDetails();
            abhiBusDetails.Url = AbhiBusConstants.URL;
            bitlaDetails = new BitlaDetails();
            bitlaDetails.ApiKey = BitlaConstants.API_KEY;
            bitlaDetails.Url = BitlaConstants.URL;
            objCommon = new KABCommon(kesineniDetails, abhiBusDetails, bitlaDetails);

            string[] strArray = args.Split('~');

            string TripType = baseCls.preLoadParams[6].ToString();

            string type = strArray[7].ToString();//Onward,Return

            #region Boarding Points

            System.Text.StringBuilder sbBoardingPoints = new System.Text.StringBuilder();

            DataTable dtBoardingPoints = new DataTable();
            DataTable dtDroppiongPoints = null;
            DataTable dtBitlaSeatLayout = null;

            if (strArray[0].ToString() == "Abh")
            {
                DataTable dtBP = new DataTable();
                dtBP.Columns.Add("Name");
                dtBP.Columns.Add("Id");
                dtBP.Columns.Add("Address");
                dtBP.Columns.Add("ContactNumber");
                dtBP.Columns.Add("Landmark");

                string strBP = strArray[6].ToString();

                if (strBP != "")
                {
                    string[] str = new string[1];
                    str[0] = "%&%";
                    string[] ssstr = strBP.Split(str, StringSplitOptions.None);
                    foreach (string st in ssstr)
                    {
                        if (st != "")
                        {
                            string[] sp = new string[1];
                            sp[0] = "%&&%";

                            string[] strAA = st.Split(sp, StringSplitOptions.None);

                            string[] strArr = strAA[0].ToString().Split('-');

                            DataRow dr = dtBP.NewRow();
                            if (strArr.Length == 3)
                            {
                                dr["Name"] = strArr[0].ToString() + " - " + strArr[1].ToString();
                                dr["Id"] = strArr[2].ToString().Trim().ToString();
                                dr["Address"] = "";
                                dr["ContactNumber"] = strAA[1].ToString();
                                dr["Landmark"] = "";
                                dtBP.Rows.Add(dr);
                            }
                            else if (strArr.Length == 5)
                            {
                                dr["Name"] = strArr[0].ToString() + "" + strArr[1].ToString() + "" + strArr[2].ToString() + " - " + strArr[3].ToString();
                                dr["Id"] = strArr[4].ToString().Trim().ToString();
                                dr["Address"] = "";
                                dr["ContactNumber"] = strAA[1].ToString();
                                dr["Landmark"] = "";
                                dtBP.Rows.Add(dr);
                            }
                        }
                    }
                }
                dtBoardingPoints = dtBP;
            }
            else
            {
                if (strArray[0].ToString() == "Bit")
                {
                    dtBitlaSeatLayout = objCommon.GetBitlaSeatLayoutAndBoardingPoints(strArray[1].ToString(), out dtBoardingPoints);
                }
                else
                {
                    dtBoardingPoints = objCommon.GetBoardingPoints(strArray[1].ToString(), strArray[0].ToString());
                }
                if (strArray[0].ToString() == "Kes")
                {
                    dtDroppiongPoints = objCommon.GetDropingPoints(strArray[1].ToString(), strArray[0].ToString());
                    DataRow dr = dtDroppiongPoints.Rows[Convert.ToInt32(dtDroppiongPoints.Rows.Count - 1)];
                }
            }

            HttpContext.Current.Session["dtBPForAddressAndLandmark"] = dtBoardingPoints;
            HttpContext.Current.Session["dtDPForAddressAndLandmark"] = dtDroppiongPoints;

            HttpContext.Current.Session["lblB"] = strArray[4].ToString();
            HttpContext.Current.Session["ServiceNumber"] = strArray[5].ToString();

            sbBoardingPoints.Append("<a href='' id=\"lblBP\" class=\"fg-button fg-button-icon-right ui-widget ui-state-default ui-corner-all\" onclick=\"$('#ulbp').slideDown('fast'); return false; \">" + " <span class=\"ui-icon ui-icon-triangle-1-s\"></span>" + "Boarding Points</a>");
            sbBoardingPoints.Append("<label id=\"lblBoardingPoint\" style=\"display: none;\" class=\"add_cont\"></label>");
            sbBoardingPoints.Append("<input id=\"boardingpoint\" type=\"hidden\" value='' name=\"boardingpoint\">");
            sbBoardingPoints.Append("<ul class=\"boardingpoints\" style=\"display: none; position: absolute;\" id='ulbp'>");
            sbBoardingPoints.Append("<img src='images/closeseatlayout.png' onclick=\"$('#ulbp').slideUp('meduim');\" title='close' style=\"float: right;\"/>");

            foreach (DataRow dr in dtBoardingPoints.Rows)
            {
                dr["Address"] = dr["Address"].ToString().Replace("\n", "&nbsp;");
                sbBoardingPoints.Append("<li id=\"" + dr["Id"].ToString() + "\"><span onmouseover=\"showPanel(event, 'boardingpoint_info', '" + dr["ContactNumber"].ToString() + "~" + dr["Landmark"].ToString() + "~" + dr["Address"].ToString() + "');\" ");
                sbBoardingPoints.Append("onmouseout=\"closePanel('boardingpoint_info');\" onclick=\"closePanel('boardingpoint_info'); $('#boardingpoint').val($(this).parent()[0].id); $('#lblBP').html($(this).html()); $('#lblBoardingPoint').html($(this).html()); $('#ulbp').fadeOut('meduim');\">" + dr["Name"].ToString() + "</span> </li>"); //alert( $('#boardingpoint').val());
            }

            sbBoardingPoints.Append("</ul>");

            #endregion

            string strNoLayout = "";
            string strNoBp = "";
            StringBuilder sbSeatLayout = new StringBuilder();
            DataTable dtMain = null;
            if (strArray[0].ToString() == "Bit")
            {
                dtMain = dtBitlaSeatLayout;
                if (dtMain.Rows.Count == 0)
                {
                    strNoLayout = " <div style=\"\"><h1> Service is no longer available. </h1></div>";
                    strNoBp = " --- ";
                }
            }
            else
            {
                dtMain = objCommon.GetSeatLayout(strArray[0].ToString(), strArray[1].ToString()).Tables[0];
                if (dtMain.Rows.Count == 0)
                {
                    strNoLayout = " <div style=\"\"><h1> Service is no longer available. </h1></div>";
                    strNoBp = " --- ";
                }
            }

            returnval[0] = sbBoardingPoints.ToString();

            if (strNoLayout != "")
            {
                returnval[1] = strNoLayout;
            }
            else { returnval[1] = GetSeatLayout(dtMain, strArray[3].ToString(), strArray[2].ToString()); }

            returnval[2] = strArray[2].ToString() + " || " + strArray[3].ToString();

            returnval[3] = "btnContinue";
        }
        catch (Exception ex)
        {
            //
            Mailsender.SendErrorEmail("*****@*****.**", "[email protected];",
                                         "", "SeatLayoutIssue // LoveJourney.in", args.ToString()
                                         + "////////////////////////////////////////////////////////////////////////////////////"
                                         + ex.Message + ex.Source + ex.InnerException + ex.StackTrace);
        }
        return returnval;
    }
    public static string GetPoints(String BDParams, String api, String boardingOrDropping, string stringPoints)
    {
        try
        {
            BaseClass baseCls = new BaseClass();
            baseCls = (BaseClass)(HttpContext.Current.Session["Parameters"]);

            StringBuilder sbBoardingPoints = new StringBuilder();
            KesineniDetails kesineniDetails;
            AbhiBusDetails abhiBusDetails;
            BitlaDetails bitlaDetails;
            kesineniDetails = new KesineniDetails();
            kesineniDetails.LoginId = KesineniConstants.LoginId;
            kesineniDetails.PassWord = KesineniConstants.Password;

            abhiBusDetails = new AbhiBusDetails();
            abhiBusDetails.Url = AbhiBusConstants.URL;

            bitlaDetails = new BitlaDetails();
            bitlaDetails.ApiKey = BitlaConstants.API_KEY;
            bitlaDetails.Url = BitlaConstants.URL;

            DataTable dt = null;
            KABCommon commonCls = new KABCommon(kesineniDetails, abhiBusDetails, bitlaDetails);

            if (boardingOrDropping == "Boarding")
            {
                if (api != "Abh")
                {
                    dt = commonCls.GetBoardingPoints(BDParams, api);
                }
                else
                {
                    DataTable dtBP = new DataTable();
                    dtBP.Columns.Add("Name");
                    dtBP.Columns.Add("Id");
                    dtBP.Columns.Add("Address");
                    dtBP.Columns.Add("ContactNumber");
                    dtBP.Columns.Add("Landmark");

                    string strBP = stringPoints;

                    if (strBP != "")
                    {
                        string[] str = new string[1];
                        str[0] = "%&%";
                        string[] ssstr = strBP.Split(str, StringSplitOptions.None);
                        foreach (string st in ssstr)
                        {
                            if (st != "")
                            {
                                string[] sp = new string[1];
                                sp[0] = "%&&%";

                                string[] strAA = st.Split(sp, StringSplitOptions.None);

                                string[] strArr = strAA[0].ToString().Split('-');

                                DataRow dr = dtBP.NewRow();
                                if (strArr.Length == 3)
                                {
                                    dr["Name"] = strArr[0].ToString() + " - " + strArr[1].ToString();
                                    dr["Id"] = strArr[2].ToString().Trim().ToString();
                                    dr["Address"] = "";
                                    dr["ContactNumber"] = strAA[1].ToString();
                                    dr["Landmark"] = "";
                                    dtBP.Rows.Add(dr);
                                }
                                else if (strArr.Length == 5)
                                {
                                    dr["Name"] = strArr[0].ToString() + "" + strArr[1].ToString() + "" + strArr[2].ToString() + " - " + strArr[3].ToString();
                                    dr["Id"] = strArr[4].ToString().Trim().ToString();
                                    dr["Address"] = "";
                                    dr["ContactNumber"] = strAA[1].ToString();
                                    dr["Landmark"] = "";
                                    dtBP.Rows.Add(dr);
                                }
                            }
                        }
                    }
                    dt = dtBP;
                }
            }
            else if (boardingOrDropping == "Dropping")
            {
                if (api != "Abh")
                {
                    dt = commonCls.GetDropingPoints(BDParams, api);
                }
                else
                {
                    DataTable dtBP = new DataTable();
                    dtBP.Columns.Add("Name");
                    dtBP.Columns.Add("Id");
                    dtBP.Columns.Add("Address");
                    dtBP.Columns.Add("ContactNumber");
                    dtBP.Columns.Add("Landmark");

                    string strBP = stringPoints;

                    if (strBP != "")
                    {
                        string[] str = new string[1];
                        str[0] = "%&%";
                        string[] ssstr = strBP.Split(str, StringSplitOptions.None);
                        foreach (string st in ssstr)
                        {
                            if (st != "")
                            {
                                string[] strArr = st.Split('-');
                                DataRow dr = dtBP.NewRow();
                                if (strArr.Length == 3)
                                {
                                    dr["Name"] = strArr[0].ToString() + " - " + strArr[1].ToString();
                                    dr["Id"] = strArr[2].ToString().Trim().ToString();
                                    dr["Address"] = "";
                                    dr["ContactNumber"] = "";
                                    dr["Landmark"] = "";
                                    dtBP.Rows.Add(dr);
                                }
                            }
                        }
                    }
                    dt = dtBP;
                }
            }
            if (dt.Rows.Count > 0)
            {
                sbBoardingPoints.Append("<table cellpadding='5'>");
                sbBoardingPoints.Append("<tr>");
                sbBoardingPoints.Append("<th>");
                sbBoardingPoints.Append(boardingOrDropping + " Points");
                sbBoardingPoints.Append("</th>");
                sbBoardingPoints.Append("</tr>");
                foreach (DataRow dr in dt.Rows)
                {
                    sbBoardingPoints.Append("<tr><td>");
                    sbBoardingPoints.Append(dr["Name"]);
                    sbBoardingPoints.Append("</tr></td>");
                }
                sbBoardingPoints.Append("</table>");
            }
            else
            {
                sbBoardingPoints.Append("<table cellpadding='5'>");
                sbBoardingPoints.Append("<tr>");
                sbBoardingPoints.Append("<th>");
                sbBoardingPoints.Append(boardingOrDropping + " Points");
                sbBoardingPoints.Append("</th>");
                sbBoardingPoints.Append("</tr>");
                sbBoardingPoints.Append("<tr><td>");

                if (boardingOrDropping != "Dropping")
                {
                    sbBoardingPoints.Append("" + baseCls.preLoadParams[4].ToString() + "");
                }
                else { sbBoardingPoints.Append("" + baseCls.preLoadParams[5].ToString() + ""); }

                sbBoardingPoints.Append("</tr></td>");
                sbBoardingPoints.Append("</table>");
            }
            return sbBoardingPoints.ToString();
        }
        catch (Exception)
        {
            throw;
        }
    }