private async Task <bool> CheckIfUserMatchesPackages(User passedUser) { await _baseViewModel.CheckIfUserHasPackage(); if (_baseViewModel.HasGiPackage && _baseViewModel.HasNoGiPackage) { _baseViewModel.HasGiAndNoGiPackage = true; } if (_baseViewModel.HasGiAndNoGiPackage && passedUser.Packages.GiAndNoGiJiuJitsu) { return(true); } else if (_baseViewModel.HasGiPackage && _baseViewModel.HasNoGiPackage && passedUser.Packages.GiJiuJitsu && passedUser.Packages.NoGiJiuJitsu) { return(true); } else if (_baseViewModel.HasGiPackage && _baseViewModel.HasNoGiPackage && passedUser.Packages.GiJiuJitsu && !passedUser.Packages.NoGiJiuJitsu) { return(true); } else if (_baseViewModel.HasGiPackage && _baseViewModel.HasNoGiPackage && !passedUser.Packages.GiJiuJitsu && passedUser.Packages.NoGiJiuJitsu) { return(true); } else if (_baseViewModel.HasGiPackage && !_baseViewModel.HasNoGiPackage && passedUser.Packages.GiJiuJitsu && !passedUser.Packages.NoGiJiuJitsu) { return(true); } else if (_baseViewModel.HasNoGiPackage && !_baseViewModel.HasGiPackage && passedUser.Packages.NoGiJiuJitsu && !passedUser.Packages.GiJiuJitsu) { return(true); } else { return(false); } }