public Merchandise OnSearch()
    {
        if (this.IsSearchConditionNull)
        {
            return null;
        }
        else
        {
            if (!HttpContext.Current.Request.RawUrl.Contains("Searching1")) //Search出错,返回最后一个操作页面。如遇到Searching1.aspx则跳过,因为返回Searching1.aspx会导致重复出错
                ReturnUrlPath = HttpContext.Current.Request.RawUrl;

            ISearchCondition searchCondition = this.Transaction.CurrentSearchConditions;

            //Merchandise _Merchandise = MerchandiseSearcher.Search(searchCondition);

            MVMerchandiseSearcher searcher = new MVMerchandiseSearcher();

            if (searchCondition is Terms.Sales.Business.AirSearchCondition)
            {
                if (Session["LOG_RANDOM"] != null)
                {
                    searcher.LogRandomID = Session["LOG_RANDOM"].ToString();
                }
            }
            else if (searchCondition is Terms.Sales.Business.HotelSearchCondition)
            {
                searcher.LogRandomID = PageUtility.HotelLogRandomNumber.ToString();
            }

            Merchandise _Merchandise;

            if (searchCondition is Terms.Sales.Business.TourSearchCondition && Utility.IsTourMain)
            {
                if (Utility.IsTourMore)
                {
                    _Merchandise = (Merchandise)searcher.TourSearch(searchCondition, Utility.TourCitys, UserCulture.Name);
                }
                else
                {
                    _Merchandise = (Merchandise)searcher.TourSearch(UserCulture.Name);
                }
            }
            else if (searchCondition is Terms.Sales.Business.TourSearchCondition)
            {
                _Merchandise = (Merchandise)searcher.Search(searchCondition, UserCulture.Name);
            }
            else
            {
                _Merchandise = (Merchandise)searcher.Search(searchCondition);
            }

            if (_Merchandise == null)
            {
                if (searchCondition is Terms.Sales.Business.AirSearchCondition)
                    Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx");
                else if (searchCondition is Terms.Sales.Business.HotelSearchCondition)
                    this.Response.Redirect("~/Page/Hotel2/SearchConditionsMeassageHForm.aspx?ErrorMessage=123");
                else if (searchCondition is Terms.Sales.Business.TourSearchCondition)
                    Response.Redirect("~/Page/Tour/SearchConditionsMeassageTForm.aspx");
                else if (searchCondition is Terms.Sales.Business.VehcileSearchCondition)
                    Response.Redirect("~/index.aspx");
                else
                    this.Response.Redirect("~/Page/Package2/SearchConditionsMeassageAHForm.aspx?ErrorMessage=" + searcher.Errors);
            }
            else if (_Merchandise != null)
            {
                if (searchCondition is Terms.Sales.Business.AirSearchCondition && ((AirMerchandise)_Merchandise).Items == null)
                    Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx");
                else if (searchCondition is Terms.Sales.Business.PackageSearchCondition && ((PackageMerchandise)_Merchandise).Items == null)
                {
                    this.Response.Redirect("~/Page/Package2/SearchConditionsMeassageAHForm.aspx?ErrorMessage=" + searcher.Errors);
                }
                else if (searchCondition is Terms.Sales.Business.HotelSearchCondition && ((HotelMerchandise)_Merchandise).Items == null)
                {
                    this.Response.Redirect("~/Page/Hotel2/SearchConditionsMeassageHForm.aspx?ErrorMessage=123");
                }
                else if (searchCondition is Terms.Sales.Business.VehcileSearchCondition && ((VehcileMerchandise)_Merchandise).Items == null)
                {
                    Response.Redirect("~/index.aspx");
                }
                else if (searchCondition is Terms.Sales.Business.TourSearchCondition && ((TourMerchandise)_Merchandise).Items == null)
                    Response.Redirect("~/Page/Tour/SearchConditionsMeassageTForm.aspx");
            }
            return _Merchandise;
        }
    }
Beispiel #2
0
    public Merchandise OnSearch()
    {
        if (this.IsSearchConditionNull)
        {
            return null;
        }
        else
        {
            DateTime dtNow = DateTime.Now;
            hotelSearchHotelByZyl.Debug("MV_B2C Hotel OnSearch Start :" + dtNow.ToString("HH:mm:ss") + ":" + dtNow.Millisecond);

            if (!HttpContext.Current.Request.RawUrl.Contains("Searching1")) //Search出错,返回最后一个操作页面。如遇到Searching1.aspx则跳过,因为返回Searching1.aspx会导致重复出错
                ReturnUrlPath = HttpContext.Current.Request.RawUrl;

            hotelSearchHotelByZyl.Debug("ISearchCondition Start :" + DateTime.Now.ToLongTimeString());
            ISearchCondition searchCondition = this.Transaction.CurrentSearchConditions;
            hotelSearchHotelByZyl.Debug("ISearchCondition End :" + DateTime.Now.ToLongTimeString());

            hotelSearchHotelByZyl.Debug("MVMerchandiseSearcher Start :" + DateTime.Now.ToLongTimeString());
            MVMerchandiseSearcher searcher = new MVMerchandiseSearcher();
            hotelSearchHotelByZyl.Debug("MVMerchandiseSearcher End :" + DateTime.Now.ToLongTimeString());

            if (searchCondition is Terms.Sales.Business.AirSearchCondition)
            {
                if (Session["LOG_RANDOM"] != null)
                {
                    log.Info(Session["LOG_RANDOM"].ToString() + " >To SalseBasePage Begin Start time : " + System.DateTime.Now);
                    searcher.LogRandomID = Session["LOG_RANDOM"].ToString();
                }
            }
            else if (searchCondition is Terms.Sales.Business.HotelSearchCondition)
            {
                hotelLog.Info(PageUtility.HotelLogRandomNumber.ToString() + " >To SalseBasePage Begin Start time : " + System.DateTime.Now);
                searcher.LogRandomID = PageUtility.HotelLogRandomNumber.ToString();
            }

            Utility.Transaction.Difference.To = "OnSearch End";
            Utility.Transaction.Difference.EndTime = DateTime.Now;
            Utility.Transaction.Difference.From = "OnSearch1 Start";
            Utility.Transaction.Difference.StarTime = DateTime.Now;

            Merchandise _Merchandise;
            if (searchCondition is Terms.Sales.Business.TourSearchCondition && Utility.IsTourMain)
            {
                if (Utility.IsTourMore)
                {
                    _Merchandise = (Merchandise)searcher.TourSearch(searchCondition, Utility.TourCitys, UserCulture.Name);
                }
                else
                {
                    _Merchandise = (Merchandise)searcher.TourSearch(UserCulture.Name);
                }
            }
            else if (searchCondition is Terms.Sales.Business.TourSearchCondition)
            {
                hotelSearchHotelByZyl.Debug("Merchandise Search Start :" + DateTime.Now.ToLongTimeString());
                _Merchandise = (Merchandise)searcher.Search(searchCondition, UserCulture.Name);
                hotelSearchHotelByZyl.Debug("Merchandise Search  End :" + DateTime.Now.ToLongTimeString());
            }
            else
            {
                hotelSearchHotelByZyl.Debug("Merchandise Search Start :" + DateTime.Now.ToLongTimeString());
                _Merchandise = (Merchandise)searcher.Search(searchCondition);
                hotelSearchHotelByZyl.Debug("Merchandise Search  End :" + DateTime.Now.ToLongTimeString());
            }

            if (_Merchandise == null)
            {
                if (searchCondition is Terms.Sales.Business.AirSearchCondition)
                    Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?ConditionID=" + Request.QueryString["ConditionID"]);
                else if (searchCondition is Terms.Sales.Business.HotelSearchCondition)
                    this.Response.Redirect("~/Page/Hotel2/SearchConditionsMeassageHForm.aspx?ErrorMessage=123&ConditionID=" + Request.QueryString["ConditionID"]);
                else if (searchCondition is Terms.Sales.Business.TourSearchCondition)
                    Response.Redirect("~/Page/Tour/SearchConditionsMeassageTForm.aspx");
                else if (searchCondition is Terms.Sales.Business.VehcileSearchCondition)
                    Response.Redirect("~/Page/Vehcile/SearchConditionsErrorMeassageCForm.aspx?ErrorMessage=" + searcher.Errors + "&ConditionID=" + Request.QueryString["ConditionID"]);
                else
                    this.Response.Redirect("~/Page/Package2/SearchConditionsMeassageAHForm.aspx?ErrorMessage=" + searcher.Errors);
            }
            else if (_Merchandise != null)
            {
                if (searchCondition is Terms.Sales.Business.AirSearchCondition && ((AirMerchandise)_Merchandise).Items == null)
                    Response.Redirect("~/Page/Flight/SearchConditionsMeaasageForm.aspx?ConditionID=" + Request.QueryString["ConditionID"]);
                else if (searchCondition is Terms.Sales.Business.PackageSearchCondition && ((PackageMerchandise)_Merchandise).Items == null)
                {
                    this.Response.Redirect("~/Page/Package2/SearchConditionsMeassageAHForm.aspx?ErrorMessage=" + searcher.Errors);
                }
                else if (searchCondition is Terms.Sales.Business.HotelSearchCondition && ((HotelMerchandise)_Merchandise).Items == null)
                {
                    this.Response.Redirect("~/Page/Hotel2/SearchConditionsMeassageHForm.aspx?ErrorMessage=123");
                }
                else if (searchCondition is Terms.Sales.Business.VehcileSearchCondition && ((VehcileMerchandise)_Merchandise).Items == null)
                {
                    this.Response.Redirect("~/Page/Vehcile/SearchConditionsErrorMeassageCForm.aspx?ErrorMessage=" + searcher.Errors);
                }
                else if (searchCondition is Terms.Sales.Business.TourSearchCondition && ((TourMerchandise)_Merchandise).Items == null)
                    Response.Redirect("~/Page/Tour/SearchConditionsMeassageTForm.aspx");
            }
            dtNow = DateTime.Now;
            hotelSearchHotelByZyl.Debug("MV_B2C Hotel OnSearch Conclusion :" + dtNow.ToString("HH:mm:ss") + ":" + dtNow.Millisecond);

            return _Merchandise;
        }
    }