using Koogle.Domain.Interfaces; using Koogle.Infrastructure.Data; using KoogleApp.Entities; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using System; namespace Koogle.Infrastructure.Repositories; public class DayRepository : Repository, IDayRepository { //private readonly ILogger _logger; //private readonly IDbContextFactory _contextFactory; public DayRepository(IDbContextFactory contextFactory) : base(contextFactory) { } public async Task> GetAllAsync(int year) { await using var context = await ContextFactory.CreateDbContextAsync(); var res = await context.Days .Where(_ => _.PostDate >= new DateTime(year, 1, 1) && _.PostDate <= new DateTime(year, 12, 31)) .ToListAsync(); return res; } public async Task GetActiveDayAsync() { await using var context = await ContextFactory.CreateDbContextAsync(); var res = await context.Days.FirstOrDefaultAsync(_ => _.PostDate == DateTime.Today); return res; } //public async Task AddAsync(Day day) //{ // await using var context = await ContextFactory.CreateDbContextAsync(); // var res = await context.Days.AddAsync(day); // await context.SaveChangesAsync(); // return day; //} //public async Task UpdateAsync(Day day) //{ // await using var context = await ContextFactory.CreateDbContextAsync(); // var res = context.Days.Update(day); // await context.SaveChangesAsync(); // return res.Entity; //} }