public async Task <IActionResult> PutGrupoContactos([FromRoute] int id, [FromBody] GrupoContactos grupoContactos) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != grupoContactos.Id) { return(BadRequest()); } _context.Entry(grupoContactos).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GrupoContactosExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PostGrupo([FromBody] GrupoCompleto grupoc) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Grupos.Add(grupoc.Grupo); await _context.SaveChangesAsync(); foreach (var contacto in grupoc.Contactos) { var gc = new GrupoContactos() { GrupoId = grupoc.Grupo.Id, ContactoId = contacto.Id }; _context.GruposContactos.Add(gc); } await _context.SaveChangesAsync(); return(NoContent()); }
public async Task <IActionResult> PostContacto([FromBody] ContactoCompleto contacto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Contactos.Add(contacto.Contacto); await _context.SaveChangesAsync(); foreach (var telefono in contacto.Telefonos) { telefono.ContactoId = contacto.Contacto.Id; _context.Telefonos.Add(telefono); } foreach (var grupo in contacto.Grupos) { var gc = new GrupoContactos { ContactoId = contacto.Contacto.Id, GrupoId = grupo.Id }; _context.GruposContactos.Add(gc); } await _context.SaveChangesAsync(); return(NoContent()); }
public async Task <IActionResult> PostGrupoContactos([FromBody] GrupoContactos grupoContactos) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.GruposContactos.Add(grupoContactos); await _context.SaveChangesAsync(); return(CreatedAtAction("GetGrupoContactos", new { id = grupoContactos.Id }, grupoContactos)); }
public async Task <IActionResult> PutGrupo([FromRoute] int id, [FromBody] GrupoCompleto grupo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != grupo.Grupo.Id) { return(BadRequest()); } foreach (var contacto in grupo.Contactos) { var grct = _context.GruposContactos.FirstOrDefault(gr => gr.GrupoId == id && gr.ContactoId == contacto.Id); if (null == grct) { var gc = new GrupoContactos { GrupoId = grupo.Grupo.Id, ContactoId = contacto.Id }; _context.GruposContactos.Add(gc); } } var grcts = _context.GruposContactos.Where(gc => gc.GrupoId == id && grupo.Contactos.All(g => g.Id != gc.ContactoId)); foreach (var grct in grcts) { _context.GruposContactos.Remove(grct); } _context.Entry(grupo.Grupo).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GrupoExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }