private async void btnSubmit_Clicked(object sender, EventArgs e) { slForm.IsVisible = false; aiActivity.IsRunning = true; var response = await RockClient.LogIn(username.Text, password.Text); switch (response) { case LoginResponse.Error: aiActivity.IsRunning = false; slForm.IsVisible = true; App.Current.MainPage.DisplayAlert("Log-in Error", "There was an issue with your log-in attempt. Please try again later. (Sorry)", "OK"); break; case LoginResponse.Failure: aiActivity.IsRunning = false; slForm.IsVisible = true; App.Current.MainPage.DisplayAlert("Log-in Error", "Your username or password was incorrect.", "OK"); break; case LoginResponse.Success: AvalancheNavigation.Footer = null; App.Current.MainPage = new AvalanchePage(); AvalancheNavigation.RequestNewRckipid(); break; default: break; } }
private async void btnPin_Clicked(object sender, EventArgs e) { slPin.IsVisible = false; slLoading.IsVisible = true; var response = await RockClient.LogIn("__PHONENUMBER__+1" + phoneNumber, ePin.Text); switch (response) { case LoginResponse.Error: App.Current.MainPage.DisplayAlert("Log-in Error", "There was an issue with your log-in attempt. Please try again later. (Sorry)", "OK"); slPin.IsVisible = true; slLoading.IsVisible = false; break; case LoginResponse.Failure: App.Current.MainPage.DisplayAlert("Log-in Error", "Phone number and pin did not match. Please try again.", "OK"); slPin.IsVisible = true; slLoading.IsVisible = false; break; case LoginResponse.Success: AvalancheNavigation.Footer = null; App.Current.MainPage = new AvalanchePage(); AvalancheNavigation.RequestNewRckipid(); break; default: break; } }
public App() { InitializeComponent(); System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12; RockClient.CreateDatabase(); MainPage = new AvalanchePage(); Task.Factory.StartNew(new Action(backgroundAction)); }
public App() { InitializeComponent(); RockClient.CreateDatabase(); MainPage = new NavigationPage(new Avalanche.MainPage("home")); if (!App.Current.Properties.ContainsKey("SecondRun")) { MainPage.Navigation.PushModalAsync(new LaunchPage()); App.Current.Properties["SecondRun"] = true; } }
public MainPage(string resource, string parameter = "") { InitializeComponent(); On <Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true); observableResource.PropertyChanged += ObservableResource_PropertyChanged; if (!string.IsNullOrWhiteSpace(parameter)) { resource += "/" + parameter; } Task.Run(() => { Handle_Timeout(); }); RockClient.GetResource <MobilePage>(observableResource, "/api/avalanche/" + resource); }
private void BackgroundAction() { if (Attributes.ContainsKey("Resources") && !string.IsNullOrWhiteSpace(Attributes["Resources"])) { ObservableResource <MobilePage> observableResource = new ObservableResource <MobilePage>(); var resources = Attributes["Resources"].Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); foreach (var resource in resources) { RockClient.GetResource(observableResource, resource); } } }
public AvalanchePage() { Children.Clear(); AvalancheNavigation.Footer = null; mainPage = new MainPage(); App.Navigation = new Xamarin.Forms.NavigationPage(mainPage); Children.Add(App.Navigation); observableResource.PropertyChanged += ObservableResource_PropertyChanged; RockClient.GetResource(observableResource, "/api/avalanche/home"); if (!App.Current.Properties.ContainsKey("SecondRun")) { App.Navigation.Navigation.PushModalAsync(new LaunchPage()); App.Current.Properties["SecondRun"] = true; } }
public App() { if (App.Current.Properties.ContainsKey("SecondRun")) { DoAppStartup(); } else { MainPage = new AvalanchePage(); } InitializeComponent(); System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12; RockClient.CreateDatabase(); MainPage = new AvalanchePage(); Task.Factory.StartNew(new Action(backgroundAction)); }
public AvalanchePage() { observableResource.PropertyChanged += ObservableResource_PropertyChanged; RockClient.GetResource(observableResource, "/api/avalanche/home"); mainPage = new MainPage(); //App.Navigation = new Xamarin.Forms.NavigationPage( mainPage ); //Children.Add( App.Navigation ); /* * if ( !App.Current.Properties.ContainsKey( "SecondRun" ) ) * { * App.Navigation.Navigation.PushModalAsync( new LaunchPage() ); * App.Current.Properties["SecondRun"] = true; * } */ }
public async static void UpdateRckipid() { if (App.Current.Properties.ContainsKey("rckipid_expiration")) { DateTime?expiration = App.Current.Properties["rckipid_expiration"] as DateTime?; var now = TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZoneInfo.Local); if (expiration != null && expiration > now) { RequestNewRckipid(); } } else if (!string.IsNullOrWhiteSpace(await RockClient.GetAccessToken())) { RequestNewRckipid(); } }
public MainPage(string resource, string parameter = "") { InitializeComponent(); Resource = resource; Parameter = parameter; observableResource.PropertyChanged += ObservableResource_PropertyChanged; Task.Run(() => { Handle_Timeout(); }); if (!string.IsNullOrWhiteSpace(parameter)) { resource += "/" + parameter; } RockClient.GetResource <MobilePage>(observableResource, "/api/avalanche/" + resource); Content.Margin = new Thickness( AvalancheNavigation.SafeInset.Left, AvalancheNavigation.SafeInset.Top + AvalancheNavigation.YOffSet, AvalancheNavigation.SafeInset.Right, AvalancheNavigation.SafeInset.Bottom); }
public void Send() { ObservableResource <Dictionary <string, string> > observableResource = new ObservableResource <Dictionary <string, string> >(); var body = new Dictionary <string, string>() { { "Operation", Operation }, { "InteractionSummary", InteractionSummary }, { "InteractionData", InteractionData }, { "PageTitle", PageTitle } }; if (PageId != null) { body["PageId"] = PageId.ToString(); } RockClient.PostResource(observableResource, "/api/avalanche/interaction", body); }
public void Setup() { this.RockClient = new RockClient(_domainUrl, _apiToken); }
public static void RequestNewRckipid() { rckipidResource = new ObservableResource <RckipidToken>(); rckipidResource.PropertyChanged += RckipidResource_HandleResponse; RockClient.GetResource(rckipidResource, "/api/avalanche/token", true); }