first commit
This commit is contained in:
15
BookHive/Models/Author.cs
Normal file
15
BookHive/Models/Author.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BookHive.Models;
|
||||
|
||||
public class Author
|
||||
{
|
||||
[Key]public int Id { get; set; }
|
||||
[Required, MaxLength(100)] public string? FirstName { get; set; }
|
||||
[Required, MaxLength(100)] public string? LastName { get; set; }
|
||||
[MaxLength(2000)] public string? Biography { get; set; }
|
||||
[Required] public DateOnly BirthDate { get; set; }
|
||||
[Required, MaxLength(60)] public string? Nationality { get; set; }
|
||||
|
||||
public List<Book>? Books { get; set; }
|
||||
}
|
||||
20
BookHive/Models/Book.cs
Normal file
20
BookHive/Models/Book.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BookHive.Models;
|
||||
|
||||
public class Book
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
[Required, MaxLength(200)] public string? Title { get; set; }
|
||||
[Required] public string? Isbn { get; set; }
|
||||
[MaxLength(3000)] public string? Summary { get; set; }
|
||||
[Required] public int PageCount { get; set; }
|
||||
[Required] public DateOnly PublishedDate { get; set; }
|
||||
[Required, MaxLength(50)] public string? Genre { get; set; }
|
||||
|
||||
public Author? Author { get; set; }
|
||||
[Required] public int AuthorId { get; set; }
|
||||
|
||||
public List<Loan>? Loans { get; set; }
|
||||
public List<Review>? Reviews { get; set; }
|
||||
}
|
||||
18
BookHive/Models/Loan.cs
Normal file
18
BookHive/Models/Loan.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BookHive.Models;
|
||||
|
||||
public class Loan
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
|
||||
public Book? Book { get; set; }
|
||||
[Required] public int BookId { get; set; }
|
||||
|
||||
public Member? Member { get; set; }
|
||||
[Required] public int MemberId { get; set; }
|
||||
|
||||
[Required] public DateOnly LoanDate { get; set; }
|
||||
[Required] public DateOnly DueDate { get; set; }
|
||||
public DateOnly? ReturnDate { get; set; }
|
||||
}
|
||||
16
BookHive/Models/Member.cs
Normal file
16
BookHive/Models/Member.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BookHive.Models;
|
||||
|
||||
public class Member
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
[Required, EmailAddress] public string? Email { get; set; }
|
||||
[Required, MaxLength(100)] public string? FirstName { get; set; }
|
||||
[Required, MaxLength(100)] public string? LastName { get; set; }
|
||||
[Required] public DateOnly MembershipDate { get; set; }
|
||||
[Required] public bool IsActive { get; set; } = true;
|
||||
|
||||
public List<Loan>? Loans { get; set; }
|
||||
public List<Review>? Reviews { get; set; }
|
||||
}
|
||||
18
BookHive/Models/Review.cs
Normal file
18
BookHive/Models/Review.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BookHive.Models;
|
||||
|
||||
public class Review
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
|
||||
public Book? Book { get; set; }
|
||||
[Required] public int BookId { get; set; }
|
||||
|
||||
public Member? Member { get; set; }
|
||||
[Required] public int MemberId { get; set; }
|
||||
|
||||
[Required] public int Rating { get; set; }
|
||||
[MaxLength(1000)] public string? Comment { get; set; }
|
||||
[Required] public DateTime? CreatedAt { get; set; } = DateTime.Now;
|
||||
}
|
||||
Reference in New Issue
Block a user