public JsonResult GetAgentListParams(PagerInfo pagerInfo, QueryAgentListParam param) { return(ExecuteFunctionRun(() => { int total = 0; //查询代理数据 DataTable dt = QueryAgencyListParams(pagerInfo, param, out total); //DataTable dt = dtQuery.Clone(); List <AgentsViewModel> list = new List <AgentsViewModel>(); //查询代理人名称,用户名称 Dictionary <string, string> names = this.GetUnitNamesFromTable(dt, new string[] { Agency.PropertyName_UserID, Agency.PropertyName_AgentID }); foreach (DataRow r in dt.Rows) { DateTime startTime, endTime; string start = "", end = ""; if (DateTime.TryParse(r[Agency.PropertyName_StartTime].ToString(), out startTime)) { start = startTime.ToShortDateString(); } ; if (DateTime.TryParse(r[Agency.PropertyName_EndTime].ToString(), out endTime)) { end = endTime.ToShortDateString(); } list.Add(new AgentsViewModel { ObjectID = r[Agency.PropertyName_ObjectID] + string.Empty, UserName = names[r[Agency.PropertyName_UserID] + string.Empty], WorkflowCode = r[Agency.PropertyName_WorkflowCode] + string.Empty, WorkflowName = r[WorkflowClause.PropertyName_WorkflowName] + string.Empty, AgentName = names[r[Agency.PropertyName_AgentID] + string.Empty], StartTime = start, EndTime = end }); } var griddata = new { Rows = list, Total = total }; return Json(griddata, JsonRequestBehavior.AllowGet); })); }
/// <summary> /// 查询代理数据 /// </summary> /// <param name="pagerInfo">分页信息</param> /// <param name="total">总行数</param> /// <returns>带分页数据的代理数据</returns> private DataTable QueryAgencyListParams(PagerInfo pagerInfo, QueryAgentListParam param, out int total) { string Params = string.Empty; switch (pagerInfo.sortname) { case "UserName": Params = "UserID"; break; case "WorkflowCode": Params = "WorkflowCode"; break; case "WorkflowName": Params = "WorkflowName"; break; case "AgentName": Params = "AgentID"; break; case "StartTime": Params = "StartTime"; break; case "EndTime": Params = "EndTime"; break; } int startIndex = pagerInfo.StartIndex; int endIndex = pagerInfo.EndIndex; DataTable dt = this.Engine.Query.QueryAgent(pagerInfo.PageIndex, pagerInfo.PageSize, Params, pagerInfo.sortorder); // TODO:修改这个方法,带分页查询 string UserID = string.Empty; string WorkflowCode = string.Empty; string Mandatary = string.Empty; if (param.Agent != null) { UserID = param.Agent[0] + string.Empty; } if (param.WorkFlowCode != null) { WorkflowCode = param.WorkFlowCode[0] + string.Empty; } if (param.Mandatary != null) { Mandatary = param.Mandatary[0] + string.Empty; } if (!(string.IsNullOrEmpty(UserID) && string.IsNullOrEmpty(WorkflowCode) && string.IsNullOrEmpty(Mandatary))) { for (int i = 0; i < dt.Rows.Count; i++) { string User = dt.Rows[i]["UserID"] + string.Empty; string workflow = dt.Rows[i]["WorkflowCode"] + string.Empty; string Agent = dt.Rows[i]["AgentID"] + string.Empty; if (!( (string.IsNullOrEmpty(UserID) || UserID.IndexOf(User) != -1) && (string.IsNullOrEmpty(WorkflowCode) || (WorkflowCode.IndexOf(workflow) != -1 && workflow != "")) && (string.IsNullOrEmpty(Mandatary) || Mandatary.IndexOf(Agent) != -1))) { dt.Rows[i].Delete(); } } dt.AcceptChanges(); } DataTable dtt = this.Engine.Query.QueryAgent(); total = dtt.Rows.Count; return(dt); }