/
lizkaa
/
Library
Обзор
Документация
Войти
/
lizkaa
/
Library
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lib/DbUtils.cs
179 строк
5 KB
lizkaa
улучшен резерв книг, а так же появилось возможность возращения книги
30 ноя 2025, 22:17
30 ноя 2025, 22:17
e1ea5a1
Код
Авторство
О чём код?
using lib.Models; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; namespace lib { static class DbUtils { public static bibliotekaContext db; static DbUtils() { try { db = new bibliotekaContext(); } catch (Exception) { } } public static bool Registration(User user) //Регестрация пользователей { if (user.Login == null || user.Password == null) throw new Exception("Обязательно введите И логин И пароль!!"); if (db.Users.Any(u => u.Login == user.Login)) throw new Exception("Пользователь с таким логином уже существует!"); try { db.Users.Add(user); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } public static bool RegAuthors(Author author) //для добавления писателей всяких там древнихт и не только { if(db.Authors.Any(a => a.Name == author.Name && a.Surname == author.Surname && a.MiddleName == author.MiddleName)) throw new Exception("Он(а) уже есть в базе"); try { db.Authors.Add(author); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } public static bool DeleteAuthors(Author author) //удаляет автора с бд { try { db.Authors.Remove(author); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } public static bool AddGenres(Genre genre) //Добавить жанр тип { if (db.Genres.Any(g => g.GenreName == genre.GenreName)) throw new Exception("Он уже есть в базе"); try { db.Genres.Add(genre); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } public static bool DeleteGenres(Genre genre) //ну а это удалить ЖАНР { try { db.Genres.Remove(genre); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } public static bool AddBook(Book book) //Добавлять книгу { if (db.Books.Any(b => b.Name == book.Name && b.AuthorId == book.AuthorId && b.GenreId == book.GenreId)) throw new Exception("Книга уже есть"); if (db.Books.Any(b => b.Shelf == book.Shelf && b.Rack == book.Rack)) throw new Exception("Это место уже занято"); try { db.Books.Add(book); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } public static bool DeleteBook(Book book) { try { db.Books.Remove(book); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } public static bool AddBookings(Booking booking) //добавляет бронь { try { db.Bookings.Add(booking); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } public static bool AddBookingStatus(BookingsStatus bookindsStatus) // бронь стату сниги { if (db.BookingsStatuses.Any(b => b.BookId == bookindsStatus.BookId && b.StatusId == 2)) throw new Exception("ОО, отличный выбор, но эту книгу уже забрали!!"); try { db.BookingsStatuses.Add(bookindsStatus); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } public static bool UpdateBookingStatus(BookingsStatus bookingsStatus) { try { db.BookingsStatuses.Update(bookingsStatus); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } } }