Example #1
0
        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);
        }
Example #2
0
 public AutController(IAutService autService, IGenService genService, INotificationHubClientConnection notificationHubClientConnection, IConfiguration configuration) : base(configuration)
 {
     _autService = autService;
     _genService = genService;
     _notificationHubClientConnection = notificationHubClientConnection;
 }