예제 #1
0
        /// <summary>
        /// Method for checking the whether the service is available or not based on the reservation id
        /// </summary>
        /// <returns></returns>
        public SeatsInfo getServiceDetails(String reservationId, String URL, String ConsumerKey)
        {
            SeatsInfo objSeatsLayout = null;
            try
            {
                requestBody = URL + "/service_details/" + reservationId + ".json?api_key=" + ConsumerKey;
                String strResponse = getJSONReponse(requestBody);
                DataSet ds = convertJsonStringToDataSet(strResponse);
                BoardingDroppingPoints bpList = new BoardingDroppingPoints();
                BoardingDroppingPoints dpList = new BoardingDroppingPoints();
                if (ds != null && ds.Tables.Count > 0 && ds.Tables["seat"].Rows.Count > 0)
                {
                    objSeatsLayout = new SeatsInfo();
                    objSeatsLayout.Seats = new List<SeatLayout>();
                    #region Loop each seat and add seat details to objSeatsLayout
                    foreach (DataRow item in ds.Tables["seat"].Rows)
                    {
                        SeatLayout objSeat = new SeatLayout();
                        objSeat.fare = item["fare"].ToString();
                        objSeat.id = reservationId;
                        objSeat.number = item["number"].ToString();

                        if (!Boolean.Parse(item["is_gangway"].ToString()))
                        {
                            objSeat.isAvailableSeat = item["available"].ToString();
                            objSeat.isLadiesSeat = item["is_reserved_for_ladies"].ToString();
                        }
                        else
                        {
                            objSeat.isAvailableSeat = null;
                            objSeat.isLadiesSeat = null;
                        }

                        objSeat.row = Int16.Parse(item["col_id"].ToString());
                        objSeat.column = Int16.Parse(item["row_id"].ToString());

                        #region set length, width and zindex

                        switch (item["type"].ToString())
                        {
                            case "UB":
                            case "SUB":
                                objSeat.length = 2;
                                objSeat.width = 1;
                                objSeat.zIndex = 1;
                                break;

                            //objSeat.length = 2;
                            //objSeat.width = 1;
                            //objSeat.zIndex = 1;
                            //break;
                            case "LB":
                            case "SLB":
                                objSeat.length = 2;
                                objSeat.width = 1;
                                objSeat.zIndex = 0;
                                break;

                            //objSeat.length = 2;
                            //objSeat.width = 1;
                            //objSeat.zIndex = 0;
                            //break;
                            case "SS":
                                objSeat.length = 1;
                                objSeat.width = 1;
                                objSeat.zIndex = 0;
                                break;
                            case "GY":
                                objSeat.length = 1;
                                objSeat.width = 1;
                                objSeat.zIndex = 0;
                                break;
                            default:
                                break;
                        }

                        #endregion

                        objSeatsLayout.Seats.Add(objSeat);
                    }
                    #endregion

                    #region Loop all boarding and dropping points
                    foreach (DataRow point in ds.Tables["stage"].Rows)
                    {
                        if (point["type"] != null)
                        {
                            if (point["type"].ToString().ToUpper().Contains("BOARDING"))
                            {
                                bpList.Add(new BoardingDroppingDetails((String)point["address"], (String)point["contact_numbers"], (String)point["contact_persons"],
                                    (String)point["id"], (String)point["landmark"], (String)point["name"], (String)point["name"], (String)point["time"]));
                            }
                            else
                            {
                                dpList.Add(new BoardingDroppingDetails((String)point["address"], (String)point["contact_numbers"], (String)point["contact_persons"],
                                    (String)point["id"], (String)point["landmark"], (String)point["name"], (String)point["name"], (String)point["time"]));
                            }
                            //id,name,type,time,address,city_id,city,state(empty),contact_numbers,contact_persons,pin_code,landmark,ref_stage_id,ref_stage_name,stages_id
                        }
                    }
                    #endregion

                    if (bpList.Count > 0)
                        objSeatsLayout.boardingTimes = bpList;
                    if (dpList.Count > 0)
                        objSeatsLayout.droppingTimes = dpList;

                    if (ds.Tables["service_details"] != null &&
                        ds.Tables["service_details"].Rows.Count > 0 &&
                        ds.Tables["service_details"].Rows[0]["available_Seats"] != null)
                        objSeatsLayout.availableSeatsCount = ds.Tables["service_details"].Rows[0]["available_Seats"].ToString();
                }
            }
            catch (Exception ex)
            {
                // to do
            }
            return objSeatsLayout;
        }
예제 #2
0
        public SeatsInfo getLayoutDetails(int sourceId, int destinationId, String dateOfJourney, String serviceId, String markUpFare, String SeatLayoutId,
              String seatType, String URL, String ConsumerKey)
        {
            SeatsInfo objSeatsLayout = null;

            try
            {
                //Convert mm-dd-yyyy format to API compatible format dd-mm-yyyy
                dateOfJourney = dateOfJourney.Split('-')[1] + "/" + dateOfJourney.Split('-')[0] + "/" + dateOfJourney.Split('-')[2];

                // requestBody = URL + "/server.aspx?Method=GetLayoutDetails&ServiceId=" + serviceId + "&DateofJourney=" + dateOfJourney + "&SorceStationid="+sourceId + "&DestinationStationid=" + destinationId + "&DateofJourney=" + dateOfJourney + "&DateOfReturn=" + dateOfJourney + "&Key=" + ConsumerKey;
                string str = URL + "/Server.aspx?Method=GetLayoutDetails&ServiceId=" + serviceId + "&DateofJourney=" + dateOfJourney + "&LayoutId=" + SeatLayoutId + "&BreathFare=" + markUpFare + "&SeatFare=" + markUpFare + "&Key=" + ConsumerKey;
                requestBody = str;

                DataSet ds = convertXMLtoDataset(getJSONReponse(requestBody));
                DataTable dtBuses = new DataTable();
                dtBuses = ds.Tables[0];

                objSeatsLayout = new SeatsInfo();
                objSeatsLayout.Seats = new List<SeatLayout>();
                if (dtBuses != null)
                {

                    for (int i = 0; i < dtBuses.Rows.Count; i++)
                    {
                        for (int j = 0; j < dtBuses.Columns.Count; j++)
                        {
                            SeatLayout objSeat = new SeatLayout();

                            string seat;
                            //string[] arr = new string[1];
                            seat = dtBuses.Rows[i][j].ToString();
                            if (seat != null && seat != "" && seat != "$")
                            {
                                string[] seatstr = seat.ToString().Split('_');

                                if (seatstr[0].StartsWith("U") || seatstr[0].StartsWith("L"))
                                {

                                    if (Convert.ToString(seatstr[0]).Trim() != "")
                                    {
                                        objSeat.number = seatstr[0].ToString();
                                    }

                                    if (Convert.ToString(seatstr[1]).Trim() != "")
                                    {
                                        if (Convert.ToString(seatstr[1]).Trim() == "1")
                                        {
                                            objSeat.isAvailableSeat = "true";
                                        }
                                        else if (Convert.ToString(seatstr[1]).Trim() == "0")
                                        {
                                            objSeat.isAvailableSeat = "false";
                                            if (Convert.ToString(seatstr[3]).Trim() != "")
                                            {
                                                if (Convert.ToString(seatstr[3]).Trim() == "S")
                                                {
                                                    objSeat.length = 2;
                                                    objSeat.width = 1;
                                                    objSeat.zIndex = 0;
                                                }
                                                else if (Convert.ToString(seatstr[3]).Trim() == "B")
                                                {
                                                    objSeat.length = 2;
                                                    objSeat.width = 1;
                                                    objSeat.zIndex = 0;
                                                }
                                            }
                                        }
                                        if (Convert.ToString(seatstr[2]).Trim() != "")
                                        {
                                            if (Convert.ToString(seatstr[2]).Trim() == "S")
                                            {
                                                objSeat.length = 2;
                                                objSeat.width = 1;
                                                objSeat.zIndex = 0;
                                            }
                                            else if (Convert.ToString(seatstr[2]).Trim() == "B")
                                            {
                                                objSeat.length = 2;
                                                objSeat.width = 1;
                                                objSeat.zIndex = 0;
                                            }
                                        }

                                        if (Convert.ToString(seatstr[3]).Trim() != "")
                                        {
                                            objSeat.fare = seatstr[3].ToString();
                                        }
                                    }
                                }
                                else
                                {

                                    if (Convert.ToString(seatstr[0]).Trim() != "")
                                    {
                                        objSeat.number = seatstr[0].ToString();
                                    }
                                    if (Convert.ToString(seatstr[1]).Trim() != "")
                                    {
                                        if (Convert.ToString(seatstr[1]).Trim() == "1")
                                        {
                                            objSeat.isAvailableSeat = "true";
                                        }
                                        else if (Convert.ToString(seatstr[1]).Trim() == "0")
                                        {
                                            objSeat.isAvailableSeat = "false";
                                            if (Convert.ToString(seatstr[3]).Trim() != "")
                                            {
                                                if (Convert.ToString(seatstr[3]).Trim() == "S")
                                                {
                                                    objSeat.length = 1;
                                                    objSeat.width = 1;
                                                    objSeat.zIndex = 0;
                                                }
                                                else if (Convert.ToString(seatstr[3]).Trim() == "B")
                                                {
                                                    objSeat.length = 2;
                                                    objSeat.width = 1;
                                                    objSeat.zIndex = 0;
                                                }
                                            }

                                        }
                                    }
                                    if (Convert.ToString(seatstr[2]).Trim() != "")
                                    {
                                        if (Convert.ToString(seatstr[2]).Trim() == "S")
                                        {
                                            objSeat.length = 1;
                                            objSeat.width = 1;
                                            objSeat.zIndex = 0;
                                        }
                                        else if (Convert.ToString(seatstr[2]).Trim() == "B")
                                        {
                                            objSeat.length = 2;
                                            objSeat.width = 1;
                                            objSeat.zIndex = 0;
                                        }
                                    }

                                    if (Convert.ToString(seatstr[3]).Trim() != "")
                                    {
                                        objSeat.fare = seatstr[3].ToString();
                                    }
                                }

                                objSeat.row = i + 1;
                                objSeat.column = j + 1;
                                objSeat.id = serviceId;
                                objSeat.isLadiesSeat = "false";
                                objSeatsLayout.Seats.Add(objSeat);
                            }

                        }
                    }

                    #region boarding and dropping points

                    BoardingDroppingPoints bpList = new BoardingDroppingPoints();
                    string strb = URL + "/Server.aspx?Method=GetBoardingPoints&ServiceId=" + serviceId + "&SorceStationid=" + sourceId + "&Key=" + ConsumerKey;
                    DataSet dsb = convertXMLtoDataset(getJSONReponse(strb));
                    DataTable dtBoarding = new DataTable();
                    dtBoarding = dsb.Tables[0];
                    if (dtBoarding != null && dtBoarding.TableName == "BoardingPoints")
                    {

                        for (int i = 0; i < dtBoarding.Rows.Count; i++)
                        {

                            string strBoarding;
                            string strBoardingAddress;
                            strBoarding = dtBoarding.Rows[i]["BoardindPointID"].ToString();
                            strBoardingAddress = dtBoarding.Rows[i]["BoardindPointName"].ToString();
                            if (strBoardingAddress != null && strBoardingAddress != "")
                            {
                                string[] BoardingId = strBoarding.ToString().Split('-');
                                string[] BoardingAddress = strBoardingAddress.ToString().Split('-');
                                BoardingDroppingDetails point = new BoardingDroppingDetails();
                                if (Convert.ToString(BoardingId[0]).Trim() != "")
                                {
                                    point.pointId = BoardingId[0].ToString();
                                }
                                if (Convert.ToString(BoardingAddress[0]).Trim() != "")
                                {
                                    point.location = BoardingId[1].ToString() + "," + BoardingAddress[0].ToString();
                                }
                                if (Convert.ToString(BoardingAddress[1]).Trim() != "")
                                {
                                    point.time = BoardingAddress[1].ToString();
                                }

                                bpList.Add(point);

                            }
                        }
                        if (bpList.Count > 0)
                            objSeatsLayout.boardingTimes = bpList;
                    }
                    else
                    {
                        BoardingDroppingDetails point = new BoardingDroppingDetails();
                        point.pointId = "0";
                        point.location = "No Boarding Points";
                        point.time = "00.00";
                        bpList.Add(point);
                        if (bpList.Count > 0)
                            objSeatsLayout.boardingTimes = bpList;
                    }
                    #endregion
                }

            }
            catch (Exception)
            {

                throw;
            }

            return objSeatsLayout;
        }
예제 #3
0
        /// <summary>
        /// Method for getting all the tripdetails of V2
        /// </summary>
        /// <returns></returns>
        public SeatsInfo getTripDetailsV2(int sourceId, int destinationId, String dateOfJourney, String scheduleId, String URL,
                        String ConsumerKey, String ConsumerSecret)
        {
            SeatsInfo objSeatsLayout = null;
            try
            {
                //Convert dd-mm-yyyy format to API compatible format dd/mm/yyyy
                dateOfJourney = dateOfJourney.Replace('-', '/');
                client = new TGTravelServiceClient("TGSWS", URL);
                TripDetails response = client.getTripDetailsV2(ConsumerKey, ConsumerSecret, sourceId.ToString(), destinationId.ToString(), dateOfJourney, scheduleId);

                BoardingDroppingPoints bpList = new BoardingDroppingPoints();

                if (response != null && response.tripDetails != null)
                {
                    objSeatsLayout = new SeatsInfo();
                    objSeatsLayout.Seats = new List<SeatLayout>();
                    #region Loop each seat and add seat details to objSeatsLayout
                    //.OrderByDescending(element => element.level)
                    foreach (BusLayoutDTO busLayout in response.tripDetails.busLayoutList)
                    {
                        foreach (SeatDetailsDTO item in busLayout.seatDetailsList)
                        {
                            SeatLayout objSeat = new SeatLayout();
                            //set default values
                            objSeat.length = 1;
                            objSeat.width = 1;
                            objSeat.zIndex = busLayout.level - 1;
                            objSeat.row = item.columnNbr;
                            objSeat.column = item.rowNbr;
                            objSeat.id = scheduleId;
                            objSeat.number = item.seatNbr;

                            switch (item.cellType.ToUpper())
                            {
                                case "AISLE":
                                    break;
                                case "SEAT":
                                    objSeat.isAvailableSeat = "false";
                                    break;
                                case "BERTH":
                                    objSeat.isAvailableSeat = "false";
                                    objSeat.length = 2;
                                    objSeat.width = 1;
                                    break;
                                default:
                                    break;
                            }

                            //only available seats are fetched in response.tripDetails.seatDetailList
                            SeatDetailDTO seatInfo = response.tripDetails.seatDetailList.SingleOrDefault(seat => seat.seatNbr == item.seatNbr);

                            if (item.seatNbr != null && seatInfo != null)
                            {
                                objSeat.fare = seatInfo.fare;
                                if (seatInfo.seatStatus.Equals("A") || seatInfo.seatStatus.Equals("F") || seatInfo.seatStatus.Equals("M"))
                                {
                                    objSeat.isAvailableSeat = "true";
                                    if (seatInfo.seatStatus.Equals("F"))
                                        objSeat.isLadiesSeat = "true";
                                }
                            }

                            objSeatsLayout.Seats.Add(objSeat);
                        }
                    }
                    #endregion

                    #region Loop all boarding and dropping points
                    foreach (BoardingPointDTO point in response.tripDetails.boardingPointList)
                    {
                        bpList.Add(new BoardingDroppingDetails(point.boardingPointId, point.boardingPointName, point.time));
                    }
                    #endregion

                    if (bpList.Count > 0)
                        objSeatsLayout.boardingTimes = bpList;
                }
            }
            catch (Exception)
            {
                // to do
            }
            return objSeatsLayout;
        }
예제 #4
0
        SeatsInfo SeatLayout(String tot_availableseat_num, string tot_Seat_num, String bookedseats, String gendertype,
             String lowerdeck_seat_nos, String upperdeck_seat_nos,
             String seat_fare, String layoutid, int length, int width, int zIdnex)
        {
            try
            {
                SeatsInfo objSeatsLayout = new SeatsInfo();
                objSeatsLayout.Seats = new List<SeatLayout>();
                //string[] seatLayoutStringArray = tot_availableseat_num.Split(';');
                //string[] Bookedseats = tot_Seat_num.Split(';');
                string[] seatLayoutStringArray = lowerdeck_seat_nos.Split(';');
                string[] Bookedseats = upperdeck_seat_nos.Split(';');
                string[] BSeats = bookedseats.Split(';');

                foreach (string bseat in BSeats)
                {
                    if (bseat != "" && bseat != "#*#-")
                    {
                        string[] star = new string[1];
                        star[0] = "#*#";
                        string[] st = bseat.Split(star, StringSplitOptions.None);
                        if (Convert.ToString(strbseats) == "")
                        {
                            strbseats = st[0].ToString();
                        }
                        else
                        {
                            strbseats = strbseats + ";" + st[0].ToString();
                        }
                    }

                }

                string[] strseatarr = strbseats.ToString().Split(';');
                foreach (string femaleseat in strseatarr)
                {
                    foreach (string seat in seatLayoutStringArray)
                    {
                        if (seat != "" && seat != "#*#-")
                        {
                            //R3 #*# 1-2 #*# S #*# B #*# F
                            string[] star = new string[1];
                            star[0] = "#*#";
                            string[] st = seat.Split(star, StringSplitOptions.None);
                            if (Convert.ToString(st[0]).Trim() != "")
                            {
                                if (Convert.ToString(st[2]).Trim() != "B")
                                {

                                    if (st.Count() > 4)
                                    {
                                        if (Convert.ToString(st[4]).Trim() == "F")
                                        {
                                            if (Convert.ToString(st[0]).Trim() == Convert.ToString(femaleseat).Trim())
                                            {
                                                if (femaleseat.Contains('L'))
                                                {
                                                    if (femaleseat.ToString().Split('L')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('L')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat ="L"+ Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('L')[1]) - 1) ;
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "L" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('L')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "L" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('L')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "L" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('L')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('R'))
                                                {
                                                    if (femaleseat.ToString().Split('R')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('R')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                feseat = "R" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('R')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "R" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('R')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "R" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('R')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "R" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('R')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('A'))
                                                {
                                                    if (femaleseat.ToString().Split('A')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('A')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "A" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('A')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "A" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('A')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "A" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('A')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "A" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('A')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('B'))
                                                {
                                                    if (femaleseat.ToString().Split('B')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('B')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "B" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('B')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "B" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('B')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "B" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('B')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "B" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('B')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('C'))
                                                {
                                                    if (femaleseat.ToString().Split('C')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('C')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "C" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('C')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "C" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('C')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "C" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('C')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "C" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('C')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('D'))
                                                {
                                                    if (femaleseat.ToString().Split('D')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('D')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "D" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('D')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "D" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('D')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "D" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('D')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "D" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('D')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('E'))
                                                {
                                                    if (femaleseat.ToString().Split('E')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('E')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "E" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('E')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "E" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('E')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "E" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('E')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "E" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('E')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('F'))
                                                {
                                                    if (femaleseat.ToString().Split('F')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('F')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "F" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('F')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "F" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('F')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "F" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('F')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "F" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('F')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('G'))
                                                {
                                                    if (femaleseat.ToString().Split('G')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('G')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "G" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('G')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "G" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('G')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "G" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('G')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "G" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('G')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('H'))
                                                {
                                                    if (femaleseat.ToString().Split('H')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('H')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "H" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('H')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "H" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('H')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "H" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('H')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "H" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('H')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('I'))
                                                {
                                                    if (femaleseat.ToString().Split('I')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('I')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "I" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('I')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "I" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('I')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "I" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('I')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "I" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('I')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('J'))
                                                {
                                                    if (femaleseat.ToString().Split('J')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('J')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "J" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('J')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "J" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('J')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "J" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('J')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "J" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('J')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('K'))
                                                {
                                                    if (femaleseat.ToString().Split('K')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('K')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "K" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('K')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "K" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('K')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "K" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('K')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "K" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('K')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else if (femaleseat.Contains('V'))
                                                {
                                                    if (femaleseat.ToString().Split('V')[1] != "")
                                                    {
                                                        if (Convert.ToInt32(femaleseat.ToString().Split('V')[1]) % 2 == 0)
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //even
                                                                feseat = "V" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('V')[1]) - 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "V" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('V')[1]) - 1);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (Convert.ToString(feseat) == "")
                                                            {
                                                                //odd
                                                                feseat = "V" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('V')[1]) + 1);
                                                            }
                                                            else
                                                            {
                                                                feseat = feseat + ";" + "V" + Convert.ToString(Convert.ToInt32(femaleseat.ToString().Split('V')[1]) + 1);
                                                            }
                                                        }
                                                    }
                                                }
                                                else
                                                {
                                                    if (Convert.ToInt32(femaleseat) % 2 == 0)
                                                    {
                                                        if (Convert.ToString(feseat) == "")
                                                        {
                                                            //even
                                                            feseat = Convert.ToString(Convert.ToInt32(femaleseat) - 1);
                                                        }
                                                        else
                                                        {
                                                            feseat = feseat + ";" + Convert.ToString(Convert.ToInt32(femaleseat) - 1);
                                                        }
                                                    }
                                                    else
                                                    {
                                                        if (Convert.ToString(feseat) == "")
                                                        {
                                                            //odd
                                                            feseat = Convert.ToString(Convert.ToInt32(femaleseat) + 1);
                                                        }
                                                        else
                                                        {
                                                            feseat = feseat + ";" + Convert.ToString(Convert.ToInt32(femaleseat) + 1);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }

                            }
                        }
                    }
                }

                foreach (string seat in seatLayoutStringArray)
                {
                    if (seat != "" && seat != "#*#-")
                    {
                        //R3 #*# 1-2 #*# S #*# B #*# F
                        string[] star = new string[1];
                        star[0] = "#*#";
                        string[] st = seat.Split(star, StringSplitOptions.None);
                        if (Convert.ToString(st[0]).Trim() != "")
                        {

                            string[] stRowColumn = st[1].ToString().Split('-');
                            string strseat2 = st[0].ToString().Trim();
                            SeatLayout objSeat = new SeatLayout();
                            objSeat.column = Convert.ToInt32(stRowColumn[1].ToString().Trim());
                            objSeat.fare = seat_fare;
                            objSeat.id = layoutid;
                            if (Convert.ToString(st[3]).Trim() == "A")
                            {
                                objSeat.isAvailableSeat = "true";
                            }
                            else
                            {
                                objSeat.isAvailableSeat = "false";

                            }
                            if (Convert.ToString(st[2]).Trim() == "B")
                            {
                                if (st.Count() > 4)
                                {
                                    if (Convert.ToString(st[4]).Trim() == "F")
                                    {
                                        objSeat.isLadiesSeat = "true";
                                    }
                                    else
                                    {
                                        objSeat.isLadiesSeat = null;
                                    }
                                }
                            }
                            else
                            {
                                if (Convert.ToString(st[3]).Trim() == "A")
                                {
                                    string[] seatstr = feseat.ToString().Split(';');
                                    if (seatstr.Length >= 1)
                                    {
                                        foreach (string f in seatstr)
                                        {
                                            if (f.Contains('L'))
                                            {
                                                if (Convert.ToString(st[0]).Trim() == Convert.ToString(f))
                                                {
                                                    objSeat.isLadiesSeat = "true";
                                                    break;
                                                }
                                                else
                                                {
                                                    objSeat.isLadiesSeat = "false";
                                                }
                                            }
                                            else if (f.Contains('R'))
                                            {
                                                if (Convert.ToString(st[0]).Trim() == Convert.ToString(f))
                                                {
                                                    objSeat.isLadiesSeat = "true";
                                                    break;
                                                }
                                                else
                                                {
                                                    objSeat.isLadiesSeat = "false";
                                                }
                                            }
                                            else
                                                if (Convert.ToString(st[0]).Trim() == Convert.ToString(f))
                                                {
                                                    objSeat.isLadiesSeat = "true";
                                                    break;
                                                }
                                                else
                                                {
                                                    objSeat.isLadiesSeat = "false";
                                                }
                                        }

                                    }
                                }
                                else
                                {
                                    objSeat.isLadiesSeat = "false";
                                }

                            }

                            //}
                            //else
                            //{
                            //    objSeat.isLadiesSeat = null;
                            //}
                            objSeat.length = length;
                            objSeat.number = Convert.ToString(st[0]).Trim();
                            objSeat.row = Convert.ToInt32(Convert.ToString(stRowColumn[0]).Trim());
                            objSeat.width = width;
                            objSeat.zIndex = zIdnex;
                            objSeatsLayout.Seats.Add(objSeat);
                        }

                    }
                }
                #region comment code
                // tot_Seat_num = tot_Seat_num + ";";
                // string[] Bookedseats = tot_Seat_num.Split(';');
                //SeatLayout objSeat1 = new SeatLayout();
                //foreach (string seat2 in seatLayoutStringArray)//available seats
                //{
                //    string[] star = new string[1];
                //    star[0] = "#*#";
                //    string[] st = seat2.Split(star, StringSplitOptions.None);
                //    string strseat2 = st[0].ToString().Trim();
                //    string[] stRowColumn = st[1].ToString().Split('-');
                //    foreach (string seat3 in Bookedseats)
                //    {
                //        string[] star1 = new string[1];
                //        star1[0] = "#*#";
                //        string[] st1 = seat3.Split(star, StringSplitOptions.None);
                //        string strseat3 = st1[0].ToString().Trim();
                //        tot = "";
                //        if (strseat2 == strseat3)
                //        {
                //            tot_Seat_num = tot_Seat_num.Replace(seat3 + ";", "");
                //            break;
                //        }
                //    }

                //}

                //tot_Seat_num = tot_Seat_num.Replace("L5 #*# 5-12", "");
                //string[] Bookedseats1 = tot_Seat_num.Split(';');
                //foreach (string seat5 in Bookedseats1)
                //{
                //    string[] star1 = new string[1];
                //    star1[0] = "#*#";
                //    string[] st1 = seat5.Split(star1, StringSplitOptions.None);
                //    string strseat3 = st1[0].ToString().Trim();
                //    string[] seatLayoutStringArray4 = bookedseats.Split(';');
                //    foreach (string seat4 in seatLayoutStringArray4)
                //    {
                //        if (seat4 != "" && seat4 != "#*#-")
                //        {
                //            string[] star4 = new string[1];
                //            star4[0] = "#*#";
                //            string[] st4 = seat4.Split(star4, StringSplitOptions.None);
                //            string strseat4 = st4[0].ToString();
                //            if (strseat3 == strseat4)
                //            {
                //                tot_Seat_num = tot_Seat_num.Replace(seat5 + ";", "");
                //            }
                //        }
                //    }
                //}
                //bookedseats = bookedseats + ";" + tot_Seat_num;
                #endregion

                string[] seatLayoutStringArray1 = upperdeck_seat_nos.Split(';');
                string[] seatLayoutStringArray2 = gendertype.Split(';');
                //int k = 0;
                foreach (string seat1 in seatLayoutStringArray1)
                {
                    if (seat1 != "" && seat1 != "#*#-")
                    {
                        string[] star = new string[1];
                        star[0] = "#*#";
                        string[] st = seat1.Split(star, StringSplitOptions.None);
                        if (Convert.ToString(st[0]).Trim() != "")
                        {
                            string[] stRowColumn = st[1].ToString().Split('-');

                            SeatLayout objSeat = new SeatLayout();
                            objSeat.column = Convert.ToInt32(stRowColumn[1].ToString().Trim());
                            objSeat.fare = seat_fare;
                            objSeat.id = layoutid;
                            if (Convert.ToString(st[3]).Trim() == "A")
                            {
                                objSeat.isAvailableSeat = "true";
                            }
                            else
                            {
                                objSeat.isAvailableSeat = "false";
                            }
                            if (st.Count() > 4)
                            {
                                if (Convert.ToString(st[4]).Trim() == "F")
                                {
                                    objSeat.isLadiesSeat = "true";
                                }
                                else
                                {
                                    objSeat.isLadiesSeat = null;
                                }

                            }
                            else
                            {
                                objSeat.isLadiesSeat = null;
                            }
                            objSeat.length = length;
                            objSeat.number = Convert.ToString(st[0]).Trim();
                            objSeat.row = Convert.ToInt32(Convert.ToString(stRowColumn[0]).Trim());
                            objSeat.width = width;
                            objSeat.zIndex = zIdnex;
                            objSeatsLayout.Seats.Add(objSeat);
                        }
                    }
                    //k += 1;

                }
                objSeatsLayout.boardingTimes = null;
                return objSeatsLayout;
            }
            catch (Exception ex)
            {
                return null;
            }
        }