gr672_bda 4 лет назад
Родитель
Сommit
2c03f87547

+ 2 - 4
ProjectAnalogParus/AdminPage.xaml

@@ -12,14 +12,12 @@
         <TabControl HorizontalAlignment="Left" Height="233" Margin="116,99,0,0" VerticalAlignment="Top" Width="493">
             <TabItem Header="Пользователи">
                 <Grid Background="#FFE5E5E5">
-                    <DataGrid Name="Usergrid" HorizontalAlignment="Left" AutoGenerateColumns="False" Height="154" Margin="10,10,0,0" VerticalAlignment="Top" Width="467" >
+                    <DataGrid CanUserAddRows="False" Name="Usergrid" HorizontalAlignment="Left" AutoGenerateColumns="False" Height="154" Margin="10,10,0,0" VerticalAlignment="Top" Width="467" >
 
                         <DataGrid.Columns>
                             <DataGridTextColumn Binding="{Binding IdUser}" Header="Id" Width="*"/>
                             <DataGridTextColumn Binding="{Binding NameUser}" Header="Имя пользователя" Width="3*"/>
-                            <DataGridTextColumn Binding="{Binding FullNameUser}" Header="Полное имя пользователя" Width="3*" />
-                            <DataGridTextColumn Binding="{Binding Password}" Header="Пароль" Width="2*" />
-                            <DataGridTextColumn Binding="{Binding Role.NameRole}" Header="Роль" Width="2*" />
+                            <DataGridTextColumn Binding="{Binding FullNameUser}" Header="Полное имя пользователя" Width="3*" />                            
                         </DataGrid.Columns>
                     </DataGrid>
                     <Button Content="Добавить пользователя" HorizontalAlignment="Left" Margin="10,169,0,0" VerticalAlignment="Top" Width="146" Height="26" Click="InsertUserClick"/>

+ 2 - 3
ProjectAnalogParus/AdminPage.xaml.cs

@@ -44,9 +44,8 @@ namespace ProjectAnalogParus
         {
             User user = (User)Usergrid.SelectedItem;
             if (user != null)
-            {
-                db.User.Select(item => item.IdUser);
-                FramePage.MainFrame.Navigate(new InfoUserPage());
+            {               
+                FramePage.MainFrame.Navigate(new InfoUserPage(user.IdUser));
             }
             else
             {

+ 2 - 1
ProjectAnalogParus/InfoUserPage.xaml

@@ -12,6 +12,7 @@
         <TextBox Name="txtName" HorizontalAlignment="Left" Height="23" Margin="199,49,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
         <TextBox Name="txtFullName" HorizontalAlignment="Left" Height="23" Margin="199,98,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
         <TextBox Name="txtPassword" HorizontalAlignment="Left" Height="23" Margin="199,146,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
-        <TextBox Name="txtRole" HorizontalAlignment="Left" Height="23" Margin="199,199,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>        
+        <Button Content="Редактировать" HorizontalAlignment="Left" Margin="162,256,0,0" VerticalAlignment="Top" Width="103" Click="EditUser_Click" Height="25"/>
+        <ComboBox Name="cmbRole" HorizontalAlignment="Left" Margin="199,195,0,0" VerticalAlignment="Top" Width="120"/>
     </Grid>
 </Page>

+ 33 - 4
ProjectAnalogParus/InfoUserPage.xaml.cs

@@ -20,18 +20,47 @@ namespace ProjectAnalogParus
     /// </summary>
     public partial class InfoUserPage : Page
     {
-        public int? UserID { get; set; }
+        gr672_bdaEntities db = new gr672_bdaEntities();
+        public int? IdUser { get; set; }
         public InfoUserPage(int? UserID)
         {
-            gr672_bdaEntities db = new gr672_bdaEntities();
+            
             InitializeComponent();
+            IdUser = UserID;
+            cmbRole.ItemsSource = db.Role.ToList();
+            cmbRole.DisplayMemberPath = "NameRole";
+            cmbRole.SelectedValuePath = "IdRole";
 
             User us = db.User.SingleOrDefault(item => item.IdUser == UserID);
             txtName.Text = us.NameUser;
             txtFullName.Text = us.FullNameUser;
             txtPassword.Text = us.Password;
-            txtRole.Text = us.Role.NameRole;
-            
+            cmbRole.SelectedValue = $"{us.RoleId}";
+
+
+        }
+
+        private void EditUser_Click(object sender, RoutedEventArgs e)
+        {
+            if (txtFullName.Text == string.Empty || txtName.Text == string.Empty || txtPassword.Text == string.Empty || cmbRole.Text == string.Empty)
+            {
+                MessageBox.Show("Ключевые поля не заполнены");
+            }
+            else if (txtFullName.Text.All(char.IsLetter) == false || txtName.Text.All(char.IsLetter) == false || txtPassword.Text.All(char.IsLetter) == false)
+            {
+                MessageBox.Show("Некорректные данные");
+            }
+            else
+            {
+                User us = db.User.SingleOrDefault(item => item.IdUser == IdUser);
+                us.NameUser = txtName.Text;
+                us.FullNameUser = txtFullName.Text;
+                us.Password = txtPassword.Text;
+                us.RoleId = Convert.ToInt32((cmbRole.SelectedItem as Role).IdRole);
+                db.SaveChanges();
+                MessageBox.Show("Данные отредактированы!");
+            }
+
         }
     }
 }