public static async Task <UserProfiloViewModel> ExecuteLoadCommandAsync(Guid Id) { //if (IsLoading) // return; //IsLoading = true; UserProfiloViewModel userProfiloViewModel = new UserProfiloViewModel(); userProfiloViewModel.UserId = Id; //Info = userInfo; //Nome = userInfo.Nome; try { AmiciClient amiciClient = new AmiciClient(await Api.ApiHelper.GetApiClient()); userProfiloViewModel.Info = await amiciClient.GetUserInfoByIdUsersAsync(Id); userProfiloViewModel.Nome = userProfiloViewModel.Info.Nome; } catch (Exception ex) { Debug.WriteLine(ex); } //await ExecuteLoadItemsCommand(); //IsLoading = false; return(userProfiloViewModel); }
//se amiciAccettati == true -> restituisce gli utenti che sono MIEI AMICI (accettato = true) //se amiciAccettati == false -> restituisce gli utenti che HANNO CHIESTO di essere miei amici (amicizie di cui il current è destinario, con accettato = false) async Task ExecuteLoadItemsCommand() { if (IsBusy) { return; } IsBusy = true; if (IsLoading) { return; } IsLoading = true; try { Items.Clear(); AmiciClient amiciClient = new AmiciClient(await ApiHelper.GetApiClient()); ICollection <UserInfoDto> listaUsers; if (SoloAccettati) { listaUsers = await amiciClient.GetAmiciOfCurrentUserAsync(); } else { listaUsers = await amiciClient.GetRichiesteAmiciziaOfCurrentUserAsync(); } foreach (var user in listaUsers) { //if (user.PhotoUrl != null) //{ // using (var webClient = new WebClient()) // { // byte[] imageBytes = webClient.DownloadData(user.PhotoUrl); // user.FotoProfilo = imageBytes; // } //} Items.Add(user); } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; IsLoading = false; } }
//restituisce gli utenti che hanno corrispondenza con il filtro (nome cognome contiene il filtro) async Task ExecuteLoadItemsCommandFiltered(string Filter) { if (IsBusy) { return; } IsBusy = true; if (IsLoading) { return; } IsLoading = true; try { Items.Clear(); AmiciClient amiciClient = new AmiciClient(await ApiHelper.GetApiClient()); ICollection <UserInfoDto> listaUsers; if (Filter != null && Filter.Length != 0) { listaUsers = await amiciClient.GetRicercaUtentiAsync(Filter); foreach (var user in listaUsers) { if (user.PhotoUrl != null) { using (var webClient = new WebClient()) { byte[] imageBytes = webClient.DownloadData(user.PhotoUrl); user.FotoProfilo = imageBytes; } } Items.Add(user); } } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; IsLoading = false; } }
protected async override void OnAppearing() { base.OnAppearing(); MessagingCenter.Subscribe <EventoModifica, string>(this, "RefreshListaEventiPersonaliModifica", async(sender, arg) => { if (!string.IsNullOrEmpty(arg)) { viewModel.Items = new ObservableCollection <EventoDtoOutput>(); } }); MessagingCenter.Subscribe <EventoInserisci, string>(this, "RefreshListaEventiPersonaliInsert", async(sender, arg) => { if (!string.IsNullOrEmpty(arg)) { viewModel.Items = new ObservableCollection <EventoDtoOutput>(); } }); MessagingCenter.Subscribe <EventoModifica, string>(this, "RefreshListaEventiPersonaliElimina", async(sender, arg) => { if (!string.IsNullOrEmpty(arg)) { viewModel.Items = new ObservableCollection <EventoDtoOutput>(); } }); //ricarico quando devo recepire le modifiche if (viewModel.Items == null || viewModel.Items.Count == 0) { viewModel.LoadItemsCommand.Execute(null); } if (amiciPreviewList == null || !amiciPreviewList.Any()) { AmiciClient amiciClient = new AmiciClient(await ApiHelper.GetApiClient()); ICollection <UserInfoDto> collect = await amiciClient.GetAmiciCurrentUserPreviewAsync(); amiciPreviewList = collect.ToList(); AmiciPreviewListView.ItemsSource = amiciPreviewList; } await SetUserInfo(); }
private async void btnSendRequest_Clicked(object sender, EventArgs e) { AmiciClient amiciClient = new AmiciClient(await Api.ApiHelper.GetApiClient()); try { await amiciClient.InserisciAmiciziaAsync(viewModel.Info.IdAspNetUser.ToString()); btnSendRequest.IsVisible = false; btnRequestSent.IsVisible = true; } catch { await DisplayAlert(null, Helpers.TranslateExtension.ResMgr.Value.GetString("AmiciProfilo.ErrorSendRequest", CurrentCulture.Ci), Helpers.TranslateExtension.ResMgr.Value.GetString("AmiciProfilo.Ok", CurrentCulture.Ci)); } }
public static async Task <UserInfoDto> GetUserInfo() { UserInfoDto userInfo = null; if (Preferences.Get(UserInfoKey, null) != null) { userInfo = JsonConvert.DeserializeObject <UserInfoDto>(Preferences.Get(UserInfoKey, null)); } if (userInfo == null) { AmiciClient amiciClient = new AmiciClient(await ApiHelper.GetApiClient()); userInfo = await amiciClient.GetCurrentUserInfoAsync(); Preferences.Set(UserInfoKey, JsonConvert.SerializeObject(userInfo)); } return(userInfo); }
private async void btnDeleteContact_Clicked(object sender, EventArgs e) { AmiciClient amiciClient = new AmiciClient(await Api.ApiHelper.GetApiClient()); try { await amiciClient.AmiciziaDeleteOrDenyAsync(viewModel.Info.IdAspNetUser); btnConfirmDenyContact.IsVisible = true; btnConfirmDenyContact.IsVisible = false; btnSendRequest.IsVisible = true; viewModel.LoadItemsCommand.Execute(null); } catch { await DisplayAlert(null, Helpers.TranslateExtension.ResMgr.Value.GetString("AmiciProfilo.ErrorGeneric", CurrentCulture.Ci), Helpers.TranslateExtension.ResMgr.Value.GetString("AmiciProfilo.Ok", CurrentCulture.Ci)); } }
async void ToolbarItem_Clicked(System.Object sender, System.EventArgs e) { string action = await DisplayActionSheet("Che cosa vuoi fare?", "Annulla", null, "Rimuovi amico"); if (action == "Rimuovi amico") { bool answer = await DisplayAlert("Attenzione", //Helpers.TranslateExtension.ResMgr.Value.GetString("EventoModifica.ConfirmDelete", CurrentCulture.Ci), //Helpers.TranslateExtension.ResMgr.Value.GetString("EventoModifica.Yes", CurrentCulture.Ci), //Helpers.TranslateExtension.ResMgr.Value.GetString("EventoModifica.No", CurrentCulture.Ci)); "Vuoi procedre con l'eliminazione?", "Sì", "No"); if (answer) { AmiciClient amiciClient = new AmiciClient(await Api.ApiHelper.GetApiClient()); try { await amiciClient.AmiciziaDeleteOrDenyAsync(viewModel.Info.IdAspNetUser); btnConfirmDenyContact.IsVisible = false; btnConfirmDenyContact.IsVisible = false; btnSendRequest.IsVisible = true; viewModel.LoadItemsCommand.Execute(null); } catch { await DisplayAlert(null, Helpers.TranslateExtension.ResMgr.Value.GetString("AmiciProfilo.ErrorGeneric", CurrentCulture.Ci), Helpers.TranslateExtension.ResMgr.Value.GetString("AmiciProfilo.Ok", CurrentCulture.Ci)); } } } }