public static void UpdateCompromisso(Compromisso compromisso) { var compromissoDTO = Context.Compromisso.FirstOrDefault(c => c.IdCompromisso == compromisso.Id); if (compromissoDTO == null) { InsertCompromisso(compromisso); return; } compromissoDTO.Descricao = compromisso.Descricao; compromissoDTO.DataCompromisso = compromisso.DataCompromisso; compromissoDTO.Local = compromisso.Local; if (compromisso.Contatos.IsNullOrEmpty()) compromisso.Contatos = new List<Contato>(); //remove associação com contatos antigos que já não estão na lista de contatos enviada no compromisso //var contactsToRemove = Context.ContatoCompromisso.Where(cc => cc.IdCompromisso == compromisso.Id) // .Where(cc => !compromisso.Contatos.Any(cont => cont.Id == cc.IdContato)) // .ToList(); Context.ContatoCompromisso.RemoveRange(Context.ContatoCompromisso.Where(cc => cc.IdCompromisso == compromisso.Id).ToList()); foreach (var contato in compromisso.Contatos) { Context.ContatoCompromisso.Add(new DataAccess.ContatoCompromisso() { IdContato = contato.Id, IdCompromisso = compromisso.Id, }); } Context.SaveChanges(); }
internal static void SaveCompromisso(Compromisso compromisso) { DataAccess.Compromisso c = new DataAccess.Compromisso() { // preenchier atributos... }; //adicionar c no banco }
public static void InsertCompromisso(Compromisso c) { DataAccess.Compromisso compromisso = new DataAccess.Compromisso() { Descricao = c.Descricao, DataCompromisso = c.DataCompromisso, Local = c.Local, IdGerente = c.IdGerente }; Context.Compromisso.Add(compromisso); Context.SaveChanges(); if (!c.Contatos.IsNullOrEmpty()) { foreach (var contato in c.Contatos) { Context.ContatoCompromisso.Add(new DataAccess.ContatoCompromisso() { IdContato = contato.Id, IdCompromisso = compromisso.IdCompromisso }); } } Context.SaveChanges(); }