コード例 #1
0
 /// <summary>
 /// Добавление в базу данных данные о новом пользователе
 /// </summary>
 public static void CreateNewPerson()
 {
     thisWindow.Dispatcher.Invoke(new ThreadStart(() =>
     {
         OperationServer.SendMsgClient(512, 3, username.Text, passwords[0].Password, email.Text);
     }));
 }
コード例 #2
0
        /// <summary>
        /// Определяет состояние подписки
        /// </summary>
        /// <param name="sender">Button</param>
        /// <param name="e">Click</param>
        private void SubOrUnsub(object sender, RoutedEventArgs e)
        {
            Button but = (sender as Button);

            if (but.Content.Equals("Подписаться"))
            {
                OperationServer.SendMsgClient(256, 2003, Profile.profileUser.login, Person.thisUser.login, true);

                IsSubscribe(but, false);
            }
            else
            {
                OperationServer.SendMsgClient(256, 2003, Profile.profileUser.login, Person.thisUser.login, false);

                IsSubscribe(but, true);
            }

            DispatcherTimer timer = new DispatcherTimer {
                Interval = TimeSpan.FromSeconds(10)
            };

            but.IsEnabled = false;
            timer.Tick   += (s, es) =>
            {
                but.IsEnabled = true;
                timer.Stop();
            };
            timer.Start();
        }
コード例 #3
0
 /// <summary>
 /// Выход в окно входа
 /// </summary>
 /// <param name="sender">Button</param>
 /// <param name="e">Click</param>
 private void LogoutUser(object sender, RoutedEventArgs e)
 {
     OperationServer.SendMsgClient(128, -1, Person.thisUser.login);
     Person.thisUser.email = null;
     (new Authorization()).Show();
     Close();
 }
コード例 #4
0
        /// <summary>
        /// Загрузка окна
        /// </summary>
        /// <param name="sender">Окно</param>
        /// <param name="e">Загрузка</param>
        private void Start(object sender, RoutedEventArgs e)
        {
            signUpGrid.Margin     = new Thickness(signUpGrid.ActualWidth, 0, 0, 0);
            signUpGrid.Visibility = Visibility.Visible;

            passwords = new PasswordBox[2] {
                signUpPass1TB, signUpPass2TB
            };
            username = signUpUserTB;
            email    = signUpMailTB;

            Application.Current.Exit += (s, es) =>
            {
                if (OperationServer.thread != null)
                {
                    OperationServer.thread.Abort();
                }

                if (OperationServer.serverSocket != null)
                {
                    if (Person.thisUser.login != null)
                    {
                        OperationServer.SendMsgClient(4, -1, Person.thisUser.login);
                    }

                    OperationServer.serverSocket.Close();
                }
            };
        }
コード例 #5
0
        /// <summary>
        /// Установка контента
        /// </summary>
        /// <param name="profile">Окно</param>
        /// <param name="person">Профиль пользователя</param>
        public static void SetPanels(Profile profile, Person person)
        {
            profile.Dispatcher.Invoke(new ThreadStart(async() =>
            {
                OperationServer.SendMsgClient(256, 2004, person.login, Person.thisUser.login);

                try
                {
                    profile.imageRec.Fill = new ImageBrush(new BitmapImage(new Uri(person.image, UriKind.Absolute)));
                }
                catch { profile.imageRec.Fill = new ImageBrush(new BitmapImage(new Uri("https://api.icons8.com/download/bc2e75add07ff32fbbe55b371c9f3a03ee46846a/windows8/PNG/512/Users/user_male-512.png", UriKind.Absolute))); }

                profile.loginUser.Content     = person.login;
                profile.fioUser.Text          = person.lastname + " " + person.name;
                profile.emailUser.Text        = person.email;
                profile.levelUser.Content     = $"Ур : {person.level}";
                profile.noteUser.Text         = person.note;
                profile.countProject.Content  = $"Количество проектов : {person.countProject}";
                profile.countLikeUser.Content = person.likes;
                profile.countSub.Content      = $"Количество подписчиков : {person.countSub}";

                await PersonalArea.SetStatisticPublicUser(profile.statisticPublic, person);
                SetProjectList(profile, person.listProject);
            }));
        }
コード例 #6
0
 /// <summary>
 /// Повторная отправка сообщения с кодом на почту пользователя
 /// </summary>
 /// <param name="sender">Button</param>
 /// <param name="e">Click</param>
 private void SendMessageMail(object sender, RoutedEventArgs e)
 {
     OperationServer.SendMsgClient(128, 102, mailU);
     codeText.Text = codeText.Text.Remove(codeText.Text.Length - 5, 5);
     SetTimer();
     (sender as Button).IsEnabled = false;
 }
コード例 #7
0
        /// <summary>
        /// Отправка данных на сервер
        /// </summary>
        /// <param name="idProject">id проекта</param>
        /// <param name="nameProject">Имя проекта</param>
        private void SendInfo(int idProject, string nameProject)
        {
            int    viewApp   = comboBoxTypeProj.SelectedIndex;
            string hrefImage = hrefImageTb.Text;
            string note      = new TextRange(noteTextBox.Document.ContentStart, noteTextBox.Document.ContentEnd).Text;

            OperationServer.SendMsgClient(520, 10, idProject, nameProject, viewApp + 1, note, hrefImage);
            SetHiddenSettingsPanel();
        }
コード例 #8
0
 /// <summary>
 /// Регистрация нового пользователя
 /// </summary>
 /// <param name="sender">Button</param>
 /// <param name="e">Click</param>
 private void SignUp(object sender, RoutedEventArgs e)
 {
     OperationServer.Connected();
     if (CheckValidVisitorAsync())
     {
         //Если данные валидны, то сервер отошлет данные на клиент и регистрация будет успешно завершена;
         OperationServer.SendMsgClient(512, 2, username.Text, email.Text);
     }
 }
コード例 #9
0
 /// <summary>
 /// Отображение панели с настройками проекта
 /// </summary>
 /// <param name="sender">Button</param>
 /// <param name="e">Click</param>
 private void ShowSettingsPanel(object sender, RoutedEventArgs e)
 {
     if (comboBoxTypeProj.Items.Count <= 0)
     {
         OperationServer.SendMsgClient(32, 8); // Получение списка категорий проекта;
     }
     else
     {
         OperationServer.SendMsgClient(256, 9, Person.thisUser.login, (listViewProjects.SelectedValue as Project.MyItemProject).nameProject);
     }
 }
コード例 #10
0
 /// <summary>
 /// Переход в личный кабинет
 /// </summary>
 public static void GoToPersonalArea()
 {
     thisWindow.Dispatcher.Invoke(new ThreadStart(() =>
     {
         Person.thisUser.login       = thisWindow.userNameTB.Text;
         Person.thisUser.listProject = new System.Collections.Generic.List <Project>();
         OperationServer.SendMsgClient(128, 1005, Person.thisUser.login, true);
         (new PersonalArea()).Show();
         thisWindow.Close();
     }));
 }
コード例 #11
0
        }                                                                      // Список людей который возможно будут интересны;

        #region События на ui элементах
        /// <summary>
        /// Загрузка окна
        /// </summary>
        /// <param name="sender">Window</param>
        /// <param name="e">Loaded</param>
        private void Start(object sender, RoutedEventArgs e)
        {
            // Получение списока проектов с лучшим рейтингом
            OperationServer.SendMsgClient(32, 2001);



            levelUser.Content = $"Level : {Person.thisUser.level}";
            nameUserLB.Text   = Person.thisUser.login;
            try { imageUser.Fill = new ImageBrush(new BitmapImage(new Uri(Person.thisUser.image, UriKind.Absolute))); }
            catch { }
        }
コード例 #12
0
        /// <summary>
        /// Загрузка окна
        /// </summary>
        /// <param name="sender">Window</param>
        /// <param name="e">Loaded</param>
        private void Start(object sender, RoutedEventArgs e)
        {
            thisWindow = this;

            try { imageThisUser.Fill = new ImageBrush(new BitmapImage(new Uri(Person.thisUser.image, UriKind.Absolute))); }
            catch { imageThisUser.Fill = new ImageBrush(new BitmapImage(new Uri("https://api.icons8.com/download/bc2e75add07ff32fbbe55b371c9f3a03ee46846a/windows8/PNG/512/Users/user_male-512.png", UriKind.Absolute))); }

            profileUser.listProject = new List <Project>();
            // Получение списков проектов;
            OperationServer.SendMsgClient(128, 1005, profileUser.login, false);
            // Получение информации о пользователеl
            OperationServer.SendMsgClient(128, 4, profileUser.login, false);
        }
コード例 #13
0
        /// <summary>
        /// Загрузка окна
        /// </summary>
        /// <param name="sender">Окно</param>
        /// <param name="e">Загрузка</param>
        private void Start(object sender, RoutedEventArgs e)
        {
            if (Person.thisUser.email == null)
            {
                OperationServer.SendMsgClient(64, 4, Person.thisUser.login, true);
            }
            else
            {
                SetPersonalInfo();
            }

            loginUser.Content = Person.thisUser.login;
        }
コード例 #14
0
 /// <summary>
 /// Подтверждение ввода восстановительного кода
 /// </summary>
 /// <param name="sender">Button</param>
 /// <param name="e">Click</param>
 private void СonfirmRecovery(object sender, RoutedEventArgs e)
 {
     if (code.Text.Equals(codeU.ToString()))
     {
         MessageBox.Show("Пароль отправлен вам на почту");
         OperationServer.SendMsgClient(128, 103, mailU);
         Close();
     }
     else
     {
         MessageBox.Show("Неверно введен код!");
     }
 }
コード例 #15
0
        ///// <summary>
        ///// Обновляет таблицу с проектами
        ///// </summary>
        ///// <param name="myItems">Данные которые будут отображатся в ListView</param>
        //private static void RefreshListView(List<MyItemProject> myItems)
        //{
        //    listStatic.ItemsSource = myItems;
        //    listStatic.Items.Refresh();
        //}

        /// <summary>
        /// Загрузка выбранного файла
        /// </summary>
        /// <param name="sender">Button</param>
        /// <param name="e">Click</param>
        private void DownloadFile(object sender, RoutedEventArgs e)
        {
            listViewProjects.SelectedIndex = Int32.Parse((sender as Button).Tag.ToString()) - 1;

            foreach (var selectValue in myItems)
            {
                if (selectValue.Equals((MyItemProject)listViewProjects.SelectedValue))
                {
                    OperationServer.SendMsgClient(256, 1006, Person.thisUser.login, selectValue.nameProject);
                    break;
                }
            }

            IsEnabledForm(false);
        }
コード例 #16
0
        /// <summary>
        /// Удаляет выбранный проект в listView
        /// </summary>
        /// <param name="sender">Button</param>
        /// <param name="e">Click</param>
        private void DeleteProject(object sender, RoutedEventArgs e)
        {
            if ((sender as Button).Tag != null)
            {
                listViewProjects.SelectedIndex = Int32.Parse((sender as Button).Tag.ToString()) - 1;
            }

            foreach (var selectValue in myItems)
            {
                if (selectValue.Equals((MyItemProject)listViewProjects.SelectedValue))
                {
                    OperationServer.SendMsgClient(128, 1004, selectValue.nameProject);
                    break;
                }
            }

            int elementDelete = -1; // Элемент в массиве который будет удалён;

            int temp = -1;

            foreach (var item in Person.thisUser.listProject)
            {
                if (elementDelete != -1)
                {
                    item.projectSettings.idProject--;
                }
                else
                {
                    temp++;
                }

                if (item.projectSettings.Equals((MyItemProject)listViewProjects.SelectedValue))
                {
                    //   Person.listProject.Remove(item);

                    elementDelete = temp;
                }
            }
            Person.thisUser.countProject--;
            Person.thisUser.listProject.RemoveAt(elementDelete);
            myItems?.Remove((MyItemProject)listViewProjects.SelectedValue);

            //  RefreshListView(myItems);

            MessageBox.Show("Проект успешно удален!");
        }
コード例 #17
0
        /// <summary>
        /// Выбор проекта в списке
        /// </summary>
        /// <param name="sender">ListBox</param>
        /// <param name="e">SelectionChanged</param>
        private void SelectProject(object sender, SelectionChangedEventArgs e)
        {
            if (listViewProjects.SelectedValue != null)
            {
                settingButProject.IsEnabled = true;
                deleteButProject.IsEnabled  = true;

                if (settingsPanel.Visibility == Visibility.Visible)
                {
                    nameProjTB.IsEnabled = false;
                    //Установка данных на настройки проекта
                    OperationServer.SendMsgClient(256, 9, Person.thisUser.login, (listViewProjects.SelectedValue as Project.MyItemProject).nameProject);
                }
            }
            else
            {
                settingButProject.IsEnabled = false;
                deleteButProject.IsEnabled  = false;
            }
        }
コード例 #18
0
        /// <summary>
        /// Отправка на сервер информацию о пользователе
        /// </summary>
        /// <param name="sender">Button</param>
        /// <param name="e">Click</param>
        private void ConfirmInfoUser(object sender, RoutedEventArgs e)
        {
            if (changeInfoUser)
            {
                if (StyleUIE.regex.IsMatch(emailUser.Text))
                {
                    if (nameUser.Text.Replace(" ", "").Length > 0)
                    {
                        if (lastnameUser.Text.Replace(" ", "").Length > 0)
                        {
                            /// Если пользователь впевые вводит данные

                            string note = new TextRange(noteUser.Document.ContentStart, noteUser.Document.ContentEnd).Text;
                            if (Person.thisUser.name == null)
                            {
                                OperationServer.SendMsgClient(1024, 6, Person.thisUser.login, nameUser.Text, lastnameUser.Text, CheckRefImage(refImage.Text), emailUser.Text, note);
                            }
                            else
                            {
                                OperationServer.SendMsgClient(1024, 7, Person.thisUser.login, nameUser.Text, lastnameUser.Text, CheckRefImage(refImage.Text), emailUser.Text, note);
                            }

                            IsEnabledObject(false);
                            SetInfoAboutPerson();
                        }
                        else
                        {
                            MessageBox.Show("Введите фамилию!");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Введите имя!");
                    }
                }
                else
                {
                    MessageBox.Show("Неверный формат введенной почты!");
                }
            }
        }
コード例 #19
0
        /// <summary>
        /// Переход на следующие окно
        /// </summary>
        /// <param name="sender">Button</param>
        /// <param name="e">Click</param>
        private void MoveWindow(object sender, RoutedEventArgs e)
        {
            Button but = (sender as Button);

            if (but.Name.Equals("persArea"))
            {
                (new PersonalArea()).Show();
            }
            else if (but.Name.Equals("persProj"))
            {
                (new YourProject()).Show();
            }
            else
            {
                OperationServer.SendMsgClient(128, -1, Person.thisUser.login);
                Person.thisUser.email = null;
                (new Authorization()).Show();
            }

            Close();
        }
コード例 #20
0
        /// <summary>
        /// Поиск людей
        /// </summary>
        /// <param name="sender">Button</param>
        /// <param name="e">Click</param>
        private void SearchPeople(object sender, RoutedEventArgs e)
        {
            if (searchTB.Text.Trim().Length > 0)
            {
                searchListBox.ItemsSource = null;
                searchNull.Visibility     = Visibility.Hidden;

                listSearchPeople             = new List <Person>();
                (sender as Button).IsEnabled = false;
                DispatcherTimer timer = new DispatcherTimer {
                    Interval = TimeSpan.FromSeconds(10)
                };
                timer.Tick += (s, es) =>
                {
                    (sender as Button).IsEnabled = true;
                    timer.Stop();
                };
                timer.Start();

                OperationServer.SendMsgClient(512, 2000, searchTB.Text);
            }
        }
コード例 #21
0
        /// <summary>
        /// Отображение панели с кодом потверждения
        /// </summary>
        /// <param name="isVisibility">Состояние отображения</param>
        public void ShowPanelCode(bool isVisibility)
        {
            thisWindow.Dispatcher.BeginInvoke(new ThreadStart(() => {
                if (isVisibility)
                {
                    panelCode.Visibility = Visibility.Visible;
                    butOk.Visibility     = Visibility.Hidden;
                    errorLb.Visibility   = Visibility.Hidden;
                    textMsg.Text         = textMsg.Text.Replace("###", emailTB.Text.Trim());
                    SetTimer();
                    this.BeginAnimation(HeightProperty, StyleUIE.DoubleAnimation(this.ActualHeight, TimeSpan.FromMilliseconds(450), 450));
                    OperationServer.SendMsgClient(128, 102, mailU);
                }
                else
                {
                    double opacity        = 0;
                    DispatcherTimer timer = new DispatcherTimer {
                        Interval = TimeSpan.FromMilliseconds(30)
                    };
                    errorLb.Visibility = Visibility.Visible;
                    butOk.IsEnabled    = false;
                    timer.Tick        += (s, e) =>
                    {
                        errorLb.Opacity = opacity += 0.05;

                        if (opacity >= 1)
                        {
                            butOk.IsEnabled = true;
                            timer.Stop();
                        }
                    };

                    timer.Start();
                }
            }));
        }
コード例 #22
0
 /// <summary>
 /// Нажатие на OK
 /// </summary>
 /// <param name="sender">Button</param>
 /// <param name="e">Click</param>
 private void OkBut(object sender, RoutedEventArgs e)
 {
     mailU = emailTB.Text;
     OperationServer.SendMsgClient(128, 101, mailU);
 }
コード例 #23
0
 /// <summary>
 /// Открытие окна с восстановлением пароля
 /// </summary>
 /// <param name="sender">Button</param>
 /// <param name="e">Click</param>
 private void RecoveryPassword(object sender, RoutedEventArgs e)
 {
     OperationServer.Connected();
     (new SendMailPass()).ShowDialog();
 }
コード例 #24
0
 /// <summary>
 /// Вход в личный кабинет
 /// </summary>
 /// <param name="sender">Button</param>
 /// <param name="e">Click</param>
 private void SignIn(object sender, RoutedEventArgs e)
 {
     (sender as Button).IsEnabled = false;
     OperationServer.Connected();
     OperationServer.SendMsgClient(256, 1, userNameTB.Text, passwordPB.Password);
 }