Exemple #1
0
        public ActionResult AddDataset()
        {
            var softwareDataset = new SoftwareDatasetVM();

            softwareDataset.Type = true;
            return(View(softwareDataset));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 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"));
 }
Exemple #5
0
        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"));
        }