42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.Logging;
|
|
using PARR.DAL.Context;
|
|
using PARR.DAL.Extensions;
|
|
using PARR.DAL.Models;
|
|
using PARR.DAL.Services.Abstracts;
|
|
using PARR.DAL.Services.Interfaces;
|
|
|
|
namespace PARR.DAL.Services.Implementations
|
|
{
|
|
internal class JobJournalService : BaseService<JobJournal>, IJobJournalService
|
|
{
|
|
private readonly DataContext dataContext;
|
|
private readonly ILogger<JobJournalService> logger;
|
|
|
|
public JobJournalService(DataContext dataContext, ILogger<JobJournalService> logger) : base(logger)
|
|
{
|
|
this.dataContext = dataContext;
|
|
this.logger = logger;
|
|
}
|
|
protected override DbSet<JobJournal> EntitySet => dataContext.JobJournals;
|
|
|
|
protected override DataContext EntitiContext => dataContext;
|
|
|
|
public async Task<JobJournal?> GetLastAsync(Guid jobId, Guid hostId, DateTimeOffset date)
|
|
{
|
|
//var n=DateTimeOffset.UtcNow;
|
|
//var opers = await EntitySet
|
|
// .Where(j => j.JobId == jobId && j.HostId == hostId && (j.DateOper!=DateTimeOffset.MinValue))/*date.StartOfDay()*/// && j.DateOper < date.EndOfDay()))
|
|
// .OrderBy(t => t.DateOper)
|
|
// .LastOrDefaultAsync();
|
|
|
|
var opers = await EntitySet
|
|
.Where(j => j.JobId == jobId && j.HostId == hostId && j.DateOper.DateTime.Date == date.DateTime.Date)
|
|
.OrderBy(t => t.DateOper)
|
|
.LastOrDefaultAsync();
|
|
|
|
return opers;
|
|
}
|
|
}
|
|
}
|