Exemple #1
0
        private async void EmalTextBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (ValidatorClass.IsValidEmail(EmalTextBox.Text) == true)
            {
                string EmailCheckAsync = await DatabaseLogicClass.MySQLGetAsync("SELECT Password FROM Users WHERE Email='" + CryptoClass.MD5Hash(EmalTextBox.Text) + "'");

                if (EmailCheckAsync == "")
                {
                    Emailcomments.Content  = "-> валидный e-mail";
                    EmalTextBox.Foreground = Brushes.Black;
                    ValidEmail             = true;
                }
                else
                {
                    Emailcomments.Content  = "-> e-mail уже зарегистрирован!";
                    EmalTextBox.Foreground = Brushes.Red;
                    ValidEmail             = false;
                }
            }

            else
            {
                Emailcomments.Content  = "-> некорректный e-mail";
                EmalTextBox.Foreground = Brushes.Red;
                ValidEmail             = false;
            }

            NextButton.IsEnabled = (ValidUsername == true) && (ValidEmail == true) && (ValidPhone == true) && (ValidPassword == true) && (ValidMasterPassword == true);
        }
Exemple #2
0
        private async Task <bool> ValidOldEmail(string OldEmailText)
        {
            if (ValidatorClass.IsValidEmail(OldEmailText) == true)
            {
                string MD5Login = DatabaseLogicClass.SQLiteGet("SELECT login FROM logins WHERE authenticated=1");

                string result = await DatabaseLogicClass.MySQLGetAsync("SELECT Email FROM Users WHERE (Phone='" + MD5Login + "' OR Email='" + MD5Login + "')");

                result = result.Remove(result.Length - 1);

                if ((CryptoClass.MD5Hash(OldEmailText) == MD5Login) || (CryptoClass.MD5Hash(OldEmailText) == result))
                {
                    return(true);
                }
                else
                {
                    OldEmailComments.Content = "-> не ваш e-mail или его не существует";
                }
            }

            else
            {
                OldEmailComments.Content = "-> некорректный e-mail";
            }

            return(false);
        }
Exemple #3
0
        private async Task AddGroupListBoxAsync()
        {
            string bufgroupsstr = await DatabaseLogicClass.MySQLGetAsync("SELECT name FROM SMSSender_schema.GroupsTable");

            string[] groupsarr = bufgroupsstr.Split(',');
            for (int i = 0; i < groupsarr.Length - 1; i++)
            {
                GroupsComboBox.Items.Add(groupsarr[i]);
            }
        }
Exemple #4
0
        private static async Task <bool> CheckUserLogin(string InputLogin)
        {
            string ThisResult = await DatabaseLogicClass.MySQLGetAsync("SELECT Password FROM Users WHERE Email='" + CryptoClass.MD5Hash(InputLogin) + "' OR Phone='" + CryptoClass.MD5Hash(InputLogin) + "'");

            if (ThisResult != "")
            {
                return(true);
            }
            return(false);
        }
Exemple #5
0
        public async Task <Boolean> AdminCheckerAsync(string id)
        {
            string admins = await DatabaseLogicClass.MySQLGetAsync("SELECT AdminTG FROM TGAdmins");

            string[] AdminArr = admins.Split(',');
            for (int i = 0; i < AdminArr.Length; i++)
            {
                if (AdminArr[i] == id)
                {
                    return(true);
                }
            }
            return(false);
        }
Exemple #6
0
        private async Task <bool> ValidationOldPhone(string OldPhone)
        {
            if (ValidatorClass.IsPhoneNumber(OldPhone) == true)
            {
                string MD5Login = DatabaseLogicClass.SQLiteGet("SELECT login FROM logins WHERE authenticated=1");

                string result = await DatabaseLogicClass.MySQLGetAsync("SELECT Phone FROM Users WHERE (Phone='" + MD5Login + "' OR Email='" + MD5Login + "')");

                result = result.Remove(result.Length - 1);


                return(CryptoClass.MD5Hash(OldPhone) == result);
            }
            return(false);
        }
Exemple #7
0
        private async Task <bool> ValidationOldPassword(string OldPassword)
        {
            if (ValidatorClass.ValidatePassword(OldPassword) == true)
            {
                string MD5Login = DatabaseLogicClass.SQLiteGet("SELECT login FROM logins WHERE authenticated=1");

                string result = await DatabaseLogicClass.MySQLGetAsync("SELECT Password FROM Users WHERE (Phone='" + MD5Login + "' OR Email='" + MD5Login + "')");

                result = result.Remove(result.Length - 1);


                if (CryptoClass.MD5Hash(OldPassword) == result)
                {
                    OldPasswordComments.Content = "-> верный пароль";
                    return(true);
                }

                else
                {
                    OldPasswordComments.Content = "-> неверный пароль";
                }
            }
            return(false);
        }
Exemple #8
0
        private async void FinalSendButton_Click(object sender, RoutedEventArgs e)
        {
            //Отправка произовольного текста произвольному получателю
            if ((TextSecondRadioButton.IsChecked == true) && (NumbersSecondRadioButton.IsChecked == true))
            {
                if ((NumbersToSend.Text != "") && (TextToSend.Text != ""))
                {
                    if (MessageBox.Show("Вы действительно хотите отправить сообщение '" + TextToSend.Text + "' на номер " + NumbersToSend.Text + "?", "Отправка сообщения", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                    {
                        SMSSenderClass sms_obj = new SMSSenderClass();
                        string[]       numbers = new string[] { NumbersToSend.Text };
                        var            request = new Request {
                            numbers = numbers, text = TextToSend.Text, channel = "DIRECT"
                        };
                        if (sms_obj.sms_send(request) != "false")
                        {
                            MessageBox.Show("Успешная отправка сообщения");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Сообщение и/или номер отправления не могут быть пустыми");
                }
            }

            //Отправка произвольного текста всем получателям из БД
            else if ((TextSecondRadioButton.IsChecked == true) && (NumbersFirstRadioButton.IsChecked == true))
            {
                if (TextToSend.Text != "")
                {
                    SMSSenderClass sms_obj      = new SMSSenderClass();
                    string         bufnumberstr = await DatabaseLogicClass.MySQLGetAsync("SELECT phone FROM Phones");

                    string[] numbers = bufnumberstr.Split(',');
                    Array.Resize(ref numbers, numbers.Length - 1);
                    var request = new Request {
                        numbers = numbers, text = TextToSend.Text, channel = "DIRECT"
                    };
                    if (sms_obj.sms_send(request) != "false")
                    {
                        MessageBox.Show("Успешная отправка сообщения всем получателям из БД!");
                    }
                }
                else
                {
                    MessageBox.Show("Сообщение для отправки не может быть пустым");
                }
            }

            //Отправка текста из БД произвольному получателю
            else if ((TextFirstRadioButton.IsChecked == true) && (NumbersSecondRadioButton.IsChecked == true) && (GroupsComboBox.SelectedIndex != -1))
            {
                if (NumbersToSend.Text != "")
                {
                    if (SaveDatabaseCheckBox.IsChecked == true)
                    {
                        string thisgroup = GroupsComboBox.SelectedValue.ToString();
                        await DatabaseLogicClass.MySQLExecuteAsync("INSERT INTO Phones(phone,groups) VALUES (\"" + NumbersToSend.Text + "\",\"" + thisgroup + "\");");

                        MessageBox.Show("Успешное добавление нового пользователя с " + thisgroup + " и номером телефона " + NumbersToSend.Text + "!");
                    }

                    if (SendSMSCheckBox.IsChecked == true)
                    {
                        ParseJSONLogicClass thisjson_obj = new ParseJSONLogicClass();
                        thisjson_obj.GetTimetableJSON();
                        string selectedgroup   = GroupsComboBox.SelectedValue.ToString();
                        string thisgroupresult = thisjson_obj.GetTimetableByGroup(selectedgroup);

                        SMSSenderClass sms_obj = new SMSSenderClass();
                        if (thisgroupresult == "false")
                        {
                            if (MessageBox.Show("Нет изменений в расписании для группы " + selectedgroup + "\nХотите отправить оповещение об этом?", "Нет изменений", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                            {
                                string[] numbers = new string[] { NumbersToSend.Text };
                                var      request = new Request {
                                    numbers = numbers, text = "Нет изменений в расписании группы " + selectedgroup, channel = "DIRECT"
                                };
                                if (sms_obj.sms_send(request) != "false")
                                {
                                    MessageBox.Show("Успешная отправка сообщения");
                                }
                            }
                        }
                        else
                        {
                            string[] numbers = new string[] { NumbersToSend.Text };
                            var      request = new Request {
                                numbers = numbers, text = thisgroupresult, channel = "DIRECT"
                            };
                            if (sms_obj.sms_send(request) != "false")
                            {
                                MessageBox.Show("Успешная отправка сообщения");
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Номер отправления не может быть пустым");
                }
            }

            //Отправка сообщения из БД получателям из БД
            else if ((TextFirstRadioButton.IsChecked == true) && (NumbersFirstRadioButton.IsChecked == true))
            {
                ParseJSONLogicClass mainjson_obj = new ParseJSONLogicClass();
                mainjson_obj.GetTimetableJSON();

                string phonesbufresult = await DatabaseLogicClass.MySQLGetAsync("SELECT phone FROM Phones");

                string groupsbufresult = await DatabaseLogicClass.MySQLGetAsync("SELECT groups FROM Phones");

                string[] phonesarr = phonesbufresult.Split(',');
                Array.Resize(ref phonesarr, phonesarr.Length - 1);

                string[] groupsarr = groupsbufresult.Split(',');
                Array.Resize(ref groupsarr, groupsarr.Length - 1);

                int globalcounter = 0;
                for (int i = 0; i < phonesarr.Length; i++)
                {
                    string thisgroupresult = mainjson_obj.GetTimetableByGroup(groupsarr[i]);
                    if (thisgroupresult != "false")
                    {
                        SMSSenderClass sms_obj = new SMSSenderClass();

                        string[] numbers = new string[] { phonesarr[i] };
                        var      request = new Request {
                            numbers = numbers, text = thisgroupresult, channel = "DIRECT"
                        };
                        if (sms_obj.sms_send(request) != "false")
                        {
                            globalcounter++;
                        }
                    }
                }
                MessageBox.Show("Отправлено " + globalcounter.ToString() + " сообщений из " + phonesarr.Length.ToString());
            }

            GetSMSBalance();
            TextToSend.Text    = "";
            NumbersToSend.Text = "";
        }