private bool alarm(Einsatz einsatz) { string einsatzUploadPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\EinsatzUpload\\EinsatzUpload.exe"; string parameters = "-K " + einsatz.ApiKey + " -S \"" + einsatz.Einsatzstichwort + "\" -A \"" + einsatz.Adresse + "\" -F \"" + einsatz.Sachverhalt + "\" -E " + einsatz.Einsatznummer; Console.WriteLine(parameters); try { Console.WriteLine("Einsatzalarm: " + einsatz.Einsatzstichwort + " * " + einsatz.Einsatzbeginn.ToString()); System.Diagnostics.Process.Start(einsatzUploadPath, parameters); } catch (Exception ex) { MessageBox.Show(ex.Message); } //EinsatzUpload braucht ein paar Sekunden. Dient zur synchronisierung von Durchsage und Connect-Alarm. Thread.Sleep(2000); try { SoundPlayer player = new SoundPlayer(); player.SoundLocation = einsatz.Alarmdurchsage; player.Play(); } catch (Exception ex) { MessageBox.Show(ex.Message); } return(true); }
private void BtAlarm_Click(object sender, EventArgs e) { DialogResult dialogResult = MessageBox.Show("Soll der Einsatz wirklich jetzt alarmiert werden?", "Sicher?", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { DataRow foundRow = einsätze.tblEinsätze.Select("EinsatzId = " + tbEinsatzId.Text).FirstOrDefault(); Einsatz einsatz = new Einsatz(foundRow.ItemArray.GetValue(1).ToString(), DateTime.Parse(foundRow.ItemArray.GetValue(2).ToString()), int.Parse(foundRow[3].ToString()), foundRow[4].ToString(), foundRow[5].ToString(), foundRow[6].ToString(), bool.Parse(foundRow[7].ToString()), foundRow[8].ToString(), int.Parse(foundRow[0].ToString())); foundRow[7] = true; alarm(einsatz); } }
private void Timer_Tick(object sender, EventArgs e) { listEinsätze.Clear(); foreach (DataRow row in einsätze.tblEinsätze.Rows) { Einsatz einsatz = new Einsatz(row.ItemArray.GetValue(1).ToString(), DateTime.Parse(row.ItemArray.GetValue(2).ToString()), int.Parse(row[3].ToString()), row[4].ToString(), row[5].ToString(), row[6].ToString(), bool.Parse(row[7].ToString()), row[8].ToString(), int.Parse(row[0].ToString())); Console.WriteLine(einsatz.isAlarmiert); listEinsätze.Add(einsatz); } foreach (Einsatz einsatz in listEinsätze) { TimeSpan ts = System.DateTime.Now - einsatz.Einsatzbeginn; if (einsatz.Einsatzbeginn < System.DateTime.Now & einsatz.isAlarmiert == false & ts.TotalMinutes < 5) { einsatz.isAlarmiert = true; DataRow foundRow = einsätze.tblEinsätze.Select("EinsatzId = " + einsatz.EinsatzId).FirstOrDefault(); foundRow[7] = true; alarm(einsatz); Console.WriteLine("ALARM: " + einsatz.Einsatzstichwort + " - " + einsatz.Einsatzbeginn.ToShortTimeString()); } } }