using System.Collections.Generic;
using System.Linq;
namespace DeviceRepair.Models.Preserve.JsonData
{
public class ContentData
{
///
/// 安装地点
///
public List InstallationSite { get; set; }
///
/// 设备名称
///
public List EquipmentName { get; set; }
///
/// 设备型号规格
///
public List DeviceSpecification { get; set; }
///
/// 设备编号
///
public List EquipmentID { get; set; }
///
/// 年
///
public List Year { get; set; }
///
/// 内容
///
public List Content { get; set; }
///
/// 其他异常处理
///
public List ExceptionDescription { get; set; }
///
/// 操作员
///
public List Operation { get; set; }
///
/// 操作日期
///
public List OperationDate { get; set; }
///
/// 年/月
///
public List YearAndMonth { get; set; }
public void MergeData(ContentData News)
{
MergeExceptionDescription(News.ExceptionDescription);
MergeOperationDate(News.OperationDate);
MergeOperation(News.Operation);
MergeContent(News.Content);
}
private void MergeExceptionDescription(List News)
{
/* 传入的对象为空 */
if (News == null && News.Count == 0)
return;
/* 原数据对象为空 */
if (ExceptionDescription == null || ExceptionDescription.Count == 0)
{
ExceptionDescription = new List();
ExceptionDescription.AddRange(News);
}
else
{
// 当前存在数据
foreach (SheetDataItem item in News)
{
/* 旧数据 */
SheetDataItem oldValue = ExceptionDescription.FirstOrDefault(x => x.RowIndex == item.RowIndex
&& x.ColumnIndex == item.ColumnIndex);
if (oldValue != null)
{
oldValue.Value += System.Environment.NewLine + item.Value;
}
else
{
OperationDate.Add(item);
}
}
}
}
private void MergeOperationDate(List News)
{
/* 传入的对象为空 */
if (News == null && News.Count == 0)
return;
/* 原数据对象为空 */
if (OperationDate == null || OperationDate.Count == 0)
{
OperationDate = new List();
OperationDate.AddRange(News);
}
else
{
// 当前存在数据
foreach (SheetDataItem item in News)
{
/* 旧数据 */
SheetDataItem oldValue = OperationDate.FirstOrDefault(x => x.RowIndex == item.RowIndex
&& x.ColumnIndex == item.ColumnIndex);
if (oldValue != null)
{
oldValue.Value = item.Value;
}
else
{
OperationDate.Add(item);
}
}
}
}
private void MergeOperation(List News)
{
/* 传入的对象为空 */
if (News == null && News.Count == 0)
return;
/* 原数据对象为空 */
if (Operation == null || Operation.Count == 0)
{
Operation = new List();
Operation.AddRange(News);
}
else
{
// 当前存在数据
foreach (SheetDataItem item in News)
{
/* 旧数据 */
SheetDataItem oldValue = Operation.FirstOrDefault(x => x.RowIndex == item.RowIndex
&& x.ColumnIndex == item.ColumnIndex);
if (oldValue != null)
{
oldValue.Value = item.Value;
}
else
{
Operation.Add(item);
}
}
}
}
private void MergeContent(List News)
{
/* 传入的对象为空 */
if (News == null && News.Count == 0)
return;
/* 原数据对象为空 */
if (Content == null || Content.Count == 0)
{
Content = new List();
Content.AddRange(News);
}
else
{
// 当前存在数据
foreach (SheetDataItem item in News)
{
/* 旧数据 */
SheetDataItem oldValue = Content.FirstOrDefault(x => x.RowIndex == item.RowIndex
&& x.ColumnIndex == item.ColumnIndex);
if (oldValue != null)
{
oldValue.Value = item.Value;
}
else
{
Content.Add(item);
}
}
}
}
}
}