private static MessageCommandBase GetCallbackCommand(string message, long chatId)
        {
            var strings   = message.Split(":");
            var command   = strings[0];
            var commandId = strings[1];

            var eventId = int.Parse(commandId);

            return(command switch
            {
                CommandMessages.Full => new FullEventInfoCommand(eventId, chatId),
                CommandMessages.CallbackHide => new ShortEventInfoCommand(eventId, chatId),
                CommandMessages.CallbackDay => EventsCommand.Day((DayOfWeek)eventId, chatId),

                _ => throw new ArgumentOutOfRangeException(nameof(command), command, "Unknown command")
            });
Beispiel #2
0
        public void parse()
        {
            XmlDocument xml = new XmlDocument();

            try {
                xml.Load(config);
                XmlNode root = xml.DocumentElement;
                if (root.HasChildNodes)
                {
                    for (int i = 0; i < root.ChildNodes.Count; i++)
                    {
                        if (root.ChildNodes[i].NodeType == XmlNodeType.Element)
                        {
                            XmlElement elm     = (XmlElement)root.ChildNodes[i];
                            string     elmName = root.ChildNodes[i].Name;

                            if (elmName.Equals("Event"))
                            {
                                string name = elm.GetAttribute("name");
                                if (name.Length > 0)
                                {
                                    EventsCommand command = new EventsCommand();
                                    readContent(elm, command);
                                    logger.log("Append command: {" + name + "}");
                                    events.Add(name, command);
                                }
                            }
                            else if (elmName.Equals("Init"))
                            {
                                readContent(elm, init);
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.log("Error parsing XML at \"" + config + "\"");
            }
        }