Esempio n. 1
0
        public async Task <bool> RegisterUnit(PushUri pushUri)
        {
            string deviceId = pushUri.DeviceId.GetHashCode().ToString();
            List <PushRegistrationDescription> usersDevices = null;

            try
            {
                usersDevices = await _unitNotificationProvider.GetRegistrationsByUUID(pushUri.PushLocation);
            }
            catch (TimeoutException)
            { }


            if (usersDevices == null || !usersDevices.Any(x => x.Tags.Contains(string.Format("unitId:{0}", pushUri.UnitId.ToString()))))
            {
                await _unitNotificationProvider.RegisterPush(pushUri);
            }
            else
            {
                await _unitNotificationProvider.UnRegisterPushByUUID(pushUri.PushLocation);

                await _unitNotificationProvider.RegisterPush(pushUri);
            }

            return(true);
        }