Esempio n. 1
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here

            MAPI.Session session = new SessionClass();
            //session.Logon(
            session.GetType().InvokeMember("Logon", BindingFlags.InvokeMethod, null, session, new Object[] { "*****@*****.**", "raghu123", false });
            AddressLists addrs = null;

            try
            {
                addrs = (AddressLists)session.AddressLists;
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message); Response.End();
            }
            int addrCnt = (int)addrs.Count;

            for (int i = 0; i < addrCnt; i++)
            {
                AddressList curAddr = (AddressList)addrs.get_Item(i);
                Response.Write(curAddr.Name + "&nbsp;:" + ((AddressEntry)((AddressEntries)curAddr.AddressEntries).get_Item(0)).Name + "BR>");
            }
        }
Esempio n. 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ((Label)Master.FindControl("lblTitle")).Text = "View Photos";
        Photoid = QueryString.getQueryStringOnIndex(0);
        Userid  = SessionClass.getUserId();

        LoadFollow();
        LoadDataListComments();
        YouLikes();
        LoadDataListTags();

        imgBtnComments.ImageUrl = Global.PROFILE_PICTURE + Userid + ".jpg";
        imgPhoto.ImageUrl       = Global.USER_PHOTOS + Photoid + ".jpg";
        System.Drawing.Image sourceImage = System.Drawing.Image.FromFile(Server.MapPath(Global.USER_PHOTOS + Photoid + ".jpg"));

        if (sourceImage.Width > 500)
        {
            imgPhoto.Width  = sourceImage.Width / 2;
            imgPhoto.Height = sourceImage.Height / 2;
        }

        Session["SpamPhoto"]  = imgPhoto.ImageUrl;
        Session["CropPhoto"]  = imgPhoto.ImageUrl.Split('/')[3].ToString();
        Session["AbusePhoto"] = imgPhoto.ImageUrl;

        GetPhotoDesc();
    }
Esempio n. 3
0
        static void Main()
        {
            //Application.Run(new frmCtrlConsumer());
            MAPI.Session session = new SessionClass();
            session.GetType().InvokeMember("Logon", BindingFlags.InvokeMethod, null, session, new Object[] {});
            AddressLists addrs = null;

            try
            {
                addrs = (AddressLists)session.AddressLists;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message); return;
            }
            int    addrCnt = (int)addrs.Count;
            string x       = "";

            for (int i = 1; i <= addrCnt; i++)
            {
                AddressList curAddr = (AddressList)addrs.get_Item(i);
                x += (string)curAddr.Name + ":\n";
                AddressEntries entries  = (AddressEntries)curAddr.AddressEntries;
                int            entryCnt = (int)entries.Count;
                for (int j = 1; j <= entryCnt; j++)
                {
                    AddressEntry curEntry = (AddressEntry)entries.get_Item(j);
                    string       address;
                    try{ address = (string)curEntry.Address; }catch { address = "<null>"; }
                    x += (string)curEntry.Name + ": " + address + " -> " + (int)curEntry.DisplayType + "\n";
                }
            }
            MessageBox.Show(x);
        }
Esempio n. 4
0
 protected void btnResetPassword_Click(object sender, EventArgs e)
 {
     if (LoginBLL.resetPassword(SessionClass.getUserEmail(), txtPassword.Text))
     {
         Response.Redirect("../../Default.aspx");
     }
 }
Esempio n. 5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ((Label)Master.FindControl("lblTitle")).Text = "Upload Wall Photo";

        Userid = SessionClass.getUserId();
        imgProfile.ImageUrl = Global.PROFILE_PICTURE + Userid + ".jpg";
    }
Esempio n. 6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Userid = SessionClass.getUserId();

        ((Label)Master.FindControl("lblTitle")).Text = "View Profile";
        if (!IsPostBack)
        {
            LoadDataListEmployer();
            LoadDataListProject();
            LoadDataListUniversity();
            LoadDataListSchool();
            LoadDataListBooks();
            LoadDataListMusic();
            LoadDataListMovie();
            LoadDataListTelevision();
            LoadDataListGame();
            LoadDataListActivities();
            LoadDataListInterests();
            LoadContactInfo();
            LoadPhoneNumber();
            LoadOthersEmail();
            LoadWebsites();
            LoadBasicInfo();
            LoadLanguages();
        }
    }
Esempio n. 7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ((Label)Master.FindControl("lblTitle")).Text = "View Video";
        Photoid = QueryString.getQueryStringOnIndex(0);
        Userid  = SessionClass.getUserId();
        LoadFollow();
        LoadDataListComments();
        YouLikes();
        string  videotag = "";
        MediaBO objMedia = new MediaBO();

        objMedia = MediaBLL.getMediaByMediaId(Photoid);

        videotag += "  <script  type= 'text/javascript'  >";
        videotag += " jwplayer('container').setup({";
        videotag += " file: src='" + Global.USER_VIDEO + objMedia.Id + ".mp4' ,";
        videotag += " flashplayer: '../../Resources/jwplayer/player.swf',";
        videotag += " width: 520";
        videotag += " }); ";
        videotag += "</script> ";
        this.LiteralVideo.Text  = videotag;
        imgBtnComments.ImageUrl = Global.PROFILE_PICTURE + Userid + ".jpg";
        Session["SpamPhoto"]    = null;
        Session["AbusePhoto"]   = null;
    }
Esempio n. 8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        imgSave.Visible = false;
        lblSave.Visible = false;

        Userid = SessionClass.getUserId();

        ((Label)Master.FindControl("lblTitle")).Text = "Activities & Interests";
        if (!IsPostBack)
        {
            LoadDataListActivities();
            LoadDataListInterests();
        }


        if (lstActivitiesFriend.Items.Count == 1)
        {
            lstActivitiesFriend.Visible = false;
        }
        else
        {
            lstActivitiesFriend.Visible = true;
        }


        if (lstInterestsFriend.Items.Count == 1)
        {
            lstInterestsFriend.Visible = false;
        }
        else
        {
            lstInterestsFriend.Visible = true;
        }
    }
Esempio n. 9
0
    protected void btnCrop_Click(object sender, EventArgs e)
    {
        using (Image img = Image.FromFile(Server.MapPath(Global.PROFILE_PICTURE + SessionClass.getUserId() + Global.PICTURE_EXTENSION_JPG)))
        {
            using (System.Drawing.Bitmap _bitmap = new System.Drawing.Bitmap(Convert.ToInt32(Request.Form["w"]), Convert.ToInt32(Request.Form["h"])))
            {
                _bitmap.SetResolution(img.HorizontalResolution, img.VerticalResolution);
                using (Graphics _graphic = Graphics.FromImage(_bitmap))
                {
                    _graphic.InterpolationMode  = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                    _graphic.SmoothingMode      = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    _graphic.PixelOffsetMode    = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
                    _graphic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
                    _graphic.DrawImage(img, 0, 0, Convert.ToInt32(Request.Form["w"]), Convert.ToInt32(Request.Form["h"]));
                    _graphic.DrawImage(img, new Rectangle(0, 0, Convert.ToInt32(Request.Form["w"]), Convert.ToInt32(Request.Form["h"])), System.Math.Min(Convert.ToInt32(Request.Form["x1"]), Convert.ToInt32(Request.Form["x2"])), System.Math.Min(Convert.ToInt32(Request["y1"]), Convert.ToInt32(Request.Form["y2"])), Convert.ToInt32(Request.Form["w"]), Convert.ToInt32(Request.Form["h"]), GraphicsUnit.Pixel);

                    using (EncoderParameters encoderParameters = new EncoderParameters(1))
                    {
                        encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 100L);
                        _bitmap.Save(string.Concat(Server.MapPath("cropped/"), SessionClass.getUserId(), Global.PICTURE_EXTENSION_JPG), GetImageCodec(Global.PICTURE_EXTENSION_JPG), encoderParameters);
                    }
                }
            }
        }

        if (File.Exists(Server.MapPath(Global.PROFILE_PICTURE + SessionClass.getUserId() + Global.PICTURE_EXTENSION_JPG)))
        {
            File.Delete(Server.MapPath(Global.PROFILE_PICTURE + SessionClass.getUserId() + Global.PICTURE_EXTENSION_JPG));
        }
    }
Esempio n. 10
0
        public String Pedidos_CQ_Instant()
        {
            SessionClass session = new SessionClass();

            session.UserLogon("admin", "admin", "PRESU", 2, "BPD_DESA");

            OAdQuerydef queryDef = (OAdQuerydef)session.BuildQuery("Pedido_Pago");

            queryDef.BuildField("id");
            queryDef.BuildField("Importe_Total");

            OAdResultset resultset = (OAdResultset)session.BuildResultSet(queryDef);

            resultset.Execute();

            var    Status = resultset.MoveNext();
            String data   = "";

            while (Convert.ToInt32(Status) == 1)
            {
                data = (String)resultset.GetColumnValue(2);

                Status = resultset.MoveNext();
            }

            return(data);
        }
Esempio n. 11
0
        void KiemTraSession()
        {
            string _userName = Page.User.Identity.Name;

            if (Session["ClassSession"] == null)
            {
                Response.Redirect("DangNhap.aspx");
            }
            else
            {
                SessionClass clsSession = (SessionClass)Session["ClassSession"];

                ClassUser clsUser = new ClassUser();
                clsUser.IdUser = clsSession.IdUser;
                if (clsSession.IdUser == 0 || string.IsNullOrEmpty(clsSession.IdUser.ToString()) || clsSession.IdTree == 0 || string.IsNullOrEmpty(clsSession.IdTree.ToString()))
                {
                    Response.Redirect("DangNhap.aspx");
                }
                else
                {
                    clsUser.ReadInfoUserByID(clsUser.IdUser);
                    lblWellcome.Text = string.Format("Chào mừng: {0}", clsUser.UserName);
                }
            }
        }
Esempio n. 12
0
        public ArrayList Pedidos_CQ()
        {
            SessionClass session = new SessionClass();

            session.UserLogon("admin", "admin", "PRESU", 2, "BPD_DESA");

            OAdQuerydef queryDef = (OAdQuerydef)session.BuildQuery("Pedido_Pago");

            queryDef.BuildField("id");
            queryDef.BuildField("Importe_Total");

            OAdResultset resultset = (OAdResultset)session.BuildResultSet(queryDef);

            ArrayList PedidosdePagos = new ArrayList();

            resultset.Execute();

            var Status = resultset.MoveNext();

            while (Convert.ToInt32(Status) == 1)
            {
                Pedido_Pago data = new Pedido_Pago();
                data.id_pedido     = (String)resultset.GetColumnValue(1);
                data.importe_total = (String)resultset.GetColumnValue(2);
                PedidosdePagos.Add(data);
                Status = resultset.MoveNext();
            }

            return(PedidosdePagos);
        }
Esempio n. 13
0
 static void Main()
 {
     //Application.Run(new frmCtrlConsumer());
       MAPI.Session session = new SessionClass();
       session.GetType().InvokeMember("Logon",BindingFlags.InvokeMethod,null,session,new Object[]{});
       AddressLists addrs=null;
       try
       {
     addrs = (AddressLists)session.AddressLists;
       }
       catch(Exception ex)
       {
     MessageBox.Show(ex.Message);return;
       }
       int addrCnt = (int) addrs.Count;
       string x="";
       for(int i=1;i<=addrCnt;i++)
       {
     AddressList curAddr = (AddressList) addrs.get_Item(i);
     x += (string)curAddr.Name + ":\n" ;
     AddressEntries entries = (AddressEntries)curAddr.AddressEntries;
     int entryCnt = (int)entries.Count;
     for(int j=1;j<=entryCnt;j++)
     {
       AddressEntry curEntry = (AddressEntry)entries.get_Item(j);
       string address;
       try{address = (string)curEntry.Address;}catch{address="<null>";}
       x +=  (string)curEntry.Name+ ": " + address  +" -> " + (int)curEntry.DisplayType +"\n";
     }
       }
       MessageBox.Show(x);
 }
Esempio n. 14
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ((Label)Master.FindControl("lblTitle")).Text = "Photos";
        Userid = SessionClass.getUserIdOrTempUserId();
        Session["PhotoAlbumId"]   = null;
        Session["HighResoultion"] = null;
        LoadDataListMediaAlbum();
        LoadDataListTagPhotos();
        LoadDataListTagAlbums();

        // for counting tag photo by friend if not found any then hide label
        List <Tags> lstphoto = TagsBLL.getTagsListbyFriendsId(Global.PHOTO, Userid);

        if (lstphoto.Count == 0)
        {
            tagphoto_Label.Visible = false;
        }
        // for counting tag album by friend if not found any then hide label
        List <Tags> lstalbum = TagsBLL.getTagsListbyFriendsId(Global.PHOTO_ALBUM, Userid);

        if (lstalbum.Count == 0)
        {
            Tags_Album_label.Visible = false;
        }

        List <MediaAlbum> for_more_album_count = MediaAlbumBLL.getMediaAlbumTop6(Userid, Global.PHOTO);

        if (for_more_album_count.Count < 5)
        {
            lbtnMore.Visible = false;
        }
    }
Esempio n. 15
0
        public RedirectToActionResult Add(int activeones, string activetwos)
        {
            Utilities.UserToView(this);
            //created variable to save recipe
            var selectRecipe = context.Recipes
                                                  //find recipe ID
                               .Where(t => t.RecipeId == activeones)
                               .FirstOrDefault(); //if recipeId not valid then null
            // a session to save the favorite recipe to
            var session = new SessionClass(HttpContext.Session);
            //get favorite recipe
            var favoriteRecipe = session.GetRecipes();
            //check if favorite recipe is already on the list by comparing recipe id with activeones
            var existingRecipe = favoriteRecipe.Where(x => x.RecipeId == activeones)
                                 .FirstOrDefault();

            //loop to add recipe if not on list
            if (existingRecipe == null)
            {
                favoriteRecipe.Add(selectRecipe);
                session.SetMyRecipes(favoriteRecipe);
            }


            TempData["message"] = $"{activetwos} added to your favorites";

            return(RedirectToAction("Index"));
        }
Esempio n. 16
0
    protected void lnkBtnFinish_Click(object sender, EventArgs e)
    {
        string fileName = SessionClass.getExpertImage();

        MESDSTableAdapters.UserCasesTableAdapter ta = new MESDSTableAdapters.UserCasesTableAdapter();
        ta.Insert(Session["UserName"].ToString(), fileName, DateTime.Now);
        Response.Redirect("MyCases.aspx");
    }
Esempio n. 17
0
        protected void btnImage_Click(object sender, ImageClickEventArgs e)
        {
            int          idTree     = Convert.ToInt32((sender as ImageButton).CommandArgument);
            SessionClass clsSession = (SessionClass)Session["SessionClass"];

            clsSession.IdTree       = idTree;
            Session["SessionClass"] = clsSession;
            //Response.Redirect((sender as ImageButton).);
        }
Esempio n. 18
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ((Label)Master.FindControl("lblTitle")).Text = "Video Album";

        Albumid = QueryString.getQueryStringOnIndex(0);
        Userid  = SessionClass.getUserId();
        Session["VideoAlbumId"] = Albumid;
        LoadDataListMedia();
    }
 public bool Validate() {
     try {
         IOAdSession session = new SessionClass();
         session.UserLogon(entity.UserName, entity.Password, entity.DataBase, SessionTypePrivate, entity.ConnectionName);
         session.SignOff();
         return true;
     } catch(Exception) {
         return false;
     }
 }
Esempio n. 20
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ((Label)Master.FindControl("lblTitle")).Text = "Manage Video";
        Userid = SessionClass.getUserId();

        if (!IsPostBack)
        {
            LoadDataListMedia();
        }
    }
Esempio n. 21
0
 public object GetBusLocations(SessionClass prmSessionClass)
 {
     return(new HttpRequest().RequestPost("/api/location/getbuslocations", new BusLocationsGet()
     {
         data = null,
         date = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"),
         device_session = prmSessionClass,
         language = "tr-TR"
     }));
 }
Esempio n. 22
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Userid = SessionClass.getUserIdOrTempUserId();

        ((Label)Master.FindControl("lblTitle")).Text = "FriendsList";
        if (!IsPostBack)
        {
            LoadFriendsList();
        }
    }
Esempio n. 23
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Label l = (Label)Page.Master.FindControl("lblTitle");

        l.Text = "View List";

        Userid = SessionClass.getUserId();

        ListViewGrid.DataSource = ListViewBLL.getList(Userid, Global.CONFIRMED);
        ListViewGrid.DataBind();
    }
Esempio n. 24
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Userid = SessionClass.getUserIdOrTempUserId();

        ((Label)Master.FindControl("lblTitle")).Text = "Remove Friends";
        if (!IsPostBack)
        {
            LoadFriendsList();
        }
        Panel1.DefaultButton = "SearchButton";
    }
Esempio n. 25
0
    protected void Page_Load(object sender, EventArgs e)
    {
        imgSave.Visible = false;
        lblSave.Visible = false;
        Userid          = SessionClass.getUserId();
        ((Label)Master.FindControl("lblTitle")).Text = "Sports";

        LoadDataListSports();
        LoadDataListTeam();
        LoadDataListAthelete();
    }
Esempio n. 26
0
 protected void Page_Load(object sender, EventArgs e)
 {
     Userid = SessionClass.getUserId();
     Search = QueryString.getQueryStringOnIndex(0);
     ((Label)Master.FindControl("lblTitle")).Text = "Search User";
     if (!IsPostBack)
     {
         LoadFriendsList();
     }
     Panel1.DefaultButton = "imgBtnSearchFriends";
 }
Esempio n. 27
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Userid = SessionClass.getUserId();

        string listname = Request.QueryString["ListName"];

        ((Label)Page.Master.FindControl("lblTitle")).Text = "Friends in " + listname + " list";
        GridViewFriendsList.DataSource = ListViewBLL.getFreindByList(Userid, Global.CONFIRMED, listname);
        GridViewFriendsList.DataBind();

        Panel1.DefaultButton = "SearchButton";
    }
Esempio n. 28
0
 protected void Page_Load(object sender, EventArgs e)
 {
     Userid = SessionClass.getUserIdOrTempUserId();
     ((Label)Master.FindControl("lblTitle")).Text = "Suggestions";
     if (!IsPostBack)
     {
         LoadSuggestions();
         LoadUserEmployersFilterItems(Userid);
         LoadUserUnisFilterItems(Userid);
         LoadUserSchoolsFilterItems(Userid);
         LoadMutualFriends();
     }
 }
Esempio n. 29
0
        public MAPISession()
        {
            session     = new SessionClass();
            editWindow  = 0;
            newMessages = 1;
            profile     = "";
            attachDir   = "";
            loggedIn    = false;
            inFolder    = false;

            readItems = null;
            message   = null;
        }
Esempio n. 30
0
 protected void Page_Load(object sender, EventArgs e)
 {
     ((Label)Master.FindControl("lblTitle")).Text = "Photos Album";
     Albumid = QueryString.getQueryStringOnIndex(0);
     Userid  = SessionClass.getUserId();
     Session["VideoAlbumId"] = Albumid;
     imgBtnComments.ImageUrl = Global.PROFILE_PICTURE + Userid + ".jpg";
     LoadDataListMedia();
     LoadDataListComments();
     YouLikes();
     LoadDataAlbum();
     Session["HighResoultion"] = null;
 }
Esempio n. 31
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Userid          = SessionClass.getUserId();
        imgSave.Visible = false;
        lblSave.Visible = false;
        ((Label)Master.FindControl("lblTitle")).Text = "Basic Information";

        if (!IsPostBack)
        {
            LoadBasicInfo();
            LoadUserInfo();
            //Populate Start DropDownLists
            if (Session["UserId"] != null)
            {
                lstMonth.DataSource = Enumerable.Range(1, 12).Select(a => new
                {
                    MonthName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(a),

                    MonthNumber = a
                });
                lstMonth.DataBind();
                lstYear.DataSource = Enumerable.Range(DateTime.Now.Year - 99, 100).Reverse();
                lstYear.DataBind();
                lstDay.DataSource = Enumerable.Range(1, DateTime.DaysInMonth(DateTime.Now.Year, Convert.ToInt32(lstMonth.SelectedValue)));
                lstDay.DataBind();

                lstMonth.Visible = true;
                lstDay.Visible   = true;
                lstYear.Visible  = true;
            }

            // Hide dropdown if there is no data in them
            if (lstMonth.Items.Count == 0)
            {
                lstMonth.Visible = false;
            }
            if (lstDay.Items.Count == 0)
            {
                lstDay.Visible = false;
            }
            if (lstYear.Items.Count == 0)
            {
                lstYear.Visible = false;
            }
            if (Session["lstDate"] != null)
            {
                lstDay.SelectedValue = Session["lstDate"].ToString();
            }
        }
    }
Esempio n. 32
0
    protected void Page_Load(object sender, EventArgs e)
    {
        imgSave.Visible = false;
        lblSave.Visible = false;

        Userid = SessionClass.getUserId();

        ((Label)Master.FindControl("lblTitle")).Text = "Arts & Entertainment";

        LoadDataListBooks();
        LoadDataListMusic();
        LoadDataListMovie();
        LoadDataListTelevision();
        LoadDataListGame();
    }
Esempio n. 33
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here

              MAPI.Session session = new SessionClass();
              //session.Logon(
              session.GetType().InvokeMember("Logon",BindingFlags.InvokeMethod,null,session,new Object[]{"*****@*****.**","raghu123",false});
              AddressLists addrs=null;
              try
              {
            addrs = (AddressLists)session.AddressLists;
              }
              catch(Exception ex)
              {
            Response.Write(ex.Message);Response.End();
              }
              int addrCnt = (int) addrs.Count;
              for(int i=0;i<addrCnt;i++)
              {
            AddressList curAddr = (AddressList) addrs.get_Item(i);
            Response.Write(curAddr.Name +"&nbsp;:" + ((AddressEntry)((AddressEntries)curAddr.AddressEntries).get_Item(0)).Name+ "BR>");
              }
        }
Esempio n. 34
0
    private void CreateCondition()
    {
        bool IsSelectAirport = false;
        bool IsRealCity = true;
        Session["CurrentSession"] = new SessionClass();
        SessionClass sc = (SessionClass)Session["CurrentSession"];

        AirSearchCondition airSearchCondition = new AirSearchCondition();

        airSearchCondition.SetPassengerNumber(PassengerType.Adult, Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Adults"]));

        CabinType cabin = new CabinType();
        cabin = CabinType.All;

        airSearchCondition.SetPassengerNumber(PassengerType.Child, Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Childs"]));

        airSearchCondition.FlightType = "roundtrip";

        airSearchCondition.FlexibleDays = 0;

        AirTripCondition deptCondition = new AirTripCondition();
        deptCondition.Cabin = cabin;

        string depCity = "";

        sc.FromCityName = depCity;

        if (depCity.Length > 3)
        {
            IList departureAirPorts = _CommonService.FindAirportByCityName(depCity);

            if (departureAirPorts.Count > 1)
            {
                IsSelectAirport = true;
                sc.FromAirports = departureAirPorts;
            }
            else if (departureAirPorts.Count == 1)
            {
                deptCondition.Departure = (Terms.Common.Domain.Airport)departureAirPorts[0];
            }
            else
            {

                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(depCity, airportList);
                if (airport != null)
                    deptCondition.Departure = airport;
                else
                    sc.IsRealFromCity = IsRealCity = false;
            }

        }
        else
        {
            deptCondition.Departure = AirService.CommAirportDao.FindByAirport(depCity.Trim());

            if (deptCondition.Departure == null)
            {
                deptCondition.Departure = new Terms.Common.Domain.Airport();
                deptCondition.Departure.Code = depCity;
            }
        }

        deptCondition.DepartureDate = GlobalUtility.GetDateTime(DateTime.Now.AddDays(14).ToString("MM/dd/yyyy", DateTimeFormatInfo.InvariantInfo));

        string toCity = this.Request["ToCity"];

        sc.ToCityName = toCity;
        if (toCity.Length > 3)
        {
            IList destinationAirPorts = _CommonService.FindAirportByCityName(toCity);

            if (destinationAirPorts.Count > 1)
            {
                IsSelectAirport = true;
                sc.ToAirports = destinationAirPorts;
            }
            else if (destinationAirPorts.Count == 1)
            {
                deptCondition.Destination = (Terms.Common.Domain.Airport)destinationAirPorts[0];
            }
            else
            {
                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(toCity, airportList);
                if (airport != null)
                    deptCondition.Destination = airport;
                else
                    sc.IsRealToCity = IsRealCity = false;
            }

        }
        else
        {
            deptCondition.Destination = AirService.CommAirportDao.FindByAirport(toCity);

            if (deptCondition.Destination == null)
            {
                deptCondition.Destination = new Terms.Common.Domain.Airport();
                deptCondition.Destination.Code = toCity;
            }
        }

        AirTripCondition rtnCondition = new AirTripCondition();
        rtnCondition.Cabin = cabin;

        rtnCondition.Departure = deptCondition.Destination;
        rtnCondition.Destination = deptCondition.Departure;
        rtnCondition.DepartureDate = GlobalUtility.GetDateTime(DateTime.Now.AddDays(21).ToString("MM/dd/yyyy", DateTimeFormatInfo.InvariantInfo));

        airSearchCondition.AddTripCondition(deptCondition);
        airSearchCondition.AddTripCondition(rtnCondition);

        sc.CurrentItinerary.SearchInfo = airSearchCondition;
        this.Transaction.CurrentSearchConditions = airSearchCondition;
        this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();

        if (!IsRealCity)
        {
            Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?TYPE=Promos");
        }

        Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?TYPE=Promos");
    }
    /// <summary>
    /// Find if the Airport  should be Forbidden 
    /// </summary>
    public bool HasForbiddenAirport(SessionClass sc)
    {
        if (ConfigurationManager.AppSettings.Get("ForbiddenAirport") != null)
        {
            IList<Terms.Common.Domain.Airport> m_AllAirportList = new List<Terms.Common.Domain.Airport>();

            if (sc.ToAirports != null && sc.ToAirports.Count>0)
            {
                foreach (Terms.Common.Domain.Airport apt in sc.ToAirports)
                {
                    m_AllAirportList.Add(apt);
                }

            }
            if (sc.FromAirports != null && sc.FromAirports.Count>0)
            {
                foreach (Terms.Common.Domain.Airport apt in sc.FromAirports)
                {
                    m_AllAirportList.Add(apt);
                }

            }
            if (sc.ReturnToAirports != null && sc.ReturnToAirports.Count>0)
            {
                foreach (Terms.Common.Domain.Airport apt in sc.ReturnToAirports)
                {
                    m_AllAirportList.Add(apt);
                }

            }

            if (sc.ReturnFromAirports != null && sc.ReturnFromAirports.Count>0)
            {
                foreach (Terms.Common.Domain.Airport apt in sc.ReturnFromAirports)
                {
                    m_AllAirportList.Add(apt);
                }

            }

            foreach (AirTripCondition airTripCondition in ((AirSearchCondition)sc.CurrentItinerary.SearchInfo).GetAddTripCondition())
            {
                if (airTripCondition.Departure!=null)
                    m_AllAirportList.Add(airTripCondition.Departure);
                if (airTripCondition.Destination != null)
                    m_AllAirportList.Add(airTripCondition.Destination);

            }

            if (m_AllAirportList != null && m_AllAirportList.Count > 0)
            {
                foreach (Terms.Common.Domain.Airport airport in m_AllAirportList)
                {
                    if (ConfigurationManager.AppSettings.Get("ForbiddenAirport").ToString().ToUpper().Contains(airport.Code.ToUpper()))
                    {

                        return true;
                    }
                }
            }

        }

        return false;
    }
Esempio n. 36
0
    private void SetSearchCondition(ref bool IsRealCity, ref bool IsSelectAirport)
    {
        Session["CurrentSession"] = new SessionClass();
        SessionClass sc = (SessionClass)Session["CurrentSession"];

        AirSearchCondition airSearchCondition = new AirSearchCondition();

        airSearchCondition.SetPassengerNumber(PassengerType.Adult, Convert.ToInt32(ddlAdult.SelectedValue));

        CabinType cabin = new CabinType();
        if (rdoLstCabin.SelectedIndex == 0)
        {
            cabin = CabinType.Economy;
        }
        else if (rdoLstCabin.SelectedIndex == 1)
        {
            cabin = CabinType.Business;
        }
        else if (rdoLstCabin.SelectedIndex == 2)
        {
            cabin = CabinType.First;
        }
        else if (rdoLstCabin.SelectedIndex == 3)
        {
            cabin = CabinType.All;
        }

        airSearchCondition.SetPassengerNumber(PassengerType.Child, Convert.ToInt32(ddlChild.SelectedValue));
        airSearchCondition.SetPassengerNumber(PassengerType.Infant, Convert.ToInt32(ddlInfant.SelectedValue));

        airSearchCondition.FlightType = FlightType.Value.Trim();

        airSearchCondition.FlexibleDays = 0;

        AirTripCondition deptCondition = new AirTripCondition();
        deptCondition.Cabin = cabin;

        sc.FromCityName = depCity.Text.Trim();
        if (depCity.Text.Trim().Length > 3)
        {
            IList departureAirPorts = _CommonService.FindAirportByCityName(depCity.Text.Trim());

            if (departureAirPorts.Count > 1)
            {
                IsSelectAirport = true;
                sc.FromAirports = departureAirPorts;
            }
            else if (departureAirPorts.Count == 1)
            {
                deptCondition.Departure = (Terms.Common.Domain.Airport)departureAirPorts[0];
            }
            else
            {

                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(depCity.Text.Trim(), airportList);
                if (airport != null)
                    deptCondition.Departure = airport;
                else
                    sc.IsRealFromCity = IsRealCity = false;
                //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtDepCity.Value + "\"&GoToPage=~/index.aspx");
            }

        }
        else
        {
            deptCondition.Departure = AirService.CommAirportDao.FindByAirport(depCity.Text.Trim());

            if (deptCondition.Departure == null)
            {
                deptCondition.Departure = new Terms.Common.Domain.Airport();
                deptCondition.Departure.Code = depCity.Text.Trim();
            }
        }

        deptCondition.DepartureDate = GlobalUtility.GetDateTime(depFlightCalendar.CDate.Trim());

        sc.ToCityName = toCity.Text.Trim();
        if (toCity.Text.Trim().Length > 3)
        {
            IList destinationAirPorts = _CommonService.FindAirportByCityName(toCity.Text.Trim());

            if (destinationAirPorts.Count > 1)
            {
                IsSelectAirport = true;
                sc.ToAirports = destinationAirPorts;
            }
            else if (destinationAirPorts.Count == 1)
            {
                deptCondition.Destination = (Terms.Common.Domain.Airport)destinationAirPorts[0];
            }
            else
            {
                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(toCity.Text.Trim(), airportList);
                if (airport != null)
                    deptCondition.Destination = airport;
                else
                    sc.IsRealToCity = IsRealCity = false;
                // Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtDesCity.Value + "\"&GoToPage=~/index.aspx");
            }

        }
        else
        {
            deptCondition.Destination = AirService.CommAirportDao.FindByAirport(toCity.Text.Trim());

            if (deptCondition.Destination == null)
            {
                deptCondition.Destination = new Terms.Common.Domain.Airport();
                deptCondition.Destination.Code = toCity.Text.Trim();
            }
        }

        AirTripCondition rtnCondition = new AirTripCondition();
        rtnCondition.Cabin = cabin;

        if (airSearchCondition.FlightType.ToLower().Equals("oneway"))
        {
            rtnCondition.Departure = deptCondition.Destination;
            rtnCondition.Destination = deptCondition.Departure;
            rtnCondition.DepartureDate = DateTime.MaxValue;
        }
        else if (airSearchCondition.FlightType.ToLower().Equals("roundtrip"))
        {
            rtnCondition.Departure = deptCondition.Destination;
            rtnCondition.Destination = deptCondition.Departure;
            rtnCondition.DepartureDate = GlobalUtility.GetDateTime(rtnFlightCalendar.CDate.Trim());
        }
        else if (airSearchCondition.FlightType.ToLower().Equals("openjaw"))
        {
            //rtnCondition.Departure = AirService.CommAirportDao.FindByAirport(txtRtnFrom.Value.Trim());
            //rtnCondition.Destination = AirService.CommAirportDao.FindByAirport(txtRtnTo.Value.Trim());
            rtnCondition.DepartureDate = GlobalUtility.GetDateTime(rtnFlightCalendar.CDate.Trim());
            sc.ReturnFromCityName = rtnFromCity.Text.Trim();
            if (rtnFromCity.Text.Trim().Length > 3)
            {
                IList returnFromAirPorts = _CommonService.FindAirportByCityName(rtnFromCity.Text.Trim());

                if (returnFromAirPorts.Count > 1)
                {
                    IsSelectAirport = true;
                    sc.ReturnFromAirports = returnFromAirPorts;
                }
                else if (returnFromAirPorts.Count == 1)
                {
                    rtnCondition.Departure = (Terms.Common.Domain.Airport)returnFromAirPorts[0];
                }
                else
                {
                    List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                    Terms.Common.Domain.Airport airport = MatchAirport(rtnFromCity.Text.Trim(), airportList);
                    if (airport != null)
                        rtnCondition.Departure = airport;
                    else
                        sc.IsRealReturnFromCity = IsRealCity = false;
                    //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtRtnFrom.Value + "\"&GoToPage=~/index.aspx");
                }
            }
            else
            {
                rtnCondition.Departure = AirService.CommAirportDao.FindByAirport(rtnFromCity.Text.Trim());
                if (rtnCondition.Departure == null)
                {
                    rtnCondition.Departure = new Terms.Common.Domain.Airport();
                    rtnCondition.Departure.Code = rtnFromCity.Text.Trim();
                }
            }
            sc.ReturnToCityName = rtnToCity.Text.Trim();
            if (rtnToCity.Text.Trim().Length > 3)
            {
                IList returnToAirPorts = _CommonService.FindAirportByCityName(rtnToCity.Text.Trim());

                if (returnToAirPorts.Count > 1)
                {
                    IsSelectAirport = true;
                    sc.ReturnToAirports = returnToAirPorts;
                }
                else if (returnToAirPorts.Count == 1)
                {
                    rtnCondition.Destination = (Terms.Common.Domain.Airport)returnToAirPorts[0];
                }
                else
                {
                    List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                    Terms.Common.Domain.Airport airport = MatchAirport(rtnToCity.Text.Trim(), airportList);
                    if (airport != null)
                        rtnCondition.Destination = airport;
                    else
                        sc.IsRealReturnToCity = IsRealCity = false;
                    //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtRtnTo.Value + "\"&GoToPage=~/index.aspx");
                }

            }
            else
            {
                rtnCondition.Destination = AirService.CommAirportDao.FindByAirport(rtnToCity.Text.Trim());
                if (rtnCondition.Destination == null)
                {
                    rtnCondition.Destination = new Terms.Common.Domain.Airport();
                    rtnCondition.Destination.Code = rtnToCity.Text.Trim();
                }
            }
        }

        airSearchCondition.AddTripCondition(deptCondition);
        airSearchCondition.AddTripCondition(rtnCondition);

        //if (ddlAirline.SelectedItem.Text != "Search All Airlines")
        if (txtAirline.Text.Trim() != "")
        {
            //param.Airways = ddlAirline.SelectedValue.Split(',');
            airSearchCondition.Airlines = txtAirline.Text.Split(',');
        }

        sc.CurrentItinerary.SearchInfo = airSearchCondition;
        Utility.IsTourMain = false;//设置是否是Tour标志
        this.Transaction.IntKey = airSearchCondition.GetHashCode();
        this.Transaction.CurrentSearchConditions = airSearchCondition;
        this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();
    }
    protected void imgSearch_Click(object sender, EventArgs e)
    {
        //ע�⣬��������Ҫ�����֤�������ݵĴ��룡����
        lblError.Visible = false;

        if (txtFrom.Text.Trim().Length == 0)
        {
            lblError.Visible = true;
            lblError.Text = "Please input From";
            return;
        }

        if (txtTo.Text.Trim().Length == 0)
        {
            lblError.Visible = true;
            lblError.Text = "Please input To";
            return;
        }

        txtFrom.Text = ConvertName(txtFrom.Text);
        txtTo.Text = ConvertName(txtTo.Text);

        PackageSearchCondition PacakgeSearch = (PackageSearchCondition)this.Transaction.CurrentSearchConditions;
        PacakgeSearch.OptionalHotelSearchConditions.Clear();
        PacakgeSearch.IsReset = true;

        PacakgeSearch.DepatrueAirPorts = new List<Terms.Common.Domain.Airport>();
        if (txtFrom.Text.Trim().Length > 3)
        {
            IList departureAirPorts = _commonService.FindAirportByCityName(txtFrom.Text.Trim());

            if (departureAirPorts.Count >= 1)
            {
                PacakgeSearch.DepatrueAirPorts = departureAirPorts;
            }
            else
            {
                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(txtFrom.Text.Trim(), airportList);
                if (airport != null)
                {
                    PacakgeSearch.DepatrueAirPorts.Add(airport);
                }
            }
        }
        else
        {
            Terms.Common.Domain.Airport airport = AirService.CommAirportDao.FindByAirport(txtFrom.Text.Trim());

            if (airport != null)
            {
                PacakgeSearch.DepatrueAirPorts.Add(airport);
            }
            else
            {
                IList departureAirPorts = AirService.CommAirportDao.FindByCityCode(txtFrom.Text.Trim());

                if (departureAirPorts.Count >= 1)
                {
                    PacakgeSearch.DepatrueAirPorts = departureAirPorts;
                }
            }
        }

        PacakgeSearch.DestinationAirPorts = new List<Terms.Common.Domain.Airport>();
        if (txtTo.Text.Trim().Length > 3)
        {
            IList ReturnAirPorts = _commonService.FindAirportByCityName(txtTo.Text.Trim());

            if (ReturnAirPorts.Count >= 1)
            {
                PacakgeSearch.DestinationAirPorts = ReturnAirPorts;
            }
            else
            {
                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(txtTo.Text.Trim(), airportList);
                if (airport != null)
                {
                    PacakgeSearch.DestinationAirPorts.Add(airport);
                }
            }
        }
        else
        {
            Terms.Common.Domain.Airport airport = AirService.CommAirportDao.FindByAirport(txtTo.Text.Trim());

            if (airport != null)
            {
                PacakgeSearch.DestinationAirPorts.Add(airport);
            }
            else
            {
                IList ReturnAirPorts = AirService.CommAirportDao.FindByCityCode(txtTo.Text.Trim());

                if (ReturnAirPorts.Count >= 1)
                {
                    PacakgeSearch.DestinationAirPorts = ReturnAirPorts;
                }
            }
        }

        Utility.IsTourMain = false;//�����Ƿ���Tour��־

        Session["CurrentSession"] = new SessionClass();
        SessionClass scAH = (SessionClass)Session["CurrentSession"];

        scAH.FromCityName = txtFrom.Text;
        scAH.ToCityName = txtTo.Text;

        Session["CurrentSession"] = scAH;

        if (PacakgeSearch.DestinationAirPorts.Count > 0 && PacakgeSearch.DepatrueAirPorts.Count > 0)
        {
            PacakgeSearch.HotelSearchCondition.CheckIn = Convert.ToDateTime(this.dateCheckIn.CDate);
            PacakgeSearch.HotelSearchCondition.CheckOut = Convert.ToDateTime(this.dateCheckOut.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[0].Departure = (Airport)PacakgeSearch.DepatrueAirPorts[0];
            PacakgeSearch.AirSearchCondition.AirTripCondition[0].DepartureDate = Convert.ToDateTime(this.dateDeparture.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[1].Destination = (Airport)PacakgeSearch.DepatrueAirPorts[0];

            PacakgeSearch.AirSearchCondition.AirTripCondition[1].Departure = (Airport)PacakgeSearch.DestinationAirPorts[0];
            PacakgeSearch.AirSearchCondition.AirTripCondition[1].DepartureDate = Convert.ToDateTime(this.dateReturn.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[0].Destination = (Airport)PacakgeSearch.DestinationAirPorts[0];

            PacakgeSearch.HotelSearchCondition.LocationIndicator = TERMS.Common.LocationIndicator.City;
            PacakgeSearch.HotelSearchCondition.Location = ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).CityCode; ;
            PacakgeSearch.HotelSearchCondition.Country = ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).City.Country.Code;

        }
        else if(PacakgeSearch.DestinationAirPorts.Count > 0 && PacakgeSearch.DepatrueAirPorts.Count <= 0)
        {
            PacakgeSearch.HotelSearchCondition.CheckIn = Convert.ToDateTime(this.dateCheckIn.CDate);
            PacakgeSearch.HotelSearchCondition.CheckOut = Convert.ToDateTime(this.dateCheckOut.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[0].Departure = new Airport();
            PacakgeSearch.AirSearchCondition.AirTripCondition[0].DepartureDate = Convert.ToDateTime(this.dateDeparture.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[1].Destination = new Airport();

            PacakgeSearch.AirSearchCondition.AirTripCondition[1].Departure = (Airport)PacakgeSearch.DestinationAirPorts[0];
            PacakgeSearch.AirSearchCondition.AirTripCondition[1].DepartureDate = Convert.ToDateTime(this.dateReturn.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[0].Destination = (Airport)PacakgeSearch.DestinationAirPorts[0];

            PacakgeSearch.HotelSearchCondition.LocationIndicator = TERMS.Common.LocationIndicator.City;
            PacakgeSearch.HotelSearchCondition.Location = ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).CityCode;
            PacakgeSearch.HotelSearchCondition.Country = ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).City.Country.Code;
        }
        else if (PacakgeSearch.DestinationAirPorts.Count <= 0 && PacakgeSearch.DepatrueAirPorts.Count > 0)
        {
            PacakgeSearch.HotelSearchCondition.CheckIn = Convert.ToDateTime(this.dateCheckIn.CDate);
            PacakgeSearch.HotelSearchCondition.CheckOut = Convert.ToDateTime(this.dateCheckOut.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[0].Departure = (Airport)PacakgeSearch.DepatrueAirPorts[0];
            PacakgeSearch.AirSearchCondition.AirTripCondition[0].DepartureDate = Convert.ToDateTime(this.dateDeparture.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[1].Destination = (Airport)PacakgeSearch.DepatrueAirPorts[0];

            PacakgeSearch.AirSearchCondition.AirTripCondition[1].Departure = new Airport();
            PacakgeSearch.AirSearchCondition.AirTripCondition[1].DepartureDate = Convert.ToDateTime(this.dateReturn.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[0].Destination = new Airport();

            PacakgeSearch.HotelSearchCondition.LocationIndicator = TERMS.Common.LocationIndicator.City;
            PacakgeSearch.HotelSearchCondition.Location = "";
            PacakgeSearch.HotelSearchCondition.Country = "";
        }
        else
        {
            PacakgeSearch.HotelSearchCondition.CheckIn = Convert.ToDateTime(this.dateCheckIn.CDate);
            PacakgeSearch.HotelSearchCondition.CheckOut = Convert.ToDateTime(this.dateCheckOut.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[0].Departure = new Airport();
            PacakgeSearch.AirSearchCondition.AirTripCondition[0].DepartureDate = Convert.ToDateTime(this.dateDeparture.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[1].Destination = new Airport();

            PacakgeSearch.AirSearchCondition.AirTripCondition[1].Departure = new Airport();
            PacakgeSearch.AirSearchCondition.AirTripCondition[1].DepartureDate = Convert.ToDateTime(this.dateReturn.CDate);

            PacakgeSearch.AirSearchCondition.AirTripCondition[0].Destination = new Airport();

            PacakgeSearch.HotelSearchCondition.LocationIndicator = TERMS.Common.LocationIndicator.City;
            PacakgeSearch.HotelSearchCondition.Location = "";
            PacakgeSearch.HotelSearchCondition.Country = "";
        }

        //��¼Search Package�¼�
        if(Utility.IsSubAgent)
            OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.SUB_SearchPackage, this);
        else
            OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.MV_SearchPackage, this);

        this.Page.Response.Redirect("~/Page/Common/Searching1.aspx?target=~/Page/Package2/ViewYourPackages" + "&ConditionID=" + Request.Params["ConditionID"]);
    }
Esempio n. 38
0
    public void RefreshAmount()
    {
        if (Session["CurrentSession"] == null)
        {
            Session["CurrentSession"] = new SessionClass();
        }

        if (Session["USERINFO"] == null)
        {
            return;
        }

        SessionClass sc = (SessionClass)Session["CurrentSession"];
        if (sc.BookingManage == null)
        {
            sc.BookingManage = new BookingManage();
        }
    }
Esempio n. 39
0
    private void SearchAllType()
    {
        if (Request["searchtype"] == null || Request["searchtype"].Trim().Length == 0)
        {
            return;
        }

        string searchtype = Request["searchtype"].Trim();

        switch (searchtype)
        {
            case "A":
                string depCity = ConvertName(Request["fromcity"].Trim());
                string toCity = ConvertName(Request["tocity"].Trim());
                string rtnFromCity = ConvertName(Request["rtnfromah"].Trim());
                string rtnToCity = ConvertName(Request["rtntoah"].Trim());

                //log begin 20090312 Leon
                log.Info("\r\n");
                System.Random rd = new Random();

                Session["LOG_RANDOM"] = rd.Next(999999999);

                if (!Utility.IsLogin)
                {
                    log.Info(Session["LOG_RANDOM"].ToString() + " >====================Not Login========================");
                }
                else
                {
                    log.Info(Session["LOG_RANDOM"].ToString() + " >==========================Login========================");
                }
                string logAirline = Request["aircode"].Trim().Trim().Equals(string.Empty) ? "All" : Request["aircode"].Trim();
                log.Info(Session["LOG_RANDOM"].ToString() + " >==========================AirLine:" + logAirline + "========================");
                log.Info(Session["LOG_RANDOM"].ToString() + " >SearchClick Begin Start time : " + System.DateTime.Now);
                //log end 20090312 Leon

                if (Utility.IsSubAgent)
                    OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.SUB_SearchAir, this);
                else
                    OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.MV_SearchAir, this);

                Session["HasReminder"] = true;

                //if (!Page.IsValid)
                //    return;
                bool IsSelectAirport = false;
                bool IsRealCity = true;

                Session["CurrentSession"] = new SessionClass();
                SessionClass sc = (SessionClass)Session["CurrentSession"];

                AirSearchCondition airSearchCondition = new AirSearchCondition();

                airSearchCondition.SetPassengerNumber(PassengerType.Adult, Convert.ToInt32(Convert.ToInt32(Request["adults"].Trim())));

                CabinType cabinA = new CabinType();
                if (Request["airclass"].Trim() == "ECONOMY")
                {
                    cabinA = CabinType.Economy;
                }
                else if (Request["airclass"].Trim() == "BUSINESS")
                {
                    cabinA = CabinType.Business;
                }
                else if (Request["airclass"].Trim() == "FIRST")
                {
                    cabinA = CabinType.First;
                }
                else
                {
                    cabinA = CabinType.All;
                }

                airSearchCondition.SetPassengerNumber(PassengerType.Child, Convert.ToInt32(Convert.ToInt32(Request["children"].Trim())));

                airSearchCondition.FlightType = Request["airtype"].Trim();

                airSearchCondition.FlexibleDays = 0;

                AirTripCondition deptCondition = new AirTripCondition();
                deptCondition.Cabin = cabinA;

                sc.FromCityName = depCity.Trim();
                if (depCity.Trim().Length > 3)
                {
                    IList departureAirPorts = _CommonService.FindAirportByCityName(depCity.Trim());

                    if (departureAirPorts.Count > 1)
                    {
                        IsSelectAirport = true;
                        sc.FromAirports = departureAirPorts;
                    }
                    else if (departureAirPorts.Count == 1)
                    {
                        deptCondition.Departure = (Terms.Common.Domain.Airport)departureAirPorts[0];
                    }
                    else
                    {

                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(depCity.Trim(), airportList);
                        if (airport != null)
                            deptCondition.Departure = airport;
                        else
                            sc.IsRealFromCity = IsRealCity = false;
                        //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtDepCity.Value + "\"&GoToPage=~/index.aspx");
                    }

                }
                else
                {
                    deptCondition.Departure = AirService.CommAirportDao.FindByAirport(depCity.Trim());

                    if (deptCondition.Departure == null)
                    {
                        deptCondition.Departure = new Terms.Common.Domain.Airport();
                        deptCondition.Departure.Code = depCity.Trim();
                    }
                }

                deptCondition.DepartureDate = GlobalUtility.GetDateTime(Request["fromdate"].Trim());

                bool IsDataError = true;

                if (deptCondition.DepartureDate < DateTime.Now.AddDays(3))
                {
                    IsRealCity = false;
                    IsDataError = false;

                }

                sc.ToCityName = toCity.Trim();
                if (toCity.Trim().Length > 3)
                {
                    IList destinationAirPorts = _CommonService.FindAirportByCityName(toCity.Trim());

                    if (destinationAirPorts.Count > 1)
                    {
                        IsSelectAirport = true;
                        sc.ToAirports = destinationAirPorts;
                    }
                    else if (destinationAirPorts.Count == 1)
                    {
                        deptCondition.Destination = (Terms.Common.Domain.Airport)destinationAirPorts[0];
                    }
                    else
                    {
                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(toCity.Trim(), airportList);
                        if (airport != null)
                            deptCondition.Destination = airport;
                        else
                            sc.IsRealToCity = IsRealCity = false;
                        // Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtDesCity.Value + "\"&GoToPage=~/index.aspx");
                    }

                }
                else
                {
                    deptCondition.Destination = AirService.CommAirportDao.FindByAirport(toCity.Trim());

                    if (deptCondition.Destination == null)
                    {
                        deptCondition.Destination = new Terms.Common.Domain.Airport();
                        deptCondition.Destination.Code = toCity.Trim();
                    }
                }

                AirTripCondition rtnCondition = new AirTripCondition();
                rtnCondition.Cabin = cabinA;

                if (Request["airtype"].Trim().ToLower().Equals("oneway"))
                {
                    rtnCondition.Departure = deptCondition.Destination;
                    rtnCondition.Destination = deptCondition.Departure;
                    rtnCondition.DepartureDate = DateTime.MaxValue;
                }
                else if (Request["airtype"].Trim().ToLower().Equals("roundtrip"))
                {
                    rtnCondition.Departure = deptCondition.Destination;
                    rtnCondition.Destination = deptCondition.Departure;
                    rtnCondition.DepartureDate = GlobalUtility.GetDateTime(Request["todate"].Trim());
                }
                else if (Request["airtype"].Trim().ToLower().Equals("openjaw"))
                {
                    rtnCondition.DepartureDate = GlobalUtility.GetDateTime(Request["todate"].Trim());
                    sc.ReturnFromCityName = rtnFromCity.Trim();
                    if (rtnFromCity.Trim().Length > 3)
                    {
                        IList returnFromAirPorts = _CommonService.FindAirportByCityName(rtnFromCity.Trim());

                        if (returnFromAirPorts.Count > 1)
                        {
                            IsSelectAirport = true;
                            sc.ReturnFromAirports = returnFromAirPorts;
                        }
                        else if (returnFromAirPorts.Count == 1)
                        {
                            rtnCondition.Departure = (Terms.Common.Domain.Airport)returnFromAirPorts[0];
                        }
                        else
                        {
                            List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                            Terms.Common.Domain.Airport airport = MatchAirport(rtnFromCity.Trim(), airportList);
                            if (airport != null)
                                rtnCondition.Departure = airport;
                            else
                                sc.IsRealReturnFromCity = IsRealCity = false;
                            //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtRtnFrom.Value + "\"&GoToPage=~/index.aspx");
                        }
                    }
                    else
                    {
                        rtnCondition.Departure = AirService.CommAirportDao.FindByAirport(rtnFromCity.Trim());
                        if (rtnCondition.Departure == null)
                        {
                            rtnCondition.Departure = new Terms.Common.Domain.Airport();
                            rtnCondition.Departure.Code = rtnFromCity.Trim();
                        }
                    }
                    sc.ReturnToCityName = rtnToCity.Trim();
                    if (rtnToCity.Trim().Length > 3)
                    {
                        IList returnToAirPorts = _CommonService.FindAirportByCityName(rtnToCity.Trim());

                        if (returnToAirPorts.Count > 1)
                        {
                            IsSelectAirport = true;
                            sc.ReturnToAirports = returnToAirPorts;
                        }
                        else if (returnToAirPorts.Count == 1)
                        {
                            rtnCondition.Destination = (Terms.Common.Domain.Airport)returnToAirPorts[0];
                        }
                        else
                        {
                            List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                            Terms.Common.Domain.Airport airport = MatchAirport(rtnToCity.Trim(), airportList);
                            if (airport != null)
                                rtnCondition.Destination = airport;
                            else
                                sc.IsRealReturnToCity = IsRealCity = false;
                            //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtRtnTo.Value + "\"&GoToPage=~/index.aspx");
                        }

                    }
                    else
                    {
                        rtnCondition.Destination = AirService.CommAirportDao.FindByAirport(rtnToCity.Trim());
                        if (rtnCondition.Destination == null)
                        {
                            rtnCondition.Destination = new Terms.Common.Domain.Airport();
                            rtnCondition.Destination.Code = rtnToCity.Trim();
                        }
                    }
                }

                airSearchCondition.AddTripCondition(deptCondition);
                airSearchCondition.AddTripCondition(rtnCondition);

                //if (ddlAirline.SelectedItem.Text != "Search All Airlines")
                if (Request["aircode"].Trim().Trim() != "")
                {
                    //param.Airways = ddlAirline.SelectedValue.Split(',');
                    airSearchCondition.Airlines = Request["aircode"].Trim().Split(',');
                }

                sc.CurrentItinerary.SearchInfo = airSearchCondition;
                Utility.IsTourMain = false;//�����Ƿ���Tour��־
                this.Transaction.IntKey = airSearchCondition.GetHashCode();
                this.Transaction.CurrentSearchConditions = airSearchCondition;
                this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();

                ForbiddenAirportControl f = new ForbiddenAirportControl();

                bool IsErrorAir = f.HasForbiddenAirport(sc);

                if (IsErrorAir)
                {
                    Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&DateErrorMsg=" + Resources.HintInfo.ForbiddenAirport);
                }

                if (!IsRealCity)
                {
                    if (!Utility.IsLogin && Session["IndexForFlight"] == null)
                    {
                        if (IsDataError)
                        {
                            Response.Redirect("~/IndexForFlight.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&IsRealCity=" + IsRealCity.ToString() + "&IsSelectAirport=" + IsSelectAirport.ToString());
                        }
                        else
                        {
                            Response.Redirect("~/IndexForFlight.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&IsRealCity=" + IsRealCity.ToString() + "&IsSelectAirport=" + IsSelectAirport.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
                        }
                    }

                    if (IsDataError)
                    {
                        Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString());
                    }
                    else
                    {
                        Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
                    }
                }
                else
                {
                    if (IsSelectAirport)
                    {
                        if (!Utility.IsLogin && Session["IndexForFlight"] == null)
                        {
                            if (IsDataError)
                            {
                                Response.Redirect("~/IndexForFlight.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&IsRealCity=" + IsRealCity.ToString() + "&IsSelectAirport=" + IsSelectAirport.ToString());
                            }
                            else
                            {
                                Response.Redirect("~/IndexForFlight.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&IsRealCity=" + IsRealCity.ToString() + "&IsSelectAirport=" + IsSelectAirport.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
                            }
                        }

                        if (IsDataError)
                        {
                            Response.Redirect("~/Page/Flight/SearchConditionsForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString());
                        }
                        else
                        {
                            Response.Redirect("~/Page/Flight/SearchConditionsForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
                        }
                    }
                    else
                    {
                        if (!Utility.IsLogin && Session["IndexForFlight"] == null)
                        {
                            if (IsDataError)
                            {
                                Response.Redirect("~/IndexForFlight.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&IsRealCity=" + IsRealCity.ToString() + "&IsSelectAirport=" + IsSelectAirport.ToString());
                            }
                            else
                            {
                                Response.Redirect("~/IndexForFlight.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&IsRealCity=" + IsRealCity.ToString() + "&IsSelectAirport=" + IsSelectAirport.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
                            }
                        }

                        log.Info(Session["LOG_RANDOM"].ToString() + " >Redirect Searching.aspx Begin Start time : " + System.DateTime.Now);

                        if (IsDataError)
                        {
                            Response.Redirect("~/Page/Flight/Searching.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString());
                        }
                        else
                        {
                            Response.Redirect("~/Page/Flight/Searching.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
                        }
                    }
                }

                break;
            case "AH":
                if (Utility.IsSubAgent)
                    OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.SUB_SearchPackage, this);
                else
                    OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.MV_SearchPackage, this);

                List<TourErrorMsg> errorsP = new List<TourErrorMsg>();

                DateTime dateDept_A = Convert.ToDateTime(Request["fromdate"].Trim());
                DateTime dateRtn_A = Convert.ToDateTime(Request["todate"].Trim());
                DateTime dateChinkIn_H;
                DateTime dateChinkOut_H;

                Session["CurrentSession"] = new SessionClass();
                SessionClass scAH = (SessionClass)Session["CurrentSession"];

                if (Request["fromcity"].Trim().Length == 0)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Error_City1;
                    errorsP.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsP.Add(error);
                }

                if (Request["tocity"].Trim().Length == 0)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Error_City2;
                    errorsP.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsP.Add(error);
                }

                string txtFrom_AH = ConvertName(Request["fromcity"].Trim());
                string txtTo_AH = ConvertName(Request["tocity"].Trim());

                //Utility.SelectAirGroup = null;
                PackageSearchCondition PacakgeSearch = new PackageSearchCondition();
                PacakgeSearch.IsReset = true;

                PacakgeSearch.DepatrueAirPorts = new List<Terms.Common.Domain.Airport>();
                scAH.FromCityName = txtFrom_AH.Trim();
                if (txtFrom_AH.Trim().Length > 3)
                {
                    IList departureAirPorts = _CommonService.FindAirportByCityName(txtFrom_AH.Trim());

                    if (departureAirPorts.Count >= 1)
                    {
                        PacakgeSearch.DepatrueAirPorts = departureAirPorts;
                        scAH.FromAirports = departureAirPorts;
                    }
                    else
                    {
                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(txtFrom_AH.Trim(), airportList);
                        if (airport != null)
                        {
                            PacakgeSearch.DepatrueAirPorts.Add(airport);
                        }
                        else
                        {
                            scAH.IsRealFromCity = false;
                            TourErrorMsg error = new TourErrorMsg();
                            error.IsError = true;
                            error.ErrorMsg = Resources.HintInfo.Package_Error_City3;
                            errorsP.Add(error);
                        }
                    }
                }
                else
                {
                    Terms.Common.Domain.Airport airport = AirService.CommAirportDao.FindByAirport(txtFrom_AH.Trim());

                    if (airport != null)
                    {
                        PacakgeSearch.DepatrueAirPorts.Add(airport);
                    }
                    else
                    {
                        IList departureAirPorts = AirService.CommAirportDao.FindByCityCode(txtFrom_AH.Trim());

                        if (departureAirPorts.Count >= 1)
                        {
                            PacakgeSearch.DepatrueAirPorts = departureAirPorts;
                        }
                        else
                        {
                            scAH.IsRealFromCity = false;
                            TourErrorMsg error = new TourErrorMsg();
                            error.IsError = true;
                            error.ErrorMsg = Resources.HintInfo.Package_Error_City3;
                            errorsP.Add(error);
                        }
                    }
                }

                PacakgeSearch.DestinationAirPorts = new List<Terms.Common.Domain.Airport>();
                scAH.ToCityName = txtTo_AH.Trim();
                if (txtTo_AH.Trim().Length > 3)
                {
                    IList DestinationOneAirPorts = _CommonService.FindAirportByCityName(txtTo_AH.Trim());

                    if (DestinationOneAirPorts.Count >= 1)
                    {
                        PacakgeSearch.DestinationAirPorts = DestinationOneAirPorts;
                        scAH.ToAirports = DestinationOneAirPorts;
                    }
                    else
                    {
                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(txtTo_AH.Trim(), airportList);
                        if (airport != null)
                        {
                            PacakgeSearch.DestinationAirPorts.Add(airport);
                        }
                        else
                        {
                            scAH.IsRealToCity = false;
                            TourErrorMsg error = new TourErrorMsg();
                            error.IsError = true;
                            error.ErrorMsg = Resources.HintInfo.Package_Error_City4;
                            errorsP.Add(error);
                        }
                    }
                }
                else
                {
                    Terms.Common.Domain.Airport airport = AirService.CommAirportDao.FindByAirport(txtTo_AH.Trim());

                    if (airport != null)
                    {
                        PacakgeSearch.DestinationAirPorts.Add(airport);
                    }
                    else
                    {
                        IList DestinationOneAirPorts = AirService.CommAirportDao.FindByCityCode(txtTo_AH.Trim());

                        if (DestinationOneAirPorts.Count >= 1)
                        {
                            PacakgeSearch.DestinationAirPorts = DestinationOneAirPorts;
                        }
                        else
                        {
                            scAH.IsRealToCity = false;
                            TourErrorMsg error = new TourErrorMsg();
                            error.IsError = true;
                            error.ErrorMsg = Resources.HintInfo.Package_Error_City4;
                            errorsP.Add(error);
                        }
                    }
                }

                //�ж�����ij����غ�Ŀ�ĵ���û�л���
                if (PacakgeSearch.DepatrueAirPorts.Count == 0)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Error_City3;
                    errorsP.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsP.Add(error);
                }

                if (PacakgeSearch.DestinationAirPorts.Count == 0)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Error_City4;
                    errorsP.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsP.Add(error);
                }

                //���Ŀ�ĵصĹ����������ͼ��ô���ô�Ƶ����ס���ھ��dz������ڡ�
                if (Request["checkin"].Trim() == "__/__/____" || Request["checkin"].Trim() == "")
                {
                    if (((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).City.CountryCode == "US" || ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).City.CountryCode == "CA")
                    {
                        dateChinkIn_H = dateDept_A;  //��Check inΪ�գ���Ĭ��ΪAir�������ڼ�һ��
                    }
                    else
                    {
                        dateChinkIn_H = dateDept_A.AddDays(1);  //��Check inΪ�գ���Ĭ��ΪAir�������ڼ�һ��
                    }
                }
                else
                {
                    dateChinkIn_H = Convert.ToDateTime(Request["checkin"].Trim());
                }

                if (Request["checkout"].Trim() == "__/__/____" || Request["checkout"].Trim() == "")
                    dateChinkOut_H = dateRtn_A;             //��Check outΪ�գ���Ĭ��ΪAir��������
                else
                    dateChinkOut_H = Convert.ToDateTime(Request["checkout"].Trim());

                if (dateDept_A < DateTime.Now.AddDays(7))
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Date_Error1;
                    errorsP.Add(error);
                }
                else if (dateRtn_A < DateTime.Now.AddDays(7))
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Date_Error2;
                    errorsP.Add(error);
                }
                else if (dateChinkIn_H < DateTime.Now.AddDays(7))
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Date_Error3;
                    errorsP.Add(error);
                }
                else if (dateChinkOut_H < DateTime.Now.AddDays(7))
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Date_Error4;
                    errorsP.Add(error);
                }
                else if (dateChinkIn_H <= DateTime.Today)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Date_Error5;
                    errorsP.Add(error);
                }
                else if (dateChinkIn_H > dateChinkOut_H)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Date_Error6;
                    errorsP.Add(error);
                }
                else if (dateDept_A >= dateRtn_A)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Date_Error7;
                    errorsP.Add(error);
                }
                else if (dateDept_A > dateChinkIn_H)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Date_Error8;
                    errorsP.Add(error);
                }
                else if (dateChinkOut_H > dateRtn_A)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Package_Date_Error9;
                    errorsP.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsP.Add(error);
                }

                int adult = 0;
                int child = 0;

                for (int i = 0; i < Convert.ToInt32(Request["roomnumber"].Trim()); i++)
                {
                    adult += Convert.ToInt32(Request["a" + (i + 1)].Trim());
                    child += Convert.ToInt32(Request["c" + (i + 1)].Trim());

                    RoomSearchCondition roomSearchCondition = new RoomSearchCondition();

                    roomSearchCondition.Passengers.Add(TERMS.Common.PassengerType.Adult, Convert.ToInt32(Request["a" + (i + 1)].Trim()));
                    roomSearchCondition.Passengers.Add(TERMS.Common.PassengerType.Child, Convert.ToInt32(Request["c" + (i + 1)].Trim()));

                    PacakgeSearch.HotelSearchCondition.RoomSearchConditions.Add(roomSearchCondition);
                }

                PacakgeSearch.AirSearchCondition.SetPassengerNumber(TERMS.Common.PassengerType.Adult, adult);
                PacakgeSearch.AirSearchCondition.SetPassengerNumber(TERMS.Common.PassengerType.Child, child);

                if (PacakgeSearch.DestinationAirPorts.Count > 0 && PacakgeSearch.DepatrueAirPorts.Count > 0)
                {
                    PacakgeSearch.HotelSearchCondition.CheckIn = dateChinkIn_H.AddDays(0);
                    PacakgeSearch.HotelSearchCondition.CheckOut = dateChinkOut_H;
                    PacakgeSearch.HotelSearchCondition.Location = ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).CityCode;// "PVG";
                    PacakgeSearch.HotelSearchCondition.LocationIndicator = TERMS.Common.LocationIndicator.City;
                    PacakgeSearch.HotelSearchCondition.Country = ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).City.Country.Code;

                    AirTripCondition DPTairTripCondition = new AirTripCondition();
                    DPTairTripCondition.Departure = (Terms.Common.Domain.Airport)PacakgeSearch.DepatrueAirPorts[0];
                    DPTairTripCondition.DepartureDate = Convert.ToDateTime(dateDept_A);
                    DPTairTripCondition.Destination = (Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0];
                    DPTairTripCondition.IsDepartureTimeSpecified = Convert.ToBoolean(Request["isadd"].Trim());
                    PacakgeSearch.AirSearchCondition.AddTripCondition(DPTairTripCondition);
                    AirTripCondition RTNairTripCondition = new AirTripCondition();
                    RTNairTripCondition.Departure = (Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0];
                    RTNairTripCondition.DepartureDate = Convert.ToDateTime(dateRtn_A);
                    RTNairTripCondition.Destination = (Terms.Common.Domain.Airport)PacakgeSearch.DepatrueAirPorts[0];
                    RTNairTripCondition.IsDepartureTimeSpecified = Convert.ToBoolean(Request["isadd"].Trim());
                    PacakgeSearch.AirSearchCondition.AddTripCondition(RTNairTripCondition);
                    PacakgeSearch.AirSearchCondition.FlightType = "roundtrip";

                    if (Request["aircode"].Trim() != "all")
                    {
                        PacakgeSearch.AirSearchCondition.Airlines = new string[1] { Request["aircode"].Trim() };
                    }
                    else
                    {
                        PacakgeSearch.AirSearchCondition.Airlines = null;
                    }

                    Utility.IsTourMain = false;//�����Ƿ���Tour��־
                    this.Transaction.IntKey = PacakgeSearch.GetHashCode();
                    this.Transaction.CurrentSearchConditions = PacakgeSearch;
                    this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();

                    //����Cabin
                    TERMS.Common.CabinType cabin = new TERMS.Common.CabinType();
                    if (Request["airclass"].Trim() == "ECONOMY")
                    {
                        cabin = TERMS.Common.CabinType.Economy;
                    }
                    else if (Request["airclass"].Trim() == "BUSINESS")
                    {
                        cabin = TERMS.Common.CabinType.Business;
                    }
                    else if (Request["airclass"].Trim() == "FIRST")
                    {
                        cabin = TERMS.Common.CabinType.First;
                    }

                    for (int i = 0; i < PacakgeSearch.AirSearchCondition.AirTripCondition.Count; i++)
                        PacakgeSearch.AirSearchCondition.AirTripCondition[i].Cabin = cabin;

                    if (PacakgeSearch.DestinationAirPorts.Count > 1 || PacakgeSearch.DepatrueAirPorts.Count > 1)
                    {
                        this.Page.Response.Redirect("~/Page/Package2/PackageMoreSearch.aspx?ConditionID=" + this.Transaction.IntKey.ToString());
                    }
                    else
                    {
                        Utility.Transaction.Difference.Clear();
                        Utility.Transaction.Difference.FromTime = DateTime.Now;
                        Utility.Transaction.Difference.StarTime = DateTime.Now;
                        Utility.Transaction.Difference.From = "PackageSearchMoreForm Redirect Start";
                        ConditionID = this.Transaction.IntKey.ToString();
                        Target = @"~/Page/Package2/ViewYourPackages";
                    }
                }
                else
                {
                    PacakgeSearch.HotelSearchCondition.CheckIn = dateChinkIn_H.AddDays(0);
                    PacakgeSearch.HotelSearchCondition.CheckOut = dateChinkOut_H;
                    PacakgeSearch.HotelSearchCondition.LocationIndicator = TERMS.Common.LocationIndicator.City;

                    AirTripCondition DPTairTripCondition = new AirTripCondition();
                    DPTairTripCondition.DepartureDate = Convert.ToDateTime(dateDept_A);
                    DPTairTripCondition.IsDepartureTimeSpecified = Convert.ToBoolean(Request["isadd"].Trim());
                    PacakgeSearch.AirSearchCondition.AddTripCondition(DPTairTripCondition);
                    AirTripCondition RTNairTripCondition = new AirTripCondition();
                    RTNairTripCondition.DepartureDate = Convert.ToDateTime(dateRtn_A);
                    RTNairTripCondition.IsDepartureTimeSpecified = Convert.ToBoolean(Request["isadd"].Trim());
                    PacakgeSearch.AirSearchCondition.AddTripCondition(RTNairTripCondition);
                    PacakgeSearch.AirSearchCondition.FlightType = "roundtrip";

                    if (Request["aircode"].Trim() != "all")
                    {
                        PacakgeSearch.AirSearchCondition.Airlines = new string[1] { Request["aircode"].Trim() };
                    }
                    else
                    {
                        PacakgeSearch.AirSearchCondition.Airlines = null;
                    }

                    Utility.IsTourMain = false;//�����Ƿ���Tour��־
                    this.Transaction.IntKey = PacakgeSearch.GetHashCode();
                    this.Transaction.CurrentSearchConditions = PacakgeSearch;
                    this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();

                    //����Cabin
                    TERMS.Common.CabinType cabin = new TERMS.Common.CabinType();
                    if (Request["aircode"].Trim() == "ECONOMY")
                    {
                        cabin = TERMS.Common.CabinType.Economy;
                    }
                    else if (Request["aircode"].Trim() == "BUSINESS")
                    {
                        cabin = TERMS.Common.CabinType.Business;
                    }
                    else if (Request["aircode"].Trim() == "FIRST")
                    {
                        cabin = TERMS.Common.CabinType.First;
                    }

                    for (int i = 0; i < PacakgeSearch.AirSearchCondition.AirTripCondition.Count; i++)
                        PacakgeSearch.AirSearchCondition.AirTripCondition[i].Cabin = cabin;

                    if (PacakgeSearch.DestinationAirPorts.Count > 1 || PacakgeSearch.DepatrueAirPorts.Count > 1)
                    {
                        this.Page.Response.Redirect("~/Page/Package2/PackageMoreSearch.aspx?ConditionID=" + this.Transaction.IntKey.ToString());
                    }
                    else
                    {
                        Utility.Transaction.Difference.Clear();
                        Utility.Transaction.Difference.FromTime = DateTime.Now;
                        Utility.Transaction.Difference.StarTime = DateTime.Now;
                        Utility.Transaction.Difference.From = "PackageSearchMoreForm Redirect Start";
                        ConditionID = this.Transaction.IntKey.ToString();
                        Target = @"~/Page/Package2/ViewYourPackages";
                    }
                }

                scAH.CurrentItinerary.SearchInfo = PacakgeSearch.AirSearchCondition;

                ForbiddenAirportControl fAH = new ForbiddenAirportControl();

                bool IsErrorAirH = fAH.HasForbiddenAirport(scAH);

                if (IsErrorAirH)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.ForbiddenAirport;
                    errorsP.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsP.Add(error);
                }
                bool IsErrorP = false;
                for (int i = 0; i < errorsP.Count; i++)
                {
                    if (errorsP[i].IsError)
                    {
                        IsErrorP = true;
                    }
                }
                if (IsErrorP)
                {
                    Session["ErrorMsg"] = errorsP;
                    Response.Redirect("~/Page/Package2/SearchConditionsMeassageAHForm.aspx");
                }
                break;
            case "H":
                List<TourErrorMsg> errors = new List<TourErrorMsg>();

                if (Request["city"].Trim().Trim().Length == 0)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Hotel_Error_City;
                    errors.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errors.Add(error);
                }

                string txtName = ConvertName(Request["city"].Trim());

                DateTime dtNow = DateTime.Now;
                hotelSearchHotelByZyl.Info("MV_B2C Hotel Serach Start : " + dtNow.ToString("HH:mm:ss") + ":" + dtNow.Millisecond);

                if (Utility.IsSubAgent)
                    OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.SUB_SearchHotel, this);
                else
                    OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.MV_SearchHotel, this);

                try
                {
                    //log begin 20090312 Leon
                    log.Info("\r\n");

                    if (!Utility.IsLogin)
                    {
                        log.Info(PageUtility.HotelLogRandomNumber.ToString() + " >====================Not Login========================");
                    }
                    else
                    {
                        log.Info(PageUtility.HotelLogRandomNumber.ToString() + " >==========================Login========================");
                    }

                    log.Info(PageUtility.HotelLogRandomNumber.ToString() + " >SearchClick Begin Start time : " + System.DateTime.Now);
                    //log end 20090312 Leon
                }
                catch
                {

                }

                DateTime ChinkIn_H = Convert.ToDateTime(Request["checkin"].Trim());
                DateTime ChinkOut_H = Convert.ToDateTime(Request["checkout"].Trim());

                if (ChinkIn_H < DateTime.Now.AddDays(7))
                {
                    if (Utility.IsLogin && Utility.IsSubAgent)
                    {
                        if (ChinkIn_H < DateTime.Now.AddDays(3))
                        {
                            TourErrorMsg error = new TourErrorMsg();
                            error.IsError = true;
                            error.ErrorMsg = Resources.HintInfo.Hotel_Date_Error1;
                            errors.Add(error);
                        }
                    }
                    else
                    {
                        TourErrorMsg error = new TourErrorMsg();
                        error.IsError = true;
                        error.ErrorMsg = Resources.HintInfo.Hotel_Date_Error1;
                        errors.Add(error);
                    }
                }
                else if (ChinkOut_H < DateTime.Now.AddDays(7))
                {
                    if (Utility.IsLogin && Utility.IsSubAgent)
                    {
                        if (ChinkOut_H < DateTime.Now.AddDays(3))
                        {
                            TourErrorMsg error = new TourErrorMsg();
                            error.IsError = true;
                            error.ErrorMsg = Resources.HintInfo.Hotel_Date_Error2;
                            errors.Add(error);
                        }
                    }
                    else
                    {
                        TourErrorMsg error = new TourErrorMsg();
                        error.IsError = true;
                        error.ErrorMsg = Resources.HintInfo.Hotel_Date_Error2;
                        errors.Add(error);
                    }
                }
                else if (ChinkIn_H < DateTime.Today && ChinkOut_H < DateTime.Today)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Hotel_Date_Error3;
                    errors.Add(error);
                }
                else if (ChinkIn_H <= DateTime.Today)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Hotel_Date_Error4;
                    errors.Add(error);
                }
                else if (ChinkOut_H <= ChinkIn_H)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Hotel_Date_Error5;
                    errors.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errors.Add(error);
                }

                HotelSearchCondition hotelSearchCondition = new HotelSearchCondition();

                for (int i = 0; i < Convert.ToInt32(Request["roomnumber"].Trim()); i++)
                {
                    RoomSearchCondition roomSearchCondition = new RoomSearchCondition();

                    roomSearchCondition.Passengers.Add(PassengerType.Adult, Convert.ToInt32(Request["a" + (i + 1)].Trim()));
                    roomSearchCondition.Passengers.Add(PassengerType.Child, Convert.ToInt32(Request["c" + (i + 1)].Trim()));

                    hotelSearchCondition.RoomSearchConditions.Add(roomSearchCondition);
                }

                hotelSearchCondition.UserInputInfo = Request["city"].Trim();
                hotelSearchCondition.LocationIndicator = LocationIndicator.City;
                hotelSearchCondition.CheckIn = ChinkIn_H;
                hotelSearchCondition.CheckOut = ChinkOut_H;
                this.Transaction.IntKey = hotelSearchCondition.GetHashCode();
                this.Transaction.CurrentSearchConditions = hotelSearchCondition;
                this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();
                Utility.IsTourMain = false;//�����Ƿ���Tour��־
                ConditionID = this.Transaction.IntKey.ToString();
                Target = @"~/Page/Hotel2/SearchResultForm";

                bool IsError = false;
                for (int i = 0; i < errors.Count; i++)
                {
                    if (errors[i].IsError)
                    {
                        IsError = true;
                    }
                }

                if (IsError)
                {
                    Session["ErrorMsg"] = errors;
                    Response.Redirect("~/Page/Hotel2/SearchConditionsMeassageHForm.aspx");
                }

                if (txtName.Trim().Length == 3)
                {
                    Terms.Common.Domain.City CityName = _cityService.Get(txtName);

                    if (CityName != null)
                    {
                        ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Location = CityName.Code;
                        ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Country = CityName.CountryCode;
                    }
                    else
                    {
                        Terms.Common.Domain.Airport airport = _airportService.Get(txtName);
                        if (airport != null)
                        {
                            ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Location = airport.City.Code;
                            ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Country = airport.City.CountryCode;
                        }
                        else
                        {
                            IList ilCityName = _cityService.FindSomeCityByName(txtName);
                            if (ilCityName.Count > 1)
                            {
                                Session["CityNameList"] = ilCityName;
                                this.Response.Redirect(SaleWebSuffix + "Page/Hotel2/SearchMoreCityForm.aspx?CityName=" + txtName);
                            }
                            else if (ilCityName.Count == 1)
                            {
                                Terms.Common.Domain.City citylist = (Terms.Common.Domain.City)ilCityName[0];
                                ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Location = citylist.Code;
                                ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Country = citylist.CountryCode;
                            }
                            else if (ilCityName == null || ilCityName.Count == 0)
                            {
                                Session["CityNameList"] = null;
                                this.Response.Redirect(SaleWebSuffix + "Page/Hotel2/SearchMoreCityForm.aspx?CityName=" + txtName);
                            }
                        }
                    }

                }
                else
                {
                    //�ж��Ƿ��ж��.�������ͬ��SerachMoreҳ�����ѡ��,���û�����������ҳ��
                    IList ilCityName = _cityService.FindSomeCityByName(txtName);

                    if (ilCityName.Count > 1)
                    {
                        Session["CityNameList"] = ilCityName;
                        this.Response.Redirect(SaleWebSuffix + "Page/Hotel2/SearchMoreCityForm.aspx?CityName=" + txtName);
                    }
                    else if (ilCityName.Count == 1)
                    {
                        Terms.Common.Domain.City citylist = (Terms.Common.Domain.City)ilCityName[0];
                        ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Location = citylist.Code;
                        ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Country = citylist.CountryCode;
                    }
                    else if (ilCityName == null || ilCityName.Count == 0)
                    {
                        Terms.Common.Domain.Airport airport = _airportService.Get(txtName);
                        if (airport != null)
                        {
                            ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Location = airport.City.Code;
                            ((HotelSearchCondition)this.Transaction.CurrentSearchConditions).Country = airport.City.CountryCode;
                        }
                        else
                        {
                            this.Response.Redirect(SaleWebSuffix + "Page/Hotel2/SearchMoreCityForm.aspx?CityName=" + txtName);
                        }
                    }
                }

                log.Info(PageUtility.HotelLogRandomNumber.ToString() + " >Redirect Searching1.aspx Begin Start time : " + System.DateTime.Now);

                hotelSearchHotelByZyl.Debug("Hotel Start :" + DateTime.Now.ToLongTimeString());

                dtNow = DateTime.Now;
                hotelSearchHotelByZyl.Info("MV_B2C Hotel Serach To Searching1 Start : " + dtNow.ToString("HH:mm:ss") + ":" + dtNow.Millisecond);
                break;
            case "T":
                if (Utility.IsSubAgent)
                    OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.SUB_SearchTour, this);
                else
                    OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.MV_SearchTour, this);

                List<TourErrorMsg> errorsT = new List<TourErrorMsg>();

                //log begin 20090312 Leon
                PageUtility.TourSearchingTimeLog.Info("\r\n");

                if (!Utility.IsLogin)
                    PageUtility.TourSearchingTimeLog.Info(PageUtility.TourLogRandomNumber.ToString() + " >====================Not Login========================");
                else
                    PageUtility.TourSearchingTimeLog.Info(PageUtility.TourLogRandomNumber.ToString() + " >==========================Login========================");

                PageUtility.TourSearchingTimeLog.Info(PageUtility.TourLogRandomNumber.ToString() + " >Tour Searching(1) Begin at: " + System.DateTime.Now);

                //log end 20090312 Leon

                TourSearchCondition tourSearchCondition = new TourSearchCondition();
                tourSearchCondition.Region = Request["region"].Trim();
                if (tourSearchCondition.Region.Trim() == "Please select a area")
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Tour_Error1;
                    errorsT.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsT.Add(error);
                }
                string country = Request["counrty"].Trim();
                int index = country.IndexOf("-");
                if (index < 0)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Tour_Error2;
                    errorsT.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsT.Add(error);
                }
                tourSearchCondition.Counrty = country.Substring(index + 1).Trim();
                string city = Request["city"].Trim();
                index = city.IndexOf("-");
                if (index < 0)
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Tour_Error3;
                    errorsT.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsT.Add(error);
                }
                tourSearchCondition.City = city.Substring(index + 1).Trim();
                tourSearchCondition.IsLandOnly = Convert.ToBoolean(Request["landonly"].Trim());
                tourSearchCondition.TravelBeginDate = GlobalUtility.GetDateTime(Request["tourdate"].Trim());
                if (Request["tourdate"].Trim() == "__/__/____" || Request["tourdate"].Trim() == "")
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Tour_Error4;
                    errorsT.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsT.Add(error);
                }

                if (tourSearchCondition.TravelBeginDate < DateTime.Now.AddDays(3))
                {
                    TourErrorMsg error = new TourErrorMsg();
                    error.IsError = true;
                    error.ErrorMsg = Resources.HintInfo.Tour_Error5;
                    errorsT.Add(error);
                }
                else
                {
                    TourErrorMsg error = new TourErrorMsg();
                    errorsT.Add(error);
                }
                switch (Request["traveldate"].Trim())
                {
                    case "5": tourSearchCondition.TravelDaysFrom = 1;
                        tourSearchCondition.TravelDaysTo = 10;
                        break;
                    case "11": tourSearchCondition.TravelDaysFrom = 11;
                        tourSearchCondition.TravelDaysTo = 15;
                        break;
                    case "15": tourSearchCondition.TravelDaysFrom = 16;
                        tourSearchCondition.TravelDaysTo = 800;
                        break;
                    default:
                        tourSearchCondition.TravelDaysFrom = 1;
                        tourSearchCondition.TravelDaysTo = 800;
                        break;
                }

                this.Transaction.IntKey = tourSearchCondition.GetHashCode();
                this.Transaction.CurrentSearchConditions = tourSearchCondition;
                this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();
                Utility.IsTourMain = false;//�����Ƿ���Tour��־
                Utility.IsTourMore = false;//�����Ƿ���Tour More
                ConditionID = this.Transaction.IntKey.ToString();
                Target = @"~/Page/Tour/TourMoreSearchResultForm";
                bool IsErrorT = false;
                for (int i = 0; i < errorsT.Count; i++)
                {
                    if (errorsT[i].IsError)
                    {
                        IsErrorT = true;
                    }
                }

                if (IsErrorT)
                {
                    Session["ErrorMsg"] = errorsT;
                    Response.Redirect("~/Page/Tour/SearchConditionsMeassageTForm.aspx");
                }
                break;
            case "P":
                SearchPromos();

                break;

            case "C":
                string fromcity = ConvertName(Request["fromcity"].Trim());
                string tocity = ConvertName(Request["tocity"].Trim());
                string checkindate = ConvertName(Request["checkindate"].Trim());
                string checkoutdate = ConvertName(Request["checkoutdate"].Trim());

                string CheckInTimeCode = Request["checkintime"].Trim();
                string CheckOutTimeCode = Request["checkouttime"].Trim();

                string checkintime = CheckInTimeCode.Substring(0, 4);
                string checkouttime = CheckOutTimeCode.Substring(0, 4);

                string checkintimeX = CheckInTimeCode.Substring(4);
                string checkouttimeX = CheckOutTimeCode.Substring(4);

                string cartype = ConvertName(Request["cartype"].Trim());
                string carcodetype = ConvertName(Request["carcodetype"].Trim());

                DateTime fromDate = DateTime.MinValue;
                DateTime toDate = DateTime.MinValue;

                if (checkintimeX == "A")
                {
                    fromDate = Convert.ToDateTime(checkindate).AddHours(Convert.ToDouble(checkintime.Substring(0, 2))).AddMinutes(Convert.ToDouble(checkintime.Substring(2)));
                }
                else
                {
                    if (checkintime == "1200")
                    {
                        fromDate = Convert.ToDateTime(checkindate);
                    }
                    else
                    {
                        fromDate = Convert.ToDateTime(checkindate).AddHours(Convert.ToDouble(checkintime.Substring(0, 2)) + Convert.ToDouble("12")).AddMinutes(Convert.ToDouble(checkintime.Substring(2)));
                    }
                }
                if (checkouttimeX == "A")
                {
                    toDate = Convert.ToDateTime(checkoutdate).AddHours(Convert.ToDouble(checkouttime.Substring(0, 2))).AddMinutes(Convert.ToDouble(checkouttime.Substring(2)));
                }
                else
                {
                    if (checkouttime == "1200")
                    {
                        toDate = Convert.ToDateTime(checkoutdate);
                    }
                    else
                    {
                        toDate = Convert.ToDateTime(checkoutdate).AddHours(Convert.ToDouble(checkouttime.Substring(0, 2)) + Convert.ToDouble("12")).AddMinutes(Convert.ToDouble(checkouttime.Substring(2)));
                    }
                }

                string UserInputInfoFrom = Request["fromcity"].Trim();

                string UserInputInfoTo = Request["tocity"].Trim();

                if (carcodetype.Trim().ToUpper() == "D")
                {
                }
                else
                {
                    UserInputInfoTo = Request["fromcity"].Trim();
                    tocity = fromcity;
                }

                string PickupAirportCode = string.Empty;
                string PickupISOCountryCode = string.Empty;

                string DropoffAirportCode = string.Empty;
                string DropoffISOCountryCode = string.Empty;

                if (fromcity.Trim().Length == 3)
                {
                    Terms.Common.Domain.Airport airport = _airportService.Get(fromcity);
                    if (airport != null)
                    {
                        PickupAirportCode = airport.Code;
                        PickupISOCountryCode = airport.City.CountryCode;
                    }
                    else
                    {
                        IList ilCityName = _cityService.FindSomeCityByName(fromcity);

                        if (ilCityName.Count > 1)
                        {

                        }
                        else if (ilCityName.Count == 1)
                        {
                            Terms.Common.Domain.City citylist = (Terms.Common.Domain.City)ilCityName[0];

                            PickupAirportCode = citylist.Code;
                            PickupISOCountryCode = citylist.CountryCode;
                        }
                    }
                }
                else
                {
                    //�ж��Ƿ��ж��.�������ͬ��SerachMoreҳ�����ѡ��,���û�����������ҳ��
                    IList DestinationOneAirPorts = _CommonService.FindAirportByCityName(fromcity);

                    if (DestinationOneAirPorts.Count >= 1)
                    {
                        PickupAirportCode = ((Airport)DestinationOneAirPorts[0]).Code;
                        PickupISOCountryCode = ((Airport)DestinationOneAirPorts[0]).City.CountryCode ;
                    }
                    else
                    {
                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(fromcity, airportList);
                        if (airport != null)
                        {
                            PickupAirportCode = airport.Code;
                            PickupISOCountryCode = airport.City.CountryCode;
                        }
                    }
                }

                if (tocity.Trim().Length == 3)
                {
                    Terms.Common.Domain.Airport airport = _airportService.Get(tocity);
                    if (airport != null)
                    {
                        DropoffAirportCode = airport.Code;
                        DropoffISOCountryCode = airport.City.CountryCode;
                    }
                    else
                    {
                        IList ilCityName = _cityService.FindSomeCityByName(tocity);

                        if (ilCityName.Count > 1)
                        {

                        }
                        else if (ilCityName.Count == 1)
                        {
                            Terms.Common.Domain.City citylist = (Terms.Common.Domain.City)ilCityName[0];
                            DropoffAirportCode = citylist.Code;
                            DropoffISOCountryCode = citylist.CountryCode;
                        }
                    }
                }
                else
                {
                    //�ж��Ƿ��ж��.�������ͬ��SerachMoreҳ�����ѡ��,���û�����������ҳ��
                    IList DestinationOneAirPorts = _CommonService.FindAirportByCityName(tocity);

                    if (DestinationOneAirPorts.Count >= 1)
                    {
                        DropoffAirportCode = ((Airport)DestinationOneAirPorts[0]).Code;
                        DropoffISOCountryCode = ((Airport)DestinationOneAirPorts[0]).City.CountryCode;
                    }
                    else
                    {
                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(tocity, airportList);
                        if (airport != null)
                        {
                            DropoffAirportCode = airport.Code;
                            DropoffISOCountryCode = airport.City.CountryCode;
                        }
                    }
                }

                TERMS.Common.Search.VehcileSearchCondition sear = null;

                if (carcodetype.Trim().ToUpper() != "D")
                {
                    sear = new TERMS.Common.Search.VehcileSearchCondition(PickupISOCountryCode, PickupAirportCode, UserInputInfoFrom, fromDate, toDate);
                }
                else
                {
                    sear = new TERMS.Common.Search.VehcileSearchCondition(PickupISOCountryCode, PickupAirportCode, UserInputInfoFrom, fromDate, DropoffISOCountryCode, DropoffAirportCode, UserInputInfoTo, toDate);
                }

                sear.Category = cartype;

                Terms.Sales.Business.VehcileSearchCondition vehcilesearchcondition = new Terms.Sales.Business.VehcileSearchCondition(sear);

                this.Transaction.IntKey = vehcilesearchcondition.GetHashCode();
                this.Transaction.CurrentSearchConditions = vehcilesearchcondition;
                this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();
                Utility.IsTourMain = false;//�����Ƿ���Tour��־
                ConditionID = this.Transaction.IntKey.ToString();
                Target = @"~/Page/Vehcile/SearchConditionsMeassageCForm";
                break;
        }
    }
    protected void btnSearch_Click1(object sender, EventArgs e)
    {
        if (CheckSearch())
        {
            //if (!Page.IsValid)
            //    return;

            //log begin 20081017 henry
            Utility.IsTourMain = false;
            log.Info("\r\n");
            System.Random rd = new Random();

            Session["LOG_RANDOM"] = rd.Next(999999999);

            if (!Transaction.IsLogin)
            {
                log.Info(Session["LOG_RANDOM"].ToString() + " >====================Not Login========================");
            }
            else
            {
                log.Info(Session["LOG_RANDOM"].ToString() + " >==========================Login========================");
            }
            string logAirline = txtAirline.Text.Trim().Equals(string.Empty) ? "All" : txtAirline.Text;

            //log end 20081017 henry

            bool IsSelectAirport = false;
            bool IsRealCity = true;

            Session["CurrentSession"] = new SessionClass();
            SessionClass sc = (SessionClass)Session["CurrentSession"];

            AirSearchCondition airSearchCondition = new AirSearchCondition();

            airSearchCondition.SetPassengerNumber(PassengerType.Adult, Convert.ToInt32(ddlAdult.SelectedValue));

            CabinType cabin = new CabinType();
            if (rdoLstCabin.SelectedIndex == 0)
            {
                cabin = CabinType.Economy;
            }
            else if (rdoLstCabin.SelectedIndex == 1)
            {
                cabin = CabinType.Business;
            }
            else if (rdoLstCabin.SelectedIndex == 2)
            {
                cabin = CabinType.First;
            }
            else if (rdoLstCabin.SelectedIndex == 3)
            {
                cabin = CabinType.All;
            }

            airSearchCondition.SetPassengerNumber(PassengerType.Child, Convert.ToInt32(ddlChild.SelectedValue));
            //airSearchCondition.SetPassengerNumber(PassengerType.Infant, Convert.ToInt32(ddlInfant.SelectedValue));

            if (rdbOneway.Checked)
                airSearchCondition.FlightType = "oneway";
            else if (rdbOpenjaw.Checked)
                airSearchCondition.FlightType = "openjaw";
            else
                airSearchCondition.FlightType = "roundtrip";

            airSearchCondition.FlexibleDays = 0;

            AirTripCondition deptCondition = new AirTripCondition();
            deptCondition.Cabin = cabin;

            TextBox cityDep = (TextBox)this.txtDepartureFrom.FindControl("txtCity");
            TextBox cityDes = (TextBox)this.txtTo.FindControl("txtCity");
            TextBox depDate = (TextBox)this.departureCalendar.FindControl("calendarDate");

            sc.FromCityName = cityDep.Text.Trim();
            if (cityDep.Text.Trim().Length > 3)
            {
                IList departureAirPorts = _CommonService.FindAirportByCityName(cityDep.Text.Trim());

                if (departureAirPorts.Count > 1)
                {
                    IsSelectAirport = true;
                    sc.FromAirports = departureAirPorts;
                }
                else if (departureAirPorts.Count == 1)
                {
                    deptCondition.Departure = (Terms.Common.Domain.Airport)departureAirPorts[0];
                }
                else
                {

                    List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                    Terms.Common.Domain.Airport airport = MatchAirport(cityDep.Text.Trim(), airportList);
                    if (airport != null)
                        deptCondition.Departure = airport;
                    else
                        sc.IsRealFromCity = IsRealCity = false;
                    //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtDepCity.Value + "\"&GoToPage=~/index.aspx");
                }

            }
            else
            {
                deptCondition.Departure = AirService.CommAirportDao.FindByAirport(cityDep.Text.Trim());

                if (deptCondition.Departure == null)
                {
                    deptCondition.Departure = new Terms.Common.Domain.Airport();
                    deptCondition.Departure.Code = cityDep.Text.Trim();
                }
            }

            deptCondition.DepartureDate = GlobalUtility.GetDateTime(depDate.Text.Trim());

            if (deptCondition.DepartureDate < DateTime.Now.AddDays(3))
            {
                label32.Visible = false; label3.Visible = false; label2.Visible = false; lblDateErrorMsg.Visible = true;
                lblDateErrorMsg.Text = Resources.HintInfo.AirDateError;
                return;
            }

            sc.ToCityName = cityDes.Text.Trim();
            if (cityDes.Text.Trim().Length > 3)
            {
                IList destinationAirPorts = _CommonService.FindAirportByCityName(cityDes.Text.Trim());

                if (destinationAirPorts.Count > 1)
                {
                    IsSelectAirport = true;
                    sc.ToAirports = destinationAirPorts;
                }
                else if (destinationAirPorts.Count == 1)
                {
                    deptCondition.Destination = (Terms.Common.Domain.Airport)destinationAirPorts[0];
                }
                else
                {
                    List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                    Terms.Common.Domain.Airport airport = MatchAirport(cityDes.Text.Trim(), airportList);
                    if (airport != null)
                        deptCondition.Destination = airport;
                    else
                        sc.IsRealToCity = IsRealCity = false;
                    //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtDesCity.Value + "\"&GoToPage=~/index.aspx");
                }

            }
            else
            {
                deptCondition.Destination = AirService.CommAirportDao.FindByAirport(cityDes.Text.Trim());

                if (deptCondition.Destination == null)
                {
                    deptCondition.Destination = new Terms.Common.Domain.Airport();
                    deptCondition.Destination.Code = cityDes.Text.Trim();
                }
            }

            AirTripCondition rtnCondition = new AirTripCondition();
            rtnCondition.Cabin = cabin;

            TextBox cityRtnFrom = (TextBox)this.txtReturnFrom.FindControl("txtCity");
            TextBox cityRtnTo = (TextBox)this.txtReturnTo.FindControl("txtCity");
            TextBox rtnDate = (TextBox)this.returnCalendar.FindControl("calendarDate");

            if (airSearchCondition.FlightType.ToLower().Equals("oneway"))
            {
                rtnCondition.Departure = deptCondition.Destination;
                rtnCondition.Destination = deptCondition.Departure;
                rtnCondition.DepartureDate = DateTime.MaxValue;
            }
            else if (airSearchCondition.FlightType.ToLower().Equals("roundtrip"))
            {
                rtnCondition.Departure = deptCondition.Destination;
                rtnCondition.Destination = deptCondition.Departure;
                rtnCondition.DepartureDate = GlobalUtility.GetDateTime(rtnDate.Text.Trim());
            }
            else if (airSearchCondition.FlightType.ToLower().Equals("openjaw"))
            {
                //rtnCondition.Departure = AirService.CommAirportDao.FindByAirport(txtRtnFrom.Value.Trim());
                //rtnCondition.Destination = AirService.CommAirportDao.FindByAirport(txtRtnTo.Value.Trim());
                rtnCondition.DepartureDate = GlobalUtility.GetDateTime(rtnDate.Text.Trim());
                sc.ReturnFromCityName = cityRtnFrom.Text.Trim();
                if (cityRtnFrom.Text.Trim().Length > 3)
                {
                    IList returnFromAirPorts = _CommonService.FindAirportByCityName(cityRtnFrom.Text.Trim());

                    if (returnFromAirPorts.Count > 1)
                    {
                        IsSelectAirport = true;
                        sc.ReturnFromAirports = returnFromAirPorts;
                    }
                    else if (returnFromAirPorts.Count == 1)
                    {
                        rtnCondition.Departure = (Terms.Common.Domain.Airport)returnFromAirPorts[0];
                    }
                    else
                    {
                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(cityRtnFrom.Text.Trim(), airportList);
                        if (airport != null)
                            rtnCondition.Departure = airport;
                        else
                            sc.IsRealReturnFromCity = IsRealCity = false;
                        //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtRtnFrom.Value + "\"&GoToPage=~/index.aspx");
                    }
                }
                else
                {
                    rtnCondition.Departure = AirService.CommAirportDao.FindByAirport(cityRtnFrom.Text.Trim());

                    if (rtnCondition.Departure == null)
                    {
                        rtnCondition.Departure = new Terms.Common.Domain.Airport();
                        rtnCondition.Departure.Code = cityRtnFrom.Text.Trim();
                    }
                }
                sc.ReturnToCityName = cityRtnTo.Text.Trim();
                if (cityRtnTo.Text.Trim().Length > 3)
                {
                    IList returnToAirPorts = _CommonService.FindAirportByCityName(cityRtnTo.Text.Trim());

                    if (returnToAirPorts.Count > 1)
                    {
                        IsSelectAirport = true;
                        sc.ReturnToAirports = returnToAirPorts;
                    }
                    else if (returnToAirPorts.Count == 1)
                    {
                        rtnCondition.Destination = (Terms.Common.Domain.Airport)returnToAirPorts[0];
                    }
                    else
                    {
                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(cityRtnTo.Text.Trim(), airportList);
                        if (airport != null)
                            rtnCondition.Destination = airport;
                        else
                            sc.IsRealReturnToCity = IsRealCity = false;
                        //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtRtnTo.Value + "\"&GoToPage=~/index.aspx");
                    }

                }
                else
                {
                    rtnCondition.Destination = AirService.CommAirportDao.FindByAirport(cityRtnTo.Text.Trim());

                    if (rtnCondition.Destination == null)
                    {
                        rtnCondition.Destination = new Terms.Common.Domain.Airport();
                        rtnCondition.Destination.Code = cityRtnTo.Text.Trim();
                    }
                }
            }

            airSearchCondition.AddTripCondition(deptCondition);
            airSearchCondition.AddTripCondition(rtnCondition);

            //if (ddlAirline.SelectedItem.Text != "Search All Airlines")
            if (txtAirline.Text.Trim() != "")
            {
                //param.Airways = ddlAirline.SelectedValue.Split(',');
                airSearchCondition.Airlines = txtAirline.Text.Split(',');
            }

            sc.CurrentItinerary.SearchInfo = airSearchCondition;
            //this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();

            if (ForbiddenAirportControl1.HasForbiddenAirport(sc))
            {
                string[] arrayCtrlID = new string[2];
                arrayCtrlID[0] = ddlAdult.ClientID;
                arrayCtrlID[1] = ddlChild.ClientID;

                ForbiddenAirportControl1.ShowMsgBox(arrayCtrlID, upSearch);
            }
            else
            {
                this.Transaction.IntKey = airSearchCondition.GetHashCode();
                Transaction.CurrentSearchConditions = airSearchCondition;
                this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();
                if (!IsRealCity)
                {
                    Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?ConditionID=" + this.Transaction.IntKey.ToString());
                }
                else
                {
                    if (IsSelectAirport)
                        Response.Redirect("~/Page/Flight/SearchConditionsForm.aspx?ConditionID=" + this.Transaction.IntKey.ToString());
                    else
                    {
                        Response.Redirect("~/Page/Flight/Searching.aspx" + "?ConditionID=" + this.Transaction.IntKey.ToString());
                    }
                }
            }
        }
        else
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "Serarch", "<script>alert('Invaluable search condition.');</script>");
            return;
        }
    }
Esempio n. 41
0
    /// <summary>
    /// 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btn_Search_Click(object sender, EventArgs e)
    {
        if (CheckSearch() == true)
        {
            if (!Page.IsValid)
                return;

            log.Info("\r\n");
            System.Random rd = new Random();

            Session["LOG_RANDOM"] = rd.Next(999999999);

            if (!Utility.IsLogin)
            {
                log.Info(Session["LOG_RANDOM"].ToString() + " >==================Not Login==============================");
            }
            else
            {
                log.Info(Session["LOG_RANDOM"].ToString() + " >==================Login==============================");
            }

            bool IsSelectAirport = false;
            bool IsRealCity = true;

            SessionClass sc = new SessionClass();

            AirSearchCondition airSearchCondition = new AirSearchCondition();

            airSearchCondition.SetPassengerNumber(PassengerType.Adult, Convert.ToInt32(ddlAdult.SelectedValue));
            airSearchCondition.SetPassengerNumber(PassengerType.Child, Convert.ToInt32(ddlChild.SelectedValue));
            airSearchCondition.SetPassengerNumber(PassengerType.Infant, Convert.ToInt32(ddlInfant.SelectedValue));

            SessionClass CurrentSession = (SessionClass)Session["CurrentSession"];

            airSearchCondition.FlightType = FlightType.Value.Trim();

            airSearchCondition.FlexibleDays = 0;

            CabinType cabin = new CabinType();
            if (ddlClass.SelectedIndex == 0)
            {
                cabin = CabinType.All;
            }
            else if (ddlClass.SelectedIndex == 1)
            {
                cabin = CabinType.Economy;
            }
            else if (ddlClass.SelectedIndex == 2)
            {
                cabin = CabinType.Business;
            }
            else if (ddlClass.SelectedIndex == 3)
            {
                cabin = CabinType.First;
            }

            AirTripCondition deptCondition = new AirTripCondition();
            deptCondition.Cabin = cabin;
            deptCondition.DepartureDate = GlobalUtility.GetDateTime(this.depCalendar.CDate.Trim());

            bool IsDataError = true;

            if (deptCondition.DepartureDate < DateTime.Now.AddDays(3))
            {
                IsRealCity = false;
                IsDataError = false;
            }

            sc.FromCityName = ltxFrom.City.Trim();
            if (ltxFrom.City.Trim().Length > 3)
            {
                IList departureAirPorts = _CommonService.FindAirportByCityName(ltxFrom.City.Trim());

                if (departureAirPorts.Count > 1)
                {
                    IsSelectAirport = true;
                    sc.FromAirports = departureAirPorts;
                }
                else if (departureAirPorts.Count == 1)
                {
                    deptCondition.Departure = (Terms.Common.Domain.Airport)departureAirPorts[0];
                }
                else
                {
                    List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                    Terms.Common.Domain.Airport airport = MatchAirport(ltxFrom.City.Trim(), airportList);
                    if (airport != null)
                        deptCondition.Departure = airport;
                    else
                        sc.IsRealFromCity = IsRealCity = false;
                }

            }
            else
            {
                deptCondition.Departure = AirService.CommAirportDao.FindByAirport(ltxFrom.City.Trim());
                if (deptCondition.Departure == null)
                {
                    deptCondition.Departure = new Terms.Common.Domain.Airport();
                    deptCondition.Departure.Code = ltxFrom.City.Trim();
                }
            }

            sc.ToCityName = ltxTo.City.Trim();
            if (ltxTo.City.Trim().Length > 3)
            {
                IList destinationAirPorts = _CommonService.FindAirportByCityName(ltxTo.City.Trim());

                if (destinationAirPorts.Count > 1)
                {
                    IsSelectAirport = true;
                    sc.ToAirports = destinationAirPorts;
                }
                else if (destinationAirPorts.Count == 1)
                {
                    deptCondition.Destination = (Terms.Common.Domain.Airport)destinationAirPorts[0];
                }
                else
                {
                    List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                    Terms.Common.Domain.Airport airport = MatchAirport(ltxTo.City.Trim(), airportList);
                    if (airport != null)
                        deptCondition.Destination = airport;
                    else
                        sc.IsRealToCity = IsRealCity = false;
                }

            }
            else
            {
                deptCondition.Destination = AirService.CommAirportDao.FindByAirport(ltxTo.City.Trim());
                if (deptCondition.Destination == null)
                {
                    deptCondition.Destination = new Terms.Common.Domain.Airport();
                    deptCondition.Destination.Code = ltxTo.City.Trim();
                }
            }

            AirTripCondition rtnCondition = new AirTripCondition();
            rtnCondition.Cabin = cabin;
            rtnCondition.DepartureDate = GlobalUtility.GetDateTime(rtnCalendar.CDate.Trim());
            if (airSearchCondition.FlightType.ToLower().Equals("oneway"))
            {
                rtnCondition.Departure = deptCondition.Destination;
                rtnCondition.Destination = deptCondition.Departure;
                rtnCondition.DepartureDate = DateTime.MaxValue;
            }
            else if (airSearchCondition.FlightType.ToLower().Equals("roundtrip"))
            {
                rtnCondition.Departure = deptCondition.Destination;
                rtnCondition.Destination = deptCondition.Departure;
                rtnCondition.DepartureDate = GlobalUtility.GetDateTime(rtnCalendar.CDate.Trim());
            }
            else if (airSearchCondition.FlightType.ToLower().Equals("openjaw"))
            {
                rtnCondition.DepartureDate = GlobalUtility.GetDateTime(rtnCalendar.CDate.Trim());
                sc.ReturnFromCityName = ltxRtnFrom.City.Trim();
                if (ltxRtnFrom.City.Trim().Length > 3)
                {
                    IList returnFromAirPorts = _CommonService.FindAirportByCityName(ltxRtnFrom.City.Trim());

                    if (returnFromAirPorts.Count > 1)
                    {
                        IsSelectAirport = true;
                        sc.ReturnFromAirports = returnFromAirPorts;
                    }
                    else if (returnFromAirPorts.Count == 1)
                    {
                        rtnCondition.Departure = (Terms.Common.Domain.Airport)returnFromAirPorts[0];
                    }
                    else
                    {
                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(ltxTo.City.Trim(), airportList);
                        airport = MatchAirport(ltxRtnFrom.City.Trim(), airportList);
                        if (airport != null)
                            rtnCondition.Departure = airport;
                        else
                            sc.IsRealReturnFromCity = IsRealCity = false;
                    }
                }
                else
                {
                    rtnCondition.Departure = AirService.CommAirportDao.FindByAirport(ltxRtnFrom.City.Trim());
                    if (rtnCondition.Departure == null)
                    {
                        rtnCondition.Departure = new Terms.Common.Domain.Airport();
                        rtnCondition.Departure.Code = ltxRtnFrom.City.Trim();
                    }
                }

                sc.ReturnToCityName = ltxRtnTo.City.Trim();
                if (ltxRtnTo.City.Trim().Length > 3)
                {
                    IList returnToAirPorts = _CommonService.FindAirportByCityName(ltxRtnTo.City.Trim());

                    if (returnToAirPorts.Count > 1)
                    {
                        IsSelectAirport = true;
                        sc.ReturnToAirports = returnToAirPorts;
                    }
                    else if (returnToAirPorts.Count == 1)
                    {
                        rtnCondition.Destination = (Terms.Common.Domain.Airport)returnToAirPorts[0];
                    }
                    else
                    {
                        List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                        Terms.Common.Domain.Airport airport = MatchAirport(ltxTo.City.Trim(), airportList);
                        airport = MatchAirport(ltxRtnTo.City.Trim(), airportList);
                        if (airport != null)
                            rtnCondition.Destination = airport;
                        else
                            sc.IsRealReturnToCity = IsRealCity = false;
                    }

                }
                else
                {
                    rtnCondition.Destination = AirService.CommAirportDao.FindByAirport(ltxRtnTo.City.Trim());
                    if (rtnCondition.Destination == null)
                    {
                        rtnCondition.Destination = new Terms.Common.Domain.Airport();
                        rtnCondition.Destination.Code = ltxRtnTo.City.Trim();
                    }

                }
            }

            airSearchCondition.AddTripCondition(deptCondition);
            airSearchCondition.AddTripCondition(rtnCondition);

            airSearchCondition.Airlines = ((AirSearchCondition)Transaction.CurrentSearchConditions).Airlines;

            string logAirline = airSearchCondition.Airlines == null ? "All" : string.Join(",", airSearchCondition.Airlines);
            log.Info(Session["LOG_RANDOM"].ToString() + " >====================AirLine:" + logAirline + "===========================");
            log.Info(Session["LOG_RANDOM"].ToString() + " >SearchClick Begin Start time : " + System.DateTime.Now);

            Utility.IsTourMain = false;//�����Ƿ���Tour��־

            sc.CurrentItinerary.SearchInfo = airSearchCondition;//(AirSearchCondition)Transaction.CurrentSearchConditions;
            Session["CurrentSession"] = sc;
            if (ForbiddenAirportControl1.HasForbiddenAirport(sc))
            {
                string[] arrayCtrlID = new string[2];
                arrayCtrlID[0] = ddlAdult.ClientID;
                arrayCtrlID[1] = ddlChild.ClientID;

                ForbiddenAirportControl1.ShowMsgBox(arrayCtrlID, upSearch);
            }
            else
            {
                this.Transaction.IntKey = airSearchCondition.GetHashCode();
                Transaction.CurrentSearchConditions = airSearchCondition;
                this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();

                if (!IsRealCity)
                {
                    if (IsDataError)
                    {
                        Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx");
                    }
                    else
                    {
                        Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?DateErrorMsg=" + Resources.HintInfo.AirDateError);
                    }
                }
                else
                {
                    if (IsSelectAirport)
                    {
                        if (IsDataError)
                        {
                            Response.Redirect("~/Page/Flight/SearchConditionsForm.aspx");
                        }
                        else
                        {
                            Response.Redirect("~/Page/Flight/SearchConditionsForm.aspx?DateErrorMsg=" + Resources.HintInfo.AirDateError);
                        }
                    }
                    else
                    {
                        if (Utility.IsSubAgent)
                            OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.SUB_SearchAir, this);
                        else
                            OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.MV_SearchAir, this);

                        log.Info(Session["LOG_RANDOM"].ToString() + " >Redirect Searching.aspx Begin Start time : " + System.DateTime.Now + " By ");
                        if (IsDataError)
                        {
                            Response.Redirect("~/Page/Promos/PromosSearching.aspx" + "?ConditionID=" + this.Transaction.IntKey.ToString());
                        }
                        else
                        {
                            Response.Redirect("~/Page/Promos/PromosSearching.aspx" + "?ConditionID=" + this.Transaction.IntKey.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
                        }
                    }
                }
            }
        }
        else
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "Serarch", "<script>alert('Invaluable search condition.');</script>");
            return;
        }
    }
Esempio n. 42
0
    private void SearchPromos()
    {
        string depCity = ConvertName(Request["fromcity"].Trim());
        string toCity = ConvertName(Request["tocity"].Trim());
        string rtnFromCity = ConvertName(Request["rtnfromah"].Trim());
        string rtnToCity = ConvertName(Request["rtntoah"].Trim());

        //log begin 20090312 Leon
        log.Info("\r\n");
        System.Random rd = new Random();

        Session["LOG_RANDOM"] = rd.Next(999999999);

        if (!Utility.IsLogin)
        {
            log.Info(Session["LOG_RANDOM"].ToString() + " >====================Not Login========================");
        }
        else
        {
            log.Info(Session["LOG_RANDOM"].ToString() + " >==========================Login========================");
        }
        string logAirline = Request["aircode"].Trim().Trim().Equals(string.Empty) ? "All" : Request["aircode"].Trim();
        log.Info(Session["LOG_RANDOM"].ToString() + " >==========================AirLine:" + logAirline + "========================");
        log.Info(Session["LOG_RANDOM"].ToString() + " >SearchClick Begin Start time : " + System.DateTime.Now);
        //log end 20090312 Leon

        if (Utility.IsSubAgent)
            OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.SUB_SearchAir, this);
        else
            OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.MV_SearchAir, this);

        Session["HasReminder"] = true;

        //if (!Page.IsValid)
        //    return;
        bool IsSelectAirport = false;
        bool IsRealCity = true;

        Session["CurrentSession"] = new SessionClass();
        SessionClass sc = (SessionClass)Session["CurrentSession"];

        AirSearchCondition airSearchCondition = new AirSearchCondition();

        airSearchCondition.SetPassengerNumber(PassengerType.Adult, Convert.ToInt32(Convert.ToInt32(Request["adults"].Trim())));

        CabinType cabinA = new CabinType();
        if (Request["airclass"].Trim() == "ECONOMY")
        {
            cabinA = CabinType.Economy;
        }
        else if (Request["airclass"].Trim() == "BUSINESS")
        {
            cabinA = CabinType.Business;
        }
        else if (Request["airclass"].Trim() == "FIRST")
        {
            cabinA = CabinType.First;
        }
        else
        {
            cabinA = CabinType.All;
        }

        airSearchCondition.SetPassengerNumber(PassengerType.Child, Convert.ToInt32(Convert.ToInt32(Request["children"].Trim())));

        airSearchCondition.FlightType = Request["airtype"].Trim();

        airSearchCondition.FlexibleDays = 0;

        AirTripCondition deptCondition = new AirTripCondition();
        deptCondition.Cabin = cabinA;

        sc.FromCityName = depCity.Trim();
        if (depCity.Trim().Length > 3)
        {
            IList departureAirPorts = _CommonService.FindAirportByCityName(depCity.Trim());

            if (departureAirPorts.Count > 1)
            {
                IsSelectAirport = true;
                sc.FromAirports = departureAirPorts;
            }
            else if (departureAirPorts.Count == 1)
            {
                deptCondition.Departure = (Terms.Common.Domain.Airport)departureAirPorts[0];
            }
            else
            {

                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(depCity.Trim(), airportList);
                if (airport != null)
                    deptCondition.Departure = airport;
                else
                    sc.IsRealFromCity = IsRealCity = false;
                //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtDepCity.Value + "\"&GoToPage=~/index.aspx");
            }

        }
        else
        {
            deptCondition.Departure = AirService.CommAirportDao.FindByAirport(depCity.Trim());

            if (deptCondition.Departure == null)
            {
                deptCondition.Departure = new Terms.Common.Domain.Airport();
                deptCondition.Departure.Code = depCity.Trim();
            }
        }

        deptCondition.DepartureDate = GlobalUtility.GetDateTime(Request["fromdate"].Trim());

        bool IsDataError = true;

        if (deptCondition.DepartureDate < DateTime.Now.AddDays(3))
        {
            IsRealCity = false;
            IsDataError = false;

        }

        sc.ToCityName = toCity.Trim();
        if (toCity.Trim().Length > 3)
        {
            IList destinationAirPorts = _CommonService.FindAirportByCityName(toCity.Trim());

            if (destinationAirPorts.Count > 1)
            {
                IsSelectAirport = true;
                sc.ToAirports = destinationAirPorts;
            }
            else if (destinationAirPorts.Count == 1)
            {
                deptCondition.Destination = (Terms.Common.Domain.Airport)destinationAirPorts[0];
            }
            else
            {
                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(toCity.Trim(), airportList);
                if (airport != null)
                    deptCondition.Destination = airport;
                else
                    sc.IsRealToCity = IsRealCity = false;
                // Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtDesCity.Value + "\"&GoToPage=~/index.aspx");
            }

        }
        else
        {
            deptCondition.Destination = AirService.CommAirportDao.FindByAirport(toCity.Trim());

            if (deptCondition.Destination == null)
            {
                deptCondition.Destination = new Terms.Common.Domain.Airport();
                deptCondition.Destination.Code = toCity.Trim();
            }
        }

        AirTripCondition rtnCondition = new AirTripCondition();
        rtnCondition.Cabin = cabinA;

        if (Request["airtype"].Trim().ToLower().Equals("oneway"))
        {
            rtnCondition.Departure = deptCondition.Destination;
            rtnCondition.Destination = deptCondition.Departure;
            rtnCondition.DepartureDate = DateTime.MaxValue;
        }
        else if (Request["airtype"].Trim().ToLower().Equals("roundtrip"))
        {
            rtnCondition.Departure = deptCondition.Destination;
            rtnCondition.Destination = deptCondition.Departure;
            rtnCondition.DepartureDate = GlobalUtility.GetDateTime(Request["todate"].Trim());
        }
        else if (Request["airtype"].Trim().ToLower().Equals("openjaw"))
        {
            rtnCondition.DepartureDate = GlobalUtility.GetDateTime(Request["todate"].Trim());
            sc.ReturnFromCityName = rtnFromCity.Trim();
            if (rtnFromCity.Trim().Length > 3)
            {
                IList returnFromAirPorts = _CommonService.FindAirportByCityName(rtnFromCity.Trim());

                if (returnFromAirPorts.Count > 1)
                {
                    IsSelectAirport = true;
                    sc.ReturnFromAirports = returnFromAirPorts;
                }
                else if (returnFromAirPorts.Count == 1)
                {
                    rtnCondition.Departure = (Terms.Common.Domain.Airport)returnFromAirPorts[0];
                }
                else
                {
                    List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                    Terms.Common.Domain.Airport airport = MatchAirport(rtnFromCity.Trim(), airportList);
                    if (airport != null)
                        rtnCondition.Departure = airport;
                    else
                        sc.IsRealReturnFromCity = IsRealCity = false;
                    //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtRtnFrom.Value + "\"&GoToPage=~/index.aspx");
                }
            }
            else
            {
                rtnCondition.Departure = AirService.CommAirportDao.FindByAirport(rtnFromCity.Trim());
                if (rtnCondition.Departure == null)
                {
                    rtnCondition.Departure = new Terms.Common.Domain.Airport();
                    rtnCondition.Departure.Code = rtnFromCity.Trim();
                }
            }
            sc.ReturnToCityName = rtnToCity.Trim();
            if (rtnToCity.Trim().Length > 3)
            {
                IList returnToAirPorts = _CommonService.FindAirportByCityName(rtnToCity.Trim());

                if (returnToAirPorts.Count > 1)
                {
                    IsSelectAirport = true;
                    sc.ReturnToAirports = returnToAirPorts;
                }
                else if (returnToAirPorts.Count == 1)
                {
                    rtnCondition.Destination = (Terms.Common.Domain.Airport)returnToAirPorts[0];
                }
                else
                {
                    List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                    Terms.Common.Domain.Airport airport = MatchAirport(rtnToCity.Trim(), airportList);
                    if (airport != null)
                        rtnCondition.Destination = airport;
                    else
                        sc.IsRealReturnToCity = IsRealCity = false;
                    //Response.Redirect("ErrorMessage.aspx?ErrorMessage=We found no matches for \"" + this.txtRtnTo.Value + "\"&GoToPage=~/index.aspx");
                }

            }
            else
            {
                rtnCondition.Destination = AirService.CommAirportDao.FindByAirport(rtnToCity.Trim());
                if (rtnCondition.Destination == null)
                {
                    rtnCondition.Destination = new Terms.Common.Domain.Airport();
                    rtnCondition.Destination.Code = rtnToCity.Trim();
                }
            }
        }

        airSearchCondition.AddTripCondition(deptCondition);
        airSearchCondition.AddTripCondition(rtnCondition);

        //if (ddlAirline.SelectedItem.Text != "Search All Airlines")
        if (Request["aircode"].Trim().Trim() != "")
        {
            //param.Airways = ddlAirline.SelectedValue.Split(',');
            airSearchCondition.Airlines = Request["aircode"].Trim().Split(',');
        }

        sc.CurrentItinerary.SearchInfo = airSearchCondition;
        Utility.IsTourMain = false;//�����Ƿ���Tour��־
        this.Transaction.IntKey = airSearchCondition.GetHashCode();
        this.Transaction.CurrentSearchConditions = airSearchCondition;
        this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();

        ForbiddenAirportControl f = new ForbiddenAirportControl();

        bool IsErrorAir = f.HasForbiddenAirport(sc);

        if (IsErrorAir)
        {
            Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&DateErrorMsg=" + Resources.HintInfo.ForbiddenAirport);
        }

        if (!IsRealCity)
        {
            if (!Utility.IsLogin && Session["IndexForFlight"] == null)
            {
                if (IsDataError)
                {
                    Response.Redirect("~/Page/Promos/PromosSearching.aspx" + "?ConditionID=" + Utility.Transaction.IntKey.ToString());
                }
                else
                {
                    Response.Redirect("~/Page/Promos/PromosSearching.aspx" + "?ConditionID=" + Utility.Transaction.IntKey.ToString());
                }
            }

            if (IsDataError)
            {
                Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString());
            }
            else
            {
                Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
            }
        }
        else
        {
            if (IsSelectAirport)
            {
                if (!Utility.IsLogin && Session["IndexForFlight"] == null)
                {
                    if (IsDataError)
                    {
                        Response.Redirect("~/Page/Promos/PromosSearching.aspx" + "?ConditionID=" + Utility.Transaction.IntKey.ToString());
                    }
                    else
                    {
                        Response.Redirect("~/Page/Promos/PromosSearching.aspx" + "?ConditionID=" + Utility.Transaction.IntKey.ToString());
                    }
                }

                if (IsDataError)
                {
                    Response.Redirect("~/Page/Flight/SearchConditionsForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString());
                }
                else
                {
                    Response.Redirect("~/Page/Flight/SearchConditionsForm.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
                }
            }
            else
            {
                if (!Utility.IsLogin && Session["IndexForFlight"] == null)
                {
                    if (IsDataError)
                    {
                        Response.Redirect("~/Page/Promos/PromosSearching.aspx" + "?ConditionID=" + Utility.Transaction.IntKey.ToString());
                    }
                    else
                    {
                        Response.Redirect("~/Page/Promos/PromosSearching.aspx" + "?ConditionID=" + Utility.Transaction.IntKey.ToString());
                    }
                }

                log.Info(Session["LOG_RANDOM"].ToString() + " >Redirect Searching.aspx Begin Start time : " + System.DateTime.Now);

                if (IsDataError)
                {
                    Response.Redirect("~/Page/Promos/PromosSearching.aspx?ConditionID=" + Utility.Transaction.IntKey.ToString());
                }
                else
                {
                    Response.Redirect("~/Page/Promos/PromosSearching.aspxx?ConditionID=" + Utility.Transaction.IntKey.ToString() + "&DateErrorMsg=" + Resources.HintInfo.AirDateError);
                }
            }
        }
    }
Esempio n. 43
0
        /// <summary>
        /// Get or create server machine session.
        /// </summary>
        /// <param name="server">Server</param>
        /// <returns>New or existing session</returns>
        private Session getSession(Server server)
        {
            Session serverSession;
            if (!serverSessions.ContainsKey(server))
            {
                serverSession = new SessionClass();
                serverSessions.Add(server, serverSession);
            }
            else
            {
                serverSession = serverSessions[server];
            }

            return serverSession;
        }
    protected void btn_Search_AH_Click(object sender, EventArgs e)
    {
        if (Utility.IsSubAgent)
            OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.SUB_SearchPackage, this);
        else
            OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.MV_SearchPackage, this);

        if (!Page.IsValid)
            return;

        DateTime dateDept_A = Convert.ToDateTime(this.dateDeparture_AH.CDate);
        DateTime dateRtn_A = Convert.ToDateTime(this.dateReturn_AH.CDate);
        DateTime dateChinkIn_H;
        DateTime dateChinkOut_H;

        Session["CurrentSession"] = new SessionClass();
        SessionClass sc = (SessionClass)Session["CurrentSession"];

        if (txtFullFrom_AH.Text.Trim().Length == 0)
        {
            div_1.Visible = true;
            lblError1.Text = Resources.HintInfo.Package_Error_City1;
            return;
        }

        if (txtFullTo_AH.Text.Length == 0)
        {
            div_1.Visible = true;
            lblError1.Text += "<BR>" + Resources.HintInfo.Package_Error_City2;
            return;
        }

        txtFrom_AH.Text = ConvertName(txtFullFrom_AH.Text);
        txtTo_AH.Text = ConvertName(txtFullTo_AH.Text);

        //Utility.SelectAirGroup = null;
        PackageSearchCondition PacakgeSearch = new PackageSearchCondition();
        PacakgeSearch.IsReset = true;

        PacakgeSearch.DepatrueAirPorts = new List<Terms.Common.Domain.Airport>();
        if (txtFrom_AH.Text.Trim().Length > 3)
        {
            IList departureAirPorts = _CommonService.FindAirportByCityName(txtFrom_AH.Text.Trim());

            if (departureAirPorts.Count >= 1)
            {
                PacakgeSearch.DepatrueAirPorts = departureAirPorts;
                sc.FromAirports = departureAirPorts;
            }
            else
            {
                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(txtFrom_AH.Text.Trim(), airportList);
                if (airport != null)
                {
                    PacakgeSearch.DepatrueAirPorts.Add(airport);
                }
            }
        }
        else
        {
            //PacakgeSearch.DepatrueAirPorts.Add(AirService.CommAirportDao.FindByAirport(txtDepartureFrom.Text.Trim()));
            Terms.Common.Domain.Airport airport = AirService.CommAirportDao.FindByAirport(txtFrom_AH.Text.Trim());

            if (airport != null)
            {
                PacakgeSearch.DepatrueAirPorts.Add(airport);
            }
            else
            {
                IList departureAirPorts = AirService.CommAirportDao.FindByCityCode(txtFrom_AH.Text.Trim());

                if (departureAirPorts.Count >= 1)
                {
                    PacakgeSearch.DepatrueAirPorts = departureAirPorts;
                }
            }
        }

        PacakgeSearch.DestinationAirPorts = new List<Terms.Common.Domain.Airport>();
        if (txtTo_AH.Text.Trim().Length > 3)
        {
            IList DestinationOneAirPorts = _CommonService.FindAirportByCityName(txtTo_AH.Text.Trim());

            if (DestinationOneAirPorts.Count >= 1)
            {
                PacakgeSearch.DestinationAirPorts = DestinationOneAirPorts;
                sc.ToAirports = DestinationOneAirPorts;
            }
            else
            {
                List<Terms.Common.Domain.Airport> airportList = _ApplicationCacheFoundationDate.FindAllAirport();
                Terms.Common.Domain.Airport airport = MatchAirport(txtTo_AH.Text.Trim(), airportList);
                if (airport != null)
                {
                    PacakgeSearch.DestinationAirPorts.Add(airport);
                }
            }
        }
        else
        {
            Terms.Common.Domain.Airport airport = AirService.CommAirportDao.FindByAirport(txtTo_AH.Text.Trim());

            if (airport != null)
            {
                PacakgeSearch.DestinationAirPorts.Add(airport);
            }
            else
            {
                IList DestinationOneAirPorts = AirService.CommAirportDao.FindByCityCode(txtTo_AH.Text.Trim());

                if (DestinationOneAirPorts.Count >= 1)
                {
                    PacakgeSearch.DestinationAirPorts = DestinationOneAirPorts;
                }
            }
        }

        PacakgeSearch.AirSearchCondition.SetPassengerNumber(TERMS.Common.PassengerType.Adult, TravelerChange1.TotalAdults);
        PacakgeSearch.AirSearchCondition.SetPassengerNumber(TERMS.Common.PassengerType.Child, TravelerChange1.TotalChilds);

        //�ж�����ij����غ�Ŀ�ĵ���û�л���
        if (PacakgeSearch.DepatrueAirPorts.Count == 0)
        {
            div_1.Visible = true;
            lblError1.Text += "<BR>" + Resources.HintInfo.Package_Error_City3;
            return;
        }

        if (PacakgeSearch.DestinationAirPorts.Count == 0)
        {
            div_1.Visible = true;
            lblError1.Text += "<BR>" + Resources.HintInfo.Package_Error_City4;
            return;
        }
        //���Ŀ�ĵصĹ����������ͼ��ô���ô�Ƶ����ס���ھ��dz������ڡ�
        if (this.CheckIn_AH.CDate == "__/__/____" || this.CheckIn_AH.CDate == "")
        {
            if (((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).City.CountryCode == "US" || ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).City.CountryCode == "CA")
            {
                dateChinkIn_H = dateDept_A;
            }
            else
            {
                dateChinkIn_H = dateDept_A.AddDays(1); //��Check inΪ�գ���Ĭ��ΪAir�������ڼ�һ��
            }
        }
        else
            dateChinkIn_H = Convert.ToDateTime(this.CheckIn_AH.CDate);

        if (this.CheckOut_AH.CDate == "__/__/____" || this.CheckOut_AH.CDate == "")
            dateChinkOut_H = dateRtn_A;             //��Check outΪ�գ���Ĭ��ΪAir��������
        else
            dateChinkOut_H = Convert.ToDateTime(this.CheckOut_AH.CDate);

        if (!ckbHotel.Checked)
        {
            dateChinkIn_H = dateDept_A.AddDays(1);
            dateChinkOut_H = dateRtn_A;
        }

        if (dateDept_A < DateTime.Now.AddDays(7))
        {
            div_2.Visible = true;
            lblError2.Text = Resources.HintInfo.Package_Date_Error1;
            return;
        }

        if (dateRtn_A < DateTime.Now.AddDays(7))
        {
            div_2.Visible = true;
            lblError2.Text = Resources.HintInfo.Package_Date_Error2;
            return;
        }

        if (dateChinkIn_H < DateTime.Now.AddDays(7))
        {
            div_2.Visible = true;
            lblError2.Text = Resources.HintInfo.Package_Date_Error3;
            return;
        }

        if (dateChinkOut_H < DateTime.Now.AddDays(7))
        {
            div_2.Visible = true;
            lblError2.Text = Resources.HintInfo.Package_Date_Error4;
            return;
        }

        if (dateChinkIn_H <= DateTime.Today)
        {
            div_2.Visible = true;
            lblError2.Text = Resources.HintInfo.Package_Date_Error5;
            return;
        }

        if (dateChinkIn_H > dateChinkOut_H)
        {
            div_2.Visible = true;
            lblError2.Text = Resources.HintInfo.Package_Date_Error6;
            return;
        }

        if (dateDept_A >= dateRtn_A)
        {
            div_2.Visible = true;
            lblError2.Text = Resources.HintInfo.Package_Date_Error7;
            return;
        }

        if (dateDept_A > dateChinkIn_H)
        {
            div_2.Visible = true;
            lblError2.Text = Resources.HintInfo.Package_Date_Error8;
            return;
        }

        if (dateChinkOut_H > dateRtn_A)
        {
            div_2.Visible = true;
            lblError2.Text = Resources.HintInfo.Package_Date_Error9;
            return;
        }

        for (int i = 0; i < TravelerChange1.Rooms; i++)
        {
            RoomSearchCondition roomSearchCondition = new RoomSearchCondition();

            roomSearchCondition.Passengers.Add(TERMS.Common.PassengerType.Adult, TravelerChange1.Adults[i]);
            roomSearchCondition.Passengers.Add(TERMS.Common.PassengerType.Child, TravelerChange1.Childs[i]);

            PacakgeSearch.HotelSearchCondition.RoomSearchConditions.Add(roomSearchCondition);
        }

        if (PacakgeSearch.DestinationAirPorts.Count > 0 || PacakgeSearch.DepatrueAirPorts.Count > 0)
        {
            PacakgeSearch.HotelSearchCondition.CheckIn = dateChinkIn_H.AddDays(0);
            PacakgeSearch.HotelSearchCondition.CheckOut = dateChinkOut_H;
            PacakgeSearch.HotelSearchCondition.Location = ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).CityCode;// "PVG";
            PacakgeSearch.HotelSearchCondition.LocationIndicator = TERMS.Common.LocationIndicator.City;
            PacakgeSearch.HotelSearchCondition.Country = ((Terms.Common.Domain.Airport)PacakgeSearch.DestinationAirPorts[0]).City.Country.Code;

            AirTripCondition DPTairTripCondition = new AirTripCondition();
            DPTairTripCondition.Departure = (Airport)PacakgeSearch.DepatrueAirPorts[0];
            DPTairTripCondition.DepartureDate = Convert.ToDateTime(this.dateDeparture_AH.CDate);
            DPTairTripCondition.Destination = (Airport)PacakgeSearch.DestinationAirPorts[0];
            DPTairTripCondition.IsDepartureTimeSpecified = this.chbFlexible_AH.Checked;
            PacakgeSearch.AirSearchCondition.AddTripCondition(DPTairTripCondition);
            AirTripCondition RTNairTripCondition = new AirTripCondition();
            RTNairTripCondition.Departure = (Airport)PacakgeSearch.DestinationAirPorts[0];
            RTNairTripCondition.DepartureDate = Convert.ToDateTime(this.dateReturn_AH.CDate);
            RTNairTripCondition.Destination = (Airport)PacakgeSearch.DepatrueAirPorts[0];
            RTNairTripCondition.IsDepartureTimeSpecified = this.chbFlexible_AH.Checked;
            PacakgeSearch.AirSearchCondition.AddTripCondition(RTNairTripCondition);
            PacakgeSearch.AirSearchCondition.FlightType = "roundtrip";

            if (ddlAirline.SelectedValue != "all")
            {
                PacakgeSearch.AirSearchCondition.Airlines = new string[1] { ddlAirline.SelectedValue.Trim() };
            }
            else
            {
                PacakgeSearch.AirSearchCondition.Airlines = null;
            }

            Utility.IsTourMain = false;//�����Ƿ���Tour��־
            this.Transaction.IntKey = PacakgeSearch.GetHashCode();
            this.Transaction.CurrentSearchConditions = PacakgeSearch;
            this.Transaction.CurrentTransactionObject = new TERMS.Business.Centers.SalesCenter.TransactionObject();

            //����Cabin
            TERMS.Common.CabinType cabin = new TERMS.Common.CabinType();
            if (rdoLstCabin_AH.SelectedIndex == 0)
            {
                cabin = TERMS.Common.CabinType.Economy;
            }
            else if (rdoLstCabin_AH.SelectedIndex == 1)
            {
                cabin = TERMS.Common.CabinType.Business;
            }
            else if (rdoLstCabin_AH.SelectedIndex == 2)
            {
                cabin = TERMS.Common.CabinType.First;
            }

            for (int i = 0; i < PacakgeSearch.AirSearchCondition.AirTripCondition.Count; i++)
                PacakgeSearch.AirSearchCondition.AirTripCondition[i].Cabin = cabin;

            sc.CurrentItinerary.SearchInfo = PacakgeSearch.AirSearchCondition;

            ForbiddenAirportControl fAH = new ForbiddenAirportControl();

            bool IsErrorAirH = fAH.HasForbiddenAirport(sc);

            if (IsErrorAirH)
            {
                div_3.Visible = true;
                lblError3.Text = Resources.HintInfo.ForbiddenAirport; ;
            }

            if (PacakgeSearch.DestinationAirPorts.Count > 1 || PacakgeSearch.DepatrueAirPorts.Count > 1)
            {
                this.Page.Response.Redirect("~/Page/Package/PackageSearchMoreForm.aspx?ConditionID=" + this.Transaction.IntKey.ToString());
            }
            else
            {
                Utility.Transaction.Difference.Clear();
                Utility.Transaction.Difference.FromTime = DateTime.Now;
                Utility.Transaction.Difference.StarTime = DateTime.Now;
                Utility.Transaction.Difference.From = "PackageSearchMoreForm Redirect Start";
                this.Page.Response.Redirect("~/Page/Common/Searching1.aspx?target=~/Page/Package2/ViewYourPackages" + "&ConditionID=" + this.Transaction.IntKey.ToString());
            }
        }
        else
        {

        }
    }