/// <summary>
        /// Metodo que permite registrar actas de denuncia y citacion.
        /// </summary>
        /// <param name="actaDenuncia">Acta de Denuncia y Citación</param>
        /// <returns></returns>
        public int RegistrarActaDenunciaCitacion(ActaDenunciaCitacionTO actaDenuncia)
        {
            int registro = 0;
            ActaDenunciaCitacion actaDenunciaCitacion = null;

            try
            {
                Mapeo map = new Mapeo();
                actaDenunciaCitacion = new ActaDenunciaCitacion();

                actaDenunciaCitacion.ADC_FECHA_AUDIENCIA   = actaDenuncia.FechaAudiencia;
                actaDenunciaCitacion.ADC_FECHA_DENUNCIA    = actaDenuncia.FechaDenuncia;
                actaDenunciaCitacion.FechaIngreso          = actaDenuncia.FechaIngreso;
                actaDenunciaCitacion.ADC_NRO_FISCALIZACION = actaDenuncia.NumeroFiscalizacion;
                actaDenunciaCitacion.Sistema = 7;
                actaDenunciaCitacion.EntidadFiscalizadora = 1;
                //actaDenunciaCitacion.Infractor = actaDenuncia.Infractor;
                //actaDenunciaCitacion.SubMateria = actaDenuncia.SubMateria;
                actaDenunciaCitacion.Numero = actaDenuncia.Numero;

                Usuario usuario = _daoGenerico.Obtener <Usuario>("WHERE USR_EMAIL = '" + actaDenuncia.EmailUsuario + "'");

                if (usuario != null)
                {
                    actaDenunciaCitacion.UsuarioCreador = usuario.Identificador;
                    actaDenunciaCitacion.usuario        = usuario;
                }
                else
                {
                    log.Info("ERROR: El usuario con email " + actaDenuncia.EmailUsuario + " no existe en el sistema sancionatorio como inspector fiscalizador.");
                    throw new Exception("El usuario con email " + actaDenuncia.EmailUsuario + " no existe en el sistema sancionatorio como inspector fiscalizador");
                    //registro = 0;
                }

                try
                {
                    if (usuario != null && usuario.Oficina > 0)
                    {
                        actaDenunciaCitacion.OficinaUsuario = usuario.Oficina;
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Error al obtener información del usuario fiscalizado", ex);
                }

                Usuario inspector = _daoGenerico.Obtener <Usuario>("WHERE USR_EMAIL = '" + actaDenuncia.EmailInspector + "'");

                if (inspector != null)
                {
                    actaDenunciaCitacion.Inspector = Int32.Parse(inspector.Identificador);
                }
                else
                {
                    registro = 0;
                }

                string regionSancionatorio = map.ObtenerValueRegion(actaDenuncia.Region);

                var rol = _daoGenerico.Ejecutar(new { P_ID_REGION = regionSancionatorio, P_ID_TIPO = 1 }, _procedimientoTraerRol);

                if (rol != null)
                {
                    var rolfinal = Convert.ToInt64(rol);
                    var v_Cont   = rolfinal.ToString().Substring(4);
                    v_Cont = (Int32.Parse(v_Cont) + 1).ToString();
                    var rolConvertido = DateTime.Now.ToString("yy") + regionSancionatorio + v_Cont;
                    actaDenunciaCitacion.Rol = Convert.ToInt64(rolConvertido);
                }

                int cuenta = _daoGenerico.ObtenerLista <Infractor>("WHERE IFR_IDENTIFICACION = '" + actaDenuncia.Infractor.Identificacion + "'").Count();

                Infractor x         = null;
                var       infractor = x;

                if (cuenta > 0)
                {
                    infractor = _daoGenerico.ObtenerLista <Infractor>("WHERE IFR_IDENTIFICACION = '" + actaDenuncia.Infractor.Identificacion + "'").First();
                }
                else
                {
                    ParametrosInfractor infraProcedimiento = new ParametrosInfractor()
                    {
                        P_ADC_COD_INFRACTOR  = 0,
                        P_ADC_NOMBRES        = actaDenuncia.Infractor.Nombre,
                        P_ADC_APELLIDO_PAT   = actaDenuncia.Infractor.ApellidoPaterno,
                        P_ADC_APELLIDO_MAT   = actaDenuncia.Infractor.ApellidoMaterno,
                        P_ADC_TIPO_ID        = actaDenuncia.Infractor.TipoIdentificacion,
                        P_ADC_IDENTIFICACION = actaDenuncia.Infractor.Identificacion,
                        P_ADC_TIPO_PERSONA   = actaDenuncia.Infractor.TipoPersona,
                        P_ADC_DOMICILIO      = actaDenuncia.Infractor.Direccion,
                        P_ADC_GENERO         = (actaDenuncia.Infractor.Genero != null) ? Convert.ToChar(actaDenuncia.Infractor.Genero) : '0',
                        P_ADC_COD_ACTIVIDAD  = actaDenuncia.Infractor.Actividad,
                        P_ADC_COD_PAIS       = (actaDenuncia.Infractor.Pais != null) ? Convert.ToChar(actaDenuncia.Infractor.Pais) : '0',
                        P_ADC_COD_COMUNA     = actaDenuncia.Infractor.Comuna,
                        P_ADC_FONO           = (actaDenuncia.Infractor.Fono != null) ? actaDenuncia.Infractor.Fono.ToString() : "",
                        P_ADC_EMAIL          = actaDenuncia.Infractor.Email,
                        P_ADC_DIR_POSTAL     = actaDenuncia.Infractor.Postal,
                        P_IFR_REP_LEG_RUT    = actaDenuncia.Infractor.RutRepresentanteLegal,
                        P_IFR_REP_LEG_NOM    = actaDenuncia.Infractor.NombreRepresentanteLegal,
                        P_MAX_INFRACTOR      = 0
                    };
                    _daoGenerico.AgregarRegistro(infraProcedimiento, _procedimientoCrearInfractor);
                    infractor = _daoGenerico.ObtenerLista <Infractor>("WHERE IFR_IDENTIFICACION = '" + actaDenuncia.Infractor.Identificacion + "'").First();
                }

                if (infractor != null)
                {
                    actaDenunciaCitacion.Infractor = infractor;
                }
                else
                {
                    actaDenunciaCitacion.Infractor = actaDenuncia.Infractor;
                }

                //// Revisión comuna y pais del infractor.
                string pa = infractor.Pais;
                string co = infractor.Comuna;



                List <ActaDenunciaCitacionDetalle> ADCdetalle = new List <ActaDenunciaCitacionDetalle>();

                try
                {
                    ADCdetalle = ObtenerADCdetalleSegunFiscalizacion(actaDenunciaCitacion.ADC_NRO_FISCALIZACION);
                }
                catch (Exception ex)
                {
                    throw new Exception("Error al obtener detalle del ADC desde fiscalización", ex);
                }



                string sub        = ADCdetalle[0].ID_SUB_MATERIA.ToString();
                var    submateria = Convert.ToInt32(map.ObtenerValueSubMateria(sub));
                pa = "45";
                co = ADCdetalle[0].idComuna.ToString();
                string folio = ADCdetalle[0].folio;
                co = map.ObtenerValueComuna(co);

                if (string.IsNullOrEmpty(co))
                {
                    co = "130101";
                }



                // Se cren y setean las variables para los datos del infractor
                var nombreInfractor    = "";
                var rutInfractor       = "";
                var apellidoPInfractor = "";
                var apellidoMInfractor = "";
                var direcciónInfractor = "";

                if (actaDenunciaCitacion.Infractor.TipoPersona == 2)
                {
                    nombreInfractor    = ADCdetalle[0].nombreEntidad;
                    rutInfractor       = ADCdetalle[0].rutEntidad;
                    direcciónInfractor = ADCdetalle[0].direccionEntidad;
                }
                else
                {
                    nombreInfractor    = actaDenunciaCitacion.Infractor.Nombre;
                    rutInfractor       = actaDenunciaCitacion.Infractor.Identificacion;
                    direcciónInfractor = actaDenunciaCitacion.Infractor.Direccion;
                    apellidoPInfractor = actaDenunciaCitacion.Infractor.ApellidoPaterno;
                    apellidoMInfractor = actaDenunciaCitacion.Infractor.ApellidoMaterno;
                }


                ActaDenunciaProcedimiento actaProcedimiento = new ActaDenunciaProcedimiento()
                {
                    //ADC
                    P_ADC_ID                = 0,
                    P_ADC_SISTEMA_ID        = actaDenunciaCitacion.Sistema,
                    P_ADC_TIPO_PROCESO      = 1,
                    P_ADC_COD_ENTIDAD       = actaDenunciaCitacion.EntidadFiscalizadora,
                    P_ADC_ROL               = actaDenunciaCitacion.Rol,
                    P_ADC_NUMERO            = actaDenunciaCitacion.Numero,
                    P_ADC_FECHA_AUDIENCIA   = actaDenunciaCitacion.ADC_FECHA_AUDIENCIA,
                    P_ADC_USUARIO           = actaDenunciaCitacion.usuario.Identificador,
                    P_ADC_ID_SUBMATERIA     = submateria,
                    P_ADC_FIN_ID            = null,
                    P_ADC_PROCESO_FIN       = '1',
                    P_ADC_RUT_INSPECTOR     = actaDenunciaCitacion.Inspector,
                    P_ADC_RUT_SUSTANCIADOR  = null,
                    P_ADC_OFICINA_USUARIO   = actaDenunciaCitacion.OficinaUsuario,
                    P_ADC_FECHA_INGRESO     = actaDenunciaCitacion.FechaIngreso,
                    P_ADC_FECHA_DENUNCIA    = actaDenunciaCitacion.ADC_FECHA_DENUNCIA,
                    P_ADC_NRO_FISCALIZACION = (folio == "-") ? "0" : folio,

                    // Infractor

                    P_ADC_COD_INFRACTOR = actaDenunciaCitacion.Infractor.Identificador,
                    P_ADC_NOMBRES       = nombreInfractor,
                    P_ADC_APELLIDO_PAT  = apellidoPInfractor,
                    P_ADC_APELLIDO_MAT  = apellidoMInfractor,

                    P_ADC_TIPO_ID        = actaDenunciaCitacion.Infractor.TipoIdentificacion,
                    P_ADC_IDENTIFICACION = rutInfractor,
                    P_ADC_TIPO_PERSONA   = actaDenunciaCitacion.Infractor.TipoPersona,

                    P_ADC_DOMICILIO     = direcciónInfractor,
                    P_ADC_GENERO        = ' ',
                    P_ADC_COD_ACTIVIDAD = null,
                    P_ADC_COD_PAIS      = Convert.ToInt32(pa),
                    P_ADC_COD_COMUNA    = co,
                    P_ADC_FONO          = null,
                    //P_ADC_EMAIL = actaDenunciaCitacion.Infractor.Email,
                    P_ADC_DIR_POSTAL  = null,
                    P_IFR_REP_LEG_RUT = ADCdetalle[0].rutRepresentante,
                    P_IFR_REP_LEG_NOM = ADCdetalle[0].nombreRepresentante
                };

                _daoGenerico.AgregarRegistro(actaProcedimiento, _procedimientoCrearADC);
                registro = 1;

                ActaDenunciaCitacion adcNuevo = new ActaDenunciaCitacion();
                adcNuevo = _daoGenerico.Obtener <ActaDenunciaCitacion>("WHERE ADC_ROL = '" + actaDenunciaCitacion.Rol + "'");

                ParametrosSubMateria subNueva = new ParametrosSubMateria()
                {
                    P_ASU_ID            = 0,
                    P_ASU_ADC_ID        = adcNuevo.ADC_ID,
                    P_ASU_SUBMATERIA_ID = submateria,
                    P_ACCION            = "I"
                };

                _daoGenerico.AgregarRegistro(subNueva, _procedimientoCrearSUBMATERIA);
            }
            catch (Exception ex)
            {
                registro = 0;
                throw ex;
            }

            return(registro);
        }
Esempio n. 2
0
        /// <summary>
        /// Metodo que permite realizar consulta de actas.
        /// </summary>
        /// <param name="request">Infraccional Request.</param>
        /// <returns></returns>
        public InfraccionalResponse InfraccionalRead(InfraccionalRequest request)
        {
            log.Info("Inicio del metodo InfraccionalRead");
            List <_ActaDenunciaCitacion> Actas           = new List <_ActaDenunciaCitacion>();
            List <ActaDenunciaCitacion>  actas           = new List <ActaDenunciaCitacion>();
            List <ActaDenunciaCitacion>  Bitacoras       = new List <ActaDenunciaCitacion>();
            List <ActaDenunciaCitacion>  bitacoras       = new List <ActaDenunciaCitacion>();
            List <Incumplimiento>        incumplimientos = new List <Incumplimiento>();

            InfraccionalResponse  respuesta     = new InfraccionalResponse();
            _ActaDenunciaCitacion actasCitacion = new _ActaDenunciaCitacion();

            List <ADCHito> hitos      = new List <ADCHito>();
            _ADCEstado     EstadosADC = new _ADCEstado();


            // crud mantenedores
            try
            {
                if (!string.IsNullOrEmpty(request.TipoADC))
                {
                    // TIPO ADC = 1 (Traigo todas las Actas)
                    if (request.TipoADC == "1")
                    {
                        log.Info("Tipo ADC =" + request.TipoADC);
                        if (!string.IsNullOrEmpty(request.Json))
                        {
                            var Parametros = _contextoSerializacion.Deserializar <ParametrosADC>(request.Json);

                            if (!string.IsNullOrEmpty(Parametros.NumeroFiscalizacion))
                            {
                                var BDFisca = new fiscalizacionEDM();

                                //Parametros.NumeroFiscalizacion = "1010000138";

                                // Con esta consulta trae la información completa desde el sistema de fiscalización
                                var objFisca = BDFisca.Historica.Where(a => a.aftFolio == Parametros.NumeroFiscalizacion).FirstOrDefault();

                                if (objFisca == null)
                                {
                                    respuesta.CodigoRespuesta = "ERROR_LIST";
                                    respuesta.Mensaje         = "No se encontró información relacionada al N° de Fiscalización suministrado en el sistema de fiscalización. [" + Parametros.NumeroFiscalizacion + "]";
                                    string json = _contextoSerializacion.Serializar(Actas);
                                    respuesta.Json = json;
                                    return(respuesta);
                                }



                                // Con esta consulta trae información de los adjuntos.
                                var fotoADC = BDFisca.FotoFW.Where(a => a.idchecklist == objFisca.idChecklist && a.tipoDocumento == 3).FirstOrDefault();

                                // Obtencion de fiscalizacion desde el sistema de fiscalizacion
                                //ActaDenunciaCitacionDetalle fisca = _infraccionalComposite.InfraccionalNegocio.ObtenerADCdetalleSegunFiscalizacion(Parametros.NumeroFiscalizacion).First();


                                // Si el resultado de la fiscalización es negativo, se debe consultar el ADC
                                if (objFisca.resultadoFiscalizacion == "NO")
                                {
                                    // Obtención de información desde Sancionatorio
                                    actas = _infraccionalComposite.InfraccionalNegocio.ObtenerActasSegunFiscalizacion(objFisca.aftFolio);



                                    incumplimientos = _infraccionalComposite.FiscalizacionNegocio.ObtenerIncumplimientos(objFisca.idChecklist.ToString());

                                    foreach (var _actas in actas)
                                    {
                                        actasCitacion = new _ActaDenunciaCitacion()
                                        {
                                            IdADC               = _actas.ADC_ID,
                                            NroExpedienteRol    = (int)_actas.Rol,
                                            FechaAudiencia      = _actas.ADC_FECHA_AUDIENCIA,
                                            FechaDenuncia       = _actas.ADC_FECHA_DENUNCIA,
                                            NumeroFiscalizacion = Parametros.NumeroFiscalizacion,
                                            Usuario             = new _Usuario()
                                            {
                                                RutUsuario    = _actas.usuario.Login,
                                                NombreUsuario = _actas.usuario.Nombre,
                                                //Oficina = _actas.usuario.Oficina
                                                Oficina = new _Oficina()
                                                {
                                                    //IdOficina = fisca.idOficina,
                                                    IdOficina = (int)objFisca.idOficina,
                                                    //NombreOficina = fisca.descOficina
                                                    NombreOficina = objFisca.nombreOficina
                                                }
                                            },
                                            NegocioFiscalizacion = (_actas.NegocioFiscalizacion != null) ? new _NegocioFiscalizacion()
                                            {
                                                FiscalizacionPDF = new _NegocioFiscalizacionAdjuntos()
                                                {
                                                    //IdNegocioFiscaAdjunto = (_actas.NegocioFiscalizacion.negocioFiscalizacionAdjunto.IdNegocioFiscaAdjunto != null) ? _actas.NegocioFiscalizacion.negocioFiscalizacionAdjunto.IdNegocioFiscaAdjunto : 0,
                                                    NombrePDF = (fotoADC != null) ? ConfigurationManager.AppSettings["UrlDescargaFiscalizacion"] + fotoADC.nombre : ConfigurationManager.AppSettings["BaseURLFiscalizacion"] + "/Gestion/ADCView?id=" + objFisca.idFiscalizacionDetalle
                                                }
                                            } : null,
                                            Incumplimientos = incumplimientos.Select(x => new _Incumplimiento
                                            {
                                                Identificador = x.Identificador,
                                                Opcion        = new _Opcion {
                                                    Identificador = x.Opcion.Identificador, Descripcion = x.Opcion.Descripcion
                                                },
                                                Pregunta = new _Pregunta {
                                                    Identificador = x.Pregunta.Identificador, Descripcion = x.Pregunta.Descripcion
                                                }
                                            }).ToList()
                                        };

                                        Actas.Add(actasCitacion);
                                    }
                                }


                                if (Actas.Count > 0)
                                {
                                    respuesta.CodigoRespuesta = "SUCCESS_LIST";
                                    respuesta.Mensaje         = "Actas de denuncia exitosas";
                                    string json = _contextoSerializacion.Serializar(Actas);
                                    respuesta.Json = json;
                                }
                                else if (objFisca.resultadoFiscalizacion == "SI")
                                {
                                    respuesta.CodigoRespuesta = "SUCCESS_LIST";
                                    respuesta.Mensaje         = "La fiscalización no cuenta con incumplimientos";
                                    string json = "{}";
                                    respuesta.Json = json;
                                }
                                else
                                {
                                    return(respuesta = Respuesta.RespuestaPersonalizado("No existe información de ADC vinculada con el Sistema Infraccional", "ERROR_LIST"));
                                }
                            }
                            else
                            {
                                return(respuesta = Respuesta.RespuestaPersonalizado("Debe Ingresar Número de Fiscalización!", "ERROR_LIST"));
                            }
                        }

                        else
                        {
                            return(respuesta = Respuesta.RespuestaPersonalizado("Debe Validar los Valores en el JSON!", "ERROR_LIST"));
                        }
                    }
                    // TIPO ADC = 2 (Traigo las Bitacoras)
                    else if (request.TipoADC == "2")
                    {
                        if (!string.IsNullOrEmpty(request.Json))
                        {
                            var paramBitacora = _contextoSerializacion.Deserializar <ParametrosADC>(request.Json);

                            var sancBD = new sancionatorioEDM();

                            var numeroADC = Int32.Parse(paramBitacora.NumeroADC);

                            var bit = sancBD.SS_NEG_ADC_HITO.Where(a => a.ADH_ADC_ID == numeroADC);



                            var asdf = bit.ToList();

                            bitacoras = _infraccionalComposite.InfraccionalNegocio.ObtenerBistacorasSegunFiscalizacion(paramBitacora.NumeroADC);

                            foreach (var _bitacoras in asdf)
                            {
                                var nuevaActasCitacion = new ActaDenunciaCitacion()
                                {
                                    ADC_ID = _bitacoras.ADH_ADC_ID,
                                    ADC_NRO_FISCALIZACION = _bitacoras.SS_NEG_ADC.ADC_NRO_FISCALIZACION.ToString(),
                                    Sistema             = _bitacoras.SS_NEG_ADC.ADC_SISTEMA_ID,
                                    Rol                 = (double)_bitacoras.SS_NEG_ADC.ADC_ROL,
                                    Numero              = 0,
                                    ADC_FECHA_AUDIENCIA = (DateTime)_bitacoras.SS_NEG_ADC.ADC_FECHA_AUDIENCIA,
                                    UsuarioCreador      = _bitacoras.SS_NEG_ADC.SS_ADM_USUARIOS.USR_NOMBRE,
                                    Inspector           = _bitacoras.SS_NEG_ADC.ADC_RUT_INSPECTOR,
                                    OficinaUsuario      = (int)_bitacoras.SS_NEG_ADC.ADC_OFICINA_USUARIO,
                                    FechaIngreso        = (DateTime)_bitacoras.SS_NEG_ADC.ADC_FECHA_INGRESO,
                                    ADC_FECHA_DENUNCIA  = (DateTime)_bitacoras.SS_NEG_ADC.ADC_FECHA_DENUNCIA,
                                    usuario             = new Usuario
                                    {
                                        Identificador = "asdf"
                                    },
                                    ActaDenunciaCItacionHistorico = new ActaDenunciaCItacionHistorico
                                    {
                                        CodigoResolucion      = _bitacoras.ADH_COD,
                                        NumeroResolucion      = _bitacoras.ADH_NUM_RESOLUCION,
                                        ObservacionResolucion = _bitacoras.ADH_OBSERVACION,
                                        ADH_RUT_USUARIO       = _bitacoras.ADH_RUT_USUARIO.ToString(),
                                        ADCResolucion         = new ADCResolucion
                                        {
                                            IdResolucion = (_bitacoras.SS_NEG_ADC_RESOLUCION.Count > 0) ? _bitacoras.SS_NEG_ADC_RESOLUCION.First().ADR_ID : 0,
                                            Fecha        = (_bitacoras.SS_NEG_ADC_RESOLUCION.Count > 0) ? _bitacoras.SS_NEG_ADC_RESOLUCION.First().ADR_FECHA : new DateTime(),
                                            FechaSistema = (_bitacoras.SS_NEG_ADC_RESOLUCION.Count > 0) ? _bitacoras.SS_NEG_ADC_RESOLUCION.First().ADR_FECHA_SIS : new DateTime(),
                                        },
                                    },
                                    Proceso = new Proceso
                                    {
                                        IdProceso     = _bitacoras.SS_NEG_ADC.SS_MAE_PROCESO.PCS_COD_PROCESO,
                                        NombreProceso = _bitacoras.SS_NEG_ADC.SS_MAE_PROCESO.PCS_DES_PROCESO
                                    },
                                    Infractor = new Infractor
                                    {
                                        Identificador      = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_COD,
                                        Nombre             = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_NOMBRES,
                                        ApellidoPaterno    = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_APELLIDO_PAT,
                                        ApellidoMaterno    = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_APELLIDO_MAT,
                                        TipoIdentificacion = Int32.Parse(_bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_TIPO_ID),
                                        TipoPersona        = Int32.Parse(_bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_TIPO_PERSONA),
                                        Direccion          = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_DOMICILIO,
                                        Genero             = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_GENERO,
                                        Comuna             = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_COD_COMUNA,
                                        Pais                     = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_COD_PAIS.ToString(),
                                        Identificacion           = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_IDENTIFICACION,
                                        Email                    = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_EMAIL,
                                        Postal                   = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_DIR_POSTAL,
                                        RutRepresentanteLegal    = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_REP_LEG_RUT,
                                        NombreRepresentanteLegal = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_REP_LEG_NOM,
                                        Actividad                = (_bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_COD_ACTIVIDAD) ?? 0,
                                        Fono                     = _bitacoras.SS_NEG_ADC.SS_NEG_INFRACTOR.IFR_FONO
                                    }



                                    //ActaDenunciaCItacionHistorico = new _ActaDenunciaCItacionHistorico()
                                    //{
                                    //    IdADCHistorico = _bitacoras.ActaDenunciaCItacionHistorico.CodigoResolucion,
                                    //    NumeroResolucion = _bitacoras.ActaDenunciaCItacionHistorico.NumeroResolucion,
                                    //    Observacion = _bitacoras.ActaDenunciaCItacionHistorico.ObservacionResolucion,
                                    //    ADCResolucion = new _ADCResolucion()
                                    //    {
                                    //        Fecha = _bitacoras.ActaDenunciaCItacionHistorico.ADCResolucion.Fecha,
                                    //        FechaSistema = _bitacoras.ActaDenunciaCItacionHistorico.ADCResolucion.FechaSistema,
                                    //        HoraSistema = _bitacoras.ActaDenunciaCItacionHistorico.ADCResolucion.FechaSistema.Hour.ToString()
                                    //    }
                                    //},
                                    //Proceso = new _Proceso()
                                    //{
                                    //    IdProceso = _bitacoras.Proceso.IdProceso,
                                    //    NombreProceso = _bitacoras.Proceso.NombreProceso
                                    //},
                                    //Usuario = new _Usuario()
                                    //{
                                    //    RutUsuario = _bitacoras.usuario.Identificador,
                                    //    NombreUsuario = _bitacoras.usuario.Nombre
                                    //}
                                };
                                Bitacoras.Add(nuevaActasCitacion);
                            }

                            if (Bitacoras.Count > 0)
                            {
                                respuesta.CodigoRespuesta = "SUCCESS_LIST";
                                respuesta.Mensaje         = "Bitacoras exitosas";
                                string json = _contextoSerializacion.Serializar(Bitacoras);
                                respuesta.Json = json;
                            }
                            else
                            {
                                respuesta.CodigoRespuesta = "ERROR_LIST";
                                respuesta.Mensaje         = "Error al obtener las Bitacoras.";
                            }
                        }
                        else
                        {
                            return(respuesta = Respuesta.RespuestaPersonalizado("Debe Ingresar Valores en el Tipo ADC!", "ERROR_LIST"));
                        }
                    }
                    // TIPO ADC = 3 (Traigo los Hitos y detalles)
                    else if (request.TipoADC == "3")
                    {
                        if (!string.IsNullOrEmpty(request.Json))
                        {
                            var Parametros = _contextoSerializacion.Deserializar <ParametrosADC>(request.Json);

                            if (!string.IsNullOrEmpty(Parametros.NumeroADC))
                            {
                                hitos = _infraccionalComposite.InfraccionalNegocio.ObtenerADCdetalleSegunNumeroADC(Parametros.NumeroADC);
                                respuesta.CodigoRespuesta = "SUCCESS_LIST";
                                respuesta.Mensaje         = "Lista Hitos Exitosa";
                                string json = _contextoSerializacion.Serializar(hitos);

                                respuesta.Json = json;
                            }

                            else
                            {
                                return(respuesta = Respuesta.RespuestaPersonalizado("Debe Ingresar Número de ADC!", "ERROR_LIST"));
                            }
                        }
                        else
                        {
                            return(respuesta = Respuesta.RespuestaPersonalizado("Debe Validar los Valores en el JSON!", "ERROR_LIST"));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(respuesta);
        }