Esempio n. 1
0
        //GET: File/EditFile
        public ActionResult EditFile(string id)
        {
            if (Session["Id"] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            using (var db = new ExchangedbEntities())
            {
                var dbDocument = db.Documents.FirstOrDefault(a => a.Id.ToString().Equals(id));

                var document = new EditFileModel()
                {
                    Id           = dbDocument.Id,
                    FileName     = dbDocument.FileName,
                    Size         = dbDocument.Size,
                    CreationDate = dbDocument.CreationDate,
                    LastEditDate = dbDocument.LastEditDate,
                    CreatedBy    = dbDocument.CreatedBy,
                    Access       = db.Access.Select(a => a.Access1).ToList(),
                    FileType     = dbDocument.FileType.Type
                };

                return(PartialView(document));
            }
        }
Esempio n. 2
0
        public ActionResult RenderFiles(int id)
        {
            var project = GetProjectForAuthorizedMember(id);

            var mediaProvider = new MediaProvider();

            var availableFiles = mediaProvider.GetMediaFilesByProjectId(id)
                                 .Where(x => x.FileType != FileType.screenshot.FileTypeAsString()).ToList();

            foreach (var wikiFile in availableFiles)
            {
                wikiFile.Current = project.CurrentReleaseFile == wikiFile.Id.ToString();
            }

            var model = new EditFileModel
            {
                AvailableFiles = availableFiles,
                UploadFile     = new WikiFileModel
                {
                    AvailableVersions = new List <SelectListItem>(WikiFileModel.GetUmbracoVersions())
                }
            };

            return(PartialView("~/Views/Partials/Project/EditFiles.cshtml", model));
        }
Esempio n. 3
0
        public ActionResult AddFile(EditFileModel model)
        {
            if (ModelState.IsValid == false)
            {
                return(CurrentUmbracoPage());
            }

            // Getting this despite not using it to verify that the member owns this file
            var project = GetProjectForAuthorizedMember(model.UploadFile.ProjectId);
            var member  = Members.GetCurrentMember();

            HttpPostedFile file;

            using (var target = new MemoryStream())
            {
                model.UploadFile.File.InputStream.CopyTo(target);
                byte[] data = target.ToArray();
                file = ConstructHttpPostedFile(data, model.UploadFile.File.FileName, model.UploadFile.File.ContentType);
            }

            var umbracoVersions    = new List <UmbracoVersion>();
            var allUmbracoVersions = UmbracoVersion.AvailableVersions().Values;

            foreach (var item in model.UploadFile.SelectedVersions)
            {
                var version = allUmbracoVersions.Single(x => x.Version == item);
                umbracoVersions.Add(version);
            }

            var contentService = Services.ContentService;
            var projectContent = contentService.GetById(project.Id);

            var wikiFile = WikiFile.Create(
                model.UploadFile.File.FileName,
                projectContent.PublishedVersionGuid,
                member.GetKey(),
                file,
                model.UploadFile.FileType,
                umbracoVersions,
                model.UploadFile.DotNetVersion
                );

            return(RedirectToCurrentUmbracoPage(Request.Url.Query));
        }