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); }