public async Task <IActionResult> MeGustaUsuario(int id, int recibidorId) { if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var meGusta = await _coderos.ObtenerMeGusta(id, recibidorId); if (meGusta != null) { return(BadRequest($"No puede darle {"Me gusta "} al mismo usuario más de una vez.")); } if (await _coderos.ObtenerUsuario(recibidorId) == null) { return(NotFound("Usuario no encontrado")); } meGusta = new MeGusta { MeGustadorId = id, MeGustaaId = recibidorId }; _coderos.Agregar <MeGusta> (meGusta); if (await _coderos.Guardar()) { return(Ok()); } return(BadRequest($"Error al darle {"'Me Gusta'"} al usuario")); }
public async void B_MeGusta(object sender, EventArgs e) { HttpClient cliente4 = new HttpClient(); var responseMG = await cliente4.GetStringAsync("https://cursivia.herokuapp.com/api_v1/meGusta/"); var megustas = JsonConvert.DeserializeObject <List <MeGusta> >(responseMG); var ListaMG = new List <MeGusta>(); bool isOk = true; HttpClient cliente2 = new HttpClient(); string sTokenUser = "******" + this.sToken + "/"; var responseU = await cliente2.GetStringAsync(sTokenUser); var sUser = JsonConvert.DeserializeObject <TokenUser>(responseU); this.sUsuario = sUser.user; foreach (var MG in megustas) { if (MG.usuario == this.sUsuario && MG.publicacion == this.sPublic) { isOk = false; } } if (isOk) { HttpClient client = new HttpClient(); MeGusta megusta = new MeGusta() { //id = 4, usuario = this.sUsuario, publicacion = this.sPublic }; var json = JsonConvert.SerializeObject(megusta); var content = new StringContent(json, Encoding.UTF8, "application/json"); try { var result = await client.PostAsync("https://cursivia.herokuapp.com/api_v1/meGusta/", content); if (result.StatusCode == HttpStatusCode.Created) { HttpClient cliente3 = new HttpClient(); var responseP = await cliente2.GetStringAsync(sPublic); var sPublicacion = JsonConvert.DeserializeObject <Publicacion>(responseP); Publicacion publicacion = new Publicacion() { id = sPublicacion.id, usuario = sPublicacion.usuario, titulo = sPublicacion.titulo, cuerpo = sPublicacion.cuerpo, fecha_alta = sPublicacion.fecha_alta, aprovacion = sPublicacion.aprovacion + 1, tipo_publicacion = sPublicacion.tipo_publicacion, materia = sPublicacion.materia }; var json2 = JsonConvert.SerializeObject(publicacion); var content2 = new StringContent(json2, Encoding.UTF8, "application/json"); var result2 = await client.PutAsync(sPublic, content2); if (result2.IsSuccessStatusCode) { Application.Current.MainPage = new NavigationPage(new PublicacionDetail(this.sToken, this.sPublic, this.sMat)); } } } catch (Exception ex) { var msg = ex.Message; Console.WriteLine(msg); } } else { await DisplayAlert("Ups!", "Ya te gusta esta publicación", "Ok"); } }