Exemple #1
0
        private void OnSetupButtonClick(object sender, RoutedEventArgs e)
        {
            ViewMode = LoginPageViewMode.Progress;

            Uri hospApiUri;
            Uri imsApiUri;

            bool isHospApiUriValid = Uri.TryCreate(tbx_hospapi.Text.Trim(), UriKind.Absolute, out hospApiUri);
            bool isImsApiUriValid  = Uri.TryCreate(tbx_imsapi.Text.Trim(), UriKind.Absolute, out imsApiUri);

            if (isHospApiUriValid && isImsApiUriValid)
            {
                ApiSettings settings = new ApiSettings()
                {
                    HospitalApiBaseUri = hospApiUri,
                    ImsApiBaseUri      = imsApiUri,
                    StationCode        = tbx_stncode.Text.Trim()
                };
                string serializedSettings = JsonConvert.SerializeObject(settings);
                SettingsHelper.SetLocalSetting("ims_settings", serializedSettings);

                App.ApiSettings = settings;

                tbx_un.Text     = "";
                pbx_pw.Password = "";
                ViewMode        = LoginPageViewMode.Login;
            }
            else
            {
                ViewMode = LoginPageViewMode.Setup;
                FillInExistingSettings();
            }
        }
Exemple #2
0
        public LoginPage(LoginPageViewMode mode = LoginPageViewMode.Login)
        {
            InitializeComponent();
            ViewMode = mode;

            if (ViewMode == LoginPageViewMode.Setup)
            {
                FillInExistingSettings();
            }
        }
Exemple #3
0
        private async void Login()
        {
            try
            {
                ViewMode            = LoginPageViewMode.Progress;
                btn_login.IsEnabled = false;
                await Task.Delay(10);

                Personnel user = await Personnel.AuthenticateAsync(App.ApiSettings, tbx_un.Text, pbx_pw.Password);

                App.LoggedUser = user;

                string pairedDeviceSettings = SettingsHelper.GetLocalSetting("ims_pairedDevice");

                Shell clientShell;
                if (pairedDeviceSettings != null)
                {
                    MobileMedAdminSystem system = JsonConvert.DeserializeObject <MobileMedAdminSystem>(pairedDeviceSettings);
                    clientShell = new Shell(typeof(PatientsPage), system);
                }
                else
                {
                    clientShell = new Shell(typeof(Devices.DevicesRegisterPage));
                }
                Window.Current.Content = clientShell;

                Window.Current.Activate();
            }
            catch (ApiException ex)
            {
                //TODO: If the destination URI is unreachable but internet is present, offer to go to setup
                //hbtn_setup.Visibility = Visibility.Visible;

                MessageDialog md = new MessageDialog(ex.Message, ex.Errors);
                md.Commands.Add(new UICommand("Try again", (command) => {
                    ViewMode = LoginPageViewMode.Login;

                    hbtn_setup.Visibility = Visibility.Collapsed;
                }));
                await md.ShowAsync();
            }
            catch (HttpRequestException ex)
            {
                MessageDialog md = new MessageDialog(ex.InnerException.Data["RestrictedDescription"].ToString(), ex.Message);
                md.Commands.Add(new UICommand("Try again", (command) =>
                {
                    hbtn_setup.Visibility = Visibility.Visible;
                    sp_setupdesc.Text     = "Administrator? You may want to check your connection paramters.";

                    ViewMode = LoginPageViewMode.Login;
                }));
                await md.ShowAsync();
            }
        }
Exemple #4
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            LoginPageViewMode param = (LoginPageViewMode)Enum.Parse(typeof(LoginPageViewMode), parameter as string);

            return(((LoginPageViewMode)value == param) ? Visibility.Visible : Visibility.Collapsed);
        }
Exemple #5
0
 private void OnLoginConnectionProblemButtonClick(object sender, RoutedEventArgs e)
 {
     ViewMode = LoginPageViewMode.Setup;
 }