private void TaskGenerator(string cmdString) { var tkExe = new ExecuterTask("Executer"); cmdString = cmdString.Replace(@"C:\", "%$%"); var cmds = cmdString.Split((":").ToArray(), StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < cmds.Length; i++) { cmds[i] = cmds[i].Replace("%$%", @"C:\"); } Task.Task tk; Task.Task tkFather = tkExe; Task.Task tkFatherF = tkExe; var isBrother = false; foreach (var cmd in cmds) { var args = cmd.Split((" ").ToArray(), StringSplitOptions.RemoveEmptyEntries).ToList(); var exe = args[0]; isBrother = exe.StartsWith(">"); exe = exe.TrimStart('>'); args.RemoveAt(0); var name = DateTime.Now.Ticks.ToString(); if (args.Count > 0) { name = args[0]; if (args.Count > 1) { args.RemoveAt(0); } } tk = new Task.Task(name,exe, args.ToArray()); if(isBrother) tkFatherF.Add(tk); else tkFather.Add(tk); tkFatherF = tkFather; tkFather = tk; } try { var result = tkExe.Execute(); foreach (var item in result.Values) { WriteOutput(": " + item.Value.ToString()); //if (item.Value.GetType() == typeof(List<object>)) //{ // WriteOutput(": LISTSTART: " + item.Key); // foreach (var itemList in (List<object>)item.Value) // { // WriteOutput(": " + itemList.ToString()); // } // WriteOutput(": LISTEND: " + item.Key); //} //else if (item.Value.GetType() == typeof(List<string>)) //{ // WriteOutput(": LISTSTART: " + item.Key); // foreach (var itemList in (List<string>)item.Value) // { // WriteOutput(": " + itemList.ToString()); // } // WriteOutput(": LISTEND: " + item.Key); //} //else //{ // WriteOutput(": " + item.Value.ToString()); //} } } catch (Exception ex) { WriteOutput("Não foi possível realizar comando: " + ex.Message); } }
public TaskResult(ExecuterTask task) { ExecuterTask = task; }