Я пытаюсь добавить бизнес-логику в мое веб-приложение ASP.NET MVC. Например, у меня есть объект «Предложение», связанный с объектом «Статус». Я создал CRUD для обоих. Так что я могу изменить метку каждого статуса.
Когда я напишу свои бизнес-правила, должен ли я использовать первичный ключ статуса или метки?
Например, когда предложение прошло целевую дату, статус этого предложения должен быть установлен на «Задержка». Если я использую метку и если метка была изменена, мой код будет сломан. Если я использую первичный ключ, я связываю свою бизнес-логику с моей моделью.
function manageStatus($offer){
if ($offer->getTargetDate()< new Datetime()){
//First solution ===>
$status = $this->entityMananger->getRepository('status')->findOneByLabel('Delay');
//Second solution ===>
$idDelayStatus = Status::DELAY_ID;
$status = $this->entityMananger->getRepository('status')->findOne($idDelayStatus);
//Other solution ????
$offer->setStatus($status );
}
}
Мне нужен твой совет!