public ActionResult Detalles(String id)
        {
            var data = new Especialidad();
            string conexion = ProvedorHileraConexion.ConstruirHilera("localhost", "sa", "root");
            using (ModeloSagethDocente dc = new ModeloSagethDocente(conexion))
            {
                dc.Database.Connection.Open();
                data = dc.ObtenerEspecialidadPorCodigo(id);
                dc.Database.Connection.Close();
            }

            return View(data);
        }
 public FileStreamResult ItemFile(String id)
 {
     var data = new Especialidad();
     string conexion = ProvedorHileraConexion.ConstruirHilera("localhost", "sa", "root");
     using (ModeloSagethDocente dc = new ModeloSagethDocente(conexion))
     {
         dc.Database.Connection.Open();
         data = dc.ObtenerEspecialidadPorCodigo(id);
         dc.Database.Connection.Close();
     }
     MemoryStream ms = new MemoryStream(data.archivo_pdf);
     return new FileStreamResult(ms, "application/pdf");
 }
        public JsonResult Editar(Especialidad data)
        {

            string conexion = ProvedorHileraConexion.ConstruirHilera("localhost", "sa", "root");
            using (ModeloSagethDocente dc = new ModeloSagethDocente(conexion))
            {
                dc.Database.Connection.Open();
                try
                {
                    dc.ModificarEspecialidad(data);
                    return Json(new { status = "ok" });
                }
                catch
                {
                    return Json(new { status = "error" });
                }
                finally
                {
                    dc.Database.Connection.Close();
                }
            }
        }
        public virtual int ModificarEspecialidad(Especialidad especialidad)
        {
            var cod_especialidadParameter = especialidad.cod_especialidad != null ?
                new SqlParameter("@cod_especialidad", especialidad.cod_especialidad) :
                new SqlParameter("@cod_especialidad", typeof(string));

            var nombreParameter = especialidad.nombre != null ?
                new SqlParameter("@nombre", especialidad.nombre) :
                new SqlParameter("@nombre", typeof(string));

            var detalleParameter = especialidad.detalle != null ?
                new SqlParameter("@detalle", especialidad.detalle) :
                new SqlParameter("@detalle", typeof(string));

            var activoParameter = especialidad.activo != null ?
                new SqlParameter("@activo", especialidad.activo) :
                new SqlParameter("@activo", typeof(bool));

            if (especialidad.archivo_pdf == null)
            {
                especialidad.archivo_pdf = new byte[0];
            }
            var archivo_pdfParameter = especialidad.archivo_pdf != null ?
               new SqlParameter("@archivo_pdf", especialidad.archivo_pdf) :
               new SqlParameter("@archivo_pdf", SqlDbType.VarBinary);

            return Database.ExecuteSqlCommand(@"EXEC dbo.spactualizar_especialidad @cod_especialidad,@nombre,@detalle,@activo,@archivo_pdf", cod_especialidadParameter, nombreParameter, detalleParameter, activoParameter, archivo_pdfParameter);
        }
        public JsonResult Insertar(Especialidad data)
        {
            String[] byteString = data.stringArchivo.Split(',');
            data.archivo_pdf = Convert.FromBase64String(byteString[1]);
            string conexion = ProvedorHileraConexion.ConstruirHilera("localhost", "sa", "root");
            using (ModeloSagethDocente dc = new ModeloSagethDocente(conexion))
            {
                dc.Database.Connection.Open();
                try
                {
                    dc.InsertarEspecialidad(data);
                    return Json(new { status = "ok" });
                }
                catch
                {
                    return Json(new { status = "error" });
                }
                finally
                {
                    dc.Database.Connection.Close();
                }
            }

        }