public static void RegistrarDispositivo(string tokenDispositivo, IAutService autService, INotificationHubClientConnection notificationHubClientConnection) { if (notificationHubClientConnection.Hub == null) { return; } var respDatosDispositivo = autService.DatosDispositivo(tokenDispositivo); if (!respDatosDispositivo.Codigo.Equals(RiskConstants.CODIGO_OK)) { return; } Dispositivo dispositivo = respDatosDispositivo.Datos; if (dispositivo.TokenNotificacion == null || dispositivo.TokenNotificacion.Equals(string.Empty)) { return; } NotificationPlatform platform; switch (dispositivo.PlataformaNotificacion) { case "wns": platform = NotificationPlatform.Wns; break; case "apns": platform = NotificationPlatform.Apns; break; case "mpns": platform = NotificationPlatform.Mpns; break; case "fcm": platform = NotificationPlatform.Fcm; break; case "adm": platform = NotificationPlatform.Adm; break; case "baidu": platform = NotificationPlatform.Baidu; break; default: platform = NotificationPlatform.Fcm; break; } List <string> tags = new List <string>(); if (dispositivo.Suscripciones != null) { foreach (var item in dispositivo.Suscripciones) { tags.Add(item.Contenido); } } var templates = new Dictionary <string, InstallationTemplate>(); if (dispositivo.Plantillas != null) { foreach (var item in dispositivo.Plantillas) { templates.Add(item.Nombre, new InstallationTemplate { Body = item.Contenido }); } } Installation installation = new Installation { InstallationId = dispositivo.TokenDispositivo, Platform = platform, PushChannel = dispositivo.TokenNotificacion, PushChannelExpired = false, Tags = tags, Templates = templates }; notificationHubClientConnection.Hub.CreateOrUpdateInstallation(installation); }
public AutController(IAutService autService, IGenService genService, INotificationHubClientConnection notificationHubClientConnection, IConfiguration configuration) : base(configuration) { _autService = autService; _genService = genService; _notificationHubClientConnection = notificationHubClientConnection; }