private string GetMoveSysTaskSql(SysAccomplishedTask taskCompleted, Dictionary <string, object> context) { ORMappingItemCollection mappings = GetMappingInfo(context); ORMappingItemCollection mappingsCompleted = ORMapping.GetMappingInfo <SysAccomplishedTask>(); InsertSqlClauseBuilder insertBuilder = ORMapping.GetInsertSqlClauseBuilder(taskCompleted, "EndTime", "Status", "StatusText"); string[] fields = insertBuilder.GetFields().ToArray(); string affectedFields = string.Join(",", fields); string sql = string.Format("INSERT INTO {0}({1}, END_TIME, STATUS, STATUS_TEXT) SELECT {2}, GETUTCDATE() AS END_TIME, {3} AS STATUS, {4} AS STATUS_TEXT FROM {5} WHERE TASK_GUID = {6}", mappingsCompleted.TableName, affectedFields, affectedFields, TSqlBuilder.Instance.CheckUnicodeQuotationMark(taskCompleted.Status.ToString()), TSqlBuilder.Instance.CheckUnicodeQuotationMark(taskCompleted.StatusText), mappings.TableName, TSqlBuilder.Instance.CheckUnicodeQuotationMark(taskCompleted.TaskID)); return(sql); }