C# 两个linq查询语句结果集合并
List<IntellManuSchool_TaskUserStatisticsV> onetasklstpro = new List<IntellManuSchool_TaskUserStatisticsV>();
foreach (var dpinfo in departmentlist)
{
List<IntellManuSchool_TaskUserStatisticsV> ondepttask = tasklists.Where(t => t.DepartmentId == dpinfo.Id).OrderByDescending(t => t.BeginTime).ToList();
if (ondepttask.Count > 0)
{
int deptrowspan = ondepttask.Count;
var taskg = from t in ondepttask
select t.TaskId;
List<int> taskidgroup = taskg.Distinct().ToList();
foreach (int tid in taskidgroup)
{
List<IntellManuSchool_TaskUserStatisticsV> onetasklst = ondepttask.Where(t => t.TaskId == tid).OrderByDescending(t => t.BeginTime).ToList();
foreach (var ut in onetasklst) {
int sc = videorecordlist.Count(x => x.TaskId == ut.TaskId && x.UserId == ut.UserId && x.Finish == 1);
ut.StudySectionCount = sc;
//list.Add(new entity{id=1,name="小强"})此类语句小编也经常用到索性也记录此次之内好了
onetasklstpro.Add(new IntellManuSchool_TaskUserStatisticsV { TaskName = ut.TaskName, DepartmentName=ut.DepartmentName,TaskStatus=ut.TaskStatus,BeginTime=ut.BeginTime,EndTime=ut.EndTime,SectionCount=ut.SectionCount,TaskId=ut.TaskId,UserId=ut.UserId,StudySectionCount= ut.StudySectionCount, DepartmentId=ut.DepartmentId });
}
}
}
}
//两个linq要求不同的条件搜索所以要进行拆分,再合并
var view =
from p in onetasklstpro
where p.DepartmentId!=0//先对已经分配部门的结果进行排序
orderby (p.DepartmentId)
group p by new
{
p.TaskName,
p.TaskId,
p.DepartmentName,
p.BeginTime,
p.EndTime,
p.TaskStatus,
p.DepartmentId
}
into g
select new
{
g.Key,
jindu = StringFormat.ExecPercent((decimal)g.Sum(p => p.StudySectionCount), (decimal)g.Sum(p => p.SectionCount))
};
var view2 =
from p in onetasklstpro
where p.DepartmentId == 0//最后将没有分配部门的数据补在最后
orderby (p.DepartmentId)
group p by new
{
p.TaskName,
p.TaskId,
p.DepartmentName,
p.BeginTime,
p.EndTime,
p.TaskStatus,
p.DepartmentId
}
into g
select new
{
g.Key,
jindu = StringFormat.ExecPercent((decimal)g.Sum(p => p.StudySectionCount), (decimal)g.Sum(p => p.SectionCount))
};
var view3 = view.Union(view2);//Union将两个查询结果集合并
results = JsonHelper.ToJson(view3, "yyyy-MM-dd");
context.Response.Write(results);
最近想要写一篇关于自己近三年工作中的感想文章,目前正在思索,有没有点小期待呢?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。