< Summary

Information
Class: Repository.Persistency.Implementations.DespesaRepositorioImpl
Assembly: Despesas.Repository
File(s): /src/Despesas.Repository/Persistency/Implementations/DespesaRepositorioImpl.cs
Line coverage
100%
Covered lines: 32
Uncovered lines: 0
Coverable lines: 32
Total lines: 53
Line coverage: 100%
Branch coverage
50%
Covered branches: 2
Total branches: 4
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Context()100%11100%
.ctor(...)100%11100%
Get(...)100%11100%
GetAll()100%11100%
Insert(...)100%11100%
Update(...)50%44100%
Find(...)100%11100%

File(s)

/src/Despesas.Repository/Persistency/Implementations/DespesaRepositorioImpl.cs

#LineLine coverage
 1using Domain.Entities;
 2using Microsoft.EntityFrameworkCore;
 3using Microsoft.EntityFrameworkCore.Query.SqlExpressions;
 4using Repository.Abastractions;
 5using Repository.Persistency.Generic;
 6using System.Linq.Expressions;
 7
 8namespace Repository.Persistency.Implementations;
 9public class DespesaRepositorioImpl : BaseRepository<Despesa>, IRepositorio<Despesa>
 10{
 1211    public RegisterContext Context { get; }
 812    public DespesaRepositorioImpl(RegisterContext context) : base(context)
 813    {
 814        Context = context;
 815    }
 16
 17    public override Despesa Get(Guid id)
 218    {
 219        return Context.Despesa.Include(d => d.Categoria).Include(d => d.Usuario).FirstOrDefault(d => d.Id.Equals(id));
 220    }
 21
 22    public override List<Despesa> GetAll()
 123    {
 124        return Context.Despesa.Include(d => d.Categoria).Include(d => d.Usuario).ToList();
 125    }
 26
 27    public override void Insert(Despesa entity)
 228    {
 229        var categoriaId = entity.CategoriaId;
 130        entity.Categoria = Context.Set<Categoria>().First(c => c.Id.Equals(categoriaId));
 131        Context.Add(entity);
 132        Context.SaveChanges();
 133    }
 34
 35    public override void Update(Despesa entity)
 236    {
 237        var despesaId = entity.Id;
 238        var categoriaId = entity.CategoriaId;
 239        entity.Categoria = Context.Set<Categoria>().First(c => c.Id.Equals(categoriaId));
 140        var existingEntity = Context.Despesa.Single(d => d.Id.Equals(despesaId));
 141        Context?.Entry(existingEntity).CurrentValues.SetValues(entity);
 142        Context?.SaveChanges();
 143        entity = existingEntity;
 144    }
 45
 46    public override IEnumerable<Despesa> Find(Expression<Func<Despesa, bool>> expression)
 147    {
 148        return Context.Despesa
 149            .Include(d => d.Categoria)
 150            .ThenInclude(c => c.TipoCategoria)
 151            .Where(expression);
 152    }
 53}