public ActionResult DeleteConfirmed(int id)
        {
            audiometria audiometria = db.audiometria.Find(id);

            db.audiometria.Remove(audiometria);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Download(int id = 0)
        {
            string      contentType = "application/pdf";
            audiometria audiometria = db.audiometria.Find(id);

            if (audiometria == null)
            {
                return(HttpNotFound());
            }
            return(File(Server.MapPath("~/Content/audiometria/") + audiometria.aud_archivo, contentType, audiometria.aud_archivo));
        }
        //[AcceptVerbs(HttpVerbs.Get)]
        public ActionResult Descargar(int id)
        {
            try
            {
                string        contentType   = "application/pdf";
                dsAudiometria dsAudiometria = new dsAudiometria();
                string        conn          = ConfigurationManager.AppSettings["conexion"];
                int           aud_id        = id;
                audiometria   audiometria   = db.audiometria.Find(aud_id);
                //medico medico = db.medico.Find(audiometria.aud_medico);
                string fileName = String.Empty;
                //if (String.IsNullOrEmpty(fileName))
                //    fileName = "firma.png";
                //string path01 = Path.Combine(Server.MapPath("~/Content/firmas"), fileName);

                string strAudiometia = "Select * from view_audiometria where aud_id=" + aud_id;

                SqlConnection sqlcon = new SqlConnection(conn);

                SqlDataAdapter daAudiometria = new SqlDataAdapter(strAudiometia, sqlcon);

                daAudiometria.Fill(dsAudiometria, "view_audiometria");

                RptAudiometria_ rp = new RptAudiometria_();
                rp.Load(Path.Combine(Server.MapPath("~/Reports"), "RptAudiometria_.rpt"));
                rp.SetDataSource(dsAudiometria);
                //rp.SetParameterValue("picturePath", path01);
                rp.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Path.Combine(Server.MapPath("~/Content/audiometria"), aud_id + ".pdf"));

                //Stream stream = rp.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                //stream.Seek(0, SeekOrigin.Begin);
                //return File(stream, "application/pdf", aud_id + ".pdf");

                var    document = new Document();
                var    ms       = new MemoryStream();
                string archivo1 = Path.Combine(Server.MapPath("~/Content/audiometria"), audiometria.aud_id + ".pdf");
                string archivo2 = Path.Combine(Server.MapPath("~/Content/audiometria"), audiometria.aud_archivo);
                fileName = "Reporte" + aud_id + ".pdf";
                string   fileTarget = Path.Combine(Server.MapPath("~/Content/audiometria/") + fileName);
                string[] Lista      = { archivo1, archivo2 };

                Merge(fileTarget, Lista);
                ms.Close();
                return(File(fileTarget, contentType, fileName));
            }
            catch (Exception ex)
            {
                ViewBag.mensaje = ex.Message;
                //return View("Message");
                return(RedirectToAction("Message", "Home", new { mensaje = ex.Message }));
            }
        }
        public ActionResult Edit(audiometria audiometria)
        {
            //string nom_pac;
            if (Request.Files.Count > 0)
            {
                var    file     = Request.Files[0];
                string fileName = Path.GetFileName(file.FileName);
                string ext      = Path.GetExtension(fileName);
                if (fileName != "")
                {
                    if (ModelState.IsValid && ext == ".pdf")
                    {
                        if (fileName != audiometria.aud_archivo)
                        {
                            string path = Path.Combine(Server.MapPath("~/Content/audiometria"), fileName);
                            file.SaveAs(path);
                        }
                        audiometria.aud_archivo     = fileName;
                        db.Entry(audiometria).State = EntityState.Modified;
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("ext", "Extensión no Válida");
                    }
                }
                else
                {
                    if (ModelState.IsValid)
                    {
                        UserManager usermanager = new UserManager();
                        audiometria.aud_responsable = usermanager.get_user_id(User);
                        audiometria.aud_perfil      = usermanager.get_perfil(User);
                        db.Entry(audiometria).State = EntityState.Modified;
                        db.SaveChanges();
                        if (audiometria.aud_observacion != "")
                        {
                            notificar(audiometria.aud_paciente);
                        }
                        return(RedirectToAction("Index"));
                    }
                }
            }

            paciente paciente = db.paciente.Find(audiometria.aud_paciente);

            ViewBag.paciente = paciente.pac_nombres + " " + paciente.pac_apellidos;

            return(View(audiometria));
        }
        public ActionResult Details(int id = 0)
        {
            audiometria audiometria = db.audiometria.Find(id);

            if (audiometria == null)
            {
                return(HttpNotFound());
            }
            paciente paciente = db.paciente.Find(audiometria.aud_paciente);

            ViewBag.paciente = paciente.pac_nombres + " " + paciente.pac_apellidos;

            return(View(audiometria));
        }
        public ActionResult Create(audiometria audiometria)
        {
            string nom_pac;

            if (Request.Files.Count > 0)
            {
                var    file     = Request.Files[0];
                string fileName = Path.GetFileName(file.FileName);
                string ext      = Path.GetExtension(fileName);
                if (fileName != "")
                {
                    audiometria.aud_archivo = fileName;
                    DateTime dd = DateTime.Now;
                    audiometria.aud_fecha         = dd.Date.ToString("d");
                    audiometria.aud_laboratorista = get_user();
                    audiometria.aud_orden         = get_orden(audiometria.aud_fecha);
                    if (ModelState.IsValid && ext == ".pdf")
                    {
                        string path = Path.Combine(Server.MapPath("~/Content/audiometria"), fileName);
                        file.SaveAs(path);
                        db.audiometria.Add(audiometria);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("ext", "Extensión no Válida");
                    }
                }
                else
                {
                    ModelState.AddModelError("ext", "Debe seleccionar un archivo");
                }
            }

            paciente paciente = db.paciente.Find(audiometria.aud_paciente);

            if (paciente != null)
            {
                nom_pac = paciente.pac_nombres + " " + paciente.pac_apellidos;
            }
            else
            {
                nom_pac = "";
            }
            ViewBag.paciente = nom_pac;

            return(View(audiometria));
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (this.reportDocument != null)
            {
                this.reportDocument.Close();
                this.reportDocument.Dispose();
            }

            dsAudiometria dsPrueba    = new dsAudiometria();
            string        conn        = ConfigurationManager.AppSettings["conexion"];
            int           aud_id      = Convert.ToInt32(Session["aud_id"]);
            audiometria   audiometria = db.audiometria.Find(aud_id);
            //string fileName = medico.med_firma;
            //if (String.IsNullOrEmpty(fileName))
            //    fileName = "firma.png";

            string strAudiometia = "Select * from audiometria where aud_id=" + aud_id;
            string strPaciente   = "Select * from paciente where pac_id=" + audiometria.aud_paciente;


            SqlConnection  sqlcon        = new SqlConnection(conn);
            SqlDataAdapter daAudiometria = new SqlDataAdapter(strAudiometia, sqlcon);
            SqlDataAdapter daPaciente    = new SqlDataAdapter(strPaciente, sqlcon);

            daAudiometria.Fill(dsPrueba, "audiometria");
            daPaciente.Fill(dsPrueba, "paciente");

            reportDocument = new ReportDocument();
            //Report path
            string reportPath = Server.MapPath("~/Reports/RptAudiometria.rpt");

            reportDocument.Load(reportPath);
            reportDocument.SetDataSource(dsPrueba);
            reportDocument.SetParameterValue("hc", "");
            reportDocument.SetParameterValue("orden", "");
            //string path01 = Path.Combine(Server.MapPath("~/Content/firmas"), fileName);
            //reportDocument.SetParameterValue("picturePath", path01);
            crViewer.ReportSource = reportDocument;
            crViewer.DataBind();
        }
        public ActionResult Delete(int id = 0)
        {
            audiometria audiometria = db.audiometria.Find(id);

            if (audiometria == null)
            {
                return(HttpNotFound());
            }
            paciente paciente = db.paciente.Find(audiometria.aud_paciente);
            string   nom_pac  = String.Empty;

            if (paciente != null)
            {
                nom_pac = paciente.pac_nombres + " " + paciente.pac_apellidos;
            }
            else
            {
                nom_pac = "";
            }
            @ViewBag.paciente = nom_pac;
            return(View(audiometria));
        }