public List <CaracteristicaCertificadoModelo> GetList(string codigo)
        {
            List <CaracteristicaCertificadoModelo> listacar = new List <CaracteristicaCertificadoModelo>();

            try
            {
                ConsultaMySql consulta = new ConsultaMySql(@"
                        (SELECT cc.id_certificado_caracteristica, cc.codigo_certificado, codigo_producto, cf.descripcion as 'id_caracteristica', cc.especificacion, cc.resultado, cc.estado, cc.tipo_caracteristica, cc.usuario_creacion, cc.fecha_creacion, cc.usuario_modificacion, cc.fecha_modificacion, cc.orden
                        from sacc_certificado_caracteristica cc
                        inner join sacc_productos_caracteristicas_fisicas cf on cc.id_caracteristica = cf.id_caracteristicas_fisicas
                        where codigo_certificado='" + codigo + @"' and tipo_caracteristica='CF'
                        order by cc.orden asc LIMIT 100)
                        union
                        (SELECT cc.id_certificado_caracteristica, cc.codigo_certificado, codigo_producto, cf.descripcion as 'id_caracteristica', cc.especificacion, cc.resultado, cc.estado, cc.tipo_caracteristica, cc.usuario_creacion, cc.fecha_creacion, cc.usuario_modificacion, cc.fecha_modificacion, cc.orden
                        from sacc_certificado_caracteristica cc
                        inner join sacc_productos_analisis_quimico cf on cc.id_caracteristica = cf.id_analisis_quimico
                        where codigo_certificado='" + codigo + @"' and tipo_caracteristica='AQ'
                        order by cc.orden asc LIMIT 100)
                        union
                        (SELECT cc.id_certificado_caracteristica, cc.codigo_certificado, codigo_producto, cf.descripcion as 'id_caracteristica', cc.especificacion, cc.resultado, cc.estado, cc.tipo_caracteristica, cc.usuario_creacion, cc.fecha_creacion, cc.usuario_modificacion, cc.fecha_modificacion, cc.orden
                        from sacc_certificado_caracteristica cc
                        inner join sacc_productos_analisis_microbiologico cf on cc.id_caracteristica = cf.id_analisis_microbiologico
                        where codigo_certificado='" + codigo + @"' and tipo_caracteristica='CM' 
                        order by cc.orden asc LIMIT 100);                    
                ");
                DataTable     dt       = consulta.EjecutarConsulta(Parametros.ConexionBDMySQL());
                if (dt.Rows.Count <= 0)
                {
                    throw new Exception("No trajo datos  de la consulta de la base de datos");
                }

                foreach (DataRow item in dt.Rows)
                {
                    CaracteristicaCertificadoModelo car = new CaracteristicaCertificadoModelo
                    {
                        codigo_producto     = (item["codigo_producto"]).ToString(),
                        id_caracteristica   = (item["id_caracteristica"]).ToString(),
                        especificacion      = (item["especificacion"]).ToString(),
                        resultado           = (item["resultado"]).ToString(),
                        tipo_caracteristica = (item["tipo_caracteristica"]).ToString(),
                        estado               = Convert.ToInt32(item["estado"]),
                        usuario_creacion     = (item["usuario_creacion"]).ToString(),
                        fecha_creacion       = Convert.ToDateTime(item["fecha_creacion"]),
                        usuario_modificacion = (item["usuario_modificacion"]).ToString(),
                        fecha_modificacion   = Convert.ToDateTime(item["fecha_modificacion"]),
                        orden = Convert.ToInt32(item["orden"])
                    };
                    listacar.Add(car);
                }
                return(listacar);
            }
            catch (Exception ex)
            {
                return(listacar);
            }
        }
        // GET api/certificadomp/5
        public HttpResponseMessage Get(string id)
        {
            string codigo_certificado = id.Replace("|", "/"); // Obtenemos el codigo del certificado | a /

            List <CertificadoMPModelo>             listacomp        = new List <CertificadoMPModelo>();
            List <CaracteristicaCertificadoModelo> lcaracteristicas = new List <CaracteristicaCertificadoModelo>();

            lcaracteristicas = ccnegocio.GetDatosCaracteristicas(codigo_certificado);

            CertificadoMP rep = new CertificadoMP();

            //Creamos Listas por tipo de característica
            List <CaracteristicaCertificadoModelo> lcf = new List <CaracteristicaCertificadoModelo>();
            //List<CaracteristicaCertificadoModelo> laq = new List<CaracteristicaCertificadoModelo>();
            List <CaracteristicaCertificadoModelo> lcm = new List <CaracteristicaCertificadoModelo>();

            foreach (var item in lcaracteristicas)
            {
                // Console.WriteLine(item);
                CaracteristicaCertificadoModelo caracteristica = new CaracteristicaCertificadoModelo();
                caracteristica.codigo_producto     = item.codigo_producto;
                caracteristica.id_caracteristica   = item.id_caracteristica;
                caracteristica.especificacion      = item.especificacion;
                caracteristica.resultado           = item.resultado;
                caracteristica.tipo_caracteristica = item.tipo_caracteristica;
                caracteristica.estado               = item.estado;
                caracteristica.usuario_creacion     = item.usuario_creacion;
                caracteristica.fecha_creacion       = item.fecha_creacion;
                caracteristica.usuario_modificacion = item.usuario_modificacion;
                caracteristica.fecha_modificacion   = item.fecha_modificacion;

                if (caracteristica.tipo_caracteristica == "CF")
                {
                    lcf.Add(caracteristica);
                }
                else if (caracteristica.tipo_caracteristica == "CM")
                {
                    lcm.Add(caracteristica);
                }
            }



            //Esto sirve para listar varios certificados
            List <CertificadoMPModelo> listacmp = new List <CertificadoMPModelo>(); // Creamos la Lista de Certificados

            listacmp = this.certificadompn.GetDatosCertificadoMP(codigo_certificado);


            CertificadoMPModelo certificado = new CertificadoMPModelo();

            certificado = certificadompn.GetCertificadoMPReport(codigo_certificado);

            rep.Crear(certificado, lcf, lcm);

            //rep.Crear(certificado);

            HttpResponseMessage response = new HttpResponseMessage();
            var localFilePath            = Parametros.rutaCertificadoMP() + codigo_certificado.Replace("/", "¿") + ".pdf"; //HttpContext.Current.Server.MapPath("~/certificadosmp/prueba.pdf");

            byte[] pdfbytes = System.IO.File.ReadAllBytes(localFilePath);

            if (!File.Exists(localFilePath))
            {
                response = Request.CreateResponse(HttpStatusCode.Gone);
            }
            else
            {
                response.StatusCode = HttpStatusCode.OK;
                response.Content    = new ByteArrayContent(pdfbytes);
                response.Content.Headers.ContentType        = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");
                response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
            }
            return(response);
        }