AcManager.Tools.Managers.Online.ServerEntry.GetNonAvailableReason C# (CSharp) Method

GetNonAvailableReason() private method

private GetNonAvailableReason ( ) : string
return string
        private string GetNonAvailableReason() {
            if (Status != ServerStatus.Ready) return "CM isn’t ready";

            var currentItem = CarsView?.CurrentItem as CarEntry;
            if (currentItem == null) return "Car isn’t selected";

            if (PasswordRequired) {
                if (WrongPassword) return ToolsStrings.ArchiveInstallator_PasswordIsInvalid;
                if (string.IsNullOrEmpty(Password)) return ToolsStrings.ArchiveInstallator_PasswordIsRequired;
            }

            if (BookingMode) {
                var currentSession = Sessions.FirstOrDefault(x => x.IsActive);
                if (currentSession?.Type != Game.SessionType.Booking) return "Wait for the next booking";
            } else {
                if (!currentItem.IsAvailable) return "Selected car isn’t available";
            }

            return null;
        }