Messages->IsExist(fn (ActionStateMessageModel $message) => $message->MessageType == MessageType::Info); } /** * Проверяет, успешно ли завершилась операция. * * @param bool $onlyCritical Игнорировать все некритические ошибки и предупреждения (не рекомендуется!) * * @return bool Успешно ли завершилась операция. */ public function IsSuccess (bool $onlyCritical = false): bool { return ($onlyCritical) ? !$this->HasErrors($onlyCritical) : !$this->HasErrors() && !$this->HasWarnings(); } /** * Проверяет, есть ли ошибки. * * @param bool $onlyCritical Учитывать только критические ошибки. * * @return bool Наличие ошибок. */ public function HasErrors (bool $onlyCritical = false): bool { return $this->Messages->IsExist(fn (ActionStateMessageModel $message): bool => $onlyCritical ? $message->MessageType == MessageType::Error && $message->IsCritical : $message->MessageType == MessageType::Error); } /** * Проверяет, есть ли предупреждения. * * @return bool Наличие предупреждений */ public function HasWarnings (): bool { return $this->Messages->IsExist(fn (ActionStateMessageModel $message) => $message->MessageType == MessageType::Warning); } }