Exemplo n.º 1
0
 public static void RegisterCustomDialogService(ICustomProgressDialog customDialogService)
 {
     if (!SimpleIoc.Default.IsRegistered <ICustomProgressDialog>())
     {
         SimpleIoc.Default.Register(() => customDialogService);
     }
 }
Exemplo n.º 2
0
 public ProgressDialog(ICustomProgressDialog dataContext)
 {
     InitializeComponent();
     DataContext = dataContext;
 }
Exemplo n.º 3
0
        public async Task AttemptLoginAsync()
        {
            EnableLoginButton = false;
            Dialog            = _locator.Dialog;
            Dialog.StartProgressDialog("The Nest", "Logging in...", false);

            try
            {
                if (CurrentUser.Id == "123")
                {
                    LoginAuthenticator.SaveLogin("USERNAME", "118965");

                    _locator.User = "******";

                    Dialog.ChangeDialogText("The Nest", "Loading...");

                    await _locator.Main.InitializeNewUserAsync();

                    Debug.WriteLine($"\n\n\n\nCredentials:{LoginAuthenticator.GetLogin("USERNAME")}");

                    EnableLoginButton = true;

                    Dialog.DismissProgressDialog();
                }
                else
                {
                    try
                    {
                        _azureTokenTable = App.Client.GetTable <AzureToken>();

                        var userTable = await _azureTokenTable
                                        .Where(user => user.Id == CurrentUser.Id).ToListAsync();

                        if (userTable != null)
                        {
                            Remote = userTable[0];
                            if (Authenticator.VerifyPassword(CurrentUser.Password,
                                                             Remote.HashedPassword, Remote.Salt))
                            {
                                LoginAuthenticator.SaveLogin("USERNAME", Remote.Id);
                                _locator.User = CurrentUser.Id;

                                Dialog.ChangeDialogText("The Nest", "Loading...");

                                await _locator.Main.InitializeNewUserAsync();

                                Dialog.DismissProgressDialog();
                                Debug.WriteLine($"\n\nCredentials:" +
                                                $"{LoginAuthenticator.GetLogin("USERNAME")}");
                            }
                            else
                            {
                                Debug.WriteLine("\n\n\n\nWrong Credentials");
                                Dialog.DismissProgressDialog();
                                await Dialog.StartDialogAsync("Error:",
                                                              "\nIncorrect username or password.\n", true, 0);
                            }
                        }
                        else
                        {
                            Dialog.DismissProgressDialog();
                            await Dialog.StartDialogAsync("Error:",
                                                          "\nIncorrect username or password.\n", true, 0);
                        }
                    }

                    catch (System.Net.WebException internetConnectionEx)
                    {
                        Debug.WriteLine($"\n\n\n{internetConnectionEx.Message}");
                        Dialog.DismissProgressDialog();
                        await Dialog.StartToastAsync("Please check your Internet connection.",
                                                     Android.Widget.ToastLength.Long, 150);
                    }

                    catch (ArgumentOutOfRangeException IncorrectCredentials)
                    {
                        Debug.WriteLine($"\n\n\n{IncorrectCredentials.Message}");
                        Dialog.DismissProgressDialog();
                        await Dialog.StartDialogAsync("Error:",
                                                      "Incorrect username or password.\n", true, 0);
                    }

                    catch (Exception UnkownError)
                    {
                        Debug.WriteLine($"\n\n\n{UnkownError.Message}");
                        Dialog.DismissProgressDialog();
                        await Dialog.StartDialogAsync(null,
                                                      "An error occured while logging in.\nPlease try again.", true, 0);
                    }
                    EnableLoginButton = true;
                }
            }
            catch (ArgumentNullException EmptyCredential)
            {
                Debug.WriteLine($"\n\n\n{EmptyCredential.Message}");
                Dialog.DismissProgressDialog();
                await Dialog.StartDialogAsync("Error:",
                                              "Please input both username and password.", true, 0);

                EnableLoginButton = true;
            }
        }