public bool ingresaPersonaFamilia(List <clsasignarfamilia> lista, clsRepresentante repre) { using (TransactionScope trans = new TransactionScope()) { try { REPRESENTANTE r = new REPRESENTANTE(); r.IDPERSONA = repre.IDPERSONA; bd.REPRESENTANTE.InsertOnSubmit(r); bd.SubmitChanges(); PERIODO actualFamilia = new PERIODO(); actualFamilia.FECHAINICIOPERIODO = DateTime.Now; actualFamilia.IDTIPOPERIODO = 2; actualFamilia.NOMBREPERIODO = "NOMBRE"; bd.PERIODO.InsertOnSubmit(actualFamilia); bd.SubmitChanges(); PERSONA_FAMILIA pf = new PERSONA_FAMILIA(); pf.IDFAMILIA = lista.First().CodigoFamilia; PERIODO_PERSONA_FAMILIA ppf = new PERIODO_PERSONA_FAMILIA(); ppf.IDFAMILIA = lista.First().CodigoFamilia; ppf.IDPERIODO = actualFamilia.IDPERIODO; foreach (clsasignarfamilia relacion in lista) { pf.IDPERSONA = relacion.CodigoPersona; bd.PERSONA_FAMILIA.InsertOnSubmit(pf); bd.SubmitChanges(); ppf.IDPERSONA = relacion.CodigoPersona; if (ppf.IDPERSONA == repre.IDPERSONA) { ppf.REPRESENTANTE = true; } else { ppf.REPRESENTANTE = false; } bd.PERIODO_PERSONA_FAMILIA.InsertOnSubmit(ppf); bd.SubmitChanges(); } trans.Complete(); return(true); } catch (Exception ex) { return(false); } finally { clsConexion.cerrarConexion(); } } }
static clsRepresentante transformar(REPRESENTANTE newRepresetante) { clsRepresentante representante = new clsRepresentante(); representante.ANIOLECTIVO = newRepresetante.ANIOLECTIVOREPRESENTANTE; representante.CODIGOSAD1 = newRepresetante.CODIGOSAD1; representante.CODIGOSAD2 = newRepresetante.CODIGOSAD2; representante.CODIGOSAD3 = newRepresetante.CODIGOSAD3; representante.IDORIENTADOR = int.Parse(newRepresetante.IDORIENTADOR.ToString()); representante.IDPERSONA = int.Parse(newRepresetante.IDPERSONA.ToString()); representante.REFERENCIAREPRESENTANTE = newRepresetante.REFERENCIAREPRESENTANTE; representante.RELACIONREPRESENTANTE = newRepresetante.RELACIONINIOREPRESENTANTE; return(representante); }
protected void btnIngresar_Click(object sender, EventArgs e) { clsRepresentante objRepresentante = new clsRepresentante(); int persona; int.TryParse(ddlRepresentante.SelectedValue.ToString(), out persona); objRepresentante.IDPERSONA = persona; bool esNinio = objDNinio.consultarNinio().Any(p => p.IDPERSONA == persona); int familia; int.TryParse(ddlFamilia.SelectedValue.ToString(), out familia); objFamilia = new clsNFamilia(); objFamilia = objDFamilia.consultaInfoFamilia(familia); objFamilia.OBSERVACIONFAMILIA = txtObservacion.Text; objFamilia.MIEMBROSFAMILIA = calcularMiembros() + nuevaLista.Count(); bool existeFam = objDAF.ConsultaFamilias().Any(ppf => ppf.IDFAMILIA == familia); bool existenMiembros = nuevaLista.Any(p => p.CodigoPersona != 0); if (existenMiembros) { if (!existeFam) { if (!esNinio) { if (objDAF.ingresarMiembrosFamilia(nuevaLista, objRepresentante)) { nuevaLista.Clear(); ddlRepresentante.DataSource = objDPersona.consultarIndividuos(nuevaLista).Where(p => p.FECHANACIMIENTOPERSONA.Value.Year <= DateTime.Now.Year - 13).Select(p => new { ID = p.IDPERSONA, NOMBRE = p.PRIMERNOMBREPERSONA + " " + p.SEGUNDONOMBREPERSONA + " " + p.PRIMERAPELLIDOPERSONA + " " + p.SEGUNDOAPELLIDOPERSONA }).OrderBy(a => a.NOMBRE).ToList(); ddlRepresentante.DataTextField = "NOMBRE"; ddlRepresentante.DataValueField = "ID"; ddlRepresentante.DataBind(); cargarRepresentante(); nuevaLista.Clear(); gvFamilia.DataSource = nuevaLista; gvFamilia.DataKeyNames = new string[] { "IDPERSONA" }; gvFamilia.DataBind(); if (objDFamilia.modificarFamilia(objFamilia)) { Response.Write(@"<script>alert('Resultado Ingreso: CORRECTO');setTimeout(function(){window.location = '" + Request.RawUrl + @"';}, 10);</script>"); } } else { Response.Write("<script>window.alert('Resultado Ingreso: INCORRECTO');</script>"); } } else { Response.Write("<script>window.alert('No se puede ingresar un ninio como Representante');</script>"); } } else { if (!esNinio) { if (objDAF.modificarMiembrosFamilia(nuevaLista, objRepresentante)) { nuevaLista.Clear(); ddlRepresentante.DataSource = objDPersona.consultarIndividuos(nuevaLista).Where(p => p.FECHANACIMIENTOPERSONA.Value.Year <= DateTime.Now.Year - 13).Select(p => new { ID = p.IDPERSONA, NOMBRE = p.PRIMERNOMBREPERSONA + " " + p.SEGUNDONOMBREPERSONA + " " + p.PRIMERAPELLIDOPERSONA + " " + p.SEGUNDOAPELLIDOPERSONA }).OrderBy(a => a.NOMBRE).ToList(); ddlRepresentante.DataTextField = "NOMBRE"; ddlRepresentante.DataValueField = "ID"; ddlRepresentante.DataBind(); cargarRepresentante(); nuevaLista.Clear(); gvFamilia.DataSource = nuevaLista; gvFamilia.DataKeyNames = new string[] { "IDPERSONA" }; gvFamilia.DataBind(); if (objDFamilia.modificarFamilia(objFamilia)) { Response.Write(@"<script>alert('Resultado Actualización: CORRECTO');setTimeout(function(){window.location = '" + Request.RawUrl + @"';}, 10);</script>"); } } else { Response.Write("<script>window.alert('Resultado Actualización: INCORRECTO');</script>"); } } else { Response.Write("<script>window.alert('No se puede ingresar un ninio como Representante');</script>"); } } } else { Response.Write("<script>window.alert('INGRESE MIEMBROS A LA FAMILIA PRIMERO');</script>"); } cargarIndividuoSinFamilia(); }
public bool modificarMiembrosFamilia(List <clsasignarfamilia> nuevaLista, clsRepresentante objRepresentante) { nuevaLista = nuevaLista.Distinct().ToList(); try { using (TransactionScope trans = new TransactionScope()) { bool existe = bd.REPRESENTANTE.Any(r => r.IDPERSONA == objRepresentante.IDPERSONA); if (!existe) { REPRESENTANTE nuevoRep = new REPRESENTANTE(); nuevoRep.IDPERSONA = objRepresentante.IDPERSONA; bd.REPRESENTANTE.InsertOnSubmit(nuevoRep); bd.SubmitChanges(); } PERIODO anterior = bd.PERIODO_PERSONA_FAMILIA.Where(ppf => ppf.IDFAMILIA == nuevaLista.First().CodigoFamilia&& ppf.PERIODO.ESTADOPERIODO == true && ppf.PERIODO.IDTIPOPERIODO == 2).Select(ppf => ppf.PERIODO).First(); anterior.FECHAFINPERIODO = DateTime.Now; anterior.ESTADOPERIODO = false; bd.SubmitChanges(); PERIODO nuevoPeriodo = new PERIODO(); nuevoPeriodo.ESTADOPERIODO = true; nuevoPeriodo.IDTIPOPERIODO = 2; nuevoPeriodo.FECHAINICIOPERIODO = DateTime.Now; nuevoPeriodo.NOMBREPERIODO = nuevaLista.Select(n => n.NombreFamilia).First().ToUpper() + " - " + nuevoPeriodo.FECHAINICIOPERIODO.ToString().ToUpper(); bd.PERIODO.InsertOnSubmit(nuevoPeriodo); bd.SubmitChanges(); foreach (clsasignarfamilia relacion in nuevaLista) { if (!bd.PERSONA_FAMILIA.Any(pf => pf.IDPERSONA == relacion.CodigoPersona && pf.IDFAMILIA == relacion.CodigoFamilia)) { PERSONA_FAMILIA nuevaPF = new PERSONA_FAMILIA(); nuevaPF.IDFAMILIA = relacion.CodigoFamilia; nuevaPF.IDPERSONA = relacion.CodigoPersona; bd.PERSONA_FAMILIA.InsertOnSubmit(nuevaPF); } PERIODO_PERSONA_FAMILIA nuevaPPF = new PERIODO_PERSONA_FAMILIA(); nuevaPPF.IDPERSONA = relacion.CodigoPersona; nuevaPPF.IDFAMILIA = relacion.CodigoFamilia; nuevaPPF.IDPARENTEZCO = relacion.CodigoParentezco; nuevaPPF.IDPERIODO = nuevoPeriodo.IDPERIODO; if (relacion.CodigoPersona == objRepresentante.IDPERSONA) { nuevaPPF.REPRESENTANTE = true; } else { nuevaPPF.REPRESENTANTE = false; } if (!bd.PERIODO_PERSONA_FAMILIA.Any(p => p.IDFAMILIA == nuevaPPF.IDFAMILIA && p.IDPERSONA == nuevaPPF.IDPERSONA && p.IDPERIODO == nuevaPPF.IDPERIODO)) { bd.PERIODO_PERSONA_FAMILIA.InsertOnSubmit(nuevaPPF); } bool esMenor = bd.MENOREDAD.Any(men => men.IDPERSONA == relacion.CodigoPersona); if (esMenor) { MENOREDAD menor = bd.MENOREDAD.Where(men => men.IDPERSONA == relacion.CodigoPersona).First(); menor.IDREPRESENTANTE = bd.REPRESENTANTE.Where(rep => rep.IDPERSONA == objRepresentante.IDPERSONA).First().IDREPRESENTANTE; } } bd.SubmitChanges(); trans.Complete(); return(true); } } catch (Exception ex) { return(false); } }