public static BeneficiarioClass BuscarBeneficiariosPorOrden(long id_orden) { BeneficiarioClass r = new BeneficiarioClass(); saluddbEntities ctx = new saluddbEntities(); var cur = from o in ctx.ordenentregas where o.id_orden == id_orden select o; if (cur.Count() > 0) { var f = cur.First(); r = BeneficiarioClass.BuscarBeneficiario(f.id_beneficiario.ToString(), CriterioBusqueda.Busqueda_ID); return(r); } return(r); }
public bool Modificar() { bool r = false; try { var cur = from g in ctx.grupoes where g.id_grupo == _id_grupo select g; var f = cur.First(); f.descripcion = _descripcion; ctx.SaveChanges(); r = true; if (r) { var cur2 = from bg in ctx.beneficiario_grupo where bg.id_gupo == _id_grupo select bg; List <BeneficiarioClass> listaGuardada = new List <BeneficiarioClass>(); List <beneficiario_grupo> listaAdd = new List <beneficiario_grupo>(); List <beneficiario_grupo> listaBorrar = new List <beneficiario_grupo>(); foreach (beneficiario_grupo bg in cur2) { listaGuardada.Add(BeneficiarioClass.BuscarBeneficiario((bg.id_beneficiario).ToString(), CriterioBusqueda.Busqueda_ID)); } // Si se guardó la descripción guardo los beneficiarios foreach (BeneficiarioClass b in _beneficiarios) { if (listaGuardada.Exists(x => x.Id_beneficiario == b.Id_beneficiario)) { // No hago nada; } else { // Guardo en la lista para agregar // listaAdd.Add(b); beneficiario_grupo bg = new beneficiario_grupo(); bg.id_gupo = this.Id_grupo; bg.id_beneficiario = b.Id_beneficiario; listaAdd.Add(bg); // ctx.beneficiario_grupo.Attach(bg); ctx.beneficiario_grupo.Add(bg); ctx.SaveChanges(); // ctx.beneficiario_grupo.Add(bg); // ctx.SaveChanges(); } } foreach (BeneficiarioClass b in listaGuardada) { if (_beneficiarios.Exists(x => x.Id_beneficiario == b.Id_beneficiario)) { // NO hago nada } else { //listaBorrar.Add(b); beneficiario_grupo bg = new beneficiario_grupo(); bg.id_gupo = this.Id_grupo; bg.id_beneficiario = b.Id_beneficiario; listaBorrar.Add(bg); //ctx.beneficiario_grupo.Remove(bg); } } /* foreach(beneficiario_grupo bg in listaAdd) * { * ctx.beneficiario_grupo.Add(bg); * * } */ foreach (beneficiario_grupo bg in listaBorrar) { if (eliminarBeneficiarioGrupo(bg.id_beneficiario, bg.id_gupo)) { } else { r = false; } } ctx.SaveChanges(); } } catch (Exception e) { MessageBox.Show(e.Message, "Error al modificar el grupo", MessageBoxButtons.OK, MessageBoxIcon.Error); r = false; } return(r); }