86 lines
4.0 KiB
C#
86 lines
4.0 KiB
C#
using Web.Tra.Model;
|
|
|
|
public static class ObjectExtend
|
|
{
|
|
public static Overview ToOverview(this IEnumerable<SearchData> data)
|
|
{
|
|
return new Overview
|
|
{
|
|
TestDate = data.Max(x => x.Summary.TestDT.Date),
|
|
StationName = data.Last().Summary.StationName,
|
|
Host = data.Last().Summary.HostID,
|
|
Section = data.Last().Summary.Section,
|
|
ModelName = data.Last().TestInfo?.PROD_Group?.ModelName,
|
|
TestType = data.Last().Summary.TestType,
|
|
ProductNo = data.Last().Summary.ProdNo_C,
|
|
TestCode = data.Last().Summary.Testcode,
|
|
ParentNo = data.GroupBy(x => x.Summary.TestListCntID).Last().Last().Summary.ProdNo_P,
|
|
TestListFileNo = data.GroupBy(x => x.Summary.TestListCntID).Last().Last().Summary.TestListFileNo,
|
|
TestListVariantNo = data.GroupBy(x => x.Summary.TestListCntID).Last().Last().Summary.TestListVariantNo,
|
|
FileCode = data.Last().Summary.ProdCode,
|
|
FileVersion = data.Last().Summary.Version,
|
|
StepVersion = data.Last().Summary.StepVersion,
|
|
FirstTestTime = data.GroupBy(x => x.Summary.TestListCntID).Last().Min(y => y.Summary.TestDT).ToString("HH:mm:ss"),
|
|
FinalTestTime = data.GroupBy(x => x.Summary.TestListCntID).Last().Max(y => y.Summary.TestDT).ToString("HH:mm:ss"),
|
|
Total = data.GroupBy(x => (x.Summary.TestListCntID, x.Summary.TestDT.Date)).Last().Count(),
|
|
OK = data.GroupBy(x => (x.Summary.TestListCntID, x.Summary.TestDT.Date)).Last().Count(y => y.Summary.Result.ToLower().Equals("ok")),
|
|
NG = data.GroupBy(x => (x.Summary.TestListCntID, x.Summary.TestDT.Date)).Last().Count(y => !y.Summary.Result.ToLower().Equals("ok")),
|
|
RN = 0,
|
|
TestListCntID = data.Last().Summary.TestListCntID
|
|
};
|
|
}
|
|
|
|
public static Overview ToOverviewMerged(this IEnumerable<SearchData> data)
|
|
{
|
|
return new Overview
|
|
{
|
|
TestDate = data.Max(x => x.Summary.TestDT.Date),
|
|
ModelName = data.Last().TestInfo?.PROD_Group?.ModelName,
|
|
TestType = data.Last().Summary.TestType,
|
|
ProductNo = data.Last().Summary.ProdNo_C,
|
|
TestCode = data.Last().Summary.Testcode,
|
|
ParentNo = data.Last().Summary.ProdNo_P,
|
|
TestListFileNo = data.Last().Summary.TestListFileNo,
|
|
TestListVariantNo = data.Last().Summary.TestListVariantNo,
|
|
FileCode = data.Last().Summary.ProdCode,
|
|
FileVersion = data.Last().Summary.Version,
|
|
StepVersion = data.Last().Summary.StepVersion,
|
|
FirstTestTime = data.Min(y => y.Summary.TestDT).ToString("HH:mm:ss"),
|
|
FinalTestTime = data.Max(y => y.Summary.TestDT).ToString("HH:mm:ss"),
|
|
Total = data.Count(),
|
|
OK = data.Count(y => y.Summary.Result.ToLower().Equals("ok")),
|
|
NG = data.Count(y => !y.Summary.Result.ToLower().Equals("ok")),
|
|
RN = 0
|
|
};
|
|
}
|
|
|
|
public static Overview ToDetailOverview(this IEnumerable<SearchData> data)
|
|
{
|
|
return data.ToOverview();
|
|
}
|
|
|
|
public static TestHistory ToTestHistory(this SearchData data)
|
|
{
|
|
return new TestHistory
|
|
{
|
|
No = data.Summary.No,
|
|
TestDate = data.Summary.TestDT,
|
|
TestDateTime = data.Summary.TestDT,
|
|
StationName = data.Summary.StationName,
|
|
Host = data.Summary.HostID,
|
|
Section = data.Summary.Section,
|
|
ProductID = data.Summary.ProductID,
|
|
TestType = data.Summary.TestType,
|
|
ProductNo = data.Summary.ProdNo_C,
|
|
TestCode = data.Summary.Testcode,
|
|
ParentNo = data.Summary.ProdNo_P,
|
|
FileCode = data.Summary.ProdCode,
|
|
FileVersion = data.Summary.Version,
|
|
StepVersion = data.Summary.StepVersion,
|
|
Duration = data.Summary.Duration,
|
|
TestResult = data.Summary.Result,
|
|
TestListCntID = data.Summary.TestListCntID,
|
|
TestListReqID = data.Summary.TestListCntID
|
|
};
|
|
}
|
|
} |