private void PopulateIngrsoAnterioMenorPop()
 {
     try
     {
         if (SelectedIngresoAnteriorMenor != null)
         {
             SelectedEmisorIngreso   = LstEmisor.Where(w => w.ID_EMISOR == SelectedIngresoAnteriorMenor.ID_EMISOR).FirstOrDefault();
             SelectedDelitoIngreso   = LstDelitosCP.Where(w => w.ID_DELITO == SelectedIngresoAnteriorMenor.ID_DELITO && w.ID_FUERO == SelectedIngresoAnteriorMenor.ID_FUERO).FirstOrDefault();
             PeriodoReclusionIngreso = SelectedIngresoAnteriorMenor.PERIODO_RECLUSION;
             SancionesIngreso        = SelectedIngresoAnteriorMenor.SANCIONES;
             DelitoDescripcion       = SelectedIngresoAnteriorMenor.DELITO;
         }
     }
     catch (Exception ex)
     {
         StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al establecer ingreso anterior menor", ex);
     }
 }
        //private void PopulateIngresosAnteriores2()
        //{
        //    if (emiActual != null)
        //    {
        //        LstIngresosAnteriores = new ObservableCollection<EMI_INGRESO_ANTERIOR>(new cEMIIngresosAnteriores().Obtener(emiActual.ID_EMI, emiActual.ID_EMI_CONS, 2));
        //        if (LstIngresosAnteriores != null)
        //        {
        //            if (LstIngresosAnteriores.Count > 0)
        //                EmptyIngresosAnteriores = false;
        //            else
        //                EmptyIngresosAnteriores = true;
        //        }
        //        else
        //        {
        //            EmptyIngresosAnteriores = true;
        //        }
        //    }
        //    else
        //    {
        //        LstIngresosAnteriores = new ObservableCollection<EMI_INGRESO_ANTERIOR>();
        //        EmptyIngresosAnteriores = true;
        //    }
        //}

        private void PopulateIngresosAnterioresSistema()
        {
            try
            {
                LstIAS = new ObservableCollection <Clases.IngresoAinterior>();
                int?anios, meses, dias;
                if (emiActual != null)
                {
                    if (LstEmisor == null)
                    {
                        LstEmisor = new ObservableCollection <EMISOR>(new cEmisor().Obtener());
                    }
                    if (LstDelitosCP == null)
                    {
                        LstDelitosCP = new ObservableCollection <DELITO>(new cDelito().ObtenerTodos());
                    }
                    //if (emiActual.INGRESO != null)
                    //if (SelectIngreso != null)
                    //if (emiActual.INGRESO.IMPUTADO != null)
                    //if (SelectIngreso.IMPUTADO != null)
                    //if (emiActual.INGRESO.IMPUTADO.INGRESO != null)
                    if (SelectIngreso != null)
                    {
                        //var anteriores = emiActual.INGRESO.IMPUTADO.INGRESO.Where(w => w.ID_INGRESO < emiActual.INGRESO.ID_INGRESO);
                        var anteriores = SelectIngreso.IMPUTADO.INGRESO.Where(w => w.ID_INGRESO < SelectIngreso.ID_INGRESO);
                        if (anteriores != null)
                        {
                            foreach (var ing in anteriores)
                            {
                                if (LstIngresosAnteriores.Where(w => w.ID_CENTRO == ing.ID_CENTRO && w.ID_ANIO == ing.ID_ANIO && w.ID_IMPUTADO == ing.ID_IMPUTADO && w.ID_INGRESO == ing.ID_INGRESO).Count() == 0)
                                {
                                    anios = meses = dias = 0;
                                    var obj = new IngresoAinterior();
                                    obj.Seleccione = false;
                                    obj.IdCentro   = ing.ID_CENTRO;
                                    obj.IdAnio     = ing.ID_ANIO;
                                    obj.IdImputado = ing.ID_IMPUTADO;
                                    obj.IdIngreso  = ing.ID_INGRESO;
                                    ////EMISOR
                                    obj.Emisor = ing.CENTRO.EMISOR;
                                    //DELITO
                                    if (ing.CAUSA_PENAL != null)
                                    {
                                        var cp = ing.CAUSA_PENAL.Where(w => w.ID_ESTATUS_CP == 4).FirstOrDefault();        //estatus concluido
                                        if (cp != null)
                                        {
                                            if (cp.CAUSA_PENAL_DELITO != null)
                                            {
                                                if (cp.CAUSA_PENAL_DELITO.Count > 0)
                                                {
                                                    var del = cp.CAUSA_PENAL_DELITO.FirstOrDefault();
                                                    if (del != null)
                                                    {
                                                        obj.Delito = LstDelitosCP.Where(w => w.ID_FUERO == del.ID_FUERO && w.ID_DELITO == del.ID_DELITO).FirstOrDefault();
                                                    }
                                                }
                                            }
                                        }

                                        //OBTENEMOS LA SENTENCIA
                                        foreach (var x in ing.CAUSA_PENAL)
                                        {
                                            foreach (var y in x.SENTENCIA)
                                            {
                                                anios = anios + y.ANIOS;
                                                meses = meses + y.MESES;
                                                dias  = dias + y.DIAS;
                                            }
                                        }
                                    }
                                    while (dias > 30)
                                    {
                                        meses++;
                                        dias = dias - 30;
                                    }
                                    while (meses > 12)
                                    {
                                        anios++;
                                        meses = meses - 12;
                                    }
                                    //CARGAMOS LOS INRSOS ANTERIORES
                                    var periodo = string.Empty;
                                    if (anios > 0)
                                    {
                                        periodo = string.Format("{0} AÑOS ", anios);
                                    }
                                    if (meses > 0)
                                    {
                                        periodo = string.Format("{0}{1} MESES ", periodo, meses);
                                    }
                                    if (dias > 0)
                                    {
                                        periodo = string.Format("{0}{1} DIAS ", periodo, dias);
                                    }
                                    obj.PerioroReclusion = periodo;
                                    LstIAS.Add(obj);
                                }
                            }
                        }
                    }
                }
                if (LstIAS.Count > 0)
                {
                    EmptyIAS = false;
                }
                else
                {
                    EmptyIAS = true;
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al establecer el ingreso anterior sistema", ex);
            }
        }