using CMSMicroservice.Domain.Entities; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace CMSMicroservice.Infrastructure.Persistence.Configurations; //آدرس کاربر public class TransactionsConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasQueryFilter(p => !p.IsDeleted); builder.Ignore(entity => entity.DomainEvents); builder.HasKey(entity => entity.Id); builder.Property(entity => entity.Id).UseIdentityColumn(); builder.Property(entity => entity.MerchantId).IsRequired(true); builder.Property(entity => entity.Amount).IsRequired(true); builder.Property(entity => entity.CallbackUrl).IsRequired(true); builder.Property(entity => entity.Description).IsRequired(true); builder.Property(entity => entity.Mobile).IsRequired(false); builder.Property(entity => entity.Email).IsRequired(false); builder.Property(entity => entity.RequestStatusCode).IsRequired(false); builder.Property(entity => entity.RequestStatusMessage).IsRequired(false); builder.Property(entity => entity.Authority).IsRequired(false); builder.Property(entity => entity.FeeType).IsRequired(false); builder.Property(entity => entity.Fee).IsRequired(false); builder.Property(entity => entity.Currency).IsRequired(false); builder.Property(entity => entity.PaymentStatus).IsRequired(true); builder.Property(entity => entity.PaymentDate).IsRequired(false); builder.Property(entity => entity.VerificationStatusCode).IsRequired(false); builder.Property(entity => entity.VerificationStatusMessage).IsRequired(false); builder.Property(entity => entity.CardHash).IsRequired(false); builder.Property(entity => entity.CardPan).IsRequired(false); builder.Property(entity => entity.RefId).IsRequired(false); builder .HasOne(entity => entity.Order) .WithMany(entity => entity.Transactionss) .HasForeignKey(entity => entity.OrderId) .IsRequired(false); builder.Property(entity => entity.Type).IsRequired(true); } }