Files
transactions-list-parser/PriorBankParser/TransactionInfoDtoWriteMap.cs
2023-07-23 17:10:20 +03:00

46 lines
1.7 KiB
C#

using System.Globalization;
using CsvHelper.Configuration;
using PriorBankParser.Dtos;
namespace PriorBankParser
{
internal sealed class TransactionInfoDtoWriteMap : ClassMap<TransactionDto>
{
private const string DateTimeString = "yyyy-MM-dd hh:mm:ss";
private const string NumberFormat = "F";
public TransactionInfoDtoWriteMap()
{
Map(m => m.Contract)
.ConvertUsing(m => m.Contract.Trim())
.Index(10);
Map(m => m.TransactionName)
.ConvertUsing(m => m.TransactionName.Trim())
.Index(20);
Map(m => m.Category)
.ConvertUsing(m => m.Category.Trim())
.Index(30);
Map(m => m.Currency)
.ConvertUsing(m => m.Currency.Trim())
.Index(40);
Map(m => m.IsIncome)
.Index(50);
Map(m => m.TransactionDate)
.Index(60)
.ConvertUsing(c => c.TransactionDate.ToString(DateTimeString, CultureInfo.InvariantCulture));
Map(m => m.OperationDate)
.Index(70)
.ConvertUsing(c => c.OperationDate.ToString(DateTimeString, CultureInfo.InvariantCulture));
Map(m => m.Amount)
.Index(80)
.ConvertUsing(c => c.Amount.ToString(NumberFormat, CultureInfo.InvariantCulture));
Map(m => m.Commission)
.Index(90)
.ConvertUsing(c => c.Commission.ToString(NumberFormat, CultureInfo.InvariantCulture));
Map(m => m.AccountTurnover)
.Index(100)
.ConvertUsing(c => c.AccountTurnover.ToString(NumberFormat, CultureInfo.InvariantCulture));
}
}
}