/** * Creates a new account record, assigns * * @param $command */ public function handle($command) { // Create account $account = Account::create([]); $this->accountRepository->save($account); $language = $this->languageRepository->getByCode($command->defaultLanguageCode); $account->addLanguage($language); $account->addTranslation($language->code, 'name', $command->name); $account->addDomain($command->domain); $this->dispatcher->dispatch($account->releaseEvents()); }
/** * Removes a language by the language id. * * @param $account * @param $language */ public function remove($languageId) { $language = $this->languageRepository->getById($languageId); return $this->supportedLanguageRepository->remove($language); }
/** * Sets up the languages collection to be used by the iew. * * @param $view */ public function compose($view) { $view->languages = $this->languages->getAll(); }
public function addLanguage(Account $account, $languageCode) { $language = $this->languageRepository->getByCode($languageCode); $account->addLanguage($language); return $language; }
/** * Returns the languages that are available to the system. * * @return collection */ public function availableLanguages() { return $this->languages->getAll(); }