MoskalenkoSergey 6 ヶ月 前
コミット
665031612b
2 ファイル変更10 行追加14 行削除
  1. 3 3
      PP_Ven_MosS/Pages/Diagram.xaml
  2. 7 11
      PP_Ven_MosS/Pages/Diagram.xaml.cs

+ 3 - 3
PP_Ven_MosS/Pages/Diagram.xaml

@@ -8,13 +8,13 @@
       d:DesignHeight="450" d:DesignWidth="800"
       Title="Diagram">
 
-    <Grid>
+    <Grid x:Name="diagram">
         <Grid.RowDefinitions>
             <RowDefinition></RowDefinition>
             <RowDefinition Height="50"></RowDefinition>
         </Grid.RowDefinitions>
-        <StackPanel Name="dgm" HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal"></StackPanel>
-        <StackPanel Name="dgmu" HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal"></StackPanel>
+        <StackPanel Grid.Row="0" Name="dgm" HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal"></StackPanel>
+        <StackPanel Grid.Row="0" Name="dgmu" HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal"></StackPanel>
         <StackPanel Grid.Row="1"  HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal">
             <Button Height="30" Content="Сохранить отчет" FontSize="20" Style="{StaticResource BtnSt}" Name="Save" Click="Button_Click" Margin="0,0,10,0"></Button>
             <Button Height="30" Content="Выйти" FontSize="20" Style="{StaticResource BtnSt}" Name="Exit" Click="Exit_Click"></Button>

+ 7 - 11
PP_Ven_MosS/Pages/Diagram.xaml.cs

@@ -27,25 +27,24 @@ namespace PP_Ven_MosS.Pages
             InitializeComponent();
             Sort();
         }
-        //в разметку статически добавть фамилии вниз
+        
         async public void Sort()
         {
             User user = Database.entities.User.ToList().Where(x => x.Id_role == 2).FirstOrDefault();
-            List<Rectangle> rectangles = new List<Rectangle>(); ; //лист прямоугольников 
+            List<Rectangle> rectangles = new List<Rectangle>(); ;
             List<User> users = await Task.Run(() =>
             {
                 return Database.entities.User.Where(x => x.Id_role == 2).ToList();
             });
             int[] mass = new int[users.Count];
-            //добавишь лист своих сотрудников
-            foreach (var usr in users) //цикл по количесво сотрудников для отрисовки
+            foreach (var usr in users) 
             {
                 Rectangle newRectangle = new Rectangle();
                 newRectangle.Width = 100;
-                newRectangle.Height = Convert.ToInt32(usr.Count_complete_app) * 30; //высота - количество выполненных задачь * 10 примерно, иначе они у тебя крохотные будут
+                newRectangle.Height = Convert.ToInt32(usr.Count_complete_app) * 30; 
                 if (usr.Count_complete_app > 5)
                 {
-                    newRectangle.Fill = new SolidColorBrush(Colors.Green); //сделай проверку, тип если у сотрудника >5 задач - зеленый, 0 или 1 - красный, остальные - желтый, например
+                    newRectangle.Fill = new SolidColorBrush(Colors.Green); 
                 }
                 else if (usr.Count_complete_app < 2)
                 {
@@ -61,7 +60,7 @@ namespace PP_Ven_MosS.Pages
                 rectangles.Add(newRectangle);
             }
 
-            foreach (var usr in users) //цикл по количесво сотрудников для отрисовки
+            foreach (var usr in users) 
             {
                 TextBlock block = new TextBlock
                 {
@@ -72,8 +71,6 @@ namespace PP_Ven_MosS.Pages
                     Margin = new Thickness(20, 250, 0, 0)
             };
                 dgmu.Children.Add(block);
-                //не разобралась, как делать текст внутри самого прямоугольника, но можно отрисовать в другой стекпанели
-                // тип Cont1.Children.Add(newRectangle);, где Cont1, это новая панель в разметки, которая находится над или под графиком 
             }
         }
 
@@ -82,8 +79,7 @@ namespace PP_Ven_MosS.Pages
             System.Windows.Controls.PrintDialog printDialog = new PrintDialog();
             if (printDialog.ShowDialog() == true)
             {
-                printDialog.PrintVisual(dgm /*это x Name грида, который задается в разметке*/, "Отчет");
-                printDialog.PrintVisual(dgmu /*это x Name грида, который задается в разметке*/, "Сотрудник");
+                printDialog.PrintVisual(diagram, "Отчет");
             }
         }