Exemple #1
0
        public static void StartAuthorization(string userName, string password)
        {
            _webRequest.UserName = userName;
            _webRequest.Password = password;

            Application.InvokeOnMainThread(() => AuthScreen.EditableVisualElements(false));
            _webRequest.Get(Settings.AuthUrl, Callback);
        }
Exemple #2
0
        private static void Callback(object sender, ResultEventArgs <WebRequest.WebRequestResult> args)
        {
            if (args.Result.Success)
            {
#if DEBUG
                DConsole.WriteLine("Авторизация успешна");
                DConsole.WriteLine($"UserId - {Settings.UserId} Web Request Result - {args.Result.Result}");
#endif
                Utils.TraceMessage($"{nameof(PushNotification)}.{nameof(PushNotification.IsInitialized)} -> {PushNotification.IsInitialized}");
                //Проверяем, если пользователь уже сохранен, то делаем частичную синхронизацию, иначе полную.
                // ReSharper disable once StringCompareIsCultureSpecific.3
                if (string.Compare(Settings.User, _webRequest.UserName, true) == 0)
                {
#if DEBUG
                    DConsole.WriteLine($"Авторизировались, пользователь сохранен в системе.");
                    DConsole.WriteLine("Сохраняем пароль");
#endif

                    Settings.Password = _webRequest.Password;

#if DEBUG
                    DConsole.WriteLine($"Запустили частичную синхронизацию. From class {nameof(Authorization)}");
#endif
                    DBHelper.SyncAsync();
                    Utils.TraceMessage($"{nameof(PushNotification)}.{nameof(PushNotification.IsInitialized)} -> {PushNotification.IsInitialized}");
                    DConsole.WriteLine("Loading first screen...");
                    Navigation.ModalMove("EventListScreen");
                }
                else
                {
#if DEBUG
                    DConsole.WriteLine($"Авторизировались, пользователь НЕ сохранен в системе.");
                    DConsole.WriteLine("Сохраняем пользователя и пароль в системе");
#endif
                    Settings.User     = _webRequest.UserName;
                    Settings.Password = _webRequest.Password;
#if DEBUG
                    DConsole.WriteLine($"Запустили полную синхронизацию. From class {nameof(Authorization)}");
#endif
                    Utils.TraceMessage($"{nameof(PushNotification)}.{nameof(PushNotification.IsInitialized)} -> {PushNotification.IsInitialized}");
                    Application.InvokeOnMainThread(() => AuthScreen.EditableVisualElements(false));
                    DBHelper.FullSyncAsync(ResultEventHandler);
                }
            }
            else
            {
#if DEBUG
                DConsole.WriteLine($"Авторизация не удалась. Сбрасываем пароль.");
#endif
                Settings.Password = "";
                Application.InvokeOnMainThread(AuthScreen.ClearPassword);

                ErrorMessageWithToast(args);
                Application.InvokeOnMainThread(() => AuthScreen.EditableVisualElements(true));
            }
        }
Exemple #3
0
        public static void StartAuthorization(string userName, string password)
        {
            Init();
            _user     = userName;
            _password = password;
            var userpass = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{userName}:{password}"));

            _webRequest.AddHeader($"Authorization", $"Basic {userpass}");
            Utils.TraceMessage($"Header auth in BASE64:{userpass}");
            Application.InvokeOnMainThread(() => AuthScreen.EditableVisualElements(false));
            Utils.TraceMessage($"Url auth: {Settings.AuthUrl}");
            _webRequest.Get(Settings.AuthUrl, Callback);
        }
Exemple #4
0
        private static void ResultEventHandler(object sender, ResultEventArgs <bool> resultEventArgs)
        {
            if (!DBHelper.SuccessSync)
            {
                Settings.User     = "";
                Settings.Password = "";
                Application.InvokeOnMainThread(AuthScreen.ClearPassword);
                Application.InvokeOnMainThread(() => AuthScreen.EditableVisualElements(true));
                return;
            }
#if DEBUG
            DConsole.WriteLine(Parameters.Splitter);
            DConsole.WriteLine("Синхронизация удачна");
            DConsole.WriteLine($"{nameof(DBHelper.SuccessSync)} - {DBHelper.SuccessSync}");
            DConsole.WriteLine($"In Class {nameof(Authorization)} Method {nameof(StartAuthorization)}");
            DConsole.WriteLine(Parameters.Splitter);
            DConsole.WriteLine("Loading first screen...");
#endif
            FileSystem.ClearPrivate();
            FileSystem.ClearShared();
            FileSystem.SyncShared(Settings.ImageServer, Settings.User, Settings.Password);
            Application.InvokeOnMainThread(() => Navigation.ModalMove(nameof(EventListScreen)));
        }