using Entidades; using Informes; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json; using System.Threading.Tasks; namespace Controladora { public class ControladoraInformes : Singleton { const string configpath = "settings.json"; public void GuardarConfig(ConfigEmail config) { try { string json = JsonSerializer.Serialize(config, new JsonSerializerOptions { WriteIndented = true }); File.WriteAllText(configpath, json); } catch (IOException ex) { throw; } } public string EnviarEmail(string titulo, List detalles) { if (detalles == null || detalles.Count == 0) return "La lista de detalles está vacía o es nula."; // Utiliza la instancia singleton de InformeEmail para enviar el correo return InformeEmail.Instance.EnviarEmailFactura(titulo, detalles); } public bool Informa { get { return InformeEmail.Instance.Informar; } } public ConfigEmail RecuperarConfig() { try { if (!File.Exists(configpath)) { string json = JsonSerializer.Serialize(new ConfigEmail { EmailAddr = "", EmailPass = "", EmailTarget = new List() }, new JsonSerializerOptions { WriteIndented = true }); File.WriteAllText(configpath, json); } } catch (IOException ex) { throw; } string jsonString = File.ReadAllText(configpath); return JsonSerializer.Deserialize(jsonString); } } }