Как лучше всего внедрить простую систему квот для определения стоимости работы на основе двух атрибутов тип и значение .
Стоимость работы будетопределил, в какой диапазон попадает значение для его типа .
Например:
Тип задания A обойдется в
- 80 долларов США на сумму от 0 до 150
- 100 долларов США на сумму от 150 долларов США.300
- 120 долларов США на сумму> 300 долларов США
Тип работы B обойдется в
- 50 долларов США на сумму от 0 до 120
- $ 100 для значения между 120-250
- $ 120 для значения между $ 120-500
- $ 150 для значения> $ 500
Диапазон диапазона должен быть настраиваемым и каждое задание тип может иметь различный диапазон диапазонов.
Диапазон диапазонов и стоимость могут изменяться и в конечном итоге будут храниться в базе данных сервера SQL, доступ к которой осуществляется через шаблон репозитория, чтобы я мог реализовать фиктивное хранилище для TDD.
Моя первоначальная разработка привела меня к тому, что ниже был представлен легкий класс, представляющий полосы
public class JobCostBand
{
public int ID { get; set; }
public string Type { get; set; }
public float ValueLowerBand { get; set; }
public float ValueUpperBand { get; set; }
public float Cost { get; set; }
}
У меня был фиктивный репозиторий, использующий LINQ для выбора из списка этих объектов в памяти и возврата затрат,Этот класс достаточно легко отобразится в таблицу SQL, в которой я мог бы использовать LINQ to SQL, чтобы найти стоимость в моем окончательном хранилище БД.
Моя проблема заключалась в том, что делать с последней группой для данной работы type .Я начал с использования float.MaxValue для верхней полосы, но мне это не понравилось.Затем я подумал об использовании верхнего или нижнего значения для указания полосы в JobCostClass, но опять-таки это не сработало.Я слишком много думаю об этом или я упустил очень простой способ моделирования этого?