< Summary

Information
Class: Repository.Mapping.LancamentoMap
Assembly: Despesas.Repository
File(s): /src/Despesas.Repository/Mapping/LancamentoMap.cs
Line coverage
100%
Covered lines: 28
Uncovered lines: 0
Coverable lines: 28
Total lines: 45
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/LancamentoMap.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore;
 2using Microsoft.EntityFrameworkCore.Metadata.Builders;
 3using Domain.Entities;
 4
 5namespace Repository.Mapping;
 6public class LancamentoMap : IEntityTypeConfiguration<Lancamento>
 7{
 8    public void Configure(EntityTypeBuilder<Lancamento> builder)
 39    {
 310        builder.ToTable(nameof(Lancamento));
 311        builder.Property(l => l.Id).HasColumnType("varchar(36)")
 312            .HasConversion(v => v.ToString(), v => new Guid(v))
 313            .IsRequired();
 314        builder.HasKey(l => l.Id);
 315        builder.Property(l => l.UsuarioId)
 316            .HasColumnType("varchar(36)")
 317            .HasConversion(v => v.ToString(), v => new Guid(v))
 318            .IsRequired();
 319        builder.Property(l => l.DespesaId)
 320                .HasColumnType("varchar(36)")
 321            .HasConversion(
 322            v => v.HasValue ? v.Value.ToString() : null,
 323            v => v != null ? new Guid(v) : (Guid?)null);
 24
 325        builder.Property(l => l.ReceitaId)
 326            .HasColumnType("varchar(36)")
 327            .HasConversion(
 328            v => v.HasValue ? v.Value.ToString() : null,
 329            v => v != null ? new Guid(v) : (Guid?)null);
 30
 31        //MySqlServer
 332        builder.Property(m => m.Data).HasColumnType("datetime").IsRequired();
 333        builder.Property(m => m.DataCriacao).HasColumnType("datetime").HasDefaultValueSql<DateTime>("CURRENT_TIMESTAMP")
 34
 35        // MsSqlServer
 36        //builder.Property(l => l.Data).HasColumnType("datetime").IsRequired();
 37        //builder.Property(l => l.DataCriacao).HasColumnType("datetime").HasDefaultValueSql<DateTime>("GetDate()");
 38
 339        builder.Property(l => l.Valor).HasColumnType("decimal(10, 2)");
 340        builder.Property(l => l.Descricao).HasMaxLength(100);
 341        builder.HasOne(l => l.Usuario).WithMany().HasForeignKey(l => l.UsuarioId).OnDelete(DeleteBehavior.NoAction);
 342        builder.HasOne(l => l.Despesa).WithMany().HasForeignKey(l => l.DespesaId).OnDelete(DeleteBehavior.NoAction);
 343        builder.HasOne(l => l.Receita).WithMany().HasForeignKey(l => l.ReceitaId).OnDelete(DeleteBehavior.NoAction);
 344    }
 45}