public override void FileMove()
        {
            if (string.IsNullOrEmpty(ContainerForCommand.To))
            {
                throw new ArgumentException($"Invalid argument {ContainerForCommand.To}");
            }

            if (File.Exists(ContainerForCommand.To))
            {
                throw new ArgumentException($"File {ContainerForCommand.To} exists");
            }

            if (!File.Exists(ContainerForCommand.From))
            {
                throw new FileNotFoundException($"File {ContainerForCommand.From} was not found");
            }

            var    metaFileInfoEntity = new MetaFileInfoEntity(ContainerForCommand.From);
            string path = $"{metaFileInfoEntity.Name}";

            metaFileInfoEntity.Name = ContainerForCommand.To;
            string   newPath = $"{MetaFileInfoSettings.Path}{MetaFileInfoSettings.Name}";
            FileInfo fileInf = new FileInfo(path);

            if (fileInf.Exists)
            {
                fileInf.MoveTo(newPath, true);
                Console.WriteLine("File is renamed");
            }
        }
Beispiel #2
0
        public override void FileUpload() //file upload <path-to-file>" - загрузка файла, находящегося по пути path-to-file в хранилище;
        {
            var metaFileInfoEntity = new MetaFileInfoEntity(ContainerForCommand.From);

            using (StreamWriter sw = new StreamWriter(MetaFileInfoSettings.FullPath, true))
            {
                sw.WriteLine(_metaFileInfoSerializerService.Serialize(metaFileInfoEntity));
            }
        }
Beispiel #3
0
        public override void FileInfo() //file info <file-name>" - отображение информации о файле file-name
        {
            var metaFileInfoEntity = new MetaFileInfoEntity(ContainerForCommand.From);

            Console.WriteLine("File name: {0}", metaFileInfoEntity.Name);
            Console.WriteLine("File extension: {0}", metaFileInfoEntity.Extension);
            Console.WriteLine("Creation date: {0}", metaFileInfoEntity.CreationDate);
            Console.WriteLine($"File size: {metaFileInfoEntity.Size} bites");
            Console.WriteLine($"Downloads number: {metaFileInfoEntity.DownloadsNumber}");
        }
Beispiel #4
0
        public void Serialize_MetaFileInfoEntity()
        {
            //Arrange
            var    metaFileInfoSerializerService = new MetaFileInfoSerializerService();
            var    metaFileInfoEntity            = new MetaFileInfoEntity(@"c:\Users\s.taras\source\repos\FileStorage\App\FileStorage\FileStorage.Tests\Apress.pdf");
            string expected = $"{metaFileInfoEntity.Id} Apress.pdf .pdf 0 {metaFileInfoEntity.CreationDate} 0";
            string actual;

            //Act
            actual = metaFileInfoSerializerService.Serialize(metaFileInfoEntity);

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public override void FileRemove()
        {
            if (string.IsNullOrEmpty(ContainerForCommand.From) || !File.Exists(MetaFileInfoSettings.Path + ContainerForCommand.From))
            {
                throw new FileNotFoundException($"File was not found {ContainerForCommand.From}");
            }

            var      metaFileInfoEntity = new MetaFileInfoEntity(ContainerForCommand.From);
            string   path    = $"{MetaFileInfoSettings.Path}{metaFileInfoEntity.Name}";
            FileInfo fileInf = new FileInfo(path);

            if (fileInf.Exists)
            {
                fileInf.Delete();
                Console.WriteLine("File is removed");
            }
        }
        public override void FileDownload()
        {
            if (string.IsNullOrEmpty(ContainerForCommand.To) || !Directory.Exists(ContainerForCommand.To))
            {
                throw new DirectoryNotFoundException($"Directory was not found {ContainerForCommand.To}");
            }

            if (!File.Exists(MetaFileInfoSettings.Path + ContainerForCommand.From))
            {
                throw new FileNotFoundException($"File was not found {ContainerForCommand.From}");
            }

            var    metaFileInfoEntity = new MetaFileInfoEntity(ContainerForCommand.From);
            string path    = $"{MetaFileInfoSettings.Path}{metaFileInfoEntity.Name}";
            string newPath = ContainerForCommand.To + metaFileInfoEntity.Name;
            var    fileInf = new FileInfo(path);

            if (fileInf.Exists)
            {
                fileInf.CopyTo(newPath, true);
                Console.WriteLine("File is downloaded");
            }
        }
        public override void FileUpload()
        {
            if (string.IsNullOrEmpty(ContainerForCommand.From) || !File.Exists(ContainerForCommand.From))
            {
                throw new FileNotFoundException($"File was not found {ContainerForCommand.From}");
            }

            var metaFileInfoEntity = new MetaFileInfoEntity(ContainerForCommand.From);

            if (File.Exists(MetaFileInfoSettings.Path + metaFileInfoEntity.Name))
            {
                throw new FileLoadException($"File {metaFileInfoEntity.Name} has already uploaded");
            }

            string   newPath = $"{MetaFileInfoSettings.Path}{metaFileInfoEntity.Name}";
            FileInfo fileInf = new FileInfo(MetaFileInfoSettings.FullPath);

            if (fileInf.Exists)
            {
                fileInf.CopyTo(newPath, true);
                Console.WriteLine($"File {metaFileInfoEntity.Name} is uploaded");
            }
        }
 public string Serialize(MetaFileInfoEntity metaFileInfoEntity)
 {
     return($"{metaFileInfoEntity.Id} {metaFileInfoEntity.Name} {metaFileInfoEntity.Extension} {metaFileInfoEntity.Size} {metaFileInfoEntity.CreationDate} {metaFileInfoEntity.DownloadsNumber}");
 }