예제 #1
0
        /// <summary>
        /// 检查是否可以进行查询
        /// </summary>
        /// <returns></returns>
        public string CanQuery()
        {
            var lastResult = LastQueryResult;

            LastQueryResult = null;

            if (FromStationCode.IsNullOrEmpty())
            {
                return("请选择始发站");
            }
            if (ToStationCode.IsNullOrEmpty())
            {
                return("请选择到达站");
            }
            //日期
            if (!QueryStudentTicket && !ParamData.IsCommonTicketSell(CurrentDepartureDate))
            {
                AppContext.HostForm.ShowToast("超出预售期,无法正常查询,仅供12306系统维护期间值守查询用。", backColor: System.Drawing.Color.DarkRed, glowColor: eToastGlowColor.Red, timeout: 2000);
            }
            //席别选择有误
            if (SelectedSeatClass.Count > 0 && EnableAutoPreSubmit && AutoPreSubmitConfig.SeatList.Count > 0 && AutoPreSubmitConfig.SeatList.Any(s => !SelectedSeatClass.Contains(s)))
            {
                var seats = AutoPreSubmitConfig.SeatList.Except(SelectedSeatClass).ToArray();

                seats.ForEach(s => SelectedSeatClass.Add(s));
            }
            //出发时间和到达时间
            if (DepartureTimeTo < DepartureTimeFrom)
            {
                return("出发时间的结束时间不得大于开始时间");
            }
            if (ArriveTimeTo < ArriveTimeFrom)
            {
                return("到达时间的结束时间不得大于开始时间");
            }

            //学生票?
            if (QueryStudentTicket && (IsAutoSubmitEnabled && AutoPreSubmitConfig.Passenger.Any(s => s.TicketType != 3)))
            {
                return("选择了查询学生票,可是为嘛儿添加的乘客不全是学生嘞,你个臭流氓 o(>_<)o ~~");
            }

            LastQueryResult = lastResult;

            return(null);
        }