diff options
| author | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
| commit | 00a491d93733d4625ad329b2ba8237f445364b3f (patch) | |
| tree | 4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Visual_Studio/Tango.CSV/DynamicCsvFile.cs | |
| parent | 124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff) | |
| download | Tango-00a491d9.tar.gz Tango-00a491d9.zip | |
merge
Diffstat (limited to 'Software/Visual_Studio/Tango.CSV/DynamicCsvFile.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.CSV/DynamicCsvFile.cs | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/Software/Visual_Studio/Tango.CSV/DynamicCsvFile.cs b/Software/Visual_Studio/Tango.CSV/DynamicCsvFile.cs deleted file mode 100644 index ec04de3ff..000000000 --- a/Software/Visual_Studio/Tango.CSV/DynamicCsvFile.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Tango.CSV -{ - public class DynamicCsvFile : IDisposable - { - private bool _isDisposed; - private Stream _stream; - private StreamWriter _writer; - private bool _disposeStream; - private bool _columnsWritten; - - public List<DynamicCsvFileColumn> Columns { get; set; } - - public DynamicCsvFile() - { - Columns = new List<DynamicCsvFileColumn>(); - } - - public DynamicCsvFile(Stream stream) : this() - { - _stream = stream; - _writer = new StreamWriter(_stream); - } - - public DynamicCsvFile(String file) : this(new FileStream(file, FileMode.Create)) - { - _disposeStream = true; - } - - private void WriteColumns() - { - if (!_columnsWritten) - { - _columnsWritten = true; - _writer.WriteLine(String.Join(",", Columns.Select(x => x.Name))); - } - } - - public void Append(params Object[] values) - { - Append((IEnumerable)values); - } - - public void Append<T>(IEnumerable<T> values, Func<T, Object> modifier = null) - { - if (modifier != null) - { - Append((IEnumerable)values, (x) => { return modifier((T)x); }); - } - else - { - Append((IEnumerable)values, null); - } - } - - public void Append(IEnumerable values, Func<Object, Object> modifier = null) - { - if (!_columnsWritten) - { - WriteColumns(); - } - - List<String> valuesStr = new List<string>(); - - foreach (var value in values) - { - Object finalValue = value; - - if (modifier != null) - { - finalValue = modifier(finalValue); - } - - valuesStr.Add(finalValue != null ? finalValue.ToString() : String.Empty); - } - - _writer.WriteLine(String.Join(",", valuesStr)); - _writer.Flush(); - } - - public void Dispose() - { - if (!_isDisposed) - { - _isDisposed = true; - - if (_disposeStream) - { - _writer?.Dispose(); - _stream?.Dispose(); - } - } - } - } -} |
