public void RegisterFCM(ModelViewUserFCM model)
        {
            if (model.TokenApp != GlobalConfiguration.TokenWEB)
            {
                if (model.TokenApp != GlobalConfiguration.TokenMobile)
                {
                    throw new Exception("TokenInvalid");
                }
            }

            var objRepo = new RepositoryUser();

            var dataUsuario = objRepo.GetToken(model.TokenUser);
            var dataDevice  = new BusinessDevicePhone().GetByIMEI(model.IMEI);

            if (dataDevice != null)
            {
                dataDevice.Phone = model.Phone;
                dataDevice.FCM   = model.TokenPush;
                new BusinessDevicePhone().Update(dataDevice);
            }
            else
            {
                dataDevice = new ModelViewDevicePhone()
                {
                    DevicePhoneID = 0,
                    IMEI          = model.IMEI,
                    Phone         = model.Phone,
                    FCM           = model.TokenPush,
                    Status        = true,
                    CreateDate    = DateTime.UtcNow,
                    ModifyDate    = DateTime.UtcNow
                };

                dataDevice = new BusinessDevicePhone().Register(dataDevice);
            }

            foreach (var dataDeviceUser in new BusinessDevicePhoneUser().GetByUser(dataUsuario.UserID))
            {
                dataDeviceUser.Status     = false;
                dataDeviceUser.ModifyDate = DateTime.UtcNow;
                new BusinessDevicePhoneUser().Update(dataDeviceUser);
            }

            foreach (var dataDeviceUser in new BusinessDevicePhoneUser().GetByDevicePhone(dataDevice.DevicePhoneID))
            {
                dataDeviceUser.Status     = false;
                dataDeviceUser.ModifyDate = DateTime.UtcNow;
                new BusinessDevicePhoneUser().Update(dataDeviceUser);
            }

            var dataUserDevice = new BusinessDevicePhoneUser().Get(dataDevice.DevicePhoneID, dataUsuario.UserID);

            if (dataUserDevice == null)
            {
                new BusinessDevicePhoneUser().Insert(new entities.ModelView.Security.ModelViewDevicePhoneUser()
                {
                    UserID        = dataUsuario.UserID,
                    DevicePhoneID = dataDevice.DevicePhoneID,
                    FCM           = model.TokenPush,
                    Status        = true,
                    CreateDate    = DateTime.UtcNow,
                    ModifyDate    = DateTime.UtcNow
                });
            }
            else
            {
                dataUserDevice.Status     = true;
                dataUserDevice.ModifyDate = DateTime.UtcNow;
                new BusinessDevicePhoneUser().Update(dataUserDevice);
            }
        }
Esempio n. 2
0
 public static void RegisterFCM(ModelViewUserFCM model)
 {
     new BusinessUsers().RegisterFCM(model);
 }