JAPWT / View / AdminPages / AdminRoles.xaml.cs
AdminRoles.xaml.cs
Raw
using MyApp.ExampleDataSetTableAdapters;
using MyApp.Services;
using System;
using System.Data;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Navigation;

namespace MyApp.AdminPages
{
    public partial class AdminRoles : Page
    {
        RoleTableAdapter roleTableAdapter = new RoleTableAdapter();
        public AdminRoles()
        {
            InitializeComponent();
            Role_DG.ItemsSource = roleTableAdapter.GetData();
            SortCB.ItemsSource = SearchAndSort.NotFullSortBy;
            
        }

        //Поиск и сортировка
        private void StartSearchButton_Click(object sender, RoutedEventArgs e)
        {
            if (SearchTB.Text != "Поиск..." & SearchTB.Text != "")
            {
                SearchAndSort.Search(roleTableAdapter, Role_DG, SearchTB.Text);
            }
            else
            {
                Role_DG.ItemsSource = roleTableAdapter.GetData();
            }
        }
        private void SortCB_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (SortCB.SelectedItem != null) { ForSortCB.Visibility = Visibility.Collapsed; }
            if (SortCB.SelectedItem.ToString() == "По алфавиту")
            {
                SearchAndSort.SortByAlphabet(roleTableAdapter, Role_DG);
            }
        }

        //кнопки закрытия приложения и сворачивания
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Window ownerWindow = Application.Current.Windows.OfType<Window>().SingleOrDefault(w => w.Title == "MainWindow");
            ownerWindow.Close();
        }

        //исчезновение подсказок
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            Window ownerWindow = Application.Current.Windows.OfType<Window>().SingleOrDefault(w => w.Title == "MainWindow");
            ownerWindow.WindowState = WindowState.Minimized;
        }

        private void SearchTB_MouseEnter(object sender, MouseEventArgs e)
        {
            if (SearchTB.Text == "Поиск...") { SearchTB.Text = ""; SearchTB.Foreground = Brushes.White; }
        }

        private void SearchTB_MouseLeave(object sender, MouseEventArgs e)
        {
            if (SearchTB.Text == "") 
            {   SearchTB.Text = "Поиск..."; 
                SolidColorBrush sb = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#6BFFFFFF")); 
                SearchTB.Foreground = sb; 
            }
        }
        private void RoleTB_MouseEnter(object sender, MouseEventArgs e)
        {
            if (RoleTB.Text == "Роль") { RoleTB.Text = ""; RoleTB.Foreground = Brushes.White; }
        }

        private void RoleTB_MouseLeave(object sender, MouseEventArgs e)
        {
            if (RoleTB.Text == "")
            {
                RoleTB.Text = "Роль";
                SolidColorBrush sb = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#6BFFFFFF"));
                RoleTB.Foreground = sb;
            }
        }

        private void DescriptionTB_MouseEnter(object sender, MouseEventArgs e)
        {
            if (DescriptionTB.Text == "Описание") { DescriptionTB.Text = ""; DescriptionTB.Foreground = Brushes.White; }
        }

        private void DescriptionTB_MouseLeave(object sender, MouseEventArgs e)
        {
            if (DescriptionTB.Text == "")
            {
                DescriptionTB.Text = "Описание";
                SolidColorBrush sb = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#6BFFFFFF"));
                DescriptionTB.Foreground = sb;
            }
        }


        //навигация по страницам
        private void ItemsPageButton_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.Navigate(new AdminProducts());
        }

        private void OrdersPageButton_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.Navigate(new AdminOrders());
        }

        private void RolesPageButton_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.Navigate(new AdminRoles());
        }

        private void UsersPageButton_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.Navigate(new AdminUsers());
        }

        //CRUD
        private void Role_DG_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (Role_DG.SelectedItem != null)
            {
                SolidColorBrush sb = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFFFFF"));
                
                var role = (Role_DG.SelectedItem as DataRowView).Row[1];
                RoleTB.Text = role.ToString();
                RoleTB.Foreground = sb;

                var description = (Role_DG.SelectedItem as DataRowView).Row[2];
                DescriptionTB.Text = description.ToString();
                DescriptionTB.Foreground = sb;
            }
        }

        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            if (RoleTB.Text != "" & DescriptionTB.Text != "" & RoleTB.Text != null & DescriptionTB.Text !=null)
            {
                if (RoleTB.Text != "Роль" & DescriptionTB.Text != "Описание")
                {
                    int KolvoElementov = Role_DG.Items.Count;
                    var GetLastIndex = (Role_DG.Items.GetItemAt(KolvoElementov-1) as DataRowView).Row[0];
                    roleTableAdapter.Insert((int)GetLastIndex+1, RoleTB.Text, DescriptionTB.Text);
                    Role_DG.ItemsSource = roleTableAdapter.GetData();
                }
            }
        }

        private void DelButton_Click(object sender, RoutedEventArgs e)
        {
            if (RoleTB.Text != "" & DescriptionTB.Text != "" & RoleTB.Text != null & DescriptionTB.Text != null)
            {
                try
                {
                    var index = (Role_DG.SelectedItem as DataRowView).Row[0];
                    roleTableAdapter.Delete((int)index, RoleTB.Text, DescriptionTB.Text);
                    Role_DG.ItemsSource = roleTableAdapter.GetData();
                }
                catch(Exception)
                {
                    return;
                }
            }
        }
        private void ChangeButton_Click(object sender, RoutedEventArgs e)
        {
            if (RoleTB.Text != "" & DescriptionTB.Text != "" & RoleTB.Text != null & DescriptionTB.Text != null)
            {
                try
                {
                    var index = (Role_DG.SelectedItem as DataRowView).Row[0];
                    var OriginalTitle = (Role_DG.SelectedItem as DataRowView).Row[1];
                    var OriginalDescription = (Role_DG.SelectedItem as DataRowView).Row[2];
                    if (OriginalTitle.ToString() != RoleTB.Text | OriginalDescription.ToString() != DescriptionTB.Text)
                    {
                        roleTableAdapter.Update((int)index, RoleTB.Text, DescriptionTB.Text, (int)index, OriginalTitle.ToString(), OriginalDescription.ToString());
                        Role_DG.ItemsSource = roleTableAdapter.GetData();
                    }
                }
                catch(Exception) { return; }
            }
        }
    }
}