Files
CMS/src/CMSMicroservice.Infrastructure/Persistence/Configurations/UserContractConfiguration.cs
T
2025-11-16 00:53:15 +03:30

29 lines
1.1 KiB
C#

using CMSMicroservice.Domain.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace CMSMicroservice.Infrastructure.Persistence.Configurations;
//قراردادها
public class UserContractConfiguration : IEntityTypeConfiguration<UserContract>
{
public void Configure(EntityTypeBuilder<UserContract> builder)
{
builder.HasQueryFilter(p => !p.IsDeleted);
builder.Ignore(entity => entity.DomainEvents);
builder.HasKey(entity => entity.Id);
builder.Property(entity => entity.Id).UseIdentityColumn();
builder
.HasOne(entity => entity.User)
.WithMany(entity => entity.UserContracts)
.HasForeignKey(entity => entity.UserId)
.IsRequired(true);
builder
.HasOne(entity => entity.Contract)
.WithMany(entity => entity.UserContracts)
.HasForeignKey(entity => entity.ContractId)
.IsRequired(true);
builder.Property(entity => entity.SignGuid).IsRequired(true);
builder.Property(entity => entity.SignedPdfFile).IsRequired(true);
}
}