public FileStreamResult ItemFile(String id) {
     var data = new Clase();
     string conexion = ProvedorHileraConexion.ConstruirHilera("localhost", "sa", "root");
     using (ModeloSagethDocente dc = new ModeloSagethDocente(conexion))
     {
         dc.Database.Connection.Open();
         data = dc.ObtenerClasePorCodigo(id);
         dc.Database.Connection.Close();
     }
     MemoryStream ms = new MemoryStream(data.archivo_pdf);
     return new FileStreamResult(ms, "application/pdf"); 
 }
        public virtual int ModificarClase(Clase clase)
        {
            var cod_carreraParameter = clase.cod_clase != null ?
                new SqlParameter("@cod_clase", clase.cod_clase) :
                new SqlParameter("@cod_clase", typeof(string));

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

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

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


            var cod_resolucionParameter = clase.cod_resolucion != null ?
                new SqlParameter("@cod_resolucion", clase.cod_resolucion) :
                new SqlParameter("@cod_resolucion", typeof(string));
            return Database.ExecuteSqlCommand(@"EXEC dbo.spactualizar_clase @cod_clase, @nombre, @detalle, @activo, @archivo_pdf,@cod_resolucion", cod_carreraParameter, nombreParameter, detalleParameter, activoParameter, archivo_pdfParameter, cod_resolucionParameter);
        }
        public ActionResult Detalles(String id)
        {

            var data = new Clase();
            string conexion = ProvedorHileraConexion.ConstruirHilera("localhost", "sa", "root");
            using (ModeloSagethDocente dc = new ModeloSagethDocente(conexion))
            {
                dc.Database.Connection.Open();
                data = dc.ObtenerClasePorCodigo(id);
                dc.Database.Connection.Close();
            }

            return View(data);
        }
        public JsonResult Insertar(Clase 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.InsertarClase(data);
                    return Json(new { status = "ok" });
                }
                catch
                {
                    return Json(new { status = "error" });
                }
                finally
                {
                    dc.Database.Connection.Close();
                }
            }

        }
        public JsonResult Editar(Clase data)
        {

            string conexion = ProvedorHileraConexion.ConstruirHilera("localhost", "sa", "root");
            using (ModeloSagethDocente dc = new ModeloSagethDocente(conexion))
            {
                dc.Database.Connection.Open();
                try
                {
                    dc.ModificarClase(data);
                    return Json(new { status = "ok" });
                }
                catch
                {
                    return Json(new { status = "error" });
                }
                finally
                {
                    dc.Database.Connection.Close();
                }
            }
        }