public void RunningThread() { int i = MaxQueue; Message message = new Message(); message.Title = "keepeya"; while (true) { if (listEvents.Count > 0) // делаем запрос к БД { message.Result = null; message.Account = null; message.AllEvents = new MainEvent[listEvents.Count]; for (int index = 0; index < listEvents.Count; index++) { message.AllEvents[index] = listEvents[index]; } Message recieveMessage = parent.SendToServer(message); if (recieveMessage != null && recieveMessage.Result != null) { for (int index = 0; index < recieveMessage.AllEvents.Length; index++) { if (recieveMessage.AllEvents[index].EventDone || recieveMessage.AllEvents[index].EventError != "") // если событие произошло { MainEvent temp = listEvents.FirstOrDefault( c => c.Title == recieveMessage.AllEvents[index].Title && c.Sign == recieveMessage.AllEvents[index].Sign && c.ValueParam == recieveMessage.AllEvents[index].ValueParam ); if (recieveMessage.AllEvents[index].EventError == "") { Interlocked.Increment(ref eventMessage); // отправляем еmail SendEmail sendMail = new SendEmail(parent.MyAccount.Email, "Событие произошло", temp.ToString()); // отправляем сообщение по Skype SendSkype sendSkype = new SendSkype(parent.MyAccount.LoginSkype, temp.ToString()); listResultEvents.Add(temp); } else { MessageBox.Show(recieveMessage.AllEvents[index].EventError + " " + recieveMessage.AllEvents[index].Title); } // удаляем событие listEvents.Remove(temp); UpdateListEvent(); } } } } valueList.Enqueue(new KeyValuePair <int, int>((++i), eventMessage)); if (valueList.Count > MaxQueue) { valueList.Dequeue(); } Message(i); Thread.Sleep(threadDelay * 1000); } }
private void btnDelete_Click(object sender, RoutedEventArgs e) { if (lstEvents.SelectedIndex >= 0) { MainEvent mainEvent = (MainEvent)lstEvents.SelectedItem; MessageBoxResult res = MessageBox.Show("Вы уверены что хотите удалить это событие: " + mainEvent.ToString(), "Удалить событие", MessageBoxButton.OKCancel); if (res == MessageBoxResult.OK) { listEvents.Remove(mainEvent); EditEvent(); } } }