На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

АИС "Регистрация входящих писем (C#, WPF, EF6, NET 4.8, SQL Server)

Скриншот архива с проектом

Структура проекта

Задание

Спроектировать базу данных и приложение к ней на C# WPF для решения задачи регистрации входящих писем. Программный продукт должен обладать удобныи и  понятным интерфейсом и функционалом указанным ниже. 

Функционал программы

  • Регистрация, авторизация пользователей
  • Кабинет пользователя
  • Учёт отправителей
  • Учёт получателей
  • Учёт ответственных сотрудников
  • Учёт входящих писем
  • Поиск по всем сущностям
  • Экспорт и чтение XML для всех сущностей

Фрагмент программного кода

// Подключаем необходимые пространства имен
using EmailRegistration.BL.Entities.Letters;   // Класс письма
using EmailRegistration.BL.Interfaces;          // Интерфейсы для доступа к репозиториям
using System.Linq;                              // LINQ для запросов к коллекции
using System.Windows;                           // Элементы пользовательского интерфейса WPF

namespace EmailRegistration.UI
{
    /// <summary>
    /// Логика взаимодействия для AddLettersWindow.xaml
    /// Окно для добавления или редактирования письма
    /// </summary>
    public partial class AddLettersWindow : Window
    {
        // Массив возможных типов писем
        private static readonly string[] Letters = { "Бумажное", "Электронное" };

        // Интерфейсы доступа к различным репозиториям
        private readonly ILetterRepository _letterRepository;     // Репозиторий писем
        private readonly ISenderRepository _senderRepository;     // Репозиторий отправителей
        private readonly IRecipientRepository _recipientRepository; // Репозиторий получателей
        private readonly IEmployeeRepository _employeeRepository;  // Репозиторий сотрудников

        // Текущее письмо, которое обрабатывается (редактируется или добавляется)
        private Letter _letter;

        // Конструктор окна
        public AddLettersWindow(ILetterRepository letterRepository, ISenderRepository senderRepository,
            IRecipientRepository recipientRepository, IEmployeeRepository employeeRepository, Letter letter = null)
        {
            InitializeComponent();              // Инициализация элементов интерфейса
            _letterRepository = letterRepository; // Настройка ссылок на репозитории
            _senderRepository = senderRepository;
            _recipientRepository = recipientRepository;
            _employeeRepository = employeeRepository;

            // Данные для выпадающих списков
            CmbTypeLetter.ItemsSource = Letters;        // Типы писем
            CmbTypeLetter.SelectedIndex = 0;           // Выбираем первый пункт по умолчанию

            // Выбор значений для остальных выпадающих списков
            CmbSenderName.ItemsSource = _senderRepository.GetAll().Select(s => s.Name).ToList(); // Отправители
            CmbRecipientName.ItemsSource = _recipientRepository.GetAll().Select(r => r.Name).ToList(); // Получатели
            CmbEmployee.ItemsSource = _employeeRepository.GetAll().Select(e => e.FullName).ToList(); // Сотрудники

            // Если передано существующее письмо, устанавливаем его данные
            if (letter != null)
            {
                _letter = letter;
                PopulateFields(letter); // Заполнение полей окном
            }
            else
            {
                _letter = new Letter(); // Создаем новый объект письма
            }
        }

        // Метод для установки данных письма в поля формы
        private void PopulateFields(Letter letter)
        {
            TxtRegNumber.Text = letter.RegNumber;        // Регистрационный номер
            CmbSenderName.Text = letter.SenderName;     // Имя отправителя
            DtpDispatchDate.SelectedDate = letter.DispatchDate; // Дата отправления
            CmbRecipientName.Text = letter.RecipientName; // Имя получателя
            DtpReceiptDate.SelectedDate = letter.ReceiptDate; // Дата получения
            CmbEmployee.Text = letter.Employee;         // Сотрудник, ответственный за регистрацию
            DtpRegistrationDate.SelectedDate = letter.RegistrationDate; // Дата регистрации
            CmbTypeLetter.SelectedItem = letter.TypeLetter; // Тип письма
        }

        // Обработчик события нажатия кнопки "Сохранить"
        private void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            // Заполняем объект письма данными из полей формы
            _letter.RegNumber = TxtRegNumber.Text;
            _letter.SenderName = CmbSenderName.SelectedItem as string;
            _letter.DispatchDate = DtpDispatchDate.SelectedDate.Value;
            _letter.RecipientName = CmbRecipientName.SelectedItem as string;
            _letter.ReceiptDate = DtpReceiptDate.SelectedDate.Value;
            _letter.Employee = CmbEmployee.SelectedItem as string;
            _letter.RegistrationDate = DtpRegistrationDate.SelectedDate.Value;
            _letter.TypeLetter = CmbTypeLetter.SelectedItem.ToString();

            // Добавляем или обновляем письмо в зависимости от наличия ID
            if (_letter.LetterID == 0)
                _letterRepository.Add(_letter);         // Добавляем новое письмо
            else
                _letterRepository.Update(_letter);      // Обновляем существующее письмо

            DialogResult = true;                       // Сигнал успеха
            Close();                                   // Закрываем окно
        }

        // Обработчик события нажатия кнопки "Отменить"
        private void BtnCancel_Click(object sender, RoutedEventArgs e)
        {
            DialogResult = false;                      // Операция отменена
            Close();                                   // Закрываем окно
        }
    }
}

Пояснения по запуску программы

1. Скачать и установить SSMS  2. Установить Visual Studio 2022 Community 3. Настроить программу см Инструкцию. 4. Присоединить БД или выполнить миграции заново (см. Инструкцию). 5. Запустить код. 

Купить 2000,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)
АИС "Регистрация входящих писем (C#, WPF, EF6, NET 4.8, SQL Server)

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

2000,00 

Покупается впервые!
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

Регистрация писем.zip
38198244
Оцени работу

рейтинг

АИС "Регистрация входящих писем (C#, WPF, EF6, NET 4.8, SQL Server)
Информационная система предназначена для регистрации входящих электронных и бумажных писем.
Категория: Образование
Стоимость: 2000,00