private void UpdateActivation(Option <Activation, LicenseError> activation) { var oldKey = _activation.Match(a => a.Key, e => ""); //Save only valid activation. Invalid activations might throw exceptions during saving. if (activation.Exists(a => a.IsLicenseStillValid())) { activation.MatchSome(a => { _activation = activation; _licenseChecker.SaveActivation(a); }); } //Save activation if current key is blocked else if (activation.Exists(a => (a.Result == Result.BLOCKED) && a.Key == oldKey)) { activation.MatchSome(a => { _activation = activation; _licenseChecker.SaveActivation(a); }); } //Notify user InvokeActivationResponse(activation); CloseLicenseWindowEvent?.Invoke(this, new ActivationResponseEventArgs(activation)); }
private void UpdateActivation(Activation activation) { var oldActivation = _activationHelper.Activation; var oldActivationWasValid = _activationHelper.IsLicenseValid; var resetActivation = false; activation = activation ?? new Activation(); _activationHelper.Activation = activation; //Save only valid activation. Invalid activations might throw exceptions during saving. if (_activationHelper.IsLicenseValid) { _activationHelper.SaveActivation(); } //Save activation if current key is blocked else if ((activation.Result == Result.BLOCKED) && oldActivation.Key.Equals(activation.Key)) { _activationHelper.SaveActivation(); } //Reset license if the old one was valid else if (oldActivationWasValid) { //Do the reset after user notification resetActivation = true; } //set key in invalid activation to make it visible in view else { _activationHelper.Activation.Key = _lastActivationKey; } //Notify user InvokeActivationResponse(); //Reset license if the old one was valid if (resetActivation) { _activationHelper.Activation = oldActivation; } CloseLicenseWindowEvent?.Invoke(this, new ActivationResponseEventArgs(_activationHelper.Activation, _activationHelper.IsLicenseValid)); }
private void RaiseCloseWindow() { CloseLicenseWindowEvent?.Invoke(this, EventArgs.Empty); }