Задание
Разработать приложение Автошкола на языке C# для учета ее деятельности. Приложение должно вести учет студентов, преподавателей, расписания занятий.
Функционал программы
- учет студентов
- добавление данных студентов
- редактирование данных студентов
- удаление студентов
- регистрация
- авторизация
- кабинет пользователей
Остальной функционал программы в стадии разработки.
Фрагмент программного кода
using AutoSchool.BL.Interfaces; using AutoSchool.BL.Models; using System.Linq; using System.Windows; namespace AutoSchool.UI { /// <summary> /// Логика взаимодействия для AddStudentsWindow.xaml /// </summary> public partial class AddStudentsWindow : Window { /// <summary> /// Список допустимых результатов /// </summary> private static readonly string[] Results = { "Сдал", "Не сдал" }; /// <summary> /// Поле хранит идентификатор товара /// </summary> private int _id; public AddStudentsWindow() { InitializeComponent(); // Передаем допустимые значения cbResult.ItemsSource = Results; // Задаем начальное значение cbResult.SelectedIndex = 0; } private void BtnCancel_Click(object sender, RoutedEventArgs e) { Close(); } private void BtnSave_Click(object sender, RoutedEventArgs e) { int receipt; int? examDate = null; if (string.IsNullOrEmpty(tbStudentName.Text)) { MessageBox.Show("Поле Студент не должно быть пустым", "Проверка"); return; } if (string.IsNullOrEmpty(tbGender.Text)) { MessageBox.Show("Поле Пол не может быть пустым", "Проверка"); return; } if (!int.TryParse(tbReceiptDate.Text, out receipt )) { MessageBox.Show("Дата поступления должна быть целым числом", "Проверка"); return; } if (!string.IsNullOrEmpty(tbExamDate.Text)) { int intExam; if (!int.TryParse(tbExamDate.Text, out intExam)) { MessageBox.Show("Дата экзамена должна быть целым числом", "Проверка"); return; } if (intExam < receipt) { MessageBox.Show("Дата экзамена должна быть больше даты поступления", "Проверка"); return; } examDate = intExam; } // Создаем объект для передачи данных StudentDto student = new StudentDto(); // Заполняем объект данными student.StudentName = tbStudentName.Text; student.ReceiptDate = receipt; student.ExamDate = examDate; student.Gender = tbGender.Text; student.Result = cbResult.SelectedItem.ToString(); // Именно тут запрашиваем реализованную раннее задачу по работе со студентами IStudentProcess studentProcess = ProcessFactory.GetStudentProcess(); // если это новый объект - сохраняем его if (_id == 0) { // Сохраняем студентов studentProcess.Add(student); } else // иначе обновляем { // копируем обратно идентификатор объекта student.Id = _id; // обновляем studentProcess.Update(student); } // и закрываем форму Close(); } public void Load(StudentDto student) { // если объект не существует, или его результат не в списке допустимых, выходим if (student == null || !Results.Contains(student.Result)) return; // сохраняем id студента _id = student.Id; // заполняем визуальные компоненты для отображения данных tbStudentName.Text = student.StudentName; tbReceiptDate.Text = student.ReceiptDate.ToString(); if (student.ExamDate.HasValue) tbExamDate.Text = student.ExamDate.Value.ToString(); tbGender.Text = student.Gender; cbResult.SelectedItem = student.Result; } } }
Скриншот архива с проектом
Пояснения по запуску программы
Запускаем Visual Studio 2022, запускаем проект. Переходим на мой YouTube-канал: Сергей Галкин - YouTube и смотрим видео-уроки по разработке приложения.
admin