private void buttonDemandAdd_Click(object sender, RoutedEventArgs e)
 {
     if (MessageBox.Show("Вы уверены, что хотите взять данное задание?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
     {
         var newLogbook = new Logbook();
         newLogbook.userLogin       = MainTabItem.MainWindow.User.login;
         newLogbook.userType        = nameof(Logbook_userType.executor);
         newLogbook.technicalTaskId = technicalTask.id;
         try
         {
             SitesCreateEntities.GetContext().Logbook.Add(newLogbook);
             SitesCreateEntities.GetContext().SaveChanges();
             MessageBox.Show(
                 "Вы успешно взяли техническое задание!",
                 "Success",
                 MessageBoxButton.OK,
                 MessageBoxImage.Information);
         }
         catch (Exception ex)
         {
             MessageBox.Show(
                 ex.Message,
                 "Error",
                 MessageBoxButton.OK,
                 MessageBoxImage.Error);
         }
         finally
         {
             SitesCreateEntities.GetContext().ClearStateAndReloadAll();
             MainTabItem.ExecuteShowPrevPage();
         }
     }
 }
 private void buttonRefuseTechnicalTask_Click(object sender, RoutedEventArgs e)
 {
     if (MessageBox.Show("Вы точно хотите отказаться от выполнения данного задания?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
     {
         //  technicalTask
         var logBook = technicalTask.Logbook.ToList().Where(v => v.userLogin == MainTabItem.MainWindow.User.login && v.userType == nameof(Logbook_userType.executor)).FirstOrDefault();
         if (logBook == null)
         {
             throw new NullReferenceException();
         }
         SitesCreateEntities.GetContext().Logbook.Remove(logBook);
         try
         {
             SitesCreateEntities.GetContext().SaveChanges();
             MainTabItem.ExecuteShowPrevPage();
         }
         catch (Exception ex)
         {
             MessageBox.Show(
                 ex.Message,
                 "Error",
                 MessageBoxButton.OK,
                 MessageBoxImage.Error);
         }
     }
 }
        private void buttonTechnicalTaskWork_Click(object sender, RoutedEventArgs e)
        {
            var currentLogbook = technicalTask.Logbook.ToList()
                                 .Where(v => v.userLogin == MainTabItem.MainWindow.User.login && v.userType == nameof(Logbook_userType.executor)).FirstOrDefault();

            MainTabItem.AddChildUserControl(new SiteLayoutListContent(MainTabItem, currentLogbook));
        }
        private void ButtonStatusChange_Click(object sender, RoutedEventArgs e)
        {
            if (createFlag)
            {
                return;
            }
            var newStatus = (TechnicalTask_status)((Button)sender).Tag;

            if (
                MessageBox.Show("Вы уверены, что хотите изменить статус для данного ТЗ?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes
                )
            {
                technicalTask.Status = newStatus;
                try
                {
                    SitesCreateEntities.GetContext().SaveChanges();
                    MainTabItem.ExecuteShowPrevPage();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(
                        ex.Message,
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                }
            }
        }
        private void ButtonSave_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("Вы уверены, что хотите сохранить данное ТЗ?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                StringBuilder errors = new StringBuilder();

                if (
                    String.IsNullOrWhiteSpace(name.Text)
                    )
                {
                    errors.AppendLine("Вы не заполнили одно или несколько важных полей!");
                }

                if (errors.Length != 0)
                {
                    MessageBox.Show(
                        errors.ToString(),
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                    return;
                }


                if (createFlag)
                {
                    technicalTask.createDatetime = DateTime.Now;
                    technicalTask.Status         = TechnicalTask_status.processing;
                    SitesCreateEntities.GetContext().TechnicalTask.Add(technicalTask);
                }

                try
                {
                    SitesCreateEntities.GetContext().SaveChanges();
                    if (createFlag)
                    {
                        var newLogBook = new Logbook();
                        newLogBook.technicalTaskId = technicalTask.id;
                        newLogBook.userLogin       = MainTabItem.MainWindow.User.login;
                        newLogBook.userType        = nameof(Logbook_userType.customer);
                        SitesCreateEntities.GetContext().Logbook.Add(newLogBook);
                        SitesCreateEntities.GetContext().SaveChanges();
                    }
                    MessageBox.Show(
                        "Данные успешно обновлены!",
                        "Success",
                        MessageBoxButton.OK,
                        MessageBoxImage.Information);
                    MainTabItem.ExecuteShowPrevPage();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(
                        ex.Message,
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                }
            }
        }
 private void buttonDelete_Click(object sender, RoutedEventArgs e)
 {
     if (MessageBox.Show("Вы уверены, что хотите удалить данный макет?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes && !createFlag)
     {
         SitesCreateEntities.GetContext().SiteLayout.Remove(siteLayout);
         try
         {
             if (File.Exists(siteLayout.fileName))
             {
                 File.Delete(siteLayout.fileName);
             }
             SitesCreateEntities.GetContext().SaveChanges();
             MessageBox.Show(
                 "Макет успешно удален!",
                 "Success",
                 MessageBoxButton.OK,
                 MessageBoxImage.Information);
             MainTabItem.ExecuteShowPrevPage();
         }
         catch (Exception ex)
         {
             MessageBox.Show(
                 ex.Message,
                 "Error",
                 MessageBoxButton.OK,
                 MessageBoxImage.Error);
         }
     }
 }
Beispiel #7
0
 private void ButtonDelete_Click(object sender, RoutedEventArgs e)
 {
     if (MessageBox.Show("Вы уверены, что хотите удалить данного пользователя?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
     {
         try
         {
             SitesCreateEntities.GetContext().User.Remove(user);
             SitesCreateEntities.GetContext().SaveChanges();
             MessageBox.Show(
                 "Пользователь успешно удален!",
                 "Success",
                 MessageBoxButton.OK,
                 MessageBoxImage.Information);
             MainTabItem.ExecuteLogout();
         }
         catch (Exception ex)
         {
             MessageBox.Show(
                 ex.Message,
                 "Error",
                 MessageBoxButton.OK,
                 MessageBoxImage.Error);
         }
     }
 }
Beispiel #8
0
        private void buttonRequestLayout_Click(object sender, RoutedEventArgs e)
        {
            var currentSiteLayout = (SiteLayout)((Button)sender).DataContext;
            var existingRequests  = logbook.LayoutAccess.ToList().Where(v => v.SiteLayout.id == currentSiteLayout.id);

            if (existingRequests.Count() != 0)  // if private => resend request, if was private, but bow public => getting access
            {
                try
                {
                    var existingRequest = existingRequests.First();
                    SitesCreateEntities.GetContext().LayoutAccess.Remove(existingRequest);
                    SitesCreateEntities.GetContext().SaveChanges();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(
                        ex.Message,
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                    return;
                }
            }
            var newLayoutAccess = new LayoutAccess();

            newLayoutAccess.siteLayoutId = currentSiteLayout.id;
            newLayoutAccess.executerId   = logbook.id;
            if (currentSiteLayout.isPublic)
            {
                newLayoutAccess.haveAccess = true;
            }
            else
            {
                newLayoutAccess.haveAccess = false;
            }
            try
            {
                SitesCreateEntities.GetContext().LayoutAccess.Add(newLayoutAccess);
                SitesCreateEntities.GetContext().SaveChanges();
                MessageBox.Show(
                    newLayoutAccess.haveAccess?"Вы успешно получили права к данному макету!": "Вы успешно запросили права к данному макету",
                    "Success",
                    MessageBoxButton.OK,
                    MessageBoxImage.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(
                    ex.Message,
                    "Error",
                    MessageBoxButton.OK,
                    MessageBoxImage.Error);
            }
            finally
            {
                SitesCreateEntities.GetContext().ClearStateAndReloadAll();
                MainTabItem.ExecuteShowPrevPage();
            }
        }
        private void ButtonSave_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("Вы уверены, что хотите сохранить информацию о данном пользователе?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                StringBuilder errors = new StringBuilder();

                if (
                    String.IsNullOrWhiteSpace(surname.Text) ||
                    String.IsNullOrWhiteSpace(name.Text) ||
                    String.IsNullOrWhiteSpace(login.Text)
                    )
                {
                    errors.AppendLine("Вы не заполнили одно или несколько важных полей!");
                }

                if (String.IsNullOrWhiteSpace(user.password))
                {
                    errors.AppendLine("Вы не создали пароль!");
                }

                if (errors.Length != 0)
                {
                    MessageBox.Show(
                        errors.ToString(),
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                    return;
                }


                if (createFlag)
                {
                    SitesCreateEntities.GetContext().User.Add(user);
                }

                try
                {
                    SitesCreateEntities.GetContext().SaveChanges();
                    MessageBox.Show(
                        "Данные успешно сохранены!",
                        "Success",
                        MessageBoxButton.OK,
                        MessageBoxImage.Information);
                    MainTabItem.ExecuteShowPrevPage();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(
                        ex.Message,
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                }
            }
        }
        /// <summary>
        /// Click => open edit demand window
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var item = ItemsControl.ContainerFromElement(sender as ListBox, e.OriginalSource as DependencyObject) as ListBoxItem;

            if (item != null)
            {
                var currentDemand = (Demand)item.DataContext;
                MainTabItem.AddChildUserControl(new EditDemandContent(MainTabItem, technicalTask, currentDemand));
            }
        }
        private void ButtonSave_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("Вы уверены, что хотите сохранить информацию о данном примерном сайте?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                StringBuilder errors = new StringBuilder();

                if (
                    String.IsNullOrWhiteSpace(siteURL.Text)
                    )
                {
                    errors.AppendLine("Вы не заполнили одно или несколько важных полей!");
                }

                if (!Helper.IsValidURL(siteURL.Text))
                {
                    errors.AppendLine("Вы ввели неправильный сайт!");
                }

                if (errors.Length != 0)
                {
                    MessageBox.Show(
                        errors.ToString(),
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                    return;
                }


                if (createFlag)
                {
                    SitesCreateEntities.GetContext().SampleSite.Add(sampleSite);
                }

                try
                {
                    SitesCreateEntities.GetContext().SaveChanges();
                    MessageBox.Show(
                        "Данные успешно сохранены!",
                        "Success",
                        MessageBoxButton.OK,
                        MessageBoxImage.Information);
                    MainTabItem.ExecuteShowPrevPage();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(
                        ex.Message,
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                }
            }
        }
Beispiel #12
0
        // Логин сменить нельзя!

        /* private void buttonLoginChange_Click(object sender, RoutedEventArgs e)
         * {
         *   if (MessageBox.Show("Вы хотите сменить логин?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
         *   {
         *       var dialogEnterLogin = new Dialog("Введите существующий логин");
         *       if (dialogEnterLogin.ShowDialog() == true)
         *       {
         *           if (dialogEnterLogin.Answer != user.login)
         *           {
         *               MessageBox.Show("Вы ввели неверный логин", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         *               return;
         *           }
         *           var dialogEnterNewLogin = new Dialog("Введите новый логин");
         *           if (dialogEnterNewLogin.ShowDialog() == true)
         *           {
         *               var newLogin = dialogEnterNewLogin.Answer;
         *               StringBuilder errors = new StringBuilder();
         *               if (!Helper.IsTextAllowed(newLogin) || newLogin.Length < 6)
         *               {
         *                   errors.AppendLine("Введенный логин не соответствует требованиям! Логин должен состоять из английских букв, знака подчеркивания, тире и цифр, а также длина должна быть не меньше 6 символов!");
         *               }
         *               if (SitesCreateEntities.GetContext().User.ToList().Where(v => v.login == newLogin).Count() != 0)
         *               {
         *                   errors.AppendLine("Пользователь с данным логином уже существует!");
         *               }
         *               if (errors.Length != 0)
         *               {
         *                   MessageBox.Show(errors.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         *                   return;
         *               }
         *               try
         *               {
         *                   user.login = newLogin;
         *                   SitesCreateEntities.GetContext().SaveChanges();
         *                   MessageBox.Show(
         *                       "Логин успешно изменен!",
         *                       "Success",
         *                       MessageBoxButton.OK,
         *                       MessageBoxImage.Information);
         *               }
         *               catch (Exception ex)
         *               {
         *                   MessageBox.Show(
         *                       ex.Message,
         *                       "Error",
         *                       MessageBoxButton.OK,
         *                       MessageBoxImage.Error);
         *               }
         *               finally
         *               {
         *                   SitesCreateEntities.GetContext().ClearStateAndReloadAll();
         *                   MainTabItem.ExecuteShowPrevPage();
         *               }
         *           }
         *       }
         *   }
         * }*/

        private void buttonPasswordChange_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("Вы хотите сменить пароль?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                var dialogEnterPassword = new Dialog("Введите существующий пароль");
                if (dialogEnterPassword.ShowDialog() == true)
                {
                    if (Helper.MD5Hash(dialogEnterPassword.Answer) != user.password)
                    {
                        MessageBox.Show("Вы ввели неверный пароль", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    var dialogEnterNewPassword = new Dialog("Введите новый пароль");
                    if (dialogEnterNewPassword.ShowDialog() == true)
                    {
                        var           newPassword = dialogEnterNewPassword.Answer;
                        StringBuilder errors      = new StringBuilder();
                        if (!Helper.IsTextAllowed(newPassword) || newPassword.Length < 6)
                        {
                            errors.AppendLine("Введенный пароль не соответствует требованиям! Пароль должен состоять из английских букв, знака подчеркивания, тире и цифр, а также длина должна быть не меньше 6 символов!");
                        }
                        if (errors.Length != 0)
                        {
                            MessageBox.Show(errors.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                            return;
                        }
                        try
                        {
                            user.password = Helper.MD5Hash(newPassword);
                            SitesCreateEntities.GetContext().SaveChanges();
                            MessageBox.Show(
                                "Пароль успешно изменен!",
                                "Success",
                                MessageBoxButton.OK,
                                MessageBoxImage.Information);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(
                                ex.Message,
                                "Error",
                                MessageBoxButton.OK,
                                MessageBoxImage.Error);
                        }
                        finally
                        {
                            SitesCreateEntities.GetContext().ClearStateAndReloadAll();
                            MainTabItem.ExecuteShowPrevPage();
                        }
                    }
                }
            }
        }
        private void ButtonSave_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("Вы уверены, что хотите сохранить данное требование?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                StringBuilder errors = new StringBuilder();

                if (
                    String.IsNullOrWhiteSpace(name.Text) ||
                    String.IsNullOrWhiteSpace(text.Text)
                    )
                {
                    errors.AppendLine("Вы не заполнили одно или несколько важных полей!");
                }

                if (errors.Length != 0)
                {
                    MessageBox.Show(
                        errors.ToString(),
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                    return;
                }


                if (createFlag)
                {
                    demand.technicalTaskId = technicalTask.id;
                    SitesCreateEntities.GetContext().Demand.Add(demand);
                }

                try
                {
                    SitesCreateEntities.GetContext().SaveChanges();
                    MessageBox.Show(
                        "Данные успешно обновлены!",
                        "Success",
                        MessageBoxButton.OK,
                        MessageBoxImage.Information);
                    MainTabItem.ExecuteShowPrevPage();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(
                        ex.Message,
                        "Error",
                        MessageBoxButton.OK,
                        MessageBoxImage.Error);
                }
            }
        }
Beispiel #14
0
        private void ButtonSave_Click(object sender, RoutedEventArgs e)
        {
            StringBuilder errors = new StringBuilder();

            if (
                String.IsNullOrWhiteSpace(surname.Text) ||
                String.IsNullOrWhiteSpace(name.Text)
                )
            {
                errors.AppendLine("Вы не заполнили одно или несколько важных полей!");
            }
            if (!String.IsNullOrWhiteSpace(email.Text) && !Helper.IsEmailValid(email.Text))
            {
                errors.AppendLine("Email не правильный!");
            }

            if (errors.Length != 0)
            {
                MessageBox.Show(errors.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            try
            {
                SitesCreateEntities.GetContext().SaveChanges();
                MessageBox.Show(
                    "Данные успешно изменены!",
                    "Success",
                    MessageBoxButton.OK,
                    MessageBoxImage.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(
                    ex.Message,
                    "Error",
                    MessageBoxButton.OK,
                    MessageBoxImage.Error);
            }
            finally
            {
                SitesCreateEntities.GetContext().ClearStateAndReloadAll();
                MainTabItem.ExecuteShowPrevPage();
                MainTabItem.MainWindow.ReloadUser();
            }
        }
        private void buttonDemandAction_Click(object sender, RoutedEventArgs e)
        {
            //  var currentDemand = (Demand)((Button)sender).DataContext;
            var currentTechnicalTask = (TechnicalTask)((Button)sender).DataContext;

            switch (currentTechnicalTask.Status)
            {
            case TechnicalTask_status.completed:
            case TechnicalTask_status.canceled:
                MainTabItem.AddChildUserControl(new TechnicalTaskContent(MainTabItem, currentTechnicalTask));
                break;

            case TechnicalTask_status.processing:
                MainTabItem.AddChildUserControl(new EditTechnicalTaskContent(MainTabItem, currentTechnicalTask));
                break;
            }
        }
 private void ButtonDelete_Click(object sender, RoutedEventArgs e)
 {
     if (MessageBox.Show("Вы уверены, что хотите удалить данное ТЗ?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes && !createFlag)
     {
         SitesCreateEntities.GetContext().TechnicalTask.Remove(technicalTask);
         try
         {
             SitesCreateEntities.GetContext().SaveChanges();
             MainTabItem.ExecuteShowPrevPage();
         }
         catch (Exception ex)
         {
             MessageBox.Show(
                 ex.Message,
                 "Error",
                 MessageBoxButton.OK,
                 MessageBoxImage.Error);
         }
     }
 }
        private void demandList_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var currentTechnicalTask = (TechnicalTask)((ListBox)sender).DataContext;
            var item = ItemsControl.ContainerFromElement(sender as ListBox, e.OriginalSource as DependencyObject) as ListBoxItem;

            if (item != null)
            {
                var currentDemand = (Demand)item.DataContext;
                switch (currentTechnicalTask.Status)
                {
                case TechnicalTask_status.completed:
                case TechnicalTask_status.canceled:
                    MainTabItem.AddChildUserControl(new DemandContent(MainTabItem, currentDemand));
                    break;

                case TechnicalTask_status.processing:
                    MainTabItem.AddChildUserControl(new EditDemandContent(MainTabItem, currentTechnicalTask, currentDemand));
                    break;
                }
            }
        }
Beispiel #18
0
        private void ShowTab <T>(string title, bool singleTab) where T : IComponentConnector
        {
            if (singleTab)
            {
                foreach (var tabItem in mainTab.Items)
                {
                    if (!(tabItem is MainTabItem <T> item))
                    {
                        continue;
                    }

                    item.Focus();
                    return;
                }
            }

            var newTabItem = new MainTabItem <T> {
                Title = title
            };

            mainTab.Items.Add(newTabItem);
            newTabItem.Focus();
        }
 private void ButtonAddDemand_Click(object sender, RoutedEventArgs e)
 {
     MainTabItem.AddChildUserControl(new EditDemandContent(MainTabItem, technicalTask));
 }
Beispiel #20
0
 private void buttonSampleSites_Click(object sender, RoutedEventArgs e)
 {
     MainTabItem.AddChildUserControl(new SampleSiteListContent(MainTabItem));
 }
Beispiel #21
0
        private void buttonUserEdit_Click(object sender, RoutedEventArgs e)
        {
            var currentUser = (User)((Button)sender).DataContext;

            MainTabItem.AddChildUserControl(new EditUserContent(MainTabItem, currentUser));
        }
        private void buttonDemandAction_Click(object sender, RoutedEventArgs e)
        {
            var currentTechnicalTask = (TechnicalTask)((Button)sender).DataContext;

            MainTabItem.AddChildUserControl(new ShowTechnicalTaskContent(MainTabItem, currentTechnicalTask, true));
        }
 private void showAvaibleTechnicalTask_Click(object sender, RoutedEventArgs e)
 {
     MainTabItem.AddChildUserControl(new AvaibleTechnicalTaskListContent(MainTabItem));
 }
 /// <summary>
 /// Go to create page
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void createNewTaskButton_Click(object sender, RoutedEventArgs e)
 {
     MainTabItem.AddChildUserControl(new EditTechnicalTaskContent(MainTabItem));
 }
Beispiel #25
0
 private void buttonCreate_Click(object sender, RoutedEventArgs e)
 {
     MainTabItem.AddChildUserControl(new EditUserContent(MainTabItem));
 }
Beispiel #26
0
 private void buttonUser_Click(object sender, RoutedEventArgs e)
 {
     MainTabItem.AddChildUserControl(new UserListContent(MainTabItem));
 }