public async Task Create(Aliado model) { try { _db.Aliado.Add(model); await _db.SaveChangesAsync(); if (model.listaContactos != null) { ContactosPorAliados nuevoContacto = new ContactosPorAliados(); foreach (var c in model.listaContactos) { nuevoContacto.ContactoId = c.ContactoId; nuevoContacto.aliadoId = model.AliadoId; nuevoContacto.fechaRegistro = DateTime.Now; _db.ContactorPorAliados.Add(nuevoContacto); await _db.SaveChangesAsync(); } } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Update(Aliado model) { try { var _model = await _db.Aliado.FirstOrDefaultAsync(e => e.AliadoId == model.AliadoId); if (_model != null) { _db.Entry(_model).CurrentValues.SetValues(model); await _db.SaveChangesAsync(); if (model.listaContactos != null) { var listaContactosViejos = await _db.ContactorPorAliados.Where(e => e.aliadoId == model.AliadoId).ToListAsync(); foreach (var contacto in listaContactosViejos) { var x = await _db.ContactorPorAliados.FirstOrDefaultAsync(e => e.id == contacto.id); if (x != null) { _db.ContactorPorAliados.Remove(x); await _db.SaveChangesAsync(); } } ContactosPorAliados nuevoContacto = new ContactosPorAliados(); foreach (var c in model.listaContactos) { nuevoContacto.aliadoId = model.AliadoId; nuevoContacto.ContactoId = c.ContactoId; nuevoContacto.fechaRegistro = DateTime.Now; _db.ContactorPorAliados.Add(nuevoContacto); await _db.SaveChangesAsync(); } } } } catch (Exception e) { throw new Exception(e.Message, e); } }