< Summary

Information
Class: Repository.Mapping.ReceitaMap
Assembly: Despesas.Repository
File(s): /src/Despesas.Repository/Mapping/ReceitaMap.cs
Line coverage
100%
Covered lines: 25
Uncovered lines: 0
Coverable lines: 25
Total lines: 41
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Configure(...)100%11100%

File(s)

/src/Despesas.Repository/Mapping/ReceitaMap.cs

#LineLine coverage
 1using Domain.Entities;
 2using Microsoft.EntityFrameworkCore;
 3using Microsoft.EntityFrameworkCore.Metadata.Builders;
 4
 5namespace Repository.Mapping;
 6public class ReceitaMap : IEntityTypeConfiguration<Receita>
 7{
 8    public void Configure(EntityTypeBuilder<Receita> builder)
 39    {
 310        builder.ToTable(nameof(Receita));
 311        builder.Property(r => r.Id)
 312            .HasColumnType("varchar(36)")
 313            .HasConversion(v => v.ToString(), v => new Guid(v))
 314            .ValueGeneratedOnAdd()
 315            .IsRequired();
 316        builder.HasKey(r => r.Id);
 317        builder.Property(r => r.UsuarioId)
 318                .HasColumnType("varchar(36)")
 319            .HasConversion(v => v.ToString(), v => new Guid(v))
 320            .ValueGeneratedOnAdd()
 321            .IsRequired();
 322        builder.Property(r => r.Descricao).IsRequired(false).HasMaxLength(100);
 323        builder.Property(r => r.CategoriaId)
 324            .HasColumnType("varchar(36)")
 325            .HasConversion(v => v.ToString(), v => new Guid(v)).ValueGeneratedOnAdd().IsRequired();
 26
 27        // MySqlServer
 328        builder.Property(m => m.Data).HasColumnType("datetime").HasDefaultValueSql<DateTime>("CURRENT_TIMESTAMP").IsRequ
 29
 30        // MsSqlServer
 31        //builder.Property(r => r.Data).HasColumnType("datetime").HasDefaultValueSql<DateTime>("GetDate()").IsRequired()
 32
 333        builder.HasOne(d => d.Categoria)   // Receita -> Categoria
 334            .WithMany(c => c.Receitas)  // Categoria -> Receitas
 335            .HasForeignKey(d => d.CategoriaId)
 336            .OnDelete(DeleteBehavior.Restrict);
 37
 338        builder.Property(r => r.Valor).HasColumnType("decimal(10, 2)").HasDefaultValue(0);
 339        builder.HasOne(r => r.Usuario).WithMany().HasForeignKey(r => r.UsuarioId).OnDelete(DeleteBehavior.NoAction);
 340    }
 41}