Esempio n. 1
0
        public async void ShowAuthor(int id)
        {
            try
            {
                if (id != Storage.User.Id)
                {
                    Storage.Friend = Users.GetInfoAboutUser(id).User;
                    Storage.Friend.AddPhoto(Photo.Get(id).Image);
                    ResultObj result = BloodData.Get(id);
                    Storage.Friend.AddBloodGroup(result.BloodGroup);
                    Storage.Friend.AddRFactor(result.RFactor);
                    Storage.IsUserNow = false;
                }
                else
                {
                    Storage.IsUserNow = true;
                }
                await Navigation.PushModalAsync(new Profile());

                Storage.Friend = null;
                System.GC.Collect();
            }
            catch (System.Exception ex)
            {
                await DisplayAlert("Ошибка", ex.Message, "OK");
            }
        }
Esempio n. 2
0
        public static async void LogIn(bool IsEnter)
        {
            if (IsEnter)
            {
                DataAlreadyLoaded?.Invoke();
                Storage.DataLoaded = true;
            }
            else
            {
                if (Current.Properties.TryGetValue("user", out object id))
                {
                    try
                    {
                        ResultObj result = await Task.Run(() => Users.GetInfoAboutUser((int)id));

                        Storage.User = result.User;
                        Storage.User.AddPhoto(Photo.Get(Storage.User.Id).Image);
                        ResultObj blood = BloodData.Get(result.User.Id);
                        Storage.User.AddBloodGroup(blood.BloodGroup);
                        Storage.User.AddRFactor(blood.RFactor);
                        DataAlreadyLoaded?.Invoke();
                        Storage.DataLoaded = true;
                    }
                    catch (System.Exception ex)
                    {
                        string str = ex.Message;
                        Current.MainPage = new NavigationPage(new EnterPage());
                    }
                }
            }
        }
Esempio n. 3
0
 private async void ResultList_ItemTapped(object sender, ItemTappedEventArgs e)
 {
     try
     {
         ResultList.IsEnabled = false;
         if (e.Item != null)
         {
             UserModel userView = (UserModel)e.Item;
             int       id       = userView.ModeID;
             if (id != -1)
             {
                 if (id != Storage.User.Id)
                 {
                     Storage.Friend = Users.GetInfoAboutUser(id).User;
                     Storage.Friend.AddPhoto(Photo.Get(id).Image);
                     ResultObj result = BloodData.Get(id);
                     Storage.Friend.AddBloodGroup(result.BloodGroup);
                     Storage.Friend.AddRFactor(result.RFactor);
                     Storage.IsUserNow = false;
                 }
                 else
                 {
                     Storage.IsUserNow = true;
                 }
                 await Navigation.PushAsync(new Profile());
             }
         }
         ((ListView)sender).SelectedItem = null;
         ResultList.IsEnabled            = true;
         System.GC.Collect();
     }
     catch (System.Exception ex)
     {
         await DisplayAlert("Error", ex.Message, "OK");
     }
 }
Esempio n. 4
0
        private async void EnterButton_Clicked(object sender, EventArgs e)
        {
            try
            {
                EnterButton.IsEnabled = false;
                IsBusy = true;

                if (!IsCheck)
                {
                    EnterButton.Text = "Войти";
                    CheckParams();
                    Password.PlaceholderColor = Color.LightGray;
                    Password.IsVisible        = true;
                    IsCheck = true;
                }
                else
                {
                    if (CrossConnectivity.Current.IsConnected)
                    {
                        if (CheckParams())
                        {
                            ResultObj result = await Task.Run(() => DonorPlusLib.Login.CheckLogin(Login.Text.Trim(), Password.Text));

                            if (result.ErrorMessage == "OK")
                            {
                                Storage.User = result.User;
                                Storage.User.AddPhoto(Photo.Get(result.User.Id).Image);
                                ResultObj blood = BloodData.Get(result.User.Id);
                                Storage.User.AddBloodGroup(blood.BloodGroup);
                                Storage.User.AddRFactor(blood.RFactor);


                                if (Storage.IsMailsAvaliable)
                                {
                                    SendEmailAsync(Storage.User.Email).GetAwaiter();
                                }

                                App.Current.Properties.Clear();

                                App.Current.Properties.Add("user", result.User.Id);

                                if (Navigation.NavigationStack.Count == 1)
                                {
                                    App.Current.MainPage = new NavigationPage(new MainPage());
                                }
                                else
                                {
                                    await Navigation.PushModalAsync(new MainPage());
                                }
                                App.LogIn(true);
                            }
                            else
                            {
                                IsBusy = false;
                                await DisplayAlert("Ошибка", "Некорректные данные или проблемы с интернетом", "ОК");
                            }
                        }
                    }
                    else
                    {
                        await DisplayAlert("Интернет отсутствует", "Подключите интернет", "ОК");
                    }
                }
                IsBusy = false;
                EnterButton.IsEnabled = true;
            }
            catch (Exception ex)
            {
                await DisplayAlert("Ошибка", $"{ex.Message}", "OK");

                EnterButton_Clicked(sender, e);
            }
        }