using back.DataModels; using Microsoft.EntityFrameworkCore; namespace back.context; public class EventContext : DbContext { private DbSet Events { get; set; } public EventContext(DbContextOptions options) { Database.EnsureCreated(); } public async Task GetById(string id) { return await GetById(Guid.Parse(id)); } public async Task GetById(Guid id) { return await Events.FindAsync(id); } public async Task GetTotalItems() { return await Events.CountAsync(); } public async Task> GetPage(int page = 1, int pageSize = 20) { if (page < 1) page = 1; if (pageSize < 1) pageSize = 20; return await Events .OrderByDescending(p => p.CreatedAt) .Skip((page - 1) * pageSize) .Take(pageSize) .ToListAsync(); } public async Task Exists(EventModel? photo) { if (photo == null) return false; if (string.IsNullOrEmpty(photo.Id)) return false; return await Events.AnyAsync(p => p.Id == photo.Id); } public async Task Exists(string id) { return await Events.AnyAsync(p => p.Id == id); } }