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") });
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 + "\""); } }