コード例 #1
0
ファイル: FileProviderImpl.cs プロジェクト: em881g/GitHelper
 public void CreateFile(File file)
 {
     var proj = _context.Projects.FirstOrDefault(e => e.Id == file.ProjectId);
     if (proj == null)
     {
         throw new ArgumentNullException("file");
     }
     var fileCopy = GetFileCopy(proj, file);
     var dirPath = Path.GetDirectoryName(fileCopy);
     if (dirPath == null)
     {
         throw new InvalidDataException("dir path");
     }
     if (!Directory.Exists(dirPath))
     {
         Directory.CreateDirectory(dirPath);
     }
     using (var createdFile = new StreamReader(new FileStream(file.FileNameWithPath, FileMode.Open)))
     {
         using (var copyFile = new StreamWriter(new FileStream(fileCopy, FileMode.Create)))
         {
             copyFile.Write(createdFile);
             copyFile.Flush();
         }
     }
 }
コード例 #2
0
ファイル: FileProviderImpl.cs プロジェクト: em881g/GitHelper
 public byte[] GetFileAsByteArray(File file)
 {
     if (file == null)
     {
         throw new ArgumentNullException("file");
     }
     using (var currFile = new FileStream(file.FileNameWithPath, FileMode.Open))
     {
         var fileLength = currFile.Length;
         var fileInBytes = new byte[fileLength];
         long readed = 0;
         while (readed < fileLength)
         {
             readed += currFile.Read(fileInBytes, (int) readed, (int) (fileLength - readed));
         }
         return fileInBytes;
     }
 }
コード例 #3
0
ファイル: FileProviderImpl.cs プロジェクト: em881g/GitHelper
 public byte[] GetPatch(File file)
 {
     //List<Patch> patches;
     //string currAsString;
     try
     {
         var project = _context.Projects.FirstOrDefault(e => e.Id == file.ProjectId);
         if (project == null)
         {
             throw new ArgumentNullException("file");
         }
         byte[] curFile;
         using (var currentFile = new FileStream(file.FileNameWithPath, FileMode.Open))
         {
             var fileLength = currentFile.Length;
             curFile = new byte[currentFile.Length];
             long readed = 0;
             while (readed < fileLength)
             {
                 readed += currentFile.Read(curFile, (int) readed, (int) (fileLength - readed));
             }
         }
         using (var prevFile = new FileStream(GetFileCopy(project, file), FileMode.Create))
         {
             prevFile.Write(curFile, 0, curFile.Length);
             prevFile.Flush();
         }
         return curFile;
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }
コード例 #4
0
ファイル: FileProviderImpl.cs プロジェクト: em881g/GitHelper
 public void FileRenamed(File file)
 {
 }
コード例 #5
0
ファイル: FileProviderImpl.cs プロジェクト: em881g/GitHelper
 private string GetFileCopy(Project project, File file)
 {
     if (project == null)
     {
         throw new ArgumentNullException("project");
     }
     if (file == null)
     {
         throw new ArgumentNullException("file");
     }
     return string.Format("{0}\\{1}\\{2}", project.ProjectDirectoryPath, GH_FOLDER,
         file.Id);
 }
コード例 #6
0
ファイル: FileProviderImpl.cs プロジェクト: em881g/GitHelper
 public void RemoveFile(File file)
 {
     try
     {
         var project = _context.Projects.FirstOrDefault(e => e.Id == file.ProjectId);
         System.IO.File.Delete(GetFileCopy(project, file));
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }