public ActionResult ConformidadLicencia(int IdCodigo)
        {
            LicenciasPorTramitarModel objModel = new LicenciasPorTramitarModel();
            LogicaTramite objLogicaTramite = new LogicaTramite();
            EntidadAntecedente DatosAntecedentes = new EntidadAntecedente();
            objModel.DatosLicenciaPorTramitar = objLogicaTramite.DatosLicenciaPorTramitar(IdCodigo);

            return View(objModel);
        }
        private List<EntidadAntecedente> CargarAntecedentes(DataSet dsAntecedentes, string strDNI)
        {
            List<EntidadAntecedente> ListaFinalAntecedentes = new List<EntidadAntecedente>();
            EntidadAntecedente AntecedenteJudicial = new EntidadAntecedente();
            EntidadAntecedente AntecedentePenal = new EntidadAntecedente();
            EntidadAntecedente AntecedentePolicial = new EntidadAntecedente();

            if (dsAntecedentes.Tables[0].Rows.Count > 0)
            {

                AntecedenteJudicial.intCodigo = 1;
                AntecedenteJudicial.strDNI = dsAntecedentes.Tables[0].Rows[0]["DNI"].ToString();
                AntecedenteJudicial.strEstado = dsAntecedentes.Tables[0].Rows[0]["Estado"].ToString();
                AntecedenteJudicial.strCodigoAntecedente = dsAntecedentes.Tables[0].Rows[0]["Cod_Antecedente"].ToString();
            }
            else
            {
                AntecedenteJudicial.intCodigo = 1;
                AntecedenteJudicial.strDNI = strDNI;
                AntecedenteJudicial.strEstado = "No";
                AntecedenteJudicial.strCodigoAntecedente = "JU-100-2014";
            }

            if (dsAntecedentes.Tables[1].Rows.Count > 0)
            {

                AntecedentePenal.intCodigo = 2;
                AntecedentePenal.strDNI = dsAntecedentes.Tables[1].Rows[0]["DNI"].ToString();
                AntecedentePenal.strEstado = dsAntecedentes.Tables[1].Rows[0]["Estado"].ToString();
                AntecedentePenal.strCodigoAntecedente = dsAntecedentes.Tables[1].Rows[0]["Cod_Antecedente"].ToString();
            }
            else
            {
                AntecedentePenal.intCodigo = 2;
                AntecedentePenal.strDNI = strDNI;
                AntecedentePenal.strEstado = "No";
                AntecedentePenal.strCodigoAntecedente = "PE-100-2014";
            }

            if (dsAntecedentes.Tables[2].Rows.Count > 0)
            {

                AntecedentePolicial.intCodigo = 3;
                AntecedentePolicial.strDNI = dsAntecedentes.Tables[2].Rows[0]["DNI"].ToString();
                AntecedentePolicial.strEstado = dsAntecedentes.Tables[2].Rows[0]["Estado"].ToString();
                AntecedentePolicial.strCodigoAntecedente = dsAntecedentes.Tables[2].Rows[0]["Cod_Antecedente"].ToString();
            }
            else
            {
                AntecedentePolicial.intCodigo = 3;
                AntecedentePolicial.strDNI = strDNI;
                AntecedentePolicial.strEstado = "No";
                AntecedentePolicial.strCodigoAntecedente = "PO-100-2014";
            }

            ListaFinalAntecedentes.Add(AntecedenteJudicial);
            ListaFinalAntecedentes.Add(AntecedentePenal);
            ListaFinalAntecedentes.Add(AntecedentePolicial);

            return ListaFinalAntecedentes;
        }
        public ActionResult DarConformidad(LicenciasPorTramitarModel model)
        {
            LicenciasPorTramitarModel objModel = new LicenciasPorTramitarModel();
            LogicaLicencia objLogicaLicencia = new LogicaLicencia();
            EntidadAntecedente DatosAntecedentes = new EntidadAntecedente();
            string EstadoJudicial = string.Empty;
            string CodigoJudicial = string.Empty;
            string EstadoPenal = string.Empty;
            string CodigoPenal = string.Empty;
            string EstadoPolicial = string.Empty;
            string CodigoPolicial = string.Empty;
            string NumeroLicencia = string.Empty;

            List<EntidadAntecedente> ListadoAntecedentes = new List<EntidadAntecedente>();
            ServicioAntecedentes.AntecedentesClient objServicios = new ServicioAntecedentes.AntecedentesClient();
            ListadoAntecedentes = objServicios.BuscarAntecedentes(model.DatosLicenciaPorTramitar.DNICiudadano).ToList();

            foreach (EntidadAntecedente lista in ListadoAntecedentes)
                {
                    if (lista.intCodigo == 1)
                    {
                        EstadoJudicial = lista.strEstado;
                        CodigoJudicial = lista.strCodigoAntecedente;
                    }

                    if (lista.intCodigo == 2)
                    {
                        EstadoPenal = lista.strEstado;
                        CodigoPenal = lista.strCodigoAntecedente;
                    }

                    if (lista.intCodigo == 3)
                    {
                        EstadoPolicial = lista.strEstado;
                        CodigoPolicial = lista.strCodigoAntecedente;
                    }
                }

            NumeroLicencia = objLogicaLicencia.RegistraLicencia(int.Parse(model.DatosLicenciaPorTramitar.CodTramite.ToString()),
                                                                                   (int)Enumeraciones.EstadosLicencia.Vigente,
                                                                                   (int)Enumeraciones.EstadosTramite.Aceptado,
                                                                                   EstadoPolicial, CodigoPolicial, EstadoJudicial,
                                                                                   CodigoJudicial, EstadoPenal, CodigoPenal);

            if (NumeroLicencia.Length > 0)
            {
                //Envia a cola
                string strRutaCola = @".\private$\Sucamec";
                if (!MessageQueue.Exists(strRutaCola))
                    MessageQueue.Create(strRutaCola);
                MessageQueue cola = new MessageQueue(strRutaCola);
                Message mensaje = new Message();
                mensaje.Label = "Nueva licencia";
                mensaje.Body = new EntidadLicencia() {
                    intEstadoLicencia = (int)Enumeraciones.EstadosTramite.Aceptado,
                    strFechaRespuesta = DateTime.Now.Date.ToShortDateString(),
                    intCodSucamec = int.Parse(model.DatosLicenciaPorTramitar.CodTramite.ToString()),
                    intCodSolicitud = int.Parse(model.DatosLicenciaPorTramitar.CodSolicitud.ToString()),
                    strNumeroLicencia = NumeroLicencia,
                    strEstadoAntecedentePolicial = EstadoPolicial,
                    strEstadoAntecedenteJudicial = EstadoJudicial,
                    strEstadoAntecedentePenal = EstadoPenal
                    };
                cola.Send(mensaje);

                TempData["MensajeTramite"] = "El trámite se realizo satisfactoriamente";
            }
            else
            {
                TempData["MensajeTramite"] = "No se pudo registrar el trámite";
            }

            return RedirectToAction("LicenciasPorTramitar", "Licencia");
        }
        public ActionResult Rechazar(LicenciasPorTramitarModel model)
        {
            LicenciasPorTramitarModel objModel = new LicenciasPorTramitarModel();
            LogicaLicencia objLogicaLicencia = new LogicaLicencia();
            EntidadAntecedente DatosAntecedentes = new EntidadAntecedente();
            string EstadoJudicial = string.Empty;
            string CodigoJudicial = string.Empty;
            string EstadoPenal = string.Empty;
            string CodigoPenal = string.Empty;
            string EstadoPolicial = string.Empty;
            string CodigoPolicial = string.Empty;
            int intResultado = 0;

            List<EntidadAntecedente> ListadoAntecedentes = new List<EntidadAntecedente>();
            ServicioAntecedentes.AntecedentesClient objServicios = new ServicioAntecedentes.AntecedentesClient();
            ListadoAntecedentes = objServicios.BuscarAntecedentes(model.DatosLicenciaPorTramitar.DNICiudadano).ToList();

            foreach (EntidadAntecedente lista in ListadoAntecedentes)
            {
                if (lista.intCodigo == 1)
                {
                    EstadoJudicial = lista.strEstado;
                    CodigoJudicial = lista.strCodigoAntecedente;
                }

                if (lista.intCodigo == 2)
                {
                    EstadoPenal = lista.strEstado;
                    CodigoPenal = lista.strCodigoAntecedente;
                }

                if (lista.intCodigo == 3)
                {
                    EstadoPolicial = lista.strEstado;
                    CodigoPolicial = lista.strCodigoAntecedente;
                }
            }

            intResultado = objLogicaLicencia.RechazarLicencia(int.Parse(model.DatosLicenciaPorTramitar.CodTramite.ToString()),
                                                                                   (int)Enumeraciones.EstadosTramite.Rechazado,
                                                                                   EstadoPolicial, CodigoPolicial, EstadoJudicial,
                                                                                   CodigoJudicial, EstadoPenal, CodigoPenal);

            if (intResultado == -1)
            {
                TempData["MensajeTramite"] = "El trámite fue rechazado";
            }
            else
            {
                TempData["MensajeTramite"] = "No se pudo registrar el trámite";
            }

            return RedirectToAction("LicenciasPorTramitar", "Licencia");
        }