Скриншот архива программы:
Структура проекта:
Задание на разработку приложения(программы):
Необходимо реализовать приложение для учета данных сотрудников работавших на предприятии с помощью C#, WPF, SQLite
Описание возможностей программы:
- Учёт сотрудников;
- Добавление сотрудников;
- Удаление сотрудников;
- Редактирование.
Использованные технологии:
- C# + WPF;
- SQLite + Entity Framework;
- Material Design.
При написании использовалась Visual Studio 2019.
Фрагмент программного кода (окно регистрации):
<Window x:Class="EmployeeUI.RegistrationWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:EmployeeUI" mc:Ignorable="d" xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" Title="Приложение для пользователей" Height="450" Width="700"> <Grid Background="#63ADD0"> <Border MinWidth="400" Background="Beige" Margin="15" VerticalAlignment="Center" Padding="30" MaxWidth="700" CornerRadius="30"> <Border.Effect> <DropShadowEffect BlurRadius="30" Color="LightGray" ShadowDepth="0"/> </Border.Effect> <StackPanel> <TextBlock Text="ИС Персонал" FontSize="30" FontWeight="Bold" Margin="0,0,0,20"/> <Grid Margin="0,0,0,20"> <Button HorizontalAlignment="Left" Content="Регистрация"/> <Button x:Name="Button_Auth" HorizontalAlignment="Right" Content="Войти" Style="{StaticResource MaterialDesignFlatButton}" Click="Button_Auth_Click"/> </Grid> <TextBox x:Name="textBoxLogin" materialDesign:HintAssist.Hint="Введите логин" Style="{StaticResource MaterialDesignFloatingHintTextBox}"/> <PasswordBox x:Name="passBox" materialDesign:HintAssist.Hint="Введите пароль" Style="{StaticResource MaterialDesignFloatingHintPasswordBox}"/> <PasswordBox x:Name="passBox_2" materialDesign:HintAssist.Hint="Повторите пароль" Style="{StaticResource MaterialDesignFloatingHintPasswordBox}"/> <TextBox x:Name="textBoxEmail" materialDesign:HintAssist.Hint="Введите Email" Style="{StaticResource MaterialDesignFloatingHintTextBox}"/> <Button x:Name="Button_Reg" Content="Зарегистрироваться" Margin="0 20" Click="Button_Reg_Click"/> </StackPanel> </Border> </Grid> </Window>
Фрагмент программного кода (окно регистрации):
using System.Windows; using System.Windows.Media; namespace EmployeeUI { /// <summary> /// Логика взаимодействия для RegistrationWindow.xaml /// </summary> public partial class RegistrationWindow : Window { AppContext db; public RegistrationWindow() { InitializeComponent(); db = new AppContext(); //List<User> users = db.Users.ToList(); //string str = ""; //foreach (User user in users) // str += "Login: " + user.Login + " | "; } private void Button_Reg_Click(object sender, RoutedEventArgs e) { string login = textBoxLogin.Text.Trim(); string pass = passBox.Password.Trim(); string pass_2 = passBox_2.Password.Trim(); string email = textBoxEmail.Text.Trim().ToLower(); if (login.Length < 5) { textBoxLogin.ToolTip = "Это поле заполнено неверно!"; textBoxLogin.Background = Brushes.Gray; } else if (pass.Length < 5) { passBox.ToolTip = "Это поле заполнено неверно!"; passBox.Background = Brushes.Gray; } else if (pass != pass_2) { passBox_2.ToolTip = "Это поле заполнено неверно!"; passBox_2.Background = Brushes.Gray; } else if (email.Length < 5 || !email.Contains("@") || !email.Contains(".")) { textBoxEmail.ToolTip = "Это поле заполнено неверно!"; textBoxEmail.Background = Brushes.Gray; } else { textBoxLogin.ToolTip = ""; textBoxLogin.Background = Brushes.Transparent; passBox.ToolTip = ""; passBox.Background = Brushes.Transparent; passBox_2.ToolTip = ""; passBox_2.Background = Brushes.Transparent; textBoxEmail.ToolTip = ""; textBoxEmail.Background = Brushes.Transparent; MessageBox.Show("Всё хорошо!"); User user = new User(login, pass, email); _ = db.Users.Add(user); _ = db.SaveChanges(); AuthWindow authWindow = new AuthWindow(); authWindow.Show(); Hide(); } } private void Button_Auth_Click(object sender, RoutedEventArgs e) { AuthWindow authWindow = new AuthWindow(); authWindow.Show(); Hide(); } } }
Содержание архива:
- Исходный проект программы с кодом в Visual Studio.
- файлы базы данных.
Руководство по запуску программы:
- Скачать и установить Visual Studio 2022 Community - https://visualstudio.microsoft.com/ru/vs/community/
- Выбрать рабочие нагрузки (см рисунок)
И настроить дополнительные параметры.
Тут вам нужно будет самим поставить галочки там где вам нужно, в зависимости от ваших предпочтений и сделанного выбора (см первый рисунок). Возможно вы еще выберите также разработку игр и мобильных приложений. Как правило среда сама подтягивает все необходимое.
- Скачать и установить MS SQL Server Management Studio 20 - https://learn.microsoft.com/ru-ru/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16
- Настроить сервер для входа.
- Присоединить к серверу связанную с приложением базу данных, предварительно скопировав их в папку пользователя, например User(должна находится на раб. столе).
- Базы данных – Присоединить .
- Вы увидите следующее окно. Жмете Добавить.
- Тут выбираете базу данных EmployeeDB и жмете на ОК и еще раз ОК. База присоединена.
- С помощью Visual Studio 2022 Community запускаете проект
- Переходим в Обозреватель серверов. И добавляете подключение к БД. Все работает и без данной процедуры, но лучше ее подключить.
- Настраиваете соединение с БД. В поле имя сервера вводите имя сервера - (LocalDB)\MSSQLLocalDB.
- После этого станет активно поле выбора БД из списка, вам нужно выбрать ту, что вы подключали в SQL Server.
- Запускаете проект.
admin