добавил логики
This commit is contained in:
@ -4,7 +4,14 @@ using Microsoft.EntityFrameworkCore;
|
||||
|
||||
public class User : IdentityUser
|
||||
{
|
||||
|
||||
public string AvatarUrl { get; set; } = null!;
|
||||
}
|
||||
|
||||
public class UserPost
|
||||
{
|
||||
public IFormFile Avatar { get; set; } = null!;
|
||||
|
||||
public string Username { get; set; } = null!;
|
||||
}
|
||||
|
||||
public class PostMeetingDto
|
||||
@ -36,6 +43,24 @@ public class PostMeetingDto
|
||||
}
|
||||
|
||||
|
||||
public class UserWriteToMeting
|
||||
{
|
||||
public long Id { get; set; }
|
||||
|
||||
public string UserId { get; set; } = null!;
|
||||
|
||||
public long MeetingId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class PostUserWriteToMetingDto
|
||||
{
|
||||
public string UserId { get; set; } = null!;
|
||||
|
||||
public long MeetingId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class PutMeetingDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
@ -95,12 +120,110 @@ public class Meeting
|
||||
public string Tags { get; set; } = null!;
|
||||
|
||||
public string VideoUrl { get; set; } = null!;
|
||||
|
||||
|
||||
// public string MeetingChatUrl { get; set; } = null!;
|
||||
|
||||
// public string SocialUrls { get; set; } = null!;
|
||||
}
|
||||
|
||||
|
||||
public class PostReviewDto
|
||||
{
|
||||
public long MeetingId { get; set; }
|
||||
|
||||
public string UserId { get; set; } = null!;
|
||||
|
||||
public string Text { get; set; } = null!;
|
||||
|
||||
public int Score { get; set; } = 0;
|
||||
|
||||
DateTime _date;
|
||||
|
||||
public DateTime Date { get => _date; set => _date = value.ToUniversalTime(); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class PutReviewDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
|
||||
public string Text { get; set; } = null!;
|
||||
|
||||
public int Score { get; set; } = 0;
|
||||
|
||||
DateTime _date;
|
||||
|
||||
public DateTime Date { get => _date; set => _date = value.ToUniversalTime(); }
|
||||
}
|
||||
|
||||
|
||||
public class Review
|
||||
{
|
||||
public long Id { get; set; }
|
||||
|
||||
public long MeetingId { get; set; }
|
||||
|
||||
public User User { get; set; } = null!;
|
||||
|
||||
public string UserId { get; set; } = null!;
|
||||
|
||||
public string Text { get; set; } = null!;
|
||||
|
||||
public int Score { get; set; } = 0;
|
||||
|
||||
DateTime _date;
|
||||
|
||||
public DateTime Date { get => _date; set => _date = value.ToUniversalTime(); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class PostReactionDto
|
||||
{
|
||||
|
||||
public long ReviewId { get; set; }
|
||||
|
||||
public string UserId { get; set; } = null!;
|
||||
|
||||
public bool IsLike { get; set; } = true;
|
||||
}
|
||||
|
||||
public class PutReactionDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
|
||||
public long ReviewId { get; set; }
|
||||
|
||||
public string UserId { get; set; } = null!;
|
||||
|
||||
public bool IsLike { get; set; } = true;
|
||||
}
|
||||
|
||||
|
||||
public class Reaction
|
||||
{
|
||||
public long Id { get; set; }
|
||||
|
||||
public long ReviewId { get; set; }
|
||||
|
||||
public string UserId { get; set; } = null!;
|
||||
|
||||
public bool IsLike { get; set; } = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class ApplicationContext : IdentityDbContext<User>
|
||||
{
|
||||
public DbSet<Meeting> Meetings { get; set; }
|
||||
|
||||
public DbSet<Review> Reviews { get; set; }
|
||||
|
||||
public DbSet<Reaction> Reactions { get; set; }
|
||||
public DbSet<UserWriteToMeting> UserWriteToMetings { get; set; }
|
||||
|
||||
public ApplicationContext(DbContextOptions<ApplicationContext> options)
|
||||
: base(options)
|
||||
{
|
||||
@ -110,6 +233,11 @@ public class ApplicationContext : IdentityDbContext<User>
|
||||
protected override void OnModelCreating(ModelBuilder builder)
|
||||
{
|
||||
base.OnModelCreating(builder);
|
||||
builder.Entity<Meeting>();
|
||||
builder.Entity<Meeting>().HasMany<Review>().WithOne().HasForeignKey(c => c.MeetingId);
|
||||
builder.Entity<User>().HasMany<Review>().WithOne(r => r.User).HasForeignKey(c => c.UserId);
|
||||
builder.Entity<User>().HasMany<Reaction>().WithOne().HasForeignKey(c => c.UserId);
|
||||
builder.Entity<Review>().HasMany<Reaction>().WithOne().HasForeignKey(c => c.ReviewId);
|
||||
builder.Entity<Meeting>().HasMany<UserWriteToMeting>().WithOne().HasForeignKey(c => c.MeetingId);
|
||||
builder.Entity<User>().HasMany<UserWriteToMeting>().WithOne().HasForeignKey(c => c.UserId);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user