Exemple #1
0
        private bool SetArrivalDatesByQs()
        {
            if (_queryStringParametrs.IsEmpty || !_queryStringParametrs.IsParametrsValid)
            {
                return(false);
            }
            if (!_queryStringParametrs.ArrivalDateFrom.HasValue && !_queryStringParametrs.ArrivalDateTo.HasValue)
            {
                return(true);
            }
            if (!_queryStringParametrs.ArrivalDateFrom.HasValue || !_queryStringParametrs.ArrivalDateTo.HasValue)
            {
                return(false);
            }
            if (_queryStringParametrs.ArrivalDateTo < _queryStringParametrs.ArrivalDateFrom)
            {
                return(false);
            }
            if (_queryStringParametrs.ArrivalDateTo < DateTime.Now.Date)
            {
                return(false);
            }
            if (!ArrivalDatesFilter.ArrivalDates.Contains(_queryStringParametrs.ArrivalDateFrom.Value) || !ArrivalDatesFilter.ArrivalDates.Contains(_queryStringParametrs.ArrivalDateTo.Value))
            {
                return(false);
            }

            var dateFrom = _queryStringParametrs.ArrivalDateFrom < DateTime.Now.Date ?
                           (from arrivalDate in ArrivalDatesFilter.ArrivalDates
                            where arrivalDate >= DateTime.Now.Date
                            orderby arrivalDate
                            select arrivalDate).First()
                : _queryStringParametrs.ArrivalDateFrom.Value;
            var dateTo = _queryStringParametrs.ArrivalDateTo.Value;

            ArrivalDatesFilter.SelectArrivalRange(dateFrom, dateTo);
            return(true);
        }
Exemple #2
0
        private void LoadArrivalDates(MtSearchDbDataContext mtsDc, SftWebDbDataContext sftDc, bool isReinit = false)
        {
            if (mtsDc == null)
            {
                throw new ArgumentNullException("mtsDc");
            }

            if (RblCitiesFromFilter.Items.Count == 0 || DdlContriesToFilter.Items.Count == 0 ||
                ChblTourTypes.Items.Count == 0 || ChblCitiesToFilter.Items.Count == 0 ||
                DdlToursFilter.Items.Count == 0)
            {
                ArrivalDatesFilter.ClearArrivalDays();
                return;
            }

            DateTime?dateFrom = null;
            DateTime?dateTo   = null;

            if (isReinit && ArrivalDatesFilter.IsArrivalDateChangedByUser)
            {
                dateFrom = ArrivalDatesFilter.SelectedArrivalDateFrom;
                dateTo   = ArrivalDatesFilter.SelectedArrivalDateTo;
            }

            // если это первая загрузка страницы подтягиваем инициализацию фильтра из Web.config
            if (!Page.IsPostBack)
            {
                ArrivalDatesFilter.MaxArrivalRange     = Globals.Settings.TourFilters.MaxArrivalRange;
                ArrivalDatesFilter.DefaultArrivalRange = Globals.Settings.TourFilters.DefaultArrivalRange;
            }

            ArrivalDatesFilter.LoadArrivalDates(mtsDc.GetTourDates(sftDc, SelectedCityFromKey, SelectedCountryToKey, SelectedCitiesToKeys, SelectedTourKeys));

            if (isReinit && ArrivalDatesFilter.IsArrivalDateChangedByUser && dateFrom.HasValue && dateTo.HasValue && ArrivalDatesFilter.ArrivalDates.Contains(dateFrom.Value) && ArrivalDatesFilter.ArrivalDates.Contains(dateTo.Value))
            {
                ArrivalDatesFilter.SelectArrivalRange(dateFrom.Value, dateTo.Value);
            }
        }