Ejemplo n.º 1
0
        private void AppendExpression(CsvHeaders <TEntity> csvHeaders, UnaryExpression unaryExpression)
        {
            switch (unaryExpression.NodeType)
            {
            case ExpressionType.Convert:
                Append(csvHeaders, unaryExpression.Operand);
                break;

            default:
                throw new ArgumentException($"Expression type {unaryExpression.NodeType} not supported.");
            }
            ;
        }
Ejemplo n.º 2
0
        private void AppendExpression(CsvHeaders <TEntity> csvHeaders, NewExpression newExpression)
        {
            switch (newExpression.NodeType)
            {
            case ExpressionType.New:
                foreach (MemberExpression memberExpression in newExpression.Arguments)
                {
                    AppendExpression(csvHeaders, memberExpression);
                }
                break;

            default:
                throw new ArgumentException($"Expression type {newExpression.NodeType} not supported.");
            }
            ;
        }
Ejemplo n.º 3
0
 private void AppendExpression(CsvHeaders <TEntity> csvHeaders, MemberExpression expression)
 {
     if (expression.Expression.NodeType == ExpressionType.Parameter)
     {
         var memberInfo = expression.Member;
         var headerAttr = memberInfo.GetCustomAttribute <CsvHeaderAttribute>();
         if (headerAttr != null)
         {
             csvHeaders.Add(headerAttr.Name);
         }
         else
         {
             csvHeaders.Add(memberInfo.Name);
         }
     }
     else
     {
         Append(csvHeaders, expression.Expression);
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CsvTableReader"/> class.
 /// </summary>
 /// <param name="csvReader">The <see cref="CsvReader"/> as source</param>
 /// <param name="csvConverterResolver">Your own implementation of a value converter resolver</param>
 /// <param name="csvHeaders">List of csv headers</param>
 public CsvTableReader(CsvReader csvReader, ICsvConverterResolver csvConverterResolver, CsvHeaders csvHeaders)
     : base(csvHeaders, csvConverterResolver)
 {
     _csvReader = csvReader;
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CsvTableReader"/> class.
 /// </summary>
 /// <param name="csvReader">The <see cref="CsvReader"/> as source</param>
 /// <param name="csvHeaders">List of csv headers</param>
 public CsvTableReader(CsvReader csvReader, CsvHeaders csvHeaders)
     : base(csvHeaders)
 {
     _csvReader = csvReader;
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CsvTableWriter"/> class.
 /// </summary>
 /// <param name="csvWriter">The <see cref="CsvWriter"/> as source</param>
 /// <param name="csvHeaders">List of csv headers</param>
 public CsvTableWriter(CsvWriter csvWriter, CsvHeaders csvHeaders)
     : base(csvHeaders)
 {
     _csvWriter = csvWriter;
 }
Ejemplo n.º 7
0
 private void AppendExpression(CsvHeaders <TEntity> csvHeaders, Expression expression)
 {
     throw new ArgumentException($"Expression type {expression.NodeType} not supported.");
 }
Ejemplo n.º 8
0
 public void Append(CsvHeaders <TEntity> csvHeaders, Expression expression)
 {
     AppendExpression(csvHeaders, (dynamic)expression);
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CsvLineTableWriter"/> class.
 /// </summary>
 /// <param name="csvLineBuilder">The <see cref="CsvLineBuilder"/> as string generator</param>
 /// <param name="csvConverterResolver">Your own implementation of a value converter resolver</param>
 /// <param name="csvHeaders">List of csv headers</param>
 public CsvLineTableWriter(CsvLineBuilder csvLineBuilder, ICsvConverterResolver csvConverterResolver, CsvHeaders csvHeaders)
     : base(csvHeaders, csvConverterResolver)
 {
     _csvLineBuilder = csvLineBuilder;
     Array.Resize(ref _csvValues, csvHeaders.Count());
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CsvLineTableReader"/> class.
 /// </summary>
 /// <param name="csvLineParser">The <see cref="CsvLineParser"/> as string parser</param>
 /// <param name="csvHeaders">List of csv headers</param>
 public CsvLineTableReader(CsvLineParser csvLineParser, CsvHeaders csvHeaders)
     : base(csvHeaders)
 {
     _csvLineParser = csvLineParser;
 }