Beispiel #1
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));
        }
 public static FileOperationsProvider GetInstance(MediaProvider provider)
 {
     if (_config == null)
     {
         _config = new FileOperationsProvider(provider);
     }
     return(_config);
 }
Beispiel #3
0
        protected override void Context()
        {
            cardId            = "EX1_066";
            mediaSourceUrl    = "http://wow.zamimg.com/images/hearthstone/cards/enus/medium/{0}.png";
            relativeMediaPath = @"App_Data/media/";

            _MediaProvider = new MediaProvider();
            _PathPovider   = new PathProvider();
        }
 private FileOperationsProvider(MediaProvider provider)
 {
     MediaPath = provider.MediaPath;
     if (provider.GetType() == typeof(FileProvider))
     {
         GetMediaBytes = new delGetMediaBytes(((FileProvider)provider).GetMediaBytes);
         //        SaveMedia = new delSaveMedia(((FileProvider)provider).SaveMedia);
         SaveMedia   = new delSaveMedia(((FileProvider)provider).SaveMedia);
         DeleteMedia = new delDeleteMedia(((FileProvider)provider).DeleteMedia);
     }
 }
Beispiel #5
0
        public ActionResult ArchiveFile(int id, int releaseFileId)
        {
            // Getting this despite not using it to verify that the member owns this file
            var project = GetProjectForAuthorizedMember(id);

            var mediaProvider = new MediaProvider();
            var releaseFile   = mediaProvider.GetFileById(releaseFileId);

            releaseFile.Archived = !releaseFile.Archived;
            mediaProvider.SaveOrUpdate(releaseFile);

            return(RedirectToCurrentUmbracoPage(Request.Url.Query));
        }
Beispiel #6
0
        // GET: Media
        public ActionResult Card(string id) // called by src="@Model.ImageUrl"
        {
            ServerPathProvider dataPath = new ServerPathProvider();
            var localBaseDirectory      = dataPath.MapPath("~/App_Data/media/");
            //C:\\Users\\Administrateur\\Desktop\\WebApplication1\\Storm.InterviewTest.Hearthstone\\App_Data\\media\\

            var    cardFilename = string.Format("{0}.png", id);
            string localFile    = Path.Combine(localBaseDirectory, cardFilename);

            MediaProvider mediaProvider = new MediaProvider();

            mediaProvider.getCardImageToCache(id, localFile);

            return(File(localFile, "image/png"));
        }
Beispiel #7
0
        public AccountViewModel()
        {
            _apiResponse = new ApiResponse <Account>();

            _accountClient = new AccountClient();

            _mediaProvider = new MediaProvider();
            _appCustomConfigurationViewModel = DependencyService.Get <AppCustomConfigurationViewModel>();
            _loadedConfigs = _appCustomConfigurationViewModel.LoadUserCustomConfigurationApp();

            TakePictureCommand = new Command <Account>(async(accountParms) => await TakePictureAction());
            LoadPictureCommand = new Command <Account>(async(accountParms) => await LoadPictureAction());
            SaveCommand        = new Command <Account>(async(accountParms) => await SaveAction());

            LoadAccount();
        }
Beispiel #8
0
        protected void ArchiveFile(object sender, CommandEventArgs e)
        {
            var mediaProvider = new MediaProvider();
            var f             = mediaProvider.GetFileById(int.Parse(e.CommandArgument.ToString()));

            if (e.CommandName == "Unarchive")
            {
                f.Archived = false;
            }
            else
            {
                f.Archived = true;
            }

            mediaProvider.SaveOrUpdate(f);
            RebindFiles();
        }
Beispiel #9
0
        private void RebindFiles()
        {
            var mediaProvider = new MediaProvider();
            var files         = mediaProvider.GetMediaFilesByProjectId((int)ProjectId).Where(x => x.FileType == FileType.screenshot.FileTypeAsString());

            if (string.IsNullOrEmpty(_defaultFile))
            {
                var defaultFile = files.OrderByDescending(x => x.CreateDate).FirstOrDefault();

                if (defaultFile != null)
                {
                    MarkFileAsCurrent(defaultFile.Path);
                }
            }

            rp_screenshots.DataSource = files;
            rp_screenshots.Visible    = (files.Count() > 0);
            rp_screenshots.DataBind();
        }
Beispiel #10
0
        private void RecreateThumbnail()
        {
            lock (MediaProvider)
            {
                fileList = this.MediaProvider.GetChildEntries(folderBox.SelectedItem.ToString());

                var buttonList = new List <Button>();
                try
                {
                    foreach (var file in fileList)
                    {
                        var stream = MediaProvider.OpenEntry(file);

                        var button = new Button();

                        button.Text      = file.Substring(file.LastIndexOf('\\') + 1);
                        button.BackColor = SystemColors.ControlDark;

                        button.Size      = new Size(200, 200);
                        button.TextAlign = ContentAlignment.BottomCenter;
                        button.Name      = file;
                        button.Click    += ImageButton_Click;

                        stream.Close();

                        buttonList.Add(button);
                    }
                }
                catch (NotSupportedException err)
                {
                    MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    buttonList.Clear();
                }
                finally
                {
                    thmbnailPanel.Controls.Clear();
                    thmbnailPanel.Controls.AddRange(buttonList.ToArray());
                    imageList.Clear();

                    thumbnailBackgroundWorker.RunWorkerAsync(folderBox.SelectedItem.ToString());
                }
            }
        }
Beispiel #11
0
        public ActionResult DeleteScreenshot(int id, int releaseFileId)
        {
            var nodeListingProvider = new NodeListingProvider();
            var project             = GetProjectForAuthorizedMember(id);

            var file = new WikiFile(releaseFileId);

            if (file.Path == project.DefaultScreenshot)
            {
                project.DefaultScreenshot = string.Empty;
                nodeListingProvider.SaveOrUpdate(project);
            }

            var mediaProvider = new MediaProvider();

            mediaProvider.Remove(file);

            return(RedirectToCurrentUmbracoPage(Request.Url.Query));
        }
Beispiel #12
0
        protected void DeleteFile(object sender, CommandEventArgs e)
        {
            var mediaProvider = new MediaProvider();
            var f             = mediaProvider.GetFileById(int.Parse(e.CommandArgument.ToString()));

            _defaultFile = string.Empty;

            //update the project
            var          nodeListingProvider = new NodeListingProvider();
            IListingItem project             = nodeListingProvider.GetListing((int)ProjectId);

            project.DefaultScreenshot = _defaultFile;
            nodeListingProvider.SaveOrUpdate(project);

            var mem = Member.GetCurrentMember();

            if (f.CreatedBy == mem.Id || Utils.IsProjectContributor(mem.Id, (int)ProjectId))
            {
                mediaProvider.Remove(f);
            }

            RebindFiles();
        }
Beispiel #13
0
        public ActionResult RenderScreenshots(int id)
        {
            // Getting this despite not using it to verify that the member owns this file
            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 EditScreenshotModel
            {
                AvailableFiles = availableFiles,
                UploadFile     = new ScreenshotModel()
            };

            return(PartialView("~/Views/Partials/Project/EditScreenshots.cshtml", model));
        }
Beispiel #14
0
        private void thumbnailBackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;
            var entry = e.Argument as string;

            try
            {
                for (int i = 0; i < fileList.Length; i++)
                {
                    var file = fileList[i];
                    if (worker.CancellationPending == true)
                    {
                        e.Cancel = true;
                        break;
                    }

                    lock (MediaProvider)
                    {
                        var stream = MediaProvider.OpenEntry(file);

                        var image = CreateThumbnail(Image.FromStream(stream), 200, 200);

                        stream.Close();
                        imageList.Add(image);
                    }
                    worker.ReportProgress((i * 100) / fileList.Length);
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
            }
        }
Beispiel #15
0
        public HttpResponseMessage ArchiveProjectFiles(IEnumerable <int> ids)
        {
            var mediaProvider = new MediaProvider();

            try
            {
                foreach (var archiveFileId in ids)
                {
                    var archiveFile = mediaProvider.GetFileById(archiveFileId);
                    archiveFile.Archived = true;
                    mediaProvider.SaveOrUpdate(archiveFile);
                }

                return(Request.CreateResponse(HttpStatusCode.OK,
                                              $"All {ids.Count()} file(s) that matches the archive pattern has been archived."));
            }
            catch (Exception e)
            {
                LogHelper.Error <ProjectUploadController>("Error while trying to archive packages", e);

                return(Request.CreateResponse(HttpStatusCode.BadRequest,
                                              "An error occured while trying to archive the files."));
            }
        }
Beispiel #16
0
        protected void DeleteFile(object sender, CommandEventArgs e)
        {
            var mediaProvider = new MediaProvider();
            var f             = mediaProvider.GetFileById(int.Parse(e.CommandArgument.ToString()));

            var mem = Member.GetCurrentMember();

            if (f.CreatedBy == mem.Id || Utils.IsProjectContributor(mem.Id, (int)ProjectId))
            {
                //if the file is the default file we need to clear it out of the system to stop it showing as the default download
                if (f.Id.ToString() == _defaultFile)
                {
                    _defaultFile = string.Empty;
                    var nodeListingProvider = new NodeListingProvider();
                    var project             = nodeListingProvider.GetListing((int)ProjectId);
                    project.CurrentReleaseFile = _defaultFile;
                    nodeListingProvider.SaveOrUpdate(project);
                }
            }

            mediaProvider.Remove(f);

            RebindFiles();
        }
        public void UpdateSession_ContactPictureWithValidItemId_ShouldSetContactPictureStream(Db db, byte[] streamContent, [Content] Item item, ContactDataProcessor processor, [Substitute] MediaProvider mediaProvider, [Substitute] Session session, RequestInfo request)
        {
            request.Variables.Add("ContactPicture", item.ID.ToString());
            var ms = new MediaStream(new MemoryStream(streamContent), "someExt", new MediaItem(item));

            mediaProvider.GetMedia(Arg.Any <MediaUri>()).GetStream().Returns(ms);

            using (new MediaProviderSwitcher(mediaProvider))
            {
                processor.UpdateSession(session, request);
                session.Contact.GetFacet <IContactPicture>("Picture").Picture.Should().BeEquivalentTo(streamContent);
            }
        }
        public IEnumerable <IMediaFile> GetMediaForProjectByType(int projectId, FileType type)
        {
            var mediaProvider = new MediaProvider();

            return(mediaProvider.GetMediaForProjectByType(projectId, type));
        }
Beispiel #19
0
 public FakeMediaProviderTest()
 {
     this.localProvider = Substitute.For <MediaProvider>();
     this.provider      = new FakeMediaProvider();
     this.provider.LocalProvider.Value = this.localProvider;
 }
 public FakeMediaProviderTest()
 {
   this.localProvider = Substitute.For<MediaProvider>();
   this.provider = new FakeMediaProvider();
   this.provider.LocalProvider.Value = this.localProvider;
 }
        public void UpdateSession_ContactPictureWithEmptyID_ShouldNotOverwriteContactPicture(Db db, byte[] streamContent, [Content] Item item, ContactDataProcessor processor, [Substitute] MediaProvider mediaProvider, [Substitute] Session session, RequestInfo request)
        {
            request.Variables.Add("ContactPicture", string.Empty);
            session.Contact.GetFacet <IContactPicture>("Picture").Picture = streamContent;

            processor.UpdateSession(session, request);

            session.Contact.GetFacet <IContactPicture>("Picture").Picture.Should().BeEquivalentTo(streamContent);
        }