Должен ли я использовать первичный ключ или имя, чтобы получить объект в части бизнес-логики - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь добавить бизнес-логику в мое веб-приложение 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 );
    }
}

Мне нужен твой совет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...