Files
Final_Das/Controladora/ControladoraInformes.cs
2024-08-11 18:26:35 -03:00

58 lines
1.9 KiB
C#

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<ControladoraInformes>
{
const string configpath = "settings.json";
public void GuardarConfig(ConfigEmail config)
{
try
{
string json = JsonSerializer.Serialize(config, new JsonSerializerOptions { WriteIndented = true });
File.WriteAllText(configpath, json);
InformeEmail.Instance.Informar = config.Informar;
}
catch (IOException ex) { throw; }
}
public string EnviarEmail(string titulo, List<DetalleFactura> 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<String>() }, new JsonSerializerOptions { WriteIndented = true });
File.WriteAllText(configpath, json);
}
}
catch (IOException ex) { throw; }
string jsonString = File.ReadAllText(configpath);
return JsonSerializer.Deserialize<ConfigEmail>(jsonString);
}
}
}