public ActionResult AddDataset() { var softwareDataset = new SoftwareDatasetVM(); softwareDataset.Type = true; return(View(softwareDataset)); }
public ActionResult UpdateSoftware(int sdId) { var sd = Services.SoftwareDatasetService.GetSoftwareDatasetById(sdId); if (Session.CurrentUser != null && (sd.UserID == Session.CurrentUser.UserID || Session.CurrentUser.IsAdmin)) { if (sd != null) { var model = new SoftwareDatasetVM() { ID = sd.ID, UserID = sd.UserID, Title = sd.Title, Authors = sd.Authors, CreationDate = sd.CreationDate, Type = sd.Type, Link = sd.Link, Description = sd.Description, LinkText = sd.LinkText, ImageName = sd.Images != null?sd.Images.Select(i => i.Name).FirstOrDefault() : string.Empty, UploadName = sd.Upload != null ? sd.Upload.FileName : string.Empty }; return(View(model)); } return(RedirectToAction("Login", "Account")); } return(Redirect(Request.UrlReferrer.AbsolutePath)); }
private SoftwareDataset GetSoftwareInformation(SoftwareDatasetVM sd, int userID) { var sdToAdd = new SoftwareDataset() { UserID = userID, Title = sd.Title != null?sd.Title.Trim() : null, Authors = sd.Authors != null?sd.Authors.Trim() : null, CreationDate = DateTime.Now, Type = sd.Type, Link = sd.Link != null?sd.Link.Trim() : null, LinkText = sd.LinkText != null?sd.LinkText.Trim() : null, Description = sd.Description != null?sd.Description.Trim() : null }; var image = sd.Image; if (image != null && image.ContentLength > 0) { var fileName = Path.GetFileName(image.FileName); var guid = Guid.NewGuid().ToString(); var path = Path.Combine(Server.MapPath("~/images"), guid + '-' + fileName); image.SaveAs(path); var newImage = new BE.Image() { UserID = userID, Name = guid + "-" + fileName, FileSize = image.ContentLength, FilePath = path, CreationDate = System.DateTime.Now, ImageType = image.ContentType }; sdToAdd.Images.Add(newImage); } var upload = sd.Upload; if (upload != null && upload.ContentLength > 0) { var fileName = Path.GetFileName(upload.FileName); var guid = Guid.NewGuid().ToString(); var path = Path.Combine(Server.MapPath("~/uploads"), guid + "-" + fileName); upload.SaveAs(path); var newUpload = new BE.Upload() { FileName = guid + "-" + fileName, FileSize = upload.ContentLength, FilePath = path, CreationDate = System.DateTime.Now, FileType = upload.ContentType }; sdToAdd.Upload = newUpload; } return(sdToAdd); }
public ActionResult AddSoftware(SoftwareDatasetVM sd) { if (Session.CurrentUser != null) { var userID = Session.CurrentUser.UserID; if (ModelState.IsValid) { if (sd.Upload == null && sd.Link == null) { ModelState.AddModelError("", "You must include at least a file or document."); return(View("Add" + (sd.Type == false ? "Software" : "Dataset"), sd)); } var newPub = GetSoftwareInformation(sd, userID); Services.SoftwareDatasetService.AddSoftwareDataset(newPub); return(Redirect(Request.UrlReferrer.AbsolutePath)); } return(View("Add" + (sd.Type == false ? "Software" : "Dataset"), sd)); } return(RedirectToAction("Login", "Account")); }
public ActionResult UpdateSoftware(SoftwareDatasetVM sd) { if (Session.CurrentUser != null && (Session.CurrentUser.UserID == sd.UserID || Session.CurrentUser.IsAdmin)) { if (ModelState.IsValid) { if (sd.UploadName != string.Empty && ((sd.DeleteFile == true) || sd.Upload != null)) { var fullPath = Request.MapPath("~/uploads/" + sd.UploadName); if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } } if (sd.ImageName != string.Empty && (sd.DeleteImage == true || (sd.Image != null))) { var fullPath = Request.MapPath("~/images/" + sd.ImageName); if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } } } var sdToUpdate = GetSoftwareInformation(sd, Session.CurrentUser.UserID); sdToUpdate.ID = sd.ID; Services.SoftwareDatasetService.UpdateSoftwareDataset(sdToUpdate, sd.DeleteImage, sd.DeleteFile); if (sdToUpdate.Type == true) { return(RedirectToAction("Datasets", "Home")); } return(RedirectToAction("Software", "Home")); } return(RedirectToAction("Login", "Account")); }