protected override void InternalDo() { openStream(); try { if (Util.Helpers.TextFileExtensions.Contains(Path.GetExtension(filename).TrimStart('.'))) { // text file file = new TextFile() { Filename = Path.GetFileName(filename), Data = new StreamReader(stream).ReadToEnd() }; } else { // binary file int length = (int)stream.Length; byte[] data = new byte[length]; stream.Read(data, 0, length); file = new BinaryFile() { Filename = Path.GetFileName(filename), Data = data }; } // add to project project.Files.Add(file); } finally { closeStream(); } }
public void WriteSupportFile(ISupportFile file, Stream stream) { switch (file.FileType) { case SupportFileType.Text: WriteSupportFile(file as TextFile, stream); break; case SupportFileType.Binary: WriteSupportFile(file as BinaryFile, stream); break; } }