Beispiel #1
0
        public ActionResult AddDocument(int scheduleId, int moduleId, string title)
        {
            string originalFileName = "";
            string fileName         = "";
            string fileExtension    = "";

            if (Request.Files.Count > 0)
            {
                var file = Request.Files[0];

                if (file != null && file.ContentLength > 0)
                {
                    fileExtension = Path.GetExtension(file.FileName);

                    if (!_docFacade.isValidExtension(fileExtension))
                    {
                        this.AddNotification("File format is not allowed", NotificationType.ERROR);
                        return(RedirectToAction("Module", "Schedule", new { id = scheduleId }));
                    }

                    originalFileName = file.FileName;
                    fileName         = Guid.NewGuid().ToString() + fileExtension;
                    var path = Path.Combine(Server.MapPath(UPLOAD_FOLDER), fileName);
                    file.SaveAs(path);
                }
                else
                {
                    this.AddNotification("Please include a file", NotificationType.ERROR);
                    return(RedirectToAction("Module", "Schedule", new { id = scheduleId }));
                }
            }

            Document doc = new Document();

            doc.ModuleID         = moduleId;
            doc.Title            = title;
            doc.OriginalFileName = originalFileName;
            doc.FileName         = fileName;
            doc.Type             = (int)_docFacade.getDocumentType(fileExtension);
            _docFacade.Add(doc);

            this.AddNotification("Document uploaded", NotificationType.SUCCESS);
            return(RedirectToAction("Module", "Schedule", new { id = scheduleId }));
        }