Exemplo n.º 1
0
            public string changexml(BotFunctionData BotInput)
            {
                //command format: changexml add|del|delchild|change %dictitem% %itemtoadd|del|change% %change|addargument%
                StringBuilder responsebuilder = new StringBuilder();

                string[] splittedinput = BotInput.input.Split(' ');
                if (splittedinput.Length < 3)
                {
                    return("You didn't specify enough parameters");
                }
                if (!persistence.ContainsKey(splittedinput[2]))
                {
                    return("Specified item wasn't found in the xml file");
                }
                switch (splittedinput[1])
                {
                case "add":
                    if (splittedinput.Length < 5)
                    {
                        return("You didn't specify enough parameters for this command.");
                    }
                    persistence[splittedinput[2]].childnodes.Add(new  savenode(splittedinput[3], splittedinput[4]));
                    responsebuilder.AppendFormat("Succesfully added {0}({1}) to {2}", splittedinput[3], splittedinput[4], splittedinput[2]);
                    break;

                case "delchild":
                    if (splittedinput.Length < 4)
                    {
                        return("You didn't specify enough parameters for this command.");
                    }
                    persistence[splittedinput[2]].childnodes.Remove(persistence[splittedinput[2]].childnodes[splittedinput[3]]);
                    responsebuilder.AppendFormat("Succesfully removed {0}({1}) from {2}", splittedinput[3], splittedinput[4], splittedinput[2]);
                    break;

                case "del":
                    persistence.Remove(splittedinput[2]);
                    responsebuilder.AppendFormat("Succesfully removed {0}", splittedinput[2]);
                    break;

                case "change":
                    if (splittedinput.Length < 5)
                    {
                        return("You didn't specify enough parameters for this command.");
                    }
                    try
                    {
                        return("Command not supported yet..");
                    }
                    catch (Exception ex)
                    {
                        logger.logerror(ex); return(ex.Message);
                    }
                    break;

                default:
                    return("Command not recognized. Try manual for help on using changexml");
                }
                return(responsebuilder.ToString());
            }
Exemplo n.º 2
0
 void deletenode(XMLPersistenceDictionary dict, savenode node)
 {
     foreach (var item in dict)
     {
         if (dict.Contains(node))
         {
             dict.Remove(node);
             return;
         }
         deletenode(item.childnodes, node);
     }
 }