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); }
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); } }