#asp.net-mvc
#asp.net-mvc
Вопрос:
Привет, у меня в моем приложении MVC есть таблица налоговых ставок. Он не имеет внешних ключевых связей ни с какими другими таблицами.
Тогда у меня есть счет-фактура класса модели:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;
namespace VectorCheck.Models
{
public class Invoice : IEntity, IValidatableObject
{
public virtual int InvoiceId { get; set; }
public decimal PayableAmount
{
get
{
var taxrates = new Repository<TaxRate>();
var taxrate = taxrates.Where(.....some condition.....);
return AQuantityOfMoney * taxrate;
}
}
}
}
Итак, проблема, которую я вижу здесь, заключается в том, что мне нужно создать экземпляр моего источника данных внутри моей модели. Не очень хорошо?
Кто-нибудь может сказать мне лучший способ подойти к решению этой проблемы?
Ответ №1:
Вы можете преобразовать PayableAmount
свойство в метод и передать репозиторий в качестве параметра:
public decimal GetPayableAmount(ITaxRateCalculator taxrates)
{
var taxrate = taxrates.Where(.....some condition.....);
return AQuantityOfMoney * taxrate;
}