コード例 #1
0
        public JsonResult Save(TelegramBot tlg, EmailBot email, SmsBot sms, bool IsAPI = false)
        {
            #region Демо режим
            if (Platform.IsDemo)
            {
                return(Json(new Text("Операция недоступна в демо-режиме")));
            }
            #endregion

            // Проверка Email
            if (!string.IsNullOrWhiteSpace(email.ConnectUrl) && 0 >= email.ConnectPort)
            {
                return(Json(new Text("Укажите порт почтового сервера")));
            }

            // Меняем настройки
            jsonDB.ServiceBot.Telegram = tlg;
            jsonDB.ServiceBot.Email    = email;
            jsonDB.ServiceBot.SMS      = sms;
            jsonDB.Save();

            //
            Trigger.OnChange((0, 0));

            // Ответ
            if (IsAPI)
            {
                return(Json(new TrueOrFalse(true)));
            }

            // Успех
            return(Json(new Text("Настройки успешно сохранены")));
        }
コード例 #2
0
        // Voert de uiteindelijke actie uit voor het herstellen van iemands wachtwoord
        private void buttonResetPassword_Click(object sender, EventArgs e)
        {
            DialogResult resetPasswordbox = MessageBox.Show("Weet je zeker dat je voor deze gebruiker het wachtwoord wilt resetten?", "Wachtwoord resetten", MessageBoxButtons.YesNo);

            if (resetPasswordbox == DialogResult.Yes)
            {
                PasswordGeneration.GeneratePassword();
                bool Transaction = UserDB.ChangeUserPassword(UserToEdit);
                if (Transaction == true)
                {
                    EmailBot EmailBot = new EmailBot(UserToEdit.username, UserToEdit.password, UserToEdit.email, "password");
                    this.Hide();
                }
                else
                {
                    MessageBox.Show("Het wachtwoord resetten is mislukt!");
                }
            }
        }
コード例 #3
0
ファイル: Service.cs プロジェクト: vincenthfrance/ISPCore
 public JsonResult Email(EmailBot email)
 {
     CommonModels.Update(email, jsonDB.ServiceBot.Email, HttpContext, updateType: UpdateType.skip);
     return(new SettingsToServiceController().Save(jsonDB.ServiceBot.Telegram, email, jsonDB.ServiceBot.SMS, IsAPI: true));
 }
コード例 #4
0
        /// <summary>
        /// Поток для прослушивания клиентов
        /// </summary>
        /// <param name="obj">Сокет клиента</param>
        private static void CoorCallback(object obj)
        {
            Socket       client = (Socket)obj;
            MemoryStream ms     = new MemoryStream(new byte[520], 0, 520, true, true);
            BinaryReader reader = new BinaryReader(ms);

            try
            {
                while (true)
                {
                    if (client.Connected)
                    {
                        client.Receive(ms.GetBuffer());
                        ms.Position = 0;

                        int idOperationMySql = reader.ReadInt32();

                        string   login, password, email, nameProject;
                        string[] infoUser = new string[5];

                        switch (idOperationMySql)
                        {
                            #region  абота с базой и сервером (1 - 999)

                        // Disconnect -1.
                        case -1:
                            login = reader.ReadString();
                            OperationServerAtClient.Disconnect(login);
                            break;

                        // Connect 1.
                        case 1:
                            login    = reader.ReadString();
                            password = reader.ReadString();
                            OperationServerAtClient.CheckLoginAndPasswordUser(client, login, password);
                            break;

                        // CheckData 2. Проверка на валидность данных авторизации юзера в базе;
                        case 2:
                            login = reader.ReadString();
                            email = reader.ReadString();
                            OperationServerAtClient.CheckUnique(client, login, email);
                            break;

                        // AddUser 3. Добавляет в базу нового пользователя;
                        case 3:
                            login    = reader.ReadString();
                            password = reader.ReadString();
                            email    = reader.ReadString();
                            OperationServerAtClient.CreateNewUser(login, password, email);
                            break;

                        // InfoUser 4. Узнаем информацию о юзере;
                        case 4:
                            login = reader.ReadString();
                            OperationServerAtClient.CheckFullInfoOfPerson(client, login, reader.ReadBoolean());
                            break;

                        // CheckNewLike 5. Проверяем изменение в количестве лайков у пользователя;
                        case 5:
                            login = reader.ReadString();
                            OperationServerAtClient.CheckNewLike(client, login);
                            break;

                        // AddNewInfoOfPerson 6. Добавлем новую информацию о пользователе;
                        case 6:
                            login = reader.ReadString();
                            for (int i = 0; i < infoUser.Length; i++)
                            {
                                infoUser[i] = reader.ReadString();
                            }
                            OperationServerAtClient.AddNewInfoForPerson(login, infoUser);
                            break;

                        // UpdateInfoAboutPerson 7. Обновляем информацию о пользователе;
                        case 7:
                            login = reader.ReadString();
                            for (int i = 0; i < infoUser.Length; i++)
                            {
                                infoUser[i] = reader.ReadString();
                            }
                            OperationServerAtClient.UpdateInfoAboutPerson(login, infoUser);
                            break;

                        // GetViewApplication 8. Получение списка категорий приложения;
                        case 8:
                            SendMsgClient(client, 256, 7, OperationServerAtClient.GetListViewApplication());
                            break;

                        //GetFullInfoForProject 9. Получение всей информации о выбранном проекте;
                        case 9:
                            login       = reader.ReadString();
                            nameProject = reader.ReadString();

                            OperationServerAtClient.GetFullInfoForProject(client, login, nameProject);
                            break;

                        //UpdateInfoForProject 10. Изменяем информацию о проекте;
                        case 10:
                            OperationServerAtClient.UpdateInfoForProject(client, reader.ReadInt32(), reader.ReadString(), reader.ReadInt32(), reader.ReadString(), reader.ReadString());
                            break;

                            #region  абота с почтой
                        // CheckEmail 101. Проверка почты пользователя;
                        case 101:
                            email = reader.ReadString();
                            OperationServerAtClient.CheckUnique(client, string.Empty, email, 4);
                            break;

                        // SendMailCode 102. Отправка кода восстановления на почту пользователя;
                        case 102:
                            email = reader.ReadString();
                            int code = EmailBot.TextCode();

                            string msg = "Код восстановления : " + code;
                            EmailBot.SendMail(EmailBot.smtp, EmailBot.mail, EmailBot.password, email, EmailBot.themeMsg, msg);
                            SendMsgClient(client, 64, 6, code);
                            break;

                        // UpdatePassword 103. Отправка пароля на почту, и изменение его в базе;
                        case 103:
                            email    = reader.ReadString();
                            password = EmailBot.RandomPassword(8);
                            msg      = "Новый пароль : " + password;

                            EmailBot.SendMail(EmailBot.smtp, EmailBot.mail, EmailBot.password, email, EmailBot.themeMsg, msg);
                            OperationServerAtClient.UpdatePasswordMail(email, password);
                            break;
                            #endregion

                            #endregion

                            #region  абота с файлами которые храняться на сервере (1000 - 1999)

                        // Получение свойств файла от клиента;
                        case 1001:
                            foreach (var clientS in clients)
                            {
                                if (clientS.socket == client)
                                {
                                    uint sizeFile = reader.ReadUInt32();
                                    fileSettList.Add(new FileSett(reader.ReadString(), reader.ReadString(), sizeFile, clientS));
                                    Console.WriteLine("Размер файла : " + sizeFile);

                                    SendMsgClient(client, 16, 1001);
                                    break;
                                }
                            }
                            break;

                        // Получение пакетов;
                        case 1002:
                            foreach (var fileSend in fileSettList)
                            {
                                if (fileSend.user.socket == client)
                                {
                                    int    countRecByte = reader.ReadInt32();
                                    byte[] byteFile     = reader.ReadBytes(countRecByte);

                                    if (fileSend.progressSend == null)
                                    {
                                        fileSend.progress += countRecByte;
                                        OperationServerAtClient.ReceivedFile(fileSend, byteFile, countRecByte);
                                    }
                                    else
                                    {
                                        fileSend.progress += countRecByte;
                                        Console.WriteLine(fileSend.progress + "  " + fileSend.progressSend.Length);
                                        OperationServerAtClient.ReceivedFile(fileSend, byteFile, countRecByte);
                                    }

                                    if (fileSend.progressSend.Length <= fileSend.progress || countRecByte == 0)
                                    {
                                        Console.WriteLine(fileSend.progress + "  " + (fileSend.progressSend.Length));
                                        CreateFile(client);
                                    }

                                    break;
                                }
                            }
                            break;

                        // Создание файла по полученным данным от клиента;
                        case 1003:
                            CreateFile(client);
                            break;

                        // Удаление файла с архива;
                        case 1004:
                            foreach (var clientU in clients)
                            {
                                if (clientU.socket == client)
                                {
                                    string directoryUser = pathProjectFile + "\\" + clientU.name;

                                    string nameFile = reader.ReadString();
                                    WriteConsoleMsg(clientU.name + " удалил файл : " + nameFile);

                                    string fullPathFile = directoryUser + "\\" + nameFile;

                                    OperationServerAtClient.DeleteProjectDatabase(clientU.name, nameFile);
                                    File.Delete(fullPathFile);

                                    break;
                                }
                            }
                            break;

                        // Получение списка проектов у данного пользователя;
                        case 1005:
                            OperationServerAtClient.GetListProject(client, reader.ReadString(), reader.ReadBoolean());
                            break;

                        // Получение массив байт файла который выбрал клиент для скачивания;
                        case 1006:
                            foreach (var user in clients)
                            {
                                if (user.socket == client)
                                {
                                    string nameUser = reader.ReadString();
                                    string nameFile = reader.ReadString();

                                    string pathFile = $"{pathProjectFile}\\{nameUser}\\{nameFile}";

                                    byte[] fileByte = File.ReadAllBytes(pathFile);
                                    OperationServerAtClient.listFileSend.Add(new FileSett(nameFile, fileByte, user));
                                    Console.WriteLine($"{user.name} начиниет получать файл размера : {fileByte.Length}");

                                    SendMsgClient(user.socket, 256, 1003, fileByte.Length, nameFile);

                                    break;
                                }
                            }
                            break;

                        // Отправка файла по пакетам;
                        case 1007:
                            OperationServerAtClient.ContinueSendFile(client);
                            break;
                            #endregion

                            #region  абота с людьми\проектами и т.д (2000 - 3000)

                        // Поиск людей по введеной строке;
                        case 2000:
                            workPeople.SearchPeople(client, reader.ReadString());
                            break;

                        // Получение списока проектов с лучшим рейтингом;
                        case 2001:
                            workPeople.SendTopProject(client);
                            break;

                        // Получение рандомных людей;
                        case 2002:
                            workPeople.RandomPeople(client, reader.ReadString());
                            break;

                        // Подписка\Отписка от данного пользователя;
                        case 2003:
                            string profile = reader.ReadString();
                            string subUser = reader.ReadString();
                            bool   isSub   = reader.ReadBoolean();
                            workPeople.SubscribeUser(profile, subUser, isSub);
                            break;

                        // Проверка на подписку пользователя;
                        case 2004:
                            profile = reader.ReadString();
                            subUser = reader.ReadString();
                            SendMsgClient(client, 128, 2003, workPeople.CheckSubscribe(profile, subUser));
                            break;
                            #endregion
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (client != null)
                {
                    client.Close();

                    foreach (var clientU in clients)
                    {
                        if (clientU.socket.Equals(client))
                        {
                            clients.Remove(clientU);
                            break;
                        }
                    }
                }
                WriteConsoleMsg(ex.Message);
            }
            finally
            {
                Thread.CurrentThread.Abort();
            }
        }
コード例 #5
0
        // Voert de uiteindelijke actie uit voor het toevoegen of bewerken
        private void buttonUserConfirm_Click(object sender, EventArgs e)
        {
            bool existUser = false;

            if (textBoxUserFirstName.Text.Any(char.IsDigit) || textBoxUserInsertion.Text.Any(char.IsDigit) || textBoxUserLastName.Text.Any(char.IsDigit) || textBoxUserName.Text.Equals("") || textBoxUserFirstName.Text.Equals("") || textBoxUserLastName.Text.Equals("") || textBoxUserEmail.Text.Equals("") || textBoxUserEmail.Text.IndexOf('@') == (-1) || textBoxUserEmail.Text.IndexOf('.') == -1 || comboBoxUserType.Text.Equals("") || textBoxUserFirstName.Text.IndexOfAny(letters) > 0 || textBoxUserInsertion.Text.IndexOfAny(letters) > 0 || textBoxUserLastName.Text.IndexOfAny(letters) > 0)
            {
                MessageBox.Show("Vul alle velden correct in aub (met uitsluiting van tussenvoegsel)");
            }
            else
            // Add functionality
            if (Manage.Equals("Toevoegen"))
            {
                Console.WriteLine("buttonUserConfirm_Click is clicked");
                foreach (var item in UserList)
                {
                    if (item.username.Equals(textBoxUserName.Text) || item.email.Equals(textBoxUserEmail.Text))
                    {
                        MessageBox.Show("Gebruikersnaam of E-mail bestaat al");
                        existUser = true;
                    }
                }
                if (existUser == false)
                {
                    User User = new User {
                        username = textBoxUserName.Text, password = PasswordGeneration.GeneratePassword(), firstname = textBoxUserFirstName.Text, insertion = textBoxUserInsertion.Text, lastname = textBoxUserLastName.Text, email = textBoxUserEmail.Text, type = comboBoxUserType.SelectedItem.ToString()
                    };
                    bool Transaction = UserDB.InsertUser(User);
                    if (Transaction == true)
                    {
                        User UserInserted = new User {
                            id = UserDB.PrimaryKey, username = textBoxUserName.Text, password = User.password, firstname = textBoxUserFirstName.Text, insertion = textBoxUserInsertion.Text, lastname = textBoxUserLastName.Text, email = textBoxUserEmail.Text, type = comboBoxUserType.SelectedItem.ToString()
                        };
                        UserList.Add(UserInserted);
                        EmailBot EmailBot = new EmailBot(User.username, User.password, User.email, "account");
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("Het toevoegen is mislukt!");
                    }
                }
            }

            // Edit functionality
            else
            {
                foreach (var item in UserList)
                {
                    if (item.id != UserToEdit.id)
                    {
                        if (item.username.Equals(textBoxUserName.Text) || item.email.Equals(textBoxUserEmail.Text))
                        {
                            MessageBox.Show("Gebruikersnaam of E-mail bestaat al");
                            existUser = true;
                        }
                    }
                }
                if (existUser == false)
                {
                    UserToEdit.username  = textBoxUserName.Text;
                    UserToEdit.firstname = textBoxUserFirstName.Text;
                    UserToEdit.insertion = textBoxUserInsertion.Text;
                    UserToEdit.lastname  = textBoxUserLastName.Text;
                    UserToEdit.email     = textBoxUserEmail.Text;
                    UserToEdit.type      = comboBoxUserType.SelectedItem.ToString();

                    bool Transaction = UserDB.UpdateUser(UserToEdit);
                    if (Transaction == true)
                    {
                        foreach (var item in UserList)
                        {
                            if (UserToEdit.id == item.id)
                            {
                                item.username  = UserToEdit.username;
                                item.firstname = UserToEdit.firstname;
                                item.insertion = UserToEdit.insertion;
                                item.lastname  = UserToEdit.lastname;
                                item.email     = UserToEdit.email;
                                item.type      = UserToEdit.type;
                            }
                        }
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("Het wijzigen is mislukt!");
                    }
                }
            }
        }