/// <summary> /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка /// </summary> /// <inheritdoc /> public void AdditionalInitializeComponent() { _reportFile = Common.GetReportFilePath(ReportFileName); // Путь к файлу отчёта // Запрос параметров отчёта в отдельном окне const bool isPeriod = false; const bool isMounthOrYeath = false; const bool isWarehouse = false; const bool isWorkGuild = false; const bool isDate = false; const bool isDatePeriod = false; const bool isMonthYear = true; const bool isProduct = false; const bool isCompany = false; const bool isTypeProduct = false; const bool isFormaPayment = false; const bool isAbroad = false; const string message = "Выберите период"; var parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isWarehouse, isWorkGuild, isDate, isDatePeriod, isMonthYear, isProduct, isCompany, isTypeProduct, isFormaPayment, isAbroad, message) { Owner = Common.GetOwnerWindow() }; parametersWindow.ShowDialog(); if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true) { return; } var monthYear = parametersWindow.SelectedMonthAndYear(); if (monthYear.Item2 != null && monthYear.Item1 != null) { var startDate = new DateTime((int)monthYear.Item2, (int)monthYear.Item1, 1); var endDate = startDate.AddMonths(1).AddDays(-1); // Формирование одиночных строковых параметров отчёта _reportParameters = new[] { new ReportParameter("Date", endDate.ToString("MMMM yyyy")) }; try { var resultReportList = AtTheExpenseOfWagesService.GetAtTheExpenseOfWages(startDate, endDate); const string dataSourceName = "AtTheExpenseOfWages"; _reportDataSource = new ReportDataSource(dataSourceName, resultReportList); ReportViewer.Load += ReportViewer_Load; // Подписка на метод загрузки и отображения отчёта } catch (StorageException ex) { Common.ShowDetailExceptionMessage(ex); } } }
/// <summary> /// Получение/формирование параметров отчёта, DataSource (список сущностей для таблицы), пути файла и заголовка /// </summary> /// <inheritdoc /> public void AdditionalInitializeComponent() { _reportFile = Common.GetReportFilePath(ReportFileName); // Путь к файлу отчёта // Запрос параметров отчёта в отдельном окне const bool isPeriod = false; const bool isMounthOrYeath = false; const bool isDate = false; const bool isDatePeriod = false; const bool isKoefT = false; const bool isKoefZ = false; const bool isWorkGuild = false; const bool isArea = false; const bool isWorkGuildSpecifiedOrAll = false; const bool isProduct = false; const bool isDetail = false; const bool isProductSpecifiedOrAll = false; const bool isAssemblyUnit = false; const bool isMonthYear = true; const bool isTimeFund = false; const bool isProcentageOfLossTime = false; const bool isProcentageOfPerformanceStandarts = false; const bool isAreaSpecifiedOrAll = false; const string message = "Укажите месяц и год"; var parametersWindow = new ReportParametersWindow(isPeriod, isMounthOrYeath, isDate, isDatePeriod, isKoefT, isKoefZ, isWorkGuild, isArea, isWorkGuildSpecifiedOrAll, isProduct, isDetail, isProductSpecifiedOrAll, isAssemblyUnit, isMonthYear, isTimeFund, isProcentageOfLossTime, isProcentageOfPerformanceStandarts, isAreaSpecifiedOrAll, message) { Owner = Common.GetOwnerWindow() }; parametersWindow.ShowDialog(); if (!parametersWindow.DialogResult.HasValue || parametersWindow.DialogResult != true) { return; } // Получение введённых пользователем параметров var nullableMonthYear = parametersWindow.SelectedMonthAndYear(); if (nullableMonthYear.Item1 == null || nullableMonthYear.Item2 == null) { const MessageBoxButton buttons = MessageBoxButton.OK; const string errorMessage = "Не указаны месяц или год!"; const MessageBoxImage messageType = MessageBoxImage.Error; MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType); return; } var year = (int)nullableMonthYear.Item2; var month = (int)nullableMonthYear.Item1; var dayOfMonth = month == 12 ? 31 : new DateTime(year, month + 1, 1).AddDays(-1).Day; var startDateTime = new DateTime(year, month, 1); var endDateTime = new DateTime(year, month, dayOfMonth); // Формирование одиночных строковых параметров отчёта const int monthOffset = 1; var monthName = DateTimeFormatInfo.GetInstance(CultureInfo.CurrentCulture).MonthNames[month - monthOffset]; _reportParameters = new[] { new ReportParameter("Month", monthName), new ReportParameter("Yeath", year.ToString()) }; try { var resultReportList = CancelledDetailsService.GetCancelledDetailsOnDate(startDateTime, endDateTime); const string dataSourceName = "CancelledDetails"; _reportDataSource = new ReportDataSource(dataSourceName, resultReportList); ReportViewer.Load += ReportViewer_Load; // Подписка на метод загрузки и отображения отчёта } catch (StorageException ex) { Common.ShowDetailExceptionMessage(ex); } }