public ActionResult DowloadFile(int?id, string FileId = "") { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tbNetVirtualGroup tbNetVirtualGroup = db.tbNetVirtualGroup.Find(id); if (tbNetVirtualGroup != null) { Type t = typeof(tbNetVirtualGroup); PropertyInfo pi = t.GetProperty(FileId); byte[] file = (byte[])pi.GetValue(tbNetVirtualGroup); if (file != null) { List <FileMetaData> mdfiles = JsonConvert.DeserializeObject <List <FileMetaData> >(tbNetVirtualGroup.JsonMetadata); string content_type = mdfiles.Where(m => m.FileId == FileId).Select(m => m.ContentType).First(); return(File(file, content_type)); } else { var dir = Server.MapPath("/Images"); var path = Path.Combine(dir, "Personajes.png"); return(File(path, "image/png")); } } else { return(null); } }
public ActionResult DeleteConfirmed(int id) { if (!(AspNetUsersRoles.IsUserInRole("Administrator", User.Identity.Name) || AspNetUsersRoles.IsUserInRole("Maestro", User.Identity.Name))) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ViewBag.ControllerName = "tbNetVirtualGroups"; tbNetVirtualGroup tbNetVirtualGroup = db.tbNetVirtualGroup.Find(id); db.tbNetVirtualGroup.Remove(tbNetVirtualGroup); db.SaveChanges(); return(RedirectToAction("Index")); }
// GET: tbNetVirtualGroups/Details/5 public ActionResult Details(int?id) { ViewBag.ControllerName = "tbNetVirtualGroups"; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tbNetVirtualGroup tbNetVirtualGroup = db.tbNetVirtualGroup.Find(id); if (tbNetVirtualGroup == null) { return(HttpNotFound()); } return(View(tbNetVirtualGroup)); }
public ActionResult Create([Bind(Include = "id,name,description")] tbNetVirtualGroup tbNetVirtualGroup) { if (!(AspNetUsersRoles.IsUserInRole("Administrator", User.Identity.Name) || AspNetUsersRoles.IsUserInRole("Maestro", User.Identity.Name))) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ViewBag.ControllerName = "tbNetVirtualGroups"; if (ModelState.IsValid) { List <FileMetaData> mdfiles = new List <FileMetaData>(); DateTime dn = System.DateTime.Now; foreach (string item in Request.Files) { HttpPostedFileBase file = Request.Files[item] as HttpPostedFileBase; int length = file.ContentLength; if (length > 0 && file != null) { byte[] buffer = new byte[length]; file.InputStream.Read(buffer, 0, length); PropertyInfo propInfo = typeof(tbNetVirtualGroup).GetProperty(item); propInfo.SetValue(tbNetVirtualGroup, buffer); FileMetaData fmd = new FileMetaData() { FileId = item, CreatedOn = dn, ModifiedOn = dn, ContentType = file.ContentType, Size = length / 1024 }; mdfiles.Add(fmd); } } tbNetVirtualGroup.state = false; tbNetVirtualGroup.JsonMetadata = JsonConvert.SerializeObject(mdfiles); tbNetVirtualGroup.createDate = System.DateTime.Now; db.tbNetVirtualGroup.Add(tbNetVirtualGroup); //--------------------------------- Guid userid = new Guid(AspNetUsers.GetUserId(User.Identity.Name)); tbNetVirtualUserGroup nvug = new tbNetVirtualUserGroup(); nvug.idNetVirtualGroup = tbNetVirtualGroup.id; nvug.idNetVirtualUser = userid; nvug.isOwner = true; nvug.StateUserAceptGroup = 0; db.tbNetVirtualUserGroup.Add(nvug); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tbNetVirtualGroup)); }
// GET: tbNetVirtualGroups/Delete/5 public ActionResult Delete(int?id) { if (!(AspNetUsersRoles.IsUserInRole("Administrator", User.Identity.Name) || AspNetUsersRoles.IsUserInRole("Maestro", User.Identity.Name))) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ViewBag.ControllerName = "tbNetVirtualGroups"; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tbNetVirtualGroup tbNetVirtualGroup = db.tbNetVirtualGroup.Find(id); if (tbNetVirtualGroup == null) { return(HttpNotFound()); } return(View(tbNetVirtualGroup)); }
public ActionResult Edit([Bind(Include = "id,name,description")] tbNetVirtualGroup tbNetVirtualGroup) { if (!(AspNetUsersRoles.IsUserInRole("Administrator", User.Identity.Name) || AspNetUsersRoles.IsUserInRole("Maestro", User.Identity.Name))) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ViewBag.ControllerName = "tbNetVirtualGroups"; if (ModelState.IsValid) { var q = (from m in db.tbNetVirtualGroup where m.id == tbNetVirtualGroup.id select new { m.createDate, m.photo, m.JsonMetadata }).FirstOrDefault(); if (q != null) { tbNetVirtualGroup.createDate = q.createDate; tbNetVirtualGroup.photo = q.photo; tbNetVirtualGroup.JsonMetadata = q.JsonMetadata; } List <FileMetaData> mdfiles = JsonConvert.DeserializeObject <List <FileMetaData> >(tbNetVirtualGroup.JsonMetadata); DateTime dn = System.DateTime.Now; foreach (string item in Request.Files) { HttpPostedFileBase file = Request.Files[item] as HttpPostedFileBase; int length = file.ContentLength; if (length > 0 && file != null) { byte[] buffer = new byte[length]; file.InputStream.Read(buffer, 0, length); PropertyInfo propInfo = typeof(tbNetVirtualGroup).GetProperty(item); propInfo.SetValue(tbNetVirtualGroup, buffer); FileMetaData fmd = mdfiles.Find(m => m.FileId == item); fmd.ModifiedOn = System.DateTime.Now; fmd.ContentType = file.ContentType; fmd.Size = length / 1024; } } tbNetVirtualGroup.JsonMetadata = JsonConvert.SerializeObject(mdfiles); db.Entry(tbNetVirtualGroup).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tbNetVirtualGroup)); }