private void LaunchHomePage() { var homePage = new HomePage(); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(false, app.Resources); ThemeManager.ApplyResourcesToPage(homePage); if (homePage.BindingContext is HomeViewModel vm) { vm.StartLoginAction = () => DismissViewController(false, () => LaunchLoginFlow()); vm.StartRegisterAction = () => DismissViewController(false, () => LaunchRegisterFlow()); vm.StartSsoLoginAction = () => DismissViewController(false, () => LaunchLoginSsoFlow()); vm.StartEnvironmentAction = () => DismissViewController(false, () => LaunchEnvironmentFlow()); vm.CloseAction = () => CompleteRequest(); } var navigationPage = new NavigationPage(homePage); var loginController = navigationPage.CreateViewController(); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); LogoutIfAuthed(); }
private void LaunchTwoFactorFlow(bool authingWithSso) { var twoFactorPage = new TwoFactorPage(authingWithSso); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(false, app.Resources); ThemeManager.ApplyResourcesToPage(twoFactorPage); if (twoFactorPage.BindingContext is TwoFactorPageViewModel vm) { vm.TwoFactorAuthSuccessAction = () => DismissLockAndContinue(); vm.StartSetPasswordAction = () => DismissViewController(false, () => LaunchSetPasswordFlow()); if (authingWithSso) { vm.CloseAction = () => DismissViewController(false, () => LaunchLoginSsoFlow()); } else { vm.CloseAction = () => DismissViewController(false, () => LaunchLoginFlow()); } } var navigationPage = new NavigationPage(twoFactorPage); var twoFactorController = navigationPage.CreateViewController(); twoFactorController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(twoFactorController, true, null); }
private void LaunchLoginSsoFlow() { var loginPage = new LoginSsoPage(); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(false, app.Resources); ThemeManager.ApplyResourcesToPage(loginPage); if (loginPage.BindingContext is LoginSsoPageViewModel vm) { vm.StartTwoFactorAction = () => DismissViewController(false, () => LaunchTwoFactorFlow(true)); vm.StartSetPasswordAction = () => DismissViewController(false, () => LaunchSetPasswordFlow()); vm.UpdateTempPasswordAction = () => DismissViewController(false, () => LaunchUpdateTempPasswordFlow()); vm.SsoAuthSuccessAction = () => DismissLockAndContinue(); vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage()); } var navigationPage = new NavigationPage(loginPage); var loginController = navigationPage.CreateViewController(); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); LogoutIfAuthed(); }
private void InitApp() { // Init Xamarin Forms Forms.Init(); if (ServiceContainer.RegisteredServices.Count > 0) { ServiceContainer.Reset(); } iOSCoreHelpers.RegisterLocalServices(); var deviceActionService = ServiceContainer.Resolve <IDeviceActionService>("deviceActionService"); var messagingService = ServiceContainer.Resolve <IMessagingService>("messagingService"); ServiceContainer.Init(deviceActionService.DeviceUserAgent, Bit.Core.Constants.iOSAutoFillClearCiphersCacheKey, Bit.Core.Constants.iOSAllClearCipherCacheKeys); if (!_initedAppCenter) { iOSCoreHelpers.RegisterAppCenter(); _initedAppCenter = true; } iOSCoreHelpers.Bootstrap(); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(false, app.Resources); iOSCoreHelpers.AppearanceAdjustments(); _nfcDelegate = new Core.NFCReaderDelegate((success, message) => messagingService.Send("gotYubiKeyOTP", message)); iOSCoreHelpers.SubscribeBroadcastReceiver(this, _nfcSession, _nfcDelegate); }
private void LaunchUpdateTempPasswordFlow() { var updateTempPasswordPage = new UpdateTempPasswordPage(); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(app.Resources); ThemeManager.ApplyResourcesToPage(updateTempPasswordPage); if (updateTempPasswordPage.BindingContext is UpdateTempPasswordPageViewModel vm) { vm.UpdateTempPasswordSuccessAction = () => DismissViewController(false, () => LaunchHomePage()); vm.LogOutAction = () => DismissViewController(false, () => LaunchHomePage()); } var navigationPage = new NavigationPage(updateTempPasswordPage); var updateTempPasswordController = navigationPage.CreateViewController(); updateTempPasswordController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(updateTempPasswordController, true, null); }
private void LaunchRegisterFlow() { var registerPage = new RegisterPage(null); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(app.Resources); ThemeManager.ApplyResourcesToPage(registerPage); if (registerPage.BindingContext is RegisterPageViewModel vm) { vm.RegistrationSuccess = () => DismissViewController(false, () => LaunchLoginFlow(vm.Email)); vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage()); } var navigationPage = new NavigationPage(registerPage); var loginController = navigationPage.CreateViewController(); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); }
private void LaunchEnvironmentFlow() { var environmentPage = new EnvironmentPage(); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(app.Resources); ThemeManager.ApplyResourcesToPage(environmentPage); if (environmentPage.BindingContext is EnvironmentPageViewModel vm) { vm.SubmitSuccessAction = () => DismissViewController(false, () => LaunchHomePage()); vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage()); } var navigationPage = new NavigationPage(environmentPage); var loginController = navigationPage.CreateViewController(); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); }
private void LaunchSetPasswordFlow() { var setPasswordPage = new SetPasswordPage(); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(false, app.Resources); ThemeManager.ApplyResourcesToPage(setPasswordPage); if (setPasswordPage.BindingContext is SetPasswordPageViewModel vm) { vm.SetPasswordSuccessAction = () => DismissLockAndContinue(); vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage()); } var navigationPage = new NavigationPage(setPasswordPage); var setPasswordController = navigationPage.CreateViewController(); setPasswordController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(setPasswordController, true, null); }
public void PromptSSO() { var loginPage = new LoginSsoPage(); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(app.Resources); ThemeManager.ApplyResourcesToPage(loginPage); if (loginPage.BindingContext is LoginSsoPageViewModel vm) { vm.SsoAuthSuccessAction = () => DoContinue(); vm.CloseAction = Cancel; } var navigationPage = new NavigationPage(loginPage); var loginController = navigationPage.CreateViewController(); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); }
private void LaunchLoginFlow(string email = null) { var loginPage = new LoginPage(email); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(false, app.Resources); ThemeManager.ApplyResourcesToPage(loginPage); if (loginPage.BindingContext is LoginPageViewModel vm) { vm.StartTwoFactorAction = () => DismissViewController(false, () => LaunchTwoFactorFlow(false)); vm.LogInSuccessAction = () => DismissLockAndContinue(); vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage()); } var navigationPage = new NavigationPage(loginPage); var loginController = navigationPage.CreateViewController(); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); }
public static void InitApp <T>(T rootController, string clearCipherCacheKey, NFCNdefReaderSession nfcSession, out NFCReaderDelegate nfcDelegate, out IAccountsManager accountsManager) where T : UIViewController, IAccountsManagerHost { Forms.Init(); if (ServiceContainer.RegisteredServices.Count > 0) { ServiceContainer.Reset(); } RegisterLocalServices(); var deviceActionService = ServiceContainer.Resolve <IDeviceActionService>("deviceActionService"); var messagingService = ServiceContainer.Resolve <IMessagingService>("messagingService"); ServiceContainer.Init(deviceActionService.DeviceUserAgent, clearCipherCacheKey, Bit.Core.Constants.iOSAllClearCipherCacheKeys); InitLogger(); Bootstrap(); var appOptions = new AppOptions { IosExtension = true }; var app = new App.App(appOptions); ThemeManager.SetTheme(app.Resources); AppearanceAdjustments(); nfcDelegate = new Core.NFCReaderDelegate((success, message) => messagingService.Send("gotYubiKeyOTP", message)); SubscribeBroadcastReceiver(rootController, nfcSession, nfcDelegate); accountsManager = ServiceContainer.Resolve <IAccountsManager>("accountsManager"); accountsManager.Init(() => appOptions, rootController); }
private async Task ContinueOnAsync() { Tuple <SendType, string, byte[], string> createSend = null; if (_context.ProviderType == UTType.Data) { var(filename, fileBytes) = await LoadDataBytesAsync(); createSend = new Tuple <SendType, string, byte[], string>(SendType.File, filename, fileBytes, null); } else if (_context.ProviderType == UTType.PlainText) { createSend = new Tuple <SendType, string, byte[], string>(SendType.Text, null, null, LoadText()); } var appOptions = new AppOptions { IosExtension = true, CreateSend = createSend, CopyInsteadOfShareAfterSaving = true }; var sendAddEditPage = new SendAddEditPage(appOptions) { OnClose = () => CompleteRequest(), AfterSubmit = () => CompleteRequest() }; var app = new App.App(appOptions); ThemeManager.SetTheme(app.Resources); ThemeManager.ApplyResourcesToPage(sendAddEditPage); var navigationPage = new NavigationPage(sendAddEditPage); var sendAddEditController = navigationPage.CreateViewController(); sendAddEditController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(sendAddEditController, true, null); }
static Program() { System.Data.Entity.Database.SetInitializer(new DropCreateDatabaseAlways <DefaultContext>()); ContainerBuilder containerBuilder = new ContainerBuilder(); containerBuilder .RegisterGeneric(typeof(EntityFrameworkRepository <>)) .As(typeof(IRepository <>)) .SingleInstance(); containerBuilder .RegisterType <DatabaseService>() .As <IDatabaseService>() .SingleInstance(); containerBuilder .RegisterType <TableService>() .As <ITableService>() .SingleInstance(); containerBuilder .RegisterType <AttributeService>() .As <IAttributeService>() .SingleInstance(); containerBuilder .RegisterType <LInkService>() .As <ILinkService>() .SingleInstance(); containerBuilder .RegisterType <DeployService>() .As <IDeployService>() .SingleInstance(); containerBuilder .RegisterType <AttributeSqlExpressionProvider>() .As <IAttributeSqlExpressionProvider>(); containerBuilder .RegisterType <DatabaseSqlExpressionProvider>() .As <IDatabaseSqlExpressionProvider>(); containerBuilder .RegisterType <TableSqlExpressionProvider>() .As <ITableSqlExpressionProvider>(); containerBuilder .RegisterType <LinkSqlExpressionProvider>() .As <ILinkSqlExpressionProvider>(); containerBuilder .RegisterType <DeploySqlExpressionProvider>() .As <IDeploySqlExpressionProvider>(); containerBuilder .RegisterType <CRUDsqlExpressionProvider>() .As <ICRUDsqlExpressionProvider>(); containerBuilder .RegisterType <SqlExpressionExecutor>() .As <ISqlExpressionExecutor>(); containerBuilder .RegisterInstance(new DefaultContext()) .As <DbContext>() .SingleInstance(); containerBuilder .RegisterType <AttributeValidator>() .As <IAttributeValidator>(); containerBuilder .RegisterType <DatabaseValidator>() .As <IDatabaseValidator>(); containerBuilder .RegisterType <TableValidator>() .As <ITableValidator>(); containerBuilder .RegisterType <LinkValidator>() .As <ILinkValidator>(); containerBuilder .RegisterType <CRUD>() .As <ICRUD>(); containerBuilder .RegisterType <App.App>() .WithParameter( "connectionString", parameterValue: ConfigurationManager.ConnectionStrings["DefaultContext"].ConnectionString); Container = containerBuilder.Build(); App = Container.Resolve <App.App>(); }
public MainForm(App.App app) { _app = app; InitializeComponent(); }