string command(Idea idea, Dictionary dictionary) { List <string> words = new List <string>(1); string verb = idea.verb.spanishCommandForms.allForms() [CommandForms.getIntForPerson(dictionary.subjects.findPersonForSubject (idea.subject, Language.spanish), idea.negitive)]; if (idea.indirectObject != null && idea.directObject != null) { if (idea.indirectObject[0] == 'l' && idea.directObject[0] == 'l') { string oldIO = idea.indirectObject; idea.indirectObject = "se"; } } if (idea.negitive == true) { words.Add("no"); if (idea.indirectObject != null) { words.Add(idea.indirectObject); } if (idea.directObject != null) { words.Add(idea.directObject); } words.Add(verb); } else { words.Add(verb + ((idea.indirectObject != null) ? idea.indirectObject : "") + ((idea.directObject != null) ? idea.directObject : "")); } switch (idea.verbTypes) { case VerbTypes.conjugated_infinitive: words.Add("a"); words.Add(idea.auxilleryVerb.spanishInfinitive); break; case VerbTypes.conjugated_participle: words.Add(idea.auxilleryVerb.spanishParticiple); break; } return(grammer(words)); }