예제 #1
0
 public async Task OnVpnPlanChangedAsync(VpnPlanChangedEventArgs e)
 {
     if (LastServer != null)
     {
         await UpdateServers();
     }
 }
예제 #2
0
        public Task OnVpnPlanChangedAsync(VpnPlanChangedEventArgs e)
        {
            User user = _userStorage.User();

            InvokeStateChange(user.TrialStatus());

            return(Task.CompletedTask);
        }
예제 #3
0
 public async Task OnVpnPlanChangedAsync(VpnPlanChangedEventArgs e)
 {
     if (e.IsDowngrade)
     {
         User user = _userStorage.User();
         await DowngradeUserAsync(user);
     }
 }
예제 #4
0
 public async Task OnVpnPlanChangedAsync(VpnPlanChangedEventArgs e)
 {
     if (e.IsDowngrade)
     {
         User user = _userStorage.User();
         if (!user.IsDelinquent())
         {
             await DowngradeUserAsync(e, user);
         }
     }
 }
예제 #5
0
        public void SetFreePlan()
        {
            string oldVpnPlan = _userSettings.Get <string>("VpnPlan");

            _userSettings.Set("VpnPlan", FREE_VPN_PLAN);
            _userSettings.Set("ExpirationTime", 0);
            _userSettings.Set("MaxTier", ServerTiers.Free);

            VpnPlanChangedEventArgs eventArgs = new VpnPlanChangedEventArgs(oldVpnPlan, FREE_VPN_PLAN);

            VpnPlanChanged?.Invoke(this, eventArgs);
            UserDataChanged?.Invoke(this, EventArgs.Empty);
        }
예제 #6
0
        private void CacheUser(User user)
        {
            User previousData = User();

            SaveUserData(user);

            if (previousData.VpnPlan != user.VpnPlan)
            {
                VpnPlanChangedEventArgs eventArgs = new VpnPlanChangedEventArgs(previousData.VpnPlan, user.VpnPlan);
                VpnPlanChanged?.Invoke(this, eventArgs);
            }

            UserDataChanged?.Invoke(this, EventArgs.Empty);
        }
예제 #7
0
        private async Task DowngradeUserAsync(VpnPlanChangedEventArgs e, User user)
        {
            if (user.MaxTier < ServerTiers.Plus)
            {
                _appSettings.SecureCore            = false;
                _appSettings.PortForwardingEnabled = false;
            }

            if (user.MaxTier < ServerTiers.Basic)
            {
                _appSettings.NetShieldEnabled = false;
            }

            await _vpnReconnector.ReconnectAsync();
        }
예제 #8
0
파일: PinFactory.cs 프로젝트: Ifry/win-app
        public Task OnVpnPlanChangedAsync(VpnPlanChangedEventArgs e)
        {
            RebuildPins();

            return(Task.CompletedTask);
        }
예제 #9
0
 public async Task OnVpnPlanChangedAsync(VpnPlanChangedEventArgs e)
 {
     await _authCertificateManager.ForceRequestNewCertificateAsync();
 }