/// <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全栈学习:匿名函数使用规范

    匿名函数,当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x) ...

  2. 利用python生成图形验证码

    validCode.py import random from io import BytesIO from PIL import Image, ImageDraw, ImageFont def ge ...

  3. 适合学习C语言开源项目——嵌入式脚本语言 Berry

    嵌入式脚本语言 Berry github网址 :https://github.com/Skiars/berry Berry 是一款面向小型嵌入式系统的脚本语言,目前发布了 0.1.0 版本.相比于其他 ...

  4. 二分法:CF371C-Hamburgers(二分法+字符串的处理)

    Hamburgers Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u    Desc ...

  5. MySQL之体系结构与存储实例

    定义数据库和实例 在数据库领域中有两个词很容易混淆,这就是“数据库”(database)和“实例”(instance).作为常见的数据库术语,这两个词的定义如下: 数据库:物理操作系统文件或其他形式文 ...

  6. uoj206 [APIO2016]最大差分

    ref #include "gap.h" #include <iostream> #include <cstdio> using namespace std ...

  7. loj2061 「HAOI2016」放棋子

    答案就是错排数 n = int(input()) f = [0] * 205 f[0] = 1 for i in range(2, n+1): f[i] = (i-1) * (f[i-1] + f[i ...

  8. luogu3375 【模板】KMP字符串匹配

    nxt数组下标从1开始而a,b数组下标从0开始. #include <iostream> #include <cstring> #include <cstdio> ...

  9. 浅谈我所见的CSS组织风格

    1.简单组织(见习级) projectName ├─css | └style.css 优点:简单,单一文件,适合一些简单项目. 缺点:过度集中,没有模块化,无法适应大型项目. 2.公共组织(见习级) ...

  10. vmware克隆centos修改linux mac地址

    故障背景:  在vmware workstation中了完全克隆了一个已经存在的centos的虚拟机,启动之后发现网卡没有启动.于是重启一下network服务,发现提示错误信息“Device eth0 ...