public ActionResult <Pessoa> Put(Pessoa request) { var fonesExcluidos = _context.Fone .Where(x => x.PessoaId == request.Id && !request.Fones.Where(y => y.Id.HasValue).Select(y => y.Id).Contains(x.Id) ); foreach (var item in fonesExcluidos) { _context.Remove(item); } foreach (var item in request.Fones) { if (item.Id.HasValue) { _context.Fone.Update(item); } else { item.PessoaId = request.Id; _context.Fone.Add(item); } } request.Fones = null; // var emailsExcluidos = _context.Email .Where(x => x.PessoaId == request.Id && !request.Emails.Where(y => y.Id.HasValue).Select(y => y.Id).Contains(x.Id) ); foreach (var item in emailsExcluidos) { _context.Remove(item); } foreach (var item in request.Emails) { if (item.Id.HasValue) { _context.Email.Update(item); } else { item.PessoaId = request.Id; _context.Email.Add(item); } } request.Emails = null; _context.Pessoa.Update(request); _context.SaveChanges(); return(request); }
public void Delete(int id) { _context.Remove(new Cidade { Id = id }); _context.SaveChanges(); }