public class HIS_CLIREGISTER : BaseModel
{

private String _FBCODE;
[StringLength(8)]
/// <summary>
/// 费别
/// </summary>
public String FBCODE
{
get { return _FBCODE; }
set
{
if (_FBCODE != value && RowState == RowStateFlags.ROW_Original)
{
RowState = RowStateFlags.ROW_Edited;
}
_FBCODE = value;
}
}

private String _USERNAME;
[StringLength(20)]
/// <summary>
/// 操作人
/// </summary>
public String USERNAME
{
get { return _USERNAME; }
set
{
if (_USERNAME != value && RowState == RowStateFlags.ROW_Original)
{
RowState = RowStateFlags.ROW_Edited;
}
_USERNAME = value;
}
}

private decimal _REGFEE;
/// <summary>
/// 挂号费
/// </summary>
public decimal REGFEE
{
get { return _REGFEE; }
set
{
if (_REGFEE != value && RowState == RowStateFlags.ROW_Original)
{
RowState = RowStateFlags.ROW_Edited;
}
_REGFEE = value;
}
}

public string FBNAME { get; set; }

public decimal perOfTotal { get; set; }

}

List<HIS_CLIREGISTER> CLIREGISTERS = new List<HIS_CLIREGISTER>();

List<HIS_CLIREGISTER> items = reportDomain.GetRecordsCLIREGCost(frmcrt.StartDt.ToString("yyyy-MM-dd"), frmcrt.EndDt.ToString("yyyy-MM-dd"), ref errorMessage);//取得数据集

decimal Total = items.Sum(s => s.REGFEE);

//费别分组
var itemsGB = from a in items.GroupBy(g => g.FBCODE) select new { a.Key, FBNAME = a.Max(m => m.FBNAME) };
foreach (var v in itemsGB)
{
List<HIS_CLIREGISTER> tmpItems = items.Where(w => w.FBCODE == v.Key).ToList();
//操作人分组
List<HIS_CLIREGISTER> itemsGB2 = (from a in tmpItems.GroupBy(g => g.USERNAME)
select new HIS_CLIREGISTER
{
FBCODE = v.Key,
USERNAME = a.Key,
FBNAME = v.FBNAME,
REGFEE = a.Sum(s => s.REGFEE),
perOfTotal = a.Sum(s => s.REGFEE) / Total
}).ToList();
CLIREGISTERS.AddRange(itemsGB2);
}

示例, linq分组的更多相关文章

  1. Linq分组功能

    Linq在集合操作上很方便,很多语法都借鉴自sql,但linq的分组却与sql有一定的区别,故整理发布如下. 1.  Linq分组 分组后以Key属性访问分组键值. 每一组为一个IEnumberAbl ...

  2. Linq分组操作之GroupBy,GroupJoin扩展方法源码分析

    Linq分组操作之GroupBy,GroupJoin扩展方法源码分析 一. GroupBy 解释: 根据指定的键选择器函数对序列中的元素进行分组,并且从每个组及其键中创建结果值. 查询表达式: var ...

  3. Linq分组,linq方法分组

    Group在SQL经常使用,通常是对一个字段或者多个字段分组,求其总和,均值等. Linq中的Groupby方法也有这种功能.具体实现看代码: 假设有如下的一个数据集: 01.public class ...

  4. Linq分组查询统计

    这里介绍Linq使用Group By和Count得到每个CategoryID中产品的数量,Linq使用Group By和Count得到每个CategoryID中断货产品的数量等方面. 学经常会遇到Li ...

  5. C# 泛型分组和Linq分组的异同

    没什么好说的,因为用的到,所以作个记录, 代码如下: using System; using System.Collections.Generic; using System.Linq; using ...

  6. Dubbo -- 系统学习 笔记 -- 示例 -- 服务分组

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 服务分组 当一个接口有多种实现时,可以用group区分. <dubbo:se ...

  7. c# linq 分组groupby

    转载: https://www.cnblogs.com/cncc/p/9846390.html 一.先准备要使用的类: 1.Person类: class Person { public string ...

  8. linq分组求和_实体类和datatable

    1.数据分组求合,分别用的实体类以及datatable来分组求合,还有分组求和之后的如何取值 //实体类版本 List<ProgramTimeModel> TotalAllList = G ...

  9. LINQ分组取出第一条数据

    Person1: Id=, Name="Test1" Person2: Id=, Name="Test1" Person3: Id=, Name="T ...

随机推荐

  1. h5中不能用js来直接获取网络码和机器码的。

    h5中不能用js来获取mac的.是可以获取ip的.代码  <script>var fso = new ActiveXObject("Scripting.FileSystemObj ...

  2. ajax项目冲刺01

    1.模板引擎 1)模板+数据=>静态页面片段 2)art-template性能较好 分支语法: {{if value}} ... {{/if}} {{if v1}} ... {{else if ...

  3. (66)Wangdao.com第十一天_JavaScript 数组Array

    数组 Array 本质上,数组属于一种特殊的对象.typeof 运算符会返回数组的类型是 object 数组的特殊性体现在,它的键名是按次序排列的一组整数(0,1,2...) // Object.ke ...

  4. vue-cli 脚手架 Command Line Interface

    mac sudo npm install -g nrm sudo npm config -g set unsafe-perm sudo npm install webpack@3.0.0 -g sud ...

  5. window 日志清楚

    @echo offset srcDir="D:\ApplicationLogs"set daysAgo=15forfiles /p %srcDir% /s /m *.* /d -% ...

  6. laravel5.5 任务调度 (转载)

    Ubuntu和Mac环境中,我们可以使用crontab来控制计划任务 1. 定义调度 我们需要在 App\Console\Kernel 类的 schedule 方法中定义所有任务调度.例如: 上图中定 ...

  7. Java 初始化、final、清理

    1 为什么需要无参构造器? 第一个是继承需要 super 调用父类的构造器(父类构造器必须存在且不为 private.可以是无参/默认构造器,也可以是有参构造器),特别的如果父类不包含无参构造器的话, ...

  8. 浏览器保存数据给app读取

    https://www.jianshu.com/p/239bab24d249 https://www.jianshu.com/p/43f8a81dd8ca

  9. 2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...

  10. KeepAlive安装指南

    https://blog.csdn.net/yelllowcong/article/details/78764780