/// <summary> /// Se le agrega un comentario a una canción /// </summary> /// <param name="song_id"> /// id de la canción /// </param> /// <param name="usr_name"> /// nombre de usuario del que hace el comentario /// </param> /// <param name="p_comment"> /// comentario /// </param> /// <returns> /// bool que es true si se completa la acción, /// es false si no se logra. /// </returns> public async Task<bool> setComment2ASong(int song_id, string usr_name, string p_comment) { bool result = false; Comment comm = new Comment() { autor = usr_name, cmt = p_comment }; using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(server_url); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(format)); HttpResponseMessage response = await client.PutAsJsonAsync<Comment>(mongo_songs_path + "/Comment?id=" + song_id.ToString(), comm); if (response.IsSuccessStatusCode) { result = true; } else { result = false; Console.WriteLine("Status Code {0}", response.StatusCode); } } return result; }
/// <summary> /// Obtiene los comentarios y que los hizo /// </summary> /// <param name="song_id"> /// Identificador de la canción de la que se /// quieren obtener los comentarios /// </param> /// <returns> /// List de string que tiene comentarios y quien los hizo /// </returns> public async Task<List<Comment>> getSongComments(int song_id) { List<Comment> result = new List<Comment>(); using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(server_url); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(format)); HttpResponseMessage response = await client.GetAsync(mongo_songs_path + "/Comment?id=" + song_id.ToString()); if (response.IsSuccessStatusCode) { string[] res = await response.Content.ReadAsAsync<string[]>(); if(res.Length%2 == 0) { for (int i = 0; i < res.Length; i += 2) { Comment tmp = new Comment() { autor = res[i], cmt = res[i+1] }; result.Add(tmp); } } else { Console.WriteLine("Error con los comentarios"); } } else { result = null; Console.WriteLine("Status Code {0}", response.StatusCode); } } return result; }