diff --git a/Yavsc/Helpers/GoogleHelpers.cs b/Yavsc/Helpers/GoogleHelpers.cs index 4858f56e..cd6de3ff 100644 --- a/Yavsc/Helpers/GoogleHelpers.cs +++ b/Yavsc/Helpers/GoogleHelpers.cs @@ -29,6 +29,8 @@ namespace Yavsc.Helpers using Models.Google.Messaging; using Models.Messaging; using Models; + using Interfaces.Workflow; + /// /// Google helpers. @@ -73,6 +75,16 @@ namespace Yavsc.Helpers (this GoogleAuthSettings googleSettings, IEnumerable regids, Event ev) where Event : IEvent { + if (ev == null) + throw new Exception("Spécifier un évènement"); + if (ev.Message == null) + throw new Exception("Spécifier un message"); + if (ev.Sender == null) + throw new Exception("Spécifier un expéditeur"); + + if (regids == null) + throw new NotImplementedException("Notify & No GCM reg ids"); + var msg = new MessageWithPayload() { notification = new Notification() @@ -84,12 +96,14 @@ namespace Yavsc.Helpers data = ev, registration_ids = regids.ToArray() }; - - if (regids == null) - throw new NotImplementedException("Notify & No GCM reg ids"); + try { using (var m = new SimpleJsonPostMethod("https://gcm-http.googleapis.com/gcm/send",$"key={googleSettings.ApiKey}")) { return m.Invoke(msg); } + } + catch (Exception ex) { + throw new Exception ("Quelque chose s'est mal passé à l'envoi",ex); + } } public static async Task GetCredentialForGoogleApiAsync(this UserManager userManager, ApplicationDbContext context, string uid) {