public static TransactionsResponse.TransactionItem ToTransactionItem(this Domain.Transactions.IPortfolioTransaction transaction, Date date) { var transactionItem = new TransactionsResponse.TransactionItem(); transactionItem.Id = transaction.Id; if (transaction.Stock != null) { transactionItem.Stock = transaction.Stock.ToSummaryResponse(date); } else { transactionItem.Stock = null; } transactionItem.TransactionDate = transaction.Date; transactionItem.Description = transaction.Description; transactionItem.Comment = transaction.Comment; return(transactionItem); }
public static RestApi.Transactions.Transaction ToResponse(this Domain.Transactions.IPortfolioTransaction transaction) { if (transaction is Domain.Transactions.Aquisition aquisition) { return(aquisition.ToResponse()); } else if (transaction is Domain.Transactions.CashTransaction cashTransaction) { return(cashTransaction.ToResponse()); } else if (transaction is Domain.Transactions.CostBaseAdjustment costBaseAdjustment) { return(costBaseAdjustment.ToResponse()); } else if (transaction is Domain.Transactions.Disposal disposal) { return(disposal.ToResponse()); } else if (transaction is Domain.Transactions.IncomeReceived incomeReceived) { return(incomeReceived.ToResponse()); } else if (transaction is Domain.Transactions.OpeningBalance openingBalance) { return(openingBalance.ToResponse()); } else if (transaction is Domain.Transactions.ReturnOfCapital returnOfCapital) { return(returnOfCapital.ToResponse()); } else if (transaction is Domain.Transactions.UnitCountAdjustment unitCountAdjustment) { return(unitCountAdjustment.ToResponse()); } else { throw new NotSupportedException(); } }