private static void Copy(Stream srcStream, Stream destStream, Stream destStream2,
                                 Action <int, object> progressReporter, MediaFileStorage locationCategory, MediaFileStorage locationCategory2)
        {
            byte[] buffer = new byte[1024];
            int    count  = srcStream.Read(buffer, 0, buffer.Length);

            long total   = 0;
            long length  = srcStream.Length;
            int  percent = 0;

            while (count > 0)
            {
                destStream.Write(buffer, 0, count);
                destStream2.Write(buffer, 0, count);

                total += count;

                var newPercent = (int)(((double)total * 100.0) / ((double)length));
                if (newPercent != percent)
                {
                    percent = newPercent;
                    //progressReporter((int)percent, locationCategory);
                    progressReporter(percent, locationCategory);
                    progressReporter(percent, locationCategory2);
                }
                count = srcStream.Read(buffer, 0, buffer.Length);
            }
        }
 private static void UploadFile(Stream srcStream, string destFileName, Action <int, object> progressReporter,
                                MediaFileStorage locationCategory)
 {
     using (Stream destStream = CreateDestinationStream(destFileName, locationCategory))
     {
         Copy(srcStream, destStream, progressReporter, locationCategory);
     }
 }
        void IUploadProgressFeedback.Report(int progress, MediaFileStorage locationCategory)
        {
            switch (locationCategory)
            {
            case MediaFileStorage.Primary:
                this.pb1.Value = progress;
                break;

            case MediaFileStorage.Secondary:
                this.pb2.Value = progress;
                break;
            }
        }
Exemple #4
0
        public void Delete(string destFileName, MediaFileStorage fileStorage)
        {
            var path = ResolvePath(destFileName, fileStorage);

            try
            {
                if (File.Exists(path))
                {
                    File.Delete(path);
                }
            }
            catch
            {
            }
        }
Exemple #5
0
        protected override void ConfigureContainer()
        {
            base.ConfigureContainer();
            this.Container.RegisterInstance <IUserService>(new UserServiceAdapter());
            this.Container.RegisterInstance(new InteractionRequests());

            MediaFileStorage currentStorage =
                (MediaFileStorage)Enum.Parse(typeof(MediaFileStorage), ConfigurationManager.AppSettings["storageType"], true);

            this.Container.RegisterInstance <IMediaFilePathResolver>(new MediaFilePathResolver(currentStorage));
            this.Container.RegisterInstance <IMediaFileImageResolver>(new MediaFileImageResolver());

            this.Container.RegisterInstance <IPlayoutConfiguration>(PlayoutConfiguration.Current);
            this.Container.RegisterInstance(PlayoutRepository.GetMPlaylistSettings());

            this.Container.RegisterType <PlayItemCollection>(new ContainerControlledLifetimeManager());
            this.Container.RegisterType <IPlaylist3, Playlist3>();

            this.Container.RegisterInstance <ObservableCollection <BindablePlayItem> >("playedCollection",
                                                                                       new ObservableCollection <BindablePlayItem>());

            this.Container.RegisterInstance <IMediaFileService>(new DefaultMediaFileService(null));
        }
 private Stream CreateDestinationStream(string destFileName, MediaFileStorage fileStorage)
 {
     return(DestinationStreamCreator.Create(destFileName, fileStorage));
 }
 private void DeleteDestinationStream(string destFileName, MediaFileStorage fileStorage)
 {
     DestinationStreamCreator.Delete(destFileName, fileStorage);
 }
 public void Report(int progress, MediaFileStorage locationCategory)
 {
 }
Exemple #9
0
 private string ResolvePath(string destFileName, MediaFileStorage fileStorage)
 {
     return(_mediaFilePathResolver.Resolve(destFileName, fileStorage));
 }
Exemple #10
0
 public Stream Create(string destFileName, MediaFileStorage fileStorage)
 {
     return(new FileStream(ResolvePath(destFileName, fileStorage),
                           FileMode.CreateNew, FileAccess.Write, FileShare.None));
 }
 public MediaFilePathResolver(MediaFileStorage currentStorage)
 {
     this.CurrentStorage = currentStorage;
 }
 public string GetDirectory(MediaFileStorage fileStorage)
 {
     return(fileStorage == MediaFileStorage.Primary ? System.Configuration.ConfigurationManager.AppSettings["primaryStorage"] :
            System.Configuration.ConfigurationManager.AppSettings["secondaryStorage"]);
 }
 public static string Resolve(this IMediaFilePathResolver resolver, string filename, MediaFileStorage fileStorage)
 {
     return(System.IO.Path.Combine(resolver.GetDirectory(fileStorage), filename));
 }