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"); } }
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)); } }
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}"); }
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}"); }