コード例 #1
0
        /// <summary>
        /// метод при открытие окна
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void Window_Activated(object sender, EventArgs e)
        {
            if (flag)
            {
                Label label = new Label();

                DatabaseActions databaseActions = new DatabaseActions();

                label.VerticalAlignment = VerticalAlignment.Top;
                label.HorizontalAlignment = HorizontalAlignment.Center;
                label.FontSize = 15;
                label.Margin = new Thickness(0, 25, 0, 0);
                label.Content = $"Project: { project.Name}";
                grid.Children.Add(label);
                BackButton.Background = new ImageBrush(new BitmapImage(new Uri(path)));

                listSelected = await databaseActions.ShowRisks(project);

                if (listSelected == null)
                    listSelected = new List<Risk>();

                AddToSelected();
                DrawGraphic();
                SearchForDangerousRisks();
                await SetUsers();

                flag = false;
            }
        }
コード例 #2
0
        /// <summary>
        /// метод выполянется, когда открывается окно
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void Window_Activated(object sender, EventArgs e)
        {
            try
            {
                if (flag)
                {
                    Label label = new Label();

                    label.VerticalAlignment   = VerticalAlignment.Top;
                    label.HorizontalAlignment = HorizontalAlignment.Center;
                    label.FontSize            = 17;
                    label.Margin  = new Thickness(0, 25, 0, 0);
                    label.Content = $"Project: { _project.Name}";
                    grid.Children.Add(label);

                    BackButton.Background = new ImageBrush(new BitmapImage(new Uri(path)));

                    DatabaseActions databaseActions = new DatabaseActions();

                    listSelected = await databaseActions.ShowRisks(_project);

                    if (listSelected == null)
                    {
                        listSelected = new List <Risk>();
                    }

                    RiskActions riskActions = new RiskActions();

                    listRisks = await riskActions.ShowRisks();

                    SeletionCombobox.Items.Add("Общие риски");
                    SeletionCombobox.Text = "Common Risks";
                    SeletionCombobox.Items.Add(_project.Type);
                    listSource = await riskActions.ShowSources();

                    AddToSelected();

                    for (int i = 0; i < listSource.Count; i++)
                    {
                        SeletionCombobox.Items.Add(listSource[i]);
                    }

                    Drawing();
                    SearchForDangerousRisks();

                    await SetUsers();

                    flag = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + ex.TargetSite);
            }
        }
コード例 #3
0
        /// <summary>
        /// метод, который срабатывает при нажатии кнопки и
        /// устанавливает характерстики для риска и добавляет в бд
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void SetUpRisk_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (Double.Parse(ParseLine(InfluenceTextbox.Text)) == default || Double.Parse(ParseLine(ProbabilityTextbox.Text)) == default)
                {
                    throw new ArgumentException("Values of Probability and Influence fields must stay (0,1)");
                }

                if (Owner.SelectedItem == null)
                {
                    throw new NullReferenceException("You need to choose the user you want to assign risk to!");
                }

                ((Risk)listRisksSelected.SelectedItem).Influence   = double.Parse(ParseLine(InfluenceTextbox.Text));
                ((Risk)listRisksSelected.SelectedItem).Probability = double.Parse(ParseLine(ProbabilityTextbox.Text));

                DatabaseActions databaseActions = new DatabaseActions();

                await databaseActions.ChangeRisk((Risk)listRisksSelected.SelectedItem, (User)Owner.SelectedItem);

                listRisksSelected.Items.Clear();
                listSelected = await databaseActions.ShowRisks(_project);

                for (int i = 0; i < listSelected.Count; i++)
                {
                    if (listSelected[i].Status == 1)
                    {
                        listRisksSelected.Items.Add(listSelected[i]);
                    }
                }

                Drawing();
            }
            catch (NullReferenceException ex)
            {
                MessageBox.Show(ex.Message, "Exception");
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show(ex.Message, "Exception");
            }
            catch (Exception)
            {
                MessageBox.Show("Something went wrong!");
            }
        }
コード例 #4
0
        private async void SetUpNewButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (listNewRisks.SelectedItems != null &&
                    Double.Parse(ParseLine(NewInfluenceTextbox.Text)) != default &&
                    Double.Parse(ParseLine(NewProbabilityTextbox.Text)) != default &&
                    OwnerNewCombobox.SelectedItem != null)
                {
                    ((Risk)listNewRisks.SelectedItem).Influence   = double.Parse(ParseLine(NewInfluenceTextbox.Text));
                    ((Risk)listNewRisks.SelectedItem).Probability = double.Parse(ParseLine(NewProbabilityTextbox.Text));
                    ((Risk)listNewRisks.SelectedItem).Status      = 1;
                    SearchForCurrentRisk(((Risk)listNewRisks.SelectedItem));

                    DatabaseActions databaseActions = new DatabaseActions();

                    await databaseActions.ChangeRisk((Risk)listNewRisks.SelectedItem, (User)OwnerNewCombobox.SelectedItem);

                    listNewRisks.Items.Clear();
                    listSelected.Items.Clear();
                    listRisksSelected = await databaseActions.ShowRisks(_project);

                    for (int i = 0; i < listRisksSelected.Count; i++)
                    {
                        if (listRisksSelected[i].Status == 0)
                        {
                            listNewRisks.Items.Add(listRisksSelected[i]);
                        }

                        if (listRisksSelected[i].Status == 1)
                        {
                            listSelected.Items.Add(listRisksSelected[i]);
                        }
                    }

                    DrawHyperbola();
                }
                else
                {
                    MessageBox.Show("Something went wrong!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
コード例 #5
0
        /// <summary>
        /// метод запускается при открытии окна
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void Window_Activated(object sender, EventArgs e)
        {
            if (flag)
            {
                Label label = new Label();
                label.VerticalAlignment   = VerticalAlignment.Top;
                label.HorizontalAlignment = HorizontalAlignment.Center;
                label.FontSize            = 15;
                label.Margin  = new Thickness(0, 25, 0, 0);
                label.Content = $"Project:  { _project.Name}";

                grid.Children.Add(label);
                BackButton.Background = new ImageBrush(new BitmapImage(new Uri(path)));

                DatabaseActions databaseActions = new DatabaseActions();

                listRisksSelected = await databaseActions.ShowRisks(_project);

                if (listRisksSelected == null)
                {
                    listRisksSelected = new List <Risk>();
                }

                RiskActions riskActions = new RiskActions();

                listAllRisks = await riskActions.ShowRisks();

                ComboBoxTypes.Items.Add("Общие риски");
                ComboBoxTypes.Text = "Common Risks";
                ComboBoxTypes.Items.Add(_project.Type);
                listSource = await riskActions.ShowSources();

                AddInSelected();

                for (int i = 0; i < listSource.Count; i++)
                {
                    ComboBoxTypes.Items.Add(listSource[i]);
                }

                DrawHyperbola();
                FindDangerousRisks();
                await SetOwners();

                flag = false;
            }
        }
コード例 #6
0
        /// <summary>
        /// метод для установления вероятности и влияния риска при нажатии на кнопку
        /// и внесении данных в бд
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void SetUpButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (Double.Parse(ParseLine(InfluenceTextbox.Text)) == default || Double.Parse(ParseLine(ProbabilityTextbox.Text)) == default)
                {
                    throw new ArgumentException("The values of probability and influence must lay in the interval (0,1)!");
                }

                if (OwnerCombobox.SelectedItem == null)
                {
                    throw new NullReferenceException("You have to choose the user you want to assign the risk to!");
                }

                ((Risk)listSelected.SelectedItem).Influence   = double.Parse(ParseLine(InfluenceTextbox.Text));
                ((Risk)listSelected.SelectedItem).Probability = double.Parse(ParseLine(ProbabilityTextbox.Text));

                DatabaseActions databaseActions = new DatabaseActions();
                await databaseActions.ChangeRisk((Risk)listSelected.SelectedItem, (User)OwnerCombobox.SelectedItem);

                listSelected.Items.Clear();
                listRisksSelected = await databaseActions.ShowRisks(_project);

                for (int i = 0; i < listRisksSelected.Count; i++)
                {
                    if (listRisksSelected[i].Status == 1)
                    {
                        listSelected.Items.Add(listRisksSelected[i]);
                    }
                }

                DrawHyperbola();
            }
            catch (NullReferenceException ex)
            {
                MessageBox.Show(ex.Message, "Exception");
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show(ex.Message, "Exception");
            }
            catch (Exception)
            {
                MessageBox.Show("Something's not right!");
            }
        }
コード例 #7
0
        private async void SetUpNewButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (listNewRisks.SelectedItems != null &&
                    Double.Parse(ParseLine(TextboxInfluenceNew.Text)) != default &&
                    Double.Parse(ParseLine(TextboxProbabilityNew.Text)) != default 
                    )
                {
                    ((Risk)listNewRisks.SelectedItem).Influence = double.Parse(ParseLine(InfluenceTextbox.Text));
                    ((Risk)listNewRisks.SelectedItem).Probability = double.Parse(ParseLine(ProbabilityTextbox.Text));
                    ((Risk)listNewRisks.SelectedItem).Status = 1;

                    SearchForCurrentRisk(((Risk)listNewRisks.SelectedItem));

                    DatabaseActions databaseActions = new DatabaseActions();

                    await databaseActions.ChangeRisk((Risk)listNewRisks.SelectedItem, (User)UserNewCombobox.SelectedItem);

                    listNewRisks.Items.Clear();
                    listSelected = await databaseActions.ShowRisks(project);

                    for (int i = 0; i < listSelected.Count; i++)
                    {
                        if (listSelected[i].Status == 0)
                            listNewRisks.Items.Add(listSelected[i]);

                        if (listSelected[i].Status == 1)
                            listRisksSelected.Items.Add(listSelected[i]);
                    }

                    DrawGraphic();
                }
                else
                {
                    MessageBox.Show("Wrong in enpty1");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("It's possible that user has not been set!");

            }
        }
コード例 #8
0
        /// <summary>
        /// метод выполняеся при открытии окна отчёта
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void Window_Activated(object sender, EventArgs e)
        {
            if (flag)
            {
                Widht  = canvas.ActualWidth;
                Height = canvas.ActualHeight;

                DatabaseActions databaseActions = new DatabaseActions();
                listSelected = await databaseActions.ShowRisks(_project);

                if (listSelected == null)
                {
                    listSelected = new List <Risk>();
                }

                DrawLine();

                Tree tree = new Tree();

                listVertex = await tree.ShowListVertexes();

                firstVertex = await tree.ShowVertex(_risk.ID);

                Label label = new Label();

                label.HorizontalAlignment = HorizontalAlignment.Left;
                label.VerticalAlignment   = VerticalAlignment.Top;
                label.Margin   = new Thickness(Widht / 2 - 100, 0, 0, 0);
                label.FontSize = 17;
                label.Content  = $"Report for {_project.Name}";

                canvas.Children.Add(label);

                DrawVertex();
                CurrentBranchCost(firstVertex, 0);
                DrawDangerousMaximum();
                WriteDangerousItems();

                flag = false;

                //wordApplication.Visible = true;
                CreateDocument();
            }
        }
コード例 #9
0
        /// <summary>
        /// метод для кнопки Set up, который устанавливает новые значения характеристик для выбранного риска
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void SetUpRiskButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (listRisksSelected.SelectedItems == null) 
                    throw new NullReferenceException("You need to choose a risk you want to update!");

                if (Double.Parse(ParseLine(InfluenceTextbox.Text)) == default || Double.Parse(ParseLine(ProbabilityTextbox.Text)) == default)
                    throw new ArgumentException("The 'Probability' and 'Infuence' values must lay in the interval [0;1]!");

                ((Risk)listRisksSelected.SelectedItem).Influence = double.Parse(ParseLine(InfluenceTextbox.Text));
                ((Risk)listRisksSelected.SelectedItem).Probability = double.Parse(ParseLine(ProbabilityTextbox.Text));

                DatabaseActions databaseActions = new DatabaseActions();

                await databaseActions.ChangeRisk((Risk)listRisksSelected.SelectedItem);

                listRisksSelected.Items.Clear();
                listSelected = await databaseActions.ShowRisks(project);

                for (int i = 0; i < listSelected.Count; i++)
                    if (listSelected[i].Status == 1)
                        listRisksSelected.Items.Add(listSelected[i]);

                DrawGraphic();
            }
            catch (NullReferenceException ex)
            {
                MessageBox.Show(ex.Message, "Exception");

            }
            catch (ArgumentException ex)
            {
                MessageBox.Show(ex.Message, "Exception");

            }
            catch (Exception)
            {
                MessageBox.Show("Что-то пошло не так");

            }
        }