private IEnumerator <object> SaveEndpoint(EndpointSettings settings) { using (new ControlDisabler(this)) { var columnNames = Mapper <EndpointSettings> .ColumnNames; var questionMarks = new string[columnNames.Length]; for (int i = 0; i < questionMarks.Length; i++) { questionMarks[i] = "?"; } using (var q = Program.Database.BuildQuery(String.Format( "REPLACE INTO jabber.endpoints ({0}) VALUES ({1})", String.Join(", ", columnNames), String.Join(", ", questionMarks) ))) yield return(q.ExecuteNonQuery(Mapper <EndpointSettings> .GetColumnValues(settings))); yield return(LoadConfiguration()); yield return(Script.InitGateways()); } }