public InvalidAssigneeCollection Load(IConnectiveSqlClause builder) { InvalidAssigneeCollection result = new InvalidAssigneeCollection(); string sql = SelectSQL; if (builder.IsEmpty == false) { sql = string.Format("{0} WHERE {1}", SelectSQL, builder.AppendTenantCodeSqlClause(typeof(InvalidAssignee)).ToSqlString(TSqlBuilder.Instance)); } DataTable dt = DbHelper.RunSqlReturnDS(sql, this.GetConnectionName()).Tables[0]; ORMapping.DataViewToCollection(result, dt.DefaultView); return(result); }
protected override void OnAfterQuery(InvalidAssignessUrlCollection result) { InSqlClauseBuilder builder = new InSqlClauseBuilder(); builder.DataField = "PROCESS_ID"; foreach (InvalidAssigneeUrl item in result) { builder.AppendItem(item.ProcessID); } InvalidAssigneeCollection allInvalidAssignes = InvalidAssigneeAdapter.Instance.Load(builder); Dictionary <string, StringBuilder> dic = new Dictionary <string, StringBuilder>(StringComparer.OrdinalIgnoreCase); foreach (InvalidAssignee itemInavlidAssigne in allInvalidAssignes) { string key = string.Format("{0}@{1}", itemInavlidAssigne.ProcessID, itemInavlidAssigne.ActivityID); if (dic.ContainsKey(key) == false) { dic[key] = new StringBuilder(); dic[key].Append(itemInavlidAssigne.UserName); } else { dic[key].AppendFormat(",{0}", itemInavlidAssigne.UserName); } } foreach (InvalidAssigneeUrl item in result) { string key = string.Format("{0}@{1}", item.ProcessID, item.ActivityID); if (dic.ContainsKey(key) == true) { item.AllUsers = dic[key].ToString(); } } }