GetPatternMatch() public method

public GetPatternMatch ( string pattern ) : Match
pattern string
return System.Text.RegularExpressions.Match
Exemplo n.º 1
0
        private string ProcessMessage()
        {
            if (_messageContext.GetPatternMatch("Hi").Success)
            {
                return($"{Emoji.VictoryHand} Hi, was kann ich für Dich tun?");
            }

            if (_messageContext.GetPatternMatch("Danke").Success)
            {
                return($"{Emoji.Wink} Habe ich doch gerne gemacht.");
            }

            if (_messageContext.GetPatternMatch("Wetter").Success)
            {
                return(GetWeatherStatus());
            }

            if (_messageContext.GetPatternMatch("Fenster").Success)
            {
                return(GetWindowStatus());
            }

            FilterComponentIds();

            if (!_filteredComponentIds.Any())
            {
                if (_messageContext.IdentifiedComponentIds.Count > 0)
                {
                    return($"{Emoji.Confused} Mit so vielen Anfragen kann ich nicht umgehen. Bitte nenne mir nur eine eindeutige Komponente.");
                }

                return($"{Emoji.Confused} Du musst mir schon einen Sensor oder Aktor nennen.");
            }

            if (_filteredComponentIds.Count > 1)
            {
                return($"{Emoji.Flushed} Bitte nicht mehrere Komponenten auf einmal.");
            }

            if (_filteredComponentIds.Count == 1)
            {
                var component = _controller.GetComponent <IComponent>(_messageContext.IdentifiedComponentIds.First());

                IActuator actuator = component as IActuator;
                if (actuator != null)
                {
                    return(UpdateActuatorState(actuator));
                }

                ISensor sensor = component as ISensor;
                if (sensor != null)
                {
                    return(GetSensorStatus(sensor));
                }
            }

            return($"{Emoji.Confused} Das habe ich leider nicht verstanden. Bitte stelle Deine Anfrage präziser.");
        }
        private string ProcessMessage(MessageContext messageContext)
        {
            if (messageContext.GetPatternMatch("Hi").Success)
            {
                return $"{Emoji.VictoryHand} Hi, was kann ich für Dich tun?";
            }

            if (messageContext.GetPatternMatch("Danke").Success)
            {
                return $"{Emoji.Wink} Habe ich doch gerne gemacht.";
            }

            if (messageContext.GetPatternMatch("Wetter").Success)
            {
                return GetWeatherStatus();
            }

            if (messageContext.GetPatternMatch("Fenster").Success)
            {
                return GetWindowStatus();
            }

            if (!messageContext.FilteredComponentIds.Any())
            {
                if (messageContext.IdentifiedComponentIds.Count > 0)
                {
                    return $"{Emoji.Confused} Mit so vielen Anfragen kann ich nicht umgehen. Bitte nenne mir nur eine eindeutige Komponente.";
                }

                return $"{Emoji.Confused} Du musst mir schon einen Sensor oder Aktor nennen.";
            }

            if (messageContext.FilteredComponentIds.Count > 1)
            {
                return $"{Emoji.Flushed} Bitte nicht mehrere Komponenten auf einmal.";
            }

            if (messageContext.FilteredComponentIds.Count == 1)
            {
                var component = _componentService.GetComponent<IComponent>(messageContext.IdentifiedComponentIds.First());

                IActuator actuator = component as IActuator;
                if (actuator != null)
                {
                    return UpdateActuatorState(actuator, messageContext);
                }

                ISensor sensor = component as ISensor;
                if (sensor != null)
                {
                    return GetSensorStatus(sensor);
                }
            }

            return $"{Emoji.Confused} Das habe ich leider nicht verstanden. Bitte stelle Deine Anfrage präziser.";
        }