/// <summary> /// Guarda el Beneficiario en la base de datos /// </summary> /// <returns>Retorna True si se guardó correctamente </returns> public bool NuevoBeneficiario() { bool r = false; try { if (!existeBeneficiario(this.Documento)) { beneficiario f = new beneficiario(); f.direccion = this._direccion; f.documento = this._documento; f.nombre = this._nombre; f.telefono = this._telefono; f.cuit_cuil = this._cuit_cuil; f.fecha_nac = this._fecha_nac; f.id_barrio = this._barrio.IdBarrio; ctx.beneficiarios.Add(f); ctx.SaveChanges(); _id_beneficiario = f.id_beneficiario; r = true; if (r) { // Cargo los beneficios foreach (BeneficioBeneficiarioClass ben in _beneficios) { beneficiario_beneficio bb = new beneficiario_beneficio(); bb.id_beneficiario = _id_beneficiario; bb.id_beneficio = ben.Id_beneficio; bb.fechadesde = ben.Fecha_asignacion; ctx.beneficiario_beneficio.Add(bb); ctx.SaveChanges(); } } } else { MessageBox.Show("Ya existe un beneficiario con ese Documento!"); r = false; } } catch (Exception e) { MessageBox.Show(e.Message, "Error de datos", MessageBoxButtons.OK, MessageBoxIcon.Error); r = false; } return(r); }
public bool Modificar() { bool r = false; try { var cur = from b in ctx.beneficiarios where b.id_beneficiario == _id_beneficiario select b; var f = cur.First(); f.direccion = _direccion; f.documento = _documento; f.nombre = _nombre; f.telefono = _telefono; f.cuit_cuil = _cuit_cuil; f.fecha_nac = _fecha_nac; f.id_barrio = _barrio.IdBarrio; ctx.SaveChanges(); r = true; if (r) { var cur2 = from bb in ctx.beneficiario_beneficio where bb.id_beneficiario == _id_beneficiario select bb; List <beneficiario_beneficio> listaGuardada = new List <beneficiario_beneficio>(); List <beneficiario_beneficio> listaAdd = new List <beneficiario_beneficio>(); List <beneficiario_beneficio> listaBorrar = new List <beneficiario_beneficio>(); foreach (beneficiario_beneficio bb in cur2) { // listaGuardada.Add(BeneficiarioClass.BuscarBeneficiario((bg.id_beneficiario).ToString(), CriterioBusqueda.Busqueda_ID)); listaGuardada.Add(bb); } // Si se guardó la descripción guardo los beneficios foreach (BeneficioBeneficiarioClass be in _beneficios) { if (listaGuardada.Exists(x => x.id_beneficio == be.Id_beneficio)) { // No hago nada; } else { // Guardo en la lista para agregar // listaAdd.Add(b); beneficiario_beneficio bb = new beneficiario_beneficio(); bb.id_beneficio = be.Id_beneficio; bb.id_beneficiario = be.Id_beneficiario; bb.fechadesde = be.Fecha_asignacion; listaAdd.Add(bb); // ctx.beneficiario_grupo.Attach(bg); ctx.beneficiario_beneficio.Add(bb); ctx.SaveChanges(); } } foreach (beneficiario_beneficio bb in listaGuardada) { if (_beneficios.Exists(x => x.Id_beneficio == bb.id_beneficio)) { // NO hago nada } else { //listaBorrar.Add(b); listaBorrar.Add(bb); ctx.SaveChanges(); //ctx.beneficiario_grupo.Remove(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 beneficiario", MessageBoxButtons.OK, MessageBoxIcon.Error); r = false; } return(r); }