public async Task<byte[]> GetAdditinalServicesRatingReport(AdditionalServicesRatingReportSettings settings) { return await Task.Run(() => { CheckPermission(UserRole.Administrator, AdministratorPermissions.Reports); return GenerateReport(new AdditionalServiceRatingReportProvider(settings)); }); }
public AdditionalServiceRatingReportProvider(AdditionalServicesRatingReportSettings settings) { this.settings = settings; }
private AdditionalServicesRatingReportSettings GetReportSettings() { AdditionalServicesRatingReportSettings settings = null; switch ((ReportDetailLevel)detailLevelTabControl.SelectedIndex) { case ReportDetailLevel.Year: settings = new AdditionalServicesRatingReportSettings() { StartYear = (int)startYearComboBox.SelectedItem, FinishYear = (int)finishYearComboBox.SelectedItem, }; break; case ReportDetailLevel.Month: settings = new AdditionalServicesRatingReportSettings() { StartYear = startMonthPicker.Value.Year, StartMonth = startMonthPicker.Value.Month, FinishYear = finishMonthPicker.Value.Year, FinishMonth = finishMonthPicker.Value.Month }; break; case ReportDetailLevel.Day: settings = new AdditionalServicesRatingReportSettings() { StartYear = startDatePicker.Value.Year, StartMonth = startDatePicker.Value.Month, StartDay = startDatePicker.Value.Day, FinishYear = finishDatePicker.Value.Year, FinishMonth = finishDatePicker.Value.Month, FinishDay = finishDatePicker.Value.Day }; break; default: throw new ApplicationException("Неверный тип детализации"); } settings.DetailLevel = (ReportDetailLevel)detailLevelTabControl.SelectedIndex; settings.Services = isFullCheckBox.Checked ? new Guid[0] : GetSelectedAdditionalServices(); return settings; }