package gw.rating.rtm.domain /** * Base class for handling Excel/XML Rate Book export */ abstract class RateBookExportVisitor implements RateBookVisitor { var _result : RateBookExportResult as RateBookExportResult var _itemsProcessed = 0 function updateExportCompletionPercentage(processedCount : int) { if (_result != null) { var totalItemsToProcess = _result.RateBook.TotalItemsToProcessInRateBookExport // Update progress one tenth of the time to improve performance. if (processedCount % 10 == 0 || processedCount >= totalItemsToProcess) { var percentage = (processedCount * 100) / totalItemsToProcess _result.CompletionPercentage = percentage > 100 ? 100 : percentage _result.Bundle.commit() } } } //Calculates and updates completion percentage for the progress bars involved in Rate Book excel/XML export function progressToNextItem() { _itemsProcessed++ updateExportCompletionPercentage(_itemsProcessed) } }