user()->id)->first()) { return $adminAccount->company; } else { return false; } } } if (!function_exists(function: 'AgentCompanyOfUser')) { function AgentCompanyOfUser() { $city = false; if ($adminAccount = Agent::where('user_id', auth()->user()->id)->first()) { return $adminAccount->company; } else { return false; } } } if (!function_exists('GetAvailableAgents')) { function GetAvailableAgents() { $agents = false; if ($adminCompany = AdminCompanyOfUser()) { $agents = Agent::where('company_id', $adminCompany->id); } else { $cityManager = CityManager::where('user_id', auth()->user()->id); if ($cityManager->count()) { $companies = Company::where('city_id', $cityManager->first()->city_id); if ($companies->count()) { $agents = Agent::whereIn('company_id', $companies->get()->pluck('id')); } } else { $agents = Agent::where('user_id', auth()->user()->id); } } if ($agents === false) { return []; } $agents->with('company:id,name'); $agents->with('user:id,name'); return $agents->get(); } } if (!function_exists('GetAvailableComplexes')) { function GetAvailableComplexes() { $complexes = false; if ($adminCompany = AdminCompanyOfUser()) { $complexes = Complex::where('city_id', $adminCompany->city_id); } else { $cityManager = CityManager::where('user_id', auth()->user()->id); if ($cityManager->count()) { $complexes = Complex::where('city_id', $cityManager->first()->city_id); } else { if ($agent = Agent::where('user_id', auth()->user()->id)->first()) { $complexes = Complex::where('city_id', $agent->company->city_id); } } } if ($complexes) { return $complexes->get(); } return []; } } if (!function_exists('GetAvailableCities')) { function GetAvailableCities() { $agents = []; if ($adminCompany = AdminCompanyOfUser()) { $agents = Agent::where('company_id', $adminCompany->id); } else { $cityManager = CityManager::where('user_id', auth()->user()->id); if ($cityManager->count()) { $agents = Agent::whereIn('company_id', Company::where('city_id', $cityManager->city_id)->get()->pluck('company_id')); } else { $agents = Agent::where('user_id', auth()->user()->id); } } $agents->with('company:id,name'); $agents->with('user:id,name'); return $agents->get(); } }