Ejemplo n.º 1
0
        private void Gsm_Button_SendTestSms_Click(object sender, RoutedEventArgs e)
        {
            ulong        phone   = HelperClass.ConvertStringToPhonenumber(Gsm_TextBox_TestSmsNumber_Reciever.Text);
            string       content = Gsm_TextBox_TestSmsText.Text;
            const string ctrlz   = "\u001a";

            if (phone == 0)
            {
                MessageBox.Show("Die Telefonnummer >" + Gsm_TextBox_TestSmsNumber_Reciever.Text + "< ist ungültig!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return;
            }

            if (content.Length < 5)
            {
                MessageBox.Show("SMS-Nachrichten müssen mindestens 5 Zeichen enthalten!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return;
            }


            //PortComandExe("AT+CMGF=1");
            //System.Threading.Thread.Sleep(500);

            ////FUNKTIONIERT!
            //PortComandExe("AT+CMGS=\"+" + phone + "\"\r");
            //System.Threading.Thread.Sleep(1000);
            //PortComandExe(content + ctrlz);

            GsmCommandQueue.Add("AT+CMGF=1");
            GsmCommandQueue.Add("AT+CMGS=\"+" + phone + "\"\r");
            GsmCommandQueue.Add(content + ctrlz);
        }
Ejemplo n.º 2
0
        private void Gas_Button_RedirectVoiceCallsOn_Click(object sender, RoutedEventArgs e)
        {
            ulong phone = HelperClass.ConvertStringToPhonenumber(Gsm_TextBox_TestSmsNumber_Reciever.Text);

            int[] secondsToForward = { 5, 10, 15, 20, 25, 30 };

            if (phone == 0)
            {
                MessageBox.Show("Die Telefonnummer >" + Gsm_TextBox_TestSmsNumber_Reciever.Text + "< ist ungültig!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return;
            }
            else
            {
                MessageBoxResult r = MessageBox.Show("Sprachanrufe umleiten an Telefonnummer +" + phone + "?", "MelBox2", MessageBoxButton.YesNo, MessageBoxImage.Question);

                if (r == MessageBoxResult.Yes)
                {
                    GsmCommandQueue.Add("ATD**61*+" + phone + "**" + secondsToForward[1] + "#;");
                    //PortComandExe("ATD**61*+" + phone + "**" + secondsToForward[1] + "#;");
                }
            }
        }
Ejemplo n.º 3
0
        private void Gsm_Button_StartVoicCall_Click(object sender, RoutedEventArgs e)
        {
            ulong phone = HelperClass.ConvertStringToPhonenumber(Gsm_TextBox_TestSmsNumber_Reciever.Text);

            if (phone == 0)
            {
                MessageBox.Show("Die Telefonnummer >" + Gsm_TextBox_TestSmsNumber_Reciever.Text + "< ist ungültig!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return;
            }
            else
            {
                MessageBoxResult r = MessageBox.Show("Telefonnummer +" + phone + " anrufen?", "MelBox2", MessageBoxButton.YesNo, MessageBoxImage.Question);

                if (r == MessageBoxResult.Yes)
                {
                    PortComandExe("ATD+" + phone + ";");
                }

                System.Threading.Thread.Sleep(10000);
                //Auflegen
                PortComandExe("AT+CHUP");
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Liest einen Kontakt aus der DB anhand von einzelnen Identifaktoren. Erzeugt einen neuen Kontakt ind er DB wenn kein passender Kontakt gefunden wird.
        /// </summary>
        /// <param name="contactId"></param>
        /// <param name="name"></param>
        /// <param name="email"></param>
        /// <param name="phoneStr"></param>
        /// <param name="keyWord"></param>
        /// <returns></returns>
        internal Contact GetContactFromDb(uint contactId = 0, string name = "", string email = "", string phoneStr = "", string keyWord = "", string messageContent = "")
        {
            const string query = "SELECT Name, CompanyId, Email, Phone, KeyWord, SendWay " +
                                 "FROM Contact " +
                                 "WHERE ID = @Id " +
                                 "OR ( length(Name) > 3 AND Name = @name ) " +
                                 "OR ( Phone > 0 AND Phone = @phone ) " +
                                 "OR ( length(KeyWord) > 2 AND KeyWord = @keyWord ) " +
                                 "OR ( length(Email) > 5 AND Email = @email )";

            ulong phone = HelperClass.ConvertStringToPhonenumber(phoneStr);

            var args = new Dictionary <string, object>
            {
                { "@Id", contactId },
                { "@name", name },
                { "@phone", phone },
                { "@email", email },
                { "@keyWord", keyWord }
            };

            DataTable result = ExecuteRead(query, args);

            if (result.Rows.Count == 0)
            {
                if (name.Length < 3)
                {
                    name = Contacts.UnknownName;
                }
                if (!HelperClass.IsValidEmailAddress(email))
                {
                    email = null;
                }
                if (keyWord.Length < 3 && messageContent.Length > 3)
                {
                    keyWord = HelperClass.GetKeyWords(messageContent);
                }

                contactId = CreateContact(name, email, phone, keyWord);
                result    = ExecuteRead(query, args);
            }
            ;

            if (result.Rows.Count == 0)
            {
                MainWindow.Log(MainWindow.Topic.Contacts, MainWindow.Prio.Fehler, 2004061544, "Ein Kontakt konte weder gefunden noch erstellt weerden.");
                return(null);
            }

            Contact contact = new Contact
            {
                Id          = contactId,
                Name        = result.Rows[0][0].ToString(),
                CompanyId   = uint.Parse(result.Rows[0][1].ToString()),
                Email       = new System.Net.Mail.MailAddress(result.Rows[0][2].ToString(), result.Rows[0][0].ToString()),
                PhoneString = result.Rows[0][3].ToString(),
                KeyWord     = result.Rows[0][4].ToString(),
                ContactType = (MessageType)ushort.Parse(result.Rows[0][5].ToString())
            };

            return(contact);
        }