protected override async void OnResume() { base.OnResume(); CardsCreatingProcessActivity.CameFrom = Constants.email_confirmation_waiting; if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); Analytics.TrackEvent("147 finish waiting email"); return; } AccountActions.cycledRequestCancelled = false; string res = null; try { res = await _accountActions.AccountActionsGet(_databaseMethods.GetActionJwt(), clientName); } catch (Exception ex) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); Analytics.TrackEvent("164 finish waiting email"); return; } } if (String.IsNullOrEmpty(res)) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); Analytics.TrackEvent("175 finish waiting email"); return; } } if (res.Contains("processed")) { var deserializedGet = JsonConvert.DeserializeObject <AccountActionsGetModel>(res); string resAuth = null; try { resAuth = await _accounts.AccountAuthorize(deserializedGet.accountClientJwt, clientName); } catch (Exception ex) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); Analytics.TrackEvent("194 finish waiting email"); return; } } if (String.IsNullOrEmpty(resAuth)) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); Analytics.TrackEvent("205 finish waiting email"); return; } } var deserialized = JsonConvert.DeserializeObject <AuthorizeRootObject>(resAuth); int lastSubscription = deserialized.subscriptions[deserialized.subscriptions.Count - 1].id; _databaseMethods.InsertLoginAfter(deserialized.accessJwt, deserialized.accountUrl, lastSubscription); try { foreach (var subs in deserialized.subscriptions) { if (subs.limitations != null) { if (subs.limitations.allowMultiClients) { QrActivity.IsPremium = true; break; } } } //if (!is_premium) foreach (var subscription in deserialized.subscriptions) { if (subscription.limitations != null) { if (subscription.limitations?.cardsRemaining == null) { QrActivity.CardsRemaining = 10; break; } else if (subscription.limitations.cardsRemaining > QrActivity.CardsRemaining) { QrActivity.CardsRemaining = subscription.limitations.cardsRemaining.Value; } } } foreach (var subscription in deserialized.subscriptions) { if (subscription.features != null) { foreach (var feature in subscription.features) { if (feature == Constants.ExtraEmploymentData) { QrActivity.ExtraEmploymentData = feature; } if (feature == Constants.CompanyLogoInQr) { QrActivity.CompanyLogoInQr = feature; } if (feature == Constants.ExtraPersonData) { QrActivity.ExtraPersonData = feature; } } } else { } } } catch { } if (!resAuth.Contains("userTermsAccepted")) { var deviceId = NativeMethods.GetDeviceId(); string resApplyTerms = null; try { resApplyTerms = await _accounts.ApplyUserTerms(deserialized.accessJwt, deserializedGet.processed, deviceId); } catch (Exception ex) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); Analytics.TrackEvent("274 finish waiting email"); return; } } if (String.IsNullOrEmpty(resApplyTerms)) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); Analytics.TrackEvent("285 finish waiting email"); return; } } if (resApplyTerms.ToLower().Contains(": 20") || resApplyTerms.ToLower().Contains("accepted")) { if (_databaseMethods.GetLoginedFrom() == Constants.from_card_creating) { Intent intent = new Intent(this, typeof(CardsCreatingProcessActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(CardsCreatingProcessActivity)); //Finish(); } else if (_databaseMethods.GetLoginedFrom() == Constants.from_slide_menu) { Intent intent = new Intent(this, typeof(MyCardActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(MyCardActivity)); //Finish(); } else if (_databaseMethods.GetLoginedFrom() == Constants.from_card_creating_premium) { Intent intent = new Intent(this, typeof(PersonalDataActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(PersonalDataActivity)); //Finish(); } else { if (!QrActivity.IsPremium) { Intent intent = new Intent(this, typeof(MyCardActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(MyCardActivity)); } else { Intent intent = new Intent(this, typeof(QrActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(QRActivity)); } Finish(); } } } else { if (_databaseMethods.GetLoginedFrom() == Constants.from_card_creating) { Intent intent = new Intent(this, typeof(CardsCreatingProcessActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(CardsCreatingProcessActivity)); //Finish(); } else if (_databaseMethods.GetLoginedFrom() == Constants.from_slide_menu) { if (!QrActivity.IsPremium) { Intent intent = new Intent(this, typeof(MyCardActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(MyCardActivity)); } else { Intent intent = new Intent(this, typeof(QrActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(QRActivity)); } Finish(); } else if (_databaseMethods.GetLoginedFrom() == Constants.from_card_creating_premium) { Intent intent = new Intent(this, typeof(PersonalDataActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(PersonalDataActivity)); //Finish(); } else { if (!QrActivity.IsPremium) { Intent intent = new Intent(this, typeof(MyCardActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(MyCardActivity)); } else { Intent intent = new Intent(this, typeof(QrActivity)); intent.AddFlags(ActivityFlags.ClearTop); // Removes other Activities from stack StartActivity(intent); //StartActivity(typeof(QRActivity)); } Finish(); } } } }