/// <summary>
     ///将类似 1 A 、1 B 的数据返回成为 1 A,B 的拼接形式
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
private BookingInShopListDataContract[] GenDistinctList(List<BookingInShopListDataContract> list)
{
//定义实际要返回到界面的aimList
List<BookingInShopListDataContract> aimList = new List<BookingInShopListDataContract>(); string bookingNo = string.Empty;
string repairType = string.Empty; BookingInShopListDataContract cloneDC = new BookingInShopListDataContract();
BookingInShopListDataContract addDC = null; if (list.Count == )
{
return aimList.ToArray();
}
foreach (var item in list)
{
if (string.IsNullOrEmpty(bookingNo))
{
bookingNo = item.BookingNo;
repairType = item.RepairTypeName;
}
else if (bookingNo == item.BookingNo)
{
if (!string.IsNullOrEmpty(item.RepairTypeName))
{
repairType = repairType + "," + item.RepairTypeName;
}
}
else
{
AddNewCloneDC(addDC, cloneDC, bookingNo, repairType, aimList); cloneDC = new BookingInShopListDataContract();
bookingNo = item.BookingNo;
repairType = item.RepairTypeName;
}
addDC = item;
} AddNewCloneDC(addDC, cloneDC, bookingNo, repairType, aimList); return aimList.ToArray();
} private void AddNewCloneDC(BookingInShopListDataContract aAddDC, BookingInShopListDataContract aCloneDC,
string aBookingNo, string aRepairType, List<BookingInShopListDataContract> aAimList)
{
aCloneDC.BookingNo = aBookingNo;
aCloneDC.BookingStatus = aAddDC.BookingStatus;
aCloneDC.OwnerName = aAddDC.OwnerName;
aCloneDC.OwnerPhone = aAddDC.OwnerPhone;
aCloneDC.CarLicenseNo = aAddDC.CarLicenseNo;
aCloneDC.FrameNo = aAddDC.FrameNo;
aCloneDC.BookComeTime = aAddDC.BookComeTime;
aCloneDC.BookEndTime = aAddDC.BookEndTime;
aCloneDC.Receiver = aAddDC.Receiver;
aCloneDC.ReceiverName = aAddDC.ReceiverName;
aCloneDC.OpertatorName = aAddDC.OpertatorName;
aCloneDC.RepairTypeName = aRepairType;
aCloneDC.SolicitType = aAddDC.SolicitType; aAimList.Add(aCloneDC);
}

只用一次循环开销 将类似 1 A 、1 B 的数据返回成为 1 A,B 的拼接形式的更多相关文章

  1. 数组循环:循环多个li 每个li 固定N条数据

    PHP代码: $arr = array(1,2,3,4,5,6,7); $x = 1; $y = 0; foreach($arr as $k => $v){ $data[$y][] = $v; ...

  2. 使用v-for循环写入html内容,每一项的数据的写入

    项目使用vue.js,在写某个dialog页面时,需要循环后台的数据(班级,班级学生名单,已选学生名单,发布时间,截止时间,答案显示等). 遇到的问题:循环绑定的值是相同的,而且改动一个值,其他ite ...

  3. 物联网框架SuperIO 2.2.9和ServerSuperIO 2.1同时更新,更适用于类似西门子s7-200发送多次数据,才能读取数据的情况

    一.解决方案 二.更新内容 1.修改IRunDevice接口,把void Send(io,bytes)改成int Send(io,bytes).2.修改网络控制器,发送数据不直接使用IO实例,改为使用 ...

  4. 从net到java:java快速入门

    学习java那是不可能的,到为什么不学习一下呢.仅为总结.希望自己在不久的将来能书写优美的java程序.加油!奥利给 1.注释 注释的重要性不言而喻,我们不管写什么代码注释必不可少,那么java的注释 ...

  5. iOS面试题及答案

    设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的事情. 1). MVC模式:Model View Control,把模型 视图 控制器 ...

  6. 【2017年最新】iOS面试题及答案

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px "PingFang SC Semibold"; color: #46464 ...

  7. JavaScript 知识点

    JS基础 页面由三部分组成: html:超文本标记语言,负责页面结构 css:层叠样式表,负责页面样式 js:轻量级的脚本语言,负责页面的动效和数据交互 小总结:结构,样式和行为,三者相分离 在htm ...

  8. 【2017年最新】 iOS面试题及答案

    设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的事情. 1). MVC模式:Model View Control,把模型 视图 控制器 ...

  9. Ajax顺序执行

    循环中的Ajax 在前后端分离的项目中,Ajax是连接前后端的枢纽. 需求:有一个需要循环发起n次的请求,但是n次循环传参不同,我并不知道n是多少,并且要求能够保证返回顺序.JSONP用同步锁无效 示 ...

随机推荐

  1. python学习笔记(四):生成器、内置函数、json

    一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了 ...

  2. C++从键盘读入数组并存储

    C++从键盘读取任意长度的数组,现总结如下: //读取指定长度的数组 int main() { int n = 0; cin >> n; vector<int> p(n); f ...

  3. HDOJ 2120 Ice_cream's world I

    Ice_cream's world I ice_cream's world is a rich country, it has many fertile lands. Today, the queen ...

  4. Harbor HA部署-使用Ceph RADOS后端

    1. 前言 Harbor 1.4.0版本开始提供了HA部署方式,和非HA的主要区别就是把有状态的服务分离出来,使用外部集群,而不是运行在本地的容器上.而无状态的服务则可以部署在多个节点上,通过配置上层 ...

  5. git pull免密码拉取

    ssh到服务器上,原来基于public/private key pair的方法不好使了. 1.1 创建文件存储GIT用户名和密码 在%HOME%目录中,一般为C:\users\Administrato ...

  6. Django权限管理系统设计分析

    权限管理顾名思义,其实就是角色控制权限的系统,每个用户对应一个角色,每个角色有对应的权限,比如公司会有CEO,总监,销售经理,销售员,每个人的权限都不一样,那我们给他展示的url也都不同 一.首先创建 ...

  7. linux环境搭建系列之tomcat安装步骤

    前提: Linux centOS 64位 JDK 1.7 安装包从官网上下载 安装Tomcat之前要先安装JDK. 我的JDK是1.7版本的,所以Tomcat版本也选了7的 1.新建目录tomcat ...

  8. STW 团队项目分析

    序言 经过我们团队的详细讨论,最终确定我们的项目立意,它包含这我们每个人的观点,我相信我们可以做的很好,Believe......................................... ...

  9. c# 钩子程序

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...

  10. easyui在datagrid只想选择一条

    <table class="" id="jgrid" data-options="fitColumns:true,rownumbers: tru ...