예제 #1
0
 public PatchReporter(Stream stream, ITableWriter writer, string header, string footer, Dictionary <string, string> visibleColumns)
 {
     Writer         = writer;
     Header         = header;
     Footer         = footer;
     VisibleColumns = visibleColumns;
 }
예제 #2
0
 public static void WriteTo(this IEnumerable<IDataRecord> data, IEnumerable<IColumnMetadata> cols, ITableWriter writer)
 {
   var colList = cols.ToList();
   
   writer.Head();
   foreach (var col in colList)
   {
     writer.Column(col);
   }
   writer.HeadEnd();
   foreach (var row in data)
   {
     writer.Row();
     foreach (var col in colList)
     {
       if (row.Status(col.Name) == FieldStatus.FilledIn)
       {
         writer.Cell(col.Name, BaseConverters.Convert(col.DataType, row.Item(col.Name)));
       }
       else
       {
         writer.Cell(col.Name, null);
       }
     }
     writer.RowEnd();
   }
   writer.Flush();
 }
예제 #3
0
        public static void Copy(ITableReader tableReader, ITableWriter tableWriter)
        {
            while (tableReader.Read())
            {
                tableWriter.Next();

                Copy <string>(tableReader, tableWriter);
            }
        }
예제 #4
0
        /// <summary>
        /// Initialize from a source, every item is added by calling InsertOrUpdate
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="writer"></param>
        /// <param name="copyFrom"></param>
        /// <returns></returns>
        public static async Task Initialize <T>(this ITableWriter <T> writer, ITableReader <T> copyFrom)
        {
            var list = await copyFrom.GetAll();

            foreach (var item in list)
            {
                var item1 = item;
                await writer.InsertOrUpdate(item, obj => item1);
            }
        }
예제 #5
0
        public TradesPrinter(ITableWriter writer, IEnumerable<string> paramsFieldNames, IEnumerable<string> resultsFieldNames, string outputPath, string depoPrintsDir = "")
        {
            this.writer = writer;
            this.outputPath = outputPath;
            this.depoPrintsDir = depoPrintsDir;
            this.paramsFieldNames = paramsFieldNames as List<string> ?? paramsFieldNames.ToList();
            this.resultsFieldNames = resultsFieldNames as List<string> ?? resultsFieldNames.ToList();

            table = new List<List<string>>();
            headers = this.paramsFieldNames.Concat(this.resultsFieldNames).ToList();
        }
예제 #6
0
        private static async Task Loop(TableData data, CancellationToken token)
        {
            ITableWriter writer = null;
            var          r      = new AzureStorageTableRangeReader(data.SourceAccount, data.SourceToken);

            while (!token.IsCancellationRequested)
            {
                var rows = await r.ReadRangeAsync(data.SourceTable, data.SourcePartition, DateTime.UtcNow);

                var result = await ProcessRowsAsync(rows);

                await writer.WriteAsync(rows);
            }
        }
예제 #7
0
 public GPXProcessor(ITableReader<GPXEntry> reader, 
     IGPXRowProcessor rowProcessor,
     IAFAccess afAccess,
     ITableWriter<GPXEntry> writer,
     [Named("GpxElement")] AFElementTemplate gpxTemplate,
     [Named("GpxEventFrame")] AFElementTemplate efTemplate)
 {
     _reader = reader;
     _rowProcessor = rowProcessor;
     _afAccess = afAccess;
     _writer = writer;
     _template = gpxTemplate;
     _efTemplate = efTemplate;
 }
예제 #8
0
            public void Store(ITableWriter writer)
            {
                Assert(writer != null);
                Assert(FrameSize > 0);

                writer.Write(Signature);
                writer.Write(Version);
                writer.Write(Tag);
                writer.Write(FrameCount);
                writer.Write(FirstDeletedFrameIndex);
                writer.Write(FrameSize);
                writer.Write(CreationTime);
                writer.Write(LastWriteTime);

                DataOffset = writer.Position;
                IsDirty    = false;
            }
예제 #9
0
        public void Store(ITableWriter writer)
        {
            writer.Write(Signature);
            long dpPos = writer.Position;

            writer.Write(TableVersion);
            writer.Write(DataPosition);
            writer.Write(CreationTime);
            writer.Write(LastAccessTime);
            writer.Write(LastWriteTime);
            writer.Write(m_nextId);

            DoStore(writer);

            DataPosition    = writer.Position;
            writer.Position = dpPos;
            writer.Write(DataPosition);
            writer.Position = DataPosition;

            IsDirty = false;
        }
예제 #10
0
        /// <summary>
        /// This will ignore the exisiting TEntity and replace it.
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <param name="writer"></param>
        /// <param name="match"></param>
        /// <param name="replace"></param>
        public static Task Replace <TEntity>(this ITableWriter <TEntity> writer, TEntity match, Action <TEntity> replace)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }

            var add = new Func <TEntity>(
                () =>
            {
                var e = match;
                replace(e);
                return(e);
            });

            Func <TEntity, TEntity> updatefun = entity =>
            {
                var item = match;
                replace(item);
                return(item);
            };

            return(writer.InsertOrUpdate(add(), updatefun));
        }
예제 #11
0
 public static void Copy(IDataReader dataReader, ITableWriter tableWriter)
 {
     Copy(dataReader.As <int>(), new TableToArrayWriter(tableWriter));
 }
예제 #12
0
 protected override void DoStore(ITableWriter writer)
 {
     writer.Write((long)DataCount);
 }
예제 #13
0
 protected override void DoStore(ITableWriter writer)
 {
     writer.Write((long)m_frameCount);
     writer.Write((long)m_ndxFirstDelFrame);
 }
예제 #14
0
        public TableToArrayWriter(ITableWriter tableWriter)
        {
            this.tableWriter = tableWriter;

            Count = 0;
        }
 public TableViolationReporter(TextWriter writer, IRuleViolationViewModelConverter ruleViolationViewModelConverter, ITableWriter tableWriter)
     : base(writer)
 {
     _ruleViolationViewModelConverter = ruleViolationViewModelConverter;
     _tableWriter = tableWriter;
 }
예제 #16
0
 /// <summary>
 /// Draws a collection of items in a table using the specified <see cref="ITableWriter{T}"/>.
 /// </summary>
 /// <typeparam name="T">The type of item to draw.</typeparam>
 /// <param name="items">The collection of items to draw.</param>
 /// <param name="writer">The <see cref="ITableWriter{T}"/> instance responsible for drawing the table.</param>
 /// <param name="table">The configued table in which to draw the items.</param>
 public static void DrawWith <T>(this IEnumerable <T> items, ITableWriter <T> writer, Table <T> table)
 {
     writer.Draw(table, items);
 }
예제 #17
0
 public static void WriteTo(this ITable table, ITableWriter writer)
 {
   table.WriteTo(table.Columns, writer);
 }
예제 #18
0
 protected abstract void DoStore(ITableWriter writer);