/// <summary> /// Generates the extra cost lines for the attendees in the report. /// </summary> /// <param name="ASituation"></param> /// <param name="AConferenceKey"></param> /// <param name="APartnerKey"></param> /// <returns></returns> public bool GetExtraCosts(ref TRptSituation ASituation, long AConferenceKey, long APartnerKey) { TExtentedSituation ExtentedSituation = new TExtentedSituation(ASituation); int ChildRowIndex = ExtentedSituation.GetRunningCode(); int numLines = AddExtraCostLines(ref ASituation, AConferenceKey, APartnerKey, ChildRowIndex - 2, 3, ChildRowIndex); ExtentedSituation.SetRunningCode(ChildRowIndex + numLines); if (numLines > 0) { FNumExtraCostLines = FNumExtraCostLines + numLines; } FExtraCostLinePrinted = true; return true; }
/// <summary> /// Generates the attendee sign off lines for each field in the report. /// </summary> /// <param name="ASituation"></param> /// <param name="AFieldName"></param> /// <returns></returns> public bool PrintAttendanceSignOffLines(ref TRptSituation ASituation, String AFieldName) { TExtentedSituation ExtentedSituation = new TExtentedSituation(ASituation); int ChildRowIndex = ExtentedSituation.GetRunningCode(); AddAttendanceSignOffLines(ref ASituation, FMasterRowIndex, 1, ChildRowIndex, AFieldName); // 21 rows were added ExtentedSituation.SetRunningCode(ChildRowIndex + 21); return true; }
/// <summary> /// Prints an empty line to the report /// </summary> /// <param name="ASituation"></param> /// <returns></returns> public bool PrintEmptyLineInFieldReport(ref TRptSituation ASituation) { TExtentedSituation ExtentedSituation = new TExtentedSituation(ASituation); int ChildRowIndex = ExtentedSituation.GetRunningCode(); //AddEmptyRowToResults(ref ASituation, FMasterRowIndex, 2, ChildRowIndex++); AddEmptyRowToResults(ref ASituation, ChildRowIndex - 1, 1, ChildRowIndex); ++ChildRowIndex; ExtentedSituation.SetRunningCode(ChildRowIndex); return true; }
/// <summary> /// Generates the financial lines in the report for each field /// </summary> /// <param name="ASituation"></param> /// <param name="AFieldName"></param> /// <returns></returns> public bool PrintFieldFinancialCosts(ref TRptSituation ASituation, String AFieldName) { bool HeaderAdded = false; TExtentedSituation ExtentedSituation = new TExtentedSituation(ASituation); int ChildRowIndex = ExtentedSituation.GetRunningCode(); int NumberOfEntriesPerField = GetNumberOfEntriesPerField(AFieldName) + FInvisibleRowCounter; if (FExtraCostLinePrinted) { FMasterRowIndex = ChildRowIndex - NumberOfEntriesPerField * 2 - FNumExtraCostLines - 1; } else { FMasterRowIndex = ChildRowIndex - NumberOfEntriesPerField - 1; } if (AFieldName == "REPORT SUMMARY") { FMasterRowIndex = ChildRowIndex - 1; } foreach (DataRow ResultRow in FResultDataTable.Rows) { if (AFieldName == (String)ResultRow["Field"]) { if (!HeaderAdded) { AddNewFieldNameToResults(AFieldName, FMasterRowIndex, 2, ChildRowIndex, ref ASituation); ChildRowIndex = ChildRowIndex + 3; HeaderAdded = true; } AddFinancialRowToResults(ResultRow, FMasterRowIndex, 2, ChildRowIndex++, ref ASituation); } } AddEmptyRowToResults(ref ASituation, FMasterRowIndex, 2, ChildRowIndex++); ExtentedSituation.SetRunningCode(ChildRowIndex); FNumExtraCostLines = 0; return true; }