// <CompileWithRoslyn />

public static IneoSmtp.Smtp.SendMailOffice365GraphParameters SendMailOffice365GraphParameters
{
    get //!\ ne pas mémoriser dans une statique car le clientSecret va changer
    {
        var l = Api.Zselect<(string id, string secret)>(Globals.RepData, "select id,secret from FREE_TABLE_SECRETS where id like 'Off365%'");
        if (l == null)
            throw new ApplicationException("SendMailOffice365GraphParameters SQL error : " + Api.LastError);
        foreach (string key in new string[4] { "Off365ClId", "Off365ClSe", "Off365Tena", "Off365UId" })
            if (!l.Any(p => p.id == key))
                throw new ApplicationException($"SendMailOffice365GraphParameters key \"{key}\" is missing !");
        return new IneoSmtp.Smtp.SendMailOffice365GraphParameters(
                                    l.First(p => p.id == "Off365ClId").secret,
                                    l.First(p => p.id == "Off365ClSe").secret,
                                    l.First(p => p.id == "Off365Tena").secret,
                                    l.First(p => p.id == "Off365UId").secret);
    }
}