示例#1
0
        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();
                }
            }
        }
示例#2
0
        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);
            }
        }