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"); } }
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()); } } } }
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"); } }
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); } }