Ejemplo n.º 1
0
 private void EliminarDelitoSentencia()
 {
     try
     {
         if (SelectedSentenciaDelito != null)
         {
             if (LstSentenciaDelitos != null)
             {
                 LstSentenciaDelitos.Remove(SelectedSentenciaDelito);
                 if (LstSentenciaDelitos.Count > 0)
                 {
                     SentenciaDelitoEmpty = false;
                 }
                 else
                 {
                     SentenciaDelitoEmpty = true;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al eliminar delito sentencia", ex);
     }
 }
Ejemplo n.º 2
0
 private void PopulateDelitoSentencia()
 {
     try
     {
         if (SelectedSentencia != null)
         {
             LstSentenciaDelitos = new ObservableCollection <SENTENCIA_DELITO>(new cSentenciaDelito().ObtenerTodos(SelectedSentencia.ID_CENTRO, SelectedSentencia.ID_ANIO, SelectedSentencia.ID_IMPUTADO, SelectedSentencia.ID_INGRESO, SelectedSentencia.ID_CAUSA_PENAL, SelectedSentencia.ID_SENTENCIA));
         }
         else
         {
             var delCP = new cCausaPenalDelito().ObtenerTodos(SelectedCausaPenal.ID_CENTRO, SelectedCausaPenal.ID_ANIO, SelectedCausaPenal.ID_IMPUTADO, SelectedCausaPenal.ID_INGRESO, SelectedCausaPenal.ID_CAUSA_PENAL);
             if (delCP != null)
             {
                 if (LstSentenciaDelitos == null)
                 {
                     LstSentenciaDelitos = new ObservableCollection <SENTENCIA_DELITO>();
                 }
                 foreach (var d in delCP)
                 {
                     LstSentenciaDelitos.Add(
                         new SENTENCIA_DELITO()
                     {
                         ID_DELITO        = d.ID_DELITO,
                         ID_FUERO         = d.ID_FUERO,
                         ID_MODALIDAD     = d.ID_MODALIDAD,
                         ID_TIPO_DELITO   = d.ID_TIPO_DELITO,
                         DESCR_DELITO     = d.DESCR_DELITO,
                         CANTIDAD         = d.CANTIDAD,
                         OBJETO           = d.OBJETO,
                         MODALIDAD_DELITO = d.MODALIDAD_DELITO,
                         TIPO_DELITO      = d.TIPO_DELITO
                     });
                 }
             }
         }
         if (LstSentenciaDelitos.Count > 0)
         {
             SentenciaDelitoEmpty = false;
         }
         else
         {
             SentenciaDelitoEmpty = true;
         }
     }
     catch (Exception ex)
     {
         StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al establecer delito sentencia", ex);
     }
 }
Ejemplo n.º 3
0
        private bool GuardarSentencia()
        {
            try
            {
                if (!base.HasErrors)
                {
                    var sen = new SENTENCIA();
                    sen.ID_CENTRO               = SelectedCausaPenal.ID_CENTRO;
                    sen.ID_ANIO                 = SelectedCausaPenal.ID_ANIO;
                    sen.ID_IMPUTADO             = SelectedCausaPenal.ID_IMPUTADO;
                    sen.ID_INGRESO              = SelectedCausaPenal.ID_INGRESO;
                    sen.ID_CAUSA_PENAL          = SelectedCausaPenal.ID_CAUSA_PENAL;
                    sen.FEC_SENTENCIA           = FecS;
                    sen.FEC_EJECUTORIA          = FecEjecutoriaS;
                    sen.FEC_INICIO_COMPURGACION = FecInicioCompurgacionS;
                    sen.ANIOS = AniosS;
                    sen.MESES = MesesS;
                    sen.DIAS  = DiasS;
                    sen.MULTA = MultaS;
                    if (MultaSi)
                    {
                        sen.MULTA_PAGADA = "S";
                    }
                    else
                    {
                        sen.MULTA_PAGADA = "N";
                    }
                    sen.REPARACION_DANIO = ReparacionDanioS;
                    if (ReparacionSi)
                    {
                        sen.REPARACION_DANIO_PAGADA = "S";
                    }
                    else
                    {
                        sen.REPARACION_DANIO_PAGADA = "N";
                    }
                    sen.SUSTITUCION_PENA = SustitucionPenaS;
                    if (SustitucionSi)
                    {
                        sen.SUSTITUCION_PENA_PAGADA = "S";
                    }
                    else
                    {
                        sen.SUSTITUCION_PENA_PAGADA = "N";
                    }
                    sen.SUSPENSION_CONDICIONAL         = SuspensionCondicionalS;
                    sen.OBSERVACION                    = ObservacionS;
                    sen.MOTIVO_CANCELACION_ANTECEDENTE = MotivoCancelacionAntecedenteS;
                    sen.ID_GRADO_AUTORIA               = GradoAutoriaS;
                    sen.ID_GRADO_PARTICIPACION         = GradoParticipacionS;
                    sen.ANIOS_ABONADOS                 = AniosAbonadosS;
                    sen.MESES_ABONADOS                 = MesesAbonadosS;
                    sen.DIAS_ABONADOS                  = DiasAbonadosS;
                    sen.FEC_REAL_COMPURGACION          = FecRealCompurgacionS;

                    if (SelectedSentencia == null) //INSERT
                    {
                        sen.ESTATUS = "A";
                        //Delitos
                        var delitos = new List <SENTENCIA_DELITO>(LstSentenciaDelitos == null ? null : LstSentenciaDelitos.Select((w, i) => new SENTENCIA_DELITO()
                        {
                            ID_CENTRO      = SelectedCausaPenal.ID_CENTRO,
                            ID_ANIO        = SelectedCausaPenal.ID_ANIO,
                            ID_IMPUTADO    = SelectedCausaPenal.ID_IMPUTADO,
                            ID_INGRESO     = SelectedCausaPenal.ID_INGRESO,
                            ID_CAUSA_PENAL = SelectedCausaPenal.ID_CAUSA_PENAL,
                            ID_SENTENCIA   = 0,
                            ID_DELITO      = w.ID_DELITO,
                            ID_FUERO       = w.ID_FUERO,
                            ID_MODALIDAD   = w.ID_MODALIDAD,
                            ID_TIPO_DELITO = w.ID_TIPO_DELITO,
                            CANTIDAD       = w.CANTIDAD,
                            OBJETO         = w.OBJETO,
                            DESCR_DELITO   = w.DESCR_DELITO,
                            ID_CONS        = Convert.ToInt16(i + 1)
                        }));
                        sen.SENTENCIA_DELITO = delitos;
                        sen.ID_SENTENCIA     = new cSentencia().Insertar(sen);
                        if (sen.ID_SENTENCIA > 0)
                        {
                            //if (GuardarDelitoSentencia(sen.ID_SENTENCIA))
                            return(true);
                            //else
                            //    return false;
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else //UPDATE
                    {
                        sen.ESTATUS      = SelectedSentencia.ESTATUS;
                        sen.ID_SENTENCIA = SelectedSentencia.ID_SENTENCIA;
                        var delitos = new List <SENTENCIA_DELITO>(LstSentenciaDelitos == null ? null : LstSentenciaDelitos.Select((w, i) => new SENTENCIA_DELITO()
                        {
                            ID_CENTRO      = SelectedCausaPenal.ID_CENTRO,
                            ID_ANIO        = SelectedCausaPenal.ID_ANIO,
                            ID_IMPUTADO    = SelectedCausaPenal.ID_IMPUTADO,
                            ID_INGRESO     = SelectedCausaPenal.ID_INGRESO,
                            ID_CAUSA_PENAL = SelectedCausaPenal.ID_CAUSA_PENAL,
                            ID_SENTENCIA   = SelectedSentencia.ID_SENTENCIA,
                            ID_DELITO      = w.ID_DELITO,
                            ID_FUERO       = w.ID_FUERO,
                            ID_MODALIDAD   = w.ID_MODALIDAD,
                            ID_TIPO_DELITO = w.ID_TIPO_DELITO,
                            CANTIDAD       = w.CANTIDAD,
                            OBJETO         = w.OBJETO,
                            DESCR_DELITO   = w.DESCR_DELITO,
                            ID_CONS        = Convert.ToInt16(i + 1)
                        }));
                        if ((new cSentencia()).Actualizar(sen, delitos))
                        {
                            if (GuardarDelitoSentencia(sen.ID_SENTENCIA))
                            {
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al guardar sentencia", ex);
            }
            return(false);
        }
Ejemplo n.º 4
0
        private bool GuardarDelitos()
        {
            try
            {
                var delitosCP = new List <CAUSA_PENAL_DELITO>(LstCausaPenalDelitos.Select((w, i) => new CAUSA_PENAL_DELITO()
                {
                    ID_CENTRO      = SelectedCausaPenal.ID_CENTRO,
                    ID_ANIO        = SelectedCausaPenal.ID_ANIO,
                    ID_IMPUTADO    = SelectedCausaPenal.ID_IMPUTADO,
                    ID_INGRESO     = SelectedCausaPenal.ID_INGRESO,
                    ID_CAUSA_PENAL = SelectedCausaPenal.ID_CAUSA_PENAL,
                    ID_DELITO      = w.ID_DELITO,
                    ID_FUERO       = w.ID_FUERO,
                    ID_MODALIDAD   = w.ID_MODALIDAD,
                    ID_TIPO_DELITO = w.ID_TIPO_DELITO,
                    CANTIDAD       = w.CANTIDAD,
                    OBJETO         = w.OBJETO,
                    DESCR_DELITO   = w.DESCR_DELITO,
                    ID_CONS        = Convert.ToInt16(i + 1)
                }));

                var delitosS = new List <SENTENCIA_DELITO>(LstSentenciaDelitos.Select((w, i) => new SENTENCIA_DELITO()
                {
                    ID_CENTRO      = SelectedCausaPenal.ID_CENTRO,
                    ID_ANIO        = SelectedCausaPenal.ID_ANIO,
                    ID_IMPUTADO    = SelectedCausaPenal.ID_IMPUTADO,
                    ID_INGRESO     = SelectedCausaPenal.ID_INGRESO,
                    ID_CAUSA_PENAL = SelectedCausaPenal.ID_CAUSA_PENAL,
                    ID_SENTENCIA   = SelectedCausaPenal.ID_CAUSA_PENAL,
                    ID_DELITO      = w.ID_DELITO,
                    ID_FUERO       = w.ID_FUERO,
                    ID_MODALIDAD   = w.ID_MODALIDAD,
                    ID_TIPO_DELITO = w.ID_TIPO_DELITO,
                    CANTIDAD       = w.CANTIDAD,
                    OBJETO         = w.OBJETO,
                    DESCR_DELITO   = w.DESCR_DELITO,
                    ID_CONS        = Convert.ToInt16(i + 1)
                }));

                short id_sentencia = 0;
                var   sentencia    = SelectedCausaPenal.SENTENCIA.Where(w => w.ESTATUS == "A").SingleOrDefault();
                if (sentencia != null)
                {
                    id_sentencia = sentencia.ID_SENTENCIA;
                }
                if ((new cCausaPenalDelito()).Insertar(SelectedCausaPenal.ID_CENTRO, SelectedCausaPenal.ID_ANIO, SelectedCausaPenal.ID_IMPUTADO, SelectedCausaPenal.ID_INGRESO, SelectedCausaPenal.ID_CAUSA_PENAL, id_sentencia, delitosCP, delitosS))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }

                //if (GuardarDelitoCausaPenal(SelectedCausaPenal.ID_CAUSA_PENAL))
                //{
                //    if (SelectedCausaPenal.SENTENCIA != null)
                //    {
                //        if (SelectedCausaPenal.SENTENCIA.Count > 0)
                //        {
                //            SelectedSentencia = SelectedCausaPenal.SENTENCIA.FirstOrDefault();
                //            if (SelectedSentencia != null)
                //            {
                //                if (GuardarDelitoSentencia(SelectedSentencia.ID_SENTENCIA))
                //                    return true;
                //            }
                //        }
                //        else
                //            return true;
                //    }
                //    else
                //        return true;
                //}
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al guardar delito", ex);
            }
            return(false);
        }
Ejemplo n.º 5
0
        private bool AgregarDelitoSentencia()
        {
            try
            {
                if (LstSentenciaDelitos == null)
                {
                    LstSentenciaDelitos = new ObservableCollection <SENTENCIA_DELITO>();
                }
                if (SelectedSentenciaDelito == null)//INSERT
                {
                    if (LstSentenciaDelitos.Any(w => w.ID_DELITO == SelectedDelitoArbol.ID_DELITO))
                    {
                        new Dialogos().ConfirmacionDialogo("Validación", "El delito ya se encuentra registrado");
                        return(false);
                    }

                    LstSentenciaDelitos.Add(new SENTENCIA_DELITO
                    {
                        ID_DELITO        = SelectedDelitoArbol.ID_DELITO,
                        ID_FUERO         = SelectedDelitoArbol.ID_FUERO,
                        ID_MODALIDAD     = SelectedDelitoArbol.ID_MODALIDAD,
                        ID_TIPO_DELITO   = TipoD,
                        CANTIDAD         = CantidadD,
                        OBJETO           = ObjetoD,
                        MODALIDAD_DELITO = SelectedDelitoArbol,
                        TIPO_DELITO      = SelectedTipoDelito,
                        DESCR_DELITO     = ModalidadD
                    });
                }
                else //UPDATE
                {
                    if (SelectedDelitoArbol != null)
                    {
                        if (SelectedSentenciaDelito.ID_DELITO != SelectedDelitoArbol.ID_DELITO)
                        {
                            if (LstSentenciaDelitos.Any(w => w.ID_DELITO == SelectedDelitoArbol.ID_DELITO))
                            {
                                new Dialogos().ConfirmacionDialogo("Validación", "El delito ya se encuentra registrado");
                                return(false);
                            }
                        }

                        SelectedSentenciaDelito.ID_DELITO        = SelectedDelitoArbol.ID_DELITO;
                        SelectedSentenciaDelito.ID_FUERO         = SelectedDelitoArbol.ID_FUERO;
                        SelectedSentenciaDelito.ID_MODALIDAD     = SelectedDelitoArbol.ID_MODALIDAD;
                        SelectedSentenciaDelito.MODALIDAD_DELITO = SelectedDelitoArbol;
                    }
                    SelectedSentenciaDelito.ID_TIPO_DELITO = TipoD;
                    SelectedSentenciaDelito.CANTIDAD       = CantidadD;
                    SelectedSentenciaDelito.OBJETO         = ObjetoD;
                    SelectedSentenciaDelito.TIPO_DELITO    = SelectedTipoDelito;
                    SelectedSentenciaDelito.DESCR_DELITO   = ModalidadD;
                    LstSentenciaDelitos = new ObservableCollection <SENTENCIA_DELITO>(LstSentenciaDelitos);
                }
                if (LstSentenciaDelitos.Count > 0)
                {
                    SentenciaDelitoEmpty = false;
                }
                else
                {
                    SentenciaDelitoEmpty = true;
                }

                return(true);
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al agregar delito sentencia", ex);
            }
            return(false);
        }
Ejemplo n.º 6
0
        private void PopulateCausaPenal()
        {
            try
            {
                #region Limpiar
                LimpiarCausaPenal();
                LimpiarCoparticipe();
                LimpiarSentencia();
                LimpiarRecusrsos();
                #endregion
                if (SelectedCausaPenal != null)
                {
                    #region Averiguacion Previa
                    AgenciaAP = SelectedCausaPenal.ID_AGENCIA != null ? SelectedCausaPenal.ID_AGENCIA : -1;
                    AnioAP = SelectedCausaPenal.AP_ANIO;
                    FolioAP = SelectedCausaPenal.AP_FOLIO;
                    AveriguacionPreviaAP = SelectedCausaPenal.AP_FORANEA;
                    FecAveriguacionAP = SelectedCausaPenal.AP_FEC_INICIO;
                    FecConsignacionAP = SelectedCausaPenal.AP_FEC_CONSIGNACION;
                    #endregion
                    
                    #region Causa Penal
                    AnioCP = SelectedCausaPenal.CP_ANIO;
                    FolioCP = SelectedCausaPenal.CP_FOLIO;
                    BisCP = SelectedCausaPenal.CP_BIS;
                    ForaneoCP = SelectedCausaPenal.CP_FORANEO;
                    TipoOrdenCP = SelectedCausaPenal.CP_TIPO_ORDEN != null ? SelectedCausaPenal.CP_TIPO_ORDEN : -1;
                    PaisJuzgadoCP = SelectedCausaPenal.CP_PAIS_JUZGADO != null ? SelectedCausaPenal.CP_PAIS_JUZGADO : -1;
                    EstadoJuzgadoCP = SelectedCausaPenal.CP_ESTADO_JUZGADO != null ? SelectedCausaPenal.CP_ESTADO_JUZGADO : -1;
                    MunicipioJuzgadoCP = SelectedCausaPenal.CP_MUNICIPIO_JUZGADO != null ? SelectedCausaPenal.CP_MUNICIPIO_JUZGADO : -1;
                    FueroCP = !string.IsNullOrEmpty(SelectedCausaPenal.CP_FUERO) ? SelectedCausaPenal.CP_FUERO : string.Empty;
                    JuzgadoCP = SelectedCausaPenal.CP_JUZGADO != null ? SelectedCausaPenal.CP_JUZGADO : -1;
                    FecRadicacionCP = SelectedCausaPenal.CP_FEC_RADICACION;
                    AmpliacionCP = !string.IsNullOrEmpty(SelectedCausaPenal.CP_AMPLIACION) ? SelectedCausaPenal.CP_AMPLIACION : string.Empty;
                    TerminoCP = SelectedCausaPenal.CP_TERMINO != null ? SelectedCausaPenal.CP_TERMINO : -1;
                    EstatusCP = SelectedCausaPenal.ID_ESTATUS_CP != null ? SelectedCausaPenal.ID_ESTATUS_CP : -1;
                    FecVencimientoTerinoCP = SelectedCausaPenal.CP_FEC_VENCIMIENTO_TERMINO;
                    ObservacionesCP = SelectedCausaPenal.OBSERV;
                    #endregion

                    #region Baja
                    //BFecha = SelectedCausaPenal.BAJA_FEC;
                    //BMotivoBaja = SelectedCausaPenal.ID_MOTIVO_BAJA != null ? SelectedCausaPenal.ID_MOTIVO_BAJA : -1;
                    //BAutoridadBaja = SelectedCausaPenal.ID_AUTO_BAJA != null ? SelectedCausaPenal.ID_AUTO_BAJA : -1;
                    if (SelectedCausaPenal.LIBERACION != null)
                    {
                        var l = SelectedCausaPenal.LIBERACION.FirstOrDefault();
                        if (l != null)
                        {
                            BFecha = l.LIBERACION_FEC;
                            BLiberacionMotivo = l.ID_LIBERACION_MOTIVO.Value;
                            BLiberacionAutoridad = l.ID_LIBERACION_AUTORIDAD.Value;
                        }
                    }
                    #endregion

                    #region Coparticipes
                    if (SelectedCausaPenal != null)
                        LstCoparticipe = new ObservableCollection<COPARTICIPE>(SelectedCausaPenal.COPARTICIPE);
                    #endregion

                    #region Delitos Causa Penal
                    PopulateDelitoCausaPenal();
                    #endregion

                    #region Sentencia
                    if (SelectedCausaPenal.SENTENCIA != null)
                    {
                        var lst = SelectedCausaPenal.SENTENCIA.Where(w => w.ESTATUS == "A");
                        if (lst.Count() > 0)
                        {
                            SelectedSentencia = lst.FirstOrDefault();
                            PopulateSentencia();
                        }
                        else
                        {
                            SelectedSentencia = null;
                            //CARGAMOS LA LISTA DE DELITOS CON LOS DELITOS DE LA CAUSA PENAL EN LA SENTENCIA
                            if (LstSentenciaDelitos == null)
                                LstSentenciaDelitos = new ObservableCollection<SENTENCIA_DELITO>();
                            foreach (var d in LstCausaPenalDelitos)
                            {
                                LstSentenciaDelitos.Add(
                                    new SENTENCIA_DELITO()
                                    {
                                        ID_DELITO = d.ID_DELITO,
                                        ID_FUERO = d.ID_FUERO,
                                        ID_MODALIDAD = d.ID_MODALIDAD,
                                        ID_TIPO_DELITO = d.ID_TIPO_DELITO,
                                        DESCR_DELITO = d.DESCR_DELITO,
                                        CANTIDAD = d.CANTIDAD,
                                        OBJETO = d.OBJETO,
                                        MODALIDAD_DELITO = d.MODALIDAD_DELITO,
                                        TIPO_DELITO = d.TIPO_DELITO
                                    });
                            }
                            if (LstSentenciaDelitos.Count > 0)
                                SentenciaDelitoEmpty = false;
                            else
                                SentenciaDelitoEmpty = true;
                        }
                    }
                    #endregion

                    #region NUC
                    PopulateNUC();
                    #endregion
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al establecer causa penal", ex);
            }
        }
Ejemplo n.º 7
0
        private bool GuardarCausaPenal()
        {
            try
            {
                if (!base.HasErrors)
                {
                    var cp = new CAUSA_PENAL();
                    
                    #region Averiguacion Previa
                    if (SelectedAgencia.ID_AGENCIA != -1)
                        cp.ID_AGENCIA = SelectedAgencia.ID_AGENCIA;
                    if (SelectedAgencia.ID_ENTIDAD != -1)
                        cp.ID_ENTIDAD = SelectedAgencia.ID_ENTIDAD;
                    if (SelectedAgencia.ID_MUNICIPIO != -1)
                        cp.ID_MUNICIPIO = SelectedAgencia.ID_MUNICIPIO;
                    cp.AP_ANIO = AnioAP;
                    cp.AP_FOLIO = FolioAP;
                    cp.AP_FORANEA = AveriguacionPreviaAP;
                    cp.AP_FEC_INICIO = FecAveriguacionAP;
                    cp.AP_FEC_CONSIGNACION = FecConsignacionAP;
                    #endregion

                    #region Causa Penal
                    cp.CP_ANIO = AnioCP;
                    cp.CP_FOLIO = FolioCP;
                    cp.CP_BIS = BisCP;
                    cp.CP_FORANEO = ForaneoCP;
                    if (TipoOrdenCP != -1)
                        cp.CP_TIPO_ORDEN = TipoOrdenCP;
                    if (PaisJuzgadoCP != -1)
                        cp.CP_PAIS_JUZGADO = PaisJuzgadoCP;
                    if (EstadoJuzgadoCP != -1)
                        cp.CP_ESTADO_JUZGADO = EstadoJuzgadoCP;
                    if (MunicipioJuzgadoCP != -1)
                        cp.CP_MUNICIPIO_JUZGADO = MunicipioJuzgadoCP;
                    if (!string.IsNullOrEmpty(FueroCP))
                        cp.CP_FUERO = FueroCP;
                    if (JuzgadoCP != -1)
                        cp.CP_JUZGADO = JuzgadoCP;
                    cp.CP_FEC_RADICACION = FecRadicacionCP;
                    if (!string.IsNullOrEmpty(AmpliacionCP))
                        cp.CP_AMPLIACION = AmpliacionCP;
                    if (TerminoCP != -1)
                        cp.CP_TERMINO = TerminoCP;
                    if (EstatusCP != -1)
                        cp.ID_ESTATUS_CP = EstatusCP;
                    cp.CP_FEC_VENCIMIENTO_TERMINO = FecVencimientoTerinoCP;
                    cp.OBSERV = ObservacionesCP;
                    #endregion
                    
                    //#region Baja
                    //cp.BAJA_FEC = BFecha;
                    //cp.ID_MOTIVO_BAJA = BMotivoBaja != null ? BMotivoBaja : null;
                    //cp.ID_AUTO_BAJA = BAutoridadBaja != null ? BAutoridadBaja : null;
                    //#endregion

                    if (SelectedCausaPenal == null)//INSERT
                    {
                        cp.ID_CENTRO = SelectedIngreso.ID_CENTRO;
                        cp.ID_ANIO = SelectedIngreso.ID_ANIO;
                        cp.ID_IMPUTADO = SelectedIngreso.ID_IMPUTADO;
                        cp.ID_INGRESO = SelectedIngreso.ID_INGRESO;
                        
                        #region Delitos
                        var delitos = new List<CAUSA_PENAL_DELITO>(LstCausaPenalDelitos == null ? null : LstCausaPenalDelitos.Select((w, i) => new CAUSA_PENAL_DELITO()
                        {
                            ID_CENTRO = SelectedIngreso.ID_CENTRO,
                            ID_ANIO = SelectedIngreso.ID_ANIO,
                            ID_IMPUTADO = SelectedIngreso.ID_IMPUTADO,
                            ID_INGRESO = SelectedIngreso.ID_INGRESO,
                            ID_CAUSA_PENAL = 0,
                            ID_DELITO = w.ID_DELITO,
                            ID_FUERO = w.ID_FUERO,
                            ID_MODALIDAD = w.ID_MODALIDAD,
                            ID_TIPO_DELITO = w.ID_TIPO_DELITO,
                            CANTIDAD = w.CANTIDAD,
                            OBJETO = w.OBJETO,
                            DESCR_DELITO = w.DESCR_DELITO,
                            ID_CONS = Convert.ToInt16(i + 1)
                        }));
                        cp.CAUSA_PENAL_DELITO = delitos;
                        #endregion

                        #region NUC
                        //if (!string.IsNullOrEmpty(NUC))
                        //    cp.NUC = new NUC() { ID_NUC = NUC.Replace("NUC:", string.Empty) };
                        if (SelectedInterconexion != null)
                        {
                            cp.NUC = new NUC() { ID_NUC = SelectedInterconexion.EXPEDIENTEID.ToString(), ID_PERSONA_PG = SelectedInterconexion.PERSONAFISICAID };
                        }
                        #endregion

                        cp.ID_CAUSA_PENAL = new cCausaPenal().Insertar(cp);
                        if (cp.ID_CAUSA_PENAL > 0)
                        {
                            SelectedCausaPenal = cp;
                            //if (GuardarDelitoCausaPenal(cp.ID_CAUSA_PENAL))
                            //{
                                if (LstCausaPenalDelitos != null)
                                {
                                    //CARGAMOS LA LISTA DE DELITOS CON LOS DELITOS DE LA CAUSA PENAL EN LA SENTENCIA
                                    if (LstSentenciaDelitos == null)
                                        LstSentenciaDelitos = new ObservableCollection<SENTENCIA_DELITO>();
                                    foreach (var d in LstCausaPenalDelitos)
                                    {
                                        LstSentenciaDelitos.Add(
                                            new SENTENCIA_DELITO()
                                            {
                                                ID_DELITO = d.ID_DELITO,
                                                ID_FUERO = d.ID_FUERO,
                                                ID_MODALIDAD = d.ID_MODALIDAD,
                                                ID_TIPO_DELITO = d.ID_TIPO_DELITO,
                                                DESCR_DELITO = d.DESCR_DELITO,
                                                CANTIDAD = d.CANTIDAD,
                                                OBJETO = d.OBJETO,
                                                MODALIDAD_DELITO = d.MODALIDAD_DELITO,
                                                TIPO_DELITO = d.TIPO_DELITO
                                            });
                                    }
                                    if (LstSentenciaDelitos.Count > 0)
                                        SentenciaDelitoEmpty = false;
                                    else
                                        SentenciaDelitoEmpty = true;
                                }
                                
                                return true;
                        }
                        else
                            return false;
                    }
                    else//UPDATE
                    {
                        cp.ID_CENTRO = SelectedCausaPenal.ID_CENTRO;
                        cp.ID_ANIO = SelectedCausaPenal.ID_ANIO;
                        cp.ID_IMPUTADO = SelectedCausaPenal.ID_IMPUTADO;
                        cp.ID_INGRESO = SelectedCausaPenal.ID_INGRESO;
                        cp.ID_CAUSA_PENAL = SelectedCausaPenal.ID_CAUSA_PENAL;

                        #region Delitos
                        var delitos = new List<CAUSA_PENAL_DELITO>(LstCausaPenalDelitos == null ? null : LstCausaPenalDelitos.Select((w, i) => new CAUSA_PENAL_DELITO()
                        {
                            ID_CENTRO = SelectedCausaPenal.ID_CENTRO,
                            ID_ANIO = SelectedCausaPenal.ID_ANIO,
                            ID_IMPUTADO = SelectedCausaPenal.ID_IMPUTADO,
                            ID_INGRESO = SelectedCausaPenal.ID_INGRESO,
                            ID_CAUSA_PENAL = SelectedCausaPenal.ID_CAUSA_PENAL,
                            ID_DELITO = w.ID_DELITO,
                            ID_FUERO = w.ID_FUERO,
                            ID_MODALIDAD = w.ID_MODALIDAD,
                            ID_TIPO_DELITO = w.ID_TIPO_DELITO,
                            CANTIDAD = w.CANTIDAD,
                            OBJETO = w.OBJETO,
                            DESCR_DELITO = w.DESCR_DELITO,
                            ID_CONS = Convert.ToInt16(i + 1)
                        }));
                        #endregion 

                        #region NUC
                        //string sNUC = string.Empty;
                        //if (!string.IsNullOrEmpty(NUC))
                        //    sNUC = NUC.Replace("NUC:", string.Empty);
                        NUC nuc = null;
                        if(SelectedInterconexion != null)
                        {
                            nuc = new NUC() { ID_NUC = SelectedInterconexion.EXPEDIENTEID.ToString(), ID_PERSONA_PG = SelectedInterconexion.PERSONAFISICAID };
                        }
                        
                        #endregion

                        if (new cCausaPenal().Actualizar(cp,delitos,nuc))//sNUC))
                        {
                            //if (GuardarDelitoCausaPenal(cp.ID_CAUSA_PENAL))
                            //{
                                if (SelectedCausaPenal != null)
                                    if (SelectedCausaPenal.SENTENCIA != null)
                                    {
                                        if (SelectedCausaPenal.SENTENCIA.Count == 0)
                                        {
                                            if (LstCausaPenalDelitos != null)
                                            {
                                                //CARGAMOS LA LISTA DE DELITOS CON LOS DELITOS DE LA CAUSA PENAL EN LA SENTENCIA
                                                if (LstSentenciaDelitos == null)
                                                    LstSentenciaDelitos = new ObservableCollection<SENTENCIA_DELITO>();
                                                foreach (var d in LstCausaPenalDelitos)
                                                {
                                                    LstSentenciaDelitos.Add(
                                                        new SENTENCIA_DELITO()
                                                        {
                                                            ID_DELITO = d.ID_DELITO,
                                                            ID_FUERO = d.ID_FUERO,
                                                            ID_MODALIDAD = d.ID_MODALIDAD,
                                                            ID_TIPO_DELITO = d.ID_TIPO_DELITO,
                                                            DESCR_DELITO = d.DESCR_DELITO,
                                                            CANTIDAD = d.CANTIDAD,
                                                            OBJETO = d.OBJETO,
                                                            MODALIDAD_DELITO = d.MODALIDAD_DELITO,
                                                            TIPO_DELITO = d.TIPO_DELITO
                                                        });
                                                }
                                                if (LstSentenciaDelitos.Count > 0)
                                                    SentenciaDelitoEmpty = false;
                                                else
                                                    SentenciaDelitoEmpty = true;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        if (LstCausaPenalDelitos != null)
                                        {
                                            //CARGAMOS LA LISTA DE DELITOS CON LOS DELITOS DE LA CAUSA PENAL EN LA SENTENCIA
                                            if (LstSentenciaDelitos == null)
                                                LstSentenciaDelitos = new ObservableCollection<SENTENCIA_DELITO>();
                                            foreach (var d in LstCausaPenalDelitos)
                                            {
                                                LstSentenciaDelitos.Add(
                                                    new SENTENCIA_DELITO()
                                                    {
                                                        ID_DELITO = d.ID_DELITO,
                                                        ID_FUERO = d.ID_FUERO,
                                                        ID_MODALIDAD = d.ID_MODALIDAD,
                                                        ID_TIPO_DELITO = d.ID_TIPO_DELITO,
                                                        DESCR_DELITO = d.DESCR_DELITO,
                                                        CANTIDAD = d.CANTIDAD,
                                                        OBJETO = d.OBJETO,
                                                        MODALIDAD_DELITO = d.MODALIDAD_DELITO,
                                                        TIPO_DELITO = d.TIPO_DELITO
                                                    });
                                            }
                                            if (LstSentenciaDelitos.Count > 0)
                                                SentenciaDelitoEmpty = false;
                                            else
                                                SentenciaDelitoEmpty = true;
                                        }
                                    }
                                //ActualizarNUC();
                                return true;
                            //}
                            //else
                            //    return false;
                        }
                        else
                            return false;
                    }
                }
                else
                    return false;
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al guardar causa penal", ex);
                return false;
            }
        }