private void DeleteTrainer(object obj) { if (MessageBox.Show("Are you Sure You want to Delete this Record?", "Pinna Fitness", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning) == MessageBoxResult.Yes) { try { SelectedTrainer.Enabled = false; var stat = _trainerService.Disable(SelectedTrainer); if (stat == string.Empty) { Trainers.Remove(SelectedTrainer); } else { MessageBox.Show("Can't Delete, may be the data is already in use..." + Environment.NewLine + stat, "Can't Delete", MessageBoxButton.OK, MessageBoxImage.Error); } } catch (Exception ex) { MessageBox.Show("Can't Delete, may be the data is already in use..." + Environment.NewLine + ex.Message + Environment.NewLine + ex.InnerException, "Can't Delete", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private static void RemoveTrainer(string username) { Trainer trainer = Trainers.FirstOrDefault(x => x.UserName == username); if (trainer == null) { throw new Exception("There is no such trainer"); } Trainers.Remove(trainer); }
private ProcessResult ProcessMessageFromTrainer(int userid, string text) { // Обработка команд отмены и размера if (text == "отмена") { vk.SendMessage(userid, "Режим обучения отключён"); CallUsersGridUpdate(new UsersGridUpdateEventArgs("LearningNow", userid, "No")); Trainers.Remove(userid); WaitAnswersFor.Remove(userid); return(ProcessResult.Processed); } if (text == "размер") { long memory, patterns, answers; memory = GetObjectSize(CustomAnswers); patterns = CustomAnswers.Keys.Count; answers = CustomAnswers.Sum(p => p.Value.Count); vk.SendMessage(userid, $"Текущий размер базы данных:\n\nЗанятая память: {memory / 1024f}Kb\nКоличество фраз: {patterns}\nКоличество ответов: {answers}"); return(ProcessResult.Processed); } if (text.StartsWith("неотвечен") || text.StartsWith("не отвечен")) { if (NotAnswered.Count < 10) { vk.SendMessage(userid, string.Join("\r\n", NotAnswered)); } else { vk.SendMessage(userid, string.Join("\r\n", NotAnswered.Take(10)) + "\r\nИ ещё " + (NotAnswered.Count - 10)); } } if (text == "ответ") { if (NotAnswered.Count == 0) { vk.SendMessage(userid, "К сожалению, на данный момент нет неотвеченных фраз. Но вы можете добавить свою ;)"); return(ProcessResult.Processed); } var phrase = NotAnswered.First(); // FIXME WaitAnswersFor[userid] = phrase; vk.SendMessage(userid, phrase); return(ProcessResult.Processed); } // Разделение сообщения на строки var strings = text.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); // Добавление ответов на существующую фразу if (WaitAnswersFor.ContainsKey(userid)) { var pattern = WaitAnswersFor[userid]; NotAnswered.Remove(pattern); Tab.Invoke((Action)(() => Tab.listBoxNotAnswered.Items.Remove(pattern))); AddAnswer(pattern, strings, userid); return(ProcessResult.Processed); } // Проверка на ошибки ввода if (!CheckCorrect(strings, userid)) { return(ProcessResult.Processed); } // Добавление фразы return(AddAnswer(strings.First(), strings.Skip(1), userid)); }