/// <summary> /// Obtiene la descripción de un artista específico. /// </summary> /// <param name="artist">Nombre del artista.</param> /// <returns>Una descripción (si existe) del artista buscado.</returns> public async Task <MArtist> GetArtistInfo(string artist) { MArtist result = null; string response = await WebApiService.GetAsync(new Uri(string.Format(Settings.Servers.ArtistInfoUrl, artist), UriKind.Absolute)); if (!string.IsNullOrEmpty(response)) { try { if (!response.Contains("error")) { result = new MArtist(); var artistInfo = JObject.Parse(response).SelectToken("artist").ToString(); result = WebApiService.Deserialize <MArtist>(artistInfo); result.Image = result.Images[3].Url; //Obtenemos la imagen más grande } } catch (Exception ex) { Debug.WriteLine(ex.Message); } } return(result); }
public static ArtistDetailFragment NewInstance(MArtist selectedArtist) { var detailsFrag = new ArtistDetailFragment { Arguments = new Bundle() }; detailsFrag.Arguments.PutString("current_artist", JsonConvert.SerializeObject(selectedArtist)); return(detailsFrag); }
/// <summary> /// Se ejecuta al inicio para obtener los parámetros enviados desde ArtistViewModel. /// </summary> /// <param name="artist">Artista seleccionado.</param> public async void Init(MArtist artist) { if (artist == null || string.IsNullOrEmpty(artist.Name)) { return; } this.ArtistParam = artist; await LoadArtistDetail(); }
/// <summary> /// Obtiene información del artista seleccionado en la pantalla anterior. /// </summary> /// <returns></returns> public async Task LoadArtistDetail() { IsLoading = true; var data = await DataService.GetArtistInfo(ArtistParam.Name); if (data != null) { Artist = new MArtist(); Artist = data; } else { ErrorMsg = "No se encontraron resultados para ésta búsqueda."; IsErrorMsgVisible = true; } IsLoading = false; }
public static bool Remove(MArtist item) { var itemToRemove = LikedArtists.Where(i => i.ArtistID == item.ArtistID).FirstOrDefault(); return(LikedArtists.Remove(itemToRemove)); }
public ArtistDetailVM(MArtist artist) { Artist = artist; }
public ArtistDetailPage(MArtist artist) { InitializeComponent(); BindingContext = model = new ArtistDetailVM(artist); }