/// <summary> /// Создается DataSet для заданных данных /// </summary> /// <returns></returns> public DiscrepanciesDataSet CreateDataSet() { DiscrepanciesDataSet dataSet = new DiscrepanciesDataSet(); FillDataSet(dataSet); return(dataSet); }
/// <summary> /// Заполняется DataSet /// </summary> /// <param name="dataSet"></param> public void FillDataSet(DiscrepanciesDataSet dataSet) { dataSet.Clear(); dataSet.AdditionalDataTable.AddAdditionalDataTableRow(1, dateAsOf.ToString("MMM dd yyyy"), reportTitle, thresholdLifelength.ToString()); FillDetailDiscrepancies(dataSet); FillDirectiveDiscrepancies(dataSet); }
/// <summary> /// Заполняются отклонения по директивам /// </summary> /// <param name="dataSet"></param> public void FillDirectiveDiscrepancies(DiscrepanciesDataSet dataSet) { int index = 1; if (displayDetailDiscrepancies) { index = 2; } int counter = detailDiscrepancies.Count; for (int i = 0; i < directiveDiscrepancies.Count; i++) { Directive[] directives = directiveDiscrepancies[i]; string title = "Directive discrepancies."; bool display = false; if (containerTitles.Count > i) { title = containerTitles[i]; } if (displayDirectiveDiscrepancies.Count > i) { display = displayDirectiveDiscrepancies[i]; } if (display) { DiscrepanciesDataSet.DiscrepanciesContainersTableRow containerRow = dataSet.DiscrepanciesContainersTable.AddDiscrepanciesContainersTableRow(index, title); for (int j = 0; j < directives.Length; j++) { Directive directive = directives[j]; counter++; string itemTitle = directive.Title; string description = directive.Description; string nextLifelength = directive.NextPerformance.ToString(); string nextDate = directive.NextPerformance.ToCalendarString(); string remains = directive.LeftTillNextPerformance.ToString(); string workType = "Perform"; dataSet.DiscrepanciesTable.AddDiscrepanciesTableRow(counter, j, itemTitle, description, nextLifelength, nextDate, remains, workType, containerRow); } } } }
/// <summary> /// Добавляются элементы отклонений по агрегатам /// </summary> /// <param name="dataSet"></param> public void FillDetailDiscrepancies(DiscrepanciesDataSet dataSet) { if (!displayDetailDiscrepancies) { return; } DiscrepanciesDataSet.DiscrepanciesContainersTableRow container = dataSet.DiscrepanciesContainersTable.AddDiscrepanciesContainersTableRow(1, detailDiscrepanciesTitle); for (int i = 0; i < detailDiscrepancies.Count; i++) { Detail detail = (Detail)detailDiscrepancies[i]; string title = detail.SerialNumber; string description = detail.Description; string nextLifelength = detail.Limitation.NextPerformance.ToString(); string nextDate = detail.Limitation.NextPerformance.ToCalendarString(); string remains = detail.Limitation.LeftTillNextPerformance.ToString(); string workType = ""; if (detail.Limitation.NextWorkType != null) { workType = detail.Limitation.NextWorkType.ShortName; } dataSet.DiscrepanciesTable.AddDiscrepanciesTableRow(i, i, title, description, nextLifelength, nextDate, remains, workType, container); } }