using System; using System.Linq; using T3k3rg0.Helpers.Data; using T3k3rg0.Helpers.Models; namespace T3k3rg0.Helpers { public static class NapiszarService { private static readonly TimeZoneInfo HungarianTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Europe/Budapest"); public static string GetRandomSzar() { using var db = new NapiszarDbContext(); var count = db.Joslatok.Count(); if (count == 0) return "Nincs elérhető szar"; var rnd = new Random(); var skip = rnd.Next(count); var szar = db.Joslatok.Skip(skip).FirstOrDefault(); return szar?.Szoveg ?? "Valami szar hiba történt"; } public static bool HasUsedToday(ulong userId) { using var db = new NapiszarDbContext(); var usage = db.DailyUsages.FirstOrDefault(u => u.UserId == (long)userId); if (usage == null) return false; var today = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, HungarianTimeZone).Date; return usage.LastUsed.Date == today; } public static void LogUsage(ulong userId) { using var db = new NapiszarDbContext(); var today = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, HungarianTimeZone); var existing = db.DailyUsages.FirstOrDefault(u => u.UserId == (long)userId); if (existing == null) { db.DailyUsages.Add(new DailyUsage { UserId = (long)userId, LastUsed = today }); } else { existing.LastUsed = today; db.DailyUsages.Update(existing); } db.SaveChanges(); } } }