Я хотел бы иметь возможность сопоставить модель домена с моделью представлений, создав модель представления и передав ее в качестве модели (например, код ниже). Моя мотивация заключается в том, чтобы избежать повторного использования кода сопоставления И, чтобы обеспечить простой способ сопоставления (еще не используя automapper). Друг говорит, что модель представления не должна ничего знать о модели домена оплаты, которая передается в необязательный конструктор. Как вы думаете?
public class LineItemsViewModel
{
public LineItemsViewModel()
{
}
public LineItemsViewModel(IPayment payment)
{
LineItemColumnHeaders = payment.MerchantContext.Profile.UiPreferences.LineItemColumnHeaders;
LineItems = LineItemDomainToViewModelMapper.MapToViewModel(payment.LineItems);
ConvenienceFeeAmount = payment.ConvenienceFee.Fee;
SubTotal = payment.PaymentAmount;
Total = payment.PaymentAmount + payment.ConvenienceFee.Fee;
}
public IEnumerable<Dictionary<int, string>> LineItems { get; set; }
public Dictionary<int, string> LineItemColumnHeaders { get; set; }
public decimal SubTotal { get; set; }
public decimal ConvenienceFeeAmount { get; set; }
public decimal Total { get; set; }
}