50 lines
1.6 KiB
C#
50 lines
1.6 KiB
C#
using DoliMiddlewareApi.Dtos.Dolibarr;
|
|
using DoliMiddlewareApi.Dtos.query;
|
|
|
|
namespace DoliMiddlewareApi.Mappers;
|
|
|
|
public static class BankMapper
|
|
{
|
|
public static BankAccountDto MapToAccountDto(BankAccountResponse r)
|
|
{
|
|
return new BankAccountDto
|
|
{
|
|
Id = int.TryParse(r.id, out var id) ? id : 0,
|
|
Label = r.label ?? r.@ref ?? "Cuenta sin nombre",
|
|
Ref = r.@ref,
|
|
AccountNumber = r.number,
|
|
Iban = r.iban_prefix,
|
|
Bic = r.bic,
|
|
Bank = r.bank,
|
|
CurrencyCode = r.currency_code ?? "EUR",
|
|
Balance = r.solde ?? 0,
|
|
IsClosed = r.clos == "1",
|
|
};
|
|
}
|
|
|
|
public static BankLineDto MapToLineDto(BankLineResponse r, int accountId)
|
|
{
|
|
var lineId = int.TryParse(r.id ?? r.rowid, out var id) ? id : 0;
|
|
|
|
DateTime? dateo = r.dateo.HasValue
|
|
? DateTimeOffset.FromUnixTimeSeconds(r.dateo.Value).DateTime
|
|
: null;
|
|
|
|
DateTime? datev = r.datev.HasValue
|
|
? DateTimeOffset.FromUnixTimeSeconds(r.datev.Value).DateTime
|
|
: null;
|
|
|
|
return new BankLineDto
|
|
{
|
|
Id = lineId,
|
|
Label = r.label,
|
|
Amount = r.amount ?? 0,
|
|
Date = dateo,
|
|
DateValue = datev,
|
|
AccountId = int.TryParse(r.fk_account, out var accId) ? accId : accountId,
|
|
BankStatement = r.num_releve,
|
|
Type = r.type,
|
|
};
|
|
}
|
|
}
|