private bool CheckDate(string value) { try { List <Rides> buf = new List <Rides>(); foreach (Rides ride in sample) { if ((ride.dateTime.Day.ToString() + "." + ride.dateTime.Month.ToString()) == value) { buf.Add(ride); date = ride.dateTime.Date; stadi = stadiya.время; } } if (buf.Count > 0) { sample = buf; return(true); } return(false); } catch { return(false); } }
public void DeleteStatement() { direction = ""; name = ""; phoneNumber = ""; count = 0; stadi = stadiya.направление; isProcess = false; Task.Factory.StartNew(() => MailSender.SendBreakEmailAsync(this)); }
private void CheckTime(string value) { foreach (Rides ride in sample) { if (ride.dateTime.ToShortTimeString() == value) { time = ride.dateTime; } } stadi = stadiya.места; }
private bool SetCount(string value) { try { this.count = int.Parse(value); stadi = stadiya.имя; return(true); } catch { return(false); } }
private bool CheckDirection(string value) { try { value = value.Replace(" ", ""); string from = value.Split('-')[0]; string to = value.Split('-')[1]; foreach (Direction direction in Direction.directions) { if (direction.from == from && direction.to == to) { this.direction = value; stadi = stadiya.дата; return(true); } } return(false); } catch { return(false); } }
private void SetName(string value) { this.name = value; stadi = stadiya.телефон; }
public async void SetParams(Telegram.Bot.Types.Message message) { if (message.Text == "Дальше") { pageNumber++; } if (message.Text == "Назад") { pageNumber--; } switch (stadi) { case stadiya.направление: if (CheckDirection(message.Text)) { List <string> answer = new List <string>(); foreach (Rides ride in Rides.rides) { if ((ride.direction.from + "-" + ride.direction.to) == direction) { sample.Add(ride); answer.Add(ride.dateTime.Day.ToString() + "." + ride.dateTime.Month.ToString()); } } if (answer.Count <= 0) { isProcess = false; stadi = stadiya.направление; await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Извините, на данный момент маршруты в этом направлении не зарегистрированы", replyMarkup : new ReplyKeyboardRemove()); return; } await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Выберите дату поездки", replyMarkup : GetKeyboard(answer, pageNumber)); } else { List <string> ways = new List <string>(); foreach (Direction dir in Direction.directions) { ways.Add(dir.from + "-" + dir.to); } await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Выберите маршрут", replyMarkup : GetKeyboard(ways, pageNumber)); } break; case stadiya.дата: if (CheckDate(message.Text)) { List <string> answer = new List <string>(); foreach (Rides ride in sample) { answer.Add(ride.dateTime.ToShortTimeString()); } if (answer.Count <= 0) { isProcess = false; stadi = stadiya.направление; await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Извините, на данный момент маршруты в этом направлении не зарегистрированы", replyMarkup : new ReplyKeyboardRemove()); return; } await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Выберите время", replyMarkup : GetKeyboard(answer, pageNumber)); } else { List <string> answer = new List <string>(); foreach (Rides ride in Rides.rides) { if ((ride.direction.from + "-" + ride.direction.to) == direction) { answer.Add(ride.dateTime.Day.ToString() + "." + ride.dateTime.Month.ToString()); } } if (answer.Count <= 0) { isProcess = false; stadi = stadiya.направление; await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Извините, на данный момент маршруты в этом направлении не зарегистрированы", replyMarkup : new ReplyKeyboardRemove()); return; } await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Произошла ошибка, повторите ввод", replyMarkup : GetKeyboard(answer, pageNumber)); } break; case stadiya.время: CheckTime(message.Text); await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Введите колличество мест, которые хотите забронировать", replyMarkup : new ReplyKeyboardRemove()); break; case stadiya.имя: SetName(message.Text); await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Введите ваш номер телефона"); break; case stadiya.места: if (SetCount(message.Text)) { await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Введите имя и фамилию"); } else { await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Повторите ввод используя только цифры, введите колличество мест, которые хотите забронировать"); } break; case stadiya.телефон: if (CheckPhone(message.Text)) { await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Спасибо! Вы забронировались на рейс: " + date.Date + " числа в " + time.ToShortTimeString() + " по направлению " + direction + ".Остались вопросы, напишите нам в чат @perevoz74"); stadi = stadiya.направление; await MailSender.SendEmailAsync(this); isProcess = false; } else { await BotBehaviour.Bot.SendTextMessageAsync( message.Chat.Id, "Номер введен неверно, введите номер в формате 8 960 123 45 67"); } break; } }