Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }