< Summary

Information
Class: OzonRepositories.Data.TransactionTimeTrackingResultRepository
Assembly: OzonRepositories
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonRepositories/Data/TransactionTimeTrackingResultRepository.cs
Line coverage
21%
Covered lines: 7
Uncovered lines: 25
Coverable lines: 32
Total lines: 77
Line coverage: 21.8%
Branch coverage
0%
Covered branches: 0
Total branches: 8
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Get()100%210%
GetAsync(...)100%210%
GetAsync(...)100%210%
Add()100%11100%
Update()100%210%
Delete()100%210%
GetByTrackingKey(...)100%11100%
GetReport(...)0%7280%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonRepositories/Data/TransactionTimeTrackingResultRepository.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore;
 2using OzonDomains.Models;
 3using OzonRepositories.Context;
 4
 5namespace OzonRepositories.Data;
 6
 7public class TransactionTimeTrackingResultRepository : MainRepository, IRepository<TransactionTimeTrackingResult>
 8{
 309    public TransactionTimeTrackingResultRepository(ApplicationDbContext orderContext) : base(orderContext)
 10    {
 3011    }
 12
 13    public Task<List<TransactionTimeTrackingResult>> Get()
 14    {
 015        return _context.TransactionTimeTrackingResults
 016            .OrderByDescending(x => x.CompletedAtUtc)
 017            .ToListAsync();
 18    }
 19
 20    public Task<TransactionTimeTrackingResult?> GetAsync(int id)
 21    {
 022        return _context.TransactionTimeTrackingResults
 023            .FirstOrDefaultAsync(x => x.Id == id);
 24    }
 25
 26    public Task<TransactionTimeTrackingResult?> GetAsync(TransactionTimeTrackingResult value)
 27    {
 028        return _context.TransactionTimeTrackingResults
 029            .FirstOrDefaultAsync(x => x.TrackingKey == value.TrackingKey);
 30    }
 31
 32    public async Task<int> Add(TransactionTimeTrackingResult value)
 33    {
 834        _context.TransactionTimeTrackingResults.Add(value);
 835        return await _context.SaveChangesAsync();
 836    }
 37
 38    public async Task<int> Update(TransactionTimeTrackingResult value)
 39    {
 040        _context.TransactionTimeTrackingResults.Update(value);
 041        return await _context.SaveChangesAsync();
 042    }
 43
 44    public async Task<int> Delete(TransactionTimeTrackingResult value)
 45    {
 046        _context.TransactionTimeTrackingResults.Remove(value);
 047        return await _context.SaveChangesAsync();
 048    }
 49
 50    public Task<TransactionTimeTrackingResult?> GetByTrackingKey(string trackingKey)
 51    {
 952        return _context.TransactionTimeTrackingResults
 953            .FirstOrDefaultAsync(x => x.TrackingKey == trackingKey);
 54    }
 55
 56    public Task<List<TransactionTimeTrackingResult>> GetReport(
 57        DateTime? dateFromUtc,
 58        DateTime? dateToUtc,
 59        string? userName,
 60        string? transactionType)
 61    {
 062        var query = _context.TransactionTimeTrackingResults.AsQueryable();
 63
 064        if (dateFromUtc.HasValue)
 065            query = query.Where(x => x.CompletedAtUtc >= dateFromUtc.Value);
 066        if (dateToUtc.HasValue)
 067            query = query.Where(x => x.CompletedAtUtc <= dateToUtc.Value);
 068        if (!string.IsNullOrWhiteSpace(userName))
 069            query = query.Where(x => x.UserName.Contains(userName));
 070        if (!string.IsNullOrWhiteSpace(transactionType))
 071            query = query.Where(x => x.TransactionType == transactionType);
 72
 073        return query
 074            .OrderByDescending(x => x.CompletedAtUtc)
 075            .ToListAsync();
 76    }
 77}