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

Библиотека. Учет книг (C#, WPF, NET 6.0, SQL Server)

Задание

Разработать программу на языке C#, которая позволяла бы хранить сведения о выданных и возвращенных читателем книгах. 

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

  • добавление данных
  • редактирование данных
  • удаление данных

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

using Library.BL.Interfaces;
using Library.BL.Models;
using System;
using System.Linq;
using System.Windows;

namespace Library.UI
{
    /// <summary>
    /// Логика взаимодействия для AddBooksWindow.xaml
    /// </summary>
    public partial class AddBooksWindow : Window
    {
        /// <summary>
        /// Список жанров книг 
        /// </summary>
        private static readonly string[] Genres = { "Фантастика", "Триллер", "Ужасы" };
        /// <summary>
        ///  Поле хранит идентификатор товара
        /// </summary>
        private int _id;
        public AddBooksWindow()
        {
            InitializeComponent();
            // Передаем допустимые значения
            cbGenre.ItemsSource = Genres;
            // Задаем начальное значение
            cbGenre.SelectedIndex = 0;
        }

        private void BtnCancel_Click(object sender, RoutedEventArgs e)
        {
            Close();
        }

        private void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            int issueDate;
            int? returnDate = null;

            if (string.IsNullOrEmpty(tbAuthor.Text))
            {
                MessageBox.Show("Поле Автор не может быть пустым", "Проверка");
                return;
            }

            if (string.IsNullOrEmpty(tbName.Text))
            {
                MessageBox.Show("Поле Название не может быть пустым", "Проверка");
                return;
            }

            if (string.IsNullOrEmpty(tbReader.Text))
            {
                MessageBox.Show("Поле Читатель не может быть пустым", "Проверка");
                return;
            }

            if (!int.TryParse(tbIssueDate.Text, out issueDate))
            {
                MessageBox.Show("Дата выдачи должна быть целым числом", "Проверка");
                return;
            }

            if (!string.IsNullOrEmpty(tbReturnDate.Text))
            {
                int intReturn;
                if (!int.TryParse(tbReturnDate.Text, out intReturn))
                {
                    MessageBox.Show("Дата возврата должна быть целым числом", "Проверка");
                    return;
                }

                if (intReturn < issueDate)
                {
                    MessageBox.Show("Дата возврата должны быть больше даты выдачи", "Проверка");
                    return;
                }
                returnDate = intReturn;
            }

            // Создаем объект для передачи данных
            BookDto book = new BookDto
            {
                // Заполняем объект данными
                Author = tbAuthor.Text,
                Name = tbName.Text,
                Reader = tbReader.Text,
                IssueDate = issueDate,
                ReturnDate = returnDate,
                Genre = cbGenre.SelectedItem.ToString()
            };
            // Именно тут запрашиваем реализованную раннее задачу по работе с книгами
            IBookProcess bookProcess = ProcessFactory.GetBookProcess();
            // если это новый объект - сохраняем его
            if (_id == 0)
            {
                // Сохраняем книги
                bookProcess.Add(book);
            }
            else // иначе обновляем
            {
                // копируем обратно идентификатор объекта
                book.Id = _id;
                // обновляем 
                bookProcess.Update(book);
            }
            // и закрываем форму
            Close();
        }

        public void Load(BookDto book)
        {
            // если объект не существует, или преподаватель не в списке допустимых, выходим
            if (book == null || !Genres.Contains(book.Genre))
                return;
            // сохраняем id книги 
            _id = book.Id;
            // заполняем визуальные компоненты для отображения данных
            tbAuthor.Text = book.Author;
            tbName.Text = book.Name;
            tbReader.Text = book.Reader;
            tbIssueDate.Text = book.IssueDate.ToString();
            if (book.ReturnDate.HasValue)
                tbReturnDate.Text = book.ReturnDate.Value.ToString();
            
            cbGenre.SelectedItem = book.Genre;
        }
    }
}

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

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

Запускаем Visual Studio 2022, запускаем проект. Инструкция приложена. 

Купить 1500,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

admin

/ /

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

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

Только зарегистрированые пользователи имеют возможность комментировать работы
Похожие работы
Тип Название Рейтинг Категория Стоимость
Курсовая Библиотека. Расширенная версия (C#, WPF. SQL Server, Sqlite, NET Framework) new 0 .NET (C#) 1 500,00
Исходник Учет продаж (NET 5.0, C#, WPF, SQL Server) -2 .NET (C#) 1 500,00
Исходник Учет посещаемости занятий (C#, WPF, SQL Server, SQLite) new 1 .NET (C#) 2 000,00
Исходник Система учета спортсменов( C#, WPF, SQL Server, SQLite) new 1 .NET (C#) 2 000,00
Исходник Автошкола (C#, WPF, SQL Server, SQLite) new 0 .NET (C#) 1 500,00
Купить

1500,00 

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

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

Библиотека.rar
26804777
Оцени работу

рейтинг

Библиотека. Учет книг (C#, WPF, NET 6.0, SQL Server)
Программа предназначена для хранения сведений о книгах, выданных читателю и возвращенных им.
Категория: Образование
Стоимость: 1500,00