У меня есть служба, которая блокирует пользователя от выполнения действий с идентификатором, называемая «LockingService»,
У меня также есть 2 разные вещи, которые необходимо заблокировать:
- (MembershipService) Вход в систему - если пользователь пытался войти в систему с номером участника более 3 раз - номер участника блокируется.
- (OtherService) Если пользователь пытался ввести недействительные учетные данные - его сеанс блокируется.
Служба не различает два.
Описан один из потоков (для входа в систему), который в данный момент существует на контроллере:
if(LockingService.IsLocked(membershipNumber))
return View(dto);
if(MembershipService.login(membershipNumber)) {
... some actions that always
return dto;
}
else {
LockingService.AddToFailedAttempts(membershipNumber);
return dto; // with errors
}
Я считаю, что этот поток логика не должна находиться в контроллере.
Предложения общих комментариев будет принята с благодарностью.
Спасибо.