{"version":3,"file":"main.js","mappings":"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CH;AACQ;AACN;AACP;AACuB;AACT;AACC;AACL;AACE;AACmB;AACZ;AACI;AACgB;AACF;AACsB;AAC7D;AACyB;AACS;AACX;AACxB;AACG;AACU;AAC6B;AACzC;AACI;AACiC;AACiC;AAChE;AACK;AACC;AACE;AACU;AACL;AACD;AACG;AACd;AACI;AACb;AACa;AACU;AACc;AACnB;AACI;AACN;AACD;AACI;AACU;AACV;AACD;AACI;AACA;AACW;AACA;AACL;AACK;AACjB;AACC;AACK;AACd;AACI;AACa;AACC;AACxB;AACM;AACC;AACmB;AACX;AACS;AACC;AACV;AACE;AACC;AACL;AACK;AACf;AACgB;AACR;AACG;AACD;AACH;AACE;AACV;AACC;AACH;AACa;AACG;AACI;AACN;AACC;AACK;AACV;AACD;AACD;AACG;AACU;AACc;AACnB;AACI;AACN;AACD;AACI;AACU;AAClB;AACM;AACR;AACF;AACG;AACD;AACM;AACW;AACkB;AAC7B;AACA;AACkB;AACrB;AACU;AACN;AACL;AACG;AACL;AACK;AACJ;AACC;AACN;AACJ;AACA;AACE;AACM;AACL;AACF;AACK;AACR;AACsC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACI;AACA;AACM;AACT;AACwB;AACrB;AACG;AACR;AACG;AACc;AACX;AACF;AACY;AACT;AACX;AACG;AACC;AACqB;AAC3B;AACgB;AACb;AACY;AACT;AACS;AACC;AACX;AACQ;AACM;AACL;AACf;AACG;AACE;AACF;AACE;AACe;AACG;AACT;AACgB;AACtB;AACY;AACY;AACvB;AACG;AACa;AAClB;AACK;AACO;AACD;AACC;AACT;AACT;AACY;AACG;AACb;AACU;AACL;AACH;AACC;AACM;AACD;AACD;AACF;AACA;AACA;AACG;AACC;AACA;AACmB;AACI;AACC;AACJ;AACF;AACC;AACJ;AACQ;AACJ;AACJ;AACF;AACU;AACT;AACI;AACF;AACC;AACR;AACC;AACmB;AACF;AACjC;AACG;AACP;AACS;AACA;AACgB;AACb;AACD;AACL;AACF;AACQ;AACX;AACG;AACM;AACK;AACW;AACrB;AACG;AACH;AACD;AACW;AACC;AACD;AACC;AACG;AACC;AACF;AACC;AACG;AACC;AACxB;AACQ;AACiB;AACX;AACC;AACN;AACO;AACN;AACG;AACW;AACP;AACC;AACP;AACC;AACK;AACC;AAClB;AACkB;AACS;AACvB;AACyB;AACC;AACD;AACC;AACN;AACK;AACC;AACvB;AACH;AACI;AACR;AACM;AACJ;AACF;AACW;AACO;AACD;AACP;AACC;AACD;AACF;AACO;AACC;AACI;AACC;AACZ;AACD;AACO;AACgB;AACjB;AACgB;AACxB;AACK;AACG;AACU;AACc;AACnB;AACF;AACO;AACR;AACI;AACU;AACrB;AACL;AACkB;AACnB;AACF;AACoB;AACgC;AACG;AACF;AACE;AACF;AACZ;AACpB;AACgC;AACG;AACF;AACE;AACF;AACZ;AACpB;AACa;AACV;AACa;AACZ;AACa;AAC/B;AACO;AACF;AACwB;AACgC;AACG;AACF;AACE;AACF;AACZ;AACtC;AACd;AACS;AACC;AACP;AACC;AACK;AACC;AACK;AACN;;;;;;;;;;;;;AC3azC;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;AAeO,MAAM+zH,qBAAqB,GAAG;EACjCtuG,IAAI,EAAE,MAA+B;EACrCuuG,OAAO,EAAE,SAAkC;EAC3CC,SAAS,EAAE;CACd;;;;;;;;;;;;;;;ACnBD;;;;;;;;;;;AAeO,MAAM/7E,QAAQ,GAAG;EACpBy5E,IAAI,EAAE,MAAkB;EACxBE,IAAI,EAAE;CACT;;;;;;;;;;;;;;;AClBD;;;;;;;;;;;AAeO,MAAMqC,kBAAkB,GAAG;EAC9BC,MAAM,EAAE,QAA8B;EACtCC,OAAO,EAAE,SAA+B;EACxCC,OAAO,EAAE,SAA+B;EACxCC,OAAO,EAAE,SAA+B;EACxCC,QAAQ,EAAE,UAAgC;EAC1CC,OAAO,EAAE,SAA+B;EACxCC,OAAO,EAAE,SAA+B;EACxCC,OAAO,EAAE,SAA+B;EACxCC,OAAO,EAAE,SAA+B;EACxCC,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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/Components/AcmComponent/AcmFilterComponent/AcmFilterComponent.ts","./src/app/Components/AcmComponent/AcmFilterComponent/AcmFilterComponent.html","./src/app/Components/AcmComponent/AcmGraphComponent/AcmGraphComponent.ts","./src/app/Components/AcmComponent/AcmGraphComponent/AcmGraphComponent.html","./src/app/Components/AcmComponent/AcmReportTableComponent/AcmReportTableComponent.ts","./src/app/Components/AcmComponent/AcmReportTableComponent/AcmReportTableComponent.html","./src/app/Components/AcmComponent/Tabs/AcmCreateReportComponent/AcmCreateReportComponent.ts","./src/app/Components/AcmComponent/Tabs/AcmCreateReportComponent/AcmCreateReportComponent.html","./src/app/Components/AcmComponent/Tabs/AcmReportTabComponent/AcmReportTabComponent.ts","./src/app/Components/AcmComponent/Tabs/AcmReportTabComponent/AcmReportTabComponent.html","./src/app/Components/AcmComponent/Tabs/AcmSpecificationTabComponent/AcmSpecificationTabComponent.ts","./src/app/Components/AcmComponent/Tabs/AcmSpecificationTabComponent/AcmSpecificationTabComponent.html","./src/app/Components/AcmComponent/billing-completeness/billing-completeness.component.ts","./src/app/Components/AcmComponent/billing-completeness/billing-completeness.component.html","./src/app/Components/BaseComponent.ts","./src/app/Components/ConnectionComponent/ConnectionComponent.ts","./src/app/Components/ConnectionComponent/ConnectionComponent.html","./src/app/Components/ConnectionComponent/Tabs/ConnectionInfoComponent/ConnectionInfoComponent.ts","./src/app/Components/ConnectionComponent/Tabs/ConnectionInfoComponent/ConnectionInfoComponent.html","./src/app/Components/ConnectionComponent/Tabs/ConsumptionTabComponent/ConsumptionTabComponent.html","./src/app/Components/ConnectionComponent/Tabs/ConsumptionTabComponent/ConsumptionTabComponent.ts","./src/app/Components/ConnectionComponent/Tabs/MarketMeasurementsTabComponent/MarketMeasurementsTabComponent.ts","./src/app/Components/ConnectionComponent/Tabs/MarketMeasurementsTabComponent/MarketMeasurementsTabComponent.html","./src/app/Components/ConnectionComponent/Tabs/MeasurementCommunicationTabComponent/MeasurementCommunicationTabComponent.ts","./src/app/Components/ConnectionComponent/Tabs/MeasurementCommunicationTabComponent/MeasurementCommunicationTabComponent.html","./src/app/Components/ConnectionComponent/Tabs/MeasurementsTabComponent/MeasurementsTabComponent.ts","./src/app/Components/ConnectionComponent/Tabs/MeasurementsTabComponent/MeasurementsTabComponent.html","./src/app/Components/ConnectionComponent/Tabs/MonitoringTabComponent/MonitoringTabComponent.ts","./src/app/Components/ConnectionComponent/Tabs/MonitoringTabComponent/MonitoringTabComponent.html","./src/app/Components/ConnectionComponent/Tabs/TransactionsTabComponent/TransactionsTabComponent.ts","./src/app/Components/ConnectionComponent/Tabs/TransactionsTabComponent/TransactionsTabComponent.html","./src/app/Components/ConnectionComponent/Tabs/consumption-with-measurements-tab/consumption-with-measurements-tab.component.ts","./src/app/Components/ConnectionComponent/Tabs/consumption-with-measurements-tab/consumption-with-measurements-tab.component.html","./src/app/Components/ConnectionComponent/Tabs/contract-state-tab/contract-state-tab-entry/contract-state-tab-entry.component.html","./src/app/Components/ConnectionComponent/Tabs/contract-state-tab/contract-state-tab-entry/contract-state-tab-entry.component.ts","./src/app/Components/ConnectionComponent/Tabs/contract-state-tab/contract-state-tab.component.ts","./src/app/Components/ConnectionComponent/Tabs/contract-state-tab/contract-state-tab.component.html","./src/app/Components/ConnectionComponent/Tabs/issues-progress-tab/button.constants.ts","./src/app/Components/ConnectionComponent/Tabs/issues-progress-tab/issues-progress-tab.component.ts","./src/app/Components/ConnectionComponent/Tabs/issues-progress-tab/issues-progress-tab.component.html","./src/app/Components/ConnectionHistoryComponent/ConnectionHistoryComponent.html","./src/app/Components/ConnectionHistoryComponent/ConnectionHistoryComponent.ts","./src/app/Components/ConsumptionExportComponent/ConsumptionExportComponent.ts","./src/app/Components/ConsumptionExportComponent/ConsumptionExportComponent.html","./src/app/Components/ConsumptionsTableComponent/ConsumptionsTableComponent.html","./src/app/Components/ConsumptionsTableComponent/ConsumptionsTableComponent.ts","./src/app/Components/Consumptions/Graphs/ConsumptionPeriodGraphComponent.ts","./src/app/Components/Consumptions/Graphs/ConsumptionPeriodGraphComponent.html","./src/app/Components/Consumptions/closed-date-range-consumption/closed-date-range-consumption.component.ts","./src/app/Components/Consumptions/closed-date-range-consumption/closed-date-range-consumption.component.html","./src/app/Components/Consumptions/consumption-with-measurements-table/consumption-with-measurements-table.component.html","./src/app/Components/Consumptions/consumption-with-measurements-table/consumption-with-measurements-table.component.ts","./src/app/Components/Consumptions/edit-closed-date-range-consumption/edit-closed-date-range-consumption.component.ts","./src/app/Components/Consumptions/edit-closed-date-range-consumption/edit-closed-date-range-consumption.component.html","./src/app/Components/ContractStateComponent/ContractStateComponent.html","./src/app/Components/ContractStateComponent/ContractStateComponent.ts","./src/app/Components/ContractStateComponent/Tabs/ContractOverviewComponent/ContractOverviewComponent.ts","./src/app/Components/ContractStateComponent/Tabs/ContractOverviewComponent/ContractOverviewComponent.html","./src/app/Components/ContractStatesAssignee/ContractStatesAssignee.ts","./src/app/Components/ContractStatesAssignee/ContractStatesAssignee.html","./src/app/Components/ContractStatesResults/ContractStatesResults.ts","./src/app/Components/ContractStatesResults/ContractStatesResults.html","./src/app/Components/ContractStatesStatus/ContractStatesStatus.ts","./src/app/Components/ContractStatesStatus/ContractStatesStatus.html","./src/app/Components/ContractStatesStepper/ContractStatesStepper.ts","./src/app/Components/ContractStatesStepper/ContractStatesStepper.html","./src/app/Components/CreateConsumptionComponent/CreateConsumptionComponent.ts","./src/app/Components/CreateConsumptionComponent/CreateConsumptionComponent.html","./src/app/Components/CreateMeasurementComponent/CreateMeasurementComponent.ts","./src/app/Components/CreateMeasurementComponent/CreateMeasurementComponent.html","./src/app/Components/CreateMeasurementCustomerComponent/CreateMeasurementCustomerComponent.ts","./src/app/Components/CreateMeasurementCustomerComponent/CreateMeasurementCustomerComponent.html","./src/app/Components/CustomerComponent/CustomerComponent.ts","./src/app/Components/CustomerComponent/CustomerComponent.html","./src/app/Components/CustomersListComponent/CustomersListComponent.html","./src/app/Components/CustomersListComponent/CustomersListComponent.ts","./src/app/Components/DatePickerComponent/DatePickerComponent.ts","./src/app/Components/DatePickerComponent/DatePickerComponent.html","./src/app/Components/GraphComponent/GraphComponent.ts","./src/app/Components/GraphComponent/GraphComponent.html","./src/app/Components/InfoMessageComponent/InfoMessageComponent.ts","./src/app/Components/IssueComponent/IssueComponent.ts","./src/app/Components/IssueComponent/IssueComponent.html","./src/app/Components/LoadingComponent/LoadingComponent.ts","./src/app/Components/LoadingComponent/LoadingComponent.html","./src/app/Components/MeasurementsGraphComponent/MeasurementsGraphComponent.ts","./src/app/Components/MeasurementsGraphComponent/MeasurementsGraphComponent.html","./src/app/Components/MeasurementsTableComponent/MeasurementsTableComponent.ts","./src/app/Components/MeasurementsTableComponent/MeasurementsTableComponent.html","./src/app/Components/admin/parameter-values/edit-parameter-value/edit-parameter-value.component.ts","./src/app/Components/admin/parameter-values/edit-parameter-value/edit-parameter-value.component.html","./src/app/Components/admin/parameter-values/parameter-values-table/parameter-values-table.component.html","./src/app/Components/admin/parameter-values/parameter-values-table/parameter-values-table.component.ts","./src/app/Components/admin/parameter-values/parameter-values.component.ts","./src/app/Components/admin/parameter-values/parameter-values.component.html","./src/app/Components/admin/processes/processes.component.ts","./src/app/Components/admin/processes/processes.component.html","./src/app/Components/admin/trigger-process/trigger-process.component.ts","./src/app/Components/admin/trigger-process/trigger-process.component.html","./src/app/Components/connection-capacity-list/connection-capacity-list.component.html","./src/app/Components/connection-capacity-list/connection-capacity-list.component.ts","./src/app/Components/connection-estimated-annual-prosumption-list/connection-estimated-annual-prosumption-list.component.html","./src/app/Components/connection-estimated-annual-prosumption-list/connection-estimated-annual-prosumption-list.component.ts","./src/app/Components/connection-meter-list/connection-meter-list.component.ts","./src/app/Components/connection-meter-list/connection-meter-list.component.html","./src/app/Components/connection-staging-sync/connection-staging-sync.component.ts","./src/app/Components/connection-staging-sync/connection-staging-sync.component.html","./src/app/Components/contract-state-table/contract-state-table.component.ts","./src/app/Components/contract-state-table/contract-state-table.component.html","./src/app/Components/customer-contract-state-stepper/customer-contract-state-stepper.component.ts","./src/app/Components/customer-contract-state-stepper/customer-contract-state-stepper.component.html","./src/app/Components/dropdown-button/dropdown-button.component.ts","./src/app/Components/dropdown-button/dropdown-button.component.html","./src/app/Components/dropdown-button/dropdown-trigger-for.directive.ts","./src/app/Components/external-dossier/external-dossier.component.ts","./src/app/Components/external-dossier/external-dossier.component.html","./src/app/Components/file-upload/file-upload.component.ts","./src/app/Components/file-upload/file-upload.component.html","./src/app/Components/history-table/history-table.component.html","./src/app/Components/history-table/history-table.component.ts","./src/app/Components/history-table/historymodel.ts","./src/app/Components/icon/icon.component.ts","./src/app/Components/icon/icon.component.html","./src/app/Components/icon/icon.constants.ts","./src/app/Components/login.component.ts","./src/app/Components/measurement-display-table/measurement-display-table.component.html","./src/app/Components/measurement-display-table/measurement-display-table.component.ts","./src/app/Components/minimal-api-test/minimal-api-test.component.ts","./src/app/Components/minimal-api-test/minimal-api-test.component.html","./src/app/Components/not-found/not-found.component.ts","./src/app/Components/not-found/not-found.component.html","./src/app/Components/notification-center/notification-center.component.ts","./src/app/Components/notification-center/notification-center.component.html","./src/app/Components/period-selector/period-selector.component.ts","./src/app/Components/period-selector/period-selector.component.html","./src/app/Components/search/search.component.ts","./src/app/Components/search/search.component.html","./src/app/Components/translation.component.ts","./src/app/Connection.ts","./src/app/Constants/main-dashboard-sections.constants.ts","./src/app/Dashboards/AcmDashboard/AcmDashboard.ts","./src/app/Dashboards/AcmDashboard/AcmDashboard.html","./src/app/Dashboards/BaseDashboard.ts","./src/app/Dashboards/ContractStateDashboard/ContractStateDashboard.ts","./src/app/Dashboards/ContractStateDashboard/ContractStateDashboard.html","./src/app/Dashboards/CustomerDashboard/CustomerDashboard.ts","./src/app/Dashboards/CustomerDashboard/CustomerDashboard.html","./src/app/Dashboards/Issues/Components/issues-url-button/issues-url-button.component.ts","./src/app/Dashboards/Issues/Components/issues-url-button/issues-url-button.component.html","./src/app/Dashboards/Issues/IssueOverviewComponent/IssueOverviewComponent.ts","./src/app/Dashboards/Issues/IssueOverviewComponent/IssueOverviewComponent.html","./src/app/Dashboards/Issues/IssuesDashboard.html","./src/app/Dashboards/Issues/IssuesDashboard.ts","./src/app/Dashboards/Issues/IssuesReportComponent/IssuesReportComponent.ts","./src/app/Dashboards/Issues/IssuesReportComponent/IssuesReportComponent.html","./src/app/Dashboards/Issues/IssuesReportGraphComponent/IssuesReportGraphComponent.ts","./src/app/Dashboards/Issues/IssuesReportGraphComponent/IssuesReportGraphComponent.html","./src/app/Dashboards/Issues/IssuesReportTableComponent/IssuesReportTableComponent.ts","./src/app/Dashboards/Issues/IssuesReportTableComponent/IssuesReportTableComponent.html","./src/app/Dashboards/ProcessDashboard/ProcessDashboard.ts","./src/app/Dashboards/ProcessDashboard/ProcessDashboard.html","./src/app/Dashboards/Reconciliations/reconciliations-config.ts","./src/app/Dashboards/Reconciliations/reconciliations-dashboard-sections.constants.ts","./src/app/Dashboards/Reconciliations/reconciliations-dashboard.component/reconciliations-dashboard.component.ts","./src/app/Dashboards/Reconciliations/reconciliations-dashboard.component/reconciliations-dashboard.component.html","./src/app/Dashboards/Reconciliations/reconciliations-details.component/reconciliations-details.component.ts","./src/app/Dashboards/Reconciliations/reconciliations-details.component/reconciliations-details.component.html","./src/app/Dashboards/Reconciliations/reconciliations-overview.component/reconciliations-overview.component.ts","./src/app/Dashboards/Reconciliations/reconciliations-overview.component/reconciliations-overview.component.html","./src/app/Dashboards/Reconciliations/reconciliations-roles.ts","./src/app/Dashboards/Reconciliations/reconciliations-volumes.component/reconciliations-volumes.component.ts","./src/app/Dashboards/Reconciliations/reconciliations-volumes.component/reconciliations-volumes.component.html","./src/app/Dashboards/Reconciliations/reconciliations.routes.ts","./src/app/Dashboards/TranslationDashboard/Page.ts","./src/app/Dashboards/TranslationDashboard/TranslationCategory.ts","./src/app/Dashboards/TranslationDashboard/TranslationDashboard.ts","./src/app/Dashboards/TranslationDashboard/TranslationDashboard.html","./src/app/Dashboards/TranslationDashboard/TranslationDashboardEdit.ts","./src/app/Dashboards/TranslationDashboard/TranslationDashboardEdit.html","./src/app/Dashboards/admin-dashboard/admin-dashboard.component.ts","./src/app/Dashboards/admin-dashboard/admin-dashboard.component.html","./src/app/Dashboards/edm-dashboard/edm-dashboard.component.html","./src/app/Dashboards/edm-dashboard/edm-dashboard.component.ts","./src/app/Dashboards/edm-dashboard/tabs/edsn-registry-evaluator/edsn-registry-evaluator.component.ts","./src/app/Dashboards/edm-dashboard/tabs/edsn-registry-evaluator/edsn-registry-evaluator.component.html","./src/app/Dashboards/external-dossier-dashboard/external-dossier-dashboard.component.ts","./src/app/Dashboards/external-dossier-dashboard/external-dossier-dashboard.component.html","./src/app/Dashboards/home-dashboard/home-dashboard.component.ts","./src/app/Dashboards/home-dashboard/home-dashboard.component.html","./src/app/Dashboards/search-dashboard/search-dashboard.component.html","./src/app/Dashboards/search-dashboard/search-dashboard.component.ts","./src/app/Dashboards/styleguide/styleguide.component.ts","./src/app/Dashboards/styleguide/styleguide.component.html","./src/app/Pipes/truncate.pipe.ts","./src/app/ServiceModels/AllocationProgressLV.ts","./src/app/ServiceModels/AllocationProgressLVDetailSeriesVVV.ts","./src/app/ServiceModels/ProcessedConnectionByVVV.ts","./src/app/Services/Commands/Consumptions/createConsumptionOverrideIntervalCommand.ts","./src/app/Services/Commands/Consumptions/deleteConsumptionOverrideIntervalCommand.ts","./src/app/Services/error.service.ts","./src/app/Services/msal-based-authorization.service.ts","./src/app/Services/reconciliation-allocation.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/constants.ts","./src/app/constants/csv.ts","./src/app/global-error-handler.ts","./src/app/helpers/ActiveOnDateHelper.ts","./src/app/helpers/ArrayHelper.ts","./src/app/helpers/BlobCreateHelper.ts","./src/app/helpers/BlobErrorHttpInterceptor.ts","./src/app/helpers/BlobResponseHelper.ts","./src/app/helpers/EnumHelper.ts","./src/app/helpers/MeasurementHelper.ts","./src/app/helpers/ViewModelHelper.ts","./src/app/http-error.interceptor.ts","./src/app/modules/onboarding-api/api.module.ts","./src/app/modules/onboarding-api/api/api.ts","./src/app/modules/onboarding-api/api/connectionActivations.service.ts","./src/app/modules/onboarding-api/api/thirdPartySales.service.ts","./src/app/modules/onboarding-api/configuration.ts","./src/app/modules/onboarding-api/encoder.ts","./src/app/modules/onboarding-api/index.ts","./src/app/modules/onboarding-api/model/contractMutationState.ts","./src/app/modules/onboarding-api/model/contractStateTransitionSchemeType.ts","./src/app/modules/onboarding-api/model/contractStateTransitionState.ts","./src/app/modules/onboarding-api/model/contractStateTransitionType.ts","./src/app/modules/onboarding-api/model/models.ts","./src/app/modules/onboarding-api/model/tenant.ts","./src/app/modules/onboarding-api/variables.ts","./src/app/modules/onboarding-welcomeletters-api/api.module.ts","./src/app/modules/onboarding-welcomeletters-api/api/api.ts","./src/app/modules/onboarding-welcomeletters-api/api/getAll.service.ts","./src/app/modules/onboarding-welcomeletters-api/api/getMostRecentlySent.service.ts","./src/app/modules/onboarding-welcomeletters-api/api/hello.service.ts","./src/app/modules/onboarding-welcomeletters-api/api/send.service.ts","./src/app/modules/onboarding-welcomeletters-api/configuration.ts","./src/app/modules/onboarding-welcomeletters-api/encoder.ts","./src/app/modules/onboarding-welcomeletters-api/index.ts","./src/app/modules/onboarding-welcomeletters-api/model/getAllResponse.ts","./src/app/modules/onboarding-welcomeletters-api/model/models.ts","./src/app/modules/onboarding-welcomeletters-api/model/responseEnvelope.ts","./src/app/modules/onboarding-welcomeletters-api/variables.ts","./src/app/modules/operations-api/api.module.ts","./src/app/modules/operations-api/api/acm.service.ts","./src/app/modules/operations-api/api/aggregationProgress.service.ts","./src/app/modules/operations-api/api/allocation.service.ts","./src/app/modules/operations-api/api/allocationMethodComparison.service.ts","./src/app/modules/operations-api/api/api.ts","./src/app/modules/operations-api/api/areaTemperature.service.ts","./src/app/modules/operations-api/api/certificateOfOrigin.service.ts","./src/app/modules/operations-api/api/certificateOfOriginConsumption.service.ts","./src/app/modules/operations-api/api/cluster.service.ts","./src/app/modules/operations-api/api/clusterConnection.service.ts","./src/app/modules/operations-api/api/clusterConnectionRecommendation.service.ts","./src/app/modules/operations-api/api/clusterGroup.service.ts","./src/app/modules/operations-api/api/clusterManagementReport.service.ts","./src/app/modules/operations-api/api/clusterPortfolio.service.ts","./src/app/modules/operations-api/api/collectedForecastData.service.ts","./src/app/modules/operations-api/api/condition.service.ts","./src/app/modules/operations-api/api/conditionSun.service.ts","./src/app/modules/operations-api/api/conditionWind.service.ts","./src/app/modules/operations-api/api/connection.service.ts","./src/app/modules/operations-api/api/connectionActivationContract.service.ts","./src/app/modules/operations-api/api/connectionCluster.service.ts","./src/app/modules/operations-api/api/connectionContractState.service.ts","./src/app/modules/operations-api/api/connectionEvaluator.service.ts","./src/app/modules/operations-api/api/connectionGroupConsumption.service.ts","./src/app/modules/operations-api/api/connectionSubMeter.service.ts","./src/app/modules/operations-api/api/consumption.service.ts","./src/app/modules/operations-api/api/consumptionExport.service.ts","./src/app/modules/operations-api/api/consumptionWithMeasurementsInterval.service.ts","./src/app/modules/operations-api/api/contact.service.ts","./src/app/modules/operations-api/api/contractStateProviding.service.ts","./src/app/modules/operations-api/api/curtailmentParty.service.ts","./src/app/modules/operations-api/api/curtailmentPartyProbability.service.ts","./src/app/modules/operations-api/api/customerConnectionSendMeasurementCommunication.service.ts","./src/app/modules/operations-api/api/customerProviding.service.ts","./src/app/modules/operations-api/api/dataTransferMessage.service.ts","./src/app/modules/operations-api/api/deal.service.ts","./src/app/modules/operations-api/api/dealTradingParty.service.ts","./src/app/modules/operations-api/api/easyEnergyCustomer.service.ts","./src/app/modules/operations-api/api/enums.service.ts","./src/app/modules/operations-api/api/exception.service.ts","./src/app/modules/operations-api/api/externalDossier.service.ts","./src/app/modules/operations-api/api/extraMile.service.ts","./src/app/modules/operations-api/api/forecast.service.ts","./src/app/modules/operations-api/api/forecaster.service.ts","./src/app/modules/operations-api/api/invoice.service.ts","./src/app/modules/operations-api/api/issue.service.ts","./src/app/modules/operations-api/api/issueType.service.ts","./src/app/modules/operations-api/api/location.service.ts","./src/app/modules/operations-api/api/lock.service.ts","./src/app/modules/operations-api/api/measurement.service.ts","./src/app/modules/operations-api/api/measurementCommunication.service.ts","./src/app/modules/operations-api/api/measurementSourceDetail.service.ts","./src/app/modules/operations-api/api/middleware.service.ts","./src/app/modules/operations-api/api/parameterValue.service.ts","./src/app/modules/operations-api/api/portalService.service.ts","./src/app/modules/operations-api/api/portfolio.service.ts","./src/app/modules/operations-api/api/preliminaryPurchase.service.ts","./src/app/modules/operations-api/api/price.service.ts","./src/app/modules/operations-api/api/processProgress.service.ts","./src/app/modules/operations-api/api/processStatistics.service.ts","./src/app/modules/operations-api/api/profile.service.ts","./src/app/modules/operations-api/api/purchase.service.ts","./src/app/modules/operations-api/api/queuedAssetData.service.ts","./src/app/modules/operations-api/api/queuedAssetProgress.service.ts","./src/app/modules/operations-api/api/queuedForecastData.service.ts","./src/app/modules/operations-api/api/queuedForecastProgress.service.ts","./src/app/modules/operations-api/api/reconciliation.service.ts","./src/app/modules/operations-api/api/resaleCluster.service.ts","./src/app/modules/operations-api/api/resaleClusterConnection.service.ts","./src/app/modules/operations-api/api/sBPassthrough.service.ts","./src/app/modules/operations-api/api/salesDock.service.ts","./src/app/modules/operations-api/api/solarAsset.service.ts","./src/app/modules/operations-api/api/sustainableMeterDetail.service.ts","./src/app/modules/operations-api/api/sync.service.ts","./src/app/modules/operations-api/api/time.service.ts","./src/app/modules/operations-api/api/timeSerie.service.ts","./src/app/modules/operations-api/api/transaction.service.ts","./src/app/modules/operations-api/api/translationCategory.service.ts","./src/app/modules/operations-api/api/twikeyWebhook.service.ts","./src/app/modules/operations-api/api/windAsset.service.ts","./src/app/modules/operations-api/api/xtraMile.service.ts","./src/app/modules/operations-api/configuration.ts","./src/app/modules/operations-api/encoder.ts","./src/app/modules/operations-api/index.ts","./src/app/modules/operations-api/model/acceptClusterConnectionRecommendationCommand.ts","./src/app/modules/operations-api/model/addressR.ts","./src/app/modules/operations-api/model/adres.ts","./src/app/modules/operations-api/model/aggregationProgressRequest.ts","./src/app/modules/operations-api/model/aggregationProgressResponse.ts","./src/app/modules/operations-api/model/allocationMethod.ts","./src/app/modules/operations-api/model/allocationType.ts","./src/app/modules/operations-api/model/bankInfoR.ts","./src/app/modules/operations-api/model/boundaryType.ts","./src/app/modules/operations-api/model/certificateOfOriginProduct.ts","./src/app/modules/operations-api/model/certificateOfOriginType.ts","./src/app/modules/operations-api/model/clusterGroupRequest.ts","./src/app/modules/operations-api/model/clusterManagementReportRequest.ts","./src/app/modules/operations-api/model/clusterType.ts","./src/app/modules/operations-api/model/connectionActivationContractResponseAddress.ts","./src/app/modules/operations-api/model/connectionCapacity.ts","./src/app/modules/operations-api/model/connectionClusterCreateResponse.ts","./src/app/modules/operations-api/model/connectionClusterResponse.ts","./src/app/modules/operations-api/model/connectionClusterUpdateResponse.ts","./src/app/modules/operations-api/model/connectionContextValueCreateCommandSlim.ts","./src/app/modules/operations-api/model/connectionContextValueCreateResponse.ts","./src/app/modules/operations-api/model/connectionContextValueDeleteCommandSlim.ts","./src/app/modules/operations-api/model/connectionContextValueDeleteResponse.ts","./src/app/modules/operations-api/model/connectionGridAreaR.ts","./src/app/modules/operations-api/model/connectionGridOperatorR.ts","./src/app/modules/operations-api/model/connectionProfileR.ts","./src/app/modules/operations-api/model/connectionSubMeterQuantityResponse.ts","./src/app/modules/operations-api/model/connectionSubMeterRequest.ts","./src/app/modules/operations-api/model/contactType.ts","./src/app/modules/operations-api/model/contractMutationState.ts","./src/app/modules/operations-api/model/contractStateCountWithCountPerTransitionStateRContractStateTransitionTypeCounts.ts","./src/app/modules/operations-api/model/contractStateTransitionSchemeType.ts","./src/app/modules/operations-api/model/contractStateTransitionState.ts","./src/app/modules/operations-api/model/contractStateTransitionType.ts","./src/app/modules/operations-api/model/contractStateTransitionUrgency.ts","./src/app/modules/operations-api/model/conversionDetail.ts","./src/app/modules/operations-api/model/conversionTechnology.ts","./src/app/modules/operations-api/model/country.ts","./src/app/modules/operations-api/model/createClusterConnectionCommand.ts","./src/app/modules/operations-api/model/createClusterConnectionRecommendationCommand.ts","./src/app/modules/operations-api/model/createClusterGroupCommand.ts","./src/app/modules/operations-api/model/createClusterPortfolioCommand.ts","./src/app/modules/operations-api/model/createForecasterCommand.ts","./src/app/modules/operations-api/model/createPortfolioCommand.ts","./src/app/modules/operations-api/model/createResaleClusterConnectionCommand.ts","./src/app/modules/operations-api/model/curtailmentCalculationType.ts","./src/app/modules/operations-api/model/curtailmentCreateResponse.ts","./src/app/modules/operations-api/model/curtailmentPartyDeleteCommand.ts","./src/app/modules/operations-api/model/curtailmentPartyProbabilityCreateCommand.ts","./src/app/modules/operations-api/model/curtailmentPartyProbabilityDeleteCommand.ts","./src/app/modules/operations-api/model/curtailmentPartyProbabilityResponse.ts","./src/app/modules/operations-api/model/curtailmentPartyProbabilityUpdateCommand.ts","./src/app/modules/operations-api/model/curtailmentPartyRequest.ts","./src/app/modules/operations-api/model/curtailmentType.ts","./src/app/modules/operations-api/model/customerPortalUserResponseCommand.ts","./src/app/modules/operations-api/model/customerResponseContractApprovals.ts","./src/app/modules/operations-api/model/customerResponseProsumption.ts","./src/app/modules/operations-api/model/customerType.ts","./src/app/modules/operations-api/model/dataTransferMessageDirection.ts","./src/app/modules/operations-api/model/dataTransferMessageType.ts","./src/app/modules/operations-api/model/dealConfirmationState.ts","./src/app/modules/operations-api/model/dealState.ts","./src/app/modules/operations-api/model/dealTradingPartyCreateCommand.ts","./src/app/modules/operations-api/model/dealTradingPartyRequest.ts","./src/app/modules/operations-api/model/dealTradingPartyResponse.ts","./src/app/modules/operations-api/model/dealTradingPartyUpdateCommand.ts","./src/app/modules/operations-api/model/dealValidationState.ts","./src/app/modules/operations-api/model/dealVolumeResponse.ts","./src/app/modules/operations-api/model/delayCountRequest.ts","./src/app/modules/operations-api/model/deleteClusterCommand.ts","./src/app/modules/operations-api/model/deleteClusterConnectionCommand.ts","./src/app/modules/operations-api/model/deleteClusterConnectionRecommendationCommand.ts","./src/app/modules/operations-api/model/deleteClusterGroupCommand.ts","./src/app/modules/operations-api/model/deleteForecasterCommand.ts","./src/app/modules/operations-api/model/deletePortfolioCommand.ts","./src/app/modules/operations-api/model/deleteResaleClusterCommand.ts","./src/app/modules/operations-api/model/deleteResaleClusterConnectionCommand.ts","./src/app/modules/operations-api/model/deltaValueResponse.ts","./src/app/modules/operations-api/model/energyMeterReadingMethod.ts","./src/app/modules/operations-api/model/enumDescriptionR.ts","./src/app/modules/operations-api/model/estimationType.ts","./src/app/modules/operations-api/model/forecastActualDataType.ts","./src/app/modules/operations-api/model/forecastAdjustmentCalculationType.ts","./src/app/modules/operations-api/model/forecastAdjustmentType.ts","./src/app/modules/operations-api/model/forecastClusterType.ts","./src/app/modules/operations-api/model/forecastConnectionClusterType.ts","./src/app/modules/operations-api/model/forecastDownloadRequest.ts","./src/app/modules/operations-api/model/forecastGetSubRequest.ts","./src/app/modules/operations-api/model/forecastValueResponse.ts","./src/app/modules/operations-api/model/forecasterRequest.ts","./src/app/modules/operations-api/model/fractionType.ts","./src/app/modules/operations-api/model/fuelForm.ts","./src/app/modules/operations-api/model/fuelKind.ts","./src/app/modules/operations-api/model/fuelOrigin.ts","./src/app/modules/operations-api/model/fuelOriginDetail.ts","./src/app/modules/operations-api/model/granularity.ts","./src/app/modules/operations-api/model/groupType.ts","./src/app/modules/operations-api/model/idType.ts","./src/app/modules/operations-api/model/ignoreClusterConnectionRecommendationCommand.ts","./src/app/modules/operations-api/model/inlineObject2.ts","./src/app/modules/operations-api/model/inlineObject3.ts","./src/app/modules/operations-api/model/inlineObject7.ts","./src/app/modules/operations-api/model/intervalTemperatureR.ts","./src/app/modules/operations-api/model/intradayType.ts","./src/app/modules/operations-api/model/intradayVersion.ts","./src/app/modules/operations-api/model/invoiceDeadlineType.ts","./src/app/modules/operations-api/model/invoiceType.ts","./src/app/modules/operations-api/model/invoiceTypeR.ts","./src/app/modules/operations-api/model/issueType.ts","./src/app/modules/operations-api/model/issueUrgency.ts","./src/app/modules/operations-api/model/latestForecastRequest.ts","./src/app/modules/operations-api/model/latestForecastResponse.ts","./src/app/modules/operations-api/model/legislation.ts","./src/app/modules/operations-api/model/locationCoordinates.ts","./src/app/modules/operations-api/model/locationNearestGroupQuery.ts","./src/app/modules/operations-api/model/locationQueryCommand.ts","./src/app/modules/operations-api/model/lockR.ts","./src/app/modules/operations-api/model/logLevel.ts","./src/app/modules/operations-api/model/lossReason.ts","./src/app/modules/operations-api/model/mandateR.ts","./src/app/modules/operations-api/model/marketType.ts","./src/app/modules/operations-api/model/measurementCommunicationType.ts","./src/app/modules/operations-api/model/measurementSource.ts","./src/app/modules/operations-api/model/models.ts","./src/app/modules/operations-api/model/moveClusterCommand.ts","./src/app/modules/operations-api/model/multiYearPropositionR.ts","./src/app/modules/operations-api/model/mutation.ts","./src/app/modules/operations-api/model/mutationReasonCode.ts","./src/app/modules/operations-api/model/mutationState.ts","./src/app/modules/operations-api/model/pTEForecast.ts","./src/app/modules/operations-api/model/parameterDataType.ts","./src/app/modules/operations-api/model/personalDataR.ts","./src/app/modules/operations-api/model/personalNameR.ts","./src/app/modules/operations-api/model/physicalState.ts","./src/app/modules/operations-api/model/portfolioRequest.ts","./src/app/modules/operations-api/model/precipitationType.ts","./src/app/modules/operations-api/model/preliminaryPurchaseAdjustmentPartCommand.ts","./src/app/modules/operations-api/model/preliminaryPurchaseClusterOption.ts","./src/app/modules/operations-api/model/preliminaryPurchaseCollectionRequest.ts","./src/app/modules/operations-api/model/preliminaryPurchasePartValueCommand.ts","./src/app/modules/operations-api/model/preliminaryPurchaseQuarterRequest.ts","./src/app/modules/operations-api/model/preliminaryPurchaseQuarterResponse.ts","./src/app/modules/operations-api/model/preliminaryPurchaseResponse.ts","./src/app/modules/operations-api/model/preliminaryPurchaseTradeGroupFinalizeRequest.ts","./src/app/modules/operations-api/model/problemDetails.ts","./src/app/modules/operations-api/model/process.ts","./src/app/modules/operations-api/model/processDirective.ts","./src/app/modules/operations-api/model/productSource.ts","./src/app/modules/operations-api/model/productType.ts","./src/app/modules/operations-api/model/prosumption.ts","./src/app/modules/operations-api/model/prosumptionR.ts","./src/app/modules/operations-api/model/prosumptionType.ts","./src/app/modules/operations-api/model/purchaseType.ts","./src/app/modules/operations-api/model/quantitiesR.ts","./src/app/modules/operations-api/model/quantitiesWithMeasured.ts","./src/app/modules/operations-api/model/queuedAssetProgressRequest.ts","./src/app/modules/operations-api/model/queuedAssetProgressResponse.ts","./src/app/modules/operations-api/model/queuedForecastProgressRequest.ts","./src/app/modules/operations-api/model/queuedForecastProgressResponse.ts","./src/app/modules/operations-api/model/sBMessageTargetType.ts","./src/app/modules/operations-api/model/sendMeasurementCommunnicationR.ts","./src/app/modules/operations-api/model/solarAssetCreateCommand.ts","./src/app/modules/operations-api/model/solarAssetCreateResponse.ts","./src/app/modules/operations-api/model/solarAssetRequest.ts","./src/app/modules/operations-api/model/solarAssetResponse.ts","./src/app/modules/operations-api/model/solarAssetUpdateCommand.ts","./src/app/modules/operations-api/model/solarAssetUpdateResponse.ts","./src/app/modules/operations-api/model/status.ts","./src/app/modules/operations-api/model/stringStringKeyValuePair.ts","./src/app/modules/operations-api/model/submitDayAheadFromForecastCommand.ts","./src/app/modules/operations-api/model/supplyType.ts","./src/app/modules/operations-api/model/sustainableMeterDetailCreateRequest.ts","./src/app/modules/operations-api/model/sustainableMeterDetailCreateResponse.ts","./src/app/modules/operations-api/model/sustainableMeterDetailDeleteRequest.ts","./src/app/modules/operations-api/model/sustainableMeterDetailDeleteResponse.ts","./src/app/modules/operations-api/model/sustainableMeterDetailResponse.ts","./src/app/modules/operations-api/model/sustainableMeterDetailUpdateRequest.ts","./src/app/modules/operations-api/model/sustainableMeterDetailUpdateResponse.ts","./src/app/modules/operations-api/model/switchMoveInR.ts","./src/app/modules/operations-api/model/switchType.ts","./src/app/modules/operations-api/model/systemOperator.ts","./src/app/modules/operations-api/model/tariff.ts","./src/app/modules/operations-api/model/tariffSwitch.ts","./src/app/modules/operations-api/model/tenant.ts","./src/app/modules/operations-api/model/timeSerieCategory.ts","./src/app/modules/operations-api/model/timeSerieParameterValue.ts","./src/app/modules/operations-api/model/timeSerieStorage.ts","./src/app/modules/operations-api/model/timeSerieValue.ts","./src/app/modules/operations-api/model/timeSerieValueResponseLogs.ts","./src/app/modules/operations-api/model/tradingPlatform.ts","./src/app/modules/operations-api/model/transferMedium.ts","./src/app/modules/operations-api/model/translationCategoryId.ts","./src/app/modules/operations-api/model/translationValueR.ts","./src/app/modules/operations-api/model/updateClusterCommand.ts","./src/app/modules/operations-api/model/updateClusterConnectionCommand.ts","./src/app/modules/operations-api/model/updateClusterConnectionRecommendationCommand.ts","./src/app/modules/operations-api/model/updateClusterGroupCommand.ts","./src/app/modules/operations-api/model/updateForecasterCommand.ts","./src/app/modules/operations-api/model/updateForecastsInLegacyRequest.ts","./src/app/modules/operations-api/model/updatePortfolioCommand.ts","./src/app/modules/operations-api/model/updateResaleClusterCommand.ts","./src/app/modules/operations-api/model/updateResaleClusterConnectionCommand.ts","./src/app/modules/operations-api/model/utilizationType.ts","./src/app/modules/operations-api/model/valueType.ts","./src/app/modules/operations-api/model/wResult.ts","./src/app/modules/operations-api/model/weatherConditionSunResponse.ts","./src/app/modules/operations-api/model/weatherConditionWindResponse.ts","./src/app/modules/operations-api/model/weatherSource.ts","./src/app/modules/operations-api/model/windAssetCreateCommand.ts","./src/app/modules/operations-api/model/windAssetCreateResponse.ts","./src/app/modules/operations-api/model/windAssetRequest.ts","./src/app/modules/operations-api/model/windAssetResponse.ts","./src/app/modules/operations-api/model/windAssetUpdateCommand.ts","./src/app/modules/operations-api/model/windAssetUpdateResponse.ts","./src/app/modules/operations-api/model/zonedDateTimeInt32ValueTuple.ts","./src/app/modules/operations-api/model/zonedDateTimeR.ts","./src/app/modules/operations-api/variables.ts","./src/app/modules/shared/components/alert/alert.component.ts","./src/app/modules/shared/components/buttons/back-button/back-button.component.ts","./src/app/modules/shared/components/buttons/back-button/back-button.component.html","./src/app/modules/shared/components/buttons/button-with-feedback/button-with-feedback.component.html","./src/app/modules/shared/components/buttons/button-with-feedback/button-with-feedback.component.ts","./src/app/modules/shared/components/buttons/default-button/default-button.component.html","./src/app/modules/shared/components/buttons/default-button/default-button.component.ts","./src/app/modules/shared/components/buttons/dropdown-button/dropdown-button-wrapper/dropdown-button-wrapper.component.ts","./src/app/modules/shared/components/buttons/dropdown-button/dropdown-button-wrapper/dropdown-button-wrapper.component.html","./src/app/modules/shared/components/buttons/dropdown-button/dropdown-button-wrapper/dropdown-wrap-trigger.directive.ts","./src/app/modules/shared/components/buttons/dropdown-button/dropdown-button.component.ts","./src/app/modules/shared/components/buttons/dropdown-button/dropdown-button.component.html","./src/app/modules/shared/components/collapsable-content/collapsable-content.component.html","./src/app/modules/shared/components/collapsable-content/collapsable-content.component.ts","./src/app/modules/shared/components/copy-text/copy-text.component.ts","./src/app/modules/shared/components/copy-text/copy-text.component.html","./src/app/modules/shared/components/file-upload/file-upload.component.ts","./src/app/modules/shared/components/file-upload/file-upload.component.html","./src/app/modules/shared/components/loader/loader.component.html","./src/app/modules/shared/components/loader/loader.component.ts","./src/app/modules/shared/components/modal/modal.component.ts","./src/app/modules/shared/components/modal/modal.component.html","./src/app/modules/shared/components/modal/modal.service.ts","./src/app/modules/shared/components/period-picker/period-picker-periods.constants.ts","./src/app/modules/shared/components/period-picker/period-picker.component.ts","./src/app/modules/shared/components/period-picker/period-picker.component.html","./src/app/modules/shared/components/search-bar/search-bar.component.ts","./src/app/modules/shared/components/search-bar/search-bar.component.html","./src/app/modules/shared/components/tables/simple-table/simple-table.component.ts","./src/app/modules/shared/components/tables/simple-table/simple-table.component.html","./src/app/modules/shared/components/tables/table-filters/table-filters.component.ts","./src/app/modules/shared/components/tables/table-filters/table-filters.component.html","./src/app/modules/shared/components/tables/table/table.component.html","./src/app/modules/shared/components/tables/table/table.component.ts","./src/app/modules/shared/directives/drag-and-drop.directive.ts","./src/app/modules/shared/parsers/zoned-date-time.parser.ts","./src/app/modules/shared/pipes/bool-to-word.pipe.ts","./src/app/modules/shared/pipes/date-time-preset.pipe.ts","./src/app/modules/shared/pipes/date-time-relative.pipe.ts","./src/app/modules/shared/pipes/moment-format.pipe.ts","./src/app/modules/shared/pipes/string-to-date-time-format.pipe.ts","./src/app/modules/shared/pipes/translate.pipe.ts","./src/app/modules/shared/pipes/translation.pipe.ts","./src/app/modules/shared/shared.module.ts","./src/app/modules/supplying-api/api.module.ts","./src/app/modules/supplying-api/api/api.ts","./src/app/modules/supplying-api/api/prices.service.ts","./src/app/modules/supplying-api/configuration.ts","./src/app/modules/supplying-api/encoder.ts","./src/app/modules/supplying-api/index.ts","./src/app/modules/supplying-api/model/getPricesRequest.ts","./src/app/modules/supplying-api/model/models.ts","./src/app/modules/supplying-api/model/priceResponse.ts","./src/app/modules/supplying-api/variables.ts","./src/app/modules/trading-api/api.module.ts","./src/app/modules/trading-api/api/api.ts","./src/app/modules/trading-api/api/deals.service.ts","./src/app/modules/trading-api/api/forecast.service.ts","./src/app/modules/trading-api/api/hello.service.ts","./src/app/modules/trading-api/configuration.ts","./src/app/modules/trading-api/encoder.ts","./src/app/modules/trading-api/index.ts","./src/app/modules/trading-api/model/acceptClusterConnectionRecommendationCommand.ts","./src/app/modules/trading-api/model/aggregationProgressRequestAllOf.ts","./src/app/modules/trading-api/model/aggregationProgressResponse.ts","./src/app/modules/trading-api/model/baseRequestCondition.ts","./src/app/modules/trading-api/model/boundaryType.ts","./src/app/modules/trading-api/model/clusterGroupRequestAllOf.ts","./src/app/modules/trading-api/model/clusterManagementReportRequest.ts","./src/app/modules/trading-api/model/createClusterConnectionCommand.ts","./src/app/modules/trading-api/model/createClusterConnectionRecommendationCommand.ts","./src/app/modules/trading-api/model/createClusterGroupCommand.ts","./src/app/modules/trading-api/model/createClusterPortfolioCommand.ts","./src/app/modules/trading-api/model/createForecasterCommand.ts","./src/app/modules/trading-api/model/createPortfolioCommand.ts","./src/app/modules/trading-api/model/createResaleClusterConnectionCommand.ts","./src/app/modules/trading-api/model/deleteClusterCommand.ts","./src/app/modules/trading-api/model/deleteClusterConnectionCommand.ts","./src/app/modules/trading-api/model/deleteClusterConnectionRecommendationCommand.ts","./src/app/modules/trading-api/model/deleteClusterGroupCommand.ts","./src/app/modules/trading-api/model/deleteForecasterCommand.ts","./src/app/modules/trading-api/model/deletePortfolioCommand.ts","./src/app/modules/trading-api/model/deleteResaleClusterCommand.ts","./src/app/modules/trading-api/model/deleteResaleClusterConnectionCommand.ts","./src/app/modules/trading-api/model/enappsysCurrency.ts","./src/app/modules/trading-api/model/enappsysFileType.ts","./src/app/modules/trading-api/model/enappsysForecastType.ts","./src/app/modules/trading-api/model/enappsysGranularity.ts","./src/app/modules/trading-api/model/enappsysResponseCommand.ts","./src/app/modules/trading-api/model/enappsysTimeZone.ts","./src/app/modules/trading-api/model/forecastActualDataType.ts","./src/app/modules/trading-api/model/forecastClusterType.ts","./src/app/modules/trading-api/model/forecastConnectionClusterType.ts","./src/app/modules/trading-api/model/forecastDownloadRequestAllOf.ts","./src/app/modules/trading-api/model/forecastGetSubRequest.ts","./src/app/modules/trading-api/model/forecastValueResponse.ts","./src/app/modules/trading-api/model/forecasterRequestAllOf.ts","./src/app/modules/trading-api/model/granularity.ts","./src/app/modules/trading-api/model/ignoreClusterConnectionRecommendationCommand.ts","./src/app/modules/trading-api/model/intradayType.ts","./src/app/modules/trading-api/model/intradayVersion.ts","./src/app/modules/trading-api/model/latestForecastRequest.ts","./src/app/modules/trading-api/model/latestForecastResponse.ts","./src/app/modules/trading-api/model/logLevel.ts","./src/app/modules/trading-api/model/models.ts","./src/app/modules/trading-api/model/moveClusterCommand.ts","./src/app/modules/trading-api/model/mutationState.ts","./src/app/modules/trading-api/model/portfolioRequestAllOf.ts","./src/app/modules/trading-api/model/process.ts","./src/app/modules/trading-api/model/processDirective.ts","./src/app/modules/trading-api/model/productType.ts","./src/app/modules/trading-api/model/queuedAssetProgressRequestAllOf.ts","./src/app/modules/trading-api/model/queuedAssetProgressResponse.ts","./src/app/modules/trading-api/model/queuedForecastProgressRequestAllOf.ts","./src/app/modules/trading-api/model/queuedForecastProgressResponse.ts","./src/app/modules/trading-api/model/tenant.ts","./src/app/modules/trading-api/model/tradingPlatform.ts","./src/app/modules/trading-api/model/updateClusterCommand.ts","./src/app/modules/trading-api/model/updateClusterConnectionCommand.ts","./src/app/modules/trading-api/model/updateClusterConnectionRecommendationCommand.ts","./src/app/modules/trading-api/model/updateClusterGroupCommand.ts","./src/app/modules/trading-api/model/updateForecasterCommand.ts","./src/app/modules/trading-api/model/updateForecastsInLegacyRequest.ts","./src/app/modules/trading-api/model/updatePortfolioCommand.ts","./src/app/modules/trading-api/model/updateResaleClusterCommand.ts","./src/app/modules/trading-api/model/updateResaleClusterConnectionCommand.ts","./src/app/modules/trading-api/variables.ts","./src/app/modules/trading/classes/trading.dealsui.configuration.ts","./src/app/modules/trading/classes/trading.forecastui.configuration.ts","./src/app/pipes/as-date.pipe.ts","./src/app/pipes/index.ts","./src/app/pipes/is-active.pipe.ts","./src/app/pipes/is-actives.pipe.ts","./src/app/pipes/not-active.pipe.ts","./src/app/pipes/product-type-factor.pipe.ts","./src/app/pipes/string-or-json.pipe.ts","./src/app/services/ErrorService.ts","./src/app/services/acm.service.ts","./src/app/services/caching.service.ts","./src/app/services/connection-evaluator.service.ts","./src/app/services/connection.service.ts","./src/app/services/consumption-export.service.ts","./src/app/services/consumption-period.service.ts","./src/app/services/consumption.service.ts","./src/app/services/contract-state.service.ts","./src/app/services/drag-and-drop.service.ts","./src/app/services/enum.service.ts","./src/app/services/invoice.service.ts","./src/app/services/issue-type.service.ts","./src/app/services/issue.service.ts","./src/app/services/lock.service.ts","./src/app/services/measurement-communication.service.ts","./src/app/services/measurement-source-detail.service.ts","./src/app/services/measurement.service.ts","./src/app/services/notification.service.ts","./src/app/services/parameter-value.service.ts","./src/app/services/ping.service.ts","./src/app/services/progress-statistics.service.ts","./src/app/services/progress.service.ts","./src/app/services/router.service.ts","./src/app/services/search-history.service.ts","./src/app/services/service-bus.service.ts","./src/app/services/sync.service.ts","./src/app/services/tenant.service.ts","./src/app/services/time-tools.service.ts","./src/app/services/total-balance.service.ts","./src/app/services/translation-from-memory-or-api.service.ts","./src/app/services/translation.service.ts","./src/environments/environment.defaults.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import moment from 'moment';\r\nimport { AcmService } from 'src/app/services/acm.service';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { TenantService } from 'src/app/services/tenant.service';\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'acm-filter-component',\r\n templateUrl: './AcmFilterComponent.html',\r\n styleUrls: ['./AcmFilterComponent.scss'],\r\n})\r\nexport class AcmFilterComponent implements OnInit {\r\n @Input() filters: any; // filterobject with all filters\r\n @Output() selectedFilters: EventEmitter = new EventEmitter();\r\n\r\n selectedFilterObject;\r\n\r\n // name Product\r\n // type Multiselect (ngcontainer rendert template)\r\n // values array\r\n\r\n // for each key of filters make a global var list via the constructor (or make all default filter values available and list ready, but only make them if key is present!)\r\n // make an active list\r\n // Set defaults (how ?) parent should decide! thus not only filter all, but also filter default values,\r\n\r\n constructor(\r\n private enumsService: EnumsService,\r\n private errorService: ErrorService,\r\n private tenantService: TenantService,\r\n private acmService: AcmService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.selectedFilterObject = Object.assign({}, this.filters); // makes non linked new object based on this.filters // soon to be default filters\r\n }\r\n\r\n selected = [];\r\n inSelected(value, key?) {\r\n return this.selectedFilterObject.selected[key].includes(value);\r\n }\r\n\r\n clearvalues() {\r\n for (const filter in this.selectedFilterObject) {\r\n this.selectedFilterObject[filter] = [];\r\n }\r\n }\r\n\r\n filterOnValue(value, key?) {\r\n this.selectedFilterObject.selected[key].includes(value)\r\n ? this.removeValueFromArray(this.selectedFilterObject.selected[key], value)\r\n : this.selectedFilterObject.selected[key].push(value);\r\n this.emitFilters();\r\n }\r\n\r\n removeValueFromArray(array, value) {\r\n var index = array.indexOf(value);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n\r\n emitFilters() {\r\n this.selectedFilters.emit(this.filters);\r\n }\r\n\r\n // getReport(value){\r\n // if (value == \"Totaal\"){\r\n // this.filteredAcmReport = this.originalAcmReport;\r\n // this.resetFilters();\r\n // this.filterOnValue();\r\n // }\r\n // if (value == \"Jaarafrekeningen\"){\r\n // this.selectedMutationReasons = [\"Anders\"];\r\n // this.selectedInvoiceTypes = [];\r\n // this.filterOnValue(\"YearlySettlement\", \"invoiceType\")\r\n // }\r\n // if (value == \"Verhuizingen\"){\r\n // this.selectedMutationReasons = [MeasurementMutationReason.MOVEIN, MeasurementMutationReason.MOVEOUT, MeasurementMutationReason.MOVETOT];\r\n // this.selectedInvoiceTypes = [\"FinalSettlement\", \"YearlySettlement\", \"Periodic\"];\r\n // this.filterOnValue()\r\n // }\r\n // if (value == \"Switches\"){\r\n // this.selectedMutationReasons = [\"SWITCHLV\", \"SWITCHPV\", \"EOSUPPLY\"];\r\n // this.selectedInvoiceTypes = [\"FinalSettlement\", \"YearlySettlement\", \"Periodic\"];\r\n // this.filterOnValue()\r\n // }\r\n // this.selectedReport = value\r\n // }\r\n\r\n // filterOnValue(value?, type?) {\r\n // if (value == undefined) {\r\n // this.applyFilters();\r\n // return\r\n // }\r\n // //If object is undefined it was not a click event. Default values\r\n // if (value != undefined){\r\n // if (type == \"Tenants\"){\r\n // if (this.selectedTenants.includes(value)){\r\n // this.selectedTenants = this.selectedTenants.filter(tenant => tenant != tenant);\r\n // } else {\r\n // this.selectedTenants.push(value);\r\n // }\r\n // this.applyFilters();\r\n // return\r\n // }\r\n // if (type == \"selectedYears\"){\r\n // if (this.selectedYears.includes(value)){\r\n // this.selectedYears = this.selectedYears.filter(years => years != value);\r\n // } else {\r\n // this.selectedYears.push(value);\r\n // }\r\n // this.applyFilters();\r\n // return\r\n // }\r\n\r\n // if (type == \"invoiceType\"){\r\n // if (this.selectedInvoiceTypes.includes(value)){\r\n // this.selectedInvoiceTypes = this.selectedInvoiceTypes.filter(invoicetype => invoicetype != value);\r\n // } else {\r\n // this.selectedInvoiceTypes.push(value);\r\n // }\r\n // this.applyFilters()\r\n // return\r\n // }\r\n\r\n // if (type == \"productType\"){\r\n // if (this.selectedProductTypes.includes(value)){\r\n // this.selectedProductTypes = this.selectedProductTypes.filter(producttype => producttype != value);\r\n // } else {\r\n // this.selectedProductTypes.push(value);\r\n // }\r\n // this.applyFilters();\r\n // return\r\n // }\r\n\r\n // if (type == \"mutationReason\"){\r\n // if (this.selectedMutationReasons.includes(value)){\r\n // this.selectedMutationReasons = this.selectedMutationReasons.filter(mutation => mutation != value);\r\n // } else {\r\n // this.selectedMutationReasons.push(value);\r\n // }\r\n // this.applyFilters();\r\n // return\r\n // }\r\n\r\n // }\r\n // }\r\n\r\n // async resetFilters(){\r\n // // all filters to default, so set default filter value.\r\n // }\r\n\r\n // applyFilters(){\r\n // let newFilters\r\n // this.activeFilters.emit(newFilters)\r\n // }\r\n\r\n // inSelectedYears(value){\r\n // if ( this.selectedYears.includes(value) ) {\r\n // return true\r\n // } else {\r\n // return false\r\n // }\r\n // }\r\n\r\n // inSelectedInvoiceType(value) {\r\n // if ( this.selectedInvoiceTypes.includes(value) ) {\r\n // return true\r\n // } else {\r\n // return false\r\n // }\r\n // }\r\n\r\n // inSelectedProductType(value) {\r\n // if ( this.selectedProductTypes.includes(value) ) {\r\n // return true\r\n // } else {\r\n // return false\r\n // }\r\n // }\r\n\r\n // inSelectedTenants(value) {\r\n // if ( this.selectedTenants.includes(value) ) {\r\n // return true\r\n // } else {\r\n // return false\r\n // }\r\n // }\r\n\r\n // inSelectedMutationReason(value) {\r\n // if ( this.selectedMutationReasons.includes(value) ) {\r\n // return true\r\n // } else {\r\n // return false\r\n // }\r\n // }\r\n\r\n // getAmountOfAcmItemsOfYear(value, active?){\r\n // if(active == 'inactive'){\r\n // return this.originalAcmReport.filter(acm => acm.from.moment.format('YYYY') == value).length;\r\n // }\r\n // else {\r\n // return this.filteredAcmReport.filter(acm => acm.from.moment.format('YYYY') == value).length;\r\n // }\r\n // }\r\n\r\n // getAmountOfAcmItemsOfTenant(value, active?){\r\n // if(active == 'inactive'){\r\n // return this.originalAcmReport.length;\r\n // } else {\r\n // return this.filteredAcmReport.length;\r\n // }\r\n // }\r\n\r\n // getAmountOfAcmItemsOfInvoiceType(value, active?){\r\n // if(active == 'inactive'){\r\n // return this.originalAcmReport.filter(acm => acm.invoiceType == value).length;\r\n // } else {\r\n // return this.filteredAcmReport.filter(acm => acm.invoiceType == value).length;\r\n // }\r\n // }\r\n // getAmountOfAcmItemsOfProductType(value, active?){\r\n // if(active == 'inactive'){\r\n // return this.originalAcmReport.filter(acm => acm.productType == value).length;\r\n // } else {\r\n // return this.filteredAcmReport.filter(acm => acm.productType == value).length;\r\n // }\r\n // }\r\n\r\n // getAmountOfAcmItemsOfMutationReason(value, active?){\r\n // if(active == 'inactive'){\r\n // return this.originalAcmReport.filter(acm => acm.mutationReason == value).length;\r\n // } else {\r\n // return this.filteredAcmReport.filter(acm => acm.mutationReason == value).length;\r\n // }\r\n // }\r\n}\r\n","\r\n\r\n \r\n
\r\n
\r\n {{filter.key}}
\r\n \r\n \r\n   \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
","import { Chart } from 'angular-highcharts';\r\nimport * as moment from 'moment';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n// window.moment = moment;\r\n\r\n// import * as Chart from 'angular-highcharts';\r\n// https://www.highcharts.com/forum/viewtopic.php?t=42702 for Broken Axis\r\n\r\n@Component({\r\n selector: 'acm-graph-component',\r\n templateUrl: './AcmGraphComponent.html',\r\n styleUrls: ['./AcmGraphComponent.scss'],\r\n})\r\nexport class AcmGraphComponent implements OnChanges {\r\n @Input() grouped: any;\r\n\r\n chart;\r\n\r\n constructor(private errorService: ErrorService) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.grouped) {\r\n this.createChart(this.grouped);\r\n }\r\n }\r\n\r\n distinct(data: number[][]) {\r\n var flags = {};\r\n return data.filter(function (entry) {\r\n if (flags[entry[0]]) {\r\n return false;\r\n }\r\n flags[entry[0]] = true;\r\n return true;\r\n });\r\n }\r\n\r\n createACMSeries(groupedReport) {\r\n // console.log(groupedReport)\r\n let series = [];\r\n groupedReport.forEach((report) => {\r\n let serieobj = {};\r\n // console.log(report)\r\n let seriesname = 'Product: ' + report.productType + ', Factuurtype: ' + report.invoiceType + ', Reden: ' + report.mutationReason;\r\n let seriesstack = report.mutationReason;\r\n let data = [];\r\n // let seriesdata = [] (report.onTimePercentage != undefined || report.from.moment != undefined) ? [report.onTimePercentage, report.from.moment] : [null, null]; //.valueOf()\r\n let seriesdata;\r\n // report.list.map(stat => (stat.onTimePercentage != undefined || stat.from.moment != undefined) ? data.push([new Date(stat.from.moment.valueOf()), stat.onTimePercentage]) : data.push([new Date(stat.from.moment.valueOf()), null]))\r\n report.list.map((stat) =>\r\n stat.onTimePercentage != undefined || stat.from.moment != undefined\r\n ? data.push([stat.from.moment.valueOf(), stat.onTimePercentage])\r\n : data.push([stat.from.moment.valueOf(), null]),\r\n );\r\n\r\n // let axisdate = new Date('2010-01-01')\r\n // report.list.forEach(acm => {\r\n // console.log(acm.from.moment.valueOf()) // acm.from.moment.format('YYYY-MM')\r\n // data.push([axisdate, acm.onTimePercentage])\r\n // axisdate = new Date(axisdate.setMonth(axisdate.getMonth()+1));\r\n // console.log(data)\r\n // });\r\n seriesdata = data;\r\n serieobj = {\r\n // type: \"line\",\r\n name: seriesname,\r\n // stack: seriesstack,\r\n // yAxis: 0,\r\n data: seriesdata,\r\n };\r\n series.push(serieobj);\r\n });\r\n\r\n return series;\r\n }\r\n\r\n createChart(groupedReport) {\r\n let series = this.createACMSeries(groupedReport);\r\n\r\n this.chart = new Chart({\r\n chart: {\r\n type: 'line',\r\n animation: true,\r\n zooming: {\r\n type: 'x',\r\n },\r\n },\r\n time: {\r\n useUTC: false,\r\n },\r\n tooltip: {\r\n enabled: true,\r\n animation: true,\r\n },\r\n boost: {\r\n useGPUTranslations: true,\r\n },\r\n title: {\r\n text: '',\r\n },\r\n subtitle: {\r\n text: '',\r\n },\r\n xAxis: {\r\n title: {\r\n text: 'Rapportagemaand',\r\n },\r\n type: 'datetime',\r\n },\r\n yAxis: [\r\n {\r\n title: {\r\n text: 'Op tijd percentage',\r\n },\r\n min: 0,\r\n max: 100,\r\n },\r\n ],\r\n legend: {\r\n enabled: true,\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n series: series, // as SeriesLineOptions[]\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.createChart(this.grouped);\r\n }\r\n ngOnDestroy() {}\r\n}\r\n","
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n","import * as moment from 'moment';\r\nimport { AcmReportStatistic, MeasurementMutationReason } from 'src/app/Connection';\r\nimport { asList, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { BlobCreateHelper } from 'src/app/helpers/BlobCreateHelper';\r\n\r\nimport { Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\r\n\r\nexport enum Acm {\r\n AcmSectionL1 = 'L1 Verhuizen',\r\n AcmSectionL11 = 'L1.1 (VS inhuizing)',\r\n AcmSectionL12 = 'L1.2 (Achterstanden inhuizing)',\r\n AcmSectionL13 = 'L1.3 (EAR uithuizing)',\r\n AcmSectionL14 = 'L1.4 (Achterstanden EAR uithuizing)',\r\n AcmSectionL2 = 'L2 Switchen',\r\n AcmSectionL21 = 'L2.1 (VS inswitch)',\r\n AcmSectionL22 = 'L2.2 (Achterstanden inswitch)',\r\n AcmSectionL23 = 'L2.3 (EAR uitswitch binnen 42 dagen)',\r\n AcmSectionL24 = 'L2.4 (Achterstand EAR uitswitch)',\r\n AcmSectionL3 = 'L3 Jaarafrekeningen',\r\n AcmSectionL31 = 'L3.1 (Tijdigheid JAR)',\r\n AcmSectionL32 = 'L3.2 (Kwaliteit JAR)',\r\n AcmSectionL33 = 'L3.3 (Achterstanden JAR)',\r\n}\r\n\r\n@Component({\r\n selector: 'acm-report-table-component',\r\n templateUrl: './AcmReportTableComponent.html',\r\n styleUrls: ['./AcmReportTableComponent.scss'],\r\n})\r\nexport class AcmReportTableComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() filteredAcmReport: any;\r\n @Input() reportDate;\r\n\r\n start;\r\n acmReport;\r\n reportDates;\r\n regularInvoiceRuns;\r\n\r\n clickedACMstat;\r\n deadlinesToView;\r\n\r\n showReportDetails: boolean = true;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (this.filteredAcmReport == undefined && this.filteredAcmReport.length == 0) {\r\n return;\r\n }\r\n this.newACMreport();\r\n // console.log(this.filteredAcmReport.filter(stat => stat.invoiceType == 'FinalSettlement')) // && stat.mutationReason == 'EOSUPPLY'\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.filteredAcmReport) {\r\n this.newACMreport();\r\n }\r\n }\r\n ngOnDestroy() { }\r\n\r\n async newACMreport() {\r\n if (!this.filteredAcmReport || this.filteredAcmReport.length == 0) {\r\n return console.log('Geen juiste selectie, of data voor rapport');\r\n }\r\n this.reportDates = this.getDates();\r\n let reports = this.filteredAcmReport;\r\n\r\n let perProductType = asList(groupBy(reports, (reports: any) => '' + reports.productType));\r\n // let thisIsTheReportYouAreLookingFor = perProductType.map(product => this.makeACMReportOf(product));\r\n let thisIsTheReportYouAreLookingFor = perProductType.map((product) => this.makeACMReport(product));\r\n this.acmReport = thisIsTheReportYouAreLookingFor;\r\n this.regularInvoiceRuns = perProductType.map((listOfstats) => {\r\n let regular = listOfstats.filter((stat) => stat.invoiceType == 'Periodic');\r\n let regularOnDate = this.mapReportStatisticOnDate(regular);\r\n return regularOnDate;\r\n });\r\n }\r\n\r\n getDates() {\r\n let start: string;\r\n let end: string;\r\n\r\n let first = this.filteredAcmReport.reduce(function (a, b) {\r\n return a.from.moment < b.from.moment ? a : b;\r\n });\r\n let last = this.filteredAcmReport.reduce(function (a, b) {\r\n return a.from.moment > b.from.moment ? a : b;\r\n });\r\n start = first.from.moment.format('YYYY-MM');\r\n end = last.from.moment.format('YYYY-MM');\r\n\r\n let dates = [];\r\n for (let m = moment(start); m.diff(end, 'days') <= 0; m.add(1, 'month')) {\r\n dates.push(m.format('YYYY-MM'));\r\n }\r\n return dates;\r\n }\r\n\r\n mapReportStatisticOnDate(listOfStatistics) {\r\n // fil her up with the amount of dates we have (it's dynamically)\r\n let listByMonth = this.reportDates.map((populate) => {\r\n return null;\r\n });\r\n listOfStatistics.forEach((report) => {\r\n let index = this.reportDates.indexOf(report.from.moment.format('YYYY-MM'));\r\n if (index !== -1) {\r\n listByMonth[index] = report;\r\n }\r\n });\r\n return listByMonth;\r\n }\r\n\r\n makeACMReport(product, reportForMonth?: string) {\r\n if (product == undefined || product.length == 0) {\r\n return;\r\n }\r\n let productType = product[0].productType;\r\n\r\n let statForL32;\r\n if (reportForMonth) {\r\n // Single Report of Date, matches results to date via the stats from\r\n let processMonth = moment(reportForMonth).subtract(3, 'month').format('YYYY-MM');\r\n let l32processMonth = moment(reportForMonth).subtract(1, 'month').format('YYYY-MM');\r\n statForL32 = product.filter((report) => report.from.moment.format('YYYY-MM') == l32processMonth && report.invoiceType == 'YearlySettlement');\r\n product = product.filter((report) => report.from.moment.format('YYYY-MM') == processMonth);\r\n }\r\n\r\n // Make a list based on types\r\n let listofl11 = product.filter(\r\n (report) => report.invoiceType == 'InitialAdvanceInvoice' && report.mutationReason == MeasurementMutationReason.MOVEIN,\r\n ); //MeasurementMutationReason.MOVEIN\r\n let finalmoveinandout = product.filter(\r\n (report) =>\r\n report.invoiceType == 'FinalSettlement' &&\r\n (report.mutationReason == MeasurementMutationReason.MOVEIN || report.mutationReason == MeasurementMutationReason.MOVEOUT),\r\n );\r\n let listofl13 = this.combineToTotal(finalmoveinandout, MeasurementMutationReason.MOVETOT);\r\n let listofl21 = product.filter(\r\n (report) => report.invoiceType == 'InitialAdvanceInvoice' && report.mutationReason == MeasurementMutationReason.SWITCHLV,\r\n );\r\n let finalswitchlveo = product.filter(\r\n (report) =>\r\n report.invoiceType == 'FinalSettlement' &&\r\n (report.mutationReason == MeasurementMutationReason.SWITCHLV || report.mutationReason == MeasurementMutationReason.EOSUPPLY),\r\n );\r\n let listofl23 = this.combineToTotal(finalswitchlveo, MeasurementMutationReason.SWITCHTOT);\r\n let listofl31 = product.filter((report) => report.invoiceType == 'YearlySettlement');\r\n\r\n // map on a list of dates if there is no date\r\n let l11 = !reportForMonth ? this.mapReportStatisticOnDate(listofl11) : listofl11;\r\n let l13 = !reportForMonth ? this.mapReportStatisticOnDate(listofl13) : listofl13;\r\n let l21 = !reportForMonth ? this.mapReportStatisticOnDate(listofl21) : listofl21;\r\n let l23 = !reportForMonth ? this.mapReportStatisticOnDate(listofl23) : listofl23;\r\n let l31 = !reportForMonth ? this.mapReportStatisticOnDate(listofl31) : listofl31;\r\n let l32 = !reportForMonth ? this.mapReportStatisticOnDate(listofl31) : listofl31;\r\n let l33 = !reportForMonth ? this.mapReportStatisticOnDate(listofl31) : listofl31;\r\n // Determine secondary values\r\n // let notAvailable = { totalOpenInvoiceDeadlinesOfLast12Months: 'n/a' };\r\n // let l32 = l31.map((item) => notAvailable);\r\n // let l33 = l31.map((item) => notAvailable);\r\n\r\n let report = {};\r\n report[Acm.AcmSectionL1] = {};\r\n report[Acm.AcmSectionL1][Acm.AcmSectionL11] = l11;\r\n report[Acm.AcmSectionL1][Acm.AcmSectionL12] = l11;\r\n report[Acm.AcmSectionL1][Acm.AcmSectionL13] = l13;\r\n report[Acm.AcmSectionL1][Acm.AcmSectionL14] = l13;\r\n report[Acm.AcmSectionL2] = {};\r\n report[Acm.AcmSectionL2][Acm.AcmSectionL21] = l21;\r\n report[Acm.AcmSectionL2][Acm.AcmSectionL22] = l21;\r\n report[Acm.AcmSectionL2][Acm.AcmSectionL23] = l23;\r\n report[Acm.AcmSectionL2][Acm.AcmSectionL24] = l23;\r\n report[Acm.AcmSectionL3] = {};\r\n report[Acm.AcmSectionL3][Acm.AcmSectionL31] = l31;\r\n report[Acm.AcmSectionL3][Acm.AcmSectionL32] = l32;\r\n report[Acm.AcmSectionL3][Acm.AcmSectionL33] = l33;\r\n\r\n let reportperproduct = {};\r\n reportperproduct['productType'] = productType;\r\n reportperproduct['report'] = report;\r\n\r\n return reportperproduct;\r\n }\r\n\r\n acmReportOfDate;\r\n acmReportOfDateDate;\r\n singleACMReportOf(event?) {\r\n // if (!this.acmReport) {return}\r\n let selectedDate = event ? event.value : moment().format('YYYY-MM');\r\n let reports = this.filteredAcmReport;\r\n let perProductType = asList(groupBy(reports, (reports: any) => '' + reports.productType));\r\n // let reportOfSingleMonth = perProductType.map(product => this.makeACMReportOf(product, selectedDate));\r\n let reportOfSingleMonth = perProductType.map((product) => this.makeACMReport(product, selectedDate));\r\n // information of report dates in an object.\r\n this.acmReportOfDateDate = {\r\n report: selectedDate,\r\n process: moment(selectedDate).subtract(3, 'month').format('YYYY-MM'),\r\n L32: moment(selectedDate).subtract(1, 'month').format('YYYY-MM'),\r\n };\r\n this.acmReportOfDate = reportOfSingleMonth;\r\n }\r\n\r\n showPercentageAndTotal(subsection) {\r\n // Show percentage and number based on subsection match.\r\n let sectionsToShowOnlyNumber = ['L1.2', 'L1.4', 'L2.2', 'L2.4'];\r\n let sectionsToShowNumberAndPercentages = ['L1.1', 'L1.3', 'L2.1', 'L2.3', 'L3.1']; // L3.2\r\n return sectionsToShowNumberAndPercentages.some((el) => subsection.includes(el));\r\n }\r\n showOnlyTotal(subsection) {\r\n // Show percentage and number based on subsection match.\r\n let sectionsToShowOnlyNumber = ['L1.2', 'L1.4', 'L2.2', 'L2.4'];\r\n return sectionsToShowOnlyNumber.some((el) => subsection.includes(el));\r\n }\r\n\r\n showAcmL32(subsection) {\r\n // Show percentage and number based on subsection match.\r\n let sectionsToShowNumberAndPercentages = ['L3.2']; // L3.2\r\n return sectionsToShowNumberAndPercentages.some((el) => subsection.includes(el));\r\n }\r\n\r\n showAcmL33(subsection) {\r\n // Show percentage and number based on subsection match.\r\n let sectionsToShowNumberAndPercentages = ['L3.3']; // L3.2\r\n return sectionsToShowNumberAndPercentages.some((el) => subsection.includes(el));\r\n }\r\n\r\n resetSingleACMReportPopup() {\r\n this.acmReportOfDate = null;\r\n }\r\n\r\n combineToTotal(acmstats: AcmReportStatistic[], type: MeasurementMutationReason) {\r\n // Filters the FinalSettlements MOVEIN and MOVEOUT and creates a combined unit for Move: MOVECOMBINED\r\n // Filters the FinalSettlements SWITCHLV and EOSUPPLY and creates a combined unit for Switches: SWITCHCombined\r\n // type == MeasurementMutationReason.MOVETOT\r\n\r\n let combinedList = asList(groupBy(acmstats, (reports: any) => '' + reports.productType + reports.from + reports.until));\r\n // transform the pair to a new value\r\n let combined = combinedList.map((setOfStatistics) => {\r\n let creditperc = 0;\r\n let ontimeperc = 0;\r\n let tot = 0;\r\n let totCredit = 0;\r\n let totOnTime = 0;\r\n setOfStatistics.forEach((stat) => {\r\n tot += stat.total;\r\n totOnTime += stat.totalOnTime;\r\n totCredit += stat.totalCredit;\r\n });\r\n\r\n let mutation = setOfStatistics.map((a) => a.mutation).toString();\r\n let openDeadlines = setOfStatistics.map((a) => a.openInvoices).flat();\r\n let missedDeadlines = setOfStatistics.map((a) => a.missedDeadline).flat();\r\n let closedInvoices = setOfStatistics.map((a) => a.closedInvoicesInValidRange).flat();\r\n\r\n // not 100% sure if the right total is taken, should be the the same (because its the same type, else should be combined (because of two types that are combined))\r\n let totOpenOf12 =\r\n setOfStatistics.sort((a, b) => a.from - b.from)[0].totalOpenInvoiceDeadlinesOfLast12Months != undefined\r\n ? setOfStatistics.sort((a, b) => a.from - b.from)[0].totalOpenInvoiceDeadlinesOfLast12Months\r\n : null;\r\n // calculate new percentages based on previous calculations.\r\n creditperc = (totCredit / tot) * 100;\r\n ontimeperc = (totOnTime / tot) * 100;\r\n\r\n // Create a new statistic using the available and calculated values.\r\n return new AcmReportStatistic(\r\n creditperc, // creditPercentage\r\n setOfStatistics[0].from,\r\n setOfStatistics[0].invoiceType,\r\n setOfStatistics[0].isLargeCapacity,\r\n ontimeperc,\r\n setOfStatistics[0].productType,\r\n tot,\r\n totCredit,\r\n totOnTime,\r\n totOpenOf12,\r\n setOfStatistics[0].until,\r\n type,\r\n mutation,\r\n openDeadlines,\r\n missedDeadlines,\r\n closedInvoices,\r\n );\r\n });\r\n return combined;\r\n }\r\n\r\n setAcmPopup(stat?) {\r\n return stat ? (this.clickedACMstat = stat) : (this.clickedACMstat = null);\r\n }\r\n\r\n setDeadlinesPopup(name?, deadlines?) {\r\n if (name && deadlines) {\r\n this.deadlinesToView = {};\r\n this.deadlinesToView['name'] = name;\r\n this.deadlinesToView['deadlines'] = deadlines;\r\n } else {\r\n this.deadlinesToView = null;\r\n }\r\n return;\r\n }\r\n\r\n downloadCurrentList(commatype) {\r\n if (commatype == undefined) {\r\n return;\r\n } // to do for future if comma is not of commatype enum, then also return error.\r\n if (this.deadlinesToView == null) {\r\n return;\r\n }\r\n let month = this.deadlinesToView.deadlines[0].From;\r\n let type = this.deadlinesToView.deadlines[0].InvoiceType;\r\n let reason = this.deadlinesToView.deadlines[0].MutationReason;\r\n let filename = 'Uitlijsting(' + month + ')-' + type + '-' + reason;\r\n let data = this.makeCSVData(commatype);\r\n BlobCreateHelper.downloadCSV(filename, data);\r\n }\r\n makeCSVData(commatype) {\r\n let comma = commatype;\r\n let breakcsv = '\\n';\r\n 0;\r\n let csvData = '' + 'Aansluiting (EAN)' + comma + 'Klantnummer' + comma + 'Factuurnummer' + breakcsv;\r\n this.deadlinesToView.deadlines.map(\r\n (deadline) => (csvData += deadline.ConnectionId + comma + deadline.CustomerId + comma + deadline.InvoiceNumber + breakcsv),\r\n );\r\n return csvData;\r\n }\r\n}\r\n","
\r\n
\r\n ACM Rapportage gecreëerd op: {{reportDate | date: 'yyyy-MM-dd'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Procesmaand{{date}}
PercentageAantal
\r\n {{reportOfProductType.productType}}\r\n
\r\n {{section.key}}\r\n
\r\n {{subsection.key}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Rapportage voor\r\n \r\n \r\n {{date}}\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n {{stat.onTimePercentage | number : '1.2-2'}}%\r\n \r\n \r\n {{stat.total}}\r\n \r\n\r\n\r\n\r\n \r\n \r\n {{stat.totalOpenInvoiceDeadlinesOfLast12Months}}\r\n \r\n\r\n\r\n\r\n \r\n {{stat.creditPercentage | number : '1.2-2'}}%\r\n \r\n \r\n {{stat.totalCredit}}\r\n \r\n\r\n\r\n\r\n \r\n \r\n {{stat.totalOpenInvoiceDeadlinesOfLast12Months}}\r\n \r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Rapportage-
maand\r\n
\r\n {{acmReportOfDateDate.report}}\r\n
Process-
maand
{{acmReportOfDateDate.process}}
L3.2-
maand
{{acmReportOfDateDate.L32}}
PercentageAantal
\r\n {{reportOfProductType.productType}}\r\n
\r\n {{section.key}}\r\n
\r\n {{subsection.key}}\r\n \r\n {{stat.onTimePercentage | number : '1.2-2'}}%\r\n \r\n {{stat.total}}\r\n \r\n {{stat.totalOpenInvoiceDeadlinesOfLast12Months}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n Tijdigheid maandfacturen\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{date}}
{{statsPerProduct[0].invoiceType}}\r\n \r\n \r\n {{stat.onTimePercentage | number : '1.2-2'}}%\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
Statistiek
\r\n \r\n \r\n 0 \">\r\n {{spec.key}} :\r\n \r\n

\r\n
\r\n \r\n {{spec.key}} : {{spec.value}}

\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{deadlinesToView.name}} ({{deadlinesToView.deadlines.length}})\r\n
\r\n \r\n 0; else nodata\">\r\n \r\n
\r\n {{deadlinesToView.name}}\r\n ({{deadlinesToView.deadlines.length}})\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
EANKlantnummerFactuurnummer
{{deadline.ConnectionId}}{{deadline.CustomerId}}{{deadline.InvoiceNumber}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n No data ","import moment from 'moment-timezone';\r\nimport { Enums, Timestamp } from 'src/app/Connection';\r\nimport { asList, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { AcmService } from 'src/app/services/acm.service';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'acm-create-report-tab-component',\r\n templateUrl: './AcmCreateReportComponent.html',\r\n styleUrls: ['./AcmCreateReportComponent.scss'],\r\n})\r\nexport class AcmCreateReportComponent implements OnInit {\r\n @Input() filteredAcmReport: any;\r\n @Input() createdOnDate: Timestamp;\r\n\r\n originalAcmReport: any;\r\n\r\n listOfAcmReport: any;\r\n\r\n grouped: any;\r\n\r\n numberOfTotal: number;\r\n\r\n selectedInvoiceTypes: any = ['FinalSettlement', 'YearlySettlement', 'Periodic'];\r\n invoiceTypes: any;\r\n\r\n selectedProductTypes: string[] = ['Electricity', 'Gas'];\r\n productTypes: string[] = ['Electricity', 'Gas'];\r\n\r\n selectedMutationReasons: any = ['MOVEIN', 'MOVEOUT'];\r\n mutationReasons: any;\r\n\r\n creatingReport: boolean = false;\r\n\r\n years: any;\r\n\r\n selectedReport: string;\r\n\r\n selectedYears: any = ['2019', '2020'];\r\n\r\n reportOptions: any = ['Totaal', 'Verhuizingen', 'Switches', 'Jaarafrekeningen'];\r\n\r\n constructor(private enumsService: EnumsService, private errorService: ErrorService, private acmService: AcmService) { }\r\n\r\n ngOnInit(): void {\r\n // console.log(this.filteredAcmReport)\r\n this.originalAcmReport = this.filteredAcmReport;\r\n this.getStatistics();\r\n // this.getAcmReportYears();\r\n this.getMutationReasons();\r\n this.filterOnValue();\r\n this.setUniqueValues(); // Sets the years, types etc etc\r\n this.groupForTable();\r\n // this.listOfAcmReport = this.filteredAcmReport.acmReportStatistics.flat()\r\n\r\n // this.getStatisticsFromList();\r\n }\r\n\r\n groupForTable() {\r\n let reports = this.originalAcmReport;\r\n var anicenumber = groupBy(reports, (reports: any) => '' + reports.productType);\r\n var groupy = groupBy(reports, (reports: any) => '' + reports.productType + reports.invoiceType + reports.mutationReason);\r\n groupy = asList(groupy);\r\n this.grouped = groupy;\r\n }\r\n\r\n getReport(value) {\r\n if (value == 'Totaal') {\r\n this.filteredAcmReport = this.originalAcmReport;\r\n this.resetFilters();\r\n this.filterOnValue();\r\n }\r\n if (value == 'Jaarafrekeningen') {\r\n this.selectedMutationReasons = ['Anders'];\r\n this.selectedInvoiceTypes = [];\r\n this.filterOnValue('YearlySettlement', 'invoiceType');\r\n }\r\n if (value == 'Verhuizingen') {\r\n this.selectedMutationReasons = ['MOVEIN', 'MOVEOUT'];\r\n this.selectedInvoiceTypes = ['FinalSettlement', 'YearlySettlement', 'Periodic'];\r\n this.filterOnValue();\r\n }\r\n if (value == 'Switches') {\r\n this.selectedMutationReasons = ['SWITCHLV', 'SWITCHPV', 'EOSUPPLY'];\r\n this.selectedInvoiceTypes = ['FinalSettlement', 'YearlySettlement', 'Periodic'];\r\n this.filterOnValue();\r\n }\r\n this.selectedReport = value;\r\n }\r\n\r\n getMoveInAndOutReport() {\r\n // select year\r\n // view per month (and then things below that.)\r\n // month and period in which is relevant should be checked.\r\n }\r\n\r\n getMutationReasons() {\r\n this.enumsService\r\n .getAll(Enums.MutationReason)\r\n .then((result) => result.map((enumdescription) => enumdescription.Value.toString()))\r\n // Bind a value for undefined\r\n .then((result) => result.concat(['Anders']))\r\n // .then(result => console.log(result))\r\n .then((result) => (this.mutationReasons = result));\r\n }\r\n\r\n setUniqueValues() {\r\n // Get all years and InvoiceTypes, dynamically from report values.\r\n let yearsList = this.originalAcmReport;\r\n yearsList = yearsList.map((stat) => stat.from.moment.format('YYYY'));\r\n this.years = Array.from(new Set(yearsList));\r\n\r\n let invoiceList = this.originalAcmReport;\r\n invoiceList = invoiceList.map((stat) => stat.invoiceType);\r\n this.invoiceTypes = Array.from(new Set(invoiceList));\r\n }\r\n\r\n removeUnusedReasons() {\r\n this.originalAcmReport.acmReportStatistics.map((stat) => stat.mutationReason);\r\n }\r\n\r\n getStatistics() {\r\n let listOfAcmReport = this.filteredAcmReport;\r\n this.numberOfTotal = this.filteredAcmReport.length;\r\n }\r\n\r\n filterOnValue(value?, type?) {\r\n if (value == undefined) {\r\n this.applyFilters();\r\n return;\r\n }\r\n //If object is undefined it was not a click event. Default values\r\n if (value != undefined) {\r\n if (type == 'selectedYears') {\r\n if (this.selectedYears.includes(value)) {\r\n this.selectedYears = this.selectedYears.filter((years) => years != value);\r\n } else {\r\n this.selectedYears.push(value);\r\n }\r\n this.applyFilters();\r\n return;\r\n }\r\n\r\n if (type == 'invoiceType') {\r\n if (this.selectedInvoiceTypes.includes(value)) {\r\n this.selectedInvoiceTypes = this.selectedInvoiceTypes.filter((invoicetype) => invoicetype != value);\r\n } else {\r\n this.selectedInvoiceTypes.push(value);\r\n }\r\n this.applyFilters();\r\n return;\r\n }\r\n\r\n if (type == 'productType') {\r\n if (this.selectedProductTypes.includes(value)) {\r\n this.selectedProductTypes = this.selectedProductTypes.filter((producttype) => producttype != value);\r\n } else {\r\n this.selectedProductTypes.push(value);\r\n }\r\n this.applyFilters();\r\n return;\r\n }\r\n\r\n if (type == 'mutationReason') {\r\n if (this.selectedMutationReasons.includes(value)) {\r\n this.selectedMutationReasons = this.selectedMutationReasons.filter((mutation) => mutation != value);\r\n } else {\r\n this.selectedMutationReasons.push(value);\r\n }\r\n this.applyFilters();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n applyFilters() {\r\n let newListOfAcmReport = this.originalAcmReport;\r\n newListOfAcmReport = newListOfAcmReport.filter((stat) => this.selectedYears.includes(stat.from.moment.format('YYYY')));\r\n newListOfAcmReport = newListOfAcmReport.filter((acm) => this.selectedProductTypes.includes(acm.productType));\r\n newListOfAcmReport = newListOfAcmReport.filter((acm) => this.selectedInvoiceTypes.includes(acm.invoiceType));\r\n newListOfAcmReport = newListOfAcmReport.filter((acm) => this.selectedMutationReasons.includes(acm.mutationReason));\r\n this.filteredAcmReport = newListOfAcmReport;\r\n }\r\n\r\n async resetFilters() {\r\n // this.selectedYears = this.years;\r\n this.selectedProductTypes = ['Electricity', 'Gas'];\r\n this.selectedInvoiceTypes = this.invoiceTypes;\r\n this.selectedMutationReasons = this.mutationReasons;\r\n }\r\n\r\n inSelectedYears(value) {\r\n // if ( this.selectedYears.includes(value) ) {\r\n // return true\r\n // } else {\r\n // return false\r\n // }\r\n return this.selectedYears.includes(value);\r\n }\r\n\r\n inSelectedInvoiceType(value) {\r\n if (this.selectedInvoiceTypes.includes(value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n inSelectedProductType(value) {\r\n if (this.selectedProductTypes.includes(value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n inSelectedMutationReason(value) {\r\n if (this.selectedMutationReasons.includes(value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getAmountOfAcmItemsOfYear(value, active?) {\r\n if (active == 'inactive') {\r\n return this.originalAcmReport.filter((acm) => acm.from.moment.format('YYYY') == value).length;\r\n } else {\r\n return this.filteredAcmReport.filter((acm) => acm.from.moment.format('YYYY') == value).length;\r\n }\r\n }\r\n getAmountOfAcmItemsOfInvoiceType(value, active?) {\r\n if (active == 'inactive') {\r\n return this.originalAcmReport.filter((acm) => acm.invoiceType == value).length;\r\n } else {\r\n return this.filteredAcmReport.filter((acm) => acm.invoiceType == value).length;\r\n }\r\n }\r\n getAmountOfAcmItemsOfProductType(value, active?) {\r\n if (active == 'inactive') {\r\n return this.originalAcmReport.filter((acm) => acm.productType == value).length;\r\n } else {\r\n return this.filteredAcmReport.filter((acm) => acm.productType == value).length;\r\n }\r\n }\r\n\r\n getAmountOfAcmItemsOfMutationReason(value, active?) {\r\n if (active == 'inactive') {\r\n return this.originalAcmReport.filter((acm) => acm.mutationReason == value).length;\r\n } else {\r\n return this.filteredAcmReport.filter((acm) => acm.mutationReason == value).length;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Selecteer een rapportage \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n   \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n ACM Rapportage \r\n
\r\n\r\n
\r\n
\r\n
\r\n Rapportage jaren
\r\n \r\n \r\n   \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Product
\r\n \r\n \r\n   \r\n \r\n
\r\n\r\n
\r\n Type factuur
\r\n \r\n \r\n   \r\n \r\n
\r\n\r\n
0\">\r\n Reden
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n ACM Rapportage gecreëerd op: {{createdOnDate | date:\r\n 'yyyy-MM-dd'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n
MaandProductTypeRedenScore
{{reportItem.from.moment | date: 'y, d MMMM' }}{{reportItem.productType}}{{reportItem.invoiceType}}{{reportItem.mutationReason}}Anders {{reportItem.onTimePercentage | number : '1.2-2' }}%
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
","import moment, { Moment } from 'moment';\r\nimport { AcmReportStatistic, Enums, MeasurementMutationReason, Tenant, Timestamp } from 'src/app/Connection';\r\nimport { asList, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'acm-report-tab-component',\r\n templateUrl: './AcmReportTabComponent.html',\r\n styleUrls: ['./AcmReportTabComponent.scss'],\r\n})\r\nexport class AcmReportTabComponent implements OnInit, OnChanges {\r\n @Input() filteredAcmReport: any;\r\n\r\n @Input() createdOnDate: Timestamp;\r\n\r\n originalAcmReport: any;\r\n\r\n tenantsOfReport: any;\r\n\r\n listOfAcmReport: any;\r\n\r\n reportDates: Moment[];\r\n\r\n grouped: any;\r\n\r\n numberOfTotal: number;\r\n\r\n selectedTenants: any = [Tenant.NieuweStroom, Tenant.EasyEnergy];\r\n reportTenants: any = [Tenant.NieuweStroom, Tenant.EasyEnergy];\r\n\r\n selectedInvoiceTypes: any = ['FinalSettlement', 'YearlySettlement', 'Periodic'];\r\n invoiceTypes: any;\r\n\r\n selectedProductTypes: string[] = ['Electricity', 'Gas'];\r\n productTypes: string[] = ['Electricity', 'Gas'];\r\n\r\n selectedMutationReasons: any = [MeasurementMutationReason.MOVEIN, MeasurementMutationReason.MOVEOUT, MeasurementMutationReason.MOVETOT];\r\n mutationReasons: any;\r\n\r\n years: any;\r\n\r\n selectedReport: string;\r\n\r\n selectedYears: any = ['2019', '2020'];\r\n\r\n reportOptions: any = ['Totaal', 'Verhuizingen', 'Switches', 'Jaarafrekeningen'];\r\n\r\n // States\r\n tenantWarning = false;\r\n moreFilters = false;\r\n\r\n showSpecification = false;\r\n acmReportSpecification: AcmReportStatistic;\r\n\r\n listOfMonths = [];\r\n\r\n constructor(private enumsService: EnumsService, private errorService: ErrorService) {}\r\n\r\n ngOnInit(): void {\r\n // Need to know for reportStatistics\r\n // from -until is de periode waarin de factuur uitgestuurd moet worden\r\n // from is dus de processmaand (datum einde levering, datum dat 12maandensindsJAR, datum startlevering)\r\n }\r\n\r\n initialize() {\r\n if (this.filteredAcmReport.length === 0) {\r\n return this.errorService.addError('Rapport bevat geen data');\r\n }\r\n\r\n // CREATE and ADD MOVETOT to the report\r\n this.filteredAcmReport = this.filteredAcmReport.concat(this.combineFinalSettlementMoveinandmoveout(this.filteredAcmReport));\r\n\r\n // Set a original value for filters.\r\n this.originalAcmReport = this.filteredAcmReport;\r\n this.getStatistics();\r\n\r\n this.selectedMutationReasons = this.getMutationReasons().then((p) => {\r\n this.setUniqueValues(); // Sets the years, types etc etc\r\n this.getReport('Totaal');\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.filteredAcmReport) {\r\n this.initialize();\r\n }\r\n }\r\n\r\n combineFinalSettlementMoveinandmoveout(acmreport) {\r\n // Filters the FinalSettlements MOVEIN and MOVEOUT and creates a combined unit for Move: MOVECOMBINED\r\n // then adds it to the current ACM report\r\n const currentACMreport = acmreport;\r\n\r\n // Filter in 2 steps\r\n const firstFilter = acmreport.filter((report) => report.invoiceType === 'FinalSettlement');\r\n const moveinandout = firstFilter.filter(\r\n (report) => report.mutationReason === MeasurementMutationReason.MOVEIN || report.mutationReason === MeasurementMutationReason.MOVEOUT,\r\n );\r\n\r\n // Group the results by date and producttype (make correct pairs)\r\n const moveTotal = asList(groupBy(moveinandout, (reports: any) => '' + reports.productType + reports.from + reports.until));\r\n // transform the pair to a new value\r\n const moveCombined = moveTotal.map((setOfStatistics) => {\r\n let creditperc = 0;\r\n let ontimeperc = 0;\r\n let tot = 0;\r\n let totCredit = 0;\r\n let totOnTime = 0;\r\n\r\n setOfStatistics.forEach((stat) => {\r\n tot += stat.total;\r\n totOnTime += stat.totalOnTime;\r\n totCredit += stat.totalCredit;\r\n });\r\n\r\n const totOpenOf12 =\r\n setOfStatistics.sort((a: { from: number }, b: { from: number }) => a.from - b.from)[0].totalOpenInvoiceDeadlinesOfLast12Months !== undefined\r\n ? setOfStatistics.sort((a: { from: number }, b: { from: number }) => a.from - b.from)[0].totalOpenInvoiceDeadlinesOfLast12Months\r\n : null;\r\n\r\n // calculate new percentages based on previous calculations.\r\n creditperc = (totCredit / tot) * 100;\r\n ontimeperc = (totOnTime / tot) * 100;\r\n\r\n // Create a new statistic using the available and calculated values.\r\n return new AcmReportStatistic(\r\n creditperc, // creditPercentage\r\n setOfStatistics[0].from,\r\n setOfStatistics[0].invoiceType,\r\n setOfStatistics[0].isLargeCapacity,\r\n ontimeperc,\r\n setOfStatistics[0].productType,\r\n tot,\r\n totCredit,\r\n totOnTime,\r\n totOpenOf12,\r\n setOfStatistics[0].until,\r\n MeasurementMutationReason.MOVETOT, // Enum made custom for this\r\n );\r\n });\r\n return moveCombined;\r\n }\r\n\r\n groupForTable() {\r\n const reports = this.originalAcmReport;\r\n\r\n const groupedReports = asList(\r\n groupBy(reports, (ungroupedReports: any) => '' + ungroupedReports.productType + ungroupedReports.invoiceType + ungroupedReports.mutationReason),\r\n );\r\n\r\n const newGrouped = groupedReports.map((typeOfReport) => {\r\n const listByMonth = [];\r\n // fil her up with the amount of dates we have (it's dynamically)\r\n listByMonth.fill(null, 0, this.reportDates.length);\r\n const dates = this.reportDates;\r\n typeOfReport.forEach((report) => {\r\n const index = dates.indexOf(report.from.moment.format('YYYY-MM'));\r\n if (index !== -1) {\r\n listByMonth[index] = report;\r\n }\r\n });\r\n\r\n return {\r\n productType: typeOfReport[0].productType !== undefined ? typeOfReport[0].productType : '',\r\n invoiceType: typeOfReport[0].invoiceType !== undefined ? typeOfReport[0].invoiceType : '',\r\n mutationReason: typeOfReport[0].mutationReason !== undefined ? typeOfReport[0].mutationReason : '',\r\n list: listByMonth,\r\n };\r\n });\r\n\r\n this.grouped = newGrouped;\r\n this.grouped.sort((a: { productType: number }, b: { productType: number }) => {\r\n if (a.productType > b.productType) return 1;\r\n if (a.productType < b.productType) return -1;\r\n return 0;\r\n });\r\n }\r\n\r\n getMonths(startdate?: string) {\r\n let start: string;\r\n let end: moment.MomentInput;\r\n\r\n if (startdate !== undefined) {\r\n start = startdate;\r\n } else {\r\n start = '2013-01'; // hardcoded start of our report data\r\n }\r\n\r\n if (this.selectedYears !== undefined || this.selectedYears.length !== 0) {\r\n // sort it A-Z, since it doesnt do that, doing this before picking the last is kinda required.\r\n this.selectedYears.sort();\r\n end = moment(this.selectedYears[this.selectedYears.length - 1])\r\n .endOf('year')\r\n .format('YYYY-MM-DD');\r\n } else {\r\n end = moment().add(1, 'years').format('YYYY-MM-DD');\r\n }\r\n\r\n const dates = [];\r\n const arrayOfMonths: any = [];\r\n for (let m = moment(start); m.diff(end, 'days') <= 0; m.add(1, 'month')) {\r\n dates.push(m.format('YYYY-MM'));\r\n }\r\n this.reportDates = dates;\r\n return dates;\r\n }\r\n\r\n createReportDates(listOfDates) {\r\n // get first\r\n // get last\r\n // determine the boundaries of which to create the array to map the data on\r\n const first = listOfDates.reduce((a, b) => (a.from.moment < b.from.moment ? a : b));\r\n let last = listOfDates.reduce((a, b) => (a.from.moment > b.from.moment ? a : b));\r\n\r\n if (this.selectedYears[this.selectedYears.length - 1] > last.from.moment.format('YYYY')) {\r\n last = this.selectedYears[this.selectedYears.length - 1];\r\n }\r\n const data = this.getMonths(first.from.moment.format('YYYY-MM'));\r\n //group for tavle\r\n }\r\n\r\n combineReportData() {\r\n // check settings\r\n // filter list\r\n // create a list of dates to fill (getMonths) (From and until)\r\n\r\n const listOfReports = this.filteredAcmReport;\r\n\r\n const first = listOfReports.reduce((a, b) => (a.from.moment < b.from.moment ? a : b));\r\n let last = listOfReports.reduce((a, b) => (a.from.moment > b.from.moment ? a : b));\r\n if (this.selectedYears[this.selectedYears.length - 1] > last.from.moment.format('YYYY')) {\r\n last = this.selectedYears[this.selectedYears.length - 1];\r\n }\r\n const listOfDatesForReport = this.getMonths(first.from.moment.format('YYYY-MM'));\r\n\r\n // create a list of acmreports by group to map on the dates\r\n const reports = this.originalAcmReport;\r\n\r\n const groupedListOfReports = asList(\r\n groupBy(listOfReports, (reports: any) => '' + reports.productType + reports.invoiceType + reports.mutationReason),\r\n );\r\n\r\n // combine the lists\r\n const newGrouped = groupedListOfReports.map((typeOfReport) => {\r\n const listByMonth = [];\r\n // fil her up with the amount of dates we have (it's dynamically)\r\n listByMonth.fill(null, 0, listOfDatesForReport.length);\r\n typeOfReport.forEach((report) => {\r\n const index = listOfDatesForReport.indexOf(report.from.moment.format('YYYY-MM'));\r\n if (index !== -1) {\r\n listByMonth[index] = report;\r\n }\r\n });\r\n return {\r\n productType: typeOfReport[0].productType != undefined ? typeOfReport[0].productType : '',\r\n invoiceType: typeOfReport[0].invoiceType != undefined ? typeOfReport[0].invoiceType : '',\r\n mutationReason: typeOfReport[0].mutationReason != undefined ? typeOfReport[0].mutationReason : '',\r\n list: listByMonth,\r\n };\r\n });\r\n\r\n this.grouped = newGrouped;\r\n\r\n // Sort the result on product, type and reason\r\n this.grouped.sort((a, b) => {\r\n if (a.productType > b.productType) return 1;\r\n if (a.productType < b.productType) return -1;\r\n if (a.invoiceType > b.invoiceType) return 1;\r\n if (a.invoiceType < b.invoiceType) return -1;\r\n if (a.mutationReason > b.mutationReason) return 1;\r\n if (a.mutationReason < b.mutationReason) return -1;\r\n return 0;\r\n });\r\n }\r\n\r\n getReport(value) {\r\n if (value === 'Totaal') {\r\n this.filteredAcmReport = this.originalAcmReport;\r\n this.resetFilters();\r\n this.filterOnValue();\r\n }\r\n\r\n if (value === 'Jaarafrekeningen') {\r\n this.selectedMutationReasons = ['Anders'];\r\n this.selectedInvoiceTypes = [];\r\n this.filterOnValue('YearlySettlement', 'invoiceType');\r\n }\r\n\r\n if (value === 'Verhuizingen') {\r\n this.selectedMutationReasons = [MeasurementMutationReason.MOVEIN, MeasurementMutationReason.MOVEOUT, MeasurementMutationReason.MOVETOT];\r\n this.selectedInvoiceTypes = ['FinalSettlement', 'YearlySettlement', 'Periodic'];\r\n this.filterOnValue();\r\n }\r\n\r\n if (value === 'Switches') {\r\n this.selectedMutationReasons = ['SWITCHLV', 'SWITCHPV', 'EOSUPPLY'];\r\n this.selectedInvoiceTypes = ['FinalSettlement', 'YearlySettlement', 'Periodic'];\r\n this.filterOnValue();\r\n }\r\n this.selectedReport = value;\r\n }\r\n\r\n setAcmSpecificationOnOff(acmreportstatistic?) {\r\n // for the specifications on click\r\n if (acmreportstatistic === undefined) {\r\n this.acmReportSpecification = null; // reset the value\r\n this.showSpecification = false;\r\n } else {\r\n this.showSpecification = true;\r\n this.acmReportSpecification = acmreportstatistic;\r\n }\r\n }\r\n\r\n setUniqueValues() {\r\n // Get all years and InvoiceTypes, dynamically from report values.\r\n let yearsList = this.originalAcmReport;\r\n yearsList = yearsList.map((stat) => stat.from.moment.format('YYYY'));\r\n this.years = Array.from(new Set(yearsList));\r\n this.years.sort();\r\n\r\n let invoiceList = this.originalAcmReport;\r\n invoiceList = invoiceList.map((stat) => stat.invoiceType);\r\n this.invoiceTypes = Array.from(new Set(invoiceList));\r\n }\r\n\r\n getStatistics() {\r\n this.numberOfTotal = this.filteredAcmReport.length;\r\n }\r\n\r\n async getMutationReasons() {\r\n // Get MutationReason enums from API and add two custom values, Anders and MOVETOT\r\n this.mutationReasons = await this.enumsService\r\n .getAll(Enums.MutationReason)\r\n .then((result) => result.map((enumdescription) => enumdescription.Value.toString()))\r\n // Bind a value for undefined; Anders and our custom MeasurementMutationReason.MOVETOT which will not be returned from the enumservice\r\n .then((result) => result.concat([MeasurementMutationReason.MOVETOT, 'Anders']));\r\n return this.mutationReasons;\r\n }\r\n\r\n removeUnusedReasons() {\r\n this.originalAcmReport.acmReportStatistics.map((stat) => stat.mutationReason);\r\n }\r\n\r\n filterOnValue(value?, type?) {\r\n if (value === undefined) {\r\n this.applyFilters();\r\n return;\r\n }\r\n //If object is undefined it was not a click event. Default values\r\n if (value !== undefined) {\r\n if (type === 'Tenants') {\r\n if (this.selectedTenants.includes(value)) {\r\n this.selectedTenants = this.selectedTenants.filter((tenant) => tenant !== tenant);\r\n } else {\r\n this.selectedTenants.push(value);\r\n }\r\n this.applyFilters();\r\n return;\r\n }\r\n if (type === 'selectedYears') {\r\n if (this.selectedYears.includes(value)) {\r\n this.selectedYears = this.selectedYears.filter((years) => years !== value);\r\n } else {\r\n this.selectedYears.push(value);\r\n }\r\n this.applyFilters();\r\n return;\r\n }\r\n\r\n if (type === 'invoiceType') {\r\n if (this.selectedInvoiceTypes.includes(value)) {\r\n this.selectedInvoiceTypes = this.selectedInvoiceTypes.filter((invoicetype) => invoicetype !== value);\r\n } else {\r\n this.selectedInvoiceTypes.push(value);\r\n }\r\n this.applyFilters();\r\n return;\r\n }\r\n\r\n if (type === 'productType') {\r\n if (this.selectedProductTypes.includes(value)) {\r\n this.selectedProductTypes = this.selectedProductTypes.filter((producttype) => producttype !== value);\r\n } else {\r\n this.selectedProductTypes.push(value);\r\n }\r\n this.applyFilters();\r\n return;\r\n }\r\n\r\n if (type === 'mutationReason') {\r\n if (this.selectedMutationReasons.includes(value)) {\r\n this.selectedMutationReasons = this.selectedMutationReasons.filter((mutation) => mutation !== value);\r\n } else {\r\n this.selectedMutationReasons.push(value);\r\n }\r\n this.applyFilters();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n async resetFilters() {\r\n // this.selectedYears = this.years;\r\n this.selectedProductTypes = ['Electricity', 'Gas'];\r\n this.selectedInvoiceTypes = this.invoiceTypes;\r\n this.selectedMutationReasons = this.mutationReasons;\r\n }\r\n\r\n applyFilters() {\r\n let newListOfAcmReport = this.originalAcmReport;\r\n newListOfAcmReport = newListOfAcmReport.filter((acm) => this.selectedYears.includes(acm.from.moment.format('YYYY')));\r\n newListOfAcmReport = newListOfAcmReport.filter((acm) => this.selectedProductTypes.includes(acm.productType));\r\n newListOfAcmReport = newListOfAcmReport.filter((acm) => this.selectedInvoiceTypes.includes(acm.invoiceType));\r\n newListOfAcmReport = newListOfAcmReport.filter((acm) => this.selectedMutationReasons.includes(acm.mutationReason));\r\n\r\n // set our set to the filtered list\r\n this.filteredAcmReport = newListOfAcmReport;\r\n // new report using the above function, grouped is never set.\r\n this.combineReportData();\r\n }\r\n\r\n inSelectedYears(value) {\r\n if (this.selectedYears.includes(value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n inSelectedInvoiceType(value) {\r\n if (this.selectedInvoiceTypes.includes(value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n inSelectedProductType(value) {\r\n if (this.selectedProductTypes.includes(value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n inSelectedTenants(value) {\r\n if (this.selectedTenants.includes(value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n inSelectedMutationReason(value) {\r\n if (this.selectedMutationReasons.includes(value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getAmountOfAcmItemsOfYear(value, active?) {\r\n if (active === 'inactive') {\r\n return this.originalAcmReport.filter((acm) => acm.from.moment.format('YYYY') === value).length;\r\n } else {\r\n return this.filteredAcmReport.filter((acm) => acm.from.moment.format('YYYY') === value).length;\r\n }\r\n }\r\n\r\n getAmountOfAcmItemsOfTenant(value, active?) {\r\n if (active === 'inactive') {\r\n return this.originalAcmReport.length;\r\n } else {\r\n return this.filteredAcmReport.length;\r\n }\r\n }\r\n\r\n getAmountOfAcmItemsOfInvoiceType(value, active?) {\r\n if (active === 'inactive') {\r\n return this.originalAcmReport.filter((acm) => acm.invoiceType === value).length;\r\n } else {\r\n return this.filteredAcmReport.filter((acm) => acm.invoiceType === value).length;\r\n }\r\n }\r\n getAmountOfAcmItemsOfProductType(value, active?) {\r\n if (active === 'inactive') {\r\n return this.originalAcmReport.filter((acm) => acm.productType === value).length;\r\n } else {\r\n return this.filteredAcmReport.filter((acm) => acm.productType === value).length;\r\n }\r\n }\r\n\r\n getAmountOfAcmItemsOfMutationReason(value, active?) {\r\n if (active === 'inactive') {\r\n return this.originalAcmReport.filter((acm) => acm.mutationReason === value).length;\r\n } else {\r\n return this.filteredAcmReport.filter((acm) => acm.mutationReason === value).length;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Selecteer een metric \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n   \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Facturatie Tijdigheids Grafiek\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n Facturatie Tijdigheids Rapportage\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n Selecteer een leverancier doormiddel van de selectie linksboven in het dashboard.

\r\n\r\n
\r\n
\r\n error Er zijn meerder Tenants geselecteerd, dit levert\r\n gecombineerde data op.
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n Rapportage jaren
\r\n \r\n \r\n   \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Product
\r\n \r\n \r\n   \r\n \r\n
\r\n\r\n
\r\n Type factuur
\r\n \r\n \r\n   \r\n \r\n
\r\n\r\n
0\">\r\n Reden
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n ACM Rapportage gecreëerd op: {{createdOnDate | date:\r\n 'yyyy-MM-dd'}}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Van: {{acmReportSpecification.from.moment | date: 'yyyy-MM-dd'}}\r\n Tot: {{acmReportSpecification.until.moment | date:\r\n 'yyyy-MM-dd'}}
Totaal aantal creditfacturen {{acmReportSpecification.totalCredit | number : '1.0-0'}}
Totaal aantal creditfacturen (%) {{acmReportSpecification.creditPercentage | number : '1.2-2'}}%
Totaal aantal facturen {{acmReportSpecification.total | number : '1.0-0'}}
Totaal aantal op tijd {{acmReportSpecification.totalOnTime | number : '1.0-0'}}
Totaal aantal op tijd (%) {{acmReportSpecification.onTimePercentage | number : '1.2-2'}}%
Process-
maand
{{date}}
ProductTarget typeReden
{{mutationreason.productType}}{{mutationreason.invoiceType}}{{mutationreason.mutationReason}}\r\n \r\n {{month.onTimePercentage | number : '1.2-2'}}%\r\n \r\n \r\n \r\n unknown\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n {{acm.onTimePercentage}}\r\n {{acm.Total}}\r\n","import moment, { Moment } from 'moment';\r\nimport { InvoiceDeadline, Timestamp } from 'src/app/Connection';\r\nimport { BlobResponseHelper } from 'src/app/helpers/BlobResponseHelper';\r\nimport { AcmService } from 'src/app/services/acm.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'acm-specification-tab-component',\r\n templateUrl: './AcmSpecificationTabComponent.html',\r\n styleUrls: ['./AcmSpecificationTabComponent.scss'],\r\n})\r\nexport class AcmSpecificationTabComponent {\r\n @Input() acmInvoiceDeadlines: InvoiceDeadline[];\r\n @Input() tab: string;\r\n @Input() createdOnDate: Timestamp;\r\n\r\n originalDeadlines: InvoiceDeadline[];\r\n\r\n acmdeadlines: any;\r\n\r\n invoiceDeadlines: any;\r\n\r\n filterFromDate: Moment;\r\n\r\n isLoading = false;\r\n\r\n runDate: Moment;\r\n totalNumberSince: number;\r\n\r\n constructor(private router: Router, private errorService: ErrorService, private acmService: AcmService) { }\r\n\r\n ngOnInit() {\r\n const backup = this.acmInvoiceDeadlines;\r\n this.originalDeadlines = backup;\r\n }\r\n\r\n onSearchChange(searchValue: string): void {\r\n const searchableACMdeadlines = this.originalDeadlines; // return all original values\r\n this.acmInvoiceDeadlines = searchableACMdeadlines.filter((deadline) => deadline.connectionId.includes(searchValue)); // search through and set EANs\r\n }\r\n allInvoiceTypes: string[] = ['Periodic', 'FinalSettlement', 'InitialAdvanceInvoice', 'YearlySettlement'];\r\n onFilterChange(invoiceType: string): void {\r\n const searchableACMdeadlines = this.originalDeadlines; // return all original values\r\n this.acmInvoiceDeadlines = searchableACMdeadlines.filter((deadline) => deadline.invoiceType === invoiceType); // search through and set EANs\r\n }\r\n\r\n async downloadPeriodicInvoiceDeadlinesCSV() {\r\n await this.downloadInvoiceDeadlinesCSV(['Periodic']);\r\n }\r\n\r\n async downloadInvoiceDeadlinesCSV(invoiceTypes?: string[]) {\r\n // CSV boolean to true, tenant is not yet supported, is done using the tenantselecter and tenantservice.\r\n const downloadFile: any = await this.acmService\r\n .getInvoiceDeadlines(invoiceTypes ?? this.allInvoiceTypes, null, true)\r\n .catch((e) => this.errorService.addError(e.error.message));\r\n\r\n BlobResponseHelper.downloadFile(downloadFile);\r\n }\r\n\r\n // Navigatie by URL en kan langs tabbladen heen.\r\n goTo(uri: string) {\r\n // Tabdetection\r\n let tabnumber: string;\r\n // if a tab is found, do a tap URI change, else goto the URI in the link.\r\n if (tabnumber != null) {\r\n // console.log(location.pathname + 'tabnumber: ' + tabnumber);\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(location.pathname + '?tab=' + tabnumber));\r\n } else {\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(uri));\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n ACM: De werklijst ({{acmInvoiceDeadlines.length}})\r\n \r\n \r\n ACM: De achterstandlijst ({{acmInvoiceDeadlines.length}})\r\n \r\n \r\n ACM: Verstreken deadlineslijst ({{acmInvoiceDeadlines.length}})\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n De lijst van facturen die binnen nu en 4 weken verzonden moet\r\n worden.\r\n \r\n \r\n De specificatie van gemiste deadlines en die nog moeten worden\r\n verzonden (openstaande gemiste deadlines), van de afgelopen 2\r\n maanden.\r\n \r\n \r\n De lijst van facturen die zijn gemaakt en verstuurd, maar niet\r\n binnen de ACM, of eigen gestelde deadline zijn verstuurd (dus te\r\n laat gefactureerd), van de afgelopen 2 maanden.\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Filter op EAN:\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Filter op Factuur type \r\n \r\n \r\n {{invoiceType}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n ACM Deadlines gecreëerd op: {{createdOnDate | date:\r\n 'yyyy-MM-dd'}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
GeldigheidACM DeadlineFactuurdatumFactuurnummerDoorlooptijdEANKlantnummerProductGV/KVTypeRedenUrgentie
\r\n {{invoicedeadline.from | date: 'yyyy-MM-dd'}} -\r\n \r\n {{invoicedeadline.until | date:\r\n 'yyyy-MM-dd'}}\r\n \r\n {{invoicedeadline.until | date: 'yyyy-MM-dd'}}\r\n \r\n {{invoicedeadline.actualInvoiceDateTime | date:\r\n 'yyyy-MM-dd'}}\r\n {{invoicedeadline.invoiceNumber}}{{invoicedeadline.daysLeadTime}} dagen{{invoicedeadline.connectionId}}{{invoicedeadline.customerId}}{{invoicedeadline.productType}}\r\n GV\r\n KV\r\n {{invoicedeadline.invoiceType}}{{invoicedeadline.mutationReason}}\r\n {{invoicedeadline.urgency}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import * as moment from 'moment';\r\nimport { asList, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { BlobResponseHelper } from 'src/app/helpers/BlobResponseHelper';\r\nimport { Tenant } from 'src/app/modules/operations-api';\r\nimport { AcmService } from 'src/app/services/acm.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'billing-completeness',\r\n templateUrl: './billing-completeness.component.html',\r\n styleUrls: ['./billing-completeness.component.scss'],\r\n})\r\nexport class BillingCompletenessComponent implements OnInit {\r\n @Input() createdOnDate: any;\r\n @Input() invoiceDeadlines; //:InvoiceDeadline[];\r\n @Input() filteredAcmReport;\r\n\r\n completeReport;\r\n filteredDeadlines;\r\n time = false;\r\n allInvoiceTypes: string[] = ['Periodic', 'InitialAdvanceInvoice'];\r\n invoiceType = 'Periodic';\r\n tenant: string = Tenant.NieuweStroom;\r\n allTenants: string[] = [Tenant.EasyEnergy, Tenant.NieuweStroom];\r\n showReport = false;\r\n\r\n constructor(private acmService: AcmService, private errorService: ErrorService) { }\r\n\r\n ngOnInit() {\r\n const report = this.filteredAcmReport;\r\n if (!report) return\r\n const perProductType = asList(groupBy(report, (report: any) => '' + report.productType));\r\n const thisIsTheReportYouAreLookingFor = perProductType.map((product) => this.makeReport(product));\r\n this.completeReport = thisIsTheReportYouAreLookingFor;\r\n\r\n this.filterDeadlines();\r\n }\r\n\r\n transform() {\r\n // need monthly invoices -> Periodic + Initial Advance invoices\r\n // per period, thus the amount of 'had to send invoices'\r\n // versus the missed ones.\r\n // list to work with\r\n // Credits which have happened in a period, which are still open, are still open! This likely conflicts with ACM, or maybe not.\r\n // Nice to have (meter status, start of delivery, incasso day + 3 is the )\r\n // We look for what deadlines are still open (and missed in current period is also achterstand)\r\n }\r\n\r\n async downloadPeriodicInvoiceDeadlinesCSV() {\r\n // CSV boolean to true, tenant is not yet supported, is done using the tenantselecter and tenantservice.\r\n const downloadFile: any = await this.acmService\r\n .getInvoiceDeadlines([this.invoiceType], this.tenant, true)\r\n .catch((e) => this.errorService.addError(e.error.message));\r\n\r\n BlobResponseHelper.downloadFile(downloadFile);\r\n }\r\n\r\n setSelectedInvoiceType(invoiceType: string): void {\r\n this.invoiceType = invoiceType;\r\n }\r\n\r\n setSelectedTenant(tenant: string): void {\r\n this.tenant = tenant;\r\n }\r\n\r\n makeReport(product) {\r\n let keyPeriodic = 'Maandfacturen (VS en VB)';\r\n let keyOneVS = 'Eerste voorschotten';\r\n let keyTotal = 'Totaal';\r\n\r\n let productType = product[0].productType;\r\n\r\n let dates = this.getDates();\r\n\r\n if (product == undefined || product.length == 0) {\r\n return;\r\n }\r\n\r\n // Make a list based on types Montly\r\n let listperiodic = product.filter((report) => report.invoiceType == 'Periodic');\r\n let listonevs = product.filter((report) => report.invoiceType == 'InitialAdvanceInvoice');\r\n\r\n // map on a list of dates if there is no date\r\n let per = this.mapReportStatisticOnDate(listperiodic, dates);\r\n let onevs = this.mapReportStatisticOnDate(listonevs, dates);\r\n let tot = this.combineLists(per, onevs);\r\n\r\n let report = {};\r\n report[keyTotal] = tot;\r\n report[keyPeriodic] = per;\r\n report[keyOneVS] = onevs;\r\n\r\n let reportperproduct = {};\r\n reportperproduct['productType'] = productType;\r\n reportperproduct['report'] = report;\r\n\r\n return reportperproduct;\r\n }\r\n getDates() {\r\n let start: string;\r\n let end: string;\r\n\r\n let first = this.filteredAcmReport.reduce(function (a, b) {\r\n return a.from.moment < b.from.moment ? a : b;\r\n });\r\n let last = this.filteredAcmReport.reduce(function (a, b) {\r\n return a.from.moment > b.from.moment ? a : b;\r\n });\r\n start = first.from.moment.format('YYYY-MM');\r\n end = last.from.moment.format('YYYY-MM');\r\n\r\n let dates = [];\r\n for (let m = moment(start); m.diff(end, 'days') <= 0; m.add(1, 'month')) {\r\n dates.push(m.format('YYYY-MM'));\r\n }\r\n return dates;\r\n }\r\n\r\n combineLists(one, two) {\r\n let combino = one.map(function (num, index) {\r\n let newCombined: any = {};\r\n if (num == null) {\r\n return two[index];\r\n }\r\n if (two[index] == null) {\r\n return num;\r\n }\r\n newCombined.total = num.total + two[index].total;\r\n newCombined.totalOnTime = num.totalOnTime + two[index].totalOnTime;\r\n newCombined.totalCredit = num.totalCredit + two[index].totalCredit;\r\n newCombined.totalOpenInvoiceDeadlinesOfLast12Months =\r\n num.totalOpenInvoiceDeadlinesOfLast12Months + two[index].totalOpenInvoiceDeadlinesOfLast12Months;\r\n newCombined.onTimePercentage = (newCombined.totalOnTime / newCombined.total) * 100;\r\n // Open and missed deadlines\r\n\r\n return newCombined;\r\n });\r\n return combino;\r\n }\r\n\r\n mapReportStatisticOnDate(listOfStatistics, dates) {\r\n // fil her up with the amount of dates we have (it's dynamically)\r\n let listByMonth = dates.map((populate) => {\r\n return null;\r\n });\r\n listOfStatistics.forEach((report) => {\r\n let index = dates.indexOf(report.from.moment.format('YYYY-MM'));\r\n if (index !== -1) {\r\n listByMonth[index] = report;\r\n }\r\n });\r\n return listByMonth;\r\n }\r\n\r\n filterDeadlines() {\r\n // default filter, montly invoices.\r\n let deadlines = this.invoiceDeadlines.invoiceDeadlines.filter(\r\n (deadline) => deadline.actualInvoiceDateTime == null && (deadline.invoiceType == 'InitialAdvanceInvoice' || deadline.invoiceType == 'Periodic'),\r\n );\r\n this.filteredDeadlines = deadlines;\r\n }\r\n\r\n clickedACMstat;\r\n deadlinesToView;\r\n setAcmPopup(stat?) {\r\n // with stat = set, without stat = reset\r\n return stat ? (this.clickedACMstat = stat) : (this.clickedACMstat = null);\r\n }\r\n\r\n setDeadlinesPopup(name?, deadlines?) {\r\n if (name && deadlines) {\r\n this.deadlinesToView = {};\r\n this.deadlinesToView['name'] = name;\r\n this.deadlinesToView['deadlines'] = deadlines;\r\n } else {\r\n this.deadlinesToView = null;\r\n }\r\n return;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Volledigheids rapportage maandfacturen \r\n
\r\n
\r\n
\r\n
\r\n d.d. {{ createdOnDate }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ reportOfProductType.productType }}\r\n \r\n \r\n {{ month.from | date: \"yyyy-MM\" }}\r\n \r\n
\r\n {{ type.key }}\r\n \r\n \r\n {{ month.onTimePercentage | number: \"1.2-2\" }}%\r\n \r\n \r\n Totaal: {{ month.total }}
\r\n Op tijd: {{ month.totalOnTime }}
\r\n Gecrediteerd: {{ month.totalCredit }}
\r\n Achterstanden:\r\n {{ month.totalOpenInvoiceDeadlinesOfLast12Months }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n Download de lijst van maandelijkse facturen die nog openstaan\r\n (eerste voorschot en maandelijkse).\r\n
\r\n
\r\n
\r\n
\r\n \r\n Filter op tenant \r\n \r\n \r\n {{ tenant }}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Filter op invoice type\r\n \r\n \r\n {{ invoiceType }}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
GeldigheidACM DeadlineEANKlantnummerProductGV/KVTypeRedenUrgentie
\r\n {{ deadline.from | date: \"yyyy-MM-dd\" }} -\r\n \r\n {{\r\n deadline.until | date: \"yyyy-MM-dd\"\r\n }}\r\n {{ deadline.until | date: \"yyyy-MM-dd\" }}{{ deadline.connectionId }}{{ deadline.customerId }}{{ deadline.productType }}\r\n GV\r\n KV\r\n {{ deadline.invoiceType }}{{ deadline.mutationReason }}{{ deadline.urgency }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Statistiek
\r\n \r\n {{ spec.key }} :\r\n \r\n \r\n {{ spec.value }}\r\n \r\n 0\r\n \">\r\n \r\n \r\n

\r\n
\r\n
\r\n\r\n
\r\n Sluiten\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{ deadlinesToView.name }} ({{ deadlinesToView.deadlines.length }})\r\n
\r\n 0\">\r\n
\r\n {{ deadlinesToView.name }} ({{\r\n deadlinesToView.deadlines.length\r\n }})\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
EANKlantnummerFactuurnummer
{{ deadline.ConnectionId }}{{ deadline.CustomerId }}{{ deadline.InvoiceNumber }}
\r\n
\r\n
\r\n\r\n
\r\n Sluiten\r\n
\r\n
\r\n
\r\n
","import { Router } from '@angular/router';\r\n\r\nexport abstract class BaseComponent {\r\n public searchString: string;\r\n\r\n constructor(protected router: Router) {}\r\n\r\n abstract fetchData();\r\n\r\n goTo(location: string) {\r\n this.router.navigate([location]);\r\n }\r\n}\r\n","import { Connection, ConsumptionWithMeasurementsInterval, Issue } from 'src/app/Connection';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ConsumptionPeriodService } from 'src/app/services/consumption-period.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { IssueService } from 'src/app/services/issue.service';\r\nimport { RouterService } from 'src/app/services/router.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { environment } from '@environment';\r\n\r\n@Component({\r\n selector: 'connection-component',\r\n templateUrl: './ConnectionComponent.html',\r\n styleUrls: ['./ConnectionComponent.scss'],\r\n})\r\nexport class ConnectionComponent implements OnInit {\r\n connection?: Connection;\r\n issues?: Issue[];\r\n tab = 0;\r\n initializedList: any[] = [];\r\n consumptionMeasurements: ConsumptionWithMeasurementsInterval[];\r\n deleteMeasurements = false;\r\n currenttenant: string;\r\n isLoading: boolean;\r\n noConnectionError: string;\r\n\r\n production: boolean = environment.production;\r\n connectionId: string;\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private connectionService: ConnectionService,\r\n private consumptionPeriodService: ConsumptionPeriodService,\r\n private issueService: IssueService,\r\n private errorService: ErrorService,\r\n private routerService: RouterService,\r\n ) {}\r\n\r\n async ngOnInit() {\r\n this.consumptionPeriodService.resetInterval();\r\n this.isLoading = true;\r\n this.connectionId = this.activatedRoute.snapshot.params.connectionid;\r\n let tab = 0;\r\n if (this.activatedRoute.snapshot.queryParams['tab'] != null) {\r\n tab = Number.parseInt(this.activatedRoute.snapshot.queryParams['tab'], 10);\r\n }\r\n this.tab = tab;\r\n this.initializedList.push(tab);\r\n await this.connectionService\r\n .getByConnectionId(this.activatedRoute.snapshot.params.connectionid)\r\n .then((connection) => {\r\n this.connection = connection;\r\n this.currenttenant = this.getCurrentConnectionTenant();\r\n })\r\n .catch((error) => {\r\n this.noConnectionError = error;\r\n throw new Error(error);\r\n });\r\n\r\n if (this.connection) {\r\n await this.issueService\r\n .getAllForConnection(this.connection.Id)\r\n .then((issues) => (this.issues = issues))\r\n .catch((error) => {\r\n throw new Error(error);\r\n });\r\n }\r\n this.isLoading = false;\r\n }\r\n\r\n setDeleteMeasurements(deleteMeasurements: boolean) {\r\n this.deleteMeasurements = deleteMeasurements;\r\n }\r\n loadConsumptionMeasurements(consumptionMeasurements: ConsumptionWithMeasurementsInterval[]) {\r\n this.consumptionMeasurements = consumptionMeasurements;\r\n }\r\n\r\n getCurrentConnectionTenant(): any | null {\r\n if (this.connection === null || this.connection.CustomerConnections.length === 0 || this.connection.ConnectionMeters.length === 0) {\r\n return null;\r\n }\r\n return this.connection.CustomerConnections[this.connection.CustomerConnections.length - 1].Customer.Tenant;\r\n }\r\n\r\n selectTab(tab: number) {\r\n this.tabWasInitialized(tab);\r\n if (location.pathname.indexOf('tab=') > 0) {\r\n history.pushState(null, '', location.pathname.substring(0, location.pathname.indexOf('?tab=')) + 'tab=' + tab);\r\n } else {\r\n history.pushState(null, '', location.pathname + '?tab=' + tab);\r\n }\r\n this.routerService.updateParameters(this.activatedRoute, this.router, { tab });\r\n this.tab = tab;\r\n }\r\n\r\n tabWasInitialized(tabNumber: number) {\r\n if (!this.initializedList.includes(tabNumber)) {\r\n this.initializedList.push(tabNumber);\r\n }\r\n }\r\n isInitialized(i: number) {\r\n return this.initializedList.includes(i);\r\n }\r\n\r\n goToIssue(issue: Issue) {\r\n this.router.navigate(['/connection', this.activatedRoute.snapshot.params.connectionid, 'issue', issue.Id]);\r\n }\r\n\r\n updateConnectionWithLatestMarketData() {\r\n const tenant = this.getCurrentConnectionTenant();\r\n this.connectionService\r\n .updateConnectionWithLatestMarketData(this.connection.Id, tenant)\r\n .catch((error) => this.errorService.addError(error.message));\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Aansluiting\r\n \r\n {{connection.Id}}\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n

\r\n Geen aansluiting kunnen ophalen , vermeld bij een ticket\r\n voor ICT graag\r\n onderstaand bericht\r\n

\r\n\r\n
\r\n            {{noConnectionError | json}}\r\n          
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","import moment from 'moment';\r\nimport {\r\n ClusterId,\r\n Connection,\r\n ConnectionConnectionCapacitie,\r\n ConnectionLocation,\r\n ConnectionMeter,\r\n CustomerConnection,\r\n Timestamp,\r\n} from 'src/app/Connection';\r\nimport { ModalService } from 'src/app/modules/shared/components/modal/modal.service';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { TranslationFromMemoryOrApiService } from 'src/app/services/translation-from-memory-or-api.service';\r\nimport { formatDate } from \"@angular/common\"\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { HistoryModel } from '../../../history-table/historymodel';\r\nimport { from as asEnumerable } from 'linq-to-typescript';\r\n\r\nexport interface ForecastType {\r\n value: ClusterId;\r\n viewValue: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-connection-info-component',\r\n templateUrl: './ConnectionInfoComponent.html',\r\n styleUrls: ['./ConnectionInfoComponent.scss'],\r\n})\r\nexport class ConnectionInfoComponent implements OnInit {\r\n @Input() connection: Connection;\r\n\r\n from: Timestamp;\r\n noConnectionMeter = false;\r\n selectedForecastType: ClusterId;\r\n connectionInfo: any = {};\r\n connectionCustomer: any = {};\r\n connectionContact: any = {};\r\n connectionLocation: any = {};\r\n connectionGridOperator: any = {};\r\n connectionGridArea: any = {};\r\n connectionProfileCode: any = {};\r\n connectionAllocationMethod: any = {};\r\n connectionTarifSwitch: any = {};\r\n connectionCapacity: any = {};\r\n connectionPhysicalState: any = {};\r\n connectionSupplyType: any = {};\r\n\r\n connectionProfileCodeHistory = [];\r\n connectionAllocationHistory = [];\r\n connectionTarifSwitchHistory = [];\r\n connectionCapacityHistory = [];\r\n connectionPhysicalStateHistory = [];\r\n connectionSupplyTypeHistory = [];\r\n\r\n constructor(\r\n private connectionService: ConnectionService,\r\n private notificationService: NotificationService,\r\n private modalService: ModalService,\r\n private translation: TranslationFromMemoryOrApiService,\r\n ) { }\r\n\r\n handleTimestamp(event: any) {\r\n this.from = null;\r\n this.from = event.value;\r\n }\r\n\r\n getInfoFromConnectionMeter() {\r\n this.connectionInfo.Ean = this.connection.Id;\r\n this.connectionInfo.ProductType = this.connection.ProductType;\r\n this.connectionInfo.ConnectionType = this.getLastConnectionCluster();\r\n this.connectionLocation.Address = this.getLastConnectionLocation()?.Address ?? 'N/A';\r\n this.connectionLocation.Legislation = this.getLastConnectionLocation()?.Legislation ?? 'N/A';\r\n this.connectionCapacity = this.getLastCapacity();\r\n this.connectionAllocationMethod = this.getAllocationMethod();\r\n this.connectionGridOperator = this.getLastGridOperator();\r\n this.connectionGridArea = this.getLastGridArea();\r\n this.connectionProfileCode = this.getLastProfileCode();\r\n this.connectionTarifSwitch = this.getTariffSwitch();\r\n this.connectionPhysicalState = this.getLastPhysicalState();\r\n this.connectionSupplyType = this.getLastSupplyType();\r\n\r\n if (!this.connection.ConnectionLocations || this.connection.ConnectionLocations.length === 0) {\r\n this.notificationService.showError('Geen locatie kunnen vinden voor aansluiting');\r\n }\r\n\r\n if (this.connection.ConnectionMeters && this.connection.ConnectionMeters.length > 0) {\r\n const activeConnectionMeter = this.getActiveConnectionMeter();\r\n this.connectionInfo.activeMeter = activeConnectionMeter;\r\n this.connectionInfo.mId = activeConnectionMeter ?.ExternalId ?? 'N/A';\r\n this.connectionInfo.mIsTelemeter = activeConnectionMeter ?.Meter ?.IsTelemeter;\r\n this.connectionInfo.mIsOperational = activeConnectionMeter ?.TelemetryIsOperational;\r\n\r\n this.connectionInfo.mMultiplicationFactor = activeConnectionMeter ?.Meter ?.MeasurementDisplays[0] ?.MultiplicationFactor ?? 'N/A';\r\n this.connectionInfo.currenttenant = this.getCurrentConnectionTenant();\r\n } else {\r\n this.noConnectionMeter = true;\r\n }\r\n }\r\n\r\n getActiveConnectionMeter(): ConnectionMeter {\r\n const active = this.connection.ConnectionMeters.filter(\r\n (c) => c.Interval.From <= moment() && (c.Interval.Until == null || c.Interval.Until > moment()),\r\n );\r\n return active.length > 0 ? active[active.length - 1] : null;\r\n }\r\n\r\n getInfoFromCurrentConnectionCustomer() {\r\n const lastCustomer = this.getLastCustomer();\r\n this.connectionCustomer.Id = lastCustomer ?.Customer ?.Id ?? 'N/A';\r\n this.connectionCustomer.Name = lastCustomer ?.Customer ?.Name ?? 'N/A';\r\n this.connectionCustomer.Tenant = lastCustomer ?.Customer ?.Tenant ?? 'N/A';\r\n }\r\n\r\n async ngOnInit() {\r\n await this.getInfoFromConnectionMeter();\r\n this.getInfoFromCurrentConnectionCustomer();\r\n }\r\n\r\n getLastSupplyType(): any | null {\r\n if (this.connection == null || this.connection.ConnectionSupplyTypes.length === 0) {\r\n return null;\r\n }\r\n\r\n this.connectionSupplyTypeHistory = this.connection.ConnectionSupplyTypes;\r\n return this.connection.ConnectionSupplyTypes[this.connection.ConnectionSupplyTypes.length - 1];\r\n }\r\n\r\n getLastPhysicalState(): any | null {\r\n if (this.connection == null || this.connection.ConnectionPhysicalStates.length === 0) {\r\n return null;\r\n }\r\n\r\n this.connectionPhysicalStateHistory = this.connection.ConnectionPhysicalStates;\r\n\r\n return this.connection.ConnectionPhysicalStates[this.connection.ConnectionPhysicalStates.length - 1];\r\n }\r\n\r\n getLastConnectionCluster(): any | null {\r\n if (this.connection == null || this.connection.ConnectionClusters === undefined || this.connection.ConnectionClusters.length === 0) {\r\n return null;\r\n }\r\n\r\n const edsnMarketSegment = this.connection.ConnectionClusters.filter((ct) => ct.clusterId.clusterType === 'EdsnMarketSegment');\r\n return edsnMarketSegment[edsnMarketSegment.length - 1];\r\n }\r\n\r\n getSelectedClusterId(): any | null {\r\n if (this.connection == null) {\r\n return null;\r\n }\r\n const connectionCluster = this.connection.ConnectionClusters.filter((ct) => ct.clusterId.clusterType === 'DexterForecast');\r\n if (connectionCluster === undefined || connectionCluster.length === 0) {\r\n return null;\r\n }\r\n return connectionCluster[connectionCluster.length - 1].clusterId;\r\n }\r\n\r\n getCurrentConnectionTenant(): any | null {\r\n if (this.connection == null || this.connection.CustomerConnections.length === 0 || this.connection.ConnectionMeters.length === 0) {\r\n return null;\r\n }\r\n return this.connection.CustomerConnections[this.connection.CustomerConnections.length - 1].Customer.Tenant;\r\n }\r\n\r\n getLastCapacity(): ConnectionConnectionCapacitie | null {\r\n if (this.connection == null || this.connection.ConnectionConnectionCapacities.length === 0) {\r\n return null;\r\n }\r\n\r\n this.connectionCapacityHistory = this.connection.ConnectionConnectionCapacities;\r\n\r\n return this.connection.ConnectionConnectionCapacities[this.connection.ConnectionConnectionCapacities.length - 1];\r\n }\r\n\r\n getLastConnectionContacts() {\r\n if (this.connection == null || this.connection.ConnectionContacts == null || this.connection.ConnectionContacts.length === 0) {\r\n return null;\r\n }\r\n return this.connection.ConnectionContacts[this.connection.ConnectionContacts.length - 1];\r\n }\r\n\r\n getLastConnectionLocation(): ConnectionLocation | null {\r\n if (this.connection == null || this.connection.ConnectionLocations == null || this.connection.ConnectionLocations.length === 0) {\r\n return null;\r\n }\r\n \r\n return this.connection.ConnectionLocations[this.connection.ConnectionLocations.length - 1];\r\n }\r\n\r\n getLastCustomer(): CustomerConnection | null {\r\n if (this.connection == null || this.connection.CustomerConnections == null || this.connection.CustomerConnections.length === 0) {\r\n return null;\r\n }\r\n return this.connection.CustomerConnections[this.connection.CustomerConnections.length - 1];\r\n }\r\n\r\n getTariffSwitch(): any | null {\r\n if (this.connection == null || this.connection.ConnectionTariffSwitches.length === 0) {\r\n return null;\r\n }\r\n\r\n this.connectionTarifSwitchHistory = this.connection.ConnectionTariffSwitches;\r\n\r\n return this.connection.ConnectionTariffSwitches[this.connection.ConnectionTariffSwitches.length - 1];\r\n }\r\n\r\n getLastGridOperator(): any | null {\r\n if (this.connection == null || this.connection.ConnectionGridOperators == null || this.connection.ConnectionGridOperators.length === 0) {\r\n return null;\r\n }\r\n\r\n let gridOperator = this.connection.ConnectionGridOperators[this.connection.ConnectionGridOperators.length - 1];\r\n\r\n const gridOperatorTranslated = this.translation.getTranslation(\r\n 'Frontend',\r\n 'Netbeheerders',\r\n gridOperator.gridOperatorId,\r\n );\r\n\r\n return { grid: gridOperatorTranslated, date: gridOperator.interval.From };\r\n }\r\n\r\n getLastGridArea(): any | null {\r\n if (this.connection == null || this.connection.ConnectionGridAreas == null || this.connection.ConnectionGridAreas.length === 0) {\r\n return null;\r\n }\r\n\r\n let area = this.connection.ConnectionGridAreas[this.connection.ConnectionGridAreas.length - 1];\r\n\r\n return { id: area.gridAreaId, date: area.interval.From };\r\n }\r\n\r\n getLastProfileCode(): any | null {\r\n this.connectionProfileCodeHistory = this.connection.ConnectionProfiles;\r\n\r\n if (this.connection == null || this.connectionProfileCodeHistory == null || this.connectionProfileCodeHistory.length === 0) {\r\n return null;\r\n }\r\n\r\n let profileCode;\r\n let profileDate;\r\n\r\n this.connectionProfileCodeHistory.forEach((x) => {\r\n if (x.Interval.Until == null) {\r\n profileCode = x.ProfileId;\r\n profileDate = x.Interval.From;\r\n }\r\n });\r\n\r\n return { code: profileCode, date: profileDate };\r\n }\r\n\r\n openModal(id: string) {\r\n this.modalService.open(id);\r\n }\r\n\r\n getAllocationMethod() {\r\n if (this.connection.ConnectionAllocationMethods == null || this.connection.ConnectionAllocationMethods.length === 0) {\r\n return null;\r\n }\r\n\r\n this.connectionAllocationHistory = this.connection.ConnectionAllocationMethods;\r\n\r\n var lastAllocationMethod = this.connectionAllocationHistory[this.connectionAllocationHistory.length - 1];\r\n\r\n if (this.connectionInfo.ConnectionType ?.clusterId ?.name === 'KV' && lastAllocationMethod.allocationMethod === 'Telemetric') {\r\n lastAllocationMethod.allocationMethod = 'SMA';\r\n }\r\n\r\n return lastAllocationMethod\r\n }\r\n\r\n updateConnectionWithLatestMarketData() {\r\n const tenant = this.getLastCustomer().Customer.Tenant;\r\n this.connectionService.updateConnectionWithLatestMarketData(this.connection.Id, tenant);\r\n\r\n const icon = document.getElementById('icon');\r\n\r\n if (icon != null) {\r\n icon.style.color = 'lightgrey';\r\n }\r\n }\r\n\r\n mapToHistoryModel(data: any[], keyName: string) {\r\n if (data === null || data.length === 0) {\r\n return;\r\n }\r\n\r\n var mapped: HistoryModel[] = [];\r\n data.forEach(element => {\r\n var openEnd = element.Interval.Until === undefined || element.Interval.Until === null;\r\n var model = new HistoryModel(element[keyName], formatDate(element.Interval.From, 'dd-MM-yyyy', 'nl-NL'), openEnd ? '' : formatDate(element.Interval.Until, 'dd-MM-yyyy', 'nl-NL'));\r\n mapped.push(model);\r\n });\r\n\r\n return asEnumerable(mapped).orderByDescending((ts: HistoryModel) => ts.Until).toArray();\r\n }\r\n\r\n getconnectionAllocationHistory() {\r\n if (this.connectionAllocationHistory === null || this.connectionAllocationHistory.length === 0) {\r\n return;\r\n }\r\n\r\n var mapped = [];\r\n\r\n this.connectionAllocationHistory.forEach(element => {\r\n var key = this.connectionInfo.ConnectionType === 'KV' && element.allocationMethod === 'Telemetric' ? 'SMA' : element.allocationMethod;\r\n var openEnd = element.interval.Until === undefined || element.interval.Until === null;\r\n var model = new HistoryModel(key,\r\n formatDate(element.interval.From, 'dd-MM-yyyy', 'nl-NL'),\r\n openEnd ? '' : formatDate(element.interval.Until, 'dd-MM-yyyy', 'nl-NL'))\r\n mapped.push(model);\r\n });\r\n\r\n return asEnumerable(mapped).orderByDescending((ts) => ts.Until).toArray();\r\n }\r\n\r\n getProfileCodeHistory() {\r\n return this.mapToHistoryModel(this.connectionProfileCodeHistory, 'ProfileId');\r\n }\r\n\r\n getTarifSwitchHistory() {\r\n return this.mapToHistoryModel(this.connectionTarifSwitchHistory, 'TariffSwitch');\r\n }\r\n\r\n getCapacityHistory() {\r\n return this.mapToHistoryModel(this.connectionCapacityHistory, 'ConnectionCapacity');\r\n }\r\n\r\n getPhysicalStateHistory() {\r\n return this.mapToHistoryModel(this.connectionPhysicalStateHistory, 'PhysicalState');\r\n }\r\n\r\n getSupplyTypeHistory() {\r\n return this.mapToHistoryModel(this.connectionSupplyTypeHistory, 'supplyType');\r\n }\r\n}\r\n","
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Aansluiting overzicht\r\n \r\n update\r\n \r\n
\r\n
\r\n
\r\n

\r\n EAN:\r\n {{connectionInfo.Ean}}
\r\n Product:\r\n {{connectionInfo.ProductType}}
\r\n Type aansluiting:\r\n {{connectionInfo.ConnectionType?.clusterId.name ?? 'N/A'}}
\r\n Capaciteit:\r\n 1\" class=\"ns-link\" (click)=\"openModal('connectionCapacity')\" matTooltip=\"{{connectionCapacity?.Interval?.From | date: 'dd-MM-yyyy'}}\">\r\n {{connectionCapacity?.ConnectionCapacity ?? 'N/A' }}\r\n \r\n \r\n {{connectionCapacity?.ConnectionCapacity ?? 'N/A'}}\r\n \r\n
\r\n Allocatie Methode:\r\n 1\" class=\"ns-link\" (click)=\"openModal('connectionAllocationMethod')\" matTooltip=\"{{connectionAllocationMethod?.interval?.From | date: 'dd-MM-yyyy'}}\">\r\n {{connectionAllocationMethod?.allocationMethod ?? 'N/A' }}\r\n \r\n {{connectionAllocationMethod?.allocationMethod\r\n ?? 'N/A'}}\r\n \r\n
\r\n \r\n Stad:\r\n {{connectionLocation.Address.City}}
\r\n Postcode:\r\n {{connectionLocation.Address.Postcode}}
\r\n Adres:\r\n {{connectionLocation.Address.Street +\" \"+ connectionLocation.Address.HouseNumber}}\r\n \r\n {{connectionLocation.Address.HouseNumberSuffix}}\r\n \r\n {{connectionLocation.Address.LocationOnStreet}}\r\n
\r\n

\r\n
\r\n
\r\n

\r\n Netbeheerder:\r\n {{connectionGridOperator?.grid\r\n ?? 'N/A' | translation:'Netbeheerders' }}\r\n
\r\n Netgebied:\r\n {{connectionGridArea?.id ?? 'N/A'}}\r\n
\r\n Profielcode:\r\n 1\" class=\"ns-link\" (click)=\"openModal('connectionProfileCode')\" matTooltip=\"{{connectionProfileCode?.date | date: 'dd-MM-yyyy'}}\">\r\n {{connectionProfileCode?.code ?? 'N/A'}}\r\n \r\n \r\n {{connectionProfileCode?.code ?? 'N/A'}}\r\n \r\n
\r\n Tarief Overgang:\r\n 1\" class=\"ns-link\" (click)=\"openModal('connectionTarifSwitch')\" matTooltip=\"{{connectionTarifSwitch?.Interval?.From | date: 'dd-MM-yyyy'}}\">\r\n {{connectionTarifSwitch?.TariffSwitch ?? 'N/A'}}\r\n \r\n \r\n {{connectionTarifSwitch?.TariffSwitch ?? 'N/A'}}\r\n \r\n
\r\n Fysieke status:\r\n 1\" class=\"ns-link\" (click)=\"openModal('connectionPhysicalState')\" matTooltip=\"{{connectionPhysicalState?.Interval?.From | date: 'dd-MM-yyyy'}}\">\r\n {{connectionPhysicalState?.PhysicalState ?? 'N/A'}}\r\n \r\n \r\n {{connectionPhysicalState?.PhysicalState ?? 'N/A'}}\r\n \r\n
\r\n Type levering:\r\n 1\" class=\"ns-link\" (click)=\"openModal('connectionSupplyType')\" matTooltip=\"{{connectionSupplyType?.Interval?.From | date: 'dd-MM-yyyy'}}\">\r\n {{connectionSupplyType?.supplyType ?? 'N/A'}}\r\n \r\n \r\n {{connectionSupplyType?.supplyType ?? 'N/A'}}\r\n \r\n
\r\n \r\n
\r\n Geen meter voor deze aansluiting.
\r\n
\r\n \r\n P4 (slimme meter):\r\n {{connectionInfo.mIsTelemeter\r\n !== undefined ? (connectionInfo.mIsTelemeter ? 'Ja' : 'Nee') : 'N.v.t'}}
\r\n Actief:\r\n {{connectionInfo.mIsOperational\r\n !== undefined ? (connectionInfo.mIsOperational ? 'Ja' : 'Nee') : 'N.v.t'}}
\r\n MultiplicationFactor:\r\n {{connectionInfo.mMultiplicationFactor}}
\r\n Huidig MeterID:\r\n {{connectionInfo.mId}}\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Klant informatie
\r\n

\r\n Leverancier:\r\n {{connectionCustomer.Tenant}}
\r\n Klantnummer:\r\n {{connectionCustomer.Id}}
\r\n Naam:\r\n {{connectionCustomer.Name}}
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Aansluiting details
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n","
\r\n
\r\n
\r\n
Verbruiken en meterstanden
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","import { Connection, ConsumptionWithMeasurementsInterval, ProductType } from 'src/app/Connection';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'consumption-tab-component',\r\n templateUrl: './ConsumptionTabComponent.html',\r\n styleUrls: ['./ConsumptionTabComponent.scss'],\r\n})\r\nexport class ConsumptionTabComponent implements OnInit {\r\n @Input() connection: Connection;\r\n @Input() consumptionMeasurements: ConsumptionWithMeasurementsInterval[];\r\n @Input() deleteMeasurements: boolean;\r\n\r\n displaychoice = 'Consumptions';\r\n productTypeToRender: ProductType;\r\n\r\n constructor() {}\r\n\r\n async ngOnInit() {\r\n this.productTypeToRender = this.connection.ProductType;\r\n }\r\n}\r\n","import moment from 'moment';\r\nimport { BaseComponent } from 'src/app/Components/BaseComponent';\r\nimport {\r\n BoundaryType,\r\n ByTariff,\r\n Connection,\r\n ConsumptionPerClosedDateRange,\r\n DateRange,\r\n Measurement,\r\n ProductType,\r\n Tariff,\r\n Timestamp,\r\n} from 'src/app/Connection';\r\nimport { asList, entries, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { compareAscendingByDateOrTimestamp, getValueForComparison, MeasurementMomentType } from 'src/app/helpers/MeasurementHelper';\r\nimport { makeConsumptionListViewModel, makeMeasurementListViewModel } from 'src/app/helpers/ViewModelHelper';\r\nimport { ConsumptionService } from 'src/app/services/consumption.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'market-measurements-tab-component',\r\n templateUrl: './MarketMeasurementsTabComponent.html',\r\n styleUrls: ['./MarketMeasurementsTabComponent.scss'],\r\n\r\n})\r\n\r\nexport class MarketMeasurementsTabComponent extends BaseComponent implements OnInit {\r\n @Input() connection: Connection;\r\n @Input() deleteMeasurements: boolean;\r\n\r\n isLoading: boolean = false;\r\n showNewConsumptionFunctions: boolean = true;\r\n\r\n // TableVariables\r\n\r\n eventMeasurementsViewModel: any;\r\n showMeasurements: boolean = true;\r\n showClosedDateConsumptions: boolean = true;\r\n\r\n closedDateRangeConsumptions: ConsumptionPerClosedDateRange[];\r\n originalClosedDateRangeConsumptions: ConsumptionPerClosedDateRange[];\r\n\r\n constructor(\r\n protected router: Router,\r\n private measurementService: MeasurementService,\r\n private errorService: ErrorService,\r\n private consumptionService: ConsumptionService,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n super(router);\r\n }\r\n\r\n async ngOnInit() {\r\n await this.fetchData();\r\n }\r\n\r\n async fetchData() {\r\n this.isLoading = true;\r\n let from = moment().subtract(8, 'year');\r\n let until = moment().add(1, 'year');\r\n\r\n // Get Closed Date Range Consumptions\r\n let varClosedDateRangeCons: ConsumptionPerClosedDateRange[] = await this.consumptionService.getForClosedDateRange(\r\n this.connection.Id,\r\n new DateRange(new Timestamp(from), BoundaryType.Closed, new Timestamp(until), BoundaryType.Closed)\r\n )\r\n\r\n this.originalClosedDateRangeConsumptions = varClosedDateRangeCons\r\n makeConsumptionListViewModel(varClosedDateRangeCons);\r\n let groupedCons = this.groupConsPerByDate(varClosedDateRangeCons);\r\n this.closedDateRangeConsumptions = this.toConsumptionViewModel(groupedCons);\r\n\r\n // Get Measurements for date\r\n let varMeasurementsForDate = await this.measurementService.getAllForDate(\r\n this.connection.Id,\r\n new DateRange(new Timestamp(from), BoundaryType.Closed, new Timestamp(until), BoundaryType.Closed),\r\n );\r\n\r\n makeMeasurementListViewModel(varMeasurementsForDate, this.connection)\r\n let groupedMeas = this.groupMeasurementsPerByDate(varMeasurementsForDate);\r\n let sortedMeas = this.sortIntervalGroups(groupedMeas);\r\n this.eventMeasurementsViewModel = this.toViewModel(sortedMeas);\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n groupConsPerByDate(consumptions: ConsumptionPerClosedDateRange[]) {\r\n let groups = asList(groupBy(consumptions, (consumption: any) => \"\" + consumption.Id.From + consumption.ClosedDateRange.From + consumption.ClosedDateRange.Until));\r\n return groups\r\n }\r\n\r\n groupMeasurementsPerByDate(measurements: Measurement[]): ByTariff[] {\r\n let groups = groupBy(\r\n measurements,\r\n (m: Measurement) => getValueForComparison(m, MeasurementMomentType.Timestamp) + m.Id.MeterId + (m.Id.Timestamp ? 'time' : 'date'),\r\n (m: Measurement[]) => this.getByTariff(m)\r\n );\r\n return entries(groups).map(e => e.value as ByTariff);\r\n }\r\n\r\n sortIntervalGroups(groups: ByTariff[]): ByTariff[] {\r\n return groups.sort((a, b) => compareAscendingByDateOrTimestamp(a.any(), b.any()));\r\n }\r\n\r\n toConsumptionViewModel(consumptionsByDateInterval: any): any {\r\n let viewConsumptions = consumptionsByDateInterval.map((c) => {\r\n let consumptionNormal = c.find((cpertariff) => cpertariff.Id.Tariff == Tariff.normal || cpertariff.Id.Tariff == null); // null for gas.\r\n let consumptionLow = c.find((cpertariff) => cpertariff.Id.Tariff == Tariff.low);\r\n\r\n let viewConsumption = {};\r\n viewConsumption = {\r\n Id: {\r\n ConnectionId: consumptionNormal.Id.ConnectionId,\r\n From: consumptionNormal.Id.From,\r\n },\r\n IdNormal: {\r\n MutationState: consumptionNormal.MutationState,\r\n Tariff: consumptionNormal.Id.Tariff,\r\n ModifiedTimestamp: consumptionNormal.Id.ModifiedTimestamp\r\n },\r\n IdLow: consumptionLow == undefined ? undefined : {\r\n MutationState: consumptionLow.MutationState,\r\n Tariff: consumptionLow.Id.Tariff,\r\n ModifiedTimestamp: consumptionLow.Id.ModifiedTimestamp\r\n },\r\n ProsumptionLow: consumptionLow != undefined ? consumptionLow.Prosumption : undefined,\r\n ClosedDateRange: consumptionNormal.ClosedDateRange,\r\n ProsumptionNormal: consumptionNormal.Prosumption,\r\n\r\n ProductType: consumptionNormal.ProductType,\r\n Tenant: consumptionNormal.Tenant,\r\n CustomerId: consumptionNormal.CustomerId,\r\n }\r\n return viewConsumption\r\n })\r\n return viewConsumptions\r\n }\r\n\r\n makeConsumptionViewModel(consumptionsByDateInterval) {\r\n // if gas, one consumption with tariff null\r\n // if elek, two consumptions, one per tarif, possibly no production (0 or null).\r\n }\r\n\r\n\r\n toViewModel(measurementsByTariff: ByTariff[]): any {\r\n let viewMeasurements = measurementsByTariff.map(m => {\r\n\r\n let viewMeasurement = {}\r\n viewMeasurement = {\r\n Id: {\r\n ConnectionId: m.Normal[0].Id.ConnectionId,\r\n MeterId: m.Normal[0].Id.MeterId,\r\n Date: m.Normal[0].Id.Date,\r\n Timestamp: m.Normal[0].Id.Timestamp,\r\n },\r\n IdNormal: {\r\n MeasurementSource: m.Normal[0].Id.MeasurementSource,\r\n Tariff: m.Normal[0].Id.Tariff,\r\n ModifiedTimestamp: m.Normal[0].Id.ModifiedTimestamp,\r\n },\r\n IdLow: {\r\n MeasurementSource: m.Low[0] != undefined ? m.Low[0].Id.MeasurementSource : undefined,\r\n Tariff: m.Low[0] != undefined ? m.Low[0].Id.Tariff : undefined,\r\n ModifiedTimestamp: m.Low[0] != undefined ? m.Low[0].Id.ModifiedTimestamp : undefined,\r\n },\r\n ProsumptionNormal: m.Normal[0].Prosumption,\r\n ProsumptionLow: m.Low[0] != undefined ? m.Low[0].Prosumption : undefined,\r\n ProductType: m.Normal[0].ProductType,\r\n Tenant: m.Normal[0].Tenant,\r\n CustomerId: m.Normal[0].CustomerId,\r\n }\r\n return viewMeasurement\r\n })\r\n return viewMeasurements\r\n }\r\n listOfEdits = [];\r\n editConsumption(cons) {\r\n console.log(cons)\r\n console.log(this.originalClosedDateRangeConsumptions)\r\n this.listOfEdits.push(cons.IdNormal.ModifiedTimestamp)\r\n let normal = this.originalClosedDateRangeConsumptions.find(c => c.Id.ModifiedTimestamp === cons.IdNormal.ModifiedTimestamp)\r\n let low = this.originalClosedDateRangeConsumptions.find(c => c.Id.ModifiedTimestamp === cons.IdLow.ModifiedTimestamp)\r\n let both = this.originalClosedDateRangeConsumptions\r\n .filter(c => c.Id.ModifiedTimestamp === cons.IdNormal.ModifiedTimestamp || c.Id.ModifiedTimestamp === cons.IdLow.ModifiedTimestamp)\r\n console.log(both)\r\n }\r\n\r\n getByTariff(measurements: Measurement[]): ByTariff {\r\n // measurements;\r\n return new ByTariff(\r\n measurements.filter(m => m.Id.Tariff === undefined || m.Id.Tariff === null),\r\n measurements.filter(m => m.Id.Tariff === Tariff.normal),\r\n measurements.filter(m => m.Id.Tariff === Tariff.low)\r\n );\r\n }\r\n\r\n deleteConsumption(consumption) {\r\n this.deleteNormalConsumption(consumption);\r\n this.deleteLowConsumption(consumption);\r\n }\r\n\r\n getBaseJson(consumption): any {\r\n let jsonDelete = {\r\n\r\n \"Tariff\": null,\r\n \"ConnectionId\": consumption.Id.ConnectionId,\r\n \"From\": consumption.Id.From.moment.format('YYYY-MM-DD')\r\n\r\n };\r\n return jsonDelete;\r\n }\r\n\r\n deleteNormalConsumption(consumption) {\r\n let jsonDeleteNormal = this.getBaseJson(consumption);\r\n if (this.connection.ProductType != 'Gas') {\r\n jsonDeleteNormal['Tariff'] = 'Normal';\r\n }\r\n\r\n\r\n this.consumptionService.deleteConsumption(jsonDeleteNormal);\r\n }\r\n\r\n deleteLowConsumption(consumption) {\r\n\r\n if (this.connection.ProductType != \"Gas\" && consumption.ProsumptionLow != undefined) {\r\n let jsonDeleteLow = this.getBaseJson(consumption);\r\n jsonDeleteLow['Tariff'] = 'Low';\r\n\r\n this.consumptionService.deleteConsumption(jsonDeleteLow);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n\r\n   \r\n\r\n \r\n\r\n   \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n Eventstanden\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
VerbruikTeruglevering
Meter IdDatumNormaalLaagNormaalLaagBron
{{measurement.Id.MeterId}}{{measurement.Id.Date.LocalDate}}\r\n \r\n {{measurement.ProsumptionNormal.Consumption}}\r\n \r\n \r\n \r\n {{measurement.ProsumptionLow.Consumption}}\r\n \r\n \r\n \r\n {{measurement.ProsumptionNormal.Production}}\r\n \r\n \r\n \r\n {{measurement.ProsumptionLow.Production}}\r\n \r\n \r\n \r\n
\r\n
","import moment, { Moment } from 'moment';\r\nimport {\r\n BoundaryType,\r\n Connection,\r\n DateRange,\r\n Measurement,\r\n MeasurementCommunication,\r\n MeasurementCommunicationType,\r\n Timestamp,\r\n} from 'src/app/Connection';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementCommunicationService } from 'src/app/services/measurement-communication.service';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'measurement-communication-tab-component',\r\n templateUrl: './MeasurementCommunicationTabComponent.html',\r\n styleUrls: ['./MeasurementCommunicationTabComponent.scss'],\r\n})\r\nexport class MeasurementCommunicationTabComponent implements OnInit {\r\n @Input() connection: Connection;\r\n // @Input() actionError :boolean;\r\n\r\n measurements: Measurement[] = [];\r\n\r\n showIssueContextList: any[] = [];\r\n\r\n dataSource = this.measurements;\r\n\r\n isLoading: boolean = false;\r\n\r\n // Emitter from create-measurements-customer-components sets this boolean\r\n measurementSuccesfullyCreated: boolean;\r\n\r\n MMCstate: any;\r\n MMCdate: Moment = moment();\r\n // MMCdateLimit\r\n\r\n sendMailToCustomer: boolean = false; // For the API call\r\n\r\n sendMessage: boolean = false;\r\n\r\n resultType: string;\r\n resultMessage: string;\r\n\r\n errorOccurred: boolean;\r\n\r\n MMCdateControl = new UntypedFormControl(this.MMCdate);\r\n\r\n selectedType: MeasurementCommunicationType;\r\n\r\n untilBlockDate: Moment;\r\n blockedUntil;\r\n\r\n mctypes: any = [\r\n {\r\n name: 'Jaarafrekening meterstand',\r\n value: 'annualInvoiceRequest',\r\n },\r\n {\r\n name: 'Gain (MOVEIN, SWITCHLV)',\r\n value: 'transactionDossierStepRequest',\r\n },\r\n {\r\n name: 'Loss (MOVEOUT, EOSUPPLY)',\r\n value: 'transactionDossierStepRequestLoss',\r\n },\r\n {\r\n name: 'Periodiek verzoek',\r\n value: 'periodicRequest',\r\n },\r\n {\r\n name: 'Slimme meterstoring',\r\n value: 'telemetryNotOperationalRequest',\r\n },\r\n {\r\n name: 'Jaarovergang meterstand',\r\n value: 'annualTransitionRequest',\r\n },\r\n ];\r\n\r\n constructor(\r\n private measurementService: MeasurementService,\r\n private measurementCommunicationService: MeasurementCommunicationService,\r\n private errorService: ErrorService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getConnectionMMCstatus();\r\n this.getAllMeasurementCommunications();\r\n }\r\n\r\n setMMCdate(event: any) {\r\n this.MMCdate = event.value;\r\n }\r\n\r\n getCurrentCustomerId(): any | null {\r\n if (this.connection == null || this.connection.ConnectionMeters == null || this.connection.ConnectionMeters.length == 0) {\r\n return null;\r\n }\r\n return this.connection.CustomerConnections[this.connection.CustomerConnections.length - 1].Customer.Id;\r\n }\r\n\r\n isMMCEnabled() {\r\n return this.MMCstate.mmcEnabled;\r\n }\r\n\r\n async getConnectionMMCstatus() {\r\n this.isLoading = true;\r\n\r\n this.MMCstate = await this.measurementCommunicationService\r\n .getConnectionMeasurementCommunication(this.connection.Id)\r\n .catch((error) => this.errorService.addError(error.message));\r\n\r\n this.blockedUntil = this.MMCstate ? this.MMCstate.blockedUntil : null;\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n async setConnectionMMCstatus() {\r\n if (!this.connection.Id) {\r\n return this.errorService.addError('Geen connectie informatie beschikbaar.');\r\n }\r\n if (!this.MMCstate) {\r\n return this.errorService.addError('Geen communicatiestatus beschikbaar.');\r\n }\r\n const invertedState = !this.MMCstate.mmcEnabled;\r\n const blockedUntil = this.untilBlockDate === undefined || this.untilBlockDate === null ? null : this.untilBlockDate.format('YYYY-MM-DD');\r\n await this.measurementCommunicationService\r\n .setConnectionMeasurementCommunication(this.connection.Id, invertedState, blockedUntil)\r\n .catch((error) => this.errorService.addError(error.message));\r\n this.getConnectionMMCstatus();\r\n }\r\n\r\n sendMCRequest() {\r\n if (!this.selectedType) {\r\n return this.errorService.addError('Selecteer een reden.');\r\n }\r\n\r\n let stringOfSelectedType = this.selectedType.toString();\r\n let localDate = this.MMCdate.format('YYYY-MM-DD');\r\n this.measurementCommunicationService\r\n .sendMeasurementCommunication(this.connection.Id, stringOfSelectedType, localDate, this.sendMailToCustomer)\r\n .then((result) => {\r\n console.log(result);\r\n if (result == true) {\r\n console.log('Request Send');\r\n this.resultType = 'succes';\r\n this.resultMessage = 'Verstuurd!';\r\n }\r\n if (result == false) {\r\n console.log('Request Send, result false');\r\n this.resultType = 'danger';\r\n this.resultMessage = 'Helaas, probeer een andere EAN en noteer deze EAN voor ICT.';\r\n }\r\n this.sendMessage = true;\r\n })\r\n .then(() => this.getAllMeasurementCommunications())\r\n .catch((error) => this.errorService.addError(error.message));\r\n }\r\n getConnectionId(): any | null {\r\n if (this.connection == null) {\r\n return null;\r\n }\r\n return this.connection.Id;\r\n }\r\n\r\n showIssueContextCheck(i: number) {\r\n return this.showIssueContextList.includes(i);\r\n }\r\n\r\n blockMeasurementCommunication(i: number) {\r\n var block = this.allMeasurementCommunication[i];\r\n block._obj['_obj']['BlockedSince'] = moment().format('YYYY-MM-DD$HH:mm:ss#').replace('$', 'T').replace('#', 'Z');\r\n console.log(block._obj['_obj']);\r\n this.measurementCommunicationService.blockContactMeasurementCommunication(block._obj['_obj']);\r\n }\r\n\r\n isActive(i: number) {\r\n var measurementCommunication = this.allMeasurementCommunication[i];\r\n return measurementCommunication.BlockedSince == null;\r\n }\r\n\r\n showIssueContext(i: number) {\r\n let index = this.showIssueContextList.indexOf(i);\r\n if (index > -1) {\r\n this.showIssueContextList.splice(index);\r\n } else {\r\n this.showIssueContextList.push(i);\r\n }\r\n }\r\n\r\n showCreateMeasurementButton(measurementsReceived) {\r\n return measurementsReceived.text != 'Meterstand ontvangen';\r\n }\r\n\r\n openMeasurementCommunicationRequest(measurementCommunication) {\r\n let mmcURL = this.measurementCommunicationService.generateMMCLink(this.connection.Id, measurementCommunication);\r\n window.open(mmcURL, '_blank');\r\n }\r\n\r\n allMeasurementCommunication: any;\r\n\r\n async getAllMeasurementCommunications() {\r\n const start = moment('2020-01-01');\r\n const end = moment('2030-12-31'); // hardcoded, since we don't need it yet.\r\n\r\n const allMeasurementCommunications = await this.measurementCommunicationService\r\n .getAllMeasurementCommunication(\r\n this.connection.Id,\r\n new DateRange(new Timestamp(start), BoundaryType.Closed, new Timestamp(end), BoundaryType.Open),\r\n )\r\n .catch((e) => {\r\n this.errorOccurred = true;\r\n this.errorService.addError(e.error.message);\r\n });\r\n\r\n if (allMeasurementCommunications) {\r\n this.allMeasurementCommunication = allMeasurementCommunications.sort(\r\n (a: MeasurementCommunication, b: MeasurementCommunication) =>\r\n b.ContactMeasurementCommunicationId.Timestamp.valueOf() - a.ContactMeasurementCommunicationId.Timestamp.valueOf(),\r\n );\r\n }\r\n\r\n // Doe iets met mapping ENUM / STRING uit de API\r\n }\r\n\r\n measurementsReceived(measurementCommunicationItem) {\r\n if (measurementCommunicationItem == null || measurementCommunicationItem == undefined) {\r\n throw 'Error with measurementCommunication';\r\n }\r\n // > 0 means measurements received, which were validated and possibly have thrown an issue.\r\n const measurementReceived = measurementCommunicationItem.MeasurementCommunicationMeasurements.length > 0;\r\n const isReminderSend = measurementCommunicationItem.ReminderTimestamp != null;\r\n const isBlocked = measurementCommunicationItem.BlockedSince != null;\r\n const status: any = {};\r\n\r\n const timestamp = measurementCommunicationItem.ContactMeasurementCommunicationId.Timestamp.moment;\r\n const expirationDate = moment(timestamp).add(14, 'days');\r\n\r\n if (measurementReceived) {\r\n // We have measurements / WHO SHOULD VALIDATE? or COUPLE error? via an the issue id.\r\n status['icon'] = 'check';\r\n status['text'] = 'Meterstand ontvangen';\r\n return status;\r\n }\r\n\r\n if (measurementReceived && isBlocked) {\r\n // We have measurements / WHO SHOULD VALIDATE? or COUPLE error? via an the issue id.\r\n status['icon'] = 'healing';\r\n status['text'] = 'Geblokkeerd, maar meterstand ontvangen';\r\n return status;\r\n }\r\n\r\n if (isBlocked) {\r\n // We have measurements / WHO SHOULD VALIDATE? or COUPLE error? via an the issue id.\r\n status['icon'] = 'blocked';\r\n status['text'] = 'Geblokkeerd';\r\n return status;\r\n }\r\n\r\n if (!measurementReceived && moment() > expirationDate && !isBlocked) {\r\n status['icon'] = 'cancel';\r\n status['text'] = 'Verlopen';\r\n return status;\r\n }\r\n\r\n if (!measurementReceived && !isBlocked && !isReminderSend) {\r\n status['icon'] = 'timer';\r\n status['text'] = 'Wacht op klant';\r\n return status;\r\n }\r\n\r\n if (!measurementReceived && !isBlocked && isReminderSend) {\r\n status['icon'] = 'notifications';\r\n status['text'] = 'Reminder verstuurd';\r\n return status;\r\n }\r\n }\r\n\r\n measurementAdded(succesfullBoolean: boolean) {\r\n // set emitted boolean to a local variable in parent\r\n succesfullBoolean ? (this.measurementSuccesfullyCreated = true) : (this.measurementSuccesfullyCreated = false);\r\n // reset the boolean for the next run (does not really work yet as desired, does not update in the UI, maybe a OnChanges? Or push succes messages in an array which are then shown?)\r\n setTimeout(function () {\r\n this.measurementSuccesfullyCreated = false;\r\n console.log('Timeout van feedbackbox');\r\n }, 5000);\r\n }\r\n\r\n blockDate(untilDate) {\r\n this.untilBlockDate = untilDate.value ? moment(untilDate.value) : null;\r\n console.log('untilDate', this.untilBlockDate, untilDate);\r\n }\r\n\r\n async clearDate(event) {\r\n event.stopPropagation();\r\n this.untilBlockDate = null;\r\n }\r\n}\r\n\r\nexport interface mmcStatus {\r\n icon: string;\r\n text: string;\r\n}\r\n","\r\n
\r\n
\r\n
\r\n Status meterstanden communicatie\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
StatusBlokkeerDeblokkeer
Meterstandencommunicatie\r\n Actief\r\n Geblokkeerd zonder\r\n einddatum\r\n Geblokkeerd tot {{blockedUntil}}\r\n \r\n \r\n \r\n clear\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n   \r\n\r\n Selecteer een reden:\r\n   \r\n\r\n \r\n     Verzend mail naar klant:\r\n \r\n    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n Meterstanden kaarten\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DatumTypeMeter IdStatusActie
\r\n Fout opgetreden. Neem contact op met ICT.\r\n
\r\n {{measurementCommunication.ContactMeasurementCommunicationId.Timestamp.moment\r\n | date: 'yyyy-MM-dd HH:mm' }}\r\n \r\n {{measurementCommunication.ContactMeasurementCommunicationId.MeasurementCommunicationType}}\r\n \r\n {{measurementCommunication.ContactMeasurementCommunicationId.MeterId}}\r\n \r\n {{measurementsReceived(measurementCommunication).icon}}\r\n {{measurementsReceived(measurementCommunication).text}}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n block\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n No Communication available\r\n \r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
","import { BaseComponent } from 'src/app/Components/BaseComponent';\r\nimport {\r\n ByTariff,\r\n Connection,\r\n ConsumptionWithMeasurementsInterval,\r\n Interval,\r\n Measurement,\r\n MeasurementId,\r\n MeasurementSourceDetail,\r\n ProductType,\r\n Tariff,\r\n} from 'src/app/Connection';\r\nimport { entries, groupBy, uniqueItemsOfArray } from 'src/app/helpers/ArrayHelper';\r\nimport {\r\n compareAscendingByDateOrTimestamp,\r\n getMoment,\r\n getValueForComparison,\r\n inferDeletedFromMeasurements,\r\n MeasurementMomentType,\r\n} from 'src/app/helpers/MeasurementHelper';\r\nimport { makeMeasurementListViewModel } from 'src/app/helpers/ViewModelHelper';\r\nimport { ConsumptionPeriodService } from 'src/app/services/consumption-period.service';\r\nimport { ConsumptionService } from 'src/app/services/consumption.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementSourceDetailService } from 'src/app/services/measurement-source-detail.service';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\n\r\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'measurements-tab-component',\r\n templateUrl: './MeasurementsTabComponent.html',\r\n styleUrls: ['./MeasurementsTabComponent.scss'],\r\n})\r\nexport class MeasurementsTabComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() connection: Connection;\r\n @Input() deleteMeasurements: boolean;\r\n\r\n // Emitter from create-measurements-components sets this boolean\r\n measurementSuccesfullyCreated: boolean;\r\n\r\n // For setting of the measurement and consumptions table\r\n displaychoice = 'Measurements';\r\n productTypeToRender: ProductType;\r\n\r\n meterChangeDetected: boolean;\r\n\r\n isLoading = false;\r\n\r\n public consumptionMeasurements: ConsumptionWithMeasurementsInterval[];\r\n public dayMeasurements = true;\r\n public timestampedMeasurements = false;\r\n public buttonTimestamped = false;\r\n public filterTelemeter = false;\r\n\r\n measurementSourceDetails: MeasurementSourceDetail[];\r\n\r\n private interval: Interval;\r\n\r\n constructor(\r\n protected router: Router,\r\n private measurementService: MeasurementService,\r\n private consumptionService: ConsumptionService,\r\n private consumptionPeriodService: ConsumptionPeriodService,\r\n private measurementSourceDetailService: MeasurementSourceDetailService,\r\n private errorService: ErrorService,\r\n ) {\r\n super(router);\r\n }\r\n\r\n async ngOnInit() {\r\n this.productTypeToRender = this.connection.ProductType;\r\n await this.setMeasurementSourceDetails()\r\n this.interval = this.consumptionPeriodService.GetInterval();\r\n this.consumptionPeriodService.GetIntervalAsObservable().subscribe(async (interval) => {\r\n this.interval = interval;\r\n await this.fetchData();\r\n });\r\n\r\n await this.fetchData();\r\n }\r\n\r\n async ngOnChanges(event: SimpleChanges) {\r\n if (event['deleteMeasurements'] && event['deleteMeasurements'].currentValue === true) {\r\n this.timestampedMeasurements = true;\r\n await this.fetchData();\r\n }\r\n }\r\n\r\n setMeasurementSourceDetails = async () => this.measurementSourceDetails = await this.getAllMeasurementsourceDetails();\r\n\r\n validInterval = (): boolean => this.interval.days() <= 61\r\n\r\n async measurementAdded(succesfullBoolean: boolean) {\r\n // set emitted boolean to a local variable in parent\r\n this.measurementSuccesfullyCreated = succesfullBoolean ? true : false;\r\n // get latest mmc details\r\n await this.setMeasurementSourceDetails();\r\n // fetchdata to update measurements\r\n this.fetchData();\r\n // reset the boolean for the next run (does not really work yet as desired, does not update in the UI, maybe a OnChanges? Or push succes messages in an array which are then shown?)\r\n setTimeout(function () {\r\n this.measurementSuccesfullyCreated = false;\r\n console.log('Timeout van feedbackbox');\r\n }, 5000);\r\n }\r\n\r\n async getFilteredTelemeterMeasurements() {\r\n // check if we already have timestamped measurements, if not flip\r\n if (this.timestampedMeasurements === true && this.buttonTimestamped === true) {\r\n this.filterTelemeter = true;\r\n this.buttonTimestamped = false;\r\n } else {\r\n this.timestampedMeasurements = !this.timestampedMeasurements;\r\n this.filterTelemeter = !this.filterTelemeter;\r\n }\r\n // this.timestampedMeasurements = !this.timestampedMeasurements;\r\n // this.filterTelemeter = !this.filterTelemeter;\r\n // this.buttonTimestamped = false;\r\n await this.fetchData();\r\n }\r\n\r\n async getTimestampedMeasurements() {\r\n // check if we already are allowed to get timestamped measurements or not. If not we flip the boolean.\r\n if (this.timestampedMeasurements === true && this.filterTelemeter === true) {\r\n this.filterTelemeter = false;\r\n this.buttonTimestamped = true;\r\n } else {\r\n this.timestampedMeasurements = !this.timestampedMeasurements;\r\n this.buttonTimestamped = !this.buttonTimestamped;\r\n }\r\n\r\n await this.fetchData();\r\n }\r\n\r\n async fetchData() {\r\n this.isLoading = true;\r\n\r\n const measurements = await this.getMeasurements();\r\n\r\n makeMeasurementListViewModel(measurements, this.connection);\r\n const measurementsWithSourceDetails = await this.addMeasurementSourceDetails(measurements);\r\n const grouped = this.groupPerInterval(measurementsWithSourceDetails);\r\n const sorted = this.sortIntervalGroups(grouped);\r\n this.consumptionMeasurements = this.convertToConsumptionMeasurements(sorted, measurements);\r\n this.isLoading = false;\r\n }\r\n\r\n async getMeasurements(): Promise {\r\n const [measurementsForDate, measurementsForTimestamp] = await Promise.all([\r\n this.dayMeasurements\r\n ? this.filterTelemeter\r\n ? this.measurementService.getAllHistoricallyForDate(this.connection.Id, this.interval.ToDateRange())\r\n : this.measurementService.getAllForDate(this.connection.Id, this.interval.ToDateRange())\r\n : Promise.resolve([] as Measurement[]),\r\n\r\n this.validInterval() && this.timestampedMeasurements\r\n ? this.filterTelemeter\r\n ? this.measurementService.getAllHistoricallyTimestamped(this.connection.Id, this.interval.ToDateRange())\r\n : this.measurementService.getAllForTimestamp(this.connection.Id, this.interval.ToDateRange())\r\n : Promise.resolve([] as Measurement[]),\r\n ]);\r\n\r\n const combinedresults = measurementsForDate.concat(measurementsForTimestamp);\r\n\r\n this.detectMeterChange(combinedresults);\r\n return combinedresults;\r\n }\r\n\r\n groupPerInterval(measurements: Measurement[]): ByTariff[] {\r\n const groups = groupBy(\r\n measurements,\r\n // Groups by timestamp and MeterId, thus per meter returns a measurement for date\r\n (m: Measurement) => getValueForComparison(m, MeasurementMomentType.Timestamp) + m.Id.MeterId + (m.Id.Timestamp ? 'time' : 'date'),\r\n (m: Measurement[]) => this.getByTariff(m),\r\n );\r\n\r\n return entries(groups).map((e) => e.value as ByTariff);\r\n }\r\n\r\n sortIntervalGroups(groups: ByTariff[]): ByTariff[] {\r\n return groups.sort((a, b) => compareAscendingByDateOrTimestamp(a.any(), b.any()));\r\n }\r\n\r\n convertToConsumptionMeasurements(byTariffs: ByTariff[], measurements: Measurement[]): ConsumptionWithMeasurementsInterval[] {\r\n return byTariffs.map((byTariff) => {\r\n const timeStampMoment = getMoment(byTariff.any(), MeasurementMomentType.Timestamp);\r\n return new ConsumptionWithMeasurementsInterval([], new Interval(timeStampMoment, null), measurements, byTariff);\r\n });\r\n }\r\n\r\n getByTariff(measurements: Measurement[]): ByTariff {\r\n const measurementsWithInferredDeletions = this.filterTelemeter ? inferDeletedFromMeasurements(measurements) : measurements;\r\n\r\n return new ByTariff(\r\n measurementsWithInferredDeletions.filter((m) => m.Id.Tariff === undefined || m.Id.Tariff === null),\r\n measurementsWithInferredDeletions.filter((m) => m.Id.Tariff === Tariff.normal),\r\n measurementsWithInferredDeletions.filter((m) => m.Id.Tariff === Tariff.low),\r\n );\r\n }\r\n\r\n async addMeasurementSourceDetails(measurements) {\r\n if (this.measurementSourceDetails === null || this.measurementSourceDetails === undefined) {\r\n return measurements;\r\n }\r\n const measurementsWithSourceDetails = measurements.map((m) => {\r\n const foundMeasurementSourceDetail = this.measurementSourceDetails.find((msd) => this.compareIds(msd.id, m));\r\n foundMeasurementSourceDetail ? (m.measurementSourceDetails = foundMeasurementSourceDetail) : m;\r\n return m;\r\n });\r\n return measurementsWithSourceDetails;\r\n }\r\n\r\n compareIds(measurmentsourcedetailId: MeasurementId, measurement: Measurement) {\r\n const cond1 =\r\n measurmentsourcedetailId.Date && measurement.Id.Date ? measurmentsourcedetailId.Date.valueOf() === measurement.Id.Date.valueOf() : false;\r\n const cond2 =\r\n measurmentsourcedetailId.ModifiedTimestamp && measurement.ModifiedTimestamp\r\n ? measurmentsourcedetailId.ModifiedTimestamp.valueOf() === measurement.ModifiedTimestamp.valueOf()\r\n : false;\r\n return cond1 && cond2;\r\n }\r\n\r\n async getAllMeasurementsourceDetails() {\r\n return await this.measurementSourceDetailService.getAllMeasureMentsourceDetailByConnectionId(this.connection.Id);\r\n }\r\n\r\n detectMeterChange(measurements: Measurement[]) {\r\n // this.meterChangeDetected = true;`\r\n if (measurements === undefined || measurements.length === 0) {\r\n return;\r\n }\r\n\r\n // Get only the MeterIds\r\n const listOfMeterIds = measurements.map((m) => m.Id.MeterId);\r\n\r\n // Get the unique meterIds per day\r\n const unique = uniqueItemsOfArray(listOfMeterIds);\r\n\r\n if (unique.length > 1) {\r\n // We do an Equalish check first\r\n if ((unique.length = 2)) {\r\n // Strip all zero's -> 000000000007018552 turns to 718552. Also strips inside 0's, what are the odds?\r\n const meterOne = unique[0].replace(/0/g, '');\r\n const meterTwo = unique[1].replace(/0/g, '');\r\n // check if remaining character 0 - 5 characters are equal\r\n if (meterOne.substring(0, 5) === meterTwo.substring(0, 5)) {\r\n // If so, return the original MeterId (since MeterOne, nor Meter2 does display the truth)\r\n return;\r\n }\r\n }\r\n this.meterChangeDetected = true;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n info\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n info\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n ","import moment from 'moment';\r\nimport { Connection, Measurement } from 'src/app/Connection';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\n\r\nimport { Component, Input } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'monitoring-tab-component',\r\n templateUrl: './MonitoringTabComponent.html',\r\n styleUrls: ['./MonitoringTabComponent.scss'],\r\n})\r\nexport class MonitoringTabComponent {\r\n @Input() connection: Connection;\r\n\r\n measurements: Measurement[] = [];\r\n\r\n dataSource = this.measurements;\r\n\r\n // SET STANDARD PERIOD HERE\r\n from = moment().subtract(20, 'days');\r\n until = moment().subtract(0, 'days');\r\n fromControl = new UntypedFormControl(this.from);\r\n untilControl = new UntypedFormControl(this.until);\r\n\r\n constructor(private measurementService: MeasurementService, private errorService: ErrorService) { }\r\n setFrom(event: any) {\r\n console.log(event.value);\r\n }\r\n\r\n // Automatically set the new from and untill and get API data for table and also chart\r\n // Now we set a global variable as an inbetween value that can be read cross functions.\r\n picker(src: string, event: any) {\r\n if (src === 'from') {\r\n // this.from = event.value;\r\n this.inputFrom = event.value;\r\n } else if (src === 'until') {\r\n this.inputUntil = event.value;\r\n }\r\n }\r\n // function\r\n // get datepicker events (via one or multiple functions)\r\n // onclick function that gets both datepicker values as\r\n // do if limit is correct else return an error/ message / console log.\r\n\r\n inputFrom: any;\r\n inputUntil: any;\r\n pickerButton() {\r\n const limit = moment.duration(150, 'days').valueOf();\r\n const x = this.inputFrom ? this.inputFrom : this.from;\r\n const y = this.inputUntil ? this.inputUntil : this.until;\r\n console.log(x + ' ' + y);\r\n if (y.valueOf() - x.valueOf() < limit) {\r\n this.from = x;\r\n this.until = y;\r\n } else {\r\n throw new Error('Limit is too high, retry again');\r\n }\r\n }\r\n getCurrentCustomerId(): any | null {\r\n if (this.connection == null || this.connection.ConnectionMeters == null || this.connection.ConnectionMeters.length == 0) {\r\n return null;\r\n }\r\n return this.connection.CustomerConnections[this.connection.CustomerConnections.length - 1].Customer.Id;\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Voortgang van processen per aansluiting\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Process Pointer from Progress
NameTimestamptimestamp
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import moment from 'moment';\r\nimport { Connection, Measurement } from 'src/app/Connection';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\n\r\nimport { Component, Input } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'transactions-tab-component',\r\n templateUrl: './TransactionsTabComponent.html',\r\n styleUrls: ['./TransactionsTabComponent.scss'],\r\n})\r\nexport class TransactionsTabComponent {\r\n @Input() connection: Connection;\r\n\r\n measurements: Measurement[] = [];\r\n\r\n dataSource = this.measurements;\r\n\r\n // SET STANDARD PERIOD HERE\r\n from = moment().subtract(1, 'years');\r\n until = moment().subtract(0, 'days');\r\n fromControl = new UntypedFormControl(this.from);\r\n untilControl = new UntypedFormControl(this.until);\r\n\r\n constructor(private measurementService: MeasurementService, private errorService: ErrorService) { }\r\n setFrom(event: any) {\r\n console.log(event.value);\r\n }\r\n\r\n // Automatically set the new from and untill and get API data for table and also chart\r\n // Now we set a global variable as an inbetween value that can be read cross functions.\r\n picker(src: string, event: any) {\r\n if (src === 'from') {\r\n // this.from = event.value;\r\n this.inputFrom = event.value;\r\n } else if (src === 'until') {\r\n this.inputUntil = event.value;\r\n }\r\n }\r\n // function\r\n // get datepicker events (via one or multiple functions)\r\n // onclick function that gets both datepicker values as\r\n // do if limit is correct else return an error/ message / console log.\r\n\r\n inputFrom: any;\r\n inputUntil: any;\r\n pickerButton() {\r\n const limit = moment.duration(150, 'days').valueOf();\r\n const x = this.inputFrom ? this.inputFrom : this.from;\r\n const y = this.inputUntil ? this.inputUntil : this.until;\r\n console.log(x + ' ' + y);\r\n if (y.valueOf() - x.valueOf() < limit) {\r\n this.from = x;\r\n this.until = y;\r\n } else {\r\n throw new Error('Limit is too high, retry again');\r\n }\r\n }\r\n getCurrentCustomerId(): any | null {\r\n if (this.connection == null || this.connection.ConnectionMeters == null || this.connection.ConnectionMeters.length == 0) {\r\n return null;\r\n }\r\n return this.connection.CustomerConnections[this.connection.CustomerConnections.length - 1].Customer.Id;\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Transactiedossier van de aansluiting\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Transaction ID Context Date and time
IdNametimestamp
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import moment from 'moment';\r\nimport { interval, Subscription } from 'rxjs';\r\nimport {\r\n Connection,\r\n ConsumptionPerClosedDateRange,\r\n ConsumptionWithMeasurementsInterval,\r\n EnumDescription,\r\n Enums,\r\n Granularity,\r\n Interval,\r\n ProductType,\r\n} from 'src/app/Connection';\r\nimport { asList, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { makeConsumptionListViewModel, makeMeasurementListViewModel } from 'src/app/helpers/ViewModelHelper';\r\nimport { ConsumptionPeriodService } from 'src/app/services/consumption-period.service';\r\nimport { ConsumptionService } from 'src/app/services/consumption.service';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { RouterService } from 'src/app/services/router.service';\r\n\r\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-consumption-with-measurements-tab-component',\r\n templateUrl: './consumption-with-measurements-tab.component.html',\r\n styleUrls: ['./consumption-with-measurements-tab.component.scss'],\r\n})\r\nexport class ConsumptionWithMeasurementsTabComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() connection: Connection;\r\n @Output() consumptionMeasurements: EventEmitter<(ConsumptionWithMeasurementsInterval | ConsumptionPerClosedDateRange)[]> = new EventEmitter<\r\n (ConsumptionWithMeasurementsInterval | ConsumptionPerClosedDateRange)[]\r\n >();\r\n @Output() toggleDeleteMeasurements: EventEmitter = new EventEmitter();\r\n\r\n consumptionwithmeasurement: any;\r\n\r\n deleteMeasurements = false;\r\n showPeriodSelector = false;\r\n\r\n periodOptions: any = [\r\n {\r\n name: 'Afgelopen week',\r\n from: moment().subtract(1, 'week'),\r\n until: moment(),\r\n range: 'week',\r\n },\r\n {\r\n name: 'Afgelopen maand',\r\n from: moment().subtract(1, 'month').startOf('month'),\r\n until: moment().subtract(1, 'month').endOf('month'),\r\n range: 'month',\r\n },\r\n {\r\n name: 'Afgelopen 3 maanden',\r\n from: moment().subtract(3, 'month').startOf('month'),\r\n until: moment().subtract(1, 'month').endOf('month'),\r\n range: '3, \"months\"',\r\n },\r\n {\r\n name: 'Afgelopen half jaar',\r\n from: moment().subtract(6, 'month').startOf('month'),\r\n until: moment().subtract(1, 'month').endOf('month'),\r\n range: '6, \"months\"',\r\n },\r\n {\r\n name: 'Huidig jaar',\r\n from: moment().startOf('year'),\r\n until: moment().endOf('year'),\r\n range: 'year',\r\n },\r\n {\r\n name: 'Afgelopen jaar',\r\n from: moment().subtract(1, 'year').startOf('year'),\r\n until: moment().subtract(1, 'year').endOf('year'),\r\n range: 'year',\r\n },\r\n ];\r\n\r\n dateRange = new UntypedFormGroup({\r\n start: new UntypedFormControl(),\r\n end: new UntypedFormControl(),\r\n });\r\n\r\n type: string;\r\n\r\n isPeriodGraphBig = false;\r\n\r\n isLoading = false;\r\n\r\n granularity: EnumDescription;\r\n granularityOptions: EnumDescription[] = [];\r\n\r\n granularityControl: UntypedFormControl;\r\n\r\n unit: string;\r\n totalConsumption = 0;\r\n totalProduction = 0;\r\n\r\n debounceObservable: Subscription;\r\n\r\n constructor(\r\n private consumptionService: ConsumptionService,\r\n private errorService: ErrorService,\r\n private enumsService: EnumsService,\r\n private consumptionPeriodService: ConsumptionPeriodService,\r\n private routerService: RouterService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n ) { }\r\n\r\n async togglePeriodGraphSize() {\r\n this.isPeriodGraphBig = !this.isPeriodGraphBig;\r\n await this.fetchData();\r\n }\r\n\r\n async ngOnInit() {\r\n const initialQueryParams = this.routerService.getQueryParameters(this.route);\r\n\r\n if (initialQueryParams.params.from && !initialQueryParams.params.until) {\r\n this.dateRange.patchValue({\r\n start: moment(initialQueryParams.params.from),\r\n end: this.consumptionPeriodService.GetInterval().Until,\r\n });\r\n this.setNewInterval();\r\n } else if (!initialQueryParams.params.from && initialQueryParams.params.until) {\r\n this.dateRange.patchValue({\r\n start: this.consumptionPeriodService.GetInterval().From,\r\n end: moment(initialQueryParams.params.until),\r\n });\r\n this.setNewInterval();\r\n } else if (initialQueryParams.params.from && initialQueryParams.params.until) {\r\n this.dateRange.patchValue({\r\n start: moment(initialQueryParams.params.from),\r\n end: moment(initialQueryParams.params.until),\r\n });\r\n this.setNewInterval();\r\n } else {\r\n this.updateIntervalBasedOnInterval();\r\n }\r\n\r\n this.granularityControl = new UntypedFormControl(this.granularity);\r\n\r\n await this.fetchGranularityEnums();\r\n this.fetchData();\r\n\r\n // Observable with changeDetection. The chained functions are executed when the interval is changed by the graph (or via date controls)\r\n this.consumptionPeriodService.GetIntervalAsObservable().subscribe(() => {\r\n this.setGranularity();\r\n this.updateIntervalBasedOnInterval();\r\n this.fetchData();\r\n });\r\n\r\n // Using a debounce on the formgroup, makes the daterangepicker usable.\r\n // Do this with help\r\n // this.debounceObservable = this.dateRange.valueChanges\r\n // .pipe(debounceTime(1000))\r\n // .subscribe(data => {\r\n // console.log(data)\r\n // this.dateRange.get('start').setValue(data.start);\r\n // this.dateRange.get('end').setValue(data.end);\r\n // // this.setNewInterval()\r\n // })\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.granularity) {\r\n // reacts on the selector, without interval change, only this is called\r\n this.fetchData();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // this.debounceObservable.unsubscribe();\r\n }\r\n\r\n async fetchGranularityEnums() {\r\n return this.enumsService\r\n .getAll(Enums.Granularity)\r\n .then((result) => (this.granularityOptions = result))\r\n .catch((e) => this.errorHandlingForGranularity(e));\r\n }\r\n\r\n errorHandlingForGranularity(e) {\r\n this.errorService.addError('Niet gelukt om granulariteiten op te halen ' + e.message);\r\n // Fallback here using current Enum and then transform to EnumDescription. Lot of work.. for not a lot of gain.\r\n }\r\n\r\n async fetchData() {\r\n if (this.connection?.CustomerConnections?.length === 0) {\r\n return this.errorService.addError('Geen klant waarvoor verbruiken opgehaald kunnen worden.');\r\n }\r\n\r\n if (this.granularity === undefined) {\r\n this.setGranularity();\r\n }\r\n\r\n this.isLoading = true;\r\n await this.consumptionService\r\n .getConsumptionWithMeasurementsIntervalForAllCustomerConnections(\r\n this.connection.Id,\r\n Granularity[this.granularity.Value],\r\n this.consumptionPeriodService.GetInterval(),\r\n this.connection.CustomerConnections,\r\n )\r\n .then((cwm) => this.combineConsumptionWithMeasurementsPerInterval(cwm)) // Added to simulate affect of bugfix for bug 6150\r\n .then((consumptionwithmeasurement) => (this.consumptionwithmeasurement = consumptionwithmeasurement))\r\n .catch((error) => {\r\n this.errorService.addError(error.message);\r\n this.isLoading = false;\r\n this.consumptionwithmeasurement = [];\r\n });\r\n\r\n this.transformToViewModel();\r\n this.getTransformAndSumValues(); // Sums all values before adding ClosedDateRangeConsumptions\r\n const consumptionWithMeasurements = await this.addClosedDateRangeConsumptionsAsCWM();\r\n this.consumptionMeasurements.next(consumptionWithMeasurements);\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n setGranularity() {\r\n const periodInterval = this.consumptionPeriodService.GetInterval();\r\n const differenceInDays = periodInterval.Until.diff(periodInterval.From, 'days');\r\n\r\n if (differenceInDays < 3 && this.connection.ProductType === ProductType.Electricity) {\r\n this.granularity = this.granularityOptions.filter((go) => go.Value === Granularity.QuarterHour.toString())[0];\r\n } else if (differenceInDays < 15) {\r\n this.granularity = this.granularityOptions.filter((go) => go.Value === Granularity.Hour.toString())[0];\r\n } else if (differenceInDays < 73) {\r\n this.granularity = this.granularityOptions.filter((go) => go.Value === Granularity.Day.toString())[0];\r\n } else if (differenceInDays < 350) {\r\n this.granularity = this.granularityOptions.filter((go) => go.Value === Granularity.Week.toString())[0];\r\n } else {\r\n this.granularity = this.granularityOptions.filter((go) => go.Value === Granularity.Month.toString())[0];\r\n }\r\n }\r\n\r\n validInterval(): boolean {\r\n return this.consumptionPeriodService.GetInterval().days() <= 31;\r\n }\r\n\r\n setNewIntervalByPeriodButton(periodOption) {\r\n // setNewPeriodInterval is called from HTML\r\n this.consumptionPeriodService.SetInterval(new Interval(periodOption.from, periodOption.until));\r\n }\r\n\r\n changeGranularity() {\r\n this.fetchData();\r\n }\r\n\r\n transformToViewModel() {\r\n if (this.consumptionMeasurements === undefined) {\r\n return;\r\n }\r\n this.consumptionwithmeasurement.forEach((cwm: ConsumptionWithMeasurementsInterval) => {\r\n makeConsumptionListViewModel(cwm.consumption);\r\n makeMeasurementListViewModel(cwm.measurement, this.connection);\r\n });\r\n }\r\n\r\n getTransformAndSumValues(): void {\r\n this.totalConsumption = 0;\r\n this.totalProduction = 0;\r\n // Changes the prosumption values and sums them.\r\n\r\n // Make total values based on all consumptions.\r\n this.consumptionwithmeasurement.forEach((cwm) => {\r\n cwm.consumption.forEach((c) => {\r\n c.Prosumption != null && c.Prosumption.Consumption != null\r\n ? (this.totalConsumption += c.Prosumption.Consumption.Quantity)\r\n : this.totalConsumption;\r\n c.Prosumption != null && c.Prosumption.Production != null\r\n ? (this.totalProduction += c.Prosumption.Production.Quantity)\r\n : this.totalConsumption;\r\n });\r\n });\r\n this.unit = this.connection.ProductType === ProductType.Electricity ? 'kWh' : 'm3';\r\n this.totalConsumption != null || this.totalConsumption != 0 ? (this.totalConsumption = Math.round(this.totalConsumption)) : this.totalConsumption;\r\n this.totalProduction != null || this.totalProduction != 0 ? (this.totalProduction = Math.round(this.totalProduction)) : this.totalProduction;\r\n }\r\n\r\n setNewInterval() {\r\n if (this.dateRange.get('end').value.diff(this.dateRange.get('start').value, 'days') < 1) {\r\n // detection of same day, if so, add 1 day. Could be improved with granularity in future\r\n this.dateRange.patchValue({ end: moment(this.dateRange.get('end').value.format('YYYY-MM-DD')).add(1, 'day') });\r\n this.consumptionPeriodService.SetFrom(this.dateRange.get('start').value);\r\n this.consumptionPeriodService.SetUntil(this.dateRange.get('end').value);\r\n this.updateRouterInterval();\r\n }\r\n this.consumptionPeriodService.SetInterval(new Interval(this.dateRange.get('start').value, this.dateRange.get('end').value));\r\n }\r\n\r\n updateIntervalBasedOnInterval() {\r\n this.dateRange.setValue({\r\n start: this.consumptionPeriodService.GetInterval().From,\r\n end: this.consumptionPeriodService.GetInterval().Until,\r\n });\r\n this.updateRouterInterval();\r\n }\r\n\r\n updateRouterInterval() {\r\n const updatedQueryParameters: Params = {\r\n from: this.consumptionPeriodService.GetInterval().From.format('YYYY-MM-DD'),\r\n until: this.consumptionPeriodService.GetInterval().Until.format('YYYY-MM-DD'),\r\n };\r\n this.routerService.updateParameters(this.route, this.router, updatedQueryParameters);\r\n }\r\n\r\n async addClosedDateRangeConsumptionsAsCWM() {\r\n const closedDateRangeConsumptions = await this.consumptionService.getForClosedDateRange(\r\n this.connection.Id,\r\n this.consumptionPeriodService.GetInterval().ToDateRange(),\r\n );\r\n makeConsumptionListViewModel(closedDateRangeConsumptions);\r\n console.log(closedDateRangeConsumptions)\r\n const grouped = asList(groupBy(closedDateRangeConsumptions, (cdrc: any) => '' + cdrc.Id.From.LocalDate));\r\n const asCWM = grouped.map((cwmPerInterval) =>\r\n ConsumptionWithMeasurementsInterval.create(\r\n cwmPerInterval[0].ClosedDateRange,\r\n cwmPerInterval.flatMap((i) => i),\r\n [],\r\n ),\r\n );\r\n const combinedCWM = this.consumptionwithmeasurement.concat(asCWM);\r\n combinedCWM.sort((a, b) => a.interval.From.valueOf() - b.interval.From.valueOf());\r\n return combinedCWM;\r\n }\r\n\r\n combineConsumptionWithMeasurementsPerInterval(consumptionwithmeasurement: ConsumptionWithMeasurementsInterval | any) {\r\n // expected behavior, has a customer switch, give us two consumptions for the interval\r\n if (!consumptionwithmeasurement) {\r\n return consumptionwithmeasurement;\r\n }\r\n const consumptionsWithMeasurements = asList(groupBy(consumptionwithmeasurement, (cwm: any) => '' + cwm.interval.From.format('YYYY-MM-DD HH:mm')));\r\n\r\n return consumptionsWithMeasurements.map((cwm) => {\r\n if (cwm.length > 1) {\r\n return ConsumptionWithMeasurementsInterval.create(\r\n cwm[0].interval,\r\n cwm.flatMap((i) => i.consumption),\r\n cwm.flatMap((i) => i.measurement),\r\n );\r\n } else {\r\n return cwm[0];\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n

\r\n Verbruiksgrafiek\r\n en periode navigatie\r\n

\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n Totaal Consumptie: {{ totalConsumption }} {{ unit }}
\r\n Totaal Productie: {{ totalProduction }} {{ unit }}
\r\n \r\n warning\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Van - tot interval\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ongeldige invoer\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n \r\n\r\n   \r\n\r\n \r\n Granulariteit van grafiek\r\n \r\n \r\n {{ granularityOption.Translation }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n

\r\n {{ period.name }}
\r\n {{ period.from | date: \"EEEE, dd LLL\" }} -\r\n {{ period.until | date: \"EEEE,\r\n dd LLL\" }}\r\n \r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
Geen verbruiksdata beschikbaar
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","\r\n \r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n

\r\n Contract: {{contractId}} ({{tenant}})\r\n

\r\n

\r\n Vanaf: {{from | dateTimePreset}} - Tot: {{until | dateTimePreset}}\r\n

\r\n

\r\n Bekijk\r\n details\r\n

\r\n
\r\n
\r\n
\r\n","/* eslint-disable @typescript-eslint/member-ordering */\r\nimport { IGrouping } from 'linq-to-typescript';\r\nimport { DateTime } from 'luxon';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n ConnectionContractStateService,\r\n ContractMutationStateWithContractStateTransitionsR,\r\n ContractState,\r\n Tenant,\r\n} from 'src/app/modules/operations-api';\r\nimport { ZonedDateTimeParser } from 'src/app/modules/shared/parsers/zoned-date-time.parser';\r\n\r\nimport { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-contract-state-tab-entry',\r\n templateUrl: './contract-state-tab-entry.component.html',\r\n styleUrls: ['./contract-state-tab-entry.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ContractStateTabEntryComponent implements OnInit {\r\n @Input() contractStatesForGroupId: IGrouping;\r\n\r\n contractStatesOverviewTemplate$: Observable;\r\n contractStates: any; // FIXME MC: compatibility with CustomerContractStateStepperComponent\r\n\r\n groupId: string;\r\n contractId: string;\r\n connectionId: string;\r\n tenant: Tenant;\r\n from: DateTime;\r\n until: DateTime;\r\n\r\n constructor(private connectionContractStateService: ConnectionContractStateService, private zonedDateTimeParser: ZonedDateTimeParser) {}\r\n\r\n ngOnInit(): void {\r\n this.contractStatesOverviewTemplate$ ??=\r\n this.connectionContractStateService.apiAdminConnectionContractStateContractMutationStatesWithContractStateTransitionsGet();\r\n\r\n this.contractStates = {\r\n data: this.contractStatesForGroupId\r\n .select((cs) => ({\r\n id: {\r\n contractMutationState: cs.Id.ContractMutationState,\r\n },\r\n }))\r\n .toArray(),\r\n };\r\n\r\n this.groupId = this.contractStatesForGroupId.key;\r\n this.contractId = this.contractStatesForGroupId.first().Id.ContractId;\r\n this.connectionId = this.contractStatesForGroupId.first().Id.ConnectionId;\r\n this.tenant = this.contractStatesForGroupId.first().Tenant;\r\n\r\n const allContractStateTimestampsOrdered = this.contractStatesForGroupId\r\n .selectMany((cs) => [cs.From, cs.Until])\r\n .where((ts) => !!ts)\r\n .orderBy((ts) => ts);\r\n\r\n this.from = this.zonedDateTimeParser.parse(allContractStateTimestampsOrdered.first());\r\n this.until = this.zonedDateTimeParser.parse(allContractStateTimestampsOrdered.last());\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/member-ordering */\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { from as asEnumerable, IGrouping } from 'linq-to-typescript';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { Connection } from 'src/app/Connection';\r\nimport { ContractState, ContractStateProvidingService } from 'src/app/modules/operations-api';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-contract-state-tab',\r\n templateUrl: './contract-state-tab.component.html',\r\n styleUrls: ['./contract-state-tab.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ContractStateTabComponent implements OnInit {\r\n @Input() connection: Connection;\r\n\r\n contractStatesByGroupId$: Observable[]>;\r\n\r\n constructor(private notificationService: NotificationService, private contractStateProvidingService: ContractStateProvidingService) {}\r\n\r\n ngOnInit() {\r\n this.contractStatesByGroupId$ ??= this.contractStateProvidingService\r\n .apiAdminContractStateGetPost({ HavingConnectionId: [this.connection.Id] })\r\n .pipe(\r\n catchError((err) => {\r\n this.notificationService.showHttpError(err as HttpErrorResponse);\r\n return throwError(err);\r\n }),\r\n map((response) => asEnumerable(response.ContractStates)),\r\n map((states) => states.groupBy((cs) => cs.GroupId)),\r\n map((groups) => groups.toArray()),\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","export const runCorrectionButton = { icon: 'send', iconToggled: 'check', text: 'Run correctie.', textToggled: 'Correctie aangezet.' };\r\nexport const runConnectionSyncFromLegacyButton = { icon: 'send', iconToggled: 'check', text: 'Run aansluiting sync.', textToggled: 'Aansluiting sync aangezet.' };\r\nexport const advanceProgressButton = {\r\n icon: 'add',\r\n iconToggled: 'check',\r\n text: 'Sla measurementvolume issue over',\r\n textToggled: 'Measurementvolume issue overgeslagen',\r\n};\r\nexport const archivedIssuesButton = {\r\n icon: 'visibility',\r\n iconToggled: 'visibility_off',\r\n text: 'Bekijk gearchiveerde issues',\r\n textToggled: 'Verberg gearchiveerde issues',\r\n};\r\nexport const showContextButton = {\r\n icon: 'visibility',\r\n iconToggled: 'visibility_off',\r\n text: 'Bekijk context',\r\n textToggled: 'Verberg context',\r\n};\r\nexport const deleteProgressButton = {\r\n icon: 'delete',\r\n iconToggled: 'check',\r\n text: 'Verwijder',\r\n textToggled: 'Voortgang verwijderd!',\r\n};\r\n","import { Connection, EnumDescription, Enums, Issue, Process, ProcessProgress } from 'src/app/Connection';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { IssueService } from 'src/app/services/issue.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { ProgressService } from 'src/app/services/progress.service';\r\nimport { ServiceBusService } from 'src/app/services/service-bus.service';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { advanceProgressButton, archivedIssuesButton, deleteProgressButton, runCorrectionButton,runConnectionSyncFromLegacyButton, showContextButton } from './button.constants';\r\nimport { async } from '@angular/core/testing';\r\n\r\n@Component({\r\n selector: 'app-issues-progress-tab',\r\n templateUrl: './issues-progress-tab.component.html',\r\n styleUrls: ['./issues-progress-tab.component.scss'],\r\n})\r\nexport class IssuesProgressTabComponent implements OnInit {\r\n @Input() connection: Connection;\r\n @Input() issues: Issue[];\r\n\r\n progresses: ProcessProgress[];\r\n processes: EnumDescription[];\r\n\r\n progressDeleted = false;\r\n progressAdvanced = false;\r\n\r\n consolidatorTickled = false;\r\n connectionSyncFromLegacyTickled = false;\r\n filterArchivedIssues = true;\r\n\r\n allowedProcessPointersToDelete: string[] = [\r\n 'AggregationConsumption',\r\n 'ConsolidationCorrection',\r\n 'MeasurementCollectionTmtSync',\r\n 'ConsolidationLargeCapacityDistribution',\r\n 'ConsolidationEstimation',\r\n ];\r\n\r\n allowedIssueTypesToProcess: string[] = ['MeasurementCollectionWebsite', 'ConnectionUpdate'];\r\n\r\n //Buttons\r\n runCorrectionButton = runCorrectionButton;\r\n runConnectionSyncFromLegacyButton = runConnectionSyncFromLegacyButton;\r\n advanceProgressButton = advanceProgressButton;\r\n archivedIssuesButton = archivedIssuesButton;\r\n showContextButton = showContextButton;\r\n deleteProgressButton = deleteProgressButton;\r\n\r\n constructor(\r\n private progressService: ProgressService,\r\n private issueService: IssueService,\r\n private enumsService: EnumsService,\r\n private serviceBusService: ServiceBusService,\r\n private notificationService: NotificationService,\r\n private connectionService: ConnectionService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initialize();\r\n }\r\n\r\n initialize = async () => {\r\n this.processes = await this.enumsService.getAll(Enums.Process);\r\n this.getProcessProgress();\r\n };\r\n\r\n async getProcessProgress() {\r\n // This can be prettier, it is batch sizing all the processes\r\n const processList: Process[] = this.processes.map((p) => p.Value) as any as Process[];\r\n // splice for API (56 processes in the URL gave a 404) // TODO does not scale, so more than 100 processes is new fix or better complexity\r\n if (processList.length > 40) {\r\n // To much processes for the API URL\r\n let batchIndex = 30;\r\n const batchAmount = Math.ceil(processList.length / batchIndex); // Math Ceil rounds up to next integer\r\n\r\n let result = [];\r\n\r\n for (let i = 0; i < batchAmount; i++) {\r\n const batch = processList.splice(0, batchIndex);\r\n const processprogress = await this.progressService.getAll(batch, [this.connection.Id]);\r\n result = result.concat(processprogress);\r\n batchIndex = 30 * (1 + i);\r\n }\r\n this.progresses = result;\r\n } else {\r\n // less than 40 processs?\r\n this.progresses = await this.progressService.getAll(processList, [this.connection.Id]);\r\n }\r\n }\r\n\r\n fetchData = async () => (this.issues = await this.issueService.getAllForConnection(this.connection.Id));\r\n\r\n processIssue = async (id: number) => (await this.issueService.processIssue(id)) && this.fetchData();\r\n\r\n async closeThisIssue(issue) {\r\n await this.issueService\r\n .closeIssue(issue.Id)\r\n .then((_) => alert('Issue gesloten'))\r\n .catch((error) => {\r\n throw new Error('Niet geluk: ' + error.error.title);\r\n });\r\n\r\n this.fetchData();\r\n }\r\n\r\n async deleteProcessProgress(processProgress: ProcessProgress) {\r\n console.log('process to delete');\r\n await this.progressService.deleteProgress(this.connection.Id, [processProgress.Process]);\r\n processProgress.deleted = true;\r\n this.triggerConsolidatorForConnection();\r\n }\r\n\r\n advanceProgress = () => this.progressService.advanceProgress(this.connection.Id).then(() => (this.progressAdvanced = true));\r\n\r\n triggerConsolidatorForConnection = async () => {\r\n const connectionIds = [].concat(this.connection.Id);\r\n await this.serviceBusService.triggerConsolidationCorrectorForConnections(connectionIds);\r\n this.consolidatorTickled = true;\r\n this.notificationService.showSuccess('Corrector en consolidator wordt verwerkt.');\r\n };\r\n\r\n triggerSyncConnectionFromLegacy = async() =>{\r\n this.connectionSyncFromLegacyTickled = true;\r\n await this.connectionService.syncConnectionFromLegacyAsync(this.connection.Id);\r\n this.notificationService.showSuccess('Aansluiting is gesynct.');\r\n };\r\n}\r\n","\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n Issue overzicht \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TypeOnderwerpVanafTotContext VanContext TotSluitContext
{{issue.IssueType}}{{issue.Subject}}{{issue.From | date: 'yyyy-MM-dd HH:mm'}}{{issue.Until | date: 'yyyy-MM-dd HH:mm'}}{{issue.ContextFrom | date: 'yyyy-MM-dd HH:mm'}}\r\n {{issue.ContextUntill | date: 'yyyy-MM-dd HH:mm'}}\r\n \r\n \r\n cancel\r\n \r\n \r\n\r\n \r\n
\r\n
{{issue.Context | json}}
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n Huidige voortgang processen \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 ; else noprogress\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Proces\r\n Data voortgang tot\r\n \r\n info\r\n \r\n \r\n Laatste update\r\n \r\n info\r\n \r\n Actie
\r\n {{progress.Process}}\r\n \r\n {{progress.ProgressedUntil | date: 'yyyy-MM-dd HH:mm'}}\r\n\r\n \r\n {{progress.ModifiedTimestamp | date: 'yyyy-MM-dd HH:mm'}}\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
Context item {{j}}
{{item.key}} {{item.value}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n No Context\r\n \r\n \r\n \r\n\r\n\r\n No Progresses available\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{item.key}}{{item.value}}
\r\n \r\n info Geschiedenis\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
Type meter
{{MeterDumbSmart}}
Meter OperationalVanTot
{{meter.PhysicalState}}{{meter.Interval.From | date: 'y-MM-dd'}}{{meter.Interval.Until | date: 'y-MM-dd'}}
Meter IDVanTot
{{meter.ExternalId}}{{meter.Interval.From | date: 'y-MM-dd'}}{{meter.Interval.Until | date: 'y-MM-dd'}}
Telemetrische AllocatieVanTot
{{allocation.allocationMethod}}{{allocation.interval.From | date: 'y-MM-dd'}}{{allocation.interval.Until | date: 'y-MM-dd'}}
ProfielCodeVanTot
{{profile.ProfileId}}{{profile.Interval.From | date: 'y-MM-dd'}}{{profile.Interval.Until | date: 'y-MM-dd'}}
\r\n
\r\n","import moment from 'moment';\r\nimport { Connection } from 'src/app/Connection';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'connection-history-component',\r\n templateUrl: './ConnectionHistoryComponent.html',\r\n styleUrls: ['./ConnectionHistoryComponent.scss'],\r\n})\r\nexport class ConnectionHistoryComponent implements OnInit {\r\n @Input() connection: Connection;\r\n\r\n //Object with history\r\n HistoryObject: any;\r\n\r\n //Objects with elements, can be made into one object later.\r\n MeterDumbSmart: any;\r\n MeterOperational: any;\r\n MeterIDHistory: any;\r\n MeterDigits: any;\r\n MeterMultiplicationFactor: any;\r\n ConnectionAllocationsMethodHistory: any;\r\n ConnectionProfiles: any;\r\n ConnectionTariffSwitch: any;\r\n\r\n showMeterHistory: boolean = false;\r\n\r\n constructor(private enumsService: EnumsService, private errorService: ErrorService) { }\r\n\r\n ngOnInit() {\r\n this.setMeterInfo();\r\n }\r\n\r\n getConnectionInfo() {\r\n // console.log(this.mHistory);\r\n // console.log(this.tariffSwitch);\r\n // console.log(this.mDisplays);\r\n // console.log(this.ProfileId);\r\n // console.log(this.TelemetricAllocation);\r\n // this.loadedConnectionInfo = true;\r\n }\r\n\r\n setMeterInfo() {\r\n if (this.connection == null || this.connection == undefined) {\r\n throw new Error('there is no connection available.');\r\n }\r\n\r\n let typeOfMeter;\r\n if (!this.connection.ConnectionMeters[this.connection.ConnectionMeters.length - 1].Meter.IsTelemeter) {\r\n typeOfMeter = 'Undefined Meter';\r\n }\r\n if (this.connection.ConnectionMeters[this.connection.ConnectionMeters.length - 1].Meter.IsTelemeter == true) {\r\n typeOfMeter = 'Slimme meter';\r\n } else {\r\n typeOfMeter = 'Conventionele meter';\r\n }\r\n\r\n this.MeterDumbSmart = typeOfMeter;\r\n this.MeterOperational = this.connection.ConnectionPhysicalStates;\r\n this.MeterIDHistory = this.connection.ConnectionMeters;\r\n this.MeterDigits = this.connection.ConnectionMeters[this.connection.ConnectionMeters.length - 1].Meter.MeasurementDisplays[0].Digits;\r\n this.MeterMultiplicationFactor =\r\n this.connection.ConnectionMeters[this.connection.ConnectionMeters.length - 1].Meter.MeasurementDisplays[0].MultiplicationFactor;\r\n this.ConnectionAllocationsMethodHistory = this.connection.ConnectionAllocationMethods;\r\n this.ConnectionProfiles = this.connection.ConnectionProfiles;\r\n // this.ConnectionTariffSwitch = this.connection.ConnectionTariffSwitches\r\n\r\n let CurrentMeter = {\r\n 'meter ID': this.connection.ConnectionMeters[this.connection.ConnectionMeters.length - 1].ExternalId,\r\n 'Telemetrische Allocatie': this.connection.ConnectionAllocationMethods[this.connection.ConnectionAllocationMethods.length - 1].allocationMethod,\r\n Telemeter: typeOfMeter,\r\n 'Meter multiplicatiefactor':\r\n this.connection.ConnectionMeters[this.connection.ConnectionMeters.length - 1].Meter.MeasurementDisplays[0].MultiplicationFactor,\r\n 'Meter telramen(digits)': this.connection.ConnectionMeters[this.connection.ConnectionMeters.length - 1].Meter.MeasurementDisplays[0].Digits,\r\n 'Meter tariefovergang': (this.ConnectionTariffSwitch =\r\n this.connection.ConnectionTariffSwitches[this.connection.ConnectionTariffSwitches.length - 1].TariffSwitch),\r\n Profielcode: this.connection.ConnectionProfiles[this.connection.ConnectionProfiles.length - 1].ProfileId,\r\n };\r\n this.HistoryObject = CurrentMeter;\r\n }\r\n}\r\n","import { Moment } from 'moment-timezone';\r\nimport { Connection, EnumDescription, Enums, Granularity, Interval } from 'src/app/Connection';\r\nimport { BlobResponseHelper } from 'src/app/helpers/BlobResponseHelper';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ConsumptionExportService } from 'src/app/services/consumption-export.service';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'consumption-export',\r\n templateUrl: './ConsumptionExportComponent.html',\r\n styleUrls: ['./ConsumptionExportComponent.scss'],\r\n})\r\nexport class ConsumptionExportComponent implements OnInit {\r\n // form\r\n customerId: number;\r\n connectionOptions: Connection[] = [];\r\n connections: Connection[] = [];\r\n intervalFrom: Moment;\r\n intervalUntil: Moment;\r\n granularityOptions: EnumDescription[];\r\n granularity: EnumDescription;\r\n minimumGranularity: EnumDescription = { Enum: 'Minimum', Description: 'Minimum', Translation: 'Minimum', Value: 'Minimum' };\r\n\r\n // state\r\n isSearchingConnections: boolean = false;\r\n isDownloading: boolean = false;\r\n\r\n constructor(\r\n private enumsService: EnumsService,\r\n private connectionService: ConnectionService,\r\n private consumptionExportService: ConsumptionExportService,\r\n private errorService: ErrorService,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.granularityOptions = await this.enumsService.getAll(Enums.Granularity);\r\n this.granularityOptions.unshift(this.minimumGranularity);\r\n this.granularity = this.minimumGranularity;\r\n }\r\n\r\n async searchConnections() {\r\n this.isSearchingConnections = true;\r\n\r\n this.connectionOptions = await this.connectionService.getByCustomerId(this.customerId);\r\n if (this.connectionOptions == null) {\r\n this.connectionOptions = [];\r\n }\r\n\r\n this.isSearchingConnections = false;\r\n }\r\n\r\n async download() {\r\n this.isDownloading = true;\r\n\r\n var interval = new Interval(this.intervalFrom, this.intervalUntil);\r\n var granularity = this.granularity == this.minimumGranularity ? null : Granularity[this.granularity.Value];\r\n\r\n var consumptionExportResponse = await this.consumptionExportService\r\n .getPerGranularityInterval(this.customerId, this.connections, interval, granularity)\r\n .catch((e) => {\r\n this.errorService.addError(e.error.message);\r\n });\r\n\r\n if (consumptionExportResponse) {\r\n BlobResponseHelper.downloadFile(consumptionExportResponse);\r\n }\r\n\r\n this.isDownloading = false;\r\n }\r\n\r\n reset() {\r\n this.customerId = null;\r\n this.intervalFrom = null;\r\n this.intervalUntil = null;\r\n this.granularityOptions = null;\r\n this.granularity = null;\r\n this.resetConnections();\r\n }\r\n\r\n resetConnections() {\r\n this.connectionOptions = [];\r\n this.connections = [];\r\n }\r\n\r\n toggleSelectedConnections(event: Event) {\r\n if (this.connections.length < this.connectionOptions.length) {\r\n this.connections = [...this.connectionOptions];\r\n } else {\r\n this.connections = [];\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n isCustomerIdEnabled() {\r\n return this.connections.length == 0;\r\n }\r\n\r\n isSearchConnectionsEnabled() {\r\n return this.isCustomerIdEnabled() && !(this.customerId == null || this.isSearchingConnections);\r\n }\r\n\r\n areExportParametersVisible() {\r\n return this.connectionOptions.length > 0;\r\n }\r\n\r\n isConnectionsCheckBoxChecked() {\r\n return this.connections.length == this.connectionOptions.length;\r\n }\r\n\r\n isConnectionsCheckBoxIndeterminate() {\r\n return this.connections.length > 0 && this.connections.length < this.connectionOptions.length;\r\n }\r\n\r\n isDownloadEnabled() {\r\n return !this.isDownloading && this.connections.length > 0 && this.granularity != null && this.intervalFrom != null && this.intervalUntil != null;\r\n }\r\n\r\n isResetEnabled() {\r\n return !(this.isSearchingConnections || this.isDownloading);\r\n }\r\n}\r\n","
\r\n
Verbruiksrapportage per klant
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n Aansluitingen\r\n \r\n {{connection.Id}}\r\n ({{connection.ProductType}})\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Geen geldige datum\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Geen geldige datum\r\n \r\n
\r\n
\r\n \r\n Granulariteit\r\n \r\n \r\n {{granularityOption.Translation}}\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n info\r\n     \r\n De periode telt vanaf startdatum tot de einddatum een aantal weken, dit kan dus meer zijn dan 365 dagen in\r\n een jaar\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
","\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0; else noconsumptions\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DatumTijdTariefConsumptionProductionSource
{{consumption.Id.From | date: 'd MMMM'}}{{consumption.Id.From | date: 'HH:mm'}}{{consumption.Id.Tariff}}\r\n \r\n {{consumption.Prosumption.Consumption.Quantity}}\r\n \r\n \r\n \r\n {{consumption.Prosumption.Production.Quantity}}\r\n \r\n {{consumption.MutationState}}
\r\n\r\n\r\n \r\n Geen consumpties beschikbaar.\r\n \r\n\r\n\r\n ","import moment from 'moment';\r\nimport { ConsumptionPerGranularityInterval } from 'src/app/Connection';\r\n\r\nimport { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'consumptions-table-component',\r\n templateUrl: './ConsumptionsTableComponent.html',\r\n styleUrls: ['./ConsumptionsTableComponent.scss'],\r\n})\r\nexport class ConsumptionsTableComponent implements OnChanges {\r\n // @Input() connection :Connection;\r\n @Input() listOfConsumptions: ConsumptionPerGranularityInterval[];\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n // console.log('this.listOfConsumptions')\r\n // console.log(this.listOfConsumptions)\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // if(changes.type){\r\n // this.createChartForType(this.type);\r\n // }\r\n // if(changes.listOfConsumptions){\r\n // this.createGranularityChart(this.listOfConsumptions);\r\n // }\r\n }\r\n}\r\n","import { Chart } from 'angular-highcharts';\r\nimport { SeriesAreaOptions, setOptions } from 'highcharts';\r\nimport moment, { Moment } from 'moment';\r\nimport {\r\n Connection,\r\n ConsumptionByTariff,\r\n ConsumptionPerClosedDateRange,\r\n ConsumptionPerGranularityInterval,\r\n ConsumptionWithMeasurementsInterval,\r\n Interval,\r\n Measurement,\r\n ProductType,\r\n SupplyType,\r\n Tariff,\r\n} from 'src/app/Connection';\r\nimport { groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { ConsumptionPeriodService } from 'src/app/services/consumption-period.service';\r\nimport { ConsumptionService } from 'src/app/services/consumption.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\n\r\nimport { Component, Input, SimpleChanges } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n// import * as Chart from 'angular-highcharts';\r\n// https://www.highcharts.com/forum/viewtopic.php?t=42702 for Broken Axis\r\n\r\n@Component({\r\n selector: 'consumption-period-graph-component',\r\n templateUrl: './ConsumptionPeriodGraphComponent.html',\r\n styleUrls: ['./ConsumptionPeriodGraphComponent.scss'],\r\n})\r\nexport class ConsumptionPeriodGraphComponent {\r\n @Input() connection: Connection;\r\n @Input() customerId?: number;\r\n @Input() listOfConsumptions: ConsumptionWithMeasurementsInterval[];\r\n @Input() setPeriodGraphSizeToBig: boolean;\r\n @Input() productType: ProductType;\r\n @Input() type: any;\r\n @Input() deleteMeasurements: boolean;\r\n\r\n currentFromId: number;\r\n rowClicked = false;\r\n series: any = {};\r\n chart: Chart;\r\n xAxis: any;\r\n\r\n xAxisPeriodStart;\r\n xAxisPeriodEnd;\r\n\r\n consumptions: ConsumptionByTariff[] = [];\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private consumptionService: ConsumptionService,\r\n private errorService: ErrorService,\r\n private consumptionPeriodService: ConsumptionPeriodService,\r\n private measurementService: MeasurementService,\r\n ) {}\r\n\r\n groupData(measurement: Measurement) {}\r\n\r\n determineGraphLegenda() {\r\n if (this.setPeriodGraphSizeToBig == true) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.deleteMeasurements && this.chart) {\r\n this.removePlotBand();\r\n }\r\n // console.log(changes);\r\n // if(changes.type){\r\n // this.createChartForType(this.type);\r\n // }\r\n if (changes.listOfConsumptions) {\r\n this.setPlotXMinMax();\r\n // errors Cannot read property 'map' of undefined on the first try, so check if there is a change and a new current value.\r\n if (changes.listOfConsumptions.currentValue) {\r\n let flattenConsumptions = changes.listOfConsumptions.currentValue.map((cv) => cv.consumption).flat();\r\n this.createGranularityChart(flattenConsumptions);\r\n }\r\n }\r\n // if(changes.from){\r\n // this.from = changes.from.currentValue;\r\n // }\r\n // if(changes.until){\r\n // this.until = changes.until.currentValue;\r\n // }\r\n // if(this.until.valueOf() - this.from.valueOf() > moment.duration(31, 'days').valueOf()){\r\n // this.errorService.addError(\"Dit interval is te groot om consumpties te laten zien\")\r\n // console.log(\"Graag een kleiner interval\");\r\n // }\r\n else if ((changes.from && !changes.from.firstChange) || (changes.until && !changes.until.firstChange)) {\r\n // this.getAPIdata();\r\n }\r\n // if(changes.from){\r\n // this.from = changes.from.currentValue;\r\n // }\r\n // if(changes.until){\r\n // this.until = changes.until.currentValue;\r\n // }\r\n // else if((changes.from && !changes.from.firstChange) || (changes.until && !changes.until.firstChange)){\r\n // this.ngOnInit();\r\n // }\r\n }\r\n\r\n distinct(data: number[][]) {\r\n var flags = {};\r\n return data.filter(function (entry) {\r\n if (flags[entry[0]]) {\r\n return false;\r\n }\r\n flags[entry[0]] = true;\r\n return true;\r\n });\r\n }\r\n\r\n getGranularitySerie(consumptionPerGranularityInterval: ConsumptionPerGranularityInterval) {\r\n var c = consumptionPerGranularityInterval;\r\n return 'key:' + c.Id.ConnectionId + ',' + c.Id.CustomerId + ',' + c.Id.Tariff + ',' + c.MutationState;\r\n }\r\n getGranularityStack(consumptionPerGranularityInterval: ConsumptionPerGranularityInterval) {\r\n var c = consumptionPerGranularityInterval;\r\n return 'stack:' + c.Id.ConnectionId + ',' + c.Id.CustomerId + ',' + c.MutationState;\r\n }\r\n\r\n getSerieKeyWithSupplyType(c: ConsumptionPerGranularityInterval | ConsumptionPerClosedDateRange, supplyType: SupplyType): string {\r\n return c.Id.ConnectionId + ',' + c.MutationState + ',' + c.Id.Tariff + ',' + SupplyType[supplyType];\r\n }\r\n getSerieKey(c: ConsumptionPerGranularityInterval | ConsumptionPerClosedDateRange): string {\r\n return c.Id.ConnectionId + ',' + c.MutationState + ',' + c.Id.Tariff;\r\n }\r\n\r\n createGranularitySeries(consumptions: ConsumptionPerGranularityInterval[] | ConsumptionPerClosedDateRange[]): SeriesAreaOptions[] {\r\n var groupedByKey = groupBy(consumptions, (c: any) => this.getSerieKey(c));\r\n this.series = {};\r\n this.series.allowPointSelect = true;\r\n let lastProcessed = {};\r\n Object.entries(groupedByKey).map((keyValue) =>\r\n (keyValue[1] as any[]).forEach((cons) => {\r\n // Check if First\r\n if (this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Consumption)] == null) {\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Consumption)] = {\r\n type: 'area',\r\n name: SupplyType[SupplyType.Consumption] + ': ' + cons.MutationState + ' ( ' + cons.Id.Tariff + ' )',\r\n yAxis: 0,\r\n data: [],\r\n sum: 0,\r\n };\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Production)] = {\r\n type: 'area',\r\n name: SupplyType[SupplyType.Production] + ': ' + cons.MutationState + ' ( ' + cons.Id.Tariff + ' )',\r\n yAxis: 0,\r\n data: [],\r\n sum: 0,\r\n };\r\n }\r\n // if(series[\"cost\"] == null){\r\n // series[\"cost\"] = {\r\n // type: \"line\",\r\n // name: \"cost\",\r\n // yAxis: 1,\r\n // data: [],\r\n // sum: 0,\r\n // }\r\n // }\r\n\r\n // NULL Check\r\n if (cons.Prosumption.Consumption == null) {\r\n cons.Prosumption.Consumption = {\r\n QuantityMeasured: null,\r\n Quantity: null,\r\n Cost: null,\r\n };\r\n }\r\n if (cons.Prosumption.Production == null) {\r\n cons.Prosumption.Production = {\r\n QuantityMeasured: null,\r\n Quantity: null,\r\n Cost: null,\r\n };\r\n }\r\n\r\n // Check lastprocessed\r\n if (lastProcessed[this.getSerieKey(cons)] != null && lastProcessed[this.getSerieKey(cons)] != cons.Id.Interval.From.valueOf()) {\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Consumption)].data.push([lastProcessed[this.getSerieKey(cons)], null]);\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Production)].data.push([lastProcessed[this.getSerieKey(cons)], null]);\r\n // series[\"cost\"].data.push([lastProcessed[this.getSerieKey(cons)], null]);\r\n }\r\n lastProcessed[this.getSerieKey(cons)] = cons.Id.Interval.Until.valueOf();\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Consumption)].data.push([\r\n cons.Id.Interval.From.valueOf(),\r\n cons.Prosumption.Consumption.Quantity,\r\n ]);\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Consumption)].data.push([\r\n cons.Id.Interval.Until.valueOf() - 1,\r\n cons.Prosumption.Consumption.Quantity,\r\n ]);\r\n if (cons.Prosumption.Production.Quantity != 0) {\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Production)].data.push([\r\n cons.Id.Interval.From.valueOf(),\r\n -1 * cons.Prosumption.Production.Quantity,\r\n ]);\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Production)].data.push([\r\n cons.Id.Interval.Until.valueOf() - 1,\r\n -1 * cons.Prosumption.Production.Quantity,\r\n ]);\r\n }\r\n\r\n // if(this.type == 'CLosedDateRange' ){\r\n // // for Closed Date another chart has to be made\r\n // // Check lastprocessed\r\n // if(lastProcessed[this.getSerieKey(cons)] != null && lastProcessed[this.getSerieKey(cons)] != cons.ClosedDateRange.From.valueOf()){\r\n // this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Consumption)].data.push([lastProcessed[this.getSerieKey(cons)], null]);\r\n // this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Production)].data.push([lastProcessed[this.getSerieKey(cons)], null]);\r\n // // series[\"cost\"].data.push([lastProcessed[this.getSerieKey(cons)], null]);\r\n // }\r\n // lastProcessed[this.getSerieKey(cons)] = cons.ClosedDateRange.Until.valueOf()\r\n // this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Consumption)].data.push([cons.ClosedDateRange.From.valueOf(), cons.Prosumption.Consumption.Quantity]);\r\n // this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Consumption)].data.push([cons.ClosedDateRange.Until.valueOf()-1, cons.Prosumption.Consumption.Quantity]);\r\n // if ( cons.Prosumption.Production.Quantity != 0) {\r\n // this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Production)].data.push([cons.ClosedDateRange.From.valueOf(), -1 * cons.Prosumption.Production.Quantity]);\r\n // this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Production)].data.push([cons.ClosedDateRange.Until.valueOf()-1, -1 * cons.Prosumption.Production.Quantity]);\r\n // }\r\n // }\r\n\r\n // increase series.\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Production)].sum += cons.Prosumption.Consumption.Quantity;\r\n this.series[this.getSerieKeyWithSupplyType(cons, SupplyType.Production)].sum += -1 * cons.Prosumption.Production.Quantity;\r\n\r\n // series[\"cost\"].data.push([cons.Interval.From.valueOf(), ((-1 * cons.Prosumption.Production.Cost) + cons.Prosumption.Consumption.Cost )/ 100_000]);\r\n // series[\"cost\"].sum += ((-1 * cons.Prosumption.Production.Cost) + cons.Prosumption.Consumption.Cost )/ 100_000;\r\n }),\r\n );\r\n // series[\"cost\"].data = series[\"cost\"].data.sort((a,b)=> a[0]-b[0]);\r\n // console.log('series');\r\n // console.log(series);\r\n\r\n return Object.values(this.series).map((value: any) => {\r\n return {\r\n type: value.type,\r\n name: value.name, // + \"(\" + value.sum + \")\",\r\n yAxis: value.yAxis,\r\n data: value.data,\r\n } as SeriesAreaOptions;\r\n });\r\n }\r\n\r\n removePlotBand() {\r\n if (this.xAxis) {\r\n try {\r\n this.xAxis.removePlotBand('mask-for-delete');\r\n } catch (error) {}\r\n }\r\n }\r\n setPlotXMinMax() {\r\n if (this.consumptionPeriodService.GetInterval().From == undefined) {\r\n return (this.xAxisPeriodStart = null);\r\n } // null = autocalc.\r\n if (this.consumptionPeriodService.GetInterval().Until == undefined) {\r\n return (this.xAxisPeriodEnd = null);\r\n }\r\n this.xAxisPeriodStart = this.consumptionPeriodService.GetInterval().From.valueOf();\r\n this.xAxisPeriodEnd = this.consumptionPeriodService.GetInterval().Until.valueOf();\r\n }\r\n\r\n getSelectedPeriod(e: any) {\r\n // e.target.series.forEach(s => s.data.forEach(d => d.select()));\r\n // console.log(e.target.redraw());\r\n // return false;\r\n let interval = new Interval(moment.unix(e.xAxis[0].min / 1000), moment.unix(e.xAxis[0].max / 1000));\r\n if (this.deleteMeasurements) {\r\n this.xAxis = e.target.xAxis[0];\r\n try {\r\n this.xAxis.removePlotBand('mask-for-delete');\r\n } catch (error) {}\r\n e.target.xAxis[0].addPlotBand({\r\n id: 'mask-for-delete',\r\n from: e.xAxis[0].min,\r\n to: e.xAxis[0].max,\r\n color: 'rgba(0, 0, 0, 0.3)',\r\n });\r\n e.target.series[0].data.forEach((d) => d.select());\r\n this.measurementService.deleteIntervalSubject.next(interval);\r\n return false;\r\n } else {\r\n this.consumptionPeriodService.SetInterval(interval);\r\n }\r\n // this.series.forEach(points => {\r\n // points.forEach(point => {\r\n // if (point.x >= e.xAxis[0].min && point.x <= e.xAxis[0].max &&\r\n // point.y >= e.yAxis[0].min && point.y <= e.yAxis[0].max) {\r\n // point.select(true, true);\r\n // }\r\n // });\r\n // });\r\n }\r\n\r\n getXaxisValuesFromZoom(event: any) {\r\n // Masterly brilliant yet dirty binding of a window variable from within the chart.\r\n let from: Moment = moment.unix(event.min / 1000);\r\n let until: Moment = moment.unix(event.max / 1000);\r\n this.consumptionPeriodService.SetInterval(new Interval(from, until));\r\n }\r\n\r\n createGranularityChart(consumptionPerGranularityIntervals: ConsumptionPerGranularityInterval[]) {\r\n (window as any).GranularityChart = this;\r\n setOptions({\r\n time: {\r\n useUTC: false,\r\n },\r\n });\r\n // Dynamic label based on producttype\r\n let yaxisLabel = this.productType == ProductType.Electricity ? 'Verbruik in kWh' : 'Verbruik in m3';\r\n this.series = this.createGranularitySeries(consumptionPerGranularityIntervals);\r\n\r\n //door de metingen lopen, en elke keer controleren of de volgende een kwartier of uur later is en anders een 0 meting toevoegen en ervoor\r\n this.chart = new Chart({\r\n chart: {\r\n type: 'area',\r\n animation: { duration: 1000 },\r\n zooming: {\r\n type: 'x',\r\n },\r\n events: {\r\n selection: this.getSelectedPeriod.bind((window as any).GranularityChart),\r\n },\r\n },\r\n tooltip: {\r\n enabled: false,\r\n animation: false,\r\n },\r\n boost: {\r\n useGPUTranslations: true,\r\n },\r\n title: {\r\n text: '',\r\n },\r\n subtitle: {\r\n text: '',\r\n },\r\n xAxis: [\r\n {\r\n type: 'datetime',\r\n min: this.xAxisPeriodStart,\r\n max: this.xAxisPeriodEnd,\r\n // events:{\r\n // // this gave an extremely evil laugh...\r\n // afterSetExtremes: this.getXaxisValuesFromZoom.bind((window as any).GranularityChart)\r\n // },\r\n },\r\n {\r\n type: 'datetime',\r\n opposite: true,\r\n tickInterval: 3600 * 1000,\r\n },\r\n ],\r\n yAxis: [\r\n {\r\n title: {\r\n text: yaxisLabel,\r\n },\r\n // },{\r\n // title: {\r\n // text: 'Kosten in Euro'\r\n // },\r\n // opposite: true\r\n },\r\n ],\r\n legend: {\r\n enabled: this.determineGraphLegenda(),\r\n },\r\n plotOptions: {\r\n area: {\r\n marker: {\r\n radius: 2,\r\n },\r\n stacking: 'normal',\r\n lineWidth: 1,\r\n states: {\r\n hover: {\r\n lineWidth: 1,\r\n },\r\n },\r\n threshold: null,\r\n },\r\n series: {\r\n connectNulls: false,\r\n },\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n series: this.series,\r\n });\r\n }\r\n ngOnInit() {}\r\n ngOnDestroy() {}\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n
","import moment from 'moment';\r\nimport { BoundaryType, ByTariff, Connection, ConsumptionPerClosedDateRange, DateRange, ProductType, Tariff, Timestamp } from 'src/app/Connection';\r\nimport { asList, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { CreateOverrideConsumptionIntervalCommand } from 'src/app/Services/Commands/Consumptions/createConsumptionOverrideIntervalCommand';\r\nimport { DeleteOverrideConsumptionIntervalCommand } from 'src/app/Services/Commands/Consumptions/deleteConsumptionOverrideIntervalCommand';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ConsumptionService } from 'src/app/services/consumption.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-closed-date-range-consumption',\r\n templateUrl: './closed-date-range-consumption.component.html',\r\n styleUrls: ['./closed-date-range-consumption.component.scss'],\r\n})\r\nexport class ClosedDateRangeConsumptionComponent implements OnInit {\r\n @Input() connection: Connection;\r\n\r\n isConnectionGV = false;\r\n closedDateRangeConsumptions: ConsumptionPerClosedDateRange[];\r\n closedDateRangeConsumptionsByDateAndTariff: ByTariff[];\r\n originalClosedDateRangeConsumptions: ConsumptionPerClosedDateRange[];\r\n isShowAddConsumption = false;\r\n isShowEditConsumption = false;\r\n inputForm: UntypedFormGroup;\r\n\r\n range = new UntypedFormGroup({\r\n start: new UntypedFormControl(),\r\n end: new UntypedFormControl(),\r\n });\r\n\r\n listOfEdits = [];\r\n editThisConsumption = false;\r\n\r\n dbfactor;\r\n\r\n // Quantity is for Elek\r\n // QuantityMeasured is for Gas and Quantity is the Calorific Corrected amount.\r\n\r\n profiledRanges: any;\r\n\r\n constructor(private consumptionService: ConsumptionService, private errorService: ErrorService, private connectionService: ConnectionService) {}\r\n\r\n async ngOnInit() {\r\n this.isConnectionGV = this.hasConnectionClusterGV();\r\n this.dbfactor = this.connection.ProductType === ProductType.Electricity ? 1000 : 1000000;\r\n await this.fetchData();\r\n this.initializeProfiledRanges();\r\n }\r\n\r\n async fetchData() {\r\n this.closedDateRangeConsumptionsByDateAndTariff = [];\r\n const from = moment().subtract(15, 'year');\r\n const until = moment().add(1, 'year');\r\n\r\n // Get Closed Date Range Consumptions\r\n const varClosedDateRangeCons: ConsumptionPerClosedDateRange[] = await this.consumptionService.getForClosedDateRange(\r\n this.connection.Id,\r\n new DateRange(new Timestamp(from), BoundaryType.Closed, new Timestamp(until), BoundaryType.Closed),\r\n );\r\n this.originalClosedDateRangeConsumptions = varClosedDateRangeCons;\r\n // makeConsumptionListViewModel(varClosedDateRangeCons);\r\n const groupedByDate = this.groupConsPerByDate(varClosedDateRangeCons);\r\n this.closedDateRangeConsumptionsByDateAndTariff = groupedByDate.map((consumptionsPerDate) => this.getByTariff(consumptionsPerDate));\r\n }\r\n\r\n groupConsPerByDate(consumptions: ConsumptionPerClosedDateRange[]) {\r\n return asList(\r\n groupBy(\r\n consumptions,\r\n (consumption: any) =>\r\n '' + consumption.Id.From + consumption.ClosedDateRange.From + consumption.ClosedDateRange.Until + consumption.CustomerId,\r\n ),\r\n );\r\n }\r\n\r\n getByTariff(groupedConsumptionsByDate: ConsumptionPerClosedDateRange[]): ByTariff {\r\n return new ByTariff(\r\n groupedConsumptionsByDate.filter((c) => c.Id.Tariff === undefined || c.Id.Tariff === null),\r\n groupedConsumptionsByDate.filter((c) => c.Id.Tariff === Tariff.normal),\r\n groupedConsumptionsByDate.filter((c) => c.Id.Tariff === Tariff.low),\r\n );\r\n }\r\n\r\n openOrCloseEdit() {\r\n this.isShowEditConsumption = !this.isShowEditConsumption;\r\n this.listOfEdits = [];\r\n }\r\n\r\n updateData() {\r\n this.isShowEditConsumption = false;\r\n setTimeout(() => this.fetchData(), 200);\r\n }\r\n\r\n showEdit(consumption) {\r\n return this.listOfEdits.includes(\r\n (consumption.None[0] && consumption.None[0].Id.From) ||\r\n (consumption.Normal[0] && consumption.Normal[0].Id.From) ||\r\n (consumption.Low[0] && consumption.Low[0].Id.From),\r\n );\r\n }\r\n\r\n editConsumption(consumptionbyTarif: ByTariff) {\r\n if (!this.validateConsumptionsByTarif(consumptionbyTarif)) {\r\n return;\r\n }\r\n this.editThisConsumption = !this.editThisConsumption;\r\n this.listOfEdits.push(consumptionbyTarif.any().Id?.From);\r\n }\r\n\r\n cancelEditOfconsumptionId(event) {\r\n this.listOfEdits = this.listOfEdits.filter((consumptionIdFrom) => consumptionIdFrom !== consumptionIdFrom);\r\n }\r\n\r\n validateConsumptionsByTarif(consumptionbyTarif) {\r\n if (this.connection.ProductType === ProductType.Gas && consumptionbyTarif.None.length !== 1) {\r\n return this.errorService.addError('Geen of meerdere verbruiken gevonden, contacteer ICT.');\r\n }\r\n if (this.connection.ProductType === ProductType.Electricity && consumptionbyTarif.Low.length !== 1) {\r\n this.errorService.addError('Geen of meerdere verbruiken gevonden voor laag tarief, contacteer indien nodig ICT.');\r\n }\r\n if (this.connection.ProductType === ProductType.Electricity && consumptionbyTarif.Normal.length !== 1) {\r\n this.errorService.addError('Geen of meerdere verbruiken gevonden voor nromaal tarief, contacteer indien nodig ICT.');\r\n }\r\n return true;\r\n }\r\n\r\n deleteConsumption(consumptionbyTarif: ByTariff) {\r\n if (!this.validateConsumptionsByTarif(consumptionbyTarif)) {\r\n return;\r\n }\r\n if (this.connection.ProductType === ProductType.Gas) {\r\n this.consumptionService.deleteConsumption(consumptionbyTarif.None[0].Id);\r\n // TODO THROW ERROR GENERICALL USING ANGULAR ERRORHANDLER\r\n } else {\r\n if (consumptionbyTarif.Normal[0]) {\r\n this.consumptionService.deleteConsumption(consumptionbyTarif.Normal[0].Id);\r\n }\r\n if (consumptionbyTarif.Low[0]) {\r\n this.consumptionService.deleteConsumption(consumptionbyTarif.Low[0].Id);\r\n }\r\n }\r\n this.fetchData();\r\n }\r\n\r\n initializeProfiledRanges() {\r\n this.profiledRanges = {};\r\n\r\n this.connection.ConnectionContextValues.forEach((element) => {\r\n if (element.hasOwnProperty('ContextValueName') && element.ContextValueName === 'OverrideConsumptionInterval') {\r\n this.profiledRanges[element.Interval] = true;\r\n }\r\n });\r\n }\r\n\r\n rangeContainedInProfiledRanges(consumption: ConsumptionPerClosedDateRange) {\r\n const from = consumption.ClosedDateRange.From;\r\n const until = consumption.ClosedDateRange.Until;\r\n const range = new DateRange(from, BoundaryType.Closed, until, BoundaryType.Open);\r\n\r\n if (this.profiledRanges[range.toRangeString('YYYY-MM-DD')] === true) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n rangeContainedInContextValues(consumption: ConsumptionPerClosedDateRange) {\r\n const from = consumption.ClosedDateRange.From;\r\n const until = consumption.ClosedDateRange.Until;\r\n const range = new DateRange(from, BoundaryType.Closed, until, BoundaryType.Open);\r\n\r\n if (this.profiledRanges[range.toRangeString('YYYY-MM-DD')] === true) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n consumptionMarkAsProfiled(consumption: ConsumptionPerClosedDateRange) {\r\n const id = consumption.Id.ConnectionId;\r\n const from = consumption.ClosedDateRange.From;\r\n const until = consumption.ClosedDateRange.Until;\r\n const command = new CreateOverrideConsumptionIntervalCommand(id, from.moment.format('YYYY-MM-DD'), until.moment.format('YYYY-MM-DD'));\r\n\r\n this.connectionService.createOverrideConsumptionInterval(command).subscribe(\r\n () => {\r\n this.openOrCloseEdit();\r\n this.refreshConnectionInformation(id);\r\n },\r\n () => this.errorService.addError('Het aanmerken voor geprofileerd afrekenen is mislukt, contacteer indien nodig ICT.'),\r\n );\r\n }\r\n\r\n consumptionRemoveAsProfiled(consumption: ConsumptionPerClosedDateRange) {\r\n const id = consumption.Id.ConnectionId;\r\n const from = consumption.ClosedDateRange.From;\r\n const command = new DeleteOverrideConsumptionIntervalCommand(id, from.moment.format('YYYY-MM-DD'));\r\n\r\n this.connectionService.deleteOverrideConsumptionInterval(command).subscribe(\r\n () => {\r\n this.openOrCloseEdit();\r\n this.refreshConnectionInformation(id);\r\n },\r\n () => this.errorService.addError('Het aanmerken voor geprofileerd afrekenen is mislukt, contacteer indien nodig ICT.'),\r\n );\r\n }\r\n\r\n refreshConnectionInformation(connectionId: string) {\r\n this.connectionService\r\n .getByConnectionId(connectionId)\r\n .then((connection) => {\r\n this.connection = connection;\r\n this.initializeProfiledRanges();\r\n })\r\n .catch((error) => {\r\n this.errorService.addError(error.message);\r\n });\r\n }\r\n\r\n hasConnectionClusterGV() {\r\n if (this.connection === null || this.connection.ConnectionClusters === undefined || this.connection.ConnectionClusters.length === 0) {\r\n return false;\r\n }\r\n return (\r\n this.connection.ConnectionClusters.map((cc) => cc.clusterId).find((c) => c.name === 'GV' && c.clusterType === 'EdsnMarketSegment') !== undefined\r\n );\r\n }\r\n}\r\n","
\r\n
Marktverbruiken
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
Verbruik
\r\n
\r\n
Teruglevering
\r\n
\r\n
\r\n
\r\n
\r\n
Klantnr
\r\n
Interval
\r\n
Normaal
\r\n
Laag
\r\n
Normaal
\r\n
Laag
\r\n
Actie
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Verbruik
\r\n
\r\n
\r\n
\r\n
\r\n
Klantnr
\r\n
Interval
\r\n
QuantityMeasured
\r\n
Quantity
\r\n
Actie
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n {{consumption.any().CustomerId}}\r\n
\r\n
\r\n {{consumption.any().ClosedDateRange.From | date: 'y-MM-dd' }} -\r\n {{consumption.any().ClosedDateRange.Until |\r\n date: 'y-MM-dd' }}\r\n
\r\n\r\n
\r\n \r\n Q: {{consumption.Normal[0].Prosumption.Consumption.Quantity / dbfactor }} || QM:\r\n {{consumption.Normal[0].Prosumption.Consumption.QuantityMeasured / dbfactor }}\r\n \r\n
\r\n
\r\n \r\n Q: {{consumption.Low[0].Prosumption.Consumption.Quantity / dbfactor }} || QM:\r\n {{consumption.Low[0].Prosumption.Consumption.QuantityMeasured / dbfactor }}\r\n \r\n
\r\n
\r\n \r\n Q: {{consumption.Normal[0].Prosumption.Production.Quantity / dbfactor }} || QM:\r\n {{consumption.Normal[0].Prosumption.Production.QuantityMeasured / dbfactor }}\r\n \r\n
\r\n
\r\n \r\n Q: {{consumption.Low[0].Prosumption.Production.Quantity / dbfactor }} || QM:\r\n {{consumption.Low[0].Prosumption.Production.QuantityMeasured / dbfactor }}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n edit\r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n {{consumption.any().CustomerId}}\r\n
\r\n
\r\n {{consumption.any().ClosedDateRange.From | date: 'y-MM-dd' }} -\r\n {{consumption.any().ClosedDateRange.Until |\r\n date: 'y-MM-dd' }}\r\n
\r\n\r\n
\r\n \r\n QM: {{consumption.None[0].Prosumption.Consumption.QuantityMeasured / dbfactor}}\r\n \r\n
\r\n
\r\n \r\n Q: {{consumption.None[0].Prosumption.Consumption.Quantity / dbfactor }}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n edit\r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
","
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n 1\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0\"\r\n [ngTemplateOutlet]=\"consumptionElectricityRowPerCustomer\"\r\n [ngTemplateOutletContext]=\"{consumptions:interval}\">\r\n \r\n \r\n \r\n \r\n
{{interval.measurementsByTariff.any()?.Id?.MeterId}}{{interval.consumptionByTariff.any()?.Id?.CustomerId}}{{interval.interval.From | date: 'y-MM-dd'}}{{interval.consumptionByTariff.any()?.Id?.From | date: 'H:mm'}}
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n 1\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\"\r\n [ngTemplateOutlet]=\"consumptionGasRowPerCustomer\"\r\n [ngTemplateOutletContext]=\"{consumptions:interval}\">\r\n \r\n \r\n \r\n \r\n
{{interval.measurementsByTariff.any()?.Id?.MeterId}}{{interval.consumptionByTariff.any()?.Id?.CustomerId}}\r\n \r\n {{interval.consumptionByTariff.None[0].ClosedDateRange.From.moment | date: 'y-MM-dd'}} -\r\n {{interval.consumptionByTariff.None[0].ClosedDateRange.Until.moment | date: 'y-MM-dd'}}\r\n \r\n \r\n {{interval.interval.From | date: 'y-MM-dd'}} - {{interval.interval.Until | date: 'y-MM-dd'}}\r\n \r\n\r\n {{interval.consumptionByTariff.any()?.Id?.From | date: 'H:mm'}}{{interval.consumptionByTariff.None[0].Prosumption.Consumption.QuantityMeasured | number:'1.1-1' }}\r\n {{interval.consumptionByTariff.None[0].Prosumption.Consumption.Quantity | number:'1.1-1' }}\r\n \r\n \r\n
{{interval.measurementsByTariff.any()?.Id?.MeterId}}{{interval.consumptionByTariff.any()?.Id?.CustomerId}}\r\n \r\n {{interval.consumptionByTariff.None[0].ClosedDateRange.From.moment | date: 'y-MM-dd'}} -\r\n {{interval.consumptionByTariff.None[0].ClosedDateRange.Until.moment | date: 'y-MM-dd'}}\r\n \r\n \r\n {{interval.interval.From | date: 'y-MM-dd'}} - {{interval.interval.Until | date: 'y-MM-dd'}}\r\n \r\n {{interval.consumptionByTariff.any()?.Id?.From | date: 'H:mm'}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n Verbruik\r\n Verbruik\r\n \r\n \r\n \r\n Meter Id\r\n Klantnr\r\n Interval\r\n Tijd\r\n None (QM Gas)\r\n None (Q Gas)\r\n Bron\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n Verbruik\r\n \r\n Teruglevering\r\n \r\n Bron\r\n \r\n \r\n \r\n Meter Id\r\n Klantnr\r\n Datum\r\n Tijd\r\n Normaal\r\n Laag\r\n Normaal\r\n Laag\r\n Normaal\r\n Laag\r\n \r\n\r\n\r\n\r\n \r\n {{consumption.measurementsByTariff.any()?.Id?.MeterId}}\r\n {{consumption.consumptionByTariff.any()?.Id?.CustomerId}}\r\n \r\n \r\n {{consumption.interval.From | date: 'y-MM-dd'}}\r\n {{consumption.interval.From | date: 'y-MM-dd'}}\r\n \r\n {{consumption.consumptionByTariff.any()?.Id?.From | date: 'H:mm'}}\r\n {{consumption.consumptionByTariff.None[0].Consumption.QuantityMeasured | number:'1.1-1' }}\r\n \r\n {{consumption.consumptionByTariff.None[0].Prosumption.Consumption.Quantity | number:'1.1-1' }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n person\r\n {{consumption.Id.CustomerId}}\r\n \r\n {{consumption.Id.From | date: 'H:mm'}}\r\n {{consumption.Prosumption.Consumption.QuantityMeasured | number:'1.1-1' }}\r\n {{consumption.Prosumption.Consumption.Quantity | number:'1.1-1' }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n {{consumption.measurementsByTariff.any()?.Id?.MeterId}}\r\n {{consumption.consumptionByTariff.any()?.Id?.CustomerId}}\r\n \r\n \r\n {{consumption.consumptionByTariff.any().ClosedDateRange.From.moment | date: 'y-MM-dd'}} -\r\n {{consumption.consumptionByTariff.any().ClosedDateRange.Until.moment | date: 'y-MM-dd'}}\r\n \r\n \r\n {{consumption.interval.From | date: 'y-MM-dd'}}\r\n \r\n \r\n - {{consumption.interval.Until | date: 'y-MM-dd'}}\r\n \r\n \r\n {{consumption.consumptionByTariff.any()?.Id?.From | date: 'H:mm'}}\r\n \r\n 0\">\r\n {{consumption.consumptionByTariff.Normal[0].Prosumption?.Consumption?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n \r\n 0\">\r\n {{consumption.consumptionByTariff.Low[0].Prosumption?.Consumption?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n \r\n 0\">\r\n {{consumption.consumptionByTariff.Normal[0].Prosumption?.Production?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n \r\n 0\">\r\n {{consumption.consumptionByTariff.Low[0].Prosumption?.Production?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n person\r\n {{consumption.consumptionByTariff.Low[0].Id.CustomerId}}\r\n \r\n {{consumption.consumptionByTariff.any()?.Id?.From | date: 'H:mm'}}\r\n \r\n 0\">\r\n {{consumption.consumptionByTariff.Normal[0].Prosumption?.Consumption?.Quantity | number:'1.1-1' }}\r\n \r\n\r\n \r\n \r\n {{consumption.consumptionByTariff.Low[0].Prosumption?.Consumption?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n 0\">\r\n {{consumption.consumptionByTariff.Normal[0].Prosumption?.Production?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n \r\n {{consumption.consumptionByTariff.Low[0].Prosumption?.Production?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n person\r\n {{consumption.consumptionByTariff.Low[1].Id.CustomerId}}\r\n \r\n {{consumption.consumptionByTariff.any()?.Id?.From | date: 'H:mm'}}\r\n \r\n 0\">\r\n {{consumption.consumptionByTariff.Normal[1].Prosumption?.Consumption?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n \r\n {{consumption.consumptionByTariff.Low[1].Prosumption?.Consumption?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n 0\">\r\n {{consumption.consumptionByTariff.Normal[1].Prosumption?.Production?.Quantity | number:'1.1-1' }}\r\n \r\n\r\n \r\n \r\n {{consumption.consumptionByTariff.Low[1].Prosumption?.Production?.Quantity | number:'1.1-1' }}\r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","import { ConsumptionWithMeasurementsInterval, Granularity, ProductType } from 'src/app/Connection';\r\n\r\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\n\r\nimport { ConsumptionWithMeasurementsTabComponent } from '../../ConnectionComponent/Tabs/consumption-with-measurements-tab/consumption-with-measurements-tab.component';\r\n\r\n@Component({\r\n selector: 'app-consumption-with-measurements-table',\r\n templateUrl: './consumption-with-measurements-table.component.html',\r\n styleUrls: ['./consumption-with-measurements-table.component.scss'],\r\n})\r\nexport class ConsumptionWithMeasurementsTableComponent implements OnInit, OnChanges {\r\n @Input() consumptionMeasurements: ConsumptionWithMeasurementsInterval[];\r\n @Input() productType: ProductType;\r\n @Input() granularity: Granularity; // to remove time column\r\n\r\n tableData;\r\n originalTableData;\r\n showClosedDateConsumptions = true;\r\n\r\n pageNumber = 1;\r\n pageSize = 96; // max amount is one day in quarterhours\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.originalTableData = this.consumptionMeasurements;\r\n this.consumptionMeasurements = this.showClosedDateRangeConsumptionsInTableData(this.showClosedDateConsumptions);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.originalTableData = changes.consumptionMeasurements.currentValue;\r\n this.consumptionMeasurements = changes.consumptionMeasurements.currentValue;\r\n this.showClosedDateConsumptions = true;\r\n }\r\n\r\n filterMarketClosedDateRangeConsumptions() {\r\n this.showClosedDateConsumptions = !this.showClosedDateConsumptions;\r\n this.consumptionMeasurements = this.showClosedDateRangeConsumptionsInTableData(this.showClosedDateConsumptions);\r\n }\r\n\r\n showClosedDateRangeConsumptionsInTableData(bool: boolean) {\r\n return bool\r\n ? this.originalTableData\r\n : this.originalTableData.filter((cwm: any) => cwm.consumption.filter((c: any) => c.hasOwnProperty('ClosedDateRange')).length === 0);\r\n }\r\n}\r\n","import moment from 'moment';\r\nimport {\r\n ByTariff,\r\n Connection,\r\n ConsumptionPerClosedDateRange,\r\n ProductType,\r\n ProsumptionQuantitiesWithMeasured,\r\n QuantityWithCost,\r\n Tariff,\r\n} from 'src/app/Connection';\r\nimport { readConnection } from 'src/app/helpers/ActiveOnDateHelper';\r\nimport { ConsumptionService, ConsumptionsPerClosedDateRangeCreateCommand } from 'src/app/services/consumption.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-edit-closed-date-range-consumption',\r\n templateUrl: './edit-closed-date-range-consumption.component.html',\r\n styleUrls: ['./edit-closed-date-range-consumption.component.scss'],\r\n})\r\nexport class EditClosedDateRangeConsumptionComponent implements OnInit {\r\n @Input() consumption: ByTariff;\r\n @Input() connection: Connection;\r\n @Output() cancelEdit: EventEmitter = new EventEmitter();\r\n @Output() actionCompleted: EventEmitter = new EventEmitter();\r\n\r\n dateRange = new UntypedFormGroup({\r\n start: new UntypedFormControl(),\r\n end: new UntypedFormControl(),\r\n });\r\n\r\n elecProsumption = new UntypedFormGroup({\r\n elecNormalConsumptionQuantity: new UntypedFormControl(),\r\n elecLowConsumptionQuantity: new UntypedFormControl(),\r\n elecNormalProductionQuantity: new UntypedFormControl(),\r\n elecLowProductionQuantity: new UntypedFormControl(),\r\n });\r\n\r\n customerIdGroup: UntypedFormGroup;\r\n\r\n gasProsumption = new UntypedFormGroup({\r\n gasQuantityMeasured: new UntypedFormControl(),\r\n gasQuantity: new UntypedFormControl(),\r\n });\r\n\r\n dbFactor: number;\r\n\r\n createNewClosedDateRangeConsumption = false;\r\n\r\n constructor(private consumptionService: ConsumptionService, private errorService: ErrorService) {}\r\n\r\n ngOnInit(): void {\r\n this.createNewClosedDateRangeConsumption = this.consumption ? false : true;\r\n this.dbFactor = this.connection.ProductType === ProductType.Electricity ? 1000 : 1000000;\r\n this.setDefaultCustomerId();\r\n if (this.consumption) {\r\n this.dateRange.setValue({\r\n start: this.consumption.any()?.ClosedDateRange?.From.moment,\r\n end: this.consumption.any()?.ClosedDateRange?.Until.moment,\r\n });\r\n if (this.consumption.any()?.ProductType === ProductType.Electricity) {\r\n this.elecProsumption.setValue({\r\n elecNormalConsumptionQuantity: this.consumption.Normal[0].Prosumption.Consumption.Quantity / this.dbFactor,\r\n elecLowConsumptionQuantity: this.consumption.Low[0].Prosumption.Consumption.Quantity / this.dbFactor,\r\n elecNormalProductionQuantity: this.consumption.Normal[0].Prosumption.Production.Quantity / this.dbFactor,\r\n elecLowProductionQuantity: this.consumption.Low[0].Prosumption.Production.Quantity / this.dbFactor,\r\n });\r\n } else {\r\n this.gasProsumption.setValue({\r\n gasQuantityMeasured: this.consumption.None[0]?.Prosumption.Consumption.QuantityMeasured / this.dbFactor,\r\n gasQuantity: this.consumption.None[0]?.Prosumption.Consumption.Quantity / this.dbFactor,\r\n });\r\n }\r\n }\r\n }\r\n\r\n setDefaultCustomerId() {\r\n this.customerIdGroup = new UntypedFormGroup({\r\n customerId: new UntypedFormControl(new readConnection(this.connection, moment()).activeCustomerIdsForDate),\r\n });\r\n }\r\n\r\n save() {\r\n this.deleteConsumptions();\r\n\r\n this.createConsumptions();\r\n\r\n this.actionCompleted.emit(true);\r\n }\r\n\r\n setClosedDateRangeInterval() {\r\n if (this.connection.ProductType === ProductType.Electricity) {\r\n this.consumption.Normal[0].ClosedDateRange.From = this.dateRange.get('start').value;\r\n this.consumption.Normal[0].ClosedDateRange.Until = this.dateRange.get('end').value;\r\n this.consumption.Low[0].ClosedDateRange.From = this.dateRange.get('start').value;\r\n this.consumption.Low[0].ClosedDateRange.Until = this.dateRange.get('end').value;\r\n this.consumption.Normal[0].Id.From = this.dateRange.get('start').value;\r\n this.consumption.Low[0].Id.From = this.dateRange.get('start').value;\r\n }\r\n if (this.connection.ProductType === ProductType.Gas) {\r\n this.consumption.None[0].ClosedDateRange.From = this.dateRange.get('start').value;\r\n this.consumption.None[0].ClosedDateRange.Until = this.dateRange.get('end').value;\r\n this.consumption.None[0].Id.From = this.dateRange.get('start').value;\r\n }\r\n }\r\n\r\n cancel() {\r\n this.cancelEdit.emit(this.consumption.any()?.Id.From);\r\n }\r\n\r\n deleteConsumptions() {\r\n const consumptionIds = this.getConsumptionIds();\r\n consumptionIds.map(async (c) => await this.consumptionService.deleteConsumption(c));\r\n this.actionCompleted.emit(true);\r\n }\r\n\r\n async createConsumptions() {\r\n const consumptions = this.makeConsumptionsPerClosedDateRange();\r\n await this.consumptionService.postClosedDateRangeConsumption(consumptions);\r\n this.actionCompleted.emit(true);\r\n }\r\n\r\n getConsumptionIds() {\r\n return this.connection.ProductType === ProductType.Gas\r\n ? [this.consumption.None[0]?.Id]\r\n : [this.consumption.Normal[0].Id, this.consumption.Low[0].Id];\r\n }\r\n\r\n setProsumptionPerTarif(tariff?: Tariff): ProsumptionQuantitiesWithMeasured {\r\n if (!tariff) {\r\n return new ProsumptionQuantitiesWithMeasured(\r\n new QuantityWithCost(\r\n this.gasProsumption.get('gasQuantityMeasured').value * this.dbFactor,\r\n this.gasProsumption.get('gasQuantity').value * this.dbFactor,\r\n null,\r\n ),\r\n null,\r\n );\r\n }\r\n if (tariff && tariff === Tariff.low) {\r\n return new ProsumptionQuantitiesWithMeasured(\r\n new QuantityWithCost(null, this.elecProsumption.get('elecLowConsumptionQuantity').value * this.dbFactor, null),\r\n new QuantityWithCost(null, this.elecProsumption.get('elecLowProductionQuantity').value * this.dbFactor, null),\r\n );\r\n }\r\n if (tariff && tariff === Tariff.normal) {\r\n return new ProsumptionQuantitiesWithMeasured(\r\n new QuantityWithCost(null, this.elecProsumption.get('elecNormalConsumptionQuantity').value * this.dbFactor, null),\r\n new QuantityWithCost(null, this.elecProsumption.get('elecNormalProductionQuantity').value * this.dbFactor, null),\r\n );\r\n }\r\n }\r\n\r\n makeConsumptionsPerClosedDateRange(): ConsumptionsPerClosedDateRangeCreateCommand[] {\r\n if (this.connection.ProductType === ProductType.Gas) {\r\n return [this.createApiObject()];\r\n }\r\n\r\n if (this.connection.ProductType === ProductType.Electricity) {\r\n const tariffs = [Tariff.low, Tariff.normal];\r\n return tariffs.map((tariff) => this.createApiObject(tariff));\r\n }\r\n }\r\n\r\n createApiObject(tariff?: Tariff) {\r\n const connectionForDate = new readConnection(this.connection, this.dateRange.get('start').value);\r\n const prosumption = this.setProsumptionPerTarif(tariff);\r\n\r\n return new ConsumptionsPerClosedDateRangeCreateCommand(\r\n this.connection.Id,\r\n this.dateRange.get('start').value.format('YYYY-MM-DD'),\r\n this.dateRange.get('end').value.format('YYYY-MM-DD'),\r\n 'MeasuredVolume',\r\n this.determineCustomerId(connectionForDate),\r\n this.connection.ProductType,\r\n this.consumption?.any()?.Tenant ?? connectionForDate.activeTenantsForDate[0],\r\n tariff,\r\n prosumption.Consumption,\r\n prosumption.Production,\r\n );\r\n }\r\n\r\n private determineCustomerId(connectionForDate: readConnection): number {\r\n const customerIdFromInputForm = this.customerIdGroup ? this.customerIdGroup.value['customerId'][0] : null;\r\n return this.consumption?.any()?.CustomerId ?? customerIdFromInputForm ?? connectionForDate.activeCustomerIdsForDate[0];\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n Selecteer interval\r\n \r\n \r\n \r\n \r\n \r\n \r\n Invalid start date\r\n Invalid end date\r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n save\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n {{consumption.any()?.CustomerId}}\r\n
\r\n\r\n
\r\n \r\n Pas interval aan\r\n \r\n \r\n \r\n \r\n \r\n \r\n Invalid start date\r\n Invalid end date\r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n save\r\n cancel\r\n delete\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n Verbruik\r\n \r\n \r\n
\r\n
\r\n \r\n Verbruik\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n Verbruik\r\n \r\n \r\n
\r\n
\r\n \r\n Verbruik\r\n \r\n \r\n
\r\n
\r\n \r\n Teruglevering\r\n \r\n \r\n
\r\n
\r\n \r\n Teruglevering\r\n \r\n \r\n
\r\n\r\n
","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Contract informatie\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Connection, Issue } from 'src/app/Connection';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { IssueTypeService } from 'src/app/services/issue-type.service';\r\nimport { IssueService } from 'src/app/services/issue.service';\r\nimport { TenantService } from 'src/app/services/tenant.service';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'contract-state-component',\r\n templateUrl: './ContractStateComponent.html',\r\n styleUrls: ['./ContractStateComponent.scss'],\r\n})\r\nexport class ContractStateComponent {\r\n connection?: Connection;\r\n issues?: Issue[];\r\n tab: Number = 0;\r\n\r\n contractstateid?: string;\r\n\r\n initializedList: any[] = [];\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private connectionService: ConnectionService,\r\n private companyService: TenantService,\r\n private issueService: IssueService,\r\n private errorService: ErrorService,\r\n private issueTypeService: IssueTypeService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n // console.log(this.activatedRoute.snapshot);\r\n // if(this.activatedRoute.snapshot.queryParams[\"tab\"] != null){\r\n // tab = Number.parseInt(this.activatedRoute.snapshot.queryParams[\"tab\"]);\r\n // }\r\n\r\n let tab = 0;\r\n if (this.activatedRoute.snapshot.queryParams['tab'] != null) {\r\n tab = Number.parseInt(this.activatedRoute.snapshot.queryParams['tab']);\r\n }\r\n this.tab = tab;\r\n this.initializedList.push(tab);\r\n\r\n // Set global variable contractstate Id retrieved from URL\r\n this.contractstateid = this.activatedRoute.snapshot.params.contractstateid;\r\n\r\n // this.connectionService.getAll(this.activatedRoute.snapshot.params.connectionid)\r\n // .then(connections => {\r\n // if(connections.length != 1){\r\n // throw \"Geen aansluiting gevonden\"\r\n // };\r\n // this.connection = connections[0];\r\n // })\r\n // .then(() => this.issueService.getAllForConnection(this.connection.Id))\r\n // .then(issues => this.issues = issues)\r\n // // .then(issues => console.log(issues))\r\n // .catch(error => this.errorService.addError(error.message));\r\n }\r\n\r\n selectTab(tab: number) {\r\n this.tabWasInitialized(tab);\r\n\r\n this.activatedRoute.paramMap;\r\n if (location.pathname.indexOf('tab=') > 0) {\r\n history.pushState(null, '', location.pathname.substring(0, location.pathname.indexOf('?tab=')) + 'tab=' + tab);\r\n } else {\r\n history.pushState(null, '', location.pathname + '?tab=' + tab);\r\n }\r\n this.tab = tab;\r\n }\r\n\r\n tabWasInitialized(tabNumber: number) {\r\n if (!this.initializedList.includes(tabNumber)) {\r\n this.initializedList.push(tabNumber);\r\n }\r\n // console.log(this.initializedList)\r\n }\r\n isInitialized(i: number) {\r\n return this.initializedList.includes(i);\r\n }\r\n\r\n // goToCustomer(customerConnection: CustomerConnection){\r\n // this.router.navigate(['/connection', this.activatedRoute.snapshot.params.connectionid, \"customer\", customerConnection.Customer.Id]);\r\n // }\r\n}\r\n","import { from } from 'linq-to-typescript';\r\nimport moment from 'moment';\r\nimport { BaseComponent } from 'src/app/Components/BaseComponent';\r\nimport { ConnectionContract, ContractState, ContractStateId, Page, Timestamp } from 'src/app/Connection';\r\nimport { BlobResponseHelper } from 'src/app/helpers/BlobResponseHelper';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ContractStateService } from 'src/app/services/contract-state.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'contract-overview-component',\r\n templateUrl: './ContractOverviewComponent.html',\r\n styleUrls: ['./ContractOverviewComponent.scss'],\r\n})\r\nexport class ContractOverviewComponent extends BaseComponent {\r\n @Input() contractid: string;\r\n\r\n contractsofContractIdWithState: Page;\r\n from: Timestamp;\r\n\r\n pageNumbers: number[] = [];\r\n pageSize = 25;\r\n currentPage = 0;\r\n\r\n ConnectionInfo: boolean = false;\r\n\r\n contractConnections: any;\r\n connectionId: string;\r\n connectionContract: ConnectionContract;\r\n\r\n isLoading1: boolean = false;\r\n isLoading2: boolean = false;\r\n\r\n contractCanceledButtonState: boolean = false; // should be checked by a value from backend\r\n\r\n isDownloadWelcomeLetterEnabled: boolean;\r\n isDownloadStartDeliveryLetterEnabled: boolean;\r\n isResendWelcomeLetterEnabled: boolean;\r\n isWelcomeLetterResent: boolean;\r\n canSendRequest: boolean; // Is variable made to debounce more request frontend wise. to prevent docgen issues.\r\n\r\n constructor(\r\n protected router: Router,\r\n private errorService: ErrorService,\r\n private connectionService: ConnectionService,\r\n private contractStateService: ContractStateService,\r\n ) {\r\n super(router);\r\n }\r\n\r\n async ngOnInit() {\r\n await this.fetchData();\r\n setInterval(() => this.checkDocGenCache(), 5000);\r\n }\r\n\r\n async fetchData() {\r\n await this.getAllContractsStatesForContractId();\r\n await this.getContractById();\r\n await this.getConnectionContracts();\r\n this.updateUiState();\r\n this.checkDocGenCache();\r\n }\r\n\r\n async getAllContractsStatesForContractId() {\r\n this.contractsofContractIdWithState = await this.contractStateService.getAllForContractId(\r\n this.currentPage * this.pageSize,\r\n this.pageSize,\r\n this.contractid,\r\n );\r\n }\r\n\r\n async getContractById() {\r\n this.isLoading1 = true;\r\n let result = await this.connectionService.getByContractId([this.contractid]).catch((error) => this.errorService.addError(error.title.title));\r\n if (result) {\r\n this.contractConnections = result;\r\n this.connectionId = this.contractConnections.length > 0 ? this.contractConnections[0].connectionId : '';\r\n }\r\n this.isLoading1 = false;\r\n }\r\n\r\n async getConnectionContracts() {\r\n this.isLoading2 = true;\r\n let connectionContracts = await this.connectionService\r\n .GetContracts([], [this.contractid])\r\n .catch((error) =>\r\n this.errorService.addError(\r\n 'Kan geen contract voor connectie ophalen; bij geen resultaat probeer zowel easyEnergy als NieuweStroom aan te vinken.',\r\n ),\r\n );\r\n if (connectionContracts) {\r\n this.connectionContract = connectionContracts.length == 0 ? null : connectionContracts[0];\r\n }\r\n this.isLoading2 = false;\r\n }\r\n\r\n updateUiState() {\r\n if (this.contractsofContractIdWithState && this.contractsofContractIdWithState.data && this.contractsofContractIdWithState.data.length > 0) {\r\n let firstContractState = this.contractsofContractIdWithState.data[0];\r\n this.isDownloadStartDeliveryLetterEnabled = firstContractState.isDownloadStartDeliveryLetterEnabled;\r\n this.isDownloadWelcomeLetterEnabled = firstContractState.isDownloadWelcomeLetterEnabled;\r\n this.isResendWelcomeLetterEnabled = firstContractState.isResendWelcomeLetterEnabled;\r\n }\r\n }\r\n\r\n goToConnectionId() {\r\n if (this.connectionId != '') {\r\n this.router.navigate(['/connection', this.connectionId]);\r\n } else {\r\n this.errorService.addError('Er is geen aansluiting bekend voor dit contract.');\r\n }\r\n }\r\n\r\n goTo(uri: string) {\r\n let tabnumber: string;\r\n switch (uri) {\r\n case 'info':\r\n tabnumber = '0';\r\n break;\r\n case 'meterstanden':\r\n tabnumber = '1';\r\n break;\r\n case 'consumpties':\r\n tabnumber = '2';\r\n break;\r\n case 'correctie':\r\n tabnumber = '3';\r\n break;\r\n case 'allocatie':\r\n tabnumber = '4';\r\n break;\r\n case 'facturen':\r\n tabnumber = '5';\r\n break;\r\n }\r\n // if a tab is found, do a tap URI change, else goto the URI in the link.\r\n if (tabnumber != null) {\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(location.pathname + '?tab=' + tabnumber));\r\n } else {\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(uri));\r\n }\r\n }\r\n\r\n cancelContract() {\r\n const contractStatesWithoutUntil = this.contractsofContractIdWithState.data.filter((cs) => cs.interval.Until == null);\r\n if (contractStatesWithoutUntil.length === 1) {\r\n const contractStateId = contractStatesWithoutUntil[0].id;\r\n\r\n this.contractStateService\r\n .closeConnectionContract(contractStateId.contractId, contractStateId.connectionId, contractStateId.contractMutationState)\r\n .then(() => (this.contractCanceledButtonState = true))\r\n .catch((error) => this.errorService.addError(error.message));\r\n } else {\r\n this.errorService.addError('Kan het contract niet annuleren, huidige stap is niet bekend. Neem contact op met ICT');\r\n }\r\n }\r\n\r\n async downloadWelcomeLetter() {\r\n this.isDownloadWelcomeLetterEnabled = false;\r\n\r\n const groupId = from(this.contractsofContractIdWithState.data)\r\n .select((cs) => cs.groupId)\r\n .firstOrDefault();\r\n\r\n const welcomeLetterResponse = await this.contractStateService\r\n .downloadWelcomeLetter(groupId)\r\n .catch((e) => this.errorService.addError(e.error.message));\r\n\r\n if (welcomeLetterResponse) {\r\n BlobResponseHelper.downloadFile(welcomeLetterResponse);\r\n }\r\n\r\n this.isDownloadWelcomeLetterEnabled = true;\r\n }\r\n\r\n async downloadStartDeliveryLetter() {\r\n this.isDownloadStartDeliveryLetterEnabled = false;\r\n\r\n const groupId = from(this.contractsofContractIdWithState.data)\r\n .select((cs) => cs.groupId)\r\n .firstOrDefault();\r\n\r\n const startDeliveryLetterResponse = await this.contractStateService\r\n .downloadStartDeliveryLetter(groupId)\r\n .catch((e) => this.errorService.addError(e.error.message));\r\n\r\n if (startDeliveryLetterResponse) {\r\n BlobResponseHelper.downloadFile(startDeliveryLetterResponse);\r\n }\r\n\r\n this.isDownloadStartDeliveryLetterEnabled = true;\r\n }\r\n\r\n async resendWelcomeLetter(shouldRecalculateAdvanceAmount: boolean) {\r\n // functionally this trigger in both cases will make a new DocGen document,\r\n // thus in either case the resending should be prevented for the coming 30 seconds.\r\n this.isResendWelcomeLetterEnabled = false;\r\n this.isWelcomeLetterResent = false;\r\n let isResent = true;\r\n\r\n const groupId = from(this.contractsofContractIdWithState.data)\r\n .select((cs) => cs.groupId)\r\n .firstOrDefault();\r\n\r\n await this.contractStateService.resendWelcomeLetter(groupId, shouldRecalculateAdvanceAmount).catch((e) => {\r\n this.errorService.addError(e.error.message);\r\n isResent = false;\r\n });\r\n if (isResent) {\r\n this.isWelcomeLetterResent = true;\r\n setTimeout(() => {\r\n this.isWelcomeLetterResent = false;\r\n }, 5000);\r\n }\r\n this.setDocGenCache();\r\n this.isResendWelcomeLetterEnabled = true;\r\n }\r\n\r\n checkDocGenCache() {\r\n // Set UI varaible based on the check canSendDocGenRequest with the filtered cache // everytime when checking cache, clear cache with result older than one minute.\r\n let currentCache = this.getDocGenCache();\r\n let filteredCache = this.filterDocGenCache(currentCache);\r\n this.canSendRequest = this.canSendDocGenRequest(filteredCache);\r\n }\r\n\r\n getDocGenCache() {\r\n // and filter it too (keeps it clean)\r\n let cache = JSON.parse(localStorage.getItem('docGenCache'));\r\n return cache;\r\n }\r\n\r\n canSendDocGenRequest(cache) {\r\n // this customerId is in the time within 45 sec\r\n let currentCustomer = this.connectionContract.customerId;\r\n if (cache == undefined || cache == null) {\r\n return true;\r\n }\r\n let sameCustomerIdsIncache = cache.filter((item) => item.CustomerId == currentCustomer);\r\n let withinTimeLimit = sameCustomerIdsIncache.filter((item) => moment().diff(moment(item.Timestamp), 'seconds') <= 45);\r\n return withinTimeLimit.length == 0;\r\n }\r\n\r\n filterDocGenCache(items) {\r\n if (items == null) {\r\n return items;\r\n }\r\n let filtereditems = items.filter((item) => moment().diff(moment(item.Timestamp), 'minutes') < 5);\r\n return filtereditems;\r\n }\r\n\r\n setDocGenCache() {\r\n let timestamp = moment().format('YYYY-MM-DD H:mm:ss');\r\n let item = {\r\n CustomerId: this.connectionContract.customerId,\r\n Timestamp: timestamp,\r\n };\r\n\r\n let currentCache = this.getDocGenCache();\r\n if (currentCache == undefined || currentCache == null || currentCache.length == 0) {\r\n let listOfitems = [];\r\n listOfitems.push(item);\r\n localStorage.setItem('docGenCache', JSON.stringify(listOfitems));\r\n } else {\r\n let updatedCachce = currentCache.concat(item);\r\n localStorage.setItem('docGenCache', JSON.stringify(updatedCachce));\r\n }\r\n this.checkDocGenCache();\r\n }\r\n\r\n async toggleMutationStateBlocked(id: ContractStateId) {\r\n const contractState = this.contractsofContractIdWithState.data.find((ms) => ms.id == id);\r\n\r\n await this.contractStateService.toggleBlockConnectionContract(id, contractState.blocked == null);\r\n\r\n this.fetchData();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Algemene informatie
\r\n

\r\n Contract ID: {{contractid}}
\r\n EAN: \r\n {{connectionId}}
\r\n \r\n Klant: \r\n {{connectionContract.customerId}}
\r\n Producttype: {{connectionContract.productType}}
\r\n Startdatum: {{connectionContract.startDate.LocalDate}}
\r\n Complex:\r\n {{connectionContract.complex}}
\r\n Switch: {{connectionContract.isSwitch}}
\r\n Switch ingelegd op: {{connectionContract.switchNotificationDate.LocalDate | date:\r\n 'yyyy-MM-dd'}}
\r\n SJV: {{connectionContract.anualEstimatedProsumption.Consumption}}
\r\n Aanvraagdatum: {{connectionContract.contractDate | date: 'yyyy-MM-dd'}}
\r\n ContractId: {{connectionContract.contractId}}
\r\n Gewijzigd: {{connectionContract.modifiedTimestamp | date: 'yyyy-MM-dd'}}
\r\n Woning: {{connectionContract.residental}}
\r\n Afgezien van bedenktijd:\r\n {{connectionContract.skipReflectionTime}}\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Acties
\r\n

Annuleer contract:
\r\n \r\n \r\n \r\n check Contract is geannuleerd.\r\n
\r\n
\r\n

\r\n

Welkomstbrief:
\r\n \r\n \r\n \r\n

\r\n

\r\n check_box\r\n \r\n \r\n \r\n \r\n \r\n \r\n Startleveringsbrief:
\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n Geen aansluiting bekend\r\n\r\n\r\n\r\n Geen aansluiting contract bekend\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { MatSelectChange } from '@angular/material/select';\r\n@Component({\r\n selector: 'contract-states-assignee',\r\n templateUrl: './ContractStatesAssignee.html',\r\n styleUrls: ['./ContractStatesAssignee.scss'],\r\n})\r\nexport class ContractStatesAssignee implements OnInit {\r\n @Input() listOfAssignees: string[];\r\n @Output() assignee = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n\r\n selectEmployees(event: MatSelectChange) {\r\n let nameEmployee = event.value;\r\n if (nameEmployee.length > 0) {\r\n this.assignee.emit(nameEmployee);\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n \r\n {{assignee}}\r\n \r\n \r\n
\r\n
\r\n
","import { ContractState, ContractStateTransitionUrgency, Tenant } from 'src/app/Connection';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'contract-states-results',\r\n templateUrl: './ContractStatesResults.html',\r\n styleUrls: ['./ContractStatesResults.scss'],\r\n})\r\nexport class ContractStatesResults implements OnInit, OnChanges {\r\n @Input() getAllContractStates;\r\n @Input() pageLimit: number;\r\n @Input() currentPageNumber: number;\r\n @Output() newPageNumber = new EventEmitter();\r\n @Output() selfAssign = new EventEmitter();\r\n @Output() skipStep = new EventEmitter();\r\n @Output() transitionRemarks = new EventEmitter();\r\n\r\n constructor(private errorService: ErrorService, protected router: Router, private connectionService: ConnectionService) {}\r\n\r\n currentPage = 0;\r\n\r\n showMoreList: any[] = [];\r\n isLoading: boolean = false;\r\n\r\n ngOnInit() {\r\n if (this.pageLimit == undefined) {\r\n this.pageLimit = 25;\r\n } // for priority fix.\r\n this.sortDataByUrgency();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.getAllContractStates) {\r\n this.sortDataByUrgency();\r\n }\r\n if (changes.currentPageNumber) {\r\n this.currentPage = this.currentPageNumber;\r\n }\r\n }\r\n\r\n getCurrentContractStateTransitionUrgency(contractState: ContractState) {\r\n if (contractState.contractStateTransitions.length == 0) {\r\n return ContractStateTransitionUrgency.Low;\r\n }\r\n if (contractState.contractStateTransitions[0].contractStateTransitionUrgency == undefined) {\r\n return ContractStateTransitionUrgency.Low;\r\n }\r\n return contractState.contractStateTransitions[0].contractStateTransitionUrgency;\r\n }\r\n\r\n sortDataByUrgency() {\r\n if (this.getAllContractStates == undefined) {\r\n return;\r\n }\r\n\r\n this.getAllContractStates.data = this.getAllContractStates.data.sort((a, b) => {\r\n let urgencyA: ContractStateTransitionUrgency = this.getCurrentContractStateTransitionUrgency(a);\r\n let urgencyB: ContractStateTransitionUrgency = this.getCurrentContractStateTransitionUrgency(b);\r\n // Determine highest prio based on indexes!\r\n let priority = [ContractStateTransitionUrgency.Low, ContractStateTransitionUrgency.Medium, ContractStateTransitionUrgency.High];\r\n // B - A is decending, highest prio first. Does not take in account active or inactive, so isActiveBoolean true should be used.\r\n // return priority.indexOf(urgencyA) - priority.indexOf(urgencyB) // ASC (for staging)\r\n return priority.indexOf(urgencyB) - priority.indexOf(urgencyA); // DESC (for prod)\r\n });\r\n }\r\n\r\n // we can do this in connection.ts, yet the logic should be here.\r\n getCurrentContractStateTransitionType(contractState: ContractState) {\r\n if (contractState == undefined || contractState.contractStateTransitions == undefined) {\r\n return 'Niet beschikbaar, fout.';\r\n }\r\n if (contractState.contractStateTransitions.length == 0) {\r\n return 'Geen stappen beschikbaar';\r\n }\r\n if (contractState.contractStateTransitions[0].contractStateTransitionType == undefined) {\r\n return 'Stap niet beschikbaar';\r\n }\r\n return contractState.contractStateTransitions[0].contractStateTransitionType;\r\n }\r\n\r\n checkHasContext(MutationOrTransitionState) {\r\n return MutationOrTransitionState.context != null;\r\n }\r\n\r\n showMoreCheck(i: number) {\r\n return this.showMoreList.includes(i);\r\n }\r\n\r\n showMore(i: number) {\r\n let index = this.showMoreList.indexOf(i);\r\n if (index > -1) {\r\n this.showMoreList.splice(index);\r\n } else {\r\n this.showMoreList.push(i);\r\n }\r\n }\r\n\r\n selfAssignTransition(contract, transition) {\r\n let emit = this.makeEmitterObject(contract, transition);\r\n this.selfAssign.emit(emit);\r\n }\r\n\r\n skipStepResult(contract, transition) {\r\n const emit = this.makeEmitterObject(contract, transition);\r\n this.skipStep.emit(emit);\r\n }\r\n\r\n appendTransitionRemarks(contract, transition, remarks) {\r\n if (remarks === '') {\r\n return;\r\n }\r\n const emit = this.makeEmitterObject(contract, transition, remarks);\r\n this.transitionRemarks.emit(emit);\r\n }\r\n\r\n makeEmitterObject(contract, transition, remarks?) {\r\n if (!remarks) {\r\n remarks = null;\r\n }\r\n return {\r\n contractid: contract.id.contractId,\r\n connectionid: contract.id.connectionId,\r\n contractms: contract.id.contractMutationState,\r\n contractst: transition.contractStateTransitionType,\r\n rem: remarks,\r\n };\r\n }\r\n\r\n goToContractId(contractId) {\r\n this.router.navigate(['/contractstate', contractId]);\r\n }\r\n\r\n async goToContractIdConnection(contractId) {\r\n var result = await this.connectionService.getByContractId(contractId).catch((error) => this.errorService.addError(error.title));\r\n\r\n if (result && result.length > 0) {\r\n this.router.navigate(['/connection', result[0].connectionId]);\r\n } else {\r\n this.errorService.addError('Er is geen aansluiting bekend voor dit contract.');\r\n }\r\n }\r\n\r\n getTenant(contractState) {\r\n let contractIdWithTenant = contractState.id.contractId;\r\n let tenant = contractIdWithTenant.includes(Tenant.EasyEnergy) ? Tenant.EasyEnergy : Tenant.NieuweStroom;\r\n return tenant;\r\n }\r\n\r\n getCurrentContractStateTransitionAssignee(contractState: ContractState) {\r\n if (contractState.contractStateTransitions.length == 0) {\r\n return;\r\n }\r\n if (contractState.contractStateTransitions[0].assignee == undefined) {\r\n return;\r\n }\r\n return contractState.contractStateTransitions[0].assignee;\r\n }\r\n\r\n async page(goToNumber: number) {\r\n // emit to dashboard, for paged api requests.\r\n this.currentPage = goToNumber - 1;\r\n this.newPageNumber.emit(this.currentPage);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0;else nodata\">\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n 0 && showMoreCheck(this.i)\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ActiefTenantContract StaatHuidige stapContract datum(s)ContractIdLaatst geüpdateActieAssigneeMeer
\r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{(contract.id.contractMutationState.length>13)?\r\n (contract.id.contractMutationState | slice:0:13)+'..':(contract.id.contractMutationState) }}\r\n \r\n \r\n {{(getCurrentContractStateTransitionType(contract).length > 34) ?\r\n (getCurrentContractStateTransitionType(contract) |\r\n slice:0:34)+'..':(getCurrentContractStateTransitionType(contract)) }}\r\n \r\n \r\n \r\n Start
\r\n {{contract.connectionContractStart | date: 'yyyy-MM-dd'}}\r\n\r\n
\r\n \r\n Eind
\r\n - {{contract.connectionContractEnd | date: 'yyyy-MM-dd'}}\r\n
\r\n
{{contract.id.contractId}}{{contract.modifiedTimestamp | date: 'yyyy-MM-dd HH:mm'}}\r\n link\r\n \r\n description\r\n \r\n error\r\n \r\n {{getCurrentContractStateTransitionAssignee(contract)}}\r\n \r\n 0 && !showMoreCheck(this.i)\"\r\n (click)=\"showMore(this.i)\" class=\"icons-results\">visibility\r\n 0 && showMoreCheck(this.i)\"\r\n (click)=\"showMore(this.i)\" class=\"icons-results\">visibility_off\r\n
Activatie Context:{{contract.context}}
\r\n Start levering:\r\n {{contract.connectionContractStart}}\r\n
\r\n Einde levering:\r\n {{contract.connectionContractEnd}}\r\n
\r\n Switch ingelegd:\r\n {{contract.switchNotificationDate}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
StapVanTotLaatst geüpdateActie
{{transition.contractStateTransitionType}}\r\n {{transition.interval.From | date: 'yyyy-MM-dd\r\n HH:mm'}}\r\n {{transition.interval.Until | date: 'yyyy-MM-dd HH:mm'}}\r\n {{transition.modifiedTimestamp | date: 'yyyy-MM-dd HH:mm'}} \r\n \r\n \r\n skip_next\r\n \r\n person_add\r\n \r\n error\r\n \r\n
\r\n
\r\n Stap context:\r\n {{transition.context | stringOrJson}}\r\n
\r\n Opmerkingen:
\r\n \r\n {{remark.timestamp | date: 'yyyy-MM-dd HH:mm'}} - {{remark.author}} -\r\n {{remark.comment}}
\r\n
\r\n
\r\n \r\n
\r\n Toegekend aan:\r\n {{transition.assignee}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n Small logo Icons for NS and EE\r\n \r\n EE\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n NS\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n report No Data\r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'contract-states-status',\r\n templateUrl: './ContractStatesStatus.html',\r\n styleUrls: ['./ContractStatesStatus.scss'],\r\n})\r\nexport class ContractStatesStatus {\r\n @Output() isActiveStatus = new EventEmitter();\r\n\r\n selected = true;\r\n\r\n changeStatus(event) {\r\n this.isActiveStatus.emit(event.value);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n Alle\r\n Open\r\n Afgerond\r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input, Output, EventEmitter, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ContractState } from 'src/app/Connection';\r\n\r\n@Component({\r\n selector: 'contract-states-stepper',\r\n templateUrl: './ContractStatesStepper.html',\r\n styleUrls: ['./ContractStatesStepper.scss'],\r\n})\r\nexport class ContractStatesStepper implements OnInit {\r\n @Input() getContractStatesOverview: any;\r\n @Input() tab: number;\r\n @Output() statesAndTypes = new EventEmitter();\r\n @Output() navigationStatesAndTypes = new EventEmitter();\r\n @Output() contractMutationState = new EventEmitter();\r\n @Output() contractStateTransitionType = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n showPath: boolean;\r\n showTransitionTypes: boolean;\r\n toggleTT: boolean = false;\r\n activeTransitionType: string;\r\n selectedContractState: any; // interface with contractMutationState, count and contractStateTransitionTypes\r\n showContractState: string; // category name in toggl\r\n showContractStateCount: string; // category count in toggl\r\n initialInfo: boolean = true;\r\n infoBox: boolean;\r\n\r\n ngOnInit() {\r\n this.infoBox = true;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.getContractStatesOverview) {\r\n this.toggleTT = false;\r\n this.selectedContractState = null;\r\n this.infoBox = false;\r\n }\r\n }\r\n\r\n clickCategory(newPathString: string, count?: number) {\r\n this.activeTransitionType = newPathString;\r\n this.showPath = true;\r\n if (count > 0) {\r\n this.showTransitionTypes = !this.showTransitionTypes;\r\n } else {\r\n this.showTransitionTypes = false;\r\n }\r\n this.initialInfo = false;\r\n }\r\n\r\n getValueMS(contractMS) {\r\n this.contractMutationState.emit(contractMS);\r\n }\r\n\r\n getValueTT(contractTT) {\r\n this.contractStateTransitionType.emit(contractTT);\r\n }\r\n\r\n ttToggle(contractState: any) {\r\n this.selectedContractState = null;\r\n this.showContractState = null;\r\n this.showContractStateCount = null;\r\n this.toggleTT = true;\r\n this.selectedContractState = contractState;\r\n this.showContractState = this.selectedContractState.contractMutationState; // show clicked category name in toggle\r\n this.showContractStateCount = this.selectedContractState.count;\r\n }\r\n\r\n navigateToTabAll(transitionType?) {\r\n this.infoBox = false;\r\n let objectToEmit = {};\r\n objectToEmit['contractMutationState'] = this.selectedContractState.contractMutationState;\r\n objectToEmit['contractTransitionType'] = transitionType ? transitionType : null;\r\n this.navigationStatesAndTypes.emit(objectToEmit);\r\n }\r\n\r\n resetContracts() {\r\n this.initialInfo = false;\r\n let objectToEmit = {\r\n contractMutationState: null,\r\n contractTransitionType: null,\r\n };\r\n this.statesAndTypes.emit(objectToEmit);\r\n this.activeTransitionType = 'Alle contracten';\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n \r\n
  • \r\n \r\n \r\n \r\n {{contractState.contractMutationState}}
    \r\n
    \r\n \r\n \r\n {{contractState.contractMutationState}}

    \r\n
    \r\n \r\n \r\n {{transitionTypes.name}}\r\n {{transitionTypes.count}}\r\n \r\n \r\n \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n \r\n \r\n 0; else noData\">\r\n
\r\n
\r\n

Alle contracten in\r\n {{showContractState}}

\r\n

{{showContractStateCount}}

\r\n
\r\n
\r\n

{{type.name}}

\r\n

{{type.count}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Er zijn geen onderliggende processen

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n

{{activeTransitionType}}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import moment from 'moment';\r\nimport {\r\n ByTariff,\r\n Connection,\r\n ConsumptionPerClosedDateRange,\r\n ProductType,\r\n ProsumptionQuantitiesWithMeasured,\r\n QuantityWithCost,\r\n Tenant,\r\n Timestamp,\r\n} from 'src/app/Connection';\r\nimport { ListParameter, readConnection } from 'src/app/helpers/ActiveOnDateHelper';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ConsumptionService } from 'src/app/services/consumption.service';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'create-consumption-component',\r\n templateUrl: './CreateConsumptionComponent.html',\r\n styleUrls: ['./CreateConsumptionComponent.scss'],\r\n})\r\n\r\nexport class CreateConsumptionComponent implements OnInit {\r\n @Input() connection: Connection;\r\n @Input() consumptionByDateAndTarif?: ByTariff;\r\n from: Timestamp;\r\n\r\n productTypeToRender;\r\n tariffs = ['Low', 'Normal'];\r\n jsonCreate: any;\r\n\r\n listOfAll: listOfAll;\r\n readConnection: any;\r\n selectedInput: selectedInput;\r\n\r\n inputForm: UntypedFormGroup;\r\n\r\n moreOptions = false;\r\n\r\n closeDateRangeFrom = moment();\r\n closeDateRangeFromDateControl = new UntypedFormControl(this.closeDateRangeFrom);\r\n closeDateRangeUntill = moment();\r\n closeDateRangeUntillDateControl = new UntypedFormControl(this.closeDateRangeUntill);\r\n\r\n initialized = false;\r\n\r\n createConsumptionForm: UntypedFormGroup;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private connectionService: ConnectionService,\r\n private consumptionService: ConsumptionService,\r\n\r\n ) { }\r\n\r\n\r\n\r\n handleTimestamp(event: any) {\r\n this.from = null;\r\n console.log(event.value)\r\n this.from = event.value\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.productTypeToRender = this.connection.ProductType;\r\n this.setReadConnection(moment());\r\n this.getListsFromConnection();\r\n this.inputForm = this.formBuilder.group({\r\n elekNormalConsumption: new UntypedFormControl(''),\r\n elekNormalProduction: new UntypedFormControl(''),\r\n elekLowConsumption: new UntypedFormControl(''),\r\n elekLowProduction: new UntypedFormControl(''),\r\n gasConsumption: new UntypedFormControl(''),\r\n gasConsumptionCalgos: new UntypedFormControl(''),\r\n tenant: new UntypedFormControl(''),\r\n customerId: new UntypedFormControl(''),\r\n closedDateRangeStart: new UntypedFormControl(),\r\n closedDateRangeEnd: new UntypedFormControl()\r\n });\r\n this.inputForm.get('customerId').setValue(this.readConnection.activeCustomerIdsForDate.length > 1 ? null : this.readConnection.activeCustomerIdsForDate[0]);\r\n this.inputForm.get('tenant').setValue(this.readConnection.length > 1 ? null : this.readConnection.activeTenantsForDate[0]);\r\n console.log(this.inputForm)\r\n\r\n this.initialized = true;\r\n\r\n }\r\n\r\n setReadConnection(date) {\r\n this.readConnection = new readConnection(this.connection, date);\r\n }\r\n\r\n updateValuesFromConnectionOnDate() {\r\n this.inputForm.get('customerId').setValue(this.readConnection.activeCustomerIdsForDate.length > 1 ? null : this.readConnection.activeCustomerIdsForDate[0]);\r\n this.inputForm.get('tenant').setValue(this.readConnection.length > 1 ? null : this.readConnection.activeTenantsForDate[0]);\r\n }\r\n\r\n changeDateFrom(event: any) {\r\n // nullcheck for falsly or incomplete dates (being) filled in\r\n if (event.value == null || event.value === undefined) { return }\r\n this.closeDateRangeFrom = event.value;\r\n this.setReadConnection(event.value);\r\n\r\n }\r\n\r\n changeDateUntill(event: any) {\r\n // nullcheck for falsly or incomplete dates (being) filled in\r\n if (event.value == null || event.value === undefined) { return }\r\n this.closeDateRangeUntill = event.value;\r\n }\r\n\r\n getListsFromConnection() {\r\n // get all values from the readconnection //TODO if already present dont push (Gerbrand has two EE tenants)\r\n this.listOfAll = {\r\n customerIds: this.readConnection.getTotalListOf(ListParameter.CustomerId),\r\n tenants: this.readConnection.getTotalListOf(ListParameter.Tenant),\r\n }\r\n }\r\n\r\n submitNewConsumptionPerClosedDateRange() {\r\n // setConsumption\r\n this.createConsumption();\r\n // postConsumption\r\n }\r\n\r\n setConsumption() {\r\n\r\n }\r\n\r\n createConsumption() {\r\n if (this.productTypeToRender === ProductType.Gas) {\r\n const prosumption = new ProsumptionQuantitiesWithMeasured(\r\n new QuantityWithCost()\r\n )\r\n }\r\n\r\n if (this.productTypeToRender === ProductType.Electricity) {\r\n const normalProsumption = new ProsumptionQuantitiesWithMeasured(\r\n new QuantityWithCost(this.inputForm.get('elekNormalConsumption').value),\r\n new QuantityWithCost(this.inputForm.get('elekNormalProduction').value),\r\n );\r\n const lowProsumption = new ProsumptionQuantitiesWithMeasured(\r\n new QuantityWithCost(this.inputForm.get('elekLowConsumption').value),\r\n new QuantityWithCost(this.inputForm.get('elekLowProduction').value),\r\n )\r\n console.log(normalProsumption, lowProsumption)\r\n }\r\n\r\n console.log(this.inputForm)\r\n\r\n\r\n // // this.\r\n // this.jsonCreate = {\r\n // \"Id\": {\r\n // \"Tariff\": 'sdsa',\r\n // \"ConnectionId\": this.connection.Id,\r\n // \"From\": this.closeDateRangeFrom.format('YYYY-MM-DD')\r\n // },\r\n // \"ClosedDateRange\": \"[\" + this.closeDateRangeFrom.format('YYYY-MM-DD') + \",\" + this.closeDateRangeUntill.format('YYYY-MM-DD') + \"]\",\r\n // \"ProductType\": this.connection.ProductType,\r\n // \"Tenant\": this.selectedInput.tenant,\r\n // \"CustomerId\": this.selectedInput.customerId.toString(),\r\n // \"Prosumption\": {\r\n // \"Consumption\": {\r\n // \"QuantityMeasured\": this.inputProsumptions.Prosumption.Consumption.QuantityMeasured,\r\n // },\r\n // \"Production\": {\r\n // \"QuantityMeasured\": this.inputProsumptions.Prosumption.Production.QuantityMeasured,\r\n // }\r\n // },\r\n // \"MutationState\": \"MeasuredVolume\"\r\n // };\r\n\r\n // this.consumptionService.createConsumption(this.jsonCreate);\r\n }\r\n}\r\n\r\nexport interface selectedInput {\r\n meterId?: string;\r\n customerId: number;\r\n tenant: Tenant;\r\n tariff?: string;\r\n}\r\n\r\nexport interface listOfAll {\r\n meterIds?: string[];\r\n customerIds?: number[];\r\n tenants?: Tenant[];\r\n}","\r\n {{consumptionByDateAndTarif.None[0].CustomerId}}\r\n {{consumptionByDateAndTarif.None[0].ClosedDateRange.From | date: 'y-MM-dd' }} -\r\n {{consumptionByDateAndTarif.None[0].ClosedDateRange.Until |\r\n date: 'y-MM-dd' }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n save\r\n \r\n \r\n delete\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import moment from 'moment';\r\nimport {\r\n Connection,\r\n EnumDescription,\r\n Enums,\r\n LocalDate,\r\n MeasurementCommunication,\r\n MeasurementId,\r\n MeasurementMutationReason,\r\n MeasurementReadingMethod,\r\n MeasurementSource,\r\n ProductType,\r\n Tariff,\r\n Tenant,\r\n Timestamp,\r\n} from 'src/app/Connection';\r\nimport { ListParameter, readConnection } from 'src/app/helpers/ActiveOnDateHelper';\r\nimport { makeMeasurementListViewModel } from 'src/app/helpers/ViewModelHelper';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'create-measurement-component',\r\n templateUrl: './CreateMeasurementComponent.html',\r\n styleUrls: ['./CreateMeasurementComponent.scss'],\r\n})\r\nexport class CreateMeasurementComponent implements OnInit {\r\n @Input() connection: Connection;\r\n // @Input() listOfConsumptions :ConsumptionPerGranularityInterval[];\r\n @Input() measurementCommunication: MeasurementCommunication;\r\n @Output() measurementCreated: EventEmitter = new EventEmitter();\r\n\r\n isLoading: boolean = false;\r\n\r\n // Set to false by choice, not sending to EDSN, Yvonne also doesn't want it here due to logic.\r\n shouldSubmitToGridOperatorBoolean: boolean = false;\r\n\r\n // Inputfield variables meter, customer, tenant\r\n selectedInput: selectedInput;\r\n listOfAll: listOfAll;\r\n\r\n // Lists of Options for herkomst, reden en opname methode.\r\n listOfMeasurementSources = [MeasurementSource.Supplier, MeasurementSource.Customer, MeasurementSource.Telemeter, MeasurementSource.GridOperator]; // Yvonne advocates for adding these to our own system, not the market (we do not send these to the market, and are indeed not allowed) For correction reasons, sometimes they are not properly added.\r\n listOfMeasurementMutationReasonsEnums: EnumDescription[];\r\n\r\n measurementReadingMethodDescriptions: EnumDescription[];\r\n measurementMutationReasonDescriptions: EnumDescription[];\r\n\r\n // Selected input of Herkomst and reason\r\n selectedMeasurementSource: MeasurementSource;\r\n selectedReadingMethod: MeasurementReadingMethod;\r\n selectedMutationReason: MeasurementMutationReason;\r\n\r\n // Used for the readConnection from ActiveOnDateHelper\r\n readConnection: any;\r\n\r\n // Selective use for the UI is also requested from business, only EDM and Finance should add a measurement, next to ICT\r\n selectedView: string = 'OPS';\r\n\r\n databaseToBusinessFactor: number;\r\n\r\n // MeterReading is a customer read value that requires another call (and handles multiplicationfactor logic in the backend)\r\n isMeterReading = false;\r\n isMeterReadingControl: UntypedFormControl;\r\n\r\n inputProsumptions: any = {\r\n Normal: {\r\n Prosumption: {\r\n Consumption: null,\r\n Production: null,\r\n },\r\n },\r\n Low: {\r\n Prosumption: {\r\n Consumption: null,\r\n Production: null,\r\n },\r\n },\r\n };\r\n\r\n newMeasurementProsumption: any = {\r\n Normal: {\r\n Prosumption: {\r\n Consumption: null,\r\n Production: null,\r\n },\r\n },\r\n Low: {\r\n Prosumption: {\r\n Consumption: null,\r\n Production: null,\r\n },\r\n },\r\n };\r\n\r\n // defaul placeholder text input fields\r\n inputProsumptionText: string = 'Vul meterstand in';\r\n\r\n // Date variables and formControl\r\n measurementDate = moment();\r\n measurementDateControl = new UntypedFormControl(this.measurementDate);\r\n\r\n estimationMeasurement: any;\r\n newMeasurement: any = {};\r\n\r\n validationErrors: any;\r\n\r\n // The filtered list of reasons due to 'overloading' because of the amount of options.\r\n requiredMutationReasonsForBusiness: MeasurementMutationReason[] = [\r\n MeasurementMutationReason.PERMTR,\r\n MeasurementMutationReason.BULKPV,\r\n MeasurementMutationReason.EOSUPPLY,\r\n MeasurementMutationReason.MOVEIN,\r\n MeasurementMutationReason.MOVEOUT,\r\n MeasurementMutationReason.MTRUPD,\r\n MeasurementMutationReason.PHYSMTR,\r\n MeasurementMutationReason.SWITCHLV,\r\n MeasurementMutationReason.ALLMTCHG,\r\n MeasurementMutationReason.MONTHMTR,\r\n ];\r\n\r\n constructor(\r\n private measurementService: MeasurementService,\r\n private enumsService: EnumsService,\r\n private errorService: ErrorService,\r\n private notificationService: NotificationService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n // get input data for the forms\r\n this.getMeasurementMutationReasons();\r\n this.getMeasurementReadingMethod();\r\n // init formControl\r\n this.isMeterReadingControl = new UntypedFormControl(this.isMeterReading, Validators.required);\r\n //set input based on the date in datepicker\r\n this.setParametersForDate();\r\n\r\n this.getListsFromConnection(); // meterids, tenant, customerid\r\n // prefill form\r\n this.setDefaultParameters();\r\n }\r\n\r\n changeView() {\r\n // Changes the input field sequence, to cassandra tariff pairs (measurements as ICT sees it) and Market communication (1234 -> 1324)\r\n this.selectedView == 'OPS' ? (this.selectedView = 'ICT') : (this.selectedView = 'OPS');\r\n // Changes the list of mutationreasons for bussiness\r\n this.filterMutationReasonsForBusiness();\r\n }\r\n\r\n changeDate(event: any) {\r\n // nullcheck for falsly or incomplete dates (being) filled in\r\n if (event.value == null || event.value == undefined) {\r\n return;\r\n }\r\n this.measurementDate = event.value;\r\n // update default parameters for new date\r\n this.setParametersForDate();\r\n }\r\n\r\n setDefaultParameters() {\r\n // Set the transform factor for reading and writing prosumptions between bussiness and database\r\n this.databaseToBusinessFactor = this.connection.ProductType == ProductType.Electricity ? 1000 : 1000000;\r\n // default values for forms\r\n this.selectedMeasurementSource = MeasurementSource.Supplier;\r\n this.selectedReadingMethod = MeasurementReadingMethod.Calculated;\r\n this.selectedMutationReason = MeasurementMutationReason.PERMTR;\r\n }\r\n\r\n async getEstimations() {\r\n if (!this.measurementDate) {\r\n return this.errorService.addError('Geen datum geselecteerd.');\r\n }\r\n // Doe de call voor een schatting\r\n this.isLoading = true;\r\n\r\n let estimation = await this.measurementService\r\n .getMeasurementEstimate(this.connection.Id, this.measurementDate.format('YYYY-MM-DD'))\r\n .catch((error) => {\r\n return this.errorService.addError('Kan geen schattingen ophalen, voer handmatig in');\r\n });\r\n\r\n this.isLoading = false;\r\n\r\n this.estimationMeasurement = this.transformEstimationToMeterreading(estimation);\r\n\r\n // Check if future or not, for the dataEstimator in the measurementSource list\r\n if (this.measurementDate.isAfter()) {\r\n if (!this.listOfMeasurementSources.includes(MeasurementSource.DataEstimator)) {\r\n this.listOfMeasurementSources.push(MeasurementSource.DataEstimator);\r\n }\r\n } else {\r\n if (!this.listOfMeasurementSources.includes(MeasurementSource.DataEstimator)) {\r\n this.listOfMeasurementSources.filter((source) => source != MeasurementSource.DataEstimator);\r\n }\r\n }\r\n }\r\n\r\n useEstimation() {\r\n // take the new prosumption\r\n if (this.estimationMeasurement.Normal == undefined) {\r\n return this.errorService.addError('Er zijn geen schattingen, kan niets overnemen');\r\n }\r\n // Cannot transfer the full Prosumption object reference, since that will link them together. So per value initializing and setting.\r\n this.inputProsumptions.Normal.Prosumption.Consumption = this.estimationMeasurement.Normal.Prosumption.Consumption;\r\n\r\n if (this.connection.ProductType == ProductType.Gas) {\r\n return;\r\n }\r\n this.inputProsumptions.Normal.Prosumption.Production = this.estimationMeasurement.Normal.Prosumption.Production;\r\n this.inputProsumptions.Low.Prosumption.Consumption = this.estimationMeasurement.Low.Prosumption.Consumption;\r\n this.inputProsumptions.Low.Prosumption.Production = this.estimationMeasurement.Low.Prosumption.Production;\r\n // Set the default value of measurementSource to dataestimator if date is in the future\r\n if (this.measurementDate.isAfter()) {\r\n this.selectedMeasurementSource = MeasurementSource.DataEstimator;\r\n }\r\n }\r\n\r\n saveNewMeasurement() {\r\n // empty list of errors at start or new save\r\n this.validationErrors = [];\r\n\r\n // Wrapping in setTimeout to force validationErrors to rerender properly (otherwise would not reapear if one were to be dismissed)\r\n setTimeout(() => {\r\n this.validationErrors = this.validateInput();\r\n if (this.validationErrors.length > 0) {\r\n this.errorService.addError('Één of meerdere velden zijn niet (juist) ingevuld');\r\n return;\r\n }\r\n const measurement = this.createMeasurement();\r\n this.postMeasurement(measurement);\r\n }, 0);\r\n }\r\n\r\n postMeasurement(measurement) {\r\n this.isLoading = true;\r\n console.log('measurement:' + JSON.stringify(measurement));\r\n\r\n this.measurementService\r\n .post(measurement, this.shouldSubmitToGridOperatorBoolean, this.selectedReadingMethod, this.selectedMutationReason)\r\n .then(() => {\r\n this.measurementCreated.emit(true);\r\n this.notificationService.showSuccess('Meterstand succesvol toegevoegd');\r\n this.isLoading = false;\r\n })\r\n .catch((error) => {\r\n this.errorService.addError('Kon meterstand niet opslaan: ' + error.error.message);\r\n this.measurementCreated.emit(false);\r\n this.isLoading = false;\r\n throw Error(error);\r\n });\r\n }\r\n\r\n createMeasurement() {\r\n // transform prosumption to database stored values\r\n this.setProsumptionFromInput(this.inputProsumptions);\r\n\r\n var t: Timestamp = null;\r\n let customerId = this.selectedInput.customerId.toString();\r\n\r\n // I want an object to push things in, not using the initialization, since that requires more backwards API transformations\r\n let measurementToPost = Object.create({});\r\n measurementToPost.Normal = {};\r\n measurementToPost.Normal.Id = {};\r\n\r\n let normalId = new MeasurementId(\r\n this.connection.Id,\r\n this.selectedInput.meterId,\r\n new LocalDate(this.measurementDate.format('YYYY-MM-DD')),\r\n this.selectedMeasurementSource,\r\n t,\r\n Tariff.normal,\r\n null,\r\n );\r\n\r\n measurementToPost.Normal.Id = normalId;\r\n measurementToPost.Normal.Id.Date = this.measurementDate.format('YYYY-MM-DD'); // Format to string for API\r\n measurementToPost.Normal.ProductType = this.connection.ProductType;\r\n measurementToPost.Normal.Tenant = this.selectedInput.tenant;\r\n measurementToPost.Normal.CustomerId = customerId;\r\n measurementToPost.Normal.SubmittedToGridOperator = false;\r\n // Set the measurement Prosumption\r\n measurementToPost.Normal.Prosumption = this.newMeasurementProsumption.Normal.Prosumption;\r\n\r\n if (this.connection.ProductType == ProductType.Electricity) {\r\n measurementToPost.Low = {};\r\n measurementToPost.Low.Id = {};\r\n\r\n let lowId = new MeasurementId(\r\n this.connection.Id,\r\n this.selectedInput.meterId,\r\n new LocalDate(this.measurementDate.format('YYYY-MM-DD')),\r\n this.selectedMeasurementSource,\r\n t,\r\n Tariff.low,\r\n null,\r\n );\r\n\r\n measurementToPost.Low.Id = lowId;\r\n measurementToPost.Low.Id.Date = this.measurementDate.format('YYYY-MM-DD'); // Format to string for API\r\n measurementToPost.Low.ProductType = this.connection.ProductType;\r\n measurementToPost.Low.Tenant = this.selectedInput.tenant;\r\n measurementToPost.Low.CustomerId = customerId;\r\n measurementToPost.Low.SubmittedToGridOperator = false;\r\n // Set the measurement Prosumption\r\n measurementToPost.Low.Prosumption = this.newMeasurementProsumption.Low.Prosumption;\r\n }\r\n\r\n return measurementToPost;\r\n }\r\n\r\n transformEstimationToMeterreading(estimation) {\r\n // transform each element from MCMeasurement to a MeterReading\r\n for (let measurement in estimation) {\r\n if (estimation[measurement] == undefined) {\r\n // do nothing\r\n } else {\r\n // input is manipulated to Measurement[] or big refactor\r\n let list = [];\r\n list.push(estimation[measurement]);\r\n makeMeasurementListViewModel(list, this.connection);\r\n }\r\n }\r\n return estimation;\r\n }\r\n\r\n async setProsumptionFromInput(inputProsumption) {\r\n this.newMeasurementProsumption.Normal.Prosumption.Consumption = inputProsumption.Normal.Prosumption.Consumption;\r\n if (this.connection.ProductType == ProductType.Gas) {\r\n return;\r\n }\r\n // Elek\r\n this.newMeasurementProsumption.Normal.Prosumption.Production = inputProsumption.Normal.Prosumption.Production;\r\n this.newMeasurementProsumption.Low.Prosumption.Consumption = inputProsumption.Low.Prosumption.Consumption;\r\n this.newMeasurementProsumption.Low.Prosumption.Production = inputProsumption.Low.Prosumption.Production;\r\n return;\r\n }\r\n\r\n validateInput() {\r\n // an idea for error logging, a big array with all errors, and per error an box is shown.\r\n // can be better (combine in one error with enters and show once per execution for example)\r\n let validationErrors = [];\r\n // check the fields for empty selections\r\n // TODO Findout case: old meter elek with one Telwerk active, is 0 possible, or should validation incorporate a detection for metertype too using readConnection meterType.\r\n if (this.measurementDate.isAfter()) {\r\n validationErrors.push('Datum meterstand mag niet in de toekomst zijn');\r\n }\r\n if (this.selectedReadingMethod == undefined) {\r\n validationErrors.push('Geen afleesmethode geselecteerd');\r\n }\r\n if (this.selectedMutationReason == undefined) {\r\n validationErrors.push('Geen mutatiereden geselecteerd');\r\n }\r\n if (this.selectedMeasurementSource == undefined) {\r\n validationErrors.push('Geen opnamebron geselecteerd');\r\n }\r\n if (this.selectedInput.tenant == undefined) {\r\n validationErrors.push('Geen leverancier geselecteerd');\r\n }\r\n if (this.selectedInput.meterId == undefined) {\r\n validationErrors.push('Geen meter id geselecteerd');\r\n }\r\n if (this.selectedInput.customerId == undefined) {\r\n validationErrors.push('Geen klant geselecteerd');\r\n }\r\n // check the measurement Input for nulls\r\n if (this.inputProsumptions.Normal.Prosumption.Consumption == null) {\r\n validationErrors.push('Verbruik (normaal) mag niet null zijn (wel 0)');\r\n }\r\n if (this.connection.ProductType == ProductType.Gas) {\r\n return validationErrors;\r\n }\r\n // Elek\r\n if (this.inputProsumptions.Normal.Prosumption.Production == null) {\r\n validationErrors.push('Teruglevering (normaal) mag niet null zijn (wel 0)');\r\n }\r\n if (this.inputProsumptions.Low.Prosumption.Consumption == null) {\r\n validationErrors.push('Verbruik (laag) mag niet null zijn (wel 0)');\r\n }\r\n if (this.inputProsumptions.Low.Prosumption.Production == null) {\r\n validationErrors.push('Teruglevering (laag) mag niet null zijn (wel 0)');\r\n }\r\n\r\n // Validate the DataEstimator MeasurementSource, if selected\r\n if (this.selectedMeasurementSource == MeasurementSource.DataEstimator && this.validateDataEstimator() == false) {\r\n validationErrors.push(\r\n 'Schatting is niet aanwezig, gewijzigd of datum is anders, selecteer een andere herkomst bron van de meting, DataEstimator is niet meer geldig.',\r\n );\r\n }\r\n\r\n return validationErrors;\r\n }\r\n\r\n validateDataEstimator(): boolean {\r\n if (this.estimationMeasurement == undefined) {\r\n return false;\r\n }\r\n if (this.measurementDate.format('YYYY-MM-DD') != this.estimationMeasurement.Normal.Id.Date) {\r\n return false;\r\n }\r\n\r\n if (this.connection.ProductType == ProductType.Gas) {\r\n return this.inputProsumptions.Normal.Prosumption.Consumption == this.estimationMeasurement.Normal.Prosumption.Consumption ? true : false;\r\n }\r\n if (this.connection.ProductType == ProductType.Electricity) {\r\n // check all these conditions and return true if\r\n let cond1: boolean = this.inputProsumptions.Normal.Prosumption.Consumption == this.estimationMeasurement.Normal.Prosumption.Consumption;\r\n let cond2: boolean = this.inputProsumptions.Normal.Prosumption.Production == this.estimationMeasurement.Normal.Prosumption.Production;\r\n let cond3: boolean = this.inputProsumptions.Low.Prosumption.Consumption == this.estimationMeasurement.Low.Prosumption.Consumption;\r\n let cond4: boolean = this.inputProsumptions.Low.Prosumption.Production == this.estimationMeasurement.Low.Prosumption.Production;\r\n return cond1 && cond2 && cond3 && cond4 ? true : false;\r\n }\r\n }\r\n\r\n async getMeasurementMutationReasons() {\r\n await this.enumsService.getAll(Enums.MeasurementMutationReason).then((result) => (this.measurementMutationReasonDescriptions = result));\r\n this.setMutationReasonTranslation();\r\n\r\n this.listOfMeasurementMutationReasonsEnums = this.measurementMutationReasonDescriptions;\r\n\r\n await this.filterMutationReasonsForBusiness();\r\n }\r\n\r\n async getMeasurementReadingMethod() {\r\n await this.enumsService.getAll(Enums.MeasurementReadingMethod).then((result) => (this.measurementReadingMethodDescriptions = result));\r\n this.setReadingMethodTranslation();\r\n }\r\n\r\n setParametersForDate() {\r\n // Read connection for first and all new dates and set it in global variable.\r\n this.readConnection = new readConnection(this.connection, this.measurementDate);\r\n\r\n this.selectedInput = {\r\n meterId: this.readConnection.activeMeterIdsForDate.length > 1 ? null : this.readConnection.activeMeterIdsForDate[0],\r\n customerId: this.readConnection.activeCustomerIdsForDate.length > 1 ? null : this.readConnection.activeCustomerIdsForDate[0],\r\n tenant: this.readConnection.activeTenantsForDate.length > 1 ? null : this.readConnection.activeTenantsForDate[0],\r\n };\r\n }\r\n\r\n getListsFromConnection() {\r\n // get all values from the readconnection //TODO if already present dont push (Gerbrand has two EE tenants)\r\n this.listOfAll = {\r\n meterIds: this.readConnection.getTotalListOf(ListParameter.MeterId),\r\n customerIds: this.readConnection.getTotalListOf(ListParameter.CustomerId),\r\n tenants: this.readConnection.getTotalListOf(ListParameter.Tenant),\r\n };\r\n }\r\n\r\n async filterMutationReasonsForBusiness() {\r\n // List is build on requirements of business and options based on freedom for ICT.\r\n if (this.selectedView == 'ICT') {\r\n return (this.listOfMeasurementMutationReasonsEnums = this.measurementMutationReasonDescriptions);\r\n }\r\n\r\n // Filtered list of Reasons for usability as discussed with Yvonne EDM.\r\n let filteredList = this.measurementMutationReasonDescriptions.filter((mmrd) =>\r\n this.requiredMutationReasonsForBusiness.includes(MeasurementMutationReason[mmrd.Value]),\r\n );\r\n this.listOfMeasurementMutationReasonsEnums = filteredList;\r\n // prevent raise condition in interface, when switching view in MutationReasons, since ICT allows all, yet OPS does not.\r\n // if the value is not in the current list, then reset mutation reason\r\n if (!this.listOfMeasurementMutationReasonsEnums.some((e) => e.Value === this.selectedMutationReason)) {\r\n this.selectedMutationReason = null;\r\n }\r\n }\r\n\r\n async setReadingMethodTranslation() {\r\n this.measurementReadingMethodDescriptions.map((mrmd) => {\r\n // can't translate something that isn't available in our list.\r\n if (ReadingMethodTranslations[mrmd.Value] == undefined) {\r\n return;\r\n }\r\n // tranform the object by changing Translation field\r\n mrmd.Translation = ReadingMethodTranslations[mrmd.Value];\r\n return mrmd;\r\n });\r\n }\r\n\r\n async setMutationReasonTranslation() {\r\n this.measurementMutationReasonDescriptions.map((mmrd) => {\r\n // can't translate something that isn't available in our list.\r\n if (MutationReasonTranslations[mmrd.Value] == undefined) {\r\n return;\r\n }\r\n // tranform the object by changing Translation field\r\n mmrd.Translation = MutationReasonTranslations[mmrd.Value];\r\n return mmrd;\r\n });\r\n }\r\n}\r\n\r\nexport interface selectedInput {\r\n meterId: string;\r\n customerId: number;\r\n tenant: Tenant;\r\n // measurementSource :MeasurementSource;\r\n // measurementMutationReason :MeasurementReadingMethod;\r\n // measurementReadingMethod :MeasurementMutationReason;\r\n}\r\n\r\nexport interface listOfAll {\r\n meterIds: string[];\r\n customerIds: number[];\r\n tenants: Tenant[];\r\n // measurementSources :MeasurementSource[];\r\n // measurementMutationReasons :EnumDescription[];\r\n // measurementReadingMethods :EnumDescription[];\r\n}\r\n\r\nexport enum ReadingMethodTranslations {\r\n // 92 fysieke opname\r\n P4 = '004 P4 stand',\r\n Invalid = 'Invalid',\r\n Agreed = '102 Overeengekomen',\r\n Calculated = '93 berekend',\r\n CalculatedByBalanceSupplier = '91 CalculatedByBalanceSupplier',\r\n Estimated = 'Estimated',\r\n Recorded = '92 fysieke opname',\r\n RecordedByCustomer = '22 opgenomen door klant',\r\n RecordedByBalanceSupplier = 'RecordedByBalanceSupplier',\r\n}\r\n\r\nexport enum MutationReasonTranslations {\r\n BULKPV = 'Bulk PV',\r\n CONNACT = 'Aansluiting activeren',\r\n CONNCHG = 'Aansluiting wijziging',\r\n CONNCRE = 'Aansluiting aanmaken',\r\n CONNDACT = 'Aansluiting deactiveren',\r\n CONNEND = 'Aansluiting verwijderen',\r\n CONNUPD = 'Aansluiting wijzigen',\r\n CONSMTR = 'Periodieke meterstand en verbruik',\r\n DISPUTE = 'Dispuut over stand',\r\n DSTRCONN = 'Stamgegevens op aanvraag',\r\n DSTRMSTR = 'Stamgegevens distribueren',\r\n ENDOFMV = 'Afmelden MV',\r\n EOSUPPLY = 'Einde levering',\r\n HISTMTR = 'Opvraag historische meetgegevens',\r\n MOVEIN = 'Inhuizing',\r\n MOVEOUT = 'Uithuizing',\r\n MTREND = 'Meter verwijderen',\r\n MTRINST = 'Meter installeren',\r\n MTRUPD = 'Meter wijzigen (metermutatie)',\r\n NAMECHG = 'Naamswijziging',\r\n NMCRSCMP = 'Wijzigen van zowel naam als verblijfsfunctie / complexbepaling',\r\n PERMTR = 'Periodieke meterstand',\r\n PHYSMTR = 'Fysieke opname',\r\n RESCOMP = 'Wijzigen verblijfsfunctie / complexbepaling',\r\n SWITCHLV = 'Leverancierswitch',\r\n SWITCHMV = 'Aanmelden MV',\r\n SWITCHPV = 'PV/Shipper-switch',\r\n SWTCHUPD = 'Switchbaarheid wijzigen',\r\n ALLMTCHG = 'Wijzigen allocatie methode',\r\n MONTHMTR = 'Maand stand (1e kalenderdag van de maand 0:00)',\r\n INDHSE = 'Individuele calorische waarden ingevoed gas (eerste aanlevering)',\r\n INDHSH = 'Individuele calorische waarden ingevoed gas (heraanlevering)',\r\n MDMD = 'Opvraag stamgegevens meetinrichting',\r\n MDPPMD = 'Opvraag gegevens primair deel meetinrichting',\r\n ONRQST = 'Op verzoek',\r\n CONTRCAN = 'Opzeggen contract',\r\n CONTRDAT = 'Opvragen contractdata',\r\n CONTRMOV = 'Opvragen verhuizingen',\r\n CERCANCELLATION = 'Opzeggen contract',\r\n}\r\n","\r\n
\r\n
\r\n
Voeg meterstand toe
\r\n
\r\n
\r\n

Je bekijkt de meterstanden invullen als:

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
Klantgegevens
\r\n

Selecteer een klantnummer

\r\n \r\n \r\n {{customerId}}\r\n \r\n \r\n
\r\n
\r\n

Selecteer de Leverancier

\r\n \r\n \r\n {{tenant}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Meterstandgegevens
\r\n

Voer de datum in

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Voer een mutatiereden in

\r\n \r\n \r\n {{measurementMutationReasonDescription.Translation}}\r\n \r\n \r\n
\r\n
\r\n

Selecteer de meter

\r\n \r\n \r\n {{meterId}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Herkomst
\r\n

Selecteer een afleesmethode

\r\n \r\n \r\n {{measurementReadingMethodDescription.Translation}} (\r\n {{measurementReadingMethodDescription.Value}} )\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Vul meterstanden in als Operations
\r\n
\r\n

Verbruik

\r\n
\r\n

Normaal

\r\n \r\n
\r\n \r\n
\r\n

Laag

\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

Teruglevering

\r\n
\r\n

Normaal

\r\n \r\n
\r\n
\r\n

Laag

\r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n\r\n \r\n
\r\n
Resultaat Schatting
\r\n

\r\n Schatting datum: {{estimationMeasurement.Normal.Id.Date?.LocalDate}}\r\n

\r\n
\r\n

Verbruik

\r\n
\r\n

\r\n Normaal:\r\n {{estimationMeasurement.Normal.Prosumption.Consumption}}\r\n

\r\n
\r\n \r\n
\r\n

\r\n Laag: {{estimationMeasurement.Low.Prosumption.Consumption}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Teruglevering

\r\n
\r\n

\r\n Normaal:\r\n {{estimationMeasurement.Normal.Prosumption.Production}}\r\n

\r\n
\r\n
\r\n

\r\n Laag: {{estimationMeasurement.Low.Prosumption.Production}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n Verzenden naar de markt\r\n \r\n \r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
0\">\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
Vul meterstanden in als ICT
\r\n
\r\n

Tariff normal

\r\n
\r\n

Consumption

\r\n \r\n
\r\n \r\n
\r\n

Production

\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

Tariff low

\r\n
\r\n

Consumption

\r\n \r\n
\r\n
\r\n

Production

\r\n \r\n
\r\n
\r\n
\r\n

\r\n\r\n \r\n\r\n \r\n
\r\n
Resultaat Schatting
\r\n

\r\n Schatting datum: {{estimationMeasurement.Normal.Id.Date?.LocalDate}}\r\n

\r\n
\r\n

Tariff normal

\r\n
\r\n

\r\n Consumption: {{estimationMeasurement.Normal.Prosumption.Consumption}}\r\n

\r\n
\r\n \r\n
\r\n

\r\n Production: {{estimationMeasurement.Normal.Prosumption.Production}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Tariff low

\r\n
\r\n

\r\n Consumption: {{estimationMeasurement.Low.Prosumption.Consumption}}\r\n

\r\n
\r\n
\r\n

\r\n Production: {{estimationMeasurement.Low.Prosumption.Production}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n ","import moment from 'moment';\r\nimport {\r\n Connection,\r\n EnumDescription,\r\n Enums,\r\n LocalDate,\r\n MeasurementCommunication,\r\n MeasurementId,\r\n MeasurementReadingMethod,\r\n MeasurementSource,\r\n ProductType,\r\n Tariff,\r\n Tenant,\r\n Timestamp,\r\n} from 'src/app/Connection';\r\nimport { ListParameter, readConnection } from 'src/app/helpers/ActiveOnDateHelper';\r\nimport { makeMeasurementListViewModel } from 'src/app/helpers/ViewModelHelper';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementCommunicationService } from 'src/app/services/measurement-communication.service';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'create-measurement-customer-component',\r\n templateUrl: './CreateMeasurementCustomerComponent.html',\r\n styleUrls: ['./CreateMeasurementCustomerComponent.scss'],\r\n})\r\nexport class CreateMeasurementCustomerComponent implements OnInit {\r\n @Input() connection: Connection;\r\n @Input() measurementCommunication: MeasurementCommunication;\r\n // @Input() listOfConsumptions :ConsumptionPerGranularityInterval[];\r\n @Output() measurementCreated: EventEmitter = new EventEmitter();\r\n\r\n isLoading: boolean = false;\r\n\r\n // Set to false by choice, not sending to EDSN, Yvonne also doesn't want it here due to logic.\r\n shouldSubmitToGridOperatorBoolean: boolean = false;\r\n\r\n // Inputfield variables meter, customer, tenant\r\n selectedInput: selectedInput;\r\n listOfAll: listOfAll;\r\n\r\n // Lists of Options for herkomst, reden en opname methode.\r\n listOfMeasurementSources = [MeasurementSource.Customer]; // Yvonne advocates for adding these to our own system, not the market (we do not send these to the market, and are indeed not allowed) For correction reasons, sometimes they are not properly added.\r\n listOfMeasurementMutationReasonsEnums: EnumDescription[];\r\n\r\n measurementReadingMethodDescriptions: EnumDescription[];\r\n measurementMutationReasonDescriptions: EnumDescription[];\r\n\r\n // Selected input of Herkomst and reason\r\n selectedMeasurementSource: MeasurementSource;\r\n selectedReadingMethod: MeasurementReadingMethod;\r\n\r\n // Used for the readConnection from ActiveOnDateHelper\r\n readConnection: any;\r\n\r\n // Selective use for the UI is also requested from business, only EDM and Finance should add a measurement, next to ICT\r\n selectedView: string = 'OPS';\r\n\r\n databaseToBusinessFactor: number;\r\n\r\n // MeterReading is a customer read value that requires another call (and handles multiplicationfactor logic in the backend)\r\n isMeterReading: boolean;\r\n\r\n inputProsumptions: any = {\r\n Normal: {\r\n Prosumption: {\r\n Consumption: null,\r\n Production: null,\r\n },\r\n },\r\n Low: {\r\n Prosumption: {\r\n Consumption: null,\r\n Production: null,\r\n },\r\n },\r\n };\r\n\r\n newMeasurementProsumption: any = {\r\n Normal: {\r\n Prosumption: {\r\n Consumption: null,\r\n Production: null,\r\n },\r\n },\r\n Low: {\r\n Prosumption: {\r\n Consumption: null,\r\n Production: null,\r\n },\r\n },\r\n };\r\n\r\n // defaul placeholder text input fields\r\n inputProsumptionText: string = 'Vul meterstand in';\r\n\r\n // Date variables and formControl\r\n measurementDate;\r\n measurementDateControl: UntypedFormControl;\r\n\r\n estimationMeasurement: any;\r\n newMeasurement: any = {};\r\n\r\n validationErrors: any;\r\n\r\n constructor(\r\n private measurementService: MeasurementService,\r\n private measurementCommunicationService: MeasurementCommunicationService,\r\n private enumsService: EnumsService,\r\n private errorService: ErrorService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.measurementDate = moment(this.measurementCommunication.EventDate.LocalDate);\r\n this.measurementDateControl = new UntypedFormControl(this.measurementDate);\r\n // get input data for the forms\r\n this.getMeasurementReadingMethod();\r\n //set input based on the date in datepicker\r\n this.setParametersForDate();\r\n this.getListsFromConnection(); // meterids, tenant, customerid\r\n // prefill form\r\n this.setDefaultParameters();\r\n }\r\n\r\n changeView() {\r\n // Changes the input field sequence, to cassandra tariff pairs (measurements as ICT sees it) and Market communication (1234 -> 1324)\r\n this.selectedView == 'OPS' ? (this.selectedView = 'ICT') : (this.selectedView = 'OPS');\r\n // Changes the list of mutationreasons for bussiness\r\n }\r\n\r\n changeDate(event: any) {\r\n // nullcheck for falsly or incomplete dates (being) filled in\r\n if (event.value == null || event.value == undefined) {\r\n return;\r\n }\r\n this.measurementDate = event.value;\r\n // update default parameters for new date\r\n this.setParametersForDate();\r\n }\r\n\r\n setDefaultParameters() {\r\n // Set the transform factor for reading and writing prosumptions between bussiness and database\r\n this.databaseToBusinessFactor = this.connection.ProductType == ProductType.Electricity ? 1000 : 1000000;\r\n // default values for forms\r\n this.selectedMeasurementSource = MeasurementSource.Customer;\r\n this.selectedReadingMethod = MeasurementReadingMethod.RecordedByCustomer;\r\n }\r\n\r\n async getEstimations() {\r\n if (!this.measurementDate) {\r\n return this.errorService.addError('Geen datum geselecteerd.');\r\n }\r\n // Doe de call voor een schatting\r\n this.isLoading = true;\r\n\r\n let estimation = await this.measurementService\r\n .getMeasurementEstimate(this.connection.Id, this.measurementCommunication.EventDate.toString())\r\n .catch((error) => {\r\n return this.errorService.addError('Kan geen schattingen ophalen, voer handmatig in');\r\n });\r\n\r\n this.isLoading = false;\r\n\r\n this.estimationMeasurement = this.transformEstimationToMeterreading(estimation);\r\n\r\n // Check if future or not, for the dataEstimator in the measurementSource list\r\n if (this.measurementDate.isAfter()) {\r\n if (!this.listOfMeasurementSources.includes(MeasurementSource.DataEstimator)) {\r\n this.listOfMeasurementSources.push(MeasurementSource.DataEstimator);\r\n }\r\n } else {\r\n if (!this.listOfMeasurementSources.includes(MeasurementSource.DataEstimator)) {\r\n this.listOfMeasurementSources.filter((source) => source != MeasurementSource.DataEstimator);\r\n }\r\n }\r\n }\r\n\r\n useEstimation() {\r\n // take the new prosumption\r\n if (this.estimationMeasurement.Normal == undefined) {\r\n return this.errorService.addError('Er zijn geen schattingen, kan niets overnemen');\r\n }\r\n // Cannot transfer the full Prosumption object reference, since that will link them together. So per value initializing and setting.\r\n this.inputProsumptions.Normal.Prosumption.Consumption = this.estimationMeasurement.Normal.Prosumption.Consumption;\r\n\r\n if (this.connection.ProductType == ProductType.Gas) {\r\n return;\r\n }\r\n this.inputProsumptions.Normal.Prosumption.Production = this.estimationMeasurement.Normal.Prosumption.Production;\r\n this.inputProsumptions.Low.Prosumption.Consumption = this.estimationMeasurement.Low.Prosumption.Consumption;\r\n this.inputProsumptions.Low.Prosumption.Production = this.estimationMeasurement.Low.Prosumption.Production;\r\n // Set the default value of measurementSource to dataestimator if date is in the future\r\n if (this.measurementDate.isAfter()) {\r\n this.selectedMeasurementSource = MeasurementSource.DataEstimator;\r\n }\r\n }\r\n\r\n async saveNewMeasurement() {\r\n // empty list of errors at start or new save\r\n this.validationErrors = [];\r\n // check validations\r\n this.validationErrors = await this.validateInput(); // does not yet work multiple times in a row..\r\n if (this.validationErrors.length > 0) {\r\n return this.errorService.addError('Één of meerdere velden zijn niet (juist) ingevuld');\r\n }\r\n\r\n // Determine if meterreading\r\n this.isMeterReading = true;\r\n\r\n // then create measurement\r\n let measurement = await this.createMeasurement();\r\n\r\n // and send the measurement using a post call\r\n this.postMeasurement(measurement);\r\n }\r\n\r\n async postMeasurement(measurement) {\r\n // let measurement = {};\r\n this.isLoading = true;\r\n\r\n await this.measurementCommunicationService\r\n .postMeasurementCustomer(measurement, this.shouldSubmitToGridOperatorBoolean, this.selectedReadingMethod)\r\n .then(() => {\r\n this.measurementCreated.emit(true);\r\n })\r\n .catch((error) => {\r\n this.errorService.addError('Kon meterstand niet opslaan: ' + error.error.message);\r\n this.measurementCreated.emit(false);\r\n });\r\n this.isLoading = false;\r\n }\r\n\r\n async createMeasurement() {\r\n // transform prosumption to database stored values\r\n await this.setProsumptionFromInput(this.inputProsumptions);\r\n\r\n var t: Timestamp = null;\r\n let customerId = this.selectedInput.customerId.toString();\r\n\r\n // I want an object to push things in, not using the initialization, since that requires more backwards API transformations\r\n let measurementToPost = Object.create({});\r\n measurementToPost.Normal = {};\r\n measurementToPost.Normal.Id = {};\r\n\r\n let normalId = new MeasurementId(\r\n this.connection.Id,\r\n this.selectedInput.meterId,\r\n new LocalDate(this.measurementDate.format('YYYY-MM-DD')),\r\n this.selectedMeasurementSource,\r\n t,\r\n Tariff.normal,\r\n null,\r\n );\r\n\r\n measurementToPost.Normal.Id = normalId;\r\n measurementToPost.Normal.Id.Date = this.measurementDate.format('YYYY-MM-DD'); // Format to string for API\r\n measurementToPost.Normal.ProductType = this.connection.ProductType;\r\n measurementToPost.Normal.Tenant = this.selectedInput.tenant;\r\n measurementToPost.Normal.CustomerId = customerId;\r\n measurementToPost.Normal.SubmittedToGridOperator = false;\r\n // Set the measurement Prosumption\r\n measurementToPost.Normal.Prosumption = this.newMeasurementProsumption.Normal.Prosumption;\r\n\r\n if (this.connection.ProductType == ProductType.Electricity) {\r\n measurementToPost.Low = {};\r\n measurementToPost.Low.Id = {};\r\n\r\n let lowId = new MeasurementId(\r\n this.connection.Id,\r\n this.selectedInput.meterId,\r\n new LocalDate(this.measurementDate.format('YYYY-MM-DD')),\r\n this.selectedMeasurementSource,\r\n t,\r\n Tariff.low,\r\n null,\r\n );\r\n\r\n measurementToPost.Low.Id = lowId;\r\n measurementToPost.Low.Id.Date = this.measurementDate.format('YYYY-MM-DD'); // Format to string for API\r\n measurementToPost.Low.ProductType = this.connection.ProductType;\r\n measurementToPost.Low.Tenant = this.selectedInput.tenant;\r\n measurementToPost.Low.CustomerId = customerId;\r\n measurementToPost.Low.SubmittedToGridOperator = false;\r\n // Set the measurement Prosumption\r\n measurementToPost.Low.Prosumption = this.newMeasurementProsumption.Low.Prosumption;\r\n }\r\n\r\n return measurementToPost;\r\n }\r\n\r\n transformEstimationToMeterreading(estimation) {\r\n // transform each element from MCMeasurement to a MeterReading\r\n for (let measurement in estimation) {\r\n if (estimation[measurement] == undefined) {\r\n // do nothing\r\n } else {\r\n // input is manipulated to Measurement[] or big refactor\r\n let list = [];\r\n list.push(estimation[measurement]);\r\n makeMeasurementListViewModel(list, this.connection);\r\n }\r\n }\r\n return estimation;\r\n }\r\n\r\n async setProsumptionFromInput(inputProsumption) {\r\n this.newMeasurementProsumption.Normal.Prosumption.Consumption = inputProsumption.Normal.Prosumption.Consumption;\r\n if (this.connection.ProductType == ProductType.Gas) {\r\n return;\r\n }\r\n // Elek\r\n this.newMeasurementProsumption.Normal.Prosumption.Production = inputProsumption.Normal.Prosumption.Production;\r\n this.newMeasurementProsumption.Low.Prosumption.Consumption = inputProsumption.Low.Prosumption.Consumption;\r\n this.newMeasurementProsumption.Low.Prosumption.Production = inputProsumption.Low.Prosumption.Production;\r\n return;\r\n }\r\n\r\n async validateInput() {\r\n // an idea for error logging, a big array with all errors, and per error an box is shown.\r\n // can be better (combine in one error with enters and show once per execution for example)\r\n let validationErrors = [];\r\n // check the fields for empty selections\r\n // TODO Findout case: old meter elek with one Telwerk active, is 0 possible, or should validation incorporate a detection for metertype too using readConnection meterType.\r\n if (this.selectedReadingMethod == undefined) {\r\n validationErrors.push('Geen afleesmethode geselecteerd');\r\n }\r\n if (this.selectedMeasurementSource == undefined) {\r\n validationErrors.push('Geen opnamebron geselecteerd');\r\n }\r\n if (this.selectedInput.tenant == undefined) {\r\n validationErrors.push('Geen leverancier geselecteerd');\r\n }\r\n if (this.selectedInput.meterId == undefined) {\r\n validationErrors.push('Geen meter id geselecteerd');\r\n }\r\n if (this.selectedInput.customerId == undefined) {\r\n validationErrors.push('Geen klant geselecteerd');\r\n }\r\n // check the measurement Input for nulls\r\n if (this.inputProsumptions.Normal.Prosumption.Consumption == null) {\r\n validationErrors.push('Verbruik (normaal) mag niet null zijn (wel 0)');\r\n }\r\n if (this.connection.ProductType == ProductType.Gas) {\r\n return validationErrors;\r\n }\r\n // Elek\r\n if (this.inputProsumptions.Normal.Prosumption.Production == null) {\r\n validationErrors.push('Teruglevering (normaal) mag niet null zijn (wel 0)');\r\n }\r\n if (this.inputProsumptions.Low.Prosumption.Consumption == null) {\r\n validationErrors.push('Verbruik (laag) mag niet null zijn (wel 0)');\r\n }\r\n if (this.inputProsumptions.Low.Prosumption.Production == null) {\r\n validationErrors.push('Teruglevering (laag) mag niet null zijn (wel 0)');\r\n }\r\n\r\n // Validate the DataEstimator MeasurementSource, if selected\r\n if (this.selectedMeasurementSource == MeasurementSource.DataEstimator && this.validateDataEstimator() == false) {\r\n validationErrors.push(\r\n 'Schatting is niet aanwezig, gewijzigd of datum is anders, selecteer een andere herkomst bron van de meting, DataEstimator is niet meer geldig.',\r\n );\r\n }\r\n return validationErrors;\r\n }\r\n\r\n validateDataEstimator(): boolean {\r\n if (this.estimationMeasurement == undefined) {\r\n return false;\r\n }\r\n if (this.measurementDate.format('YYYY-MM-DD') != this.estimationMeasurement.Normal.Id.Date) {\r\n return false;\r\n }\r\n\r\n if (this.connection.ProductType == ProductType.Gas) {\r\n return this.inputProsumptions.Normal.Prosumption.Consumption == this.estimationMeasurement.Normal.Prosumption.Consumption ? true : false;\r\n }\r\n if (this.connection.ProductType == ProductType.Electricity) {\r\n // check all these conditions and return true if\r\n let cond1: boolean = this.inputProsumptions.Normal.Prosumption.Consumption == this.estimationMeasurement.Normal.Prosumption.Consumption;\r\n let cond2: boolean = this.inputProsumptions.Normal.Prosumption.Production == this.estimationMeasurement.Normal.Prosumption.Production;\r\n let cond3: boolean = this.inputProsumptions.Low.Prosumption.Consumption == this.estimationMeasurement.Low.Prosumption.Consumption;\r\n let cond4: boolean = this.inputProsumptions.Low.Prosumption.Production == this.estimationMeasurement.Low.Prosumption.Production;\r\n return cond1 && cond2 && cond3 && cond4 ? true : false;\r\n }\r\n }\r\n\r\n async getMeasurementReadingMethod() {\r\n await this.enumsService.getAll(Enums.MeasurementReadingMethod).then((result) => (this.measurementReadingMethodDescriptions = result));\r\n this.setReadingMethodTranslation();\r\n }\r\n\r\n setParametersForDate() {\r\n // Read connection for first and all new dates and set it in global variable.\r\n this.readConnection = new readConnection(this.connection, this.measurementDate);\r\n\r\n this.selectedInput = {\r\n meterId: this.readConnection.activeMeterIdsForDate.length > 1 ? null : this.readConnection.activeMeterIdsForDate[0],\r\n customerId: this.readConnection.activeCustomerIdsForDate.length > 1 ? null : this.readConnection.activeCustomerIdsForDate[0],\r\n tenant: this.readConnection.activeTenantsForDate.length > 1 ? null : this.readConnection.activeTenantsForDate[0],\r\n };\r\n }\r\n\r\n getListsFromConnection() {\r\n // get all values from the readconnection //TODO if already present dont push (Gerbrand has two EE tenants)\r\n this.listOfAll = {\r\n meterIds: this.readConnection.getTotalListOf(ListParameter.MeterId),\r\n customerIds: this.readConnection.getTotalListOf(ListParameter.CustomerId),\r\n tenants: this.readConnection.getTotalListOf(ListParameter.Tenant),\r\n };\r\n }\r\n\r\n async setReadingMethodTranslation() {\r\n this.measurementReadingMethodDescriptions.map((mrmd) => {\r\n // can't translate something that isn't available in our list.\r\n if (ReadingMethodTranslations[mrmd.Value] == undefined) {\r\n return;\r\n }\r\n // tranform the object by changing Translation field\r\n mrmd.Translation = ReadingMethodTranslations[mrmd.Value];\r\n return mrmd;\r\n });\r\n }\r\n\r\n async setMutationReasonTranslation() {\r\n this.measurementMutationReasonDescriptions.map((mmrd) => {\r\n // can't translate something that isn't available in our list.\r\n if (MutationReasonTranslations[mmrd.Value] == undefined) {\r\n return;\r\n }\r\n // tranform the object by changing Translation field\r\n mmrd.Translation = MutationReasonTranslations[mmrd.Value];\r\n return mmrd;\r\n });\r\n }\r\n}\r\n\r\nexport interface selectedInput {\r\n meterId: string;\r\n customerId: number;\r\n tenant: Tenant;\r\n // measurementSource :MeasurementSource;\r\n // measurementMutationReason :MeasurementReadingMethod;\r\n // measurementReadingMethod :MeasurementMutationReason;\r\n}\r\n\r\nexport interface listOfAll {\r\n meterIds: string[];\r\n customerIds: number[];\r\n tenants: Tenant[];\r\n // measurementSources :MeasurementSource[];\r\n // measurementMutationReasons :EnumDescription[];\r\n // measurementReadingMethods :EnumDescription[];\r\n}\r\n\r\nexport enum ReadingMethodTranslations {\r\n // 92 fysieke opname\r\n // 004 P4 stand\r\n Invalid = 'Invalid',\r\n Agreed = '102 Overeengekomen',\r\n Calculated = '93 berekend',\r\n CalculatedByBalanceSupplier = '91 CalculatedByBalanceSupplier',\r\n Estimated = 'Estimated',\r\n Recorded = 'Recorded',\r\n RecordedByCustomer = '22 opgenomen door klant',\r\n RecordedByBalanceSupplier = 'RecordedByBalanceSupplier',\r\n}\r\n\r\nexport enum MutationReasonTranslations {\r\n BULKPV = 'Bulk PV',\r\n CONNACT = 'Aansluiting activeren',\r\n CONNCHG = 'Aansluiting wijziging',\r\n CONNCRE = 'Aansluiting aanmaken',\r\n CONNDACT = 'Aansluiting deactiveren',\r\n CONNEND = 'Aansluiting verwijderen',\r\n CONNUPD = 'Aansluiting wijzigen',\r\n CONSMTR = 'Periodieke meterstand en verbruik',\r\n DISPUTE = 'Dispuut over stand',\r\n DSTRCONN = 'Stamgegevens op aanvraag',\r\n DSTRMSTR = 'Stamgegevens distribueren',\r\n ENDOFMV = 'Afmelden MV',\r\n EOSUPPLY = 'Einde levering',\r\n HISTMTR = 'Opvraag historische meetgegevens',\r\n MOVEIN = 'Inhuizing',\r\n MOVEOUT = 'Uithuizing',\r\n MTREND = 'Meter verwijderen',\r\n MTRINST = 'Meter installeren',\r\n MTRUPD = 'Meter wijzigen (metermutatie)',\r\n NAMECHG = 'Naamswijziging',\r\n NMCRSCMP = 'Wijzigen van zowel naam als verblijfsfunctie / complexbepaling',\r\n PERMTR = 'Periodieke meterstand',\r\n PHYSMTR = 'Fysieke opname',\r\n RESCOMP = 'Wijzigen verblijfsfunctie / complexbepaling',\r\n SWITCHLV = 'Leverancierswitch',\r\n SWITCHMV = 'Aanmelden MV',\r\n SWITCHPV = 'PV/Shipper-switch',\r\n SWTCHUPD = 'Switchbaarheid wijzigen',\r\n ALLMTCHG = 'Wijzigen allocatie methode',\r\n MONTHMTR = 'Maand stand (1e kalenderdag van de maand 0:00)',\r\n INDHSE = 'Individuele calorische waarden ingevoed gas (eerste aanlevering)',\r\n INDHSH = 'Individuele calorische waarden ingevoed gas (heraanlevering)',\r\n MDMD = 'Opvraag stamgegevens meetinrichting',\r\n MDPPMD = 'Opvraag gegevens primair deel meetinrichting',\r\n ONRQST = 'Op verzoek',\r\n CONTRCAN = 'Opzeggen contract',\r\n CONTRDAT = 'Opvragen contractdata',\r\n CONTRMOV = 'Opvragen verhuizingen',\r\n CERCANCELLATION = 'Opzeggen contract',\r\n}\r\n","\r\n
\r\n\r\n
\r\n
Voeg meterstand toe
\r\n
\r\n
\r\n

Je bekijkt de meterstanden invullen als:

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
Klantgegevens
\r\n

Selecteer een klantnummer

\r\n \r\n \r\n {{customerId}}\r\n \r\n \r\n
\r\n
\r\n

Selecteer de Leverancier

\r\n \r\n \r\n {{tenant}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Meterstandgegevens
\r\n

Voer de datum in

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Voer een mutatiereden in

\r\n \r\n \r\n {{measurementMutationReasonDescription.Translation}}\r\n \r\n \r\n
\r\n
\r\n

Selecteer de meter

\r\n \r\n \r\n {{meterId}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Herkomst
\r\n

Selecteer een afleesmethode

\r\n \r\n \r\n {{measurementReadingMethodDescription.Translation}} (\r\n {{measurementReadingMethodDescription.Value}} )\r\n \r\n \r\n
\r\n
\r\n

Selecteer de opnamebron

\r\n \r\n \r\n {{measurementSource}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
Vul meterstanden in als Operations
\r\n
\r\n

Verbruik

\r\n
\r\n

Normaal

\r\n \r\n
\r\n \r\n
\r\n

Laag

\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

Teruglevering

\r\n
\r\n

Normaal

\r\n \r\n
\r\n
\r\n

Laag

\r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n\r\n \r\n
\r\n
\r\n
Resultaat Schatting
\r\n

Schatting datum: {{estimationMeasurement.Normal.Id.Date}}

\r\n
\r\n

Verbruik

\r\n
\r\n

Normaal:\r\n {{estimationMeasurement.Normal.Prosumption.Consumption}}

\r\n
\r\n \r\n
\r\n

Laag: {{estimationMeasurement.Low.Prosumption.Consumption}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Teruglevering

\r\n
\r\n

Normaal:\r\n {{estimationMeasurement.Normal.Prosumption.Production}}

\r\n\r\n
\r\n
\r\n

Laag: {{estimationMeasurement.Low.Prosumption.Production}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n Verzenden naar de\r\n markt\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
Vul meterstanden in als ICT
\r\n
\r\n

Tariff normal

\r\n
\r\n

Consumption

\r\n \r\n
\r\n \r\n
\r\n

Production

\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

Tariff low

\r\n
\r\n

Consumption

\r\n \r\n
\r\n
\r\n

Production

\r\n \r\n
\r\n
\r\n
\r\n

\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
Resultaat Schatting
\r\n

Schatting datum: {{estimationMeasurement.Normal.Id.Date}}

\r\n
\r\n

Tariff normal

\r\n
\r\n

Consumption: {{estimationMeasurement.Normal.Prosumption.Consumption}}

\r\n
\r\n \r\n
\r\n

Production: {{estimationMeasurement.Normal.Prosumption.Production}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Tariff low

\r\n
\r\n

Consumption: {{estimationMeasurement.Low.Prosumption.Consumption}}

\r\n\r\n
\r\n
\r\n

Production: {{estimationMeasurement.Low.Prosumption.Production}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Connection, ConnectionContract, ContractState, Page } from 'src/app/Connection';\r\nimport { groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ContractStateService } from 'src/app/services/contract-state.service';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { BaseComponent } from '../BaseComponent';\r\n\r\n@Component({\r\n selector: 'customer-component',\r\n templateUrl: './CustomerComponent.html',\r\n styleUrls: ['./CustomerComponent.scss'],\r\n})\r\nexport class CustomerComponent extends BaseComponent {\r\n public connections: {\r\n [connectionId: string]: Connection;\r\n } = {};\r\n public contractStates: {\r\n [contractId: string]: ContractState;\r\n } = {};\r\n public connectionContracts: ConnectionContract[] = [];\r\n public customerId: string;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private connectionService: ConnectionService,\r\n private contractStateService: ContractStateService,\r\n protected router: Router,\r\n ) {\r\n super(router);\r\n }\r\n\r\n fetchData() {\r\n this.connectionService\r\n .GetContracts([this.customerId], [])\r\n .then((connectionContracts) => (this.connectionContracts = connectionContracts))\r\n .then(() => {\r\n if (this.connectionContracts.length > 0) {\r\n this.connectionService.getByContractId(this.connectionContracts.map((cc) => cc.contractId)).then(\r\n (connections) =>\r\n (this.connections = groupBy(\r\n connections,\r\n (c: Connection) => c.Id,\r\n (c: Connection[]) => c[0],\r\n )),\r\n );\r\n this.contractStateService\r\n .getAll(\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n this.connectionContracts.map((cc) => cc.contractId),\r\n )\r\n .then(\r\n (contractStates: Page) =>\r\n (this.contractStates = groupBy(\r\n contractStates.data,\r\n (c: ContractState) => c.id.contractId,\r\n (c: ContractState[]) => {\r\n let lastContractState = c[c.length - 1];\r\n lastContractState.contractStateTransitions =\r\n lastContractState.contractStateTransitions.length == 0\r\n ? []\r\n : [lastContractState.contractStateTransitions[lastContractState.contractStateTransitions.length - 1]];\r\n return lastContractState;\r\n },\r\n )),\r\n );\r\n }\r\n })\r\n .then(() => console.log(this.connectionContracts));\r\n }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe((params) => {\r\n this.customerId = params.customerId;\r\n this.fetchData();\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Klantnummer {{customerId}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n Overzicht\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n 0\">\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{contractStates[connectionContract.contractId].contractStateTransitions[0].contractStateTransitionType}}\r\n \r\n \r\n \r\n \r\n {{contractStates[connectionContract.contractId].contractStateTransitions[0].context}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ConnectionIdContractIdContractDateProductTypeContract StateCurrent TaskContextModifiedBlocked
\r\n {{connectionContract.connectionId}}\r\n \r\n {{connectionContract.contractId}}\r\n {{connectionContract.contractDate | date: 'yyyy-MM-dd'}}{{connectionContract.productType}}\r\n {{contractStates[connectionContract.contractId].id.contractMutationState}}\r\n {{connectionContract.modifiedTimestamp | date: 'yyyy-MM-dd'}}\r\n {{contractStates[connectionContract.contractId].blocked}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n Klant-informatie\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
IdContract vanafContract tot Klant
{{customerConnection.Customer.Id}}{{customerConnection?.Interval?.From?.format('YYYY-MM-DD')}}{{customerConnection?.Interval?.Until?.format('YYYY-MM-DD')}}{{customerConnection?.Customer?.Name}}
\r\n
\r\n
\r\n","import { Connection } from 'src/app/Connection';\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'customers-list-component',\r\n templateUrl: './CustomersListComponent.html',\r\n styleUrls: ['./CustomersListComponent.scss'],\r\n})\r\nexport class CustomersListComponent {\r\n @Input() connection: Connection;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n ngOnDestroy() { }\r\n}\r\n","import moment, { Moment } from 'moment';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'datepicker-component',\r\n templateUrl: './DatePickerComponent.html',\r\n styleUrls: ['./DatePickerComponent.scss'],\r\n})\r\nexport class DatePickerComponent {\r\n @Input() from: Moment;\r\n @Input() duration: Moment;\r\n @Input() until: Moment;\r\n @Input() sticky?: boolean;\r\n\r\n // SET STANDARD PERIOD HERE\r\n // this.from = moment().subtract(1, 'months');\r\n // this.until = moment().subtract(0, 'days');\r\n // fromControl = new FormControl(this.from);\r\n // untilControl = new FormControl(this.until);\r\n\r\n constructor(private errorService: ErrorService) { }\r\n setFrom(event: any) {\r\n console.log(event.value);\r\n }\r\n\r\n // Automatically set the new from and untill and get API data for table and also chart\r\n // Now we set a global variable as an inbetween value that can be read cross functions.\r\n picker(src: string, event: any) {\r\n if (src === 'from') {\r\n // this.from = event.value;\r\n this.inputFrom = event.value;\r\n } else if (src === 'until') {\r\n this.inputUntil = event.value;\r\n }\r\n }\r\n // function\r\n // get datepicker events (via one or multiple functions)\r\n // onclick function that gets both datepicker values as\r\n // do if limit is correct else return an error/ message / console log.\r\n\r\n inputFrom: any;\r\n inputUntil: any;\r\n pickerButton() {\r\n const limit = moment.duration(150, 'days').valueOf();\r\n const x = this.inputFrom ? this.inputFrom : this.from;\r\n const y = this.inputUntil ? this.inputUntil : this.until;\r\n console.log(x + ' ' + y);\r\n if (y.valueOf() - x.valueOf() < limit) {\r\n this.from = x;\r\n this.until = y;\r\n } else {\r\n throw new Error('Limit is too high, retry again');\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.sticky = true;\r\n if (this.sticky != undefined) {\r\n this.sticky = true;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n   \r\n \r\n \r\n \r\n \r\n \r\n   \r\n \r\n
close
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n   \r\n \r\n \r\n \r\n \r\n \r\n   \r\n \r\n
show
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport * as Charts from 'highcharts';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { interval, Subscription } from 'rxjs';\r\n\r\ndeclare var require: any;\r\nlet Boost = require('highcharts/modules/boost');\r\nlet noData = require('highcharts/modules/no-data-to-display');\r\nlet More = require('highcharts/highcharts-more');\r\n\r\nBoost(Charts);\r\nnoData(Charts);\r\nMore(Charts);\r\nnoData(Charts);\r\n\r\nvar certificaten: any[] = [\r\n 'Groen - Biogas',\r\n 'Groen - Biomassa',\r\n 'Groen - Wind',\r\n 'Groen - Zon',\r\n 'Grijs - Gas',\r\n 'Grijs - Kool',\r\n 'Grijs - Afval',\r\n 'Grijs - Goor',\r\n];\r\n\r\n// nog groepen op grijs, groen en per category Fullflex, EU, NL\r\nvar mockAantalCertificaten: any[] = [\r\n {\r\n name: 'Biogas FullFlex Cert #431',\r\n data: [5, 0, 0, 0, 0, 0, 0, 0],\r\n stack: 'FullFlex',\r\n },\r\n {\r\n name: 'Biogas EU Cert #432',\r\n data: [22, 0, 0, 0, 0, 0, 0, 0],\r\n stack: 'EU',\r\n },\r\n {\r\n name: 'Biogas NL Cert #433',\r\n data: [15, 0, 0, 0, 0, 0, 0, 0],\r\n stack: 'NL',\r\n },\r\n {\r\n name: 'Biomassa FullFlex Cert #431',\r\n data: [0, 12, 0, 0, 0, 0, 0, 0],\r\n stack: 'FullFlex',\r\n },\r\n {\r\n name: 'Biomassa EU Cert #431',\r\n data: [0, 16, 0, 0, 0, 0, 0, 0],\r\n stack: 'EU',\r\n },\r\n {\r\n name: 'Biomassa NL Cert #431',\r\n data: [0, 17, 0, 0, 0, 0, 0, 0],\r\n stack: 'NL',\r\n },\r\n {\r\n name: 'Wind FullFlex Cert #431',\r\n data: [0, 0, 34, 0, 0, 0, 0, 0],\r\n stack: 'FullFlex',\r\n },\r\n {\r\n name: 'Wind EU Cert #431',\r\n data: [0, 0, 39, 0, 0, 0, 0, 0],\r\n stack: 'EU',\r\n },\r\n {\r\n name: 'Wind NL Cert #431',\r\n data: [0, 0, 63, 0, 0, 0, 0, 0],\r\n stack: 'NL',\r\n },\r\n {\r\n name: 'Zon FullFlex Cert #431',\r\n data: [0, 0, 0, 10, 0, 0, 0, 0],\r\n stack: 'FullFlex',\r\n },\r\n {\r\n name: 'Zon EU Cert #431',\r\n data: [0, 0, 0, 6, 0, 0, 0, 0],\r\n stack: 'EU',\r\n },\r\n {\r\n name: 'Zon NL Cert #431',\r\n data: [0, 0, 0, 3, 0, 0, 0, 0],\r\n stack: 'NL',\r\n },\r\n {\r\n name: 'Gas FullFlex Cert #431',\r\n data: [0, 0, 0, 0, 76, 0, 0, 0],\r\n stack: 'FullFlex',\r\n },\r\n {\r\n name: 'Gas EU Cert #431',\r\n data: [0, 0, 0, 0, 57, 0, 0, 0],\r\n stack: 'EU',\r\n },\r\n {\r\n name: 'Gas NL Cert #431',\r\n data: [0, 0, 0, 0, 91, 0, 0, 0],\r\n stack: 'NL',\r\n },\r\n {\r\n name: 'Kolen FullFlex Cert #431',\r\n data: [0, 0, 0, 0, 0, 43, 0, 0],\r\n stack: 'FullFlex',\r\n },\r\n {\r\n name: 'Kolen EU Cert #431',\r\n data: [0, 0, 0, 0, 0, 32, 0, 0],\r\n stack: 'EU',\r\n },\r\n {\r\n name: 'Kolen NL Cert #431',\r\n data: [0, 0, 0, 0, 0, 21, 0, 0],\r\n stack: 'NL',\r\n },\r\n {\r\n name: 'Bruinkool FullFlex Cert #431',\r\n data: [0, 0, 0, 0, 0, 0, 46, 0],\r\n stack: 'FullFlex',\r\n },\r\n {\r\n name: 'Bruinkool EU Cert #431',\r\n data: [0, 0, 0, 0, 0, 0, 65, 0],\r\n stack: 'EU',\r\n },\r\n {\r\n name: 'Bruinkool NL Cert #431',\r\n data: [0, 0, 0, 0, 0, 0, 53, 0],\r\n stack: 'NL',\r\n },\r\n {\r\n name: 'Laatste grijs',\r\n data: [0, 0, 0, 0, 0, 0, 0, 12],\r\n stack: 'FullFlex',\r\n },\r\n {\r\n name: 'Laatste grijs',\r\n data: [0, 0, 0, 0, 0, 0, 0, 20],\r\n stack: 'EU',\r\n },\r\n {\r\n name: 'Laatste grijs',\r\n data: [0, 0, 0, 0, 0, 0, 0, 26],\r\n stack: 'NL',\r\n },\r\n];\r\n\r\n@Component({\r\n selector: 'graph-component',\r\n templateUrl: './GraphComponent.html',\r\n styleUrls: ['./GraphComponent.scss'],\r\n})\r\nexport class GraphComponent implements OnInit {\r\n ngOnInit() {\r\n Charts.chart('container', {\r\n chart: {\r\n type: 'column',\r\n },\r\n title: {\r\n text: 'Certificaten',\r\n },\r\n plotOptions: {\r\n column: {\r\n stacking: 'normal',\r\n // pointPadding: 10,\r\n borderRadius: 5,\r\n // groupPadding: 0,\r\n // shadow: false\r\n },\r\n },\r\n // tooltip: {\r\n // formatter: function () {\r\n // return '' + this.x + '
' +\r\n // this.series.name + ': ' + this.y + '
' +\r\n // 'Total: ' + this.point.stackTotal;\r\n // }\r\n // },\r\n xAxis: {\r\n categories: certificaten,\r\n },\r\n yAxis: {\r\n title: {\r\n text: 'Aantal Certificaten',\r\n },\r\n allowDecimals: false,\r\n min: 0,\r\n },\r\n series: mockAantalCertificaten,\r\n });\r\n }\r\n}\r\n\r\n//https://codepen.io/kevintcoughlin/pen/WrKLMe?editors=1111 eigen legenda\r\n","
\r\n
\r\n
\r\n \r\n\r\n
\r\n Filter op:
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-message-component',\r\n template: `\r\n
\r\n
\r\n
\r\n {{ config.icon }}\r\n     \r\n {{ message }}\r\n \r\n
\r\n
\r\n
\r\n `,\r\n})\r\nexport class InfoMessageComponent implements OnInit {\r\n @Input() message: string;\r\n @Input() type?: string; // default is info\r\n\r\n configs = [\r\n {\r\n name: 'info',\r\n alert: 'alert-primary',\r\n icon: 'info',\r\n },\r\n {\r\n name: 'succes',\r\n alert: 'alert-success',\r\n icon: 'check',\r\n },\r\n {\r\n name: 'warning',\r\n alert: 'alert-warning',\r\n icon: 'error',\r\n },\r\n {\r\n name: 'danger',\r\n alert: 'alert-danger',\r\n icon: 'report',\r\n },\r\n ];\r\n\r\n icon = 'info';\r\n\r\n config = {\r\n name: 'info',\r\n alert: 'alert-primary',\r\n icon: 'info',\r\n };\r\n\r\n ngOnInit(): void {\r\n const match = this.configs.filter((type) => type.name === this.type);\r\n this.config = match.length > 0 ? match[0] : this.config;\r\n }\r\n}\r\n\r\nexport enum FeedbackType {\r\n info = 'info',\r\n succes = 'succes',\r\n warning = 'warning',\r\n danger = 'danger',\r\n}\r\n\r\nexport interface IInfoMessage {\r\n type: FeedbackType;\r\n message: string;\r\n}\r\n","import { Connection, Issue, Lock, Process } from 'src/app/Connection';\r\nimport { LockService } from 'src/app/services/lock.service';\r\nimport { ProgressService } from 'src/app/services/progress.service';\r\n\r\nimport { Component, HostListener, Input } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'issue-component',\r\n templateUrl: './IssueComponent.html',\r\n styleUrls: ['./IssueComponent.scss'],\r\n})\r\nexport class IssueComponent {\r\n lock: Lock;\r\n interval: any;\r\n windowScrolled: boolean;\r\n progresses: any;\r\n\r\n @Input() issue: Issue;\r\n @Input() connection: Connection;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private lockService: LockService,\r\n private progressService: ProgressService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getLock();\r\n this.interval = setInterval(() => this.getLock(), 5000);\r\n this.progressService.getAll([Process.ConsolidationCorrection], [this.connection.Id]).then((res) => {\r\n console.log('res');\r\n console.log(res);\r\n this.progresses = res;\r\n });\r\n }\r\n ngOnDestroy() {\r\n if (this.interval) {\r\n clearInterval(this.interval);\r\n }\r\n }\r\n\r\n contextKeys(context) {\r\n if (context != null) return Object.keys(context);\r\n return [];\r\n }\r\n\r\n parseContext() {\r\n return JSON.parse(this.issue['Context']);\r\n }\r\n\r\n // Navigatie by URL en kan langs tabbladen heen.\r\n goTo(uri: string) {\r\n console.log(uri);\r\n // Tabdetection\r\n let tabnumber: string;\r\n switch (uri) {\r\n case 'info':\r\n tabnumber = '0';\r\n break;\r\n case 'meterstanden':\r\n tabnumber = '1';\r\n break;\r\n case 'correctie':\r\n tabnumber = '2';\r\n break;\r\n case 'allocatie':\r\n tabnumber = '3';\r\n break;\r\n case 'facturen':\r\n tabnumber = '4';\r\n break;\r\n }\r\n // if a tab is found, do a tap URI change, else goto the URI in the link.\r\n if (tabnumber != null) {\r\n // console.log(location.pathname + 'tabnumber: ' + tabnumber);\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(location.pathname + '?tab=' + tabnumber));\r\n } else {\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(uri));\r\n }\r\n }\r\n\r\n getLock() {\r\n // if(this.issue){\r\n // this.lockService.takeLock(\"issueLock:\" + this.issue.Id)\r\n // .then(() => this.lockService.getLock(\"issueLock:\" + this.issue.Id))\r\n // .catch(error => this.lock = null)\r\n // .then(() => this.lockService.getLock(\"issueLock:\" + this.issue.Id))\r\n // .then(lock => this.lock = lock)\r\n // .catch(error => this.lock = null);\r\n // }\r\n }\r\n\r\n @HostListener('window:scroll', [])\r\n onWindowScroll() {\r\n if (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop > 100) {\r\n this.windowScrolled = true;\r\n } else if ((this.windowScrolled && window.pageYOffset) || document.documentElement.scrollTop || document.body.scrollTop < 10) {\r\n this.windowScrolled = false;\r\n }\r\n }\r\n scrollToTop() {\r\n (function smoothscroll() {\r\n var currentScroll = document.documentElement.scrollTop || document.body.scrollTop;\r\n if (currentScroll > 0) {\r\n window.requestAnimationFrame(smoothscroll);\r\n window.scrollTo(0, currentScroll - currentScroll / 8);\r\n }\r\n })();\r\n }\r\n}\r\n","
\r\n Gelocked door: {{lock.Name}}\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n Huidige voortgang\r\n \r\n \r\n \r\n \r\n \r\n
{{p.Process}}{{p.ProgressedUntil}}
\r\n
\r\n
\r\n \r\n
\r\n Context\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Context Tijd
{{k}}(Consumption)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Van Tot
{{gap.From}} {{gap.Until}}
\r\n
{{k}}(Production)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Van Tot
{{gap.From}} {{gap.Until}}
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'loading-component',\r\n templateUrl: './LoadingComponent.html',\r\n styleUrls: ['./LoadingComponent.scss'],\r\n})\r\nexport class LoadingComponent {}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Chart } from 'angular-highcharts';\r\nimport { SeriesLineOptions, setOptions } from 'highcharts';\r\nimport moment, { Moment } from 'moment';\r\nimport { BoundaryType, Connection, ConsumptionByTariff, DateRange, Measurement, MeasurementSource, Tariff, Timestamp } from 'src/app/Connection';\r\nimport { asList, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\n\r\nimport { Component, Input, SimpleChanges } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'measurements-graph-component',\r\n templateUrl: './MeasurementsGraphComponent.html',\r\n styleUrls: ['./MeasurementsGraphComponent.scss'],\r\n})\r\nexport class MeasurementsGraphComponent {\r\n @Input() connection: Connection;\r\n @Input() from: Moment;\r\n @Input() until: Moment;\r\n\r\n // input received from measurementsTabComponent\r\n @Input() measurementdata: any[];\r\n\r\n currentFromId: number;\r\n rowClicked = false;\r\n chart: Chart;\r\n // initialy showing daily measurements in measurementsGraph\r\n measurementSource: MeasurementSource = MeasurementSource.Telemeter;\r\n consumptions: ConsumptionByTariff[] = [];\r\n\r\n measurementsOfDate: any[] = []; // all getAll timestamped measurements of a date\r\n\r\n measurementsByDate: any;\r\n measurementsByGridOperator: any;\r\n allMeasurementsArray: any[]; // concat of byDate and byGridOperator\r\n\r\n doneLoading: boolean = true;\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private measurementService: MeasurementService, private errorService: ErrorService) { }\r\n\r\n groupData(measurement: Measurement) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.from) {\r\n this.from = changes.from.currentValue;\r\n }\r\n if (changes.until) {\r\n this.until = changes.until.currentValue;\r\n } else if ((changes.from && !changes.from.firstChange) || (changes.until && !changes.until.firstChange)) {\r\n // this.ngOnInit();\r\n this.getAPIdata();\r\n }\r\n }\r\n\r\n // distinct(data: number[][]) {\r\n\r\n // var flags = {};\r\n // return data.filter(function (entry) {\r\n // if (flags[entry[0]]) {\r\n // return false;\r\n // }\r\n // flags[entry[0]] = true;\r\n // return true;\r\n // });\r\n // }\r\n\r\n // https://github.com/highcharts/highcharts/issues/9867\r\n // (Highcharts as any).chart('hourCalls', { chart: { type: \"column\" }, series: [ { name: \"Calls\", data: this.hourCalls, type: undefined } ] });\r\n\r\n // Aanpassingen: Weten welke standen gevraagd worden (gridoperator (dom), slim dag, evt. slim kwartier)\r\n createAnotherChart(allMeasurementsArray: Measurement[][]) {\r\n // console.log(allMeasurementsArray);\r\n\r\n if (allMeasurementsArray.length == 0) {\r\n this.chart = new Chart({\r\n title: {\r\n text: '',\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n series: [] as SeriesLineOptions[],\r\n });\r\n this.doneLoading = true;\r\n // document.getElementById(\"container\").innerHTML = \"

Geen metingen beschikbaar voor deze periode

\" ; moet hierbuiten\r\n return;\r\n }\r\n\r\n setOptions({\r\n time: {\r\n useUTC: false,\r\n },\r\n });\r\n\r\n let measProductionLow: any[] = [];\r\n let measConsumptionLow: any[] = [];\r\n let measProductionNormal: any[] = [];\r\n let measConsumptionNormal: any[] = [];\r\n let measProductionSum: any[] = [];\r\n let measConsumptionSum: any[] = [];\r\n let unavailabe: any = { Consumption: 0, Production: 0 };\r\n allMeasurementsArray.forEach((measurements) => {\r\n let typedMeasurements = measurements as Measurement[];\r\n let timestamp =\r\n typedMeasurements[0].Id.Timestamp != undefined ? typedMeasurements[0].Id.Timestamp.valueOf() : typedMeasurements[0].Id.Date.valueOf();\r\n\r\n // If element contains a tariff null, then... give firstNullMeasurement that element. Else return\r\n let firstMeasurementWithoutTariffOrNull: Measurement = typedMeasurements.find((m) => m.Id.Tariff == null);\r\n let consumption =\r\n firstMeasurementWithoutTariffOrNull == null\r\n ? null\r\n : firstMeasurementWithoutTariffOrNull.Prosumption == null\r\n ? null\r\n : firstMeasurementWithoutTariffOrNull.Prosumption.Consumption;\r\n let production =\r\n firstMeasurementWithoutTariffOrNull == null\r\n ? null\r\n : firstMeasurementWithoutTariffOrNull.Prosumption == null\r\n ? null\r\n : firstMeasurementWithoutTariffOrNull.Prosumption.Production;\r\n let firstLowMeasurementOrNull: Measurement = typedMeasurements.find((m) => m.Id.Tariff == Tariff.low);\r\n // console.log(firstLowMeasurementOrNull);\r\n let lowConsumption =\r\n firstLowMeasurementOrNull == null\r\n ? null\r\n : firstLowMeasurementOrNull.Prosumption == null\r\n ? null\r\n : firstLowMeasurementOrNull.Prosumption.Consumption;\r\n let lowProduction =\r\n firstLowMeasurementOrNull == null\r\n ? null\r\n : firstLowMeasurementOrNull.Prosumption == null\r\n ? null\r\n : firstLowMeasurementOrNull.Prosumption.Production;\r\n let firstNormalMeasurementOrNull: Measurement = typedMeasurements.find((m) => m.Id.Tariff == Tariff.normal);\r\n let normalConsumption =\r\n firstNormalMeasurementOrNull == null\r\n ? null\r\n : firstNormalMeasurementOrNull.Prosumption == null\r\n ? null\r\n : firstNormalMeasurementOrNull.Prosumption.Consumption;\r\n let normalProduction =\r\n firstNormalMeasurementOrNull == null\r\n ? null\r\n : firstNormalMeasurementOrNull.Prosumption == null\r\n ? null\r\n : firstNormalMeasurementOrNull.Prosumption.Production;\r\n measConsumptionSum.push([timestamp, consumption]);\r\n measProductionSum.push([timestamp, production]);\r\n measConsumptionLow.push([timestamp, lowConsumption]);\r\n measProductionLow.push([timestamp, lowProduction]);\r\n measConsumptionNormal.push([timestamp, normalConsumption]);\r\n measProductionNormal.push([timestamp, normalProduction]);\r\n\r\n // typedMeasurements.forEach( (e) => {\r\n // if (e.Tariff == Tariff.Low) {\r\n // e = element.find(m => m.Tariff == 'low' );\r\n // let prolow = e.Prosumption != undefined ? e.Prosumption.Production : e.unavailable.Production ;\r\n // let conlow = e.Prosumption != undefined ? e.Prosumption.Consumption : e.unavailable.Consumption ;\r\n // let ts = e.Timestamp != undefined ? e.Timestamp.valueOf() : e.Date.valueOf();\r\n // measProductionLow.push([ts,prolow]);\r\n // measConsumptionLow.push([ts,conlow]);\r\n // }\r\n // if (e.Tariff == Tariff.Normal) {\r\n // e = element.find(m => m.Tariff == 'normal' );\r\n // let pronormal = e.Prosumption != undefined ? e.Prosumption.Production : e.unavailable.Production ;\r\n // let connormal = e.Prosumption != undefined ? e.Prosumption.Consumption : e.unavailable.Consumption ;\r\n // let ts = e.Timestamp != undefined ? e.Timestamp.valueOf() : e.Date.valueOf();\r\n // measProductionNormal.push([ts,pronormal]);\r\n // measConsumptionNormal.push([ts,connormal]);\r\n // }\r\n\r\n // })\r\n\r\n // // Maar 1 element pakken\r\n // if (firstNullMeasurement != null ) { //\r\n // // let e;\r\n // // e = element.find(m => m.Tariff == null );\r\n // // console.log(\"Log e\");\r\n // // console.log(firstNullMeasurement);\r\n // let prosum = firstNullMeasurement.Prosumption != undefined ? firstNullMeasurement.Prosumption.Production : firstNullMeasurement.unavailable.Production ;\r\n // let consum = firstNullMeasurement.Prosumption != undefined ? firstNullMeasurement.Prosumption.Consumption : firstNullMeasurement.unavailable.Consumption ;\r\n // let ts = firstNullMeasurement.Timestamp != undefined ? firstNullMeasurement.Timestamp.valueOf() : firstNullMeasurement.Date.valueOf();\r\n // measProductionSum.push([ts,prosum]);\r\n // measConsumptionSum.push([ts,consum]);\r\n // } else {\r\n // console.log(\"Geen Tariff null\");\r\n // console.log(element);\r\n // }\r\n });\r\n\r\n // console.log('measProductionLow');\r\n // console.log(measProductionLow);\r\n // console.log('measConsumptionLow');\r\n // console.log(measConsumptionLow);\r\n // console.log('measProductionNormal');\r\n // console.log(measProductionNormal);\r\n // console.log('measConsumptionNormal');\r\n // console.log(measConsumptionNormal);\r\n // console.log('measProductionSum');\r\n // console.log(measProductionSum);\r\n // console.log(\"measConsumptionSum\");\r\n // console.log(measConsumptionSum);\r\n\r\n this.chart = new Chart({\r\n xAxis: [\r\n {\r\n type: 'datetime',\r\n // tickInterval: 2\r\n },\r\n ],\r\n yAxis: {\r\n title: {\r\n text: 'Meterstand (in Wh)',\r\n },\r\n },\r\n plotOptions: {\r\n series: {\r\n // stacking: 'normal' << nee, hij moet niet stacken, anders zigzag\r\n },\r\n },\r\n title: {\r\n text: '',\r\n },\r\n chart: {\r\n type: 'line',\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n\r\n series: [\r\n {\r\n name: 'Consumption (normal tariff)',\r\n stack: 'Normal',\r\n data: measConsumptionNormal,\r\n },\r\n {\r\n name: 'Production (normal tariff)',\r\n stack: 'Normal',\r\n data: measProductionNormal,\r\n },\r\n {\r\n name: 'Consumption (low tariff)',\r\n stack: 'Low',\r\n data: measConsumptionLow,\r\n },\r\n {\r\n name: 'Production (low tariff)',\r\n stack: 'Low',\r\n data: measProductionLow,\r\n },\r\n {\r\n name: 'Consumption (Combined)',\r\n stack: 'Sum',\r\n data: measConsumptionSum,\r\n },\r\n {\r\n name: 'Production (Combined)',\r\n stack: 'Sum',\r\n data: measProductionSum,\r\n },\r\n ] as SeriesLineOptions[],\r\n });\r\n this.doneLoading = true;\r\n }\r\n\r\n setMeasurementSource(measurementSourceString: string) {\r\n this.measurementSource = MeasurementSource[measurementSourceString];\r\n this.getAPIdata();\r\n }\r\n\r\n getAPIdata() {\r\n this.doneLoading = false;\r\n if (this.measurementSource == MeasurementSource.GridOperator) {\r\n this.measurementService\r\n .getAllForDate(this.connection.Id, new DateRange(new Timestamp(this.from), BoundaryType.Closed, new Timestamp(this.until), BoundaryType.Open))\r\n .then((measurements) => groupBy(measurements, (measurements: Measurement) => '' + measurements.Id.Date))\r\n .then((measurements) => asList(measurements))\r\n .then((measurements) => this.createAnotherChart(measurements));\r\n } else if (this.measurementSource == MeasurementSource.Telemeter) {\r\n this.measurementService\r\n .getAllForTimestamp(\r\n this.connection.Id,\r\n new DateRange(new Timestamp(this.from), BoundaryType.Closed, new Timestamp(this.until), BoundaryType.Open),\r\n )\r\n .then((measurements) =>\r\n measurements.filter((measurement) => measurement.Id.Timestamp.moment.hour() === 0 && measurement.Id.Timestamp.moment.minute() === 0),\r\n )\r\n .then((measurements) => groupBy(measurements, (measurements: Measurement) => '' + measurements.Id.Date))\r\n .then((measurements) => asList(measurements))\r\n .then((measurements) => this.createAnotherChart(measurements));\r\n } else {\r\n console.log(this.measurementSource + ' is not a valid Measurement type for this graph');\r\n this.doneLoading = true;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n // haal dagstanden op\r\n this.getAPIdata();\r\n\r\n // if (false) {\r\n // this.measurementService.getAllForTimestamp(this.connection.Id, new DateRange(this.from, BoundaryType.Closed, this.until, BoundaryType.Open))\r\n // .then(measurements => this.createChart(measurements));\r\n // }\r\n\r\n // console.log(\"OnInit measurementsGraph\");\r\n // this.getData();\r\n }\r\n\r\n ngOnDestroy() { }\r\n\r\n getData() {\r\n // Haal domme meterstanden op\r\n this.measurementService\r\n .getAllForDate(this.connection.Id, new DateRange(new Timestamp(this.from), BoundaryType.Closed, new Timestamp(this.until), BoundaryType.Open))\r\n .then((measurements) => groupBy(measurements, (measurements: Measurement) => '' + measurements.Id.Date))\r\n .then((measurements) => asList(measurements))\r\n .then((result) => {\r\n let newResult = result.map(\r\n (measList) => this.mapFunction(measList), // Hier wordt measlist beschikbaar in een functie, met een Object als return. Via functies de variabelen toevoegen.\r\n );\r\n return newResult;\r\n })\r\n .then((result) => (this.measurementsByGridOperator = result));\r\n\r\n // Haal kwartier meterstanden op en transformeer die naar dagstanden.\r\n this.measurementService\r\n .getAllForTimestamp(\r\n this.connection.Id,\r\n new DateRange(new Timestamp(this.from), BoundaryType.Closed, new Timestamp(this.until), BoundaryType.Open),\r\n )\r\n .then((measurements) =>\r\n measurements.filter((measurement) => measurement.Id.Timestamp.moment.hour() === 0 && measurement.Id.Timestamp.moment.minute() === 0),\r\n )\r\n .then((measurements) => groupBy(measurements, (measurements: Measurement) => '' + measurements.Id.Date))\r\n .then((measurements) => asList(measurements))\r\n .then((result) => {\r\n let newResult = result.map(\r\n (measList) => this.mapFunction(measList), // Hier wordt measlist beschikbaar in een functie, met een Object als return. Via functies de variabelen toevoegen.\r\n );\r\n return newResult;\r\n })\r\n .then((measurements) => (this.measurementsByDate = measurements))\r\n .then((measurements) => (this.allMeasurementsArray = measurements.concat(this.measurementsByGridOperator)))\r\n .then((result) => {\r\n // console.log(\"All measurements\");\r\n // console.log(this.measurementsByDate);\r\n // console.log(this.measurementsByGridOperator);\r\n // console.log(this.allMeasurementsArray);\r\n return result;\r\n })\r\n .then((allMeasurementsArray) => this.createAnotherChart(asList(allMeasurementsArray)));\r\n }\r\n\r\n mapFunction(measList) {\r\n // A way to create a function in the map.\r\n // een inverse van de array waarbij de eerste gevonden wordt. moet nog getest worden.\r\n\r\n // The Sum can be the corrected value, thus we want the last MODIFIED. To do.\r\n // We want the lastmodified also to provide the rest of the data\r\n\r\n let reverseMeaslist = measList.reverse(); // reverse() transforms the original array.... therefor perform only once!\r\n\r\n let prosumptionLow = reverseMeaslist.find((m) => m.Tariff == 'low');\r\n let prosumptionNormal = reverseMeaslist.find((m) => m.Tariff == 'normal');\r\n let prosumptionSum = reverseMeaslist.find((m) => m.Tariff == null);\r\n let timeStamp = reverseMeaslist[0].Timestamp;\r\n let MeasurementSource = measList[0].MeasurementSource; // Controleer deze, hij pakt zonder reverse elke Measurement source en dus de laatste is de laatste overschreven waarde.\r\n let corrected = measList.some((element) => element.MeasurementSource == 'dataCorrector');\r\n let modifiedTimestamp = reverseMeaslist[0].ModifiedTimestamp;\r\n let LastOfTimestamp = false;\r\n\r\n // Return the Prosumption or return n/a if ProsumptionXXX is undefined.\r\n if (Object.is(prosumptionLow, undefined)) {\r\n prosumptionLow = { Consumption: '', Production: '' };\r\n } else {\r\n prosumptionLow = prosumptionLow.Prosumption;\r\n }\r\n\r\n if (Object.is(prosumptionNormal, undefined)) {\r\n prosumptionNormal = { Consumption: '', Production: '' };\r\n } else {\r\n prosumptionNormal = prosumptionNormal.Prosumption;\r\n }\r\n\r\n if (Object.is(prosumptionSum, undefined)) {\r\n prosumptionSum = { Consumption: '', Production: '' };\r\n } else {\r\n prosumptionSum = prosumptionSum.Prosumption;\r\n }\r\n\r\n // Return a n/a or blank if no timestamp or modifiedTimestamp is found\r\n if (Object.is(timeStamp, null)) {\r\n timeStamp = { moment: '' };\r\n }\r\n if (Object.is(modifiedTimestamp, undefined)) {\r\n modifiedTimestamp = { moment: '' };\r\n }\r\n\r\n return {\r\n ProductType: measList[0].ProductType,\r\n Date: measList[0].Date,\r\n MeterId: measList[0].MeterId,\r\n Timestamp: timeStamp,\r\n ProsumptionSum: prosumptionSum,\r\n ProsumptionLow: prosumptionLow,\r\n ProsumptionNormal: prosumptionNormal,\r\n hasBeenCorrected: corrected,\r\n MeasurementSource: MeasurementSource,\r\n SubmittedToGridOperator: measList[0].SubmittedToGridOperator,\r\n Delete: false,\r\n ModifiedTimestamp: modifiedTimestamp,\r\n LastOfTimestamp: LastOfTimestamp,\r\n showMeasurementsOfDate: false,\r\n };\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n","import moment from 'moment';\r\nimport {\r\n BoundaryType,\r\n ByTariff,\r\n Connection,\r\n ConsumptionWithMeasurementsInterval,\r\n DateRange,\r\n Interval,\r\n Measurement,\r\n MeasurementsGroupedByTariff,\r\n MeasurementSource,\r\n MeasurementSourceDetail,\r\n ProductType,\r\n Tariff,\r\n} from 'src/app/Connection';\r\nimport { last } from 'src/app/helpers/ArrayHelper';\r\nimport { compareDescendingByModifiedTimestamp, inferDeletedFromMeasurements } from 'src/app/helpers/MeasurementHelper';\r\nimport { makeMeasurementListViewModel } from 'src/app/helpers/ViewModelHelper';\r\nimport { ConsumptionPeriodService } from 'src/app/services/consumption-period.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { MeasurementService } from 'src/app/services/measurement.service';\r\n\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'measurements-table-component',\r\n templateUrl: './MeasurementsTableComponent.html',\r\n styleUrls: ['./MeasurementsTableComponent.scss'],\r\n})\r\nexport class MeasurementsTableComponent implements OnInit, OnChanges {\r\n @Input() connection: Connection;\r\n @Input() consumptionMeasurements: ConsumptionWithMeasurementsInterval[];\r\n @Input() productTypeToRender: ProductType;\r\n @Input() quarterHourMeasurements?: any;\r\n @Input() displaychoice: string;\r\n @Input() allowDelete = false;\r\n @Input() filterTelemeter = false;\r\n @Input() measurementSourceDetails: MeasurementSourceDetail[]\r\n\r\n @Output() getAllQuarterHoursOfId: EventEmitter = new EventEmitter();\r\n\r\n showMeasurements = true;\r\n showConsumptions = false;\r\n showMeterId = true;\r\n\r\n historyOfTimestamp: any;\r\n\r\n showMoreList: any[] = [];\r\n last: any = last;\r\n\r\n // Delete bools\r\n showSelected = false;\r\n\r\n selectAllNone = false;\r\n selectAllNormal = false;\r\n selectAllLow = false;\r\n\r\n isLoading = false;\r\n isDeleteSuccessMessageVisible = false;\r\n\r\n meterChangeDetected = false;\r\n\r\n viewHistoryList: any = [];\r\n\r\n constructor(\r\n public consumptionPeriodService: ConsumptionPeriodService,\r\n public measurementService: MeasurementService,\r\n public errorService: ErrorService,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n // set prefilter variable\r\n if (this.displaychoice === 'Measurements') {\r\n this.showMeterId = true;\r\n this.showConsumptions = false;\r\n } else if (this.displaychoice === 'Consumptions') {\r\n this.showConsumptions = true;\r\n this.showMeasurements = false;\r\n }\r\n await this.measurementService.deleteIntervalSubject.subscribe((interval) => this.onDeleteSelection(interval));\r\n this.mapMeasurementSourceDetailsOnMeasurements();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.consumptionMeasurements) {\r\n this.showMoreList = [];\r\n this.viewHistoryList = [];\r\n if (this.measurementSourceDetails) {\r\n this.mapMeasurementSourceDetailsOnMeasurements();\r\n }\r\n }\r\n }\r\n\r\n select(key: string, select: boolean) {\r\n this.consumptionMeasurements.forEach((cm) => {\r\n const measurements = cm.measurementsByTariff[key] as Measurement[];\r\n this.selectMeasurements(measurements, select);\r\n });\r\n }\r\n\r\n selectAllTelemeter(select: boolean) {\r\n const allTelemeterMeasurementsForDeletion = this.getAllTelemeter();\r\n this.selectMeasurements(allTelemeterMeasurementsForDeletion, select);\r\n }\r\n\r\n selectMeasurements(measurements: Measurement[], select: boolean) {\r\n measurements.forEach((m) => (m.Id['delete'] = select));\r\n }\r\n\r\n getAllTelemeter() {\r\n return this.consumptionMeasurements.map((cm) => this.getCurrentMeasurementsForDeletion(cm.measurementsByTariff)).reduce((a, b) => a.concat(b));\r\n }\r\n\r\n isAllTelemeterSelected() {\r\n return this.getAllTelemeter().filter((m) => !m.Id['delete']).length === 0;\r\n }\r\n\r\n async deleteMeasurements() {\r\n this.isLoading = true;\r\n\r\n let measurements = [];\r\n this.consumptionMeasurements.forEach((cm) => {\r\n measurements = measurements.concat(cm.measurementsByTariff.None);\r\n measurements = measurements.concat(cm.measurementsByTariff.Normal);\r\n measurements = measurements.concat(cm.measurementsByTariff.Low);\r\n });\r\n\r\n let measurementsToDelete = measurements.filter((m) => m.Id['delete']).map((m) => m.Id);\r\n\r\n if (this.containsEventMeasurements(measurementsToDelete)) {\r\n // Do Extra check for gridOperator values and popup, since select all really selects all, but exclusion is possible. Or we return after CANCEL is pressed, but hey... this is cooler.\r\n const confirmation = confirm(\r\n 'Let op: Bij de geselecteerde standen voor verwijderen zitten eventstanden(Netbeheerder / Klantstanden / Leverancier), met OK verwijder je alle standen inclusief eventstanden, met Annuleren verwijder je enkel de Kwartierstanden',\r\n );\r\n if (!confirmation) {\r\n measurementsToDelete = this.removeEventMeasurementsFromDeleteList(measurementsToDelete); // set the new measToDelete without the excluded measurements\r\n }\r\n }\r\n // We are deleting the remaining measurement Ids.\r\n const deleteResult = await this.measurementService\r\n .DeleteMeasurements(measurementsToDelete)\r\n .catch((error) => this.errorService.addError('Kon de meterstand niet verwijderen. ' + error.error.message));\r\n\r\n this.checkDeleteResult(deleteResult, measurementsToDelete.length);\r\n\r\n this.isLoading = false;\r\n this.showMoreList = [];\r\n\r\n // Refresh the page.\r\n this.consumptionPeriodService.SetInterval(this.consumptionPeriodService.GetInterval());\r\n setTimeout(() => (this.isDeleteSuccessMessageVisible = false), 3000);\r\n }\r\n\r\n checkDeleteResult(result, total) {\r\n if (result == null || undefined) {\r\n return;\r\n }\r\n // check the result object for success.\r\n // Since we get a 201 created and a return object if de api call succeeded, yet it returns No measurements found + measurementIds if not found and thus not deleted.\r\n for (const [key, value] of Object.entries(result)) {\r\n const measurementIds: any = value;\r\n\r\n // to do when I can delete again:\r\n // deleted Legacy + length\r\n // deleted Core + length\r\n if (key === 'No Measurement found' && measurementIds.length > 0) {\r\n return this.errorService.addError('Kon ' + measurementIds.length + ' metingen van ' + total + ' geselecteerde metingen niet verwijderen.');\r\n } else {\r\n console.log(total + ' Metingen verwijderd');\r\n this.isDeleteSuccessMessageVisible = true;\r\n }\r\n }\r\n }\r\n\r\n containsEventMeasurements(measurementIds) {\r\n const eventMeasurementIds = measurementIds.filter(\r\n (id) =>\r\n id.MeasurementSource === MeasurementSource.GridOperator ||\r\n id.MeasurementSource === MeasurementSource.Customer ||\r\n id.MeasurementSource === MeasurementSource.Supplier,\r\n );\r\n return eventMeasurementIds.length > 0; // returns true if there is one or more measurementId.\r\n }\r\n\r\n removeEventMeasurementsFromDeleteList(measurementIds) {\r\n const eventMeasurementIds = measurementIds.filter(\r\n (id) =>\r\n id.MeasurementSource === MeasurementSource.GridOperator ||\r\n id.MeasurementSource === MeasurementSource.Customer ||\r\n id.MeasurementSource === MeasurementSource.Supplier,\r\n );\r\n const result = measurementIds.filter((f) => !eventMeasurementIds.includes(f));\r\n return result;\r\n }\r\n\r\n onDeleteSelection(interval: Interval) {\r\n if (this.allowDelete) {\r\n let measurements: Measurement[] = [];\r\n\r\n if (this.filterTelemeter) {\r\n measurements = this.getAllTelemeter();\r\n } else {\r\n this.consumptionMeasurements.forEach((cm) => {\r\n measurements = measurements.concat(cm.measurementsByTariff.None);\r\n measurements = measurements.concat(cm.measurementsByTariff.Normal);\r\n measurements = measurements.concat(cm.measurementsByTariff.Low);\r\n });\r\n }\r\n\r\n measurements.forEach(\r\n (m) => (m.Id['delete'] = (m.Id.Timestamp != null ? m.Id.Timestamp.moment : m.Id.Date.moment()).isBetween(interval.From, interval.Until)),\r\n );\r\n }\r\n }\r\n\r\n setViewHistoryOfThisMeasurement(i: number) {\r\n const index = this.viewHistoryList.indexOf(i);\r\n if (!this.viewHistoryList.includes(index)) {\r\n this.viewHistoryList.push(index);\r\n } else {\r\n this.viewHistoryList.splice(index);\r\n }\r\n }\r\n checkViewHistoryOfThisMeasurement(i: number) {\r\n return this.viewHistoryList.includes(i);\r\n }\r\n\r\n async getHistory(consumptionMeasurement: ConsumptionWithMeasurementsInterval) {\r\n const anyMeasurement = consumptionMeasurement.measurementsByTariff.any();\r\n if (!anyMeasurement) {\r\n this.errorService.addError('Kan historie niet opvragen, want referentiemeting is onbekend.');\r\n return;\r\n }\r\n\r\n const measurementHistory =\r\n consumptionMeasurement.measurementsByTariff.any().Id.Timestamp == null\r\n ? await this.getMeasurementHistoryByDate(anyMeasurement)\r\n : await this.getMeasurementHistoryByTimestamp(anyMeasurement);\r\n\r\n // transform the prosumptions of historical timestamps\r\n makeMeasurementListViewModel(measurementHistory, this.connection);\r\n\r\n const historyWithInferredDeletions = inferDeletedFromMeasurements(measurementHistory);\r\n\r\n const filteredHistory = this.filterTelemeter\r\n ? historyWithInferredDeletions.filter((m) => m.Id.MeasurementSource === MeasurementSource.Telemeter)\r\n : historyWithInferredDeletions;\r\n\r\n // Sort by MeterId and then sort by Modified Timestamp.\r\n const sortedHistory = filteredHistory.sort((a, b) => compareDescendingByModifiedTimestamp(a, b));\r\n\r\n this.historyOfTimestamp = MeasurementsGroupedByTariff.readObject(sortedHistory);\r\n }\r\n\r\n getMeasurementHistoryByDate(\r\n reference: Measurement, //MeasurementHistorically\r\n ): Promise {\r\n // FIXME: type juggling\r\n let from;\r\n let until;\r\n const date = reference.Id.Date.LocalDate;\r\n from = date;\r\n until = moment(from).add(1, 'day').format('YYYY-MM-DD');\r\n\r\n return this.measurementService.getAllHistoricallyForDate(\r\n reference.Id.ConnectionId,\r\n new DateRange(from, BoundaryType.Closed, until, BoundaryType.Open),\r\n );\r\n }\r\n\r\n getMeasurementHistoryByTimestamp(\r\n reference: Measurement, //MeasurementHistorically\r\n ): Promise {\r\n // FIXME: type juggling\r\n let from;\r\n let until;\r\n const timestamp = reference.Id.Timestamp.moment;\r\n from = timestamp.format('YYYY-MM-DDTHH:mm');\r\n until = moment(from).add(15, 'minutes').format('YYYY-MM-DDTHH:mm');\r\n\r\n return this.measurementService.getAllHistoricallyTimestamped(\r\n reference.Id.ConnectionId,\r\n new DateRange(from, BoundaryType.Closed, until, BoundaryType.Open),\r\n );\r\n }\r\n\r\n setPeriod(consumptionMeasurement: ConsumptionWithMeasurementsInterval) {\r\n this.consumptionPeriodService.SetInterval(consumptionMeasurement.interval);\r\n }\r\n\r\n // For the frontend, returns true or false to render active or inactive item.\r\n showMoreCheck(i: number) {\r\n return this.showMoreList.includes(i);\r\n }\r\n showMore(i: number) {\r\n const index = this.showMoreList.indexOf(i);\r\n if (index > -1) {\r\n this.showMoreList.splice(index);\r\n } else {\r\n this.showMoreList = []; // clear list, since you dont want to open 2 days of measurements, or to be honest, I didnot implement a good way for this.\r\n this.showMoreList.push(i);\r\n }\r\n }\r\n\r\n getCurrentMeasurementForDisplay(measurements: Measurement[]): Measurement {\r\n if (measurements.length === 0) {\r\n return null;\r\n }\r\n\r\n if (!last(measurements).Id.Timestamp) {\r\n return last(measurements);\r\n }\r\n // If the telemeter filter is activated, only filter the measurements based on MeasurementSource Telemeter.\r\n const eligibleMeasurements = this.filterTelemeter ? measurements.filter((m) => m.Id.MeasurementSource === 'Telemeter') : measurements;\r\n\r\n return eligibleMeasurements.length === 0 || last(eligibleMeasurements).Deleted ? null : last(eligibleMeasurements);\r\n }\r\n\r\n getCurrentMeasurementsForDeletion(measurements: ByTariff): Measurement[] {\r\n if (!this.filterTelemeter) {\r\n return [];\r\n }\r\n\r\n const nonDeletedMeasurements = [...measurements.None]\r\n .concat(measurements.Normal)\r\n .concat(measurements.Low)\r\n .filter((m) => !m.Deleted);\r\n if (nonDeletedMeasurements.length === 0) {\r\n return [];\r\n }\r\n\r\n if (nonDeletedMeasurements.length === 1) {\r\n return [nonDeletedMeasurements[0]];\r\n }\r\n\r\n nonDeletedMeasurements.sort((a, b) => compareDescendingByModifiedTimestamp(a, b));\r\n const result: Measurement[] = [nonDeletedMeasurements[0]];\r\n\r\n const firstTariff = nonDeletedMeasurements[0].Id.Tariff;\r\n if (firstTariff) {\r\n const measurementsOfOtherTariff = nonDeletedMeasurements.filter(\r\n (m) => m.Id.Tariff === (firstTariff === Tariff.low ? Tariff.normal : Tariff.low),\r\n );\r\n\r\n if (measurementsOfOtherTariff.length > 0) {\r\n result.push(measurementsOfOtherTariff[0]);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n async mapMeasurementSourceDetailsOnMeasurements() {\r\n this.consumptionMeasurements.map((cwm) => {\r\n const measurementSourceDetailLow = this.measurementSourceDetails.find((msd) => this.compareId(msd.id, cwm.measurementsByTariff.Low[0]?.Id));\r\n const measurementSourceDetailNormal = this.measurementSourceDetails.find((msd) =>\r\n this.compareId(msd.id, cwm.measurementsByTariff.Normal[0]?.Id),\r\n );\r\n\r\n cwm.measurementsByTariff.Low[0] =\r\n cwm.measurementsByTariff.Low.length > 0\r\n ? {\r\n ...cwm.measurementsByTariff.Low[0],\r\n ...this.addMeasurentSourceDetailToTariff(cwm, Tariff.low),\r\n }\r\n : (cwm.measurementsByTariff.Low = []);\r\n cwm.measurementsByTariff.Normal[0] =\r\n cwm.measurementsByTariff.Normal.length > 0\r\n ? {\r\n ...cwm.measurementsByTariff.Normal[0],\r\n ...this.addMeasurentSourceDetailToTariff(cwm, Tariff.normal),\r\n }\r\n : (cwm.measurementsByTariff.Normal = []);\r\n cwm.measurementsByTariff.None[0] =\r\n cwm.measurementsByTariff.None.length > 0\r\n ? {\r\n ...cwm.measurementsByTariff.None[0],\r\n ...this.addMeasurentSourceDetailToTariff(cwm, 'None'),\r\n }\r\n : (cwm.measurementsByTariff.None = []);\r\n return cwm as any;\r\n });\r\n }\r\n\r\n addMeasurentSourceDetailToTariff(cwm, tariff) {\r\n const returnObject = {\r\n measurementSourceDetail: this.measurementSourceDetails.find((msd) => this.compareId(msd.id, cwm.measurementsByTariff[tariff][0]?.Id)),\r\n };\r\n return returnObject;\r\n }\r\n\r\n async compareId(sourcedetailId, byTariffId) {\r\n if (sourcedetailId === undefined || byTariffId === undefined) {\r\n return;\r\n }\r\n const cond1 = sourcedetailId.ConnectionId === byTariffId.ConnectionId;\r\n const cond2 = sourcedetailId.Date === byTariffId.Date.LocalDate;\r\n const cond3 = sourcedetailId.MeterId === byTariffId.MeterId;\r\n const cond4 = sourcedetailId.Tariff === byTariffId.Tariff;\r\n const cond5 = sourcedetailId.MeasurementSource === byTariffId.MeasurementSource;\r\n const cond6 = sourcedetailId.ModifiedTimestamp === byTariffId.ModifiedTimestamp;\r\n return cond1 && cond2 && cond3 && cond4 && cond5;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n   \r\n \r\n \r\n   \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Verbruik\r\n Meterstanden
\r\n Meter ID\r\n\r\n visibility_off\r\n \r\n visibility\r\n DatumTijd\r\n None\r\n
\r\n

Consumptie

\r\n

Productie

\r\n
\r\n
\r\n Normal\r\n
\r\n

Consumptie

\r\n

Productie

\r\n
\r\n
\r\n Low\r\n
\r\n

Consumptie

\r\n

Productie

\r\n
\r\n
\r\n Mutatiestaat\r\n
\r\n

Low

\r\n \r\n

Normal

\r\n

Low

\r\n
\r\n
\r\n
\r\n check_box_outline_blank\r\n check_box\r\n \r\n \r\n check_box_outline_blank\r\n \r\n check_box\r\n \r\n None\r\n
\r\n

Consumptie

\r\n

Productie

\r\n
\r\n
\r\n check_box_outline_blank\r\n check_box\r\n \r\n Normal\r\n
\r\n

Consumptie

\r\n

Productie

\r\n
\r\n
\r\n check_box_outline_blank\r\n check_box\r\n \r\n Low\r\n
\r\n

Consumptie

\r\n

Productie

\r\n
\r\n
EventHerkomstindicatieBron
\r\n \r\n {{normal.Id.MeterId}}\r\n \r\n \r\n \r\n \r\n \r\n

\r\n {{consumptionMeasurement.interval.From | date: 'y-MM-dd'}}\r\n

\r\n

\r\n {{consumptionMeasurement.measurementsByTariff.any()?.Id?.Date?.LocalDate}}\r\n

\r\n

\r\n {{consumptionMeasurement.interval.From | date: 'y-MM-dd'}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n {{consumptionMeasurement.consumptionByTariff.any()?.Id?.From | date:\r\n 'H:mm'}}\r\n \r\n \r\n -\r\n \r\n \r\n {{consumptionMeasurement.measurementsByTariff.any()?.Id?.Timestamp?.moment\r\n | date: 'H:mm'}}\r\n \r\n \r\n \r\n
\r\n

\r\n {{last(consumptionMeasurement.consumptionByTariff.None).Prosumption.Consumption.Quantity}}\r\n

\r\n

\r\n \r\n \r\n {{last(consumptionMeasurement.consumptionByTariff.None).Prosumption.Production.Quantity}}\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{last(consumptionMeasurement.consumptionByTariff.Normal).Prosumption.Consumption.Quantity}}\r\n

\r\n

\r\n \r\n {{last(consumptionMeasurement.consumptionByTariff.Normal).Prosumption.Production.Quantity}}\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{last(consumptionMeasurement.consumptionByTariff.Low).Prosumption.Consumption.Quantity}}\r\n

\r\n

\r\n \r\n {{last(consumptionMeasurement.consumptionByTariff.Low).Prosumption.Production.Quantity}}\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n

\r\n \r\n

\r\n \r\n \r\n \r\n \r\n

\r\n

\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n check_box_outline_blank\r\n \r\n check_box\r\n \r\n \r\n \r\n 0\">\r\n check_box_outline_blank\r\n check_box\r\n \r\n \r\n \r\n
\r\n

{{none.Prosumption.Consumption}}

\r\n

{{none.Prosumption.Production}}

\r\n
\r\n
\r\n \r\n \r\n check_box_outline_blank\r\n \r\n check_box\r\n \r\n \r\n
\r\n

{{normal.Prosumption.Consumption}}

\r\n

{{normal.Prosumption.Production}}

\r\n
\r\n
\r\n \r\n \r\n check_box_outline_blank\r\n \r\n check_box\r\n \r\n \r\n
\r\n

{{low.Prosumption.Consumption}}

\r\n

{{low.Prosumption.Production}}

\r\n
\r\n
\r\n {{consumptionMeasurement.measurementsByTariff.any()?.measurementSourceDetails?.event}}\r\n \r\n {{consumptionMeasurement.measurementsByTariff.any()?.measurementSourceDetails?.measurementSourceMethod}}\r\n \r\n \r\n \r\n \r\n history\r\n
{{measurement.Id.MeterId}}\r\n \r\n {{measurement.Id.Timestamp.moment | date: 'H:mm'}}\r\n \r\n \r\n
\r\n

\r\n {{measurement.Prosumption.Consumption}}\r\n

\r\n

{{measurement.Prosumption.Production}}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n watch_later\r\n
{{measurement.Id.MeterId}}\r\n \r\n {{measurement.Id.Timestamp.moment | date: 'H:mm'}}\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n {{measurement.Prosumption.Consumption}}\r\n

\r\n

{{measurement.Prosumption.Production}}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n watch_later\r\n
{{measurement.Id.MeterId}}\r\n \r\n {{measurement.Id.Timestamp.moment | date: 'H:mm'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

\r\n {{measurement.Prosumption.Consumption}}\r\n

\r\n

{{measurement.Prosumption.Production}}

\r\n
\r\n
\r\n \r\n \r\n \r\n watch_later\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n hourglass_full Laden\r\n\r\n\r\n \r\n Geen metingen gevonden.\r\n \r\n","import moment from 'moment-timezone';\r\nimport { MOMENT_DATETIME_API_FORMAT } from 'src/app/constants';\r\nimport { ParameterValueR } from 'src/app/modules/operations-api';\r\nimport { ParameterValueService } from 'src/app/services/parameter-value.service';\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-edit-parameter-value',\r\n templateUrl: './edit-parameter-value.component.html',\r\n styleUrls: ['./edit-parameter-value.component.scss'],\r\n})\r\nexport class EditParameterValueComponent implements OnInit {\r\n @Input() parameter; //ParameterValue;\r\n @Output() cancel: EventEmitter = new EventEmitter();\r\n @Output() completed: EventEmitter = new EventEmitter();\r\n\r\n createNewParameter = false;\r\n\r\n setAFutureFrom = false;\r\n showTimeForm = false;\r\n\r\n parameterValueForm: UntypedFormGroup;\r\n\r\n constructor(\r\n // initialize form\r\n private parameterValueService: ParameterValueService,\r\n ) {\r\n this.parameterValueForm = new UntypedFormGroup({\r\n value: new UntypedFormControl('', [Validators.required]),\r\n from: new UntypedFormControl('', [Validators.required]),\r\n time: new UntypedFormControl(''),\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.createNewParameter = this.parameter === undefined ? true : false;\r\n console.log('create: ' + this.createNewParameter);\r\n this.parameterValueForm.patchValue({\r\n value: JSON.stringify(this.parameter.Value, null, 2), // Pretty JSON -> https://stackoverflow.com/questions/4810841/pretty-print-json-using-javascript\r\n });\r\n }\r\n\r\n setFutureFrom() {\r\n this.setAFutureFrom = !this.setAFutureFrom;\r\n }\r\n\r\n save() {\r\n const validJson = JSON.parse(this.parameterValueForm.get('value').value);\r\n\r\n if (!validJson) {\r\n throw new Error('Geen valide input waarde, controleer op fouten.');\r\n }\r\n\r\n const parameterToUpdate: ParameterValueR = {\r\n Value: JSON.parse(this.parameterValueForm.get('value').value),\r\n ParameterValueName: this.parameter.ParameterValueName,\r\n Tenant: this.parameter.Tenant,\r\n From: moment().format(MOMENT_DATETIME_API_FORMAT),\r\n };\r\n\r\n console.log(parameterToUpdate);\r\n this.parameterValueService.updateParameterValue(parameterToUpdate);\r\n this.completed.emit(true);\r\n }\r\n\r\n deleteParameter() {\r\n this.parameterValueService.deleteParameterValue(this.parameter);\r\n this.completed.emit(true);\r\n }\r\n\r\n setCurrentDateAndTime() {\r\n if (!this.setAFutureFrom) {\r\n return moment();\r\n }\r\n let dateTime = this.parameterValueForm.get('From').value;\r\n if (!this.showTimeForm) {\r\n return dateTime;\r\n }\r\n const time = this.parameterValueForm.get('time').value.split(':');\r\n dateTime.set({ hour: time[0], minute: time[1] });\r\n return dateTime;\r\n }\r\n\r\n addTime() {\r\n this.parameterValueForm.patchValue({\r\n time: moment().format('HH:mm'),\r\n });\r\n this.showTimeForm = !this.showTimeForm;\r\n }\r\n\r\n cancelEdit() {\r\n this.cancel.emit(this.parameter);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n {{parameter.Value | json }}\r\n
\r\n
\r\n \r\n {{parameter.From | asDate | date: 'YYYY-MM-dd HH:mm'}}\r\n \r\n \r\n Not Yet Supported\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Parameter Value\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","\r\n Does not yet work\r\n \r\n\r\n\r\n
\r\n
\r\n
Parameter
\r\n
Waarde
\r\n
Actief sinds
\r\n
Actie
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
{{parameter.Value | json}}
\r\n
\r\n \r\n circle\r\n \r\n {{(parameter.From) | asDate | date: 'YYYY-MM-dd HH:mm'}}\r\n\r\n
\r\n
\r\n \r\n edit\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { ParameterValueR } from 'src/app/modules/operations-api';\r\nimport { ParameterValueService } from 'src/app/services/parameter-value.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-parameter-values-table',\r\n templateUrl: './parameter-values-table.component.html',\r\n styleUrls: ['./parameter-values-table.component.scss'],\r\n})\r\nexport class ParameterValuesTableComponent implements OnInit {\r\n parameterValues: ParameterValueR[];\r\n activeParameterValues: ParameterValueR[];\r\n createParameterValue = false;\r\n\r\n editList: ParameterValueR[] = [];\r\n\r\n constructor(private parameterValueService: ParameterValueService) { }\r\n\r\n async ngOnInit() {\r\n await this.fetchData();\r\n // this.activeParameterValues = [...this.parameterValues].filter((paramValue: any) => paramValue.Until === null))\r\n // console.log(this.activeParameterValues)\r\n }\r\n\r\n async fetchData() {\r\n this.parameterValues = await this.parameterValueService.getAll();\r\n }\r\n\r\n edit(p) {\r\n this.editList.push(p);\r\n }\r\n\r\n editMode(p) {\r\n return this.editList.includes(p);\r\n }\r\n\r\n completed() {\r\n this.fetchData();\r\n }\r\n\r\n cancelEdit(parameter) {\r\n console.log(this.editList, parameter);\r\n this.editList = this.editList.filter((p) => p !== parameter);\r\n }\r\n\r\n showHistory(currentParameterValueName) {\r\n // To implement\r\n }\r\n createNewParameterValue() {\r\n this.createParameterValue = !this.createParameterValue;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'admin-parameter-values',\r\n templateUrl: './parameter-values.component.html',\r\n styleUrls: ['./parameter-values.component.scss'],\r\n})\r\nexport class ParameterValuesComponent implements OnInit {\r\n constructor() {}\r\n\r\n async ngOnInit() {}\r\n}\r\n","
\r\n
\r\n Parameter Values\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'admin-processes',\r\n templateUrl: './processes.component.html',\r\n styleUrls: ['./processes.component.scss'],\r\n})\r\nexport class ProcessesComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","
\r\n
\r\n Process details?\r\n
\r\n

\r\n
\r\n","import { Enums } from 'src/app/Connection';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { ServiceBusService } from 'src/app/services/service-bus.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'admin-trigger-process',\r\n templateUrl: './trigger-process.component.html',\r\n styleUrls: ['./trigger-process.component.scss'],\r\n})\r\nexport class TriggerProcessComponent implements OnInit {\r\n // processingMessage:\r\n allProcesses: string[];\r\n selectedProcess: string[];\r\n selectedProcesses: UntypedFormControl;\r\n\r\n succesfullFeedback;\r\n\r\n triggerProcessMessageGroup: UntypedFormGroup;\r\n\r\n constructor(\r\n private errorService: ErrorService,\r\n private enumsService: EnumsService,\r\n private serviceBusService: ServiceBusService,\r\n private notificationService: NotificationService,\r\n ) {\r\n this.triggerProcessMessageGroup = new UntypedFormGroup({\r\n connectionIds: new UntypedFormControl(),\r\n issueIds: new UntypedFormControl(),\r\n contractStateIds: new UntypedFormControl(),\r\n processes: new UntypedFormControl('', [Validators.required]),\r\n });\r\n }\r\n\r\n async ngOnInit() {\r\n // this.selectedProcesses = new FormControl(this.selectedProcess, [Validators.required]);\r\n const allProcessesEnums = await this.enumsService.getAll(Enums.Process);\r\n this.allProcesses = allProcessesEnums.map((processEnum) => processEnum.Value);\r\n }\r\n\r\n async triggerProcess() {\r\n const processingMessage = this.makeProcessingMessage();\r\n await this.serviceBusService.triggerProcess(processingMessage);\r\n this.notificationService.showSuccess('Process getriggerd voor ' + JSON.stringify(processingMessage));\r\n }\r\n\r\n makeProcessingMessage() {\r\n const message: TriggerProcessMessage = {};\r\n if (this.triggerProcessMessageGroup.get('connectionIds').value !== null) {\r\n message.ConnectionIds = this.triggerProcessMessageGroup.get('connectionIds').value.split(';');\r\n }\r\n if (this.triggerProcessMessageGroup.get('issueIds').value !== null) {\r\n message.IssueIds = this.triggerProcessMessageGroup.get('issueIds').value.split(';');\r\n }\r\n if (this.triggerProcessMessageGroup.get('contractStateIds').value !== null) {\r\n message.ContractStateIds = this.triggerProcessMessageGroup.get('contractStateIds').value.split(';');\r\n }\r\n if (this.triggerProcessMessageGroup.get('processes').value !== null) {\r\n message.ProcessesToRun = this.triggerProcessMessageGroup.get('processes').value;\r\n }\r\n console.log('triggerProcessMessageGroup', message);\r\n return message;\r\n }\r\n}\r\n\r\nexport interface TriggerProcessMessage {\r\n ProcessesToRun?: string[];\r\n ContractStateIds?: string;\r\n ConnectionIds?: string[];\r\n IssueIds?: string;\r\n}\r\n","
\r\n
\r\n Trigger Processen\r\n

\r\n Meerdere Issues of aansluitingen mogelijk door ze toe te voegen met ; ertussen als volgt: EAN1;EAN2\r\n

\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n IssueIds, gescheiden met ; (puntkomma)\r\n \r\n \r\n
\r\n
\r\n \r\n EANs, gescheiden met ; (puntkomma)\r\n \r\n \r\n
\r\n
\r\n \r\n ContractIds, gescheiden met ; (puntkomma)\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Selecteer process(en)\r\n \r\n \r\n \r\n {{process}}\r\n \r\n \r\n Moet tenminste één process selecteren\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","
\r\n
\r\n Capaciteitstarief\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
VanTotCodeWaarde\r\n \r\n history\r\n \r\n
{{connectionCapacity?.Interval?.From?.format('YYYY-MM-DD')}}{{connectionCapacity?.Interval?.Until?.format('YYYY-MM-DD')}}\r\n {{ connectionCapacity.ExternalId }}\r\n \r\n {{ connectionCapacity.ConnectionCapacity }}\r\n
{{connectionCapacities[0]?.Interval?.From?.format('YYYY-MM-DD')}}{{connectionCapacities[0]?.Interval?.Until?.format('YYYY-MM-DD')}}\r\n {{ connectionCapacities[0].ExternalId }}\r\n \r\n {{ connectionCapacities[0].ConnectionCapacity }}\r\n
\r\n
\r\n
","import { ConnectionConnectionCapacitie } from 'src/app/Connection';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-connection-capacity-list',\r\n templateUrl: './connection-capacity-list.component.html',\r\n styleUrls: ['./connection-capacity-list.component.scss'],\r\n})\r\nexport class ConnectionCapacityListComponent implements OnInit {\r\n @Input() connectionCapacities: ConnectionConnectionCapacitie[];\r\n\r\n public hasHistory: boolean;\r\n public isToggled: boolean;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.hasHistory = this.connectionCapacities.length > 1;\r\n this.connectionCapacities = this.connectionCapacities.sort((x, y) => (x.Interval.From > y.Interval.From ? 1 : -1));\r\n\r\n if (this.hasHistory) {\r\n const foundIdx = this.connectionCapacities.findIndex((el) => el.Interval.Until === null);\r\n const item = this.connectionCapacities[foundIdx];\r\n this.connectionCapacities.splice(foundIdx, 1);\r\n this.connectionCapacities.unshift(item);\r\n }\r\n }\r\n\r\n toggleHistory() {\r\n this.isToggled = !this.isToggled;\r\n }\r\n}\r\n","
\r\n
\r\n Markt SJV\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n 1 && isToggled\" ngFor\r\n let-annualProsumption [ngForOf]=\"connectionEstimatedAnnualProsumptionLow.slice(1)\" let-i=\"index\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 1 || connectionEstimatedAnnualProsumptionLow.length === 1\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n 1 && isToggled\" ngFor\r\n let-annualProsumption [ngForOf]=\"connectionEstimatedAnnualProsumptionNormal.slice(1)\" let-i=\"index\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 1 || connectionEstimatedAnnualProsumptionNormal.length === 1\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n
VanTotTariefLeveringTeruglevering\r\n \r\n history\r\n \r\n\r\n
{{annualProsumption?.Interval?.From?.format('YYYY-MM-DD')}}{{annualProsumption?.Interval?.Until?.format('YYYY-MM-DD')}}\r\n \r\n \r\n \r\n {{annualProsumption.Prosumption.Consumption | productTypeFactor: connectionProductType}}\r\n \r\n {{annualProsumption.Prosumption.Production | productTypeFactor: connectionProductType}}\r\n
{{connectionEstimatedAnnualProsumptionLow[0]?.Interval?.From?.format('YYYY-MM-DD')}}\r\n {{connectionEstimatedAnnualProsumptionLow[0]?.Interval?.Until?.format('YYYY-MM-DD')}}\r\n \r\n \r\n \r\n {{connectionEstimatedAnnualProsumptionLow[0].Prosumption.Consumption | productTypeFactor:\r\n connectionProductType}}\r\n \r\n {{connectionEstimatedAnnualProsumptionLow[0].Prosumption.Production | productTypeFactor:\r\n connectionProductType}}\r\n
{{annualProsumption?.Interval?.From?.format('YYYY-MM-DD')}}{{annualProsumption?.Interval?.Until?.format('YYYY-MM-DD')}}\r\n \r\n \r\n \r\n {{annualProsumption.Prosumption.Consumption | productTypeFactor: connectionProductType}}\r\n \r\n {{annualProsumption.Prosumption.Production | productTypeFactor: connectionProductType}}\r\n
\r\n {{connectionEstimatedAnnualProsumptionNormal[0]?.Interval?.From?.format('YYYY-MM-DD')}}\r\n {{connectionEstimatedAnnualProsumptionNormal[0]?.Interval?.Until?.format('YYYY-MM-DD')}}\r\n \r\n \r\n \r\n {{connectionEstimatedAnnualProsumptionNormal[0].Prosumption.Consumption | productTypeFactor:\r\n connectionProductType}}\r\n \r\n {{connectionEstimatedAnnualProsumptionNormal[0].Prosumption.Production | productTypeFactor:\r\n connectionProductType}}\r\n
\r\n
\r\n
","import { ConnectionEstimatedAnnualProsumption } from 'src/app/Connection';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { ProductType } from 'src/app/modules/operations-api/model/productType';\r\n\r\n@Component({\r\n selector: 'app-connection-estimated-annual-prosumption-list',\r\n templateUrl: './connection-estimated-annual-prosumption-list.component.html',\r\n styleUrls: ['./connection-estimated-annual-prosumption-list.component.scss'],\r\n})\r\nexport class ConnectionEstimatedAnnualProsumptionListComponent implements OnInit {\r\n @Input() connectionProductType: ProductType;\r\n @Input() connectionEstimatedAnnualProsumptions: ConnectionEstimatedAnnualProsumption[];\r\n\r\n public connectionEstimatedAnnualProsumptionLow: ConnectionEstimatedAnnualProsumption[];\r\n public connectionEstimatedAnnualProsumptionNormal: ConnectionEstimatedAnnualProsumption[];\r\n public hasHistory: boolean;\r\n public isToggled: boolean;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.connectionEstimatedAnnualProsumptions = this.connectionEstimatedAnnualProsumptions.sort((x, y) =>\r\n x.Interval.From > y.Interval.From ? 1 : -1,\r\n );\r\n\r\n this.connectionEstimatedAnnualProsumptionLow = this.connectionEstimatedAnnualProsumptions.filter((x) => x.Tariff === 'Low');\r\n\r\n if (this.connectionEstimatedAnnualProsumptionLow.length > 1) {\r\n this.orderConnectionEstimatedAnnualProsumption(this.connectionEstimatedAnnualProsumptionLow);\r\n }\r\n\r\n this.connectionEstimatedAnnualProsumptionNormal = this.connectionEstimatedAnnualProsumptions.filter(\r\n (x) => x.Tariff == null || x.Tariff === 'Normal',\r\n );\r\n\r\n if (this.connectionEstimatedAnnualProsumptionNormal.length > 1) {\r\n this.orderConnectionEstimatedAnnualProsumption(this.connectionEstimatedAnnualProsumptionNormal);\r\n }\r\n\r\n this.hasHistory = this.connectionEstimatedAnnualProsumptionLow.length > 1 || this.connectionEstimatedAnnualProsumptionNormal.length > 1;\r\n }\r\n\r\n toggleHistory() {\r\n this.isToggled = !this.isToggled;\r\n }\r\n\r\n private orderConnectionEstimatedAnnualProsumption(connectionEstimatedAnnualProsumptions: ConnectionEstimatedAnnualProsumption[]) {\r\n const foundIdx = connectionEstimatedAnnualProsumptions.findIndex((el) => el.Interval.Until === null);\r\n const item = connectionEstimatedAnnualProsumptions[foundIdx];\r\n connectionEstimatedAnnualProsumptions.splice(foundIdx, 1);\r\n connectionEstimatedAnnualProsumptions.unshift(item);\r\n }\r\n}\r\n","import { from as asEnumerable } from 'linq-to-typescript';\r\nimport { ConnectionMeter } from 'src/app/Connection';\r\nimport { groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { ModalService } from 'src/app/modules/shared/components/modal/modal.service';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-connection-meter-list',\r\n templateUrl: './connection-meter-list.component.html',\r\n styleUrls: ['./connection-meter-list.component.scss'],\r\n})\r\nexport class ConnectionMeterListComponent implements OnInit {\r\n @Input() connectionMeters: ConnectionMeter[];\r\n\r\n public groupedMeters = new Array();\r\n public toggledIndices = new Array();\r\n\r\n constructor(private modalService: ModalService) {}\r\n\r\n ngOnInit(): void {\r\n const orderedList = this.connectionMeters.sort((x, y) => (x.Interval.From > y.Interval.From ? 1 : -1));\r\n const groupedMeters = groupBy(orderedList, (item: ConnectionMeter) => item.ExternalId);\r\n\r\n let counter = 0;\r\n for (const key in groupedMeters) {\r\n if (Object.prototype.hasOwnProperty.call(groupedMeters, key)) {\r\n const element = groupedMeters[key] as ConnectionMeter[];\r\n const orderedElements = asEnumerable(element).orderByDescending((ts) => ts.Interval.Until?.date);\r\n this.groupedMeters[counter] = orderedElements.toArray();\r\n counter++;\r\n }\r\n }\r\n }\r\n\r\n toggleHistory(index: number) {\r\n const foundIndex = this.toggledIndices.indexOf(index);\r\n if (foundIndex >= 0) {\r\n if (this.toggledIndices.length === 1) {\r\n this.toggledIndices = new Array();\r\n } else {\r\n this.toggledIndices = this.toggledIndices.splice(index, 1);\r\n }\r\n } else {\r\n this.toggledIndices.push(index);\r\n }\r\n }\r\n\r\n displayMeasurementModal(id: string) {\r\n this.modalService.open(id);\r\n }\r\n}\r\n","
\r\n
\r\n Meter\r\n

Geen meterinformatie bekend

\r\n 0\" class=\"table-responsive table-front\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0 ? 'jw-modal-body-md' : ''\"\r\n [id]=\"groupedMeter[0].Meter.Id\">\r\n \r\n \r\n \r\n\r\n = 0\" ngFor let-meter\r\n [ngForOf]=\"groupedMeter.slice(1)\" let-subIndex=\"index\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0 ? 'jw-modal-body-md' : ''\"\r\n [id]=\"meter.Meter.Id + subIndex\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
VanTotMeternummerUitleesbaar slimAantal telwerkenGecorrigeerd door temperatuur
{{groupedMeter[0]?.Interval?.From?.format('YYYY-MM-DD')}}{{groupedMeter[0]?.Interval?.Until?.format('YYYY-MM-DD')}}{{groupedMeter[0].ExternalId}}{{groupedMeter[0].TelemetryIsOperational !== undefined\r\n ? (groupedMeter[0].TelemetryIsOperational ? 'Ja' : 'Nee')\r\n : 'N.v.t'}}\r\n \r\n {{groupedMeter[0]?.Meter?.MeasurementDisplays?.length}}\r\n \r\n {{groupedMeter[0].CorrectForEnergyPerVolumeDueToTemperature ? 'Ja' : 'Nee'}}\r\n \r\n 1\" class=\"maticon-button-table maticon-meter\"\r\n matTooltip=\"Toon geschiedenis van deze meter\" (click)=\"toggleHistory(i)\">\r\n history\r\n \r\n
{{meter?.Interval?.From?.format('YYYY-MM-DD')}}{{meter?.Interval?.Until?.format('YYYY-MM-DD')}}{{meter.ExternalId}}{{meter.TelemetryIsOperational !== undefined\r\n ? (meter.TelemetryIsOperational ? 'Ja' : 'Nee')\r\n : 'N.v.t'}}\r\n {{meter.Meter.MeasurementDisplays?.length}}\r\n \r\n {{meter.CorrectForEnergyPerVolumeDueToTemperature ? 'Ja' : 'Nee'}}\r\n \r\n
\r\n
\r\n
","import { Moment } from 'moment-timezone';\r\nimport { Interval } from 'src/app/Connection';\r\nimport { ButtonWithFeedbackSetup } from 'src/app/modules/shared/components/buttons/button-with-feedback/button-with-feedback.component';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { SyncService } from 'src/app/services/sync.service';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-connection-staging-sync',\r\n templateUrl: './connection-staging-sync.component.html',\r\n styleUrls: ['./connection-staging-sync.component.scss'],\r\n})\r\nexport class ConnectionStagingSyncComponent implements OnInit {\r\n @Input() connectionId: string;\r\n\r\n @Input() connectionIdIsVisible = true;\r\n @Input() intervalIsVisible = true;\r\n @Input() from: Moment;\r\n @Input() until: Moment;\r\n\r\n syncerTypes: string[] = ['StagingMeasurementsSyncer', 'StagingConnectionsSyncer', 'StagingConsumptionsSyncer'];\r\n\r\n syncButton: ButtonWithFeedbackSetup = {\r\n icon: 'cached',\r\n text: 'Synchroniseer naar staging',\r\n iconToggled: 'check',\r\n textToggled: 'Bezig',\r\n };\r\n\r\n constructor(private syncService: SyncService, private notificationService: NotificationService) {}\r\n\r\n ngOnInit() {}\r\n\r\n sync = async () => {\r\n if (!this.syncerTypes || this.syncerTypes.length === 0) return;\r\n await this.syncService.sync(this.syncerTypes, this.connectionId, this.from && this.until ? new Interval(this.from, this.until) : null);\r\n this.notificationService.showSuccess(`Aansluiting ${this.connectionId} wordt gesynchroniseerd`);\r\n };\r\n}\r\n","\r\ncached\r\n\r\n\r\n","import { Page } from 'src/app/Connection';\r\nimport { ContractStateService } from 'src/app/services/contract-state.service';\r\n\r\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-contract-state-table',\r\n templateUrl: './contract-state-table.component.html',\r\n styleUrls: ['./contract-state-table.component.scss'],\r\n})\r\nexport class ContractStateTableComponent implements OnChanges {\r\n @Input() contractsofContractIdWithState;\r\n @Input() currentPageNumber: number;\r\n @Output() blockingInfo = new EventEmitter();\r\n pageNumbers: number[] = [];\r\n pageSize = 25;\r\n currentPage = 0;\r\n errorService: any;\r\n translationCategory = 'Customer Journey';\r\n\r\n constructor(private contractStateService: ContractStateService, protected router: Router) {}\r\n\r\n async fetchData() {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.currentPageNumber) {\r\n this.currentPage = this.currentPageNumber;\r\n }\r\n }\r\n\r\n checkHasContext(MutationOrTransitionState) {\r\n if (MutationOrTransitionState.context != null) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getCurrentContractStateTransition(contracts) {\r\n if (contracts.contractStateTransitions.length > 0) {\r\n return contracts.contractStateTransitions[contracts.contractStateTransitions.length - 1].contractStateTransitionType;\r\n } else {\r\n return 'Not available';\r\n }\r\n }\r\n\r\n checkIfActive(MutationOrTransitionState) {\r\n if (MutationOrTransitionState == undefined) {\r\n return this.errorService.addError('Geen status op kunnen halen');\r\n }\r\n if (MutationOrTransitionState.interval == undefined) {\r\n return this.errorService.addError('Geen status op kunnen halen');\r\n }\r\n if (MutationOrTransitionState.interval.Until == undefined) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n async toggleMutationStateBlocked(id: string) {\r\n this.blockingInfo.emit(id);\r\n }\r\n\r\n async skipStep(contracts, transition) {\r\n const contractid = contracts.id.contractId;\r\n const connectionid = contracts.id.connectionId;\r\n const contractmutationstate = contracts.id.contractMutationState;\r\n\r\n const result = this.contractStateService\r\n .closeConnectionContractTransition(contractid, connectionid, contractmutationstate)\r\n .catch((error) => this.errorService.addError(error.error.title));\r\n\r\n if (result) {\r\n await this.fetchData();\r\n }\r\n }\r\n\r\n showContextList: any[] = [];\r\n showContextCheck(i: number) {\r\n return this.showContextList.includes(i);\r\n }\r\n showContext(i: number) {\r\n let index = this.showContextList.indexOf(i);\r\n if (index > -1) {\r\n this.showContextList.splice(index);\r\n } else {\r\n this.showContextList.push(i);\r\n }\r\n }\r\n\r\n showMoreList: any[] = [];\r\n showMoreCheck(i: number) {\r\n return this.showMoreList.includes(i);\r\n }\r\n showMore(i: number) {\r\n let index = this.showMoreList.indexOf(i);\r\n if (index > -1) {\r\n this.showMoreList.splice(index);\r\n } else {\r\n this.showMoreList.push(i);\r\n }\r\n }\r\n\r\n calcPages(page: Page) {\r\n this.pageNumbers = [];\r\n for (var i = 0; i < page.totalCount / this.pageSize; i++) {\r\n this.pageNumbers.push(i + 1);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.currentPage > this.pageNumbers[this.pageNumbers.length - 1]) {\r\n this.page(this.currentPage - 1);\r\n }\r\n }\r\n previous() {\r\n if (this.currentPage > 0) {\r\n this.page(this.currentPage + 1);\r\n }\r\n }\r\n\r\n async page(goToNumber: number) {\r\n this.currentPage = goToNumber - 1;\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0; else nocontractdata\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 && showMoreCheck(this.i)\">\r\n \r\n \r\n \r\n \r\n \r\n 0 && showMoreCheck(this.i)\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ActiefActivatieprocesBevind zich bij stapLaatst geüpdateGeblokkeerd
\r\n \r\n fiber_manual_record\r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{contracts.modifiedTimestamp | date: 'yyyy-MM-dd HH:mm'}}\r\n \r\n \r\n expand_more\r\n expand_less\r\n\r\n \r\n \r\n\r\n \r\n \r\n block\r\n \r\n\r\n \r\n clear\r\n \r\n
Activatie Context: {{contracts.context}}
Stap Van Tot Actie
\r\n \r\n \r\n {{transitions.interval.From | date: 'yyyy-MM-dd HH:mm'}}{{transitions.interval.Until | date: 'yyyy-MM-dd HH:mm'}}\r\n \r\n visibility\r\n visibility_off\r\n \r\n\r\n skip_next\r\n \r\n
Context:\r\n {{transitions.context | stringOrJson}}
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n \r\n \r\n report No Data\r\n \r\n \r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseComponent } from 'src/app/Components/BaseComponent';\r\n\r\n@Component({\r\n selector: 'app-customer-contract-state-stepper',\r\n templateUrl: './customer-contract-state-stepper.component.html',\r\n styleUrls: ['./customer-contract-state-stepper.component.scss'],\r\n})\r\nexport class CustomerContractStateStepperComponent extends BaseComponent implements OnInit {\r\n @Input() contractStates: any;\r\n @Input() contractStatesOverviewTemplate: any;\r\n allPassedStates: string[] = [];\r\n renderer: any;\r\n\r\n constructor(protected router: Router) {\r\n super(router);\r\n }\r\n\r\n async ngOnInit() {\r\n await this.fetchData();\r\n }\r\n\r\n async fetchData() {\r\n this.contractStatesUntilNow();\r\n }\r\n\r\n contractStatesUntilNow() {\r\n this.contractStates.data.forEach((element) => {\r\n this.allPassedStates.push(element.id.contractMutationState);\r\n });\r\n }\r\n\r\n checkIfActiveOrPassed(state): boolean {\r\n return this.allPassedStates.includes(state.ContractMutationState as string);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
    \r\n \r\n
  • {{state.ContractMutationState}}
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Output, TemplateRef, ViewChild } from '@angular/core';\r\n\r\nimport { DropdownPanel } from './dropdown-panel';\r\n\r\n@Component({\r\n selector: 'app-dropdown-button',\r\n templateUrl: './dropdown-button.component.html',\r\n styleUrls: ['./dropdown-button.component.scss'],\r\n})\r\nexport class DropdownButtonComponent implements DropdownPanel {\r\n @ViewChild(TemplateRef) templateRef: TemplateRef;\r\n @Output() closed = new EventEmitter();\r\n\r\n constructor() {}\r\n}\r\n","\r\n
\r\n \r\n
\r\n
","import { merge, Observable, Subscription } from 'rxjs';\r\n\r\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { Directive, ElementRef, HostListener, Input, OnDestroy, ViewContainerRef } from '@angular/core';\r\n\r\nimport { DropdownPanel } from './dropdown-panel';\r\n\r\n@Directive({\r\n selector: '[dropdownTriggerFor]',\r\n})\r\nexport class DropdownTriggerForDirective implements OnDestroy {\r\n @Input('dropdownTriggerFor') public dropdownPanel: DropdownPanel;\r\n clickedOnMonths = false;\r\n private isDropdownOpen = false;\r\n private overlayRef: OverlayRef;\r\n private dropdownClosingActionsSub = Subscription.EMPTY;\r\n\r\n constructor(private overlay: Overlay, private elementRef: ElementRef, private viewContainerRef: ViewContainerRef) {}\r\n\r\n @HostListener('click') toggleDropdown() {\r\n this.isDropdownOpen ? this.destroyDropdown() : this.openDropdown();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.overlayRef) {\r\n this.overlayRef.dispose();\r\n }\r\n }\r\n\r\n openDropdown(): void {\r\n this.isDropdownOpen = true;\r\n this.overlayRef = this.overlay.create({\r\n hasBackdrop: true,\r\n backdropClass: 'cdk-overlay-transparent-backdrop',\r\n scrollStrategy: this.overlay.scrollStrategies.close(),\r\n positionStrategy: this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.elementRef)\r\n .withPositions([\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: 8,\r\n },\r\n //subdropdown #months:\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: 7,\r\n offsetY: -52,\r\n },\r\n ]),\r\n });\r\n\r\n const templatePortal = new TemplatePortal(this.dropdownPanel.templateRef, this.viewContainerRef);\r\n this.overlayRef.attach(templatePortal);\r\n\r\n this.dropdownClosingActionsSub = this.dropdownClosingActions().subscribe(() => this.destroyDropdown());\r\n }\r\n\r\n private dropdownClosingActions(): Observable {\r\n const backdropClick$ = this.overlayRef.backdropClick();\r\n const detachment$ = this.overlayRef.detachments();\r\n const dropdownClosed = this.dropdownPanel.closed;\r\n\r\n return merge(backdropClick$, detachment$, dropdownClosed);\r\n }\r\n\r\n private destroyDropdown(): void {\r\n if (!this.overlayRef || !this.isDropdownOpen) {\r\n return;\r\n }\r\n\r\n this.dropdownClosingActionsSub.unsubscribe();\r\n this.isDropdownOpen = false;\r\n this.overlayRef.detach();\r\n }\r\n}\r\n","import moment from 'moment';\r\nimport { BoundaryType, DateRange, Timestamp } from 'src/app/Connection';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-external-dossier',\r\n templateUrl: './external-dossier.component.html',\r\n styleUrls: ['./external-dossier.component.scss'],\r\n})\r\nexport class ExternalDossierComponent implements OnInit {\r\n @Input() connection: any;\r\n connectionObject: any;\r\n result: any[];\r\n allDossiers: boolean;\r\n from = moment().subtract(1, 'year');\r\n until = moment().add(1, 'month');\r\n range = new DateRange(new Timestamp(this.from), BoundaryType.Closed, new Timestamp(this.until), BoundaryType.Closed);\r\n id: any;\r\n externalDossiers: any;\r\n activatedRoute: any;\r\n\r\n constructor(private connectionService: ConnectionService, private errorService: ErrorService) { }\r\n\r\n async ngOnInit() {\r\n await this.fetchData();\r\n }\r\n\r\n async fetchData() {\r\n if (this.connection) {\r\n this.getExternalDossier();\r\n } else {\r\n this.errorService.addError('Geen aansluiting gevonden');\r\n }\r\n }\r\n\r\n async getExternalDossier() {\r\n this.id = this.connection.Id;\r\n\r\n await this.connectionService\r\n .getByConnectionId(this.id)\r\n .then((connection) => {\r\n this.connectionObject = connection;\r\n // meest recente resultaten eerst tonen:\r\n this.externalDossiers = this.connection.ExternalDossiers;\r\n this.externalDossiers.sort((a, b) => b.eventTimestamp.valueOf() - a.eventTimestamp.valueOf());\r\n })\r\n .catch((error) => {\r\n this.errorService.addError(error.message);\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
EANDossierIdEventDatum eventHerkomstindicatieMutatiereden
{{ externalDossier.connectionId }}{{ externalDossier.organisationContactId }}{{ externalDossier.event }}{{ externalDossier.eventTimestamp }}{{ externalDossier.operatorId }}{{ externalDossier.mutation }}
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n {{ eDossier.eventTimestamp | date }}\r\n {{ eDossier.mutation }}\r\n
\r\n \r\n

\r\n Event: {{ eDossier.event }}
\r\n DossierId:\r\n {{ eDossier.operatorDossierId }}\r\n

\r\n
\r\n \r\n
\r\n

\r\n Event: {{ eDossier.event }}
\r\n DossierId:\r\n {{ eDossier.operatorDossierId }}\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n","import { Subscription, throwError } from 'rxjs';\r\nimport { catchError, finalize } from 'rxjs/operators';\r\nimport { DEFINE_URL } from 'src/app/constants';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { HttpClient, HttpEventType } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'file-upload',\r\n templateUrl: 'file-upload.component.html',\r\n styleUrls: ['file-upload.component.scss'],\r\n})\r\nexport class FileUploadComponent {\r\n @Input() requiredFileType: string;\r\n @Input() sendToEndPoint: string;\r\n @Input() parameterName: string;\r\n @Output() succesEvent: EventEmitter = new EventEmitter();\r\n @Output() unsuccedfullEvent: EventEmitter = new EventEmitter();\r\n\r\n fileName; // added // check if still works\r\n uploadProgress: number;\r\n uploadSub: Subscription;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private notificationService: NotificationService,\r\n ) { }\r\n\r\n onFileSelected(event) {\r\n // Make it possible to upload to a localhost or endpoint (for demo's)\r\n const endPoint = this.sendToEndPoint.includes('http') ? this.sendToEndPoint : DEFINE_URL() + this.sendToEndPoint;\r\n const file: File = event.target.files[0];\r\n this.fileName = file.name;\r\n if (file) {\r\n const formData = new FormData();\r\n formData.append(this.parameterName, file);\r\n const upload$ = this.http\r\n .post(endPoint, formData, {\r\n reportProgress: true,\r\n observe: 'events',\r\n })\r\n .pipe(\r\n finalize(() => this.handleUpload()),\r\n catchError(err => throwError(err))\r\n );\r\n\r\n this.uploadSub = upload$.subscribe((ev) => {\r\n if (ev.type === HttpEventType.UploadProgress) {\r\n this.uploadProgress = Math.round(100 * (ev.loaded / ev.total));\r\n }\r\n });\r\n }\r\n }\r\n\r\n cancelUpload() {\r\n this.notificationService.showInfo('Afgebroken');\r\n this.handleError();\r\n }\r\n\r\n handleError() {\r\n this.unsuccedfullEvent.emit(true);\r\n this.uploadSub.unsubscribe();\r\n this.reset();\r\n }\r\n\r\n handleUpload() {\r\n this.notificationService.showSuccess('Bestand geupload!');\r\n this.succesEvent.emit(true);\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.fileName = null;\r\n this.uploadProgress = null;\r\n this.uploadSub = null;\r\n }\r\n}\r\n","\r\n\r\n
\r\n {{fileName || \"Nog geen bestand geupload\"}}\r\n\r\n attach_file\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n delete_forever\r\n \r\n
","
\r\n
\r\n {{Title}}
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{header}}
{{model.Key}} {{model.From}} {{model.Until}}
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { HistoryModel } from 'src/app/Components/history-table/historymodel';\r\n\r\n@Component({\r\n selector: 'app-history-table',\r\n templateUrl: './history-table.component.html',\r\n styleUrls: ['./history-table.component.scss']\r\n})\r\nexport class HistoryTableComponent implements OnInit {\r\n @Input() Title: string;\r\n @Input() Headers: any[];\r\n @Input() History: HistoryModel[];\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n}\r\n","export class HistoryModel {\r\n Key: string;\r\n From: string;\r\n Until: string;\r\n\r\n constructor(key: string, from: string, until: string) {\r\n this.Key = key;\r\n this.From = from;\r\n this.Until = until;\r\n }\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { IconMap } from './icon-map.interface';\r\nimport { IconMappingConstants } from './icon.constants';\r\n\r\n@Component({\r\n selector: 'icon-component',\r\n templateUrl: './icon.component.html',\r\n})\r\nexport class IconComponent implements OnInit {\r\n // Works like this:\r\n //\r\n // enter the variable in like so:\r\n // \r\n\r\n @Input() iconName: string;\r\n @Input() iconTooltip: string;\r\n matIconName = 'info';\r\n\r\n iconMapping: IconMap[] = IconMappingConstants.iconMapping; // global variable pointer\r\n\r\n ngOnInit() {\r\n this.iconTooltip = this.iconName; // default, shows the input name as tooltip, overridden by matchIcon\r\n this.matchIcon();\r\n }\r\n\r\n matchIcon() {\r\n const match = this.iconMapping.filter((icon) => icon.value === this.iconName);\r\n if (!match || match.length === 0) return;\r\n this.matIconName = match[0].matIcon;\r\n this.iconTooltip = match[0].tooltip === undefined ? this.iconName : match[0].tooltip;\r\n }\r\n}\r\n","{{matIconName}}","import { IconMap } from './icon-map.interface';\r\n\r\nexport class IconMappingConstants {\r\n public static iconMapping: IconMap[] = [\r\n // ProductTypes\r\n {\r\n value: 'Electricity',\r\n matIcon: 'flash_on',\r\n tooltip: 'Elektriciteit',\r\n },\r\n {\r\n value: 'Gas',\r\n matIcon: 'local_fire_department',\r\n tooltip: 'Gas',\r\n },\r\n // Icons\r\n {\r\n value: 'Search',\r\n matIcon: 'search',\r\n tooltip: 'Zoeken',\r\n },\r\n {\r\n value: 'Download',\r\n matIcon: 'get_app',\r\n tooltip: 'Download',\r\n },\r\n // Consumption MutationState\r\n {\r\n value: 'Measured',\r\n matIcon: 'signal_cellular_alt',\r\n tooltip: 'Mutatie Staat: Gemeten',\r\n },\r\n {\r\n value: 'MeasuredVolume',\r\n matIcon: 'signal_cellular_alt',\r\n tooltip: 'Mutatie Staat: Gemeten Volume',\r\n },\r\n {\r\n value: 'Estimated',\r\n matIcon: 'explore',\r\n tooltip: 'Mutatie Staat: Geschat',\r\n },\r\n {\r\n value: 'MeasuredQuantityEstimate',\r\n matIcon: 'info',\r\n tooltip: 'Mutatie Staat: MeasuredQuantityEstimate',\r\n },\r\n {\r\n value: 'Corrected',\r\n matIcon: 'broken_image',\r\n tooltip: 'Mutatie Staat: Gecorrigeerd',\r\n },\r\n {\r\n value: 'CorrectedQuantity',\r\n matIcon: 'broken_image',\r\n tooltip: 'Mutatie Staat: CorrectedQuantity',\r\n },\r\n {\r\n value: 'CorrectedQuantityEstimate',\r\n matIcon: 'info',\r\n tooltip: 'Mutatie Staat: CorrectedQuantityEstimate',\r\n },\r\n\r\n // MeasurementSources (measurements)\r\n {\r\n value: 'GridOperator',\r\n matIcon: 'business',\r\n tooltip: 'Netbeheerder',\r\n },\r\n {\r\n value: 'Supplier',\r\n matIcon: 'all_inclusive',\r\n tooltip: 'Leverancier',\r\n },\r\n {\r\n value: 'Telemeter',\r\n matIcon: 'signal_cellular_alt',\r\n tooltip: 'Slimme meter',\r\n },\r\n {\r\n value: 'Customer',\r\n matIcon: 'person',\r\n tooltip: 'Klant',\r\n },\r\n {\r\n value: 'DataCorrector',\r\n matIcon: 'broken_image',\r\n tooltip: 'Corrector: Correctie',\r\n },\r\n {\r\n value: 'DataEstimator',\r\n matIcon: 'explore',\r\n tooltip: 'Geschatte waarde',\r\n },\r\n {\r\n value: 'DataTariffSplitter',\r\n matIcon: 'call_split',\r\n tooltip: 'TarifSplitter: Tarief gesplitst',\r\n },\r\n ];\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\n\r\n@Component({\r\n template: `
`,\r\n})\r\nexport class LoginComponent {\r\n code: string;\r\n session_state: string;\r\n state: string;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private http: HttpClient) {\r\n // this.route.queryParams.subscribe(params => {\r\n // if(params['code'] && params['session_state'] && params['state']){\r\n // this.code = params['code'];\r\n // this.session_state = params['session_state'];\r\n // this.state = params['state'];\r\n // console.log(this.code);\r\n // console.log(this.session_state);\r\n // console.log(this.state);\r\n // let url: string = router.url.substring(0, router.url.indexOf(\"?\"));\r\n // this.router.navigateByUrl(url);\r\n // this.getAccessToken();\r\n // }\r\n // })\r\n }\r\n\r\n getAccessToken() {\r\n // var redirectUrl = encodeURIComponent(window.location.origin + \"/login\");\r\n // console.log(redirectUrl);\r\n // this.http.post(\"https://login.microsoftonline.com/b65f2e69-e0ed-4835-896a-2e51e05f5da2/oauth2/token?grant_type=authorization_code&client_id=64bc5595-87f4-4ca6-9b85-ad1fb6a01f72&code=\" + this.code + \"&redirect_uri=\" + redirectUrl + \"&resource=https%3A%2F%2Fservice.contoso.com%2F\", \"\", {\r\n // headers: {\r\n // \"Content-Type\":\"application/x-www-form-urlencoded\"\r\n // }}).subscribe(result => console.log(result));\r\n }\r\n\r\n login() {\r\n // var redirectUrl = encodeURIComponent(window.location.origin + \"/login\");\r\n // console.log(redirectUrl);\r\n // window.location.href = \"https://login.microsoftonline.com/b65f2e69-e0ed-4835-896a-2e51e05f5da2/oauth2/v2.0/authorize?client_id=64bc5595-87f4-4ca6-9b85-ad1fb6a01f72&response_type=code&response_mode=query&scope=https%3A%2F%2Fnieuwestroomapiservice-staging.azurewebsites.net%2Fuser_impersonation&state=12345&redirect_uri=\" + redirectUrl + \"\";\r\n }\r\n}\r\n","
\r\n
\r\n Telwerken\r\n

Geen telwerk informatie bekend

\r\n 0\" class=\"table-front\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
NaamSupply TypeTariefFactorDigits
{{measurementDisplay.ExternalId}}{{measurementDisplay.SupplyType}}{{measurementDisplay.Tariff}}{{measurementDisplay.MultiplicationFactor}}{{measurementDisplay.Digits}}
\r\n
\r\n
","import { MeasurementDisplay } from 'src/app/Connection';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-measurement-display-table',\r\n templateUrl: './measurement-display-table.component.html',\r\n styleUrls: ['./measurement-display-table.component.scss'],\r\n})\r\nexport class MeasurementDisplayTableComponent implements OnInit {\r\n @Input() measurementDisplays: MeasurementDisplay[];\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { take, tap } from 'rxjs/operators';\r\nimport { ReadGroupResponse } from 'src/app/modules/onboarding-api';\r\nimport { ConnectionActivationsService } from 'src/app/modules/onboarding-api/api/connectionActivations.service';\r\nimport { GetPricesResponse, PricesService } from 'src/app/modules/supplying-api';\r\nimport { DealsService } from 'src/app/modules/trading-api/api/deals.service';\r\nimport { DealResponse } from 'src/app/modules/trading-api/model/dealResponse';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-minimal-api-test',\r\n templateUrl: './minimal-api-test.component.html',\r\n styleUrls: ['./minimal-api-test.component.scss'],\r\n})\r\nexport class MinimalApiTestComponent implements OnInit {\r\n group?: ReadGroupResponse = null;\r\n prices?: GetPricesResponse = null;\r\n deals?: DealResponse[] = null;\r\n\r\n constructor(\r\n private onboardingConnectionActivationsService: ConnectionActivationsService,\r\n private supplyingPricesService: PricesService,\r\n private tradingDealsService: DealsService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.onboardingConnectionActivationsService\r\n .connectionActivationsReadGroup('30085139')\r\n .pipe(\r\n take(1),\r\n tap((response) => (this.group = response)),\r\n tap((response) => console.log(response)),\r\n )\r\n .subscribe();\r\n\r\n this.supplyingPricesService\r\n .pricesGetPrices('Apx', '2022-01-01T00:00:00.000Z', '2022-02-01T00:00:00.000Z')\r\n .pipe(\r\n take(1),\r\n tap((response) => (this.prices = response)),\r\n tap((response) => console.log(response)),\r\n )\r\n .subscribe();\r\n\r\n this.tradingDealsService\r\n .dealsGetDeals(\r\n false,\r\n false,\r\n 10,\r\n 0,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n false,\r\n )\r\n .pipe(\r\n take(1),\r\n tap((response) => (this.deals = response)),\r\n tap((response) => console.log(response)),\r\n )\r\n .subscribe();\r\n }\r\n}\r\n","

minimal-api-test works!

\r\n\r\n

Onboarding connection activation group

\r\n\r\n\r\n \r\n\r\n\r\n

Supplying prices

\r\n\r\n\r\n \r\n\r\n\r\n

Trading deals

\r\n\r\n\r\n \r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.scss']\r\n})\r\nexport class NotFoundComponent {\r\n\r\n}\r\n","
\r\n
\r\n

Pagina niet gevonden

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n home\r\n \r\n
\r\n
\r\n Ga naar startpagina\r\n
\r\n
\r\n
\r\n
\r\n
","import { ServiceDeskError } from 'src/app/Services/error.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-notification-center',\r\n templateUrl: './notification-center.component.html',\r\n styleUrls: ['./notification-center.component.scss'],\r\n})\r\nexport class NotificationCenterComponent implements OnInit, OnChanges {\r\n @Input() errors: ServiceDeskError[];\r\n @Output() closeNotificationCenter = new EventEmitter();\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n ngOnInit(): void {\r\n this.sort();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.errors) {\r\n this.sort();\r\n }\r\n }\r\n sort() {\r\n this.errors.sort((a: ServiceDeskError, b: ServiceDeskError) => b.timeStamp.getTime() - a.timeStamp.getTime());\r\n }\r\n\r\n close() {\r\n this.closeNotificationCenter.emit(true);\r\n }\r\n\r\n copyToClipboard = (error) => {\r\n const el = document.createElement('textarea');\r\n el.value = `URL: ${error.url}\r\n Error: ${error.error}`;\r\n document.body.appendChild(el);\r\n el.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(el);\r\n this.notificationService.showSuccess('Foutmelding gekopïeerd na klembord');\r\n };\r\n}\r\n","
0 else noerrors\">\r\n\r\n
\r\n X\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n

3\" style=\"text-align:center\">Scroll voor meer

\r\n
\r\n\r\n\r\n
\r\n

Error

\r\n

Tijd: {{ error.timeStamp | date: 'HH:mm' }}

\r\n

\r\n {{ error.error }}\r\n

\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n X\r\n
\r\n

Geen meldingen

\r\n
\r\n
","import moment, { Moment } from 'moment-timezone';\r\nimport { Granularity } from 'src/app/Connection';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-period-selector',\r\n templateUrl: './period-selector.component.html',\r\n styleUrls: ['./period-selector.component.scss'],\r\n})\r\nexport class PeriodSelectorComponent implements OnInit {\r\n @Input() default?: Period;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n\r\n // use PRIMENG calendar select months and other\r\n // https://www.primefaces.org/primeng/showcase/#/calendar\r\n\r\n selectedPeriod: Period;\r\n\r\n showCustomPeriod = false;\r\n periodOptions = PeriodsWithGranularitySteps; // template use\r\n\r\n listOfMonths: Period[] = [];\r\n\r\n private datePickerGroup: UntypedFormGroup;\r\n private pickerFrom: Moment;\r\n private pickerUntil: Moment;\r\n\r\n constructor(private errorService: ErrorService) { }\r\n\r\n ngOnInit() {\r\n if (this.default === undefined || this.default == null) {\r\n this.selectedPeriod = null;\r\n } else {\r\n this.selectedPeriod = this.default;\r\n }\r\n this.makeListOfMonths();\r\n\r\n this.pickerFrom = moment().subtract(3, 'days');\r\n this.pickerUntil = moment().add(1, 'day');\r\n\r\n this.datePickerGroup = new UntypedFormGroup({\r\n dateFrom: new UntypedFormControl(this.pickerFrom),\r\n dateUntil: new UntypedFormControl(this.pickerUntil),\r\n });\r\n }\r\n\r\n makeListOfMonths() {\r\n var m = moment();\r\n for (var i = 0; i < 12; i++) {\r\n let month = m.month(i);\r\n month.format('YYYY-MM') > moment().format('YYYY-MM') ? month.subtract(1, 'year') : month;\r\n // let until\r\n let period: Period = {\r\n name: month.format('MMMM YYYY'),\r\n period: Granularity.Month,\r\n step: Granularity.Day,\r\n steps:\r\n moment(month.format('YYYY-MM'))\r\n .endOf('month')\r\n .diff(moment(month.format('YYYY-MM')).startOf('month'), 'days') + 1,\r\n from: moment(month.format('YYYY-MM')).startOf('month'),\r\n until: moment(month.format('YYYY-MM')).add(1, 'month').startOf('month'),\r\n };\r\n this.listOfMonths.push(period);\r\n }\r\n }\r\n\r\n changePeriod(period?) {\r\n if (!period && !this.showCustomPeriod) {\r\n return (this.showCustomPeriod = true);\r\n }\r\n if (!period && this.showCustomPeriod) {\r\n period = this.makeCustomPeriod();\r\n }\r\n this.selectedPeriod = period;\r\n this.showCustomPeriod = false;\r\n this.selected.emit(period);\r\n }\r\n\r\n picker(src, event) {\r\n if (src === 'from') {\r\n this.pickerFrom = event.value;\r\n } else if (src === 'until') {\r\n this.pickerUntil = event.value;\r\n this.changePeriod(); // only really changes after a period change.\r\n }\r\n }\r\n\r\n makeCustomPeriod(): Period | void {\r\n // this.selectedPeriod.from = this.pickerFrom;\r\n // nullcheck for DIFF function\r\n let pickerfrom = this.pickerFrom != null ? this.pickerFrom : moment();\r\n let pickeruntil = this.pickerUntil != null ? this.pickerUntil : moment().add(1, 'days');\r\n let period: any = {};\r\n period.name = 'Aangepast';\r\n period.step = Granularity.Day;\r\n period.steps = pickeruntil.diff(pickerfrom, 'days');\r\n period.custom = true;\r\n period.from = pickerfrom.format('YYYY-MM-DD');\r\n period.until = pickeruntil.format('YYYY-MM-DD');\r\n //this.showCustomPeriod = false; // optional: hide the dates, yet it's usefull data.\r\n\r\n if (period.steps > 33) {\r\n period.steps = 33;\r\n period.until = pickerfrom.add(33, 'days').format('YYYY-MM-DD');\r\n this.errorService.addError(\r\n 'De geselecteerde is meer dan 33 dagen, selecteer een kortere periode, gezien het per dag wordt opgehaald. De periode is gezet op ' +\r\n period.from +\r\n ' tot ' +\r\n period.until +\r\n '.',\r\n );\r\n return period;\r\n }\r\n\r\n return period;\r\n }\r\n}\r\n\r\nexport interface Period {\r\n name: string;\r\n step: Granularity;\r\n period?: Granularity; // to delete\r\n steps?: number;\r\n custom?: boolean;\r\n from?: Moment | string;\r\n until?: Moment | string;\r\n}\r\n\r\nexport const PeriodsWithGranularitySteps: Period[] = [\r\n {\r\n name: 'Vandaag',\r\n period: Granularity.Day,\r\n step: Granularity.Day,\r\n steps: 1,\r\n from: moment().format('YYYY-MM-DD'),\r\n until: null,\r\n },\r\n {\r\n name: 'Gisteren',\r\n period: Granularity.Day,\r\n step: Granularity.Day,\r\n steps: 1,\r\n from: moment().subtract(1, 'days').format('YYYY-MM-DD'),\r\n until: moment().format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Afgelopen 7 dagen',\r\n period: Granularity.Week,\r\n step: Granularity.Day,\r\n steps: 7,\r\n from: moment().subtract(7, 'days').format('YYYY-MM-DD'),\r\n until: moment().format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Afgelopen 2 weken',\r\n period: Granularity.Week,\r\n step: Granularity.Day,\r\n steps: 14,\r\n from: moment().subtract(14, 'days').format('YYYY-MM-DD'),\r\n until: moment().format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Afgelopen 4 weken',\r\n period: Granularity.Month,\r\n step: Granularity.Week,\r\n steps: 4,\r\n from: moment().subtract(4, 'weeks').format('YYYY-MM-DD'),\r\n until: moment().format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Afgelopen 12 weken',\r\n period: Granularity.Week,\r\n step: Granularity.Week,\r\n steps: 12,\r\n from: moment().subtract(12, 'weeks').format('YYYY-MM-DD'),\r\n until: moment().format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Afgelopen Jaar',\r\n period: Granularity.Year,\r\n step: Granularity.Month,\r\n steps: 12,\r\n from: moment().subtract(1, 'year').format('YYYY-MM-DD'),\r\n until: moment().format('YYYY-MM-DD'),\r\n },\r\n];\r\n","\r\n\r\n\r\n\r\n\r\n
{{period.name}}
\r\n
Selecteer maand
\r\n
Aangepast
\r\n
\r\n\r\n\r\n
{{month.name}}\r\n
\r\n
\r\n\r\n\r\n Kies periode\r\n\r\n\r\n\r\n
\r\n Selecteer < 32 dagen
\r\n \r\n \r\n \r\n \r\n \r\n   \r\n \r\n \r\n \r\n \r\n \r\n
","import { ErrorService } from 'src/app/services/ErrorService';\r\nimport { SearchHistoryService } from 'src/app/services/search-history.service';\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'search-comp',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.scss'],\r\n})\r\nexport class SearchComponent implements OnInit {\r\n @Output() searchEvent: EventEmitter = new EventEmitter();\r\n\r\n @Input() placeholder?: string = 'Zoeken';\r\n @Input() validate: boolean = true;\r\n @Input() searchString: string;\r\n\r\n searchForm: UntypedFormControl;\r\n history: boolean = false;\r\n searchhistory: String[] = this.searchHistoryService.getSearcHistoryItems().reverse();\r\n\r\n constructor(private searchHistoryService: SearchHistoryService, private errorService: ErrorService) { }\r\n\r\n ngOnInit() {\r\n this.searchForm = new UntypedFormControl(this.searchString, [Validators.minLength(2), Validators.required]);\r\n }\r\n\r\n detectKeyboardInput(event) {\r\n if (event.key == 'Enter') {\r\n let eventToEmit: searchEvent = {\r\n searchString: this.searchForm.value,\r\n shortcut: event.ctrlKey === true ? true : false,\r\n };\r\n this.search(eventToEmit);\r\n }\r\n }\r\n\r\n search(event?) {\r\n if (!event && this.searchForm.status === 'INVALID') {\r\n return this.errorService.addError('Voer geldige zoekterm in...');\r\n }\r\n\r\n let createdEventToEmit: searchEvent;\r\n if (!event) {\r\n createdEventToEmit = {\r\n searchString: this.searchForm.value,\r\n shortcut: false,\r\n };\r\n }\r\n let toEmit = event ? event : createdEventToEmit;\r\n this.searchEvent.emit(toEmit);\r\n this.searchHistoryService.setSearcHistoryItems(toEmit.searchString);\r\n this.updateSearchHistory();\r\n }\r\n\r\n searchFromHistory(searchValue) {\r\n this.searchString = searchValue;\r\n this.searchForm.patchValue(this.searchString);\r\n\r\n let event: searchEvent = {\r\n searchString: searchValue,\r\n shortcut: false,\r\n };\r\n this.search(event);\r\n }\r\n\r\n updateSearchHistory() {\r\n this.searchhistory = this.searchHistoryService.getSearcHistoryItems().reverse();\r\n }\r\n\r\n deleteHistory() {\r\n this.searchHistoryService.clearSearchHistoryItems();\r\n this.updateSearchHistory();\r\n }\r\n}\r\n\r\nexport interface searchEvent {\r\n searchString: string;\r\n shortcut: boolean;\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
0\">\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n {{searchValue}} \r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { TranslationFromMemoryOrApiService } from '../services/translation-from-memory-or-api.service';\r\n\r\n@Component({\r\n selector: 'translation',\r\n template: `{{ translation }}`,\r\n})\r\nexport class TranslationComponent implements OnInit {\r\n @Input() domain: string = 'Frontend';\r\n @Input() category: string = 'Frontend';\r\n @Input() name: string;\r\n\r\n public translation: string;\r\n\r\n constructor(private translationFromMemoryOrApiService: TranslationFromMemoryOrApiService) { }\r\n\r\n ngOnInit() {\r\n this.translation = this.name;\r\n this.translation = this.translationFromMemoryOrApiService.getTranslation(this.domain, this.category, this.name);\r\n }\r\n}\r\n","import moment, { Moment } from 'moment';\r\n\r\n// Rename to Domain instead of connection. Cause hèy, it's really that.\r\nimport { MOMENT_DATE_FORMAT, MOMENT_TIME_FORMAT } from './constants';\r\nimport { StringToEnum } from './helpers/EnumHelper';\r\nimport { ExternalDossierId } from './modules/operations-api';\r\nimport { TimeTools } from './services/time-tools.service';\r\n\r\nexport class ObjectParser {\r\n public static readObject(key: string, value: any): any {\r\n if (typeof (value) === 'string' || typeof (value) === 'number' || typeof (value) === 'boolean' || value === null) {\r\n if (isNaN(Number(key)) && eval(\"typeof \" + key) !== 'undefined' && eval(\"typeof \" + key + \".readObject\") !== 'undefined') {\r\n return ObjectParser.fillOrRead(key, value);\r\n }\r\n // If the value is a zero and type a number it can be detected, and then returns 0. Is this where our zero's dissappear?\r\n //value === 0 ? console.log('0 found') : console.log('no 0')\r\n return value;\r\n } else if (Array.isArray(value)) {\r\n return ObjectParser.readArray(key, value);\r\n } else {\r\n try {\r\n return ObjectParser.fillOrRead(key, value);\r\n } catch (error) {\r\n console.error(error);\r\n console.error(\"Unable to create Object for key: \" + key + \":\" + typeof (value) + \":\" + value);\r\n throw new Error(\"Unable to create Object\");\r\n }\r\n }\r\n }\r\n public static fillObject(obj: T, map: any): T {\r\n let retObj = {};\r\n\r\n if (typeof obj === 'string') {\r\n\r\n retObj['_str'] = obj;\r\n return retObj as T;\r\n }\r\n\r\n retObj = { '_obj': obj };\r\n\r\n for (const key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n const parsed = ObjectParser.readObject(key, map[key]);\r\n if (parsed) {\r\n retObj[key] = parsed;\r\n }\r\n }\r\n }\r\n return retObj as unknown as T;\r\n }\r\n\r\n public static readArray(key: string, value: any): T[] {\r\n return value.map(c => ObjectParser.fillOrRead(key.substring(0, key.length - 1), c));\r\n }\r\n\r\n public static fillOrRead(key: string, value: any) {\r\n if (eval(\"typeof \" + key) === 'undefined') {\r\n // console.error(\"Class not found for \" + key + \" ,with value: \" + JSON.stringify(value));\r\n // Return null was changed to return value, this is to provide ProcessProgress with the context [{..}, {...}], else it returned [ null, null ]\r\n return value;\r\n }\r\n\r\n if (eval(\"typeof \" + key + \".readObject\") === 'undefined') {\r\n try {\r\n // var obj = eval(\"new \" + key + \"()\");\r\n return ObjectParser.fillObject(value, value);\r\n } catch (error) {\r\n console.error(\"No empty constructor for \" + key);\r\n // Return null was changed to return value, this is to provide ProcessProgress with the context [{..}, {...}], else it returned [ null, null ]\r\n return value;\r\n // return null;\r\n }\r\n } else {\r\n const filled = ObjectParser.fillObject(value, value);\r\n filled['_obj'] = value;\r\n return eval(key + '.readObject(filled)');\r\n }\r\n }\r\n}\r\n\r\nexport class Connection {\r\n public _obj: any;\r\n public Id: string;\r\n public ConnectionMeters: ConnectionMeter[];\r\n public ConnectionContacts: ConnectionContact[];\r\n public ConnectionProfiles: ConnectionProfile[];\r\n public CustomerConnections: CustomerConnection[];\r\n public ProductType: ProductType;\r\n public ConnectionClusters: ConnectionCluster[];\r\n public ConnectionConnectionCapacities: ConnectionConnectionCapacitie[];\r\n public ConnectionTariffSwitches: any[];\r\n public ConnectionLocations: ConnectionLocation[];\r\n public ConnectionSupplyTypes: ConnectionSupplyType[];\r\n // public ConnectionContextValues: ConnectionContextValue[]; // Turned off for dependency reasons, if changed, it breaks.\r\n public ConnectionContextValues: any[];\r\n // public TransactionDossierSteps: TransactionDossierStep[]; // Turned off for dependency reasons, if changed, it breaks.\r\n public ConnectionAllocationMethods: ConnectionAllocationMethod[];\r\n public ConnectionPhysicalStates: ConnectionPhysicalState[]; // toDefine\r\n public ExternalDossier: ExternalDossier[];\r\n public ConnectionEstimatedAnnualProsumptions: ConnectionEstimatedAnnualProsumption[];\r\n public ConnectionGridAreas: ConnectionGridArea[];\r\n public ConnectionGridOperators: ConnectionGridOperator[];\r\n\r\n public static readObject(map: any): Connection {\r\n const c = new Connection();\r\n // eslint-disable-next-line no-underscore-dangle\r\n c._obj = map;\r\n return ObjectParser.fillObject(c, map);\r\n }\r\n\r\n public toString = (): string => JSON.stringify(this);\r\n}\r\n\r\nexport class Page {\r\n public totalCount: number;\r\n public offset: number;\r\n public data: T[];\r\n constructor(totalCount: number, offset: number, data: T[]) {\r\n this.offset = offset;\r\n this.totalCount = totalCount;\r\n this.data = data;\r\n }\r\n\r\n public static readPageObject(map: any, pageType: string): Page {\r\n return new Page(map.TotalCount, map.Offset, ObjectParser.readArray(pageType + 's', map.Data) as T[]);\r\n }\r\n\r\n public static readArrayObject(items: any[], pageType: string): Page {\r\n return new Page(items.length, 0, ObjectParser.readArray(pageType + 's', items) as T[]);\r\n }\r\n}\r\nexport class MeasurementsPage extends Page{\r\n public static readObject(map: any): Page {\r\n return Page.readPageObject(map, \"Measurements\");\r\n }\r\n}\r\nexport class Timestamp {\r\n\r\n public moment: moment.Moment;\r\n\r\n constructor(moment: any) {\r\n this.moment = moment;\r\n // if(moment!=null){\r\n // // Check if it is a timestamp already, or just a moment\r\n // this.moment = moment(moment.moment === undefined ? moment : moment.moment)\r\n // //moment(moment.moment === undefined ? moment : moment.moment);\r\n // }\r\n }\r\n // this.moment = moment;\r\n public valueOf = (): number => this.moment.valueOf();\r\n\r\n\r\n public toString(format?: string, zoned?: boolean) {\r\n let retValue;\r\n if (zoned) {\r\n // console.log(this.moment.format())\r\n retValue = '' + this.moment.format() + (this.moment.tz() === undefined ? '' : (' ' + this.moment.tz()))\r\n return retValue\r\n }\r\n format = format != null ? format : 'LLLL';\r\n retValue = this.moment.format(format)\r\n return retValue\r\n }\r\n\r\n public toNodaZonedDateTimeString() {\r\n return this.moment.format('YYYY-MM-DDTHH:mm:ss:SSZ')\r\n }\r\n\r\n public static readObject(map: any): Timestamp {\r\n if (map == null) {\r\n return null;\r\n }\r\n\r\n if (map instanceof Timestamp) {\r\n return map;\r\n }\r\n\r\n if (map['_str']) {\r\n var split = map['_str'].split(' ');\r\n return new Timestamp(moment.tz(split[0], split[1]));\r\n }\r\n\r\n if (map.split === undefined) {\r\n // console.log('no split');\r\n // console.log(new Timestamp(moment(map)))\r\n return new Timestamp(moment(map));\r\n }\r\n var split = (map as any).split(' ');\r\n return new Timestamp(moment.tz(split[0], split[1]));\r\n }\r\n}\r\nexport class ModifiedTimestamp extends Timestamp {\r\n}\r\n\r\nexport enum BoundaryType {\r\n Open,\r\n Closed,\r\n}\r\nexport class DateRange {\r\n public From?: Timestamp;\r\n public Until?: Timestamp;\r\n public LowerBoundType: BoundaryType;\r\n public UpperBoundType: BoundaryType;\r\n\r\n constructor(from?: Timestamp, lowerBoundType?: BoundaryType, until?: Timestamp, upperBoundType?: BoundaryType) {\r\n this.From = from;\r\n this.Until = until;\r\n this.LowerBoundType = lowerBoundType == null ? BoundaryType.Open : lowerBoundType;\r\n this.UpperBoundType = upperBoundType == null ? BoundaryType.Open : upperBoundType;\r\n }\r\n public toRangeString(format: string): string {\r\n\r\n var retValue: string = \"\";\r\n if (this.LowerBoundType === BoundaryType.Closed) {\r\n retValue += '[';\r\n } else {\r\n retValue += '(';\r\n }\r\n if (this.From != null) {\r\n // retValue += this.From.toString(format, true);\r\n retValue += this.From.toString(format);\r\n }\r\n retValue += ',';\r\n if (this.Until != null) {\r\n // Does not yet work with the right timeformat\r\n // retValue += this.Until.toString(format, true);\r\n retValue += this.Until.toString(format);\r\n }\r\n if (this.UpperBoundType === BoundaryType.Closed) {\r\n retValue += ']';\r\n } else {\r\n retValue += ')';\r\n }\r\n return retValue;\r\n }\r\n public static readObject(map: any): DateRange {\r\n // console.log(map['From']);\r\n // console.log(map['Until']);\r\n\r\n if (map['From'] != null || map['Until'] != null) {\r\n return new DateRange(Timestamp.readObject(map['From']), BoundaryType.Closed, Timestamp.readObject(map['Until']), BoundaryType.Open);\r\n }\r\n var inputString = map as string;\r\n var lowerBoundType = inputString.startsWith('(') ? BoundaryType.Open : BoundaryType.Closed;\r\n var upperBoundType = inputString.endsWith(')') ? BoundaryType.Open : BoundaryType.Closed;\r\n var bounds = inputString.replace('(', '').replace('[', '').replace(')', '').replace(']', '').split(',');\r\n var from = (bounds[0] == \"\" || bounds[0] == \"?\") ? null : Timestamp.readObject(bounds[0]);\r\n var until = (bounds[1] == \"\" || bounds[1] == \"?\") ? null : Timestamp.readObject(bounds[1]);\r\n return new DateRange(from, lowerBoundType, until, upperBoundType);\r\n }\r\n}\r\n\r\n\r\nexport class Interval {\r\n constructor(\r\n public From?: moment.Moment,\r\n public Until?: moment.Moment\r\n ) { }\r\n\r\n public static readObject(map: any): Interval {\r\n if (typeof map.From === 'string') {\r\n map = { '_str': map };\r\n }\r\n if (typeof map === 'string') {\r\n\r\n map = { '_str': map };\r\n }\r\n\r\n if (map['From'] && moment.isMoment(map['From'])) {\r\n return new Interval(\r\n map['From'],\r\n map['Until']\r\n );\r\n }\r\n\r\n if (map['From'] && map.From.UtcDateTime && map.From.Zone) {\r\n return new Interval(\r\n moment.utc(map.From.UtcDateTime).tz(map.From.Zone),\r\n moment.utc(map.Until.UtcDateTime).tz(map.Until.Zone)\r\n );\r\n }\r\n\r\n if (map['_str']) {\r\n\r\n let dr = DateRange.readObject(map['_str']);\r\n // console.log(new Interval(dr.From, dr.Until));\r\n return new Interval(dr.From != null ? dr.From.moment : null, dr.Until != null ? dr.Until.moment : null);\r\n }\r\n\r\n return new Interval(\r\n TimeTools.utcDateTimeObjectToMoment(map['From']),\r\n TimeTools.utcDateTimeObjectToMoment(map['Until'])\r\n );\r\n }\r\n\r\n public toDateRangeString(): string {\r\n return this.toRangeString(MOMENT_DATE_FORMAT);\r\n }\r\n public toDateTimeRangeString(): string {\r\n return this.toRangeString(MOMENT_TIME_FORMAT);\r\n }\r\n\r\n public ToDateRange(): DateRange {\r\n return new DateRange(\r\n this.From ? new Timestamp(this.From) : null,\r\n BoundaryType.Closed,\r\n this.Until ? new Timestamp(this.Until) : null,\r\n BoundaryType.Open);\r\n }\r\n\r\n public toRangeString(format: string): string {\r\n var retValue = \"[\";\r\n retValue += this.From != null ? this.From.local().format(format) : '';\r\n retValue += \",\"\r\n retValue += this.Until != null ? this.Until.local().format(format) : '';\r\n retValue += \")\"\r\n return retValue;\r\n }\r\n public toClosedDateRangeString(format: string): string {\r\n var retValue = \"[\";\r\n retValue += this.From != null ? this.From.local().format(format) : '';\r\n retValue += \",\"\r\n retValue += this.Until != null ? this.Until.local().format(format) : '';\r\n retValue += \"]\"\r\n return retValue;\r\n }\r\n\r\n public days(): number {\r\n return this.Until == null || this.From == null ? -1 : this.Until.diff(this.From, 'days');\r\n }\r\n\r\n public durationInGranularity(granularity?: Granularity): number {\r\n return this.Until && this.From ? this.Until.diff(this.From, granularity as any) : null;\r\n }\r\n}\r\n\r\nexport class PersonalName {\r\n}\r\nexport class Address {\r\n}\r\nexport class ConnectionLocation {\r\n constructor(\r\n public Address: Address,\r\n public Interval: Interval,\r\n public Legislation: Legislation,\r\n ) { }\r\n\r\n public static readObject(map: any): ConnectionLocation {\r\n return new ConnectionLocation(map.Address, map.Interval, map.Legislation);\r\n }\r\n}\r\n\r\nexport class ExternalDossier {\r\n constructor(\r\n public id: ExternalDossierId,\r\n public eventTimestamp: Timestamp,\r\n public mutation: string,\r\n public operatorDossierId?: string,\r\n public event?: string,\r\n ) { }\r\n\r\n public static readObject(map: any): ExternalDossier {\r\n return new ExternalDossier(\r\n map.Id,\r\n Timestamp.readObject(map['EventTimestamp']),\r\n map.Mutation,\r\n map.OperatorDossierId,\r\n map.Event,\r\n );\r\n }\r\n}\r\n\r\nexport class ConnectionProfile {\r\n ProfileId: string;\r\n Interval: Interval;\r\n\r\n public static readObject(map: any): ConnectionProfile {\r\n const mp = map as ConnectionProfile;\r\n return mp;\r\n }\r\n}\r\n\r\nexport class Cluster {\r\n constructor(\r\n public clusterName: string,\r\n public clusterType: string,\r\n public clusterTypeName: string,\r\n public connectionCluster: ConnectionIdWithInterval[],\r\n public tenantName?: string,\r\n public tenant?: Tenant,\r\n ) { }\r\n public static readObject(map: any): Cluster {\r\n const connectionCluster = map.ConnectionCluster.map(cc => ObjectParser.readObject('ConnectionIdWithInterval', cc));\r\n return new Cluster(\r\n map.ClusterName,\r\n map.ClusterType,\r\n map.ClusterTypeName,\r\n connectionCluster,\r\n map.TenantName,\r\n map.Tenant,\r\n );\r\n }\r\n}\r\n\r\nexport interface ICluster extends Cluster {\r\n isActive: boolean,\r\n}\r\n\r\nexport class ConnectionIdWithInterval {\r\n constructor(\r\n public connectionId: ClusterId,\r\n public from: Timestamp,\r\n public until?: Timestamp,\r\n ) { }\r\n public static readObject(map: any): ConnectionIdWithInterval {\r\n\r\n return new ConnectionIdWithInterval(\r\n map.ConnectionId,\r\n Timestamp.readObject(map.From),\r\n Timestamp.readObject(map.Until)\r\n );\r\n }\r\n}\r\n\r\nexport class ConnectionCluster {\r\n constructor(\r\n public clusterId: ClusterId,\r\n public interval: Interval\r\n ) { }\r\n public static readObject(map: any): ConnectionCluster {\r\n return new ConnectionCluster(\r\n map.ClusterId,\r\n map.Interval\r\n );\r\n }\r\n}\r\n\r\nexport class ClusterId {\r\n constructor(\r\n public name: string,\r\n public clusterType: string,\r\n public tenant?: string\r\n ) { }\r\n public static readObject(map: any): ClusterId {\r\n return new ClusterId(map.Name, map.ClusterType, map.Tenant);\r\n }\r\n}\r\n\r\nexport class TransactionDossierStepId {\r\n constructor(\r\n public mutationReason: MeasurementMutationReason,\r\n public transactionDossierId: TransactionDossierStepId\r\n ) { }\r\n public static readObject(map: any): TransactionDossierStepId {\r\n return new TransactionDossierStepId(map.MutationReason, map.TransactionDossierId);\r\n }\r\n}\r\n\r\nexport class ConnectionContact {\r\n public FromDb: Timestamp;\r\n public UntilDb: Timestamp;\r\n public Contact: ConnectionContactContact;\r\n\r\n public static readObject(map: any): ConnectionContact {\r\n var mp = map as ConnectionContact;\r\n mp.FromDb = Timestamp.readObject(map[\"FromDb\"]);\r\n mp.UntilDb = Timestamp.readObject(map[\"ModifiedUntilDbTimestamp\"]);\r\n mp.Contact = ConnectionContactContact.readObject(map[\"Contact\"]);\r\n return mp;\r\n }\r\n}\r\n\r\nexport class ConnectionContactContact {\r\n public Id: string;\r\n public Name: string;\r\n public PersonalName: string;\r\n public PhoneNumberLandLine: string;\r\n public PhoneNumberMobile: string;\r\n public Email: string;\r\n public Address: ConnectionContactContactAddress;\r\n public ConnectionContacts: any;\r\n\r\n public static readObject(map: any): ConnectionContactContact {\r\n var mp = map as ConnectionContactContact;\r\n mp.Address = ConnectionContactContactAddress.readObject(map[\"Address\"]);\r\n return mp;\r\n }\r\n}\r\nexport class ConnectionContactContactAddress {\r\n public Street: string;\r\n public LocationOnStreet: string;\r\n public Postcode: string;\r\n public City: string;\r\n\r\n public static readObject(map: any): ConnectionContactContactAddress {\r\n var mp = map as ConnectionContactContactAddress;\r\n return mp;\r\n }\r\n}\r\nexport class ConnectionEstimatedAnnualProsumption {\r\n public Tariff?: Tariff;\r\n public Interval?: Interval;\r\n public Prosumption?: Prosumption;\r\n\r\n public static readObject(map: any): ConnectionEstimatedAnnualProsumption {\r\n return map as ConnectionEstimatedAnnualProsumption;\r\n }\r\n}\r\n\r\n\r\n\r\nexport class Contact {\r\n}\r\nexport class Location {\r\n}\r\n\r\nexport class CustomerLocation {\r\n}\r\nexport class ConnectionSupplyType {\r\n constructor(\r\n public supplyType: SupplyType,\r\n public Interval: Interval,\r\n ) { }\r\n public toString = (): string => {\r\n return JSON.stringify(this);\r\n }\r\n public static readObject(map: any): ConnectionSupplyType {\r\n return new ConnectionSupplyType(map.SupplyType, map.Interval);\r\n }\r\n}\r\n\r\nexport class ConnectionMeter {\r\n constructor(\r\n public Meter: Meter,\r\n public Interval: Interval,\r\n public TelemetryIsOperational: boolean,\r\n public ExternalId\r\n ) { }\r\n\r\n public static readObject(map: any): ConnectionMeter {\r\n return new ConnectionMeter(map.Meter, map.Interval, map.TelemetryIsOperational, map.ExternalId);\r\n }\r\n\r\n public toString = (): string => JSON.stringify(this);\r\n}\r\n\r\nexport class MeasurementDisplay {\r\n SupplyType: SupplyType;\r\n Tariff: Tariff;\r\n MultiplicationFactor: Number;\r\n Digits: Number;\r\n ExternalId: string;\r\n\r\n public static readObject(map: any): MeasurementDisplay {\r\n var mp = map as MeasurementDisplay;\r\n mp.SupplyType = SupplyType[map[\"SupplyType\"]] as unknown as SupplyType\r\n if (map['Tariff'] == \"Low\") {\r\n mp.Tariff = Tariff.low;\r\n }\r\n else if (map['Tariff'] == \"Normal\") {\r\n mp.Tariff = Tariff.normal;\r\n }\r\n\r\n return mp;\r\n }\r\n}\r\nexport class ConnectionGridOperator {\r\n constructor (\r\n public gridOperatorId: any,\r\n public interval?: Interval,\r\n ) {}\r\n public static readObject(map: any): ConnectionGridOperator {\r\n return new ConnectionGridOperator(map.GridOperatorId, map.Interval);\r\n }\r\n public toString = (): string => JSON.stringify(this);\r\n}\r\nexport class ConnectionGridArea {\r\n constructor(\r\n public gridAreaId: any,\r\n public interval?: Interval\r\n ) {}\r\n public static readObject(map: any): ConnectionGridArea { \r\n return new ConnectionGridArea(map.GridAreaId, map.Interval);\r\n }\r\n public toString = (): string => JSON.stringify(this);\r\n}\r\nexport class ConnectionTariffSwitche {\r\n Interval: Interval;\r\n TariffSwitch: string;\r\n}\r\nexport class ConnectionConnectionCapacitie {\r\n constructor(\r\n public ConnectionCapacity: string,\r\n public ExternalId: string,\r\n public Interval: Interval\r\n ) {}\r\n\r\n public static readObject(map: any): ConnectionConnectionCapacitie {\r\n return map as ConnectionConnectionCapacitie;\r\n }\r\n}\r\n// export class ConnectionSupplyType {\r\n// Interval :Interval;\r\n// SupplyType :string;\r\n// }\r\nexport class ConnectionPhysicalStates {\r\n Interval: ConnectionPhysicalState\r\n}\r\nexport class ConnectionPhysicalState {\r\n Interval: Interval;\r\n PhysicalState: string;\r\n}\r\nexport class CustomerConnection {\r\n // public Customer :any;\r\n // public Interval :Interval;\r\n constructor(\r\n public Customer: any,\r\n public Interval: Interval,\r\n ) { }\r\n public static readObject(map: any): CustomerConnection {\r\n return new CustomerConnection(map.Customer, map.Interval)\r\n }\r\n}\r\nexport enum ProductType {\r\n Electricity = \"Electricity\",\r\n Gas = \"Gas\",\r\n}\r\n\r\nexport enum MarketType {\r\n Apx = \"Apx\",\r\n Leba = \"Leba\",\r\n}\r\n\r\nexport enum Legislation {\r\n NL = \"NL\",\r\n BE = \"BE\",\r\n}\r\nexport enum Granularity {\r\n QuarterHour = \"QuarterHour\",\r\n Hour = \"Hour\",\r\n Day = \"Day\",\r\n Week = \"Week\",\r\n Month = \"Month\",\r\n QuarterYear = \"QuarterYear\",\r\n Year = \"Year\",\r\n}\r\nexport class ConnectionForecast {\r\n ConnectionId: string;\r\n Interval: Interval;\r\n ConsumptionMedian: number;\r\n ProductionMedian: number;\r\n CustomerId?: string;\r\n ForecastDay?: ForecastDay;\r\n}\r\n\r\nexport enum ForecastDay {\r\n IDM,\r\n DAM,\r\n DAM2,\r\n DAM3,\r\n DAM4,\r\n DAM5,\r\n}\r\n\r\nexport enum Process {\r\n MeasurementCollection,\r\n MeasurementCollectionStartOfDay,\r\n MeasurementCollectionSmallestGranularity,\r\n ConsolidationCorrection,\r\n ConsolidationDistribution,\r\n ConsolidationLargeCapacityDistribution,\r\n ConsolidationDataCompletion,\r\n ConsolidationEstimation,\r\n AggregationConsumption,\r\n AggregationAllocation,\r\n AggregationReconciled,\r\n MeasurementCorrection,\r\n MeasurementEstimation,\r\n MeasurementDistribution,\r\n ConsumptionMoneyDetermination,\r\n ConsumptionAggregation,\r\n AreaTemperatureCollection,\r\n MeasurementCollectionRequest,\r\n MeasurementCollectionResponse,\r\n MeasurementCollectionP4Registration,\r\n MeasurementCollectionMeterReading,\r\n MeasurementCommunication,\r\n MeasurementsToSubmitDetermination,\r\n PriceCollectionApx,\r\n PriceCollectionLeba,\r\n AllocationBySupplierCalculation,\r\n ReconciliationBySupplierEstimation,\r\n ForecastCollectionDexterCluster,\r\n ForecastCollectionDexterConnection\r\n\r\n}\r\nexport class Customer {\r\n public Id: Number;\r\n public Name: string;\r\n public toString = (): string => {\r\n return JSON.stringify(this);\r\n }\r\n}\r\nexport class InvoiceContact extends Contact {\r\n}\r\nexport class PurchaseContact {\r\n}\r\nexport class AuthorizedRepresentative {\r\n}\r\nexport class ConnectionAllocationMethod {\r\n constructor(\r\n public interval: Interval,\r\n public allocationMethod: AllocationType, // AllocationType: Profile or Telemetric Enums\r\n ) { }\r\n public static readObject(map: any): ConnectionAllocationMethod {\r\n return new ConnectionAllocationMethod(map.Interval, map.AllocationMethod);\r\n }\r\n}\r\n\r\nexport class Meter {\r\n\r\n constructor(\r\n public Id: string,\r\n public CorrectForEnergyPerVolumeDueToTemperature: boolean,\r\n public IsTelemeter: boolean,\r\n public MeasurementDisplays: MeasurementDisplay[]\r\n ) { }\r\n\r\n public static readObject(map: any): Meter {\r\n //without using _obj this property remains undefined somewhere in the fill/read object methods this property wont be mapped\r\n return new Meter(map.Id, map._obj === undefined || map._obj === null ? false: map._obj.CorrectForEnergyPerVolumeDueToTemperature, map.IsTelemeter, map.MeasurementDisplays);\r\n }\r\n\r\n public toString = (): string => JSON.stringify(this);\r\n}\r\nexport class TariffSwitch {\r\n}\r\n\r\nexport class ConnectionCapacity {\r\n}\r\nexport class EstimatedAnnualProsumption {\r\n}\r\nexport class Profile {\r\n ProfileId: string;\r\n Interval: Interval;\r\n}\r\nexport enum SupplyType {\r\n Production = \"Production\",\r\n Consumption = \"Consumption\",\r\n Prosumption = \"Prosumption\"\r\n}\r\nexport class PhysicalState {\r\n}\r\nexport enum Tenant {\r\n NieuweStroom = \"NieuweStroom\",\r\n EasyEnergy = \"EasyEnergy\"\r\n}\r\n\r\nexport enum MeasurementReadingMethod {\r\n Invalid = \"Invalid\",\r\n Agreed = \"Agreed\",\r\n Calculated = \"Calculated\",\r\n CalculatedByBalanceSupplier = \"CalculatedByBalanceSupplier\",\r\n Estimated = \"Estimated\",\r\n Recorded = \"Recorded\",\r\n RecordedByCustomer = \"RecordedByCustomer\",\r\n RecordedByBalanceSupplier = \"RecordedByBalanceSupplier\",\r\n}\r\n\r\nexport enum AllocationType {\r\n Profile = \"Profile\",\r\n Telemetric = \"Telemetric\",\r\n}\r\n\r\nexport enum MeasurementMutationReason {\r\n invalid = \"invalid\",\r\n BULKPV = \"BULKPV\",\r\n CONNACT = \"CONNACT\",\r\n CONNCHG = \"CONNCHG\",\r\n CONNCRE = \"CONNCRE\",\r\n CONNDACT = \"CONNDACT\",\r\n CONNEND = \"CONNEND\",\r\n CONNUPD = \"CONNUPD\",\r\n CONSMTR = \"CONSMTR\",\r\n DISPUTE = \"DISPUTE\",\r\n DSTRCONN = \"DSTRCONN\",\r\n DSTRMSTR = \"DSTRMSTR\",\r\n ENDOFMV = \"ENDOFMV\",\r\n EOSUPPLY = \"EOSUPPLY\",\r\n HISTMTR = \"HISTMTR\",\r\n MOVEIN = \"MOVEIN\",\r\n MOVEOUT = \"MOVEOUT\",\r\n MTREND = \"MTREND\",\r\n MTRINST = \"MTRINST\",\r\n MTRUPD = \"MTRUPD\",\r\n NAMECHG = \"NAMECHG\",\r\n NMCRSCMP = \"NMCRSCMP\",\r\n PERMTR = \"PERMTR\", // Periodieke meterstand\r\n PHYSMTR = \"PHYSMTR\",\r\n RESCOMP = \"RESCOMP\",\r\n SWITCHLV = \"SWITCHLV\",\r\n SWITCHMV = \"SWITCHMV\",\r\n SWITCHPV = \"SWITCHPV\",\r\n SWTCHUPD = \"SWTCHUPD\",\r\n ALLMTCHG = \"ALLMTCHG\",\r\n MONTHMTR = \"MONTHMTR\",\r\n INDHSE = \"INDHSE\",\r\n INDHSH = \"INDHSH\",\r\n MDMD = \"MDMD\",\r\n MDPPMD = \"MDPPMD\",\r\n ONRQST = \"ONRQST\",\r\n CONTRCAN = \"CONTRCAN\",\r\n CONTRDAT = \"CONTRDAT\",\r\n CONTRMOV = \"CONTRMOV\",\r\n CERCANCELLATION = \"CERCANCELLATION\",\r\n MOVETOT = \"MOVETOT\", // Custom Frontend enum\r\n SWITCHTOT = \"SWITCHTOT\", // Custom Frontend enum\r\n}\r\n\r\nexport class CustomerConnectionSendMeasurementCommunication {\r\n constructor(\r\n public connectionId: string,\r\n public mmcEnabled: boolean,\r\n public blockedUntil?: Moment\r\n ) { }\r\n\r\n public static readObject(map: any): CustomerConnectionSendMeasurementCommunication {\r\n // only way to read a boolean from the map, for initialization\r\n let boolean = map['_obj'].MMCEnabled;\r\n const blockedUntil = map['_obj'].BlockedUntil;\r\n return new CustomerConnectionSendMeasurementCommunication(\r\n map.ConnectionId,\r\n boolean,\r\n blockedUntil\r\n )\r\n }\r\n}\r\n\r\nexport enum Enums {\r\n MeasurementSource = 'MeasurementSource',\r\n MeasurementMutationReason = \"MeasurementMutationReason\",\r\n MeasurementReadingMethod = \"MeasurementReadingMethod\",\r\n Granularity = \"Granularity\",\r\n Process = \"Process\",\r\n IssueType = \"IssueType\",\r\n Tenant = \"Tenant\",\r\n MutationState = \"MutationState\",\r\n MutationReason = \"MutationReason\",\r\n DataTransferMessageType = \"DataTransferMessageType\",\r\n DataTransferMessageDirection = \"DataTransferMessageDirection\",\r\n ClusterType = \"ClusterType\"\r\n}\r\n\r\nexport class MeasurementMutationReasonClass {\r\n public invalid: MeasurementMutationReason;\r\n public BULKPV: MeasurementMutationReason;\r\n public CONNACT: MeasurementMutationReason;\r\n public CONNCHG: MeasurementMutationReason;\r\n public CONNCRE: MeasurementMutationReason;\r\n public CONNDACT: MeasurementMutationReason;\r\n public CONNEND: MeasurementMutationReason;\r\n public CONNUPD: MeasurementMutationReason;\r\n public CONSMTR: MeasurementMutationReason;\r\n public DISPUTE: MeasurementMutationReason;\r\n public DSTRCONN: MeasurementMutationReason;\r\n public DSTRMSTR: MeasurementMutationReason;\r\n public ENDOFMV: MeasurementMutationReason;\r\n public EOSUPPLY: MeasurementMutationReason;\r\n public HISTMTR: MeasurementMutationReason;\r\n public MOVEIN: MeasurementMutationReason;\r\n public MOVEOUT: MeasurementMutationReason;\r\n public MTREND: MeasurementMutationReason;\r\n public MTRINST: MeasurementMutationReason;\r\n public MTRUPD: MeasurementMutationReason;\r\n public NAMECHG: MeasurementMutationReason;\r\n public NMCRSCMP: MeasurementMutationReason;\r\n public PERMTR: MeasurementMutationReason;\r\n public PHYSMTR: MeasurementMutationReason;\r\n public RESCOMP: MeasurementMutationReason;\r\n public SWITCHLV: MeasurementMutationReason;\r\n public SWITCHMV: MeasurementMutationReason;\r\n public SWITCHPV: MeasurementMutationReason;\r\n public SWTCHUPD: MeasurementMutationReason;\r\n public ALLMTCHG: MeasurementMutationReason;\r\n public MONTHMTR: MeasurementMutationReason;\r\n public INDHSE: MeasurementMutationReason;\r\n public INDHSH: MeasurementMutationReason;\r\n public MDMD: MeasurementMutationReason;\r\n public MDPPMD: MeasurementMutationReason;\r\n public ONRQST: MeasurementMutationReason;\r\n public CONTRCAN: MeasurementMutationReason;\r\n public CONTRDAT: MeasurementMutationReason;\r\n public CONTRMOV: MeasurementMutationReason;\r\n public CERCANCELLATION: MeasurementMutationReason;\r\n\r\n public toString = (): string => {\r\n return JSON.stringify(this);\r\n }\r\n}\r\n\r\nexport class Lock {\r\n public Id: string;\r\n public Name: string;\r\n public toString = (): string => {\r\n return JSON.stringify(this);\r\n }\r\n}\r\nexport class Issue {\r\n public Id: string;\r\n public IssueType: string;\r\n public Subject: string;\r\n public ConnectionId: string;\r\n public Context?: any;\r\n public Tenant?: string;\r\n public From: Timestamp;\r\n public Until?: Timestamp;\r\n public Interval?: Interval;\r\n public ContextInterval?: Interval;\r\n public ContextFrom?: Timestamp;\r\n public ContextUntil?: Timestamp;\r\n public ModifiedTimestamp?: Timestamp;\r\n public archivedIssue: boolean;\r\n public Urgency: string;\r\n public Assignee: string;\r\n public CustomerId: Number;\r\n\r\n public toString = (): string => {\r\n return JSON.stringify(this);\r\n }\r\n public static readObject(map: any): Issue {\r\n var mp: Issue = map as Issue;\r\n\r\n\r\n if (typeof map['Context'] === 'object') {\r\n // It is an object for ConsolidationDataCompletion_ClosedConsumptionQuantitiesMismatch > Quantities do not match. Has a message.\r\n if (mp.Context.Message != undefined) {\r\n mp.Context = mp.Context.Message\r\n } else {\r\n // returns [object object]\r\n }\r\n }\r\n\r\n mp.archivedIssue = false;\r\n if (map['Until']) {\r\n mp.Until = map[\"Until\"] == null ? null : Timestamp.readObject(map[\"Until\"]);\r\n mp.archivedIssue = map[\"Until\"] == null ? false : true;\r\n }\r\n mp.From = map[\"From\"] == null ? null : Timestamp.readObject(map[\"From\"]);\r\n let interval;\r\n if (map['Interval']) {\r\n interval = map[\"Interval\"] == null ? null : map.Interval;\r\n }\r\n\r\n let contextInterval;\r\n if (map['ContextInterval']) {\r\n contextInterval = Interval.readObject(map[\"ContextInterval\"]);\r\n }\r\n mp.ContextFrom = contextInterval.From == undefined ? null : contextInterval.From;\r\n mp.ContextUntil = contextInterval.Until == undefined ? null : contextInterval.Until;\r\n\r\n let returnValue = new Issue();\r\n returnValue.Id = mp.Id;\r\n returnValue.IssueType = mp.IssueType;\r\n returnValue.Subject = mp.Subject;\r\n returnValue.ConnectionId = mp.ConnectionId;\r\n returnValue.Context = mp.Context;\r\n returnValue.Tenant = mp.Tenant;\r\n returnValue.From = mp.From;\r\n returnValue.Until = mp.Until;\r\n returnValue.Interval = interval;\r\n returnValue.ContextInterval = contextInterval;\r\n returnValue.ContextFrom = mp.ContextFrom;\r\n returnValue.ContextUntil = mp.ContextUntil;\r\n returnValue.ModifiedTimestamp = mp.ModifiedTimestamp;\r\n returnValue.archivedIssue = mp.archivedIssue;\r\n returnValue.Assignee = mp.Assignee;\r\n returnValue.Urgency = mp.Urgency;\r\n returnValue.CustomerId = mp.CustomerId;\r\n\r\n return returnValue;\r\n }\r\n}\r\nexport class IssueCountPerIssueTypeAndSubject {\r\n IssueType: string;\r\n Subject: string;\r\n Count: number;\r\n}\r\n\r\nexport class IssueWithConnection {\r\n public toString = (): string => {\r\n return JSON.stringify(this);\r\n }\r\n}\r\nexport enum MeasurementSource {\r\n Telemeter = \"Telemeter\",\r\n DataCorrector = \"DataCorrector\",\r\n DataSplitter = \"DataSplitter\",\r\n DataEstimator = \"DataEstimator\",\r\n GridOperator = \"GridOperator\",\r\n Supplier = \"Supplier\",\r\n Customer = \"Customer\"\r\n}\r\nexport enum Tariff {\r\n normal = \"Normal\",\r\n low = \"Low\",\r\n}\r\n\r\nexport class LocalDate {\r\n public LocalDate: string;\r\n\r\n constructor(localDate: string) {\r\n this.LocalDate = localDate;\r\n }\r\n public valueOf = (): number => moment(this.LocalDate).valueOf();\r\n public moment = (): moment.Moment => moment(this.LocalDate);\r\n public toString = (): string => {\r\n return JSON.stringify(this);\r\n }\r\n}\r\n\r\n// Consumptions and Measurement Prosumptions/Quantities\r\n\r\nexport class Prosumption {\r\n\r\n constructor(\r\n public Consumption: number,\r\n public Production: number,\r\n ) { }\r\n\r\n public static readObject(map: any): Prosumption {\r\n // TypeScript is somewhat funkey with 0's and doesn't initialize.\r\n // Check Albert on 2020-01-01 and 2020-02-19 and use get historically, gets nulls and 0's\r\n // _obj was use for testing and works, it's likely somewhere in the conversion of the API object using readObject.\r\n\r\n // A nullcheck is done, if no prosumption is returned, the _obj is not present, so then use the empty map.Consumption\r\n let cons = map[\"_obj\"] != undefined ? map[\"_obj\"].Consumption : map.Consumption\r\n let prod = map[\"_obj\"] != undefined ? map[\"_obj\"].Production : map.Production\r\n\r\n return new Prosumption(cons, prod);\r\n }\r\n}\r\n\r\nexport class QuantityWithCost {\r\n public QuantityMeasured?: number // Measured, without correction and factors of temperature\r\n public Quantity?: number // The factor quantity that should be shown\r\n public Cost?: number\r\n\r\n constructor(quantityMeasured?: number, quantity?: number, cost?: number) {\r\n this.QuantityMeasured = quantityMeasured;\r\n this.Quantity = quantity;\r\n this.Cost = cost;\r\n }\r\n}\r\n\r\nexport class Quantities {\r\n public Quantity: number\r\n public Cost: number\r\n}\r\n\r\nexport class ProsumptionQuantitiesWithMeasured {\r\n public Consumption?: QuantityWithCost\r\n public Production?: QuantityWithCost\r\n\r\n constructor(consumption?: QuantityWithCost, production?: QuantityWithCost) {\r\n this.Consumption = consumption;\r\n this.Production = production;\r\n }\r\n}\r\n\r\n///////\r\n\r\nexport class ConsumptionPerGranularityInterval {\r\n public Id: ConsumptionPerGranularityIntervalId;\r\n public ModifiedTimestamp: Timestamp;\r\n public MutationState: string;\r\n public ProductType: ProductType;\r\n public Prosumption: ProsumptionQuantitiesWithMeasured;\r\n public Tenant?: Tenant\r\n\r\n public static readObject(map: any): ConsumptionPerGranularityInterval {\r\n var mp = map as ConsumptionPerGranularityInterval;\r\n mp.Id = ConsumptionPerGranularityIntervalId.readObject(map[\"Id\"]);\r\n mp.ModifiedTimestamp = Timestamp.readObject(map[\"ModifiedTimestamp\"]);\r\n return mp;\r\n }\r\n}\r\nexport class ConsumptionPerGranularityIntervalId {\r\n public ConnectionId: string;\r\n public CustomerId?: Number;\r\n public From: Timestamp;\r\n public Granularity: Granularity\r\n public Interval: DateRange;\r\n public Tariff?: Tariff;\r\n\r\n\r\n\r\n public static readObject(map: any): ConsumptionPerGranularityIntervalId {\r\n var mp = map as ConsumptionPerGranularityIntervalId;\r\n // mp.Tariff = StringToEnum(Tariff, (map[\"Tariff\"]));\r\n if (map['Tariff'] == \"low\") {\r\n mp.Tariff = Tariff.low;\r\n }\r\n else if (map['Tariff'] == \"normal\") {\r\n mp.Tariff = Tariff.normal;\r\n }\r\n if (mp.Tariff != undefined) {\r\n let tarif = StringToEnum(Tariff, mp.Tariff);\r\n }\r\n mp.From = Timestamp.readObject(map[\"From\"]);\r\n mp.Interval = DateRange.readObject(map[\"Interval\"]);\r\n return mp;\r\n }\r\n}\r\n\r\nexport class ConsumptionPerClosedDateRange {\r\n public Id: ConsumptionPerClosedDateRangeId;\r\n public ClosedDateRange: DateRange\r\n public ProductType: ProductType\r\n public Tenant?: Tenant\r\n public CustomerId?: number\r\n public Prosumption: ProsumptionQuantitiesWithMeasured\r\n public MutationState: string\r\n public ModifiedTimestamp?: Timestamp\r\n\r\n constructor(\r\n id: ConsumptionPerClosedDateRangeId,\r\n closedDateRange: DateRange,\r\n productType: ProductType,\r\n mutationState: string,\r\n tenant?: Tenant,\r\n customerId?: number,\r\n prosumption?: ProsumptionQuantitiesWithMeasured,\r\n modifiedTimestamp?: Timestamp,\r\n ) {\r\n this.Id = ConsumptionPerClosedDateRangeId.readObject(id);\r\n this.ClosedDateRange = closedDateRange;\r\n this.ProductType = productType;\r\n this.MutationState = mutationState;\r\n this.Tenant = tenant;\r\n this.CustomerId = customerId;\r\n this.Prosumption = prosumption;\r\n this.ModifiedTimestamp = modifiedTimestamp\r\n }\r\n\r\n // public static readObject(map: any): MeasurementIdOrig {\r\n // return new ConsumptionPerClosedDateRange(\r\n // // // .ne which MeasurementId we need\r\n // // map.ConnectionId,\r\n // // map.MeterId,\r\n // // new LocalDate(map.Id.Date),\r\n // // map.MeasurementSource,\r\n // // map.Timestamp = Timestamp.readObject(map.Timestamp),\r\n // // map.Tariff,\r\n // // // map.Id.ModifiedTimestamp = Timestamp.readObject(map.ModifiedTimestamp)\r\n // // // Other (already defined) variabels\r\n // );\r\n // }\r\n\r\n public static readObject(map: any): ConsumptionPerClosedDateRange {\r\n var mp = map as ConsumptionPerClosedDateRange;\r\n mp.Id = ConsumptionPerClosedDateRangeId.readObject(map[\"Id\"]);\r\n mp.ClosedDateRange = DateRange.readObject(map[\"ClosedDateRange\"]);\r\n mp.ModifiedTimestamp = Timestamp.readObject(map[\"ModifiedTimestamp\"]);\r\n return mp;\r\n }\r\n}\r\nexport class ConsumptionPerClosedDateRangeId {\r\n public ConnectionId: string\r\n public From: LocalDate;\r\n public Tariff?: Tariff;\r\n public ModifiedTimestamp?: Timestamp;\r\n\r\n constructor(\r\n connectionId: string,\r\n from: string,\r\n tariff?: Tariff,\r\n modifiedTimestamp?,\r\n ) {\r\n this.ConnectionId = connectionId;\r\n this.From = new LocalDate(from);\r\n this.Tariff = tariff;\r\n this.ModifiedTimestamp = modifiedTimestamp;\r\n }\r\n\r\n public static readObject(map: any): ConsumptionPerClosedDateRangeId {\r\n return new ConsumptionPerClosedDateRangeId(\r\n map.ConnectionId,\r\n map.From,\r\n map.Tariff,\r\n map.ModifiedTimestamp // Timestamp.readObject(map.ModifiedTimestamp) (but we require it for deletion)\r\n );\r\n }\r\n}\r\n\r\nexport class ByTariff {\r\n constructor(\r\n public None: T[],\r\n public Normal: T[],\r\n public Low: T[],\r\n ) { };\r\n\r\n any(): T {\r\n return (this.None[0] || this.Normal[0] || this.Low[0])\r\n }\r\n}\r\n\r\nexport class MeasurementsGroupedByTariff {\r\n constructor(\r\n public measurementsByTariff: ByTariff,\r\n ) { }\r\n\r\n public static readObject(map: any): MeasurementsGroupedByTariff {\r\n let byTariff = new ByTariff(\r\n map.filter(m => m.Id.Tariff === null),\r\n map.filter(m => m.Id.Tariff === Tariff.normal),\r\n map.filter(m => m.Id.Tariff === Tariff.low)\r\n );\r\n return new MeasurementsGroupedByTariff(\r\n byTariff,\r\n );\r\n }\r\n}\r\n\r\nexport class ConsumptionWithMeasurementsInterval {\r\n\r\n constructor(\r\n public consumption: ConsumptionPerGranularityInterval[] | ConsumptionPerClosedDateRange[],\r\n public interval: Interval,\r\n public measurement: Measurement[],\r\n public measurementsByTariff?: ByTariff,\r\n public consumptionByTariff?: ByTariff, // a dumb usage does not have bytariffs lists.\r\n ) {\r\n }\r\n\r\n public static readObject(map: any): ConsumptionWithMeasurementsInterval {\r\n const interval = Interval.readObject(map.Interval);\r\n const consumptions = map.Consumption.map(c => ConsumptionPerGranularityInterval.readObject(c));\r\n const measurements = map.Measurements.map(m => Measurement.readObject(m));\r\n\r\n return this.create(interval, consumptions, measurements);\r\n }\r\n\r\n public static create(\r\n interval: Interval,\r\n consumptions: any,\r\n measurements: Measurement[],//MeasurementHistorically[],\r\n ) {\r\n const consumptionsByTariff = new ByTariff(\r\n consumptions.filter(c => c.Id.Tariff === null || undefined),\r\n consumptions.filter(c => c.Id.Tariff === Tariff.normal),\r\n consumptions.filter(c => c.Id.Tariff === Tariff.low)\r\n );\r\n\r\n const measurementsByTariff = new ByTariff(\r\n measurements.filter(m => m.Id.Tariff === null),\r\n measurements.filter(m => m.Id.Tariff === Tariff.normal),\r\n measurements.filter(m => m.Id.Tariff === Tariff.low)\r\n );\r\n\r\n return new ConsumptionWithMeasurementsInterval(\r\n consumptions,\r\n interval,\r\n measurements,\r\n measurementsByTariff,\r\n consumptionsByTariff\r\n );\r\n }\r\n}\r\n\r\nexport class MeasurementId {\r\n constructor(\r\n public ConnectionId: string,\r\n public MeterId: string,\r\n public Date: LocalDate,\r\n public MeasurementSource: MeasurementSource,\r\n public Timestamp?: Timestamp,\r\n public Tariff?: Tariff,\r\n public ModifiedTimestamp?: Timestamp\r\n ) { }\r\n\r\n public static readObject(map: any): MeasurementId {\r\n const date = new LocalDate(map.Date);\r\n const timestamp = Timestamp.readObject(map.Timestamp);\r\n const modifiedTimestamp = Timestamp.readObject(map.ModifiedTimestamp);\r\n\r\n return new MeasurementId(\r\n map.ConnectionId,\r\n map.MeterId,\r\n date,\r\n map.MeasurementSource,\r\n timestamp,\r\n map.Tariff,\r\n modifiedTimestamp,\r\n );\r\n }\r\n}\r\n\r\nexport class Measurement {\r\n constructor(\r\n public Id: MeasurementId,\r\n public ProductType: ProductType,\r\n public Tenant: string,\r\n public CustomerId: number,\r\n public SubmittedToGridOperator: boolean,\r\n public Deleted: boolean, // from API\r\n public Prosumption?: Prosumption,\r\n public ModifiedTimestamp?: Timestamp,\r\n ) { }\r\n\r\n public static readObject(map: any): Measurement {\r\n\r\n const modifiedTimestamp = Timestamp.readObject(map.ModifiedTimestamp);\r\n\r\n return new Measurement(\r\n MeasurementId.readObject(map.Id),\r\n map.ProductType,\r\n map.Tenant,\r\n map.CustomerId,\r\n map.SubmittedToGridOperator === true,\r\n map.Deleted === true,\r\n map.Prosumption,\r\n modifiedTimestamp,\r\n );\r\n }\r\n}\r\n\r\nexport class MCMeasurement {\r\n constructor(\r\n public Normal: Measurement,\r\n public Low?: Measurement,\r\n ) { }\r\n public static readObject(map: any): MCMeasurement {\r\n let lowMeasurement: Measurement;\r\n if (map.Low) {\r\n lowMeasurement = new Measurement(\r\n MeasurementId.readObject(map.Low.Id),\r\n // Other (already defined) variabels\r\n map.Low.ProductType,\r\n map.Low.Tenant,\r\n map.Low.CustomerId,\r\n map.Low.SubmittedToGridOperator === true ? true : false,\r\n // transform using the readobject here.\r\n map.Low.Deleted === true ? true : false, //map.Deleted, //\r\n map.Low.Prosumption,\r\n map.Low.ModifiedTimestamp,\r\n );\r\n }\r\n const normalMeasurement: Measurement = new Measurement(\r\n MeasurementId.readObject(map.Normal.Id),\r\n // Other (already defined) variabels\r\n map.Normal.ProductType,\r\n map.Normal.Tenant,\r\n map.Normal.CustomerId,\r\n map.Normal.SubmittedToGridOperator === true ? true : false,\r\n // transform using the readobject here.\r\n map.Normal.Deleted === true ? true : false, //map.Deleted, //\r\n map.Normal.Prosumption,\r\n map.Normal.ModifiedTimestamp,\r\n );\r\n\r\n return new MCMeasurement(\r\n normalMeasurement,\r\n lowMeasurement\r\n );\r\n }\r\n\r\n}\r\n\r\nexport class Value {\r\n public Value: number;\r\n public Money: number;\r\n}\r\nexport class ProsumptionValue {\r\n public Consumption: Value;\r\n public Production: Value;\r\n}\r\nexport class ConsumptionByTariff {\r\n public ConnectionId: string;\r\n public Customerid: Number;\r\n public Interval: Interval;\r\n public ProductType: ProductType;\r\n public Tenant: Tenant;\r\n public Low: ProsumptionValue;\r\n public Normal: ProsumptionValue;\r\n public static readObject(map: any): ConsumptionByTariff {\r\n var mp = map as ConsumptionByTariff;\r\n mp.Interval = Interval.readObject(map[\"Interval\"]);\r\n return mp;\r\n }\r\n\r\n public toString = (): string => {\r\n return JSON.stringify(this);\r\n }\r\n}\r\n\r\nexport class EnumDescription {\r\n constructor(\r\n public Enum: string,\r\n public Value: string,\r\n public Translation: string,\r\n public Description: string,\r\n public IntValue?: number,\r\n ) { }\r\n\r\n public static readObject(map: any): EnumDescription {\r\n return new EnumDescription(\r\n map.Enum,\r\n map.Value,\r\n map.Translation,\r\n map.Description,\r\n map[\"_obj\"]?.IntValue === 0 ? 0 : map?.IntValue,\r\n );\r\n }\r\n}\r\n\r\nexport class ProcessStatistics {\r\n public AdditionalStatistics: AdditionalStatistics;\r\n public FailedElementCount: Number;\r\n public Id: ProcessStatisticsId;\r\n public ModifiedTimestamp: Timestamp\r\n public ProcessedElementCount: Number;\r\n public ProgressedElementCount: Number;\r\n public ProgressedUntilMax?: Timestamp\r\n public ProgressedUntilMin?: Timestamp\r\n public RetriedElementCount: Number;\r\n public RunDuration: String; // must change to time. D:HH:MM:SS.MSMSMSMS\r\n public SkippedElementCount: Number;\r\n public TotalElementCount: Number;\r\n public TotalProgressDuration: String; // must change to time.\r\n\r\n public static readObject(map: any): ProcessStatistics {\r\n var mp: ProcessStatistics = map as ProcessStatistics;\r\n\r\n mp.ModifiedTimestamp = map.ModifiedTimestamp;\r\n // These fields are not always used. Therefor nullable / optional -> ? added\r\n mp.ProgressedUntilMax = Timestamp.readObject(map[\"ProgressedUntilMax\"]);\r\n mp.ProgressedUntilMin = Timestamp.readObject(map[\"ProgressedUntilMin\"]);\r\n\r\n mp.Id = ProcessStatisticsId.readObject(map[\"Id\"]);\r\n\r\n let returnValue = new ProcessStatistics();\r\n returnValue.AdditionalStatistics = mp.AdditionalStatistics;\r\n returnValue.FailedElementCount = mp.FailedElementCount;\r\n returnValue.Id = mp.Id;\r\n returnValue.ModifiedTimestamp = mp.ModifiedTimestamp;\r\n returnValue.ProcessedElementCount = mp.ProcessedElementCount;\r\n returnValue.ProgressedElementCount = mp.ProgressedElementCount;\r\n returnValue.ProgressedUntilMax = mp.ProgressedUntilMax;\r\n returnValue.ProgressedUntilMin = mp.ProgressedUntilMin;\r\n returnValue.RetriedElementCount = mp.RetriedElementCount;\r\n returnValue.RunDuration = mp.RunDuration;\r\n returnValue.SkippedElementCount = mp.SkippedElementCount;\r\n returnValue.TotalElementCount = mp.TotalElementCount;\r\n returnValue.TotalProgressDuration = mp.TotalProgressDuration;\r\n return returnValue;\r\n }\r\n public exporttoString = (): string => {\r\n return JSON.stringify(this);\r\n }\r\n}\r\n\r\nexport class ProcessProgress {\r\n\r\n deleted? :boolean;\r\n\r\n constructor(\r\n public ConnectionId: string,\r\n public Process: Process,\r\n public ModifiedTimestamp: Timestamp,\r\n public ProgressedUntil: Timestamp,\r\n public Context: any,\r\n public Tenant: Tenant,\r\n ) { }\r\n public static readObject(map: any): ProcessProgress {\r\n let progUntil: Timestamp = map.ProgressedDataUntil != null ? Timestamp.readObject(map.ProgressedDataUntil) : null;\r\n let isValidCheck = progUntil.moment.isValid();\r\n if (!isValidCheck) { console.warn('This ProcessProgress Untill timestamp is invalid ', map) }\r\n\r\n return new ProcessProgress(\r\n map.ConnectionId,\r\n map.Process,\r\n map.ModifiedTimestamp,\r\n map.ProgressedUntil = isValidCheck ? progUntil : null,\r\n map.Context,\r\n map.Tenant\r\n );\r\n }\r\n}\r\n\r\nexport class ProcessStatisticsId {\r\n constructor(\r\n public appInstanceDescription: String,\r\n public appInstancePartition: String,\r\n public process: String,\r\n public ranFrom: Timestamp,\r\n public tenant: String,\r\n ) { }\r\n\r\n\r\n public static readObject(map: any): ProcessStatisticsId {\r\n return new ProcessStatisticsId(map.AppInstanceDescription, map.AppInstancePartition, map.Process, Timestamp.readObject(map[\"RanFrom\"]), map.Tenant);\r\n }\r\n}\r\n\r\nexport class AdditionalStatistics {\r\n public Exceptions: any;\r\n public LongestRuns: any;\r\n}\r\n\r\nexport class MeasurementCommunicationType {\r\n public annualInvoiceRequest: string;\r\n public transactionDossierStepRequest: string;\r\n public periodicRequest: string;\r\n public telemetryNotOperationalRequest: string;\r\n public supplierRequest: string;\r\n}\r\n\r\nexport class MeasurementCommunication {\r\n constructor(\r\n public _obj: any,\r\n public AuthenticationToken: string,\r\n public Contact: string,\r\n public ContactMeasurementCommunicationId: ContactMeasurementCommunicationId,\r\n public EventDate: LocalDate,\r\n public MeasurementCommunicationMeasurements: any, // Now list of MeasurementsIds, how do we do that.\r\n public Meter: string,\r\n public ReminderTimestamp: Timestamp,\r\n public BlockedSince: Timestamp\r\n\r\n ) { }\r\n\r\n public static readObject(map: any): MeasurementCommunication {\r\n return new MeasurementCommunication(map, map.AuthenticationToken, map.Contact, map.ContactMeasurementCommunicationId, new LocalDate(map.EventDate), map.MeasurementCommunicationMeasurements, map.Meter, Timestamp.readObject(map.ReminderTimestamp), Timestamp.readObject(map.BlockedSince));\r\n }\r\n}\r\nexport class ContactMeasurementCommunicationId {\r\n constructor(\r\n public MeasurementCommunicationType: MeasurementCommunicationType,\r\n public ContactId: string,\r\n public MeterId: string,\r\n public Timestamp: Timestamp,\r\n ) { }\r\n\r\n public static readObject(map: any): ContactMeasurementCommunicationId {\r\n return new ContactMeasurementCommunicationId(map.MeasurementCommunicationType, map.ContactId, map.MeterId, map.Timestamp);\r\n }\r\n}\r\n\r\nexport class IsEnum {\r\n public theEnum: string;\r\n public enumDescription?: EnumDescription;\r\n\r\n constructor(theEnumValue: string) {\r\n this.theEnum = theEnumValue;\r\n }\r\n}\r\nexport class ContractStateId {\r\n constructor(\r\n public contractId: string,\r\n public connectionId: string,\r\n public contractMutationState: string) {\r\n }\r\n public static readObject(map: any): ContractStateId {\r\n return new ContractStateId(map.ContractId, map.ConnectionId, map.ContractMutationState);\r\n }\r\n}\r\nexport class ContractState {\r\n constructor(\r\n public id: ContractStateId,\r\n public groupId: string,\r\n public interval: Interval,\r\n public isActive: boolean,\r\n public modifiedTimestamp: Timestamp,\r\n public blocked: Timestamp,\r\n public tenant: Tenant,\r\n public contractStateTransitions: ContractStateTransition[],\r\n public isDownloadWelcomeLetterEnabled: boolean,\r\n public isDownloadStartDeliveryLetterEnabled: boolean,\r\n public isResendWelcomeLetterEnabled: boolean,\r\n public context?: any,\r\n public connectionContractStart?: LocalDate,\r\n public connectionContractEnd?: LocalDate,\r\n public switchNotificationDate?: LocalDate,\r\n ) {\r\n }\r\n public static readObject(map: any): ContractState {\r\n // Sort the contractStateTransitions Active first.\r\n map.ContractStateTransitions.sort((a, b) => b.interval.From.valueOf() - a.interval.From.valueOf());\r\n\r\n return new ContractState(\r\n ObjectParser.readObject(\"ContractStateId\", map.Id),\r\n map.GroupId,\r\n map.Interval,\r\n map.IsActive,\r\n map.ModifiedTimestamp,\r\n Timestamp.readObject(map.Blocked),\r\n StringToEnum(map.Tenant, \"Tenant\"),\r\n map.ContractStateTransitions,\r\n map.IsDownloadWelcomeLetterEnabled,\r\n map.IsDownloadStartDeliveryLetterEnabled,\r\n map.IsResendWelcomeLetterEnabled,\r\n map.Context,\r\n map.ConnectionContractStart,\r\n map.ConnectionContractEnd,\r\n map.SwitchNotificationDate\r\n );\r\n }\r\n}\r\n\r\nexport enum ContractStateTransitionUrgency {\r\n Low = \"Low\",\r\n Medium = \"Medium\",\r\n High = \"High\"\r\n}\r\n\r\nexport class ContractStateTransition {\r\n constructor(\r\n public contractStateTransitionType: string,\r\n public interval: Interval,\r\n public isActiveTask: boolean,\r\n public modifiedTimestamp: ModifiedTimestamp,\r\n public contractStateTransitionUrgency?: ContractStateTransitionUrgency,\r\n public context?: any,\r\n public assignee?: string,\r\n public remarks?: string) {\r\n }\r\n\r\n public static readObject(map: any): ContractStateTransition {\r\n // Determine if it is the active step (has no until), and mark it that using the boolean\r\n let isActiveTask = map.Interval.Until == null ? true : false;\r\n\r\n // Add urgency to the transitionType\r\n var urgency = ContractStateTransitionUrgency[map[\"ContractStateTransitionUrgency\"]] as unknown as ContractStateTransitionUrgency;\r\n\r\n // Tranformation of a single ContractStateTransition\r\n // First implementation of a remark to list of objects with a timestamp\r\n if (map.Remarks != undefined) {\r\n // Filter enters\r\n let remark = map.Remarks.replace(/\\n/ig, '^')\r\n let listOfcomments = remark.split('^');\r\n let commentListObjects = listOfcomments.map(comment => {\r\n let element = comment.split('|');\r\n let timeToMoment = element[0];\r\n // remove Europe/Amsterdam (+02) with slice and turn it in a moment, and a timestamp\r\n timeToMoment = moment(timeToMoment.slice((0), (timeToMoment.length - 23)));\r\n timeToMoment = new Timestamp(timeToMoment);\r\n\r\n return {\r\n timestamp: timeToMoment,\r\n author: element[1],\r\n comment: element[2]\r\n }\r\n })\r\n map.Remarks = commentListObjects;\r\n }\r\n\r\n return new ContractStateTransition(map.ContractStateTransitionType, map.Interval, isActiveTask, map.ModifiedTimestamp, urgency, map.Context, map.Assignee, map.Remarks);\r\n }\r\n}\r\n\r\nexport class ContractMutationStateWithContractStateTransitions {\r\n constructor(\r\n public ContractMutationState: string,\r\n public ContractStateTransitionTypes: string[]\r\n ) { }\r\n\r\n public static readObject(map: any): ContractMutationStateWithContractStateTransitions {\r\n return new ContractMutationStateWithContractStateTransitions(map.ContractMutationState, map.ContractStateTransitionTypes);\r\n }\r\n}\r\n\r\nexport class ContractStateCountPerContractMutationStateAndContractStateTransitionType {\r\n constructor(\r\n public count: number,\r\n public contractMutationState: string,\r\n public contractStateTransitionTypeCounts: any,\r\n ) { }\r\n\r\n public static readObject(map: any): ContractStateCountPerContractMutationStateAndContractStateTransitionType {\r\n return new ContractStateCountPerContractMutationStateAndContractStateTransitionType(map.Count, map.ContractMutationState, map.ContractStateTransitionTypeCounts);\r\n }\r\n}\r\n\r\nexport class ConnectionContract {\r\n constructor(\r\n public contractId: string,\r\n public customerId: string,\r\n public connectionId: string,\r\n public complex: boolean,\r\n public residental: boolean,\r\n public skipReflectionTime: boolean,\r\n public contractDate: Timestamp,\r\n public startDate: LocalDate,\r\n public endDate: LocalDate,\r\n public isSwitch: boolean,\r\n public switchNotificationDate: LocalDate,\r\n public productType: ProductType,\r\n public anualEstimatedProsumption: Prosumption,\r\n public modifiedTimestamp?: Timestamp\r\n ) {\r\n }\r\n\r\n public static readObject(map: any): ConnectionContract {\r\n return new ConnectionContract(\r\n map.ContractId,\r\n map.CustomerId,\r\n map.ConnectionId,\r\n map.Complex,\r\n map.Residental,\r\n map.SkipReflectionTime,\r\n Timestamp.readObject(map.ContractDate),\r\n new LocalDate(map.StartDate),\r\n new LocalDate(map.EndDate),\r\n map.Switch,\r\n new LocalDate(map.SwitchNotificationDate),\r\n StringToEnum(ProductType, map.ProductType as string),\r\n Prosumption.readObject(map.AnualEstimatedProsumption),\r\n map.ModifiedTimestamp\r\n );\r\n }\r\n}\r\nexport class AllocationSavings {\r\n constructor(\r\n public Savings: number,\r\n public AllocationMethod: string\r\n ) { }\r\n\r\n public static readObject(map: any): AllocationSavings {\r\n return new AllocationSavings(map.Savings, map.AllocationMethod);\r\n }\r\n}\r\n\r\nexport class AllocationMethodComparison {\r\n constructor(\r\n public Interval: Interval,\r\n public TelemetricAllocation: Quantities,\r\n public Allocation: Quantities,\r\n public Reconcilliation: Quantities,\r\n public ProfileAllocation: Quantities,\r\n public AllocationSavings: AllocationSavings,\r\n public ReconcilliationPrice: number\r\n ) { }\r\n\r\n public static readObject(map: any): AllocationMethodComparison {\r\n return new AllocationMethodComparison(map.Interval, map.TelemetricAllocation, map.Allocation, map.Reconcilliation, map.ProfileAllocation, map.AllocationSavings, map.ReconcilliationPrice);\r\n }\r\n}\r\n\r\nexport class AcmReport {\r\n constructor(\r\n public runDate: Timestamp,\r\n public acmReportStatistics: AcmReportStatistic[],\r\n ) { }\r\n\r\n public static readObject(map: any): AcmReport {\r\n // let reportStatistics = Object.values(map['_obj'].AcmReportStatistics).map(list => ObjectParser.readArray('AcmReportStatistics', list));\r\n return new AcmReport(\r\n Timestamp.readObject(map.RunDate),\r\n map.AcmReportStatistics,\r\n )\r\n }\r\n}\r\n\r\nexport class AcmReportStatistic {\r\n constructor(\r\n public creditPercentage: Number,\r\n public from: Timestamp,\r\n public invoiceType: string, //InvoiceType\r\n public isLargeCapacity: boolean,\r\n public onTimePercentage: Number,\r\n public productType: ProductType,\r\n public total: Number,\r\n public totalCredit: Number,\r\n public totalOnTime: Number,\r\n public totalOpenInvoiceDeadlinesOfLast12Months: Number, // Achterstand (openstaande invoiceDeadlines) vd afgelopen 12 maanden\r\n public until: Timestamp,\r\n public mutationReason?: MeasurementMutationReason,\r\n public mutation?: string, //(gain movein, loss)\r\n public openInvoices?: InvoiceDeadline[],\r\n public missedDeadline?: InvoiceDeadline[],\r\n public closedInvoicesInValidRange?: InvoiceDeadline[]\r\n ) { }\r\n\r\n public static readObject(map: any): AcmReportStatistic {\r\n // Fix, since ReadArray does not handle empty values well.\r\n if (map.CreditPercentage == undefined) {\r\n map.CreditPercentage = 0;\r\n }\r\n if (map.isLargeCapacity == undefined) {\r\n map.isLargeCapacity = false;\r\n }\r\n if (map.OnTimePercentage == undefined) {\r\n map.OnTimePercentage = 0;\r\n }\r\n if (map.Total == undefined) {\r\n map.Total = 0;\r\n }\r\n if (map.TotalCredit == undefined) {\r\n map.TotalCredit = 0;\r\n }\r\n if (map.TotalOnTime == undefined) {\r\n map.TotalOnTime = 0;\r\n }\r\n if (map.TotalOpenInvoiceDeadlinesOfLast12Months == undefined) {\r\n map.TotalOpenInvoiceDeadlinesOfLast12Months = 0;\r\n }\r\n if (map.MutationReason == undefined) {\r\n map.MutationReason = \"Anders\";\r\n }\r\n if (map.ClosedInvoicesInValidRange == undefined) {\r\n map.ClosedInvoicesInValidRange = [];\r\n }\r\n\r\n return new AcmReportStatistic(\r\n map['_obj'].CreditPercentage,\r\n Timestamp.readObject(map.From),\r\n map.InvoiceType,\r\n map.isLargeCapacity,\r\n map['_obj'].OnTimePercentage,\r\n map.ProductType,\r\n map['_obj'].Total,\r\n map['_obj'].TotalCredit,\r\n map['_obj'].TotalOnTime,\r\n map['_obj'].TotalOpenInvoiceDeadlinesOfLast12Months,\r\n Timestamp.readObject(map.Until),\r\n map.MutationReason,\r\n map.Mutation,\r\n map.OpenInvoices,\r\n map.MissedDeadline,\r\n map.ClosedInvoicesInValidRange\r\n )\r\n }\r\n}\r\n\r\nexport class AcmDeadlines {\r\n // If you want to mock this, you need to call: ObjectParser.readObject(\"AcmDeadlines\", this.mockACM)\r\n // On a mockedReport => imported: import mockAcmJSON from 'src/assets/ns_invoicedeadline.json'; and used: public mockACM:any = mockAcmJSON;\r\n constructor(\r\n public runDate: any,\r\n public invoiceDeadlines: InvoiceDeadline[],\r\n ) { }\r\n\r\n public static readObject(map: any): AcmDeadlines {\r\n return new AcmDeadlines(\r\n Timestamp.readObject(map.RunDate),\r\n map.InvoiceDeadlines,\r\n )\r\n }\r\n}\r\n\r\nexport class InvoiceDeadline {\r\n\r\n constructor(\r\n public actualInvoiceDateTime: Timestamp,\r\n public invoiceNumber: string, // \"2019-12-03T00:00:00+01 Europe/Amsterdam\"\r\n public from: Timestamp, //validRange From\r\n public until: Timestamp, // validRange Until\r\n public connectionId: string,\r\n public customerId: string,\r\n public hasBeenCredited: boolean = false,\r\n public invoiceType: any, //InvoiceType\r\n public isLargeCapacity: boolean = false,\r\n public productType: ProductType,\r\n public mutationReason: any, //MeasurementMutationReason\r\n public urgency: string,\r\n public daysLeadTime?: number\r\n ) { }\r\n\r\n public static readObject(map: any): InvoiceDeadline {\r\n let leadtime;\r\n // Make moments to compare here\r\n if ((map.From != null || map.From != undefined)) {\r\n map.From = moment(map.From)\r\n }\r\n if ((map.Until != null || map.Until != undefined)) {\r\n map.Until = moment(map.Until)\r\n }\r\n\r\n if (map.ActualInvoiceDateTime != null) {\r\n // If we have an invoice date (so it's send), we make it a timestamp, and we can determine the leadtime\r\n map.ActualInvoiceDateTime = Timestamp.readObject(map.ActualInvoiceDateTime)\r\n leadtime = map.ActualInvoiceDateTime.moment.diff(map.From, 'days');\r\n }\r\n\r\n // Build in 'custom' Urgency based on time till ACM Deadline\r\n let urgency = 'Low'\r\n if ((map.Until != null || map.Until != undefined) && map.Until.isAfter()) {\r\n let daysToInvoice = map.Until.diff(moment(), 'days');\r\n if (daysToInvoice < 14) { urgency = \"Low\" }\r\n if (daysToInvoice < 7) { urgency = \"Medium\" }\r\n if (daysToInvoice < 4) { urgency = \"High\" }\r\n }\r\n\r\n return new InvoiceDeadline(\r\n map.ActualInvoiceDateTime,\r\n map.InvoiceNumber,\r\n Timestamp.readObject(map.From),\r\n Timestamp.readObject(map.Until),\r\n map.ConnectionId,\r\n map.CustomerId,\r\n map['_obj'].HasBeenCredited, // Why does this not read without _obj\r\n map.InvoiceType,\r\n map['_obj'].IsLargeCapacity,\r\n map.ProductType,\r\n map.MutationReason,\r\n urgency,\r\n leadtime\r\n )\r\n }\r\n}\r\n\r\nexport class ParameterValue {\r\n constructor(\r\n public parameterValueName: string,\r\n public from: Timestamp,\r\n public value?: any,\r\n public tenant?: Tenant,\r\n public modifiedTimestamp?: Timestamp,\r\n public until?: Timestamp\r\n ) { }\r\n\r\n public static readObject(map: any): ParameterValue {\r\n return new ParameterValue(\r\n map.ParameterValueName,\r\n Timestamp.readObject(map.From),\r\n map.Value,\r\n map.Tenant,\r\n map.ModifiedTimestamp,\r\n Timestamp.readObject(map.Until),\r\n )\r\n }\r\n}\r\n\r\nexport class PricePerInterval {\r\n constructor(\r\n public interval: Interval,\r\n public money: number,\r\n ) { }\r\n public static readObject(map: any): PricePerInterval {\r\n return new PricePerInterval(\r\n Interval.readObject(map.Interval),\r\n map.Money,\r\n )\r\n }\r\n}\r\nexport class ImbalancePricePerInterval {\r\n constructor(\r\n public interval: Interval,\r\n public moneyShort?: number,\r\n public moneyLong?: number,\r\n // public unit?: string,\r\n ) { }\r\n public static readObject(map: any): ImbalancePricePerInterval {\r\n return new ImbalancePricePerInterval(\r\n Interval.readObject(map.Interval),\r\n map.MoneyShort,\r\n map.MoneyLong,\r\n )\r\n }\r\n}\r\n\r\nexport class Purchase {\r\n constructor(\r\n public interval: Interval,\r\n public money?: number,\r\n public value?: number,\r\n // public unit?: string,\r\n ) {\r\n this.money = money / 1000000;\r\n this.value = Math.round(value / 1000);\r\n }\r\n public static readObject(map: any): Purchase {\r\n return new Purchase(\r\n Interval.readObject(map.Interval),\r\n map.Money,\r\n map.Value,\r\n )\r\n }\r\n}\r\n\r\nexport class ConnectionBaseAsset {\r\n public longitude: number;\r\n public latidtude: number;\r\n public powerKwAc: number;\r\n public connectionId: string;\r\n\r\n constructor(longitude: number, latidtude: number, powerKwAc: number, connectionId: string) {\r\n this.longitude = longitude;\r\n this.latidtude = latidtude;\r\n this.powerKwAc = powerKwAc;\r\n this.connectionId = connectionId as string;\r\n }\r\n}\r\n\r\nexport class ConnectionWindAsset extends ConnectionBaseAsset {\r\n constructor(\r\n longitude: number, latidtude: number, powerKwAc: number, connectionId: string, NumberOfTurbines?: number, TurbineType?: string, CutOutMs?: number, TurbineManufacturer?: string\r\n ) {\r\n super(longitude, latidtude, powerKwAc, connectionId)\r\n }\r\n public static readObject(map: any): ConnectionWindAsset {\r\n console.log(map)\r\n return new ConnectionWindAsset(\r\n map.Longitude,\r\n map.Latidtude,\r\n map.PowerKwAc,\r\n map.ConnectionId,\r\n map.NumberOfTurbines,\r\n map.TurbineType,\r\n map.CutOutMs,\r\n map.TurbineManufacturer,\r\n )\r\n }\r\n}\r\n\r\nexport class MeasurementSourceDetail {\r\n\r\n constructor(\r\n public event: string,\r\n public measurementSourceMethod: string,\r\n public id: MeasurementId,\r\n ) {\r\n }\r\n public static readObject(map: any): MeasurementSourceDetail {\r\n return new MeasurementSourceDetail(\r\n map.Event,\r\n map.MeasurementSourceMethod,\r\n MeasurementId.readObject(map.Id)\r\n )\r\n }\r\n}\r\n","import { reconciliationsDashboardSections } from '../Dashboards/Reconciliations/reconciliations-dashboard-sections.constants';\r\n\r\nexport interface MainDashBoardSection {\r\n name: string;\r\n icon: string;\r\n path: string;\r\n}\r\n\r\nexport const sectionsGeneric: MainDashBoardSection[] = [\r\n {\r\n name: 'Startpagina',\r\n icon: 'home',\r\n path: 'home-dashboard',\r\n },\r\n {\r\n name: 'Zoeken',\r\n icon: 'search',\r\n path: 'search-dashboard',\r\n },\r\n {\r\n name: 'Klanten',\r\n icon: 'account_circle',\r\n path: 'customer-dashboard',\r\n },\r\n {\r\n name: 'Activatieproces',\r\n icon: 'text_snippet',\r\n path: 'contract-state-dashboard',\r\n },\r\n {\r\n name: 'Registercontrole',\r\n icon: 'analytics',\r\n path: 'edm-dashboard',\r\n },\r\n {\r\n name: 'ACM (Beta)',\r\n icon: 'payments',\r\n path: 'acm-dashboard',\r\n },\r\n {\r\n name: 'Monitoring',\r\n icon: 'important_devices',\r\n path: 'process-dashboard',\r\n },\r\n {\r\n name: 'NS Klantportaal tool',\r\n icon: 'dvr',\r\n path: 'customerportal',\r\n },\r\n {\r\n name: 'Issues',\r\n icon: 'healing',\r\n path: 'issues-dashboard',\r\n },\r\n];\r\n\r\nexport const sectionsReconciliations: MainDashBoardSection[] = [...reconciliationsDashboardSections];\r\n\r\nexport const sectionsTrading: MainDashBoardSection[] = [\r\n {\r\n name: 'Trading',\r\n icon: 'work',\r\n path: 'trading',\r\n },\r\n {\r\n name: 'Timeseries',\r\n icon: 'auto_graph',\r\n path: 'timeseries',\r\n },\r\n];\r\n\r\nexport const sectionsOnboarding: MainDashBoardSection[] = [\r\n // Will be visible when MinimalAPI rights are added to the group the person is in.y\r\n // {\r\n // name: 'Activatieproces (Beta)',\r\n // icon: 'text_snippet',\r\n // path: 'contract-state-transitioning',\r\n // },\r\n];\r\n\r\nexport const sectionsSupplying: MainDashBoardSection[] = [];\r\n\r\n// For feature toggles / Staging sections such as styling guide\r\nexport const sectionsStaging: MainDashBoardSection[] = [\r\n {\r\n name: 'Styleguide',\r\n icon: 'palette',\r\n path: 'styleguide',\r\n },\r\n];\r\n","import { AcmReport, AcmReportStatistic, InvoiceDeadline, ProductType, Tenant, Timestamp } from 'src/app/Connection';\r\nimport { AcmService } from 'src/app/services/acm.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n// const moment = _rollupMoment || _moment;\r\n\r\n@Component({\r\n selector: 'acm-dashboard',\r\n templateUrl: './AcmDashboard.html',\r\n styleUrls: ['./AcmDashboard.scss'],\r\n})\r\nexport class AcmDashboard {\r\n isLoading: boolean;\r\n tab: number | string = 0;\r\n initializedList: any[] = [];\r\n\r\n acmReport: AcmReport;\r\n createdReportOnDate: Timestamp;\r\n createdDeadlinesOnDate: Timestamp;\r\n\r\n selectedTenant: Tenant = Tenant.NieuweStroom;\r\n\r\n filteredAcmReport: AcmReportStatistic[];\r\n acmInvoiceDeadlines: any;\r\n\r\n currentInvoiceDeadlines: any;\r\n missedInvoiceDeadlines: InvoiceDeadline[];\r\n openInvoiceDeadlines: InvoiceDeadline[];\r\n\r\n invoicesTypes = ['InitialAdvanceInvoice', 'YearlySettlement', 'FinalSettlement'];\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private acmService: AcmService, private errorService: ErrorService) { }\r\n\r\n async ngOnInit() {\r\n let tab = 'overview';\r\n if (this.activatedRoute.snapshot.queryParams['tab'] != null) {\r\n tab = this.activatedRoute.snapshot.queryParams['tab'];\r\n }\r\n this.tab = tab;\r\n\r\n await this.acmService\r\n .getAcmReport(this.invoicesTypes, this.selectedTenant)\r\n .then((result) => (this.acmReport = result))\r\n .then(() => this.filterAcmReport())\r\n .catch((error) => this.errorService.addError(error.message));\r\n\r\n this.makeListOfFilters();\r\n this.selectTab(tab);\r\n }\r\n\r\n async fetchData() {\r\n // Report is always fetched on init\r\n if (this.acmInvoiceDeadlines === undefined) {\r\n this.acmInvoiceDeadlines = await this.acmService.getInvoiceDeadlines(this.invoicesTypes, this.selectedTenant);\r\n\r\n //Sort DESC, so achterstand en verstreken can be viewed recent failure first.\r\n this.acmInvoiceDeadlines.invoiceDeadlines = this.acmInvoiceDeadlines.invoiceDeadlines.sort((a, b) => b.until.moment - a.until.moment);\r\n // decouple Object link for filters\r\n const acmDeadlines = this.acmInvoiceDeadlines;\r\n this.createdDeadlinesOnDate = this.acmInvoiceDeadlines.runDate;\r\n // // not invoiced, but valid until has not passed\r\n this.currentInvoiceDeadlines = acmDeadlines.invoiceDeadlines.filter(\r\n (deadline) => deadline.actualInvoiceDateTime == null && deadline.until.moment.isAfter(),\r\n );\r\n // This one is sorted deadline first, for the urgency\r\n this.currentInvoiceDeadlines = this.currentInvoiceDeadlines.sort((a, b) => a.until.moment - b.until.moment);\r\n // // not invoiced and valid until has passed\r\n this.openInvoiceDeadlines = acmDeadlines.invoiceDeadlines.filter(\r\n (deadline) => deadline.actualInvoiceDateTime == null && deadline.until.moment.isBefore(),\r\n );\r\n // // invoiced (actualInvoiceDate != null), but after the validRange.Until\r\n this.missedInvoiceDeadlines = acmDeadlines.invoiceDeadlines.filter(\r\n (deadline) => deadline.actualInvoiceDateTime != null && deadline.actualInvoiceDateTime > deadline.until,\r\n ); // and do we need a check if validUntil = before actualinvoicedate\r\n }\r\n }\r\n\r\n filterAcmReport() {\r\n const originalAcmReport = this.acmReport;\r\n const listOfAcmReport = originalAcmReport.acmReportStatistics;\r\n this.createdReportOnDate = this.acmReport.runDate;\r\n this.filteredAcmReport = listOfAcmReport;\r\n }\r\n AcmFilterObject = {\r\n // allFilterValues: // a list of all to render parameters\r\n // defaultFilterValue: // default paramenters, e.g 2020, 2021\r\n // selectedFilterValues: // current state\r\n };\r\n\r\n setFilters(event) {\r\n this.filterAcmReportOnValues(event.selected);\r\n }\r\n resetFilters() {\r\n this.filterAcmReportOnValues(this.AcmFilterObject['default']);\r\n }\r\n\r\n async fetchReport(tenant: Tenant) {\r\n this.acmReport = await this.acmService.getAcmReport(this.invoicesTypes, tenant); // needs catch, but cries about void.\r\n this.filterAcmReport();\r\n return;\r\n }\r\n\r\n makeListOfFilters() {\r\n // Get all years and InvoiceTypes, dynamically from report values.\r\n let yearsList: any = this.filteredAcmReport;\r\n yearsList = yearsList.map((stat) => stat.from.moment.format('YYYY'));\r\n const uniqueYears = Array.from(new Set(yearsList)).sort();\r\n\r\n let invoiceList: any = this.filteredAcmReport;\r\n invoiceList = invoiceList.map((stat) => stat.invoiceType);\r\n\r\n const tenantlist = [Tenant.NieuweStroom, Tenant.EasyEnergy];\r\n const producttypelist = [ProductType.Electricity, ProductType.Gas];\r\n\r\n const allFilters = {\r\n tenants: tenantlist,\r\n productTypes: producttypelist,\r\n years: uniqueYears,\r\n };\r\n\r\n const defaultFilters = {\r\n tenants: [Tenant.NieuweStroom],\r\n productTypes: [ProductType.Electricity, ProductType.Gas],\r\n years: ['2020', '2021'],\r\n };\r\n\r\n const selectedFilters = JSON.parse(JSON.stringify(defaultFilters));\r\n\r\n this.AcmFilterObject = {\r\n all: allFilters,\r\n default: defaultFilters,\r\n selected: selectedFilters,\r\n };\r\n\r\n this.resetFilters();\r\n return;\r\n }\r\n\r\n async selectTab(tab: number | string) {\r\n this.tabWasInitialized(tab);\r\n await this.fetchData();\r\n if (location.pathname.indexOf('tab=') > 0) {\r\n history.pushState(null, '', location.pathname.substring(0, location.pathname.indexOf('?tab=')) + 'tab=' + tab);\r\n } else {\r\n history.pushState(null, '', location.pathname + '?tab=' + tab);\r\n }\r\n this.tab = tab;\r\n }\r\n\r\n tabWasInitialized(tabNumber: number | string) {\r\n if (!this.initializedList.includes(tabNumber)) {\r\n this.initializedList.push(tabNumber);\r\n }\r\n }\r\n isInitialized(i: number | string) {\r\n return this.initializedList.includes(i);\r\n }\r\n\r\n async filterAcmReportOnValues(filters) {\r\n // check if new tenant must be retrieved.\r\n if (filters.tenants && filters.tenants.length === 2) {\r\n return this.errorService.addError('Selecteer maar 1 tenant');\r\n }\r\n if (filters.tenants && filters.tenants.length === 1 && filters.tenants[0] !== this.selectedTenant) {\r\n await this.fetchReport(filters.tenants[0]);\r\n this.selectedTenant = filters.tenants[0] as Tenant;\r\n }\r\n\r\n const originalAcmReportStatistics: any = this.acmReport.acmReportStatistics;\r\n\r\n const newFilteredAcmStatistics = originalAcmReportStatistics\r\n .filter((acm) => filters['years'].includes(acm.from.moment.format('YYYY')))\r\n .filter((acm) => filters['productTypes'].includes(acm.productType));\r\n\r\n this.filteredAcmReport = newFilteredAcmStatistics;\r\n return;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n ACM\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { Directive } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n\r\n@Directive()\r\nexport abstract class BaseDashboard {\r\n public searchString: string;\r\n\r\n constructor(protected router: Router) { }\r\n\r\n ngOnInit() {\r\n this.fetchData();\r\n }\r\n\r\n abstract fetchData();\r\n\r\n onUpdateSearch(event: string) {\r\n this.searchString = event === '' ? undefined : event;\r\n this.fetchData();\r\n }\r\n\r\n goTo(location: string) {\r\n this.router.navigate([location]);\r\n }\r\n}\r\n","import {\r\n ContractMutationStateWithContractStateTransitions,\r\n ContractStateCountPerContractMutationStateAndContractStateTransitionType,\r\n} from 'src/app/Connection';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ContractStateService } from 'src/app/services/contract-state.service';\r\nimport { EnumsService } from 'src/app/services/enum.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { TenantService } from 'src/app/services/tenant.service';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { BaseDashboard } from '../BaseDashboard';\r\n\r\n@Component({\r\n selector: 'contract-state-dashboard',\r\n templateUrl: './ContractStateDashboard.html',\r\n styleUrls: ['./ContractStateDashboard.scss'],\r\n})\r\nexport class ContractStateDashboard extends BaseDashboard {\r\n constructor(\r\n private route: ActivatedRoute,\r\n private activatedRoute: ActivatedRoute,\r\n router: Router,\r\n private errorService: ErrorService,\r\n private connectionService: ConnectionService,\r\n private tenantService: TenantService,\r\n private contractStateService: ContractStateService,\r\n private enumService: EnumsService,\r\n ) {\r\n super(router);\r\n }\r\n\r\n // pageLimit: number = 25;\r\n // currentPage: number = 0;\r\n currentPageNumber: number = 0;\r\n\r\n tab: Number = 0;\r\n isLoading: boolean;\r\n ContractStatesOverviewTemplate: ContractMutationStateWithContractStateTransitions[];\r\n ContractStatesOverview: any;\r\n contractStateIsActive?: boolean = true;\r\n contractMutationState?: string;\r\n contractStateTransitionType?: string;\r\n activeTransitionType: string;\r\n assignee: string = '';\r\n listOfAssignees: string[];\r\n searchString: string;\r\n toggleTT: boolean = false;\r\n showTypes: any = [];\r\n showhide: boolean;\r\n showcontext: boolean;\r\n showMoreList: any[] = [];\r\n showTransitionTypes: boolean;\r\n showPath: boolean;\r\n contractsWithState: any;\r\n\r\n public countPer: {\r\n [contractMutationState: string]: {\r\n count: number;\r\n contractStateTransitions: ContractStateCountPerContractMutationStateAndContractStateTransitionType[];\r\n };\r\n }[] = [];\r\n\r\n async ngOnInit() {\r\n await this.fetchStepperData();\r\n if (this.activatedRoute.snapshot.queryParams['tab'] != null) {\r\n this.tab = Number.parseInt(this.activatedRoute.snapshot.queryParams['tab']);\r\n }\r\n this.getContractsForAssigneeList();\r\n }\r\n\r\n async getContractsForAssigneeList() {\r\n let allContracts = await this.contractStateService\r\n .getAll(\r\n 0,\r\n 500,\r\n null,\r\n null,\r\n null,\r\n true, // isActive filter\r\n null,\r\n )\r\n .catch((error) => this.errorService.addError('Kan geen contractdata ophalen'));\r\n //hierna fitleren van data\r\n if (allContracts) {\r\n this.getAssignedEmployees(allContracts);\r\n }\r\n }\r\n\r\n getAssignedEmployees(allContracts) {\r\n let contractStatesTransitionsArray: any = [];\r\n if (allContracts == null || allContracts == undefined) {\r\n return;\r\n }\r\n let DataContracts = allContracts.data;\r\n DataContracts.map((contract) => {\r\n if (contract.contractStateTransitions.length > 0) {\r\n contractStatesTransitionsArray.push(contract.contractStateTransitions);\r\n }\r\n });\r\n let newContractStatesTransitionsArray = contractStatesTransitionsArray.flat();\r\n\r\n let assigneesArray: any = [];\r\n newContractStatesTransitionsArray.map((cst) => assigneesArray.push(cst.assignee));\r\n if (assigneesArray === undefined || assigneesArray.length == 0) {\r\n return;\r\n } else {\r\n //filter out double names:\r\n let result = [];\r\n assigneesArray.forEach((item) => {\r\n if (result.indexOf(item) < 0) {\r\n result.push(item);\r\n }\r\n });\r\n this.listOfAssignees = result.filter((assignee) => assignee != undefined);\r\n }\r\n }\r\n\r\n async setAssignee(event: string) {\r\n this.resetParameters();\r\n this.assignee = event;\r\n this.fetchData();\r\n }\r\n\r\n // fix for priority\r\n pageLimit: number;\r\n currentPage: number;\r\n async changeCurrentPage(event) {\r\n // this.currentPage = event;\r\n this.currentPageNumber = event;\r\n this.isLoading = true;\r\n // await this.getAllContractsStates();\r\n this.isLoading = false;\r\n }\r\n\r\n async fetchData() {\r\n this.currentPage = 0;\r\n this.isLoading = true;\r\n this.contractsWithState = null;\r\n await this.getContractStateCountsAndOverview();\r\n await this.getAllContractsStates();\r\n this.isLoading = false;\r\n }\r\n\r\n async fetchStepperData() {\r\n await this.fetchStatesWithTransitions();\r\n this.getContractStateCountsAndOverview();\r\n }\r\n\r\n contractStateCountIsToggled() {\r\n return true;\r\n }\r\n\r\n selectTab(tab: Number, filters?: boolean) {\r\n this.activatedRoute.paramMap;\r\n if (location.pathname.indexOf('tab=') > 0) {\r\n history.pushState(null, '', location.pathname.substring(0, location.pathname.indexOf('?tab=')) + 'tab=' + tab);\r\n } else {\r\n history.pushState(null, '', location.pathname + '?tab=' + tab);\r\n }\r\n this.tab = tab;\r\n if (!filters) {\r\n if (this.tab == 1 || this.tab == 2) {\r\n this.resetParameters();\r\n this.contractsWithState = null; // clear results table.\r\n }\r\n }\r\n }\r\n\r\n resetParameters() {\r\n this.currentPage = 0;\r\n this.currentPageNumber = 0;\r\n this.contractStateIsActive = true;\r\n this.searchString = null;\r\n this.contractMutationState = null;\r\n this.contractStateTransitionType = null;\r\n this.assignee = null;\r\n }\r\n\r\n //contract-states-status:\r\n async setIsActive(statusBoolean: boolean) {\r\n this.contractStateIsActive = statusBoolean;\r\n this.fetchData();\r\n }\r\n\r\n async filterOnContractMutationState(event: string) {\r\n this.contractStateTransitionType = null;\r\n this.currentPageNumber = 0;\r\n this.contractMutationState = event;\r\n this.fetchData();\r\n }\r\n\r\n async filterOnContractStateTransitionType(event: string) {\r\n this.contractStateTransitionType = event;\r\n this.currentPageNumber = 0;\r\n this.fetchData();\r\n }\r\n\r\n async fetchStatesWithTransitions() {\r\n this.ContractStatesOverviewTemplate = await this.contractStateService.getContractMutationStatesWithContractStateTransitions();\r\n }\r\n\r\n async getContractStateCountsAndOverview() {\r\n var counts = await this.contractStateService.getAllCountPerContractMutationStateAndContractStateTransitionType(this.contractStateIsActive);\r\n this.ContractStatesOverview = this.ContractStatesOverviewTemplate.map((s) => {\r\n var stateMatch = counts.find((c) => c.contractMutationState == s.ContractMutationState);\r\n var stateCount = stateMatch !== undefined ? stateMatch.count : 0;\r\n\r\n return {\r\n contractMutationState: s.ContractMutationState,\r\n count: stateCount,\r\n\r\n contractStateTransitionTypes: s.ContractStateTransitionTypes.map((t) => {\r\n var typeMatch = stateMatch !== undefined ? stateMatch.contractStateTransitionTypeCounts[t] : undefined;\r\n var typeCount = typeMatch !== undefined ? typeMatch : 0;\r\n\r\n return {\r\n name: t,\r\n count: typeCount,\r\n };\r\n }),\r\n };\r\n });\r\n }\r\n\r\n async getAllContractsStates() {\r\n this.contractsWithState = await this.contractStateService\r\n .getAll(\r\n this.currentPage * this.pageLimit, // Offset\r\n this.pageLimit, // Limit\r\n this.searchString, // EAN\r\n this.contractMutationState,\r\n this.contractStateTransitionType,\r\n this.contractStateIsActive, // isActive filter\r\n this.assignee,\r\n )\r\n .catch((error) => this.errorService.addError('Kan geen contractdata ophalen'));\r\n }\r\n\r\n async skipStepResult(event) {\r\n if (event.contractid === undefined || event.connectionid === undefined || event.contractms === undefined) {\r\n return;\r\n }\r\n await this.contractStateService.closeConnectionContractTransition(event.contractid, event.connectionid, event.contractms);\r\n this.fetchData().catch((error) => this.errorService.addError(error.error.title));\r\n }\r\n\r\n async selfAssignTransition(event) {\r\n if (event.contractid === undefined || event.connectionid === undefined || event.contractms === undefined || event.contractst === undefined) {\r\n return;\r\n }\r\n await this.contractStateService.selfAssignTransition(event.contractid, event.connectionid, event.contractms, event.contractst);\r\n this.fetchData();\r\n }\r\n\r\n async appendTransitionRemarks(event) {\r\n if (\r\n event.contractid === undefined ||\r\n event.connectionid === undefined ||\r\n event.contractms === undefined ||\r\n event.contractst === undefined ||\r\n event.rem === undefined\r\n ) {\r\n return;\r\n }\r\n await this.contractStateService.appendTransitionRemarks(event.contractid, event.connectionid, event.contractms, event.contractst, event.rem);\r\n this.fetchData();\r\n }\r\n\r\n setContractStateAndTransitionType(event) {\r\n // in this case it is reset, we want to set all params to null and fetch.\r\n this.resetParameters();\r\n this.fetchData();\r\n }\r\n\r\n navigateFromStepper(event) {\r\n this.selectTab(1, true);\r\n this.resetParameters();\r\n this.contractsWithState = null;\r\n this.contractMutationState = event.contractMutationState;\r\n this.contractStateTransitionType = event.contractTransitionType;\r\n this.fetchData();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n Contract Statussen\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n report No Data\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n","import { ConnectionContract, Tenant } from 'src/app/Connection';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { TenantService } from 'src/app/services/tenant.service';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { BaseDashboard } from '../BaseDashboard';\r\n\r\n@Component({\r\n selector: 'customer-dashboard',\r\n templateUrl: './CustomerDashboard.html',\r\n styleUrls: ['./CustomerDashboard.scss'],\r\n})\r\nexport class CustomerDashboard extends BaseDashboard {\r\n public connectionContracts: ConnectionContract[] = undefined;\r\n public tenants: Tenant[] = [];\r\n public switchNotificationSend?: boolean = undefined;\r\n switchNotSend: boolean = false;\r\n isLoading: boolean = false;\r\n\r\n constructor(\r\n private ConnectionService: ConnectionService,\r\n private tenantService: TenantService,\r\n router: Router,\r\n private errorService: ErrorService,\r\n ) {\r\n super(router);\r\n }\r\n\r\n fetchData() {\r\n this.isLoading = true;\r\n this.ConnectionService.GetContracts([], [], this.switchNotificationSend, this.searchString)\r\n .then((connectionContracts) => {\r\n this.connectionContracts = connectionContracts;\r\n this.isLoading = false;\r\n })\r\n .catch((error) => {\r\n this.errorService.addError('Kan geen klantdata ophalen.');\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n searchEventlistener(event) {\r\n if (event.shortcut === true) {\r\n // shortcut option to quickly navigate using ctrl click\r\n // this.router.navigate(['/connection', event.searchString]);\r\n } else {\r\n this.switchNotificationSend = undefined;\r\n super.onUpdateSearch(event.searchString);\r\n }\r\n }\r\n\r\n switchNotificationNotSend() {\r\n this.switchNotificationSend = false;\r\n this.fetchData();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n Klanten\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n Resultaten\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0; else nodata\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CustomerIdContractIdEANStartDateContractDateSwitch / InhuizingProductTypeModified
{{connectionContract.customerId}}\r\n {{connectionContract.contractId}}{{connectionContract.connectionId}}{{connectionContract.startDate.LocalDate}}{{connectionContract.contractDate | date: 'yyyy-MM-dd'}}\r\n \r\n

\r\n \r\n error\r\n \r\n Switch\r\n

\r\n

\r\n Inhuizing\r\n

\r\n

\r\n Onbekend\r\n

\r\n
\r\n
{{connectionContract.productType}}{{connectionContract.modifiedTimestamp | date: 'yyyy-MM-dd HH:mm'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n report No Data\r\n \r\n \r\n","import {\r\n ITranslationCategory,\r\n Translation,\r\n TranslationCategory,\r\n TranslationValue,\r\n} from 'src/app/Dashboards/TranslationDashboard/TranslationCategory';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { TranslationFromMemoryOrApiService } from 'src/app/services/translation-from-memory-or-api.service';\r\nimport { TranslationService } from 'src/app/services/translation.service';\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-issues-url-button',\r\n templateUrl: './issues-url-button.component.html',\r\n styleUrls: ['./issues-url-button.component.scss'],\r\n})\r\nexport class IssuesUrlButtonComponent implements OnInit {\r\n @Input() inputUrlProcess = '';\r\n @Input() inputUrlSubject = '';\r\n activeModal = false;\r\n translationName: string;\r\n urlProcess: string;\r\n urlSubject: string;\r\n\r\n translationCategory: ITranslationCategory;\r\n form: UntypedFormGroup;\r\n\r\n constructor(private translationService: TranslationService, private translation: TranslationFromMemoryOrApiService, private fb: UntypedFormBuilder, private errorService: ErrorService) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.translationCategory = this.translation.getTranslationListByName(\"IssuesUrl\");\r\n this.setParameters();\r\n }\r\n\r\n setParameters() {\r\n this.urlProcess = this.inputUrlProcess;\r\n this.urlSubject = this.inputUrlSubject ? this.inputUrlSubject : null; // checks if just a process or process with subject.\r\n }\r\n\r\n goToDocumentation(issueTypeSubject: string, issueTypeSubjectMutation?: string) {\r\n this.urlProcess = issueTypeSubject;\r\n\r\n if (issueTypeSubjectMutation === undefined) {\r\n this.translationName = issueTypeSubject;\r\n this.activeModal = true;\r\n } else {\r\n this.urlSubject = issueTypeSubjectMutation;\r\n this.translationName = issueTypeSubject + ' ' + issueTypeSubjectMutation;\r\n this.activeModal = true;\r\n }\r\n }\r\n\r\n cancelUrl() {\r\n this.activeModal = false;\r\n this.translationName = null;\r\n this.urlProcess = null;\r\n this.urlSubject = null;\r\n }\r\n\r\n async saveUrl(translationName, translationUrl?) {\r\n if (!this.translationCategory) {\r\n console.log('No IssueUrl list was found, creating one..')\r\n this.translationCategory = new TranslationCategory({\r\n TranslationDomainName: 'IssuesUrl',\r\n Name: \"Frontend\"\r\n })\r\n }\r\n\r\n const newTranslation = new Translation(translationName);\r\n newTranslation.TranslationValues.push(new TranslationValue('NL'));\r\n this.translationCategory.Translations.push(newTranslation);\r\n\r\n newTranslation.TranslationValues[0].Value = translationUrl;\r\n newTranslation.TranslationValues[0].Description = translationName;\r\n\r\n this.translation.updateTranslationCategory(this.translationCategory)\r\n\r\n this.activeModal = false;\r\n }\r\n\r\n checkIfIssueURLExists(key) {\r\n const match = this.translationCategory?.Translations.find((t) => t.Name === key);\r\n\r\n if (match) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n checkIfIssueAndSubjectURLExists(key, sub) {\r\n const match = this.translationCategory?.Translations.find((t) => t.Name === key + ' ' + sub);\r\n\r\n if (match) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n goToUrl(key, sub?) {\r\n const getUrl = this.translationCategory.Translations.find((t) => t.Name === key || t.Name === key + ' ' + sub);\r\n const openUrl = getUrl.TranslationValues[0].Value;\r\n\r\n window.open(openUrl, '_blank');\r\n }\r\n\r\n createForm() {\r\n const reg = '(http|https)://nieuwestroom.atlassian.net/wiki/spaces/.*';\r\n this.form = this.fb.group({\r\n url: ['', [Validators.required, Validators.pattern(reg)]],\r\n });\r\n }\r\n\r\n // Getter for easy access\r\n get url() {\r\n return this.form.get('url');\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n info\r\n \r\n \r\n \r\n \r\n \r\n add_link\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n info\r\n \r\n \r\n \r\n \r\n \r\n add_link\r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n X\r\n
\r\n
\r\n
Geef URL op met documentatie van dit proces/onderwerp
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Proces: {{urlProcess}}

\r\n

Onderwerp: {{urlSubject}}

\r\n\r\n \r\n
\r\n\r\n \r\n URL moet beginnen met https://nieuwestroom.atlassian.net/wiki/spaces/\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","import moment, { Moment } from 'moment';\r\nimport { EnumDescription, Issue, IssueCountPerIssueTypeAndSubject, Page } from 'src/app/Connection';\r\nimport { NEWLINE } from 'src/app/constants/csv';\r\nimport { entries, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { BlobCreateHelper } from 'src/app/helpers/BlobCreateHelper';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { IssueService } from 'src/app/services/issue.service';\r\nimport { TenantService } from 'src/app/services/tenant.service';\r\nimport { TimeTools } from 'src/app/services/time-tools.service';\r\nimport { TranslationFromMemoryOrApiService } from 'src/app/services/translation-from-memory-or-api.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ITranslationCategory } from '../../TranslationDashboard/TranslationCategory';\r\n\r\n@Component({\r\n selector: 'issues-overview-component',\r\n templateUrl: './IssueOverviewComponent.html',\r\n styleUrls: ['./IssueOverviewComponent.scss'],\r\n})\r\nexport class IssueOverviewComponent implements OnInit {\r\n selectedRow: number;\r\n setClickedRow;\r\n issueCounts: any;\r\n issues: Page;\r\n issuesTypes: any[];\r\n selectedIssues: any[] = [];\r\n connections: any[] = [];\r\n connectionViews: any[] = [];\r\n connectionService: ConnectionService;\r\n tenantService: TenantService;\r\n searchString: string;\r\n pageNumbers: number[] = [];\r\n pageSize = 15;\r\n subject?: string;\r\n currentPage = 0;\r\n thisPage = 1;\r\n openIssueTypes: string[] = [];\r\n open = true; // Default value of Issue open, thus only showing open issues at the first\r\n modifiedSince: Moment;\r\n modifiedSinceControl: UntypedFormControl;\r\n modifiedAfter: Moment;\r\n modifiedBefore: Moment;\r\n issueIds: number[] = [];\r\n issueIdsForRouter: number[] = [];\r\n isShowFilters = false;\r\n activeModal = false;\r\n\r\n tenantWarning: boolean;\r\n closeWarning = false;\r\n\r\n isLoading: boolean;\r\n\r\n IssueTypeEnums: EnumDescription[];\r\n\r\n startPeriod: Moment;\r\n endPeriod: Moment;\r\n\r\n voorbeeld = 'tot';\r\n\r\n issueCountsTotal: number;\r\n\r\n commatype: string; // , or ;\r\n showDownloadExplanation = false;\r\n numberOfEans: number;\r\n form: UntypedFormGroup;\r\n\r\n issueUrlTranslations: ITranslationCategory;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private translation: TranslationFromMemoryOrApiService,\r\n connectionService: ConnectionService,\r\n private issueService: IssueService,\r\n tenantService: TenantService,\r\n private errorService: ErrorService,\r\n private timeTools: TimeTools,\r\n ) {\r\n this.connectionService = connectionService;\r\n this.tenantService = tenantService;\r\n this.setClickedRow = function (index) {\r\n this.selectedRow = index;\r\n };\r\n }\r\n\r\n async ngOnInit() {\r\n this.modifiedSinceControl = new UntypedFormControl(this.modifiedSince);\r\n await this.checkRouterParams();\r\n this.checkTenants();\r\n await this.fetchData();\r\n this.compareToYesterday();\r\n }\r\n\r\n checkRouterParams() {\r\n this.route.queryParamMap.subscribe((paramsMap: any) => {\r\n if (paramsMap.keys.includes('open')) {\r\n this.open = paramsMap.params['open'];\r\n }\r\n if (paramsMap.keys.includes('issueType')) {\r\n this.selectedIssues = [].concat(paramsMap.params['issueType']);\r\n }\r\n if (paramsMap.keys.includes('id')) {\r\n this.issueIds = paramsMap.params['id'].split(',');\r\n }\r\n if (paramsMap.keys.includes('search')) {\r\n this.searchString = paramsMap.params['search'];\r\n }\r\n });\r\n }\r\n\r\n async getIssues() {\r\n this.issues = null;\r\n await this.issueService\r\n .getAll(\r\n this.currentPage * this.pageSize,\r\n this.pageSize,\r\n this.searchString,\r\n this.open,\r\n this.selectedIssues,\r\n this.subject,\r\n this.modifiedSince,\r\n this.modifiedBefore,\r\n this.issueIds,\r\n )\r\n .then((issues) => (this.issues = issues))\r\n .then(() => this.calcPages(this.issues))\r\n .catch((e) => {\r\n this.errorService.addError(e.message);\r\n this.isLoading = false;\r\n throw new Error(`${e.message} : ${JSON.stringify(e.error)}`);\r\n });\r\n this.issueIds = []; // clear check route issueIds if they were present.\r\n }\r\n\r\n async fetchData() {\r\n this.isLoading = true;\r\n this.getIssueCountAndEnums();\r\n await this.getIssues();\r\n this.isLoading = false;\r\n }\r\n\r\n closeThisIssue(issue) {\r\n this.issueService\r\n .closeIssue(issue.Id)\r\n .then(() => alert('Issue gesloten'))\r\n .then(() => this.fetchData())\r\n .catch((e) => {\r\n new Error('Niet geluk: ' + e.error.title);\r\n throw new Error(`${e.message} : ${JSON.stringify(e.error)}`);\r\n });\r\n }\r\n\r\n async processIssue(id: number) {\r\n await this.issueService\r\n .processIssue(id)\r\n .then((result) => alert('Issue verwerkt'))\r\n .then(() => this.fetchData())\r\n .catch((error) => {\r\n throw new Error('Niet geluk: ' + error.error.title);\r\n });\r\n }\r\n\r\n checkTenants() {\r\n const tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length === 1) {\r\n this.tenantWarning = true;\r\n }\r\n }\r\n\r\n picker(event: any) {\r\n this.modifiedSince = event.value;\r\n this.fetchData();\r\n }\r\n\r\n issueIsSelected(issue: any) {\r\n var index = this.selectedIssues.map((i) => i.IssueType).indexOf(issue.IssueType);\r\n return index > -1;\r\n }\r\n\r\n issueTypeSubjectIsToggled(issueType: string): boolean {\r\n return this.openIssueTypes.indexOf(issueType) > -1;\r\n }\r\n searchIssueTypeAndSubject(issueType: string, subject?: string) {\r\n this.addToRouter(issueType);\r\n this.selectedIssues = [issueType];\r\n this.subject = subject;\r\n this.currentPage = 0; // resets the page offset in API Call!\r\n this.getIssues();\r\n }\r\n\r\n addIssueIdToURL(issueId) {\r\n if (this.issueIdsForRouter == undefined) {\r\n return;\r\n }\r\n this.issueIdsForRouter.includes(issueId)\r\n ? this.issueIdsForRouter.splice(this.issueIdsForRouter.indexOf(issueId), 1)\r\n : this.issueIdsForRouter.push(issueId);\r\n // prevented history of the same issuetype (e.g. doubleclicked)\r\n let queryPath: string = ''; // might want to leave the rest intact?\r\n this.issueIdsForRouter.length != 0 ? (queryPath += '?id=' + this.issueIdsForRouter.join(',')) : (queryPath = '');\r\n history.pushState(null, '', location.pathname + queryPath);\r\n }\r\n\r\n isSelectedIssueId(issueId) {\r\n return this.issueIdsForRouter.includes(issueId);\r\n }\r\n\r\n addToRouter(issueTypes) {\r\n if (this.selectedIssues.includes(issueTypes)) {\r\n return;\r\n }\r\n // prevented history of the same issuetype (e.g. doubleclicked)\r\n let queryPath = '?issueType=' + issueTypes;\r\n history.pushState(null, '', location.pathname + queryPath);\r\n }\r\n\r\n toggleIssueTypeSubject(issueType: string) {\r\n if (this.openIssueTypes.find((s) => s === issueType)) {\r\n this.openIssueTypes.splice(this.openIssueTypes.indexOf(issueType), 1);\r\n } else {\r\n this.openIssueTypes.push(issueType);\r\n }\r\n }\r\n\r\n toggleIssue(issue: any) {\r\n var index = this.selectedIssues.map((i) => i.IssueType).indexOf(issue.IssueType);\r\n if (index > -1) {\r\n while (index > -1) {\r\n this.selectedIssues.splice(index);\r\n index = this.selectedIssues.map((i) => i.IssueType).indexOf(issue.IssueType);\r\n }\r\n } else {\r\n this.selectedIssues.push(issue);\r\n const queryPath = '?issueType=' + this.selectedIssues;\r\n history.pushState(null, '', location.pathname + queryPath);\r\n }\r\n\r\n localStorage['selectedIssues'] = JSON.stringify(this.selectedIssues);\r\n }\r\n\r\n calcPages(page: Page) {\r\n this.pageNumbers = [];\r\n for (let i = 0; i < page.totalCount / this.pageSize; i++) {\r\n this.pageNumbers.push(i + 1);\r\n }\r\n }\r\n next() {\r\n if (this.currentPage > this.pageNumbers[this.pageNumbers.length - 1]) {\r\n this.page(this.currentPage - 1);\r\n }\r\n }\r\n previous() {\r\n if (this.currentPage > 0) {\r\n this.page(this.currentPage + 1);\r\n }\r\n }\r\n page(goToNumber: number) {\r\n this.currentPage = goToNumber - 1;\r\n this.getIssues();\r\n }\r\n\r\n searchEventlistener(event) {\r\n if (event.shortcut === true) {\r\n // shortcut option to quickly navigate using ctrl click\r\n // this.router.navigate(['/connection', event.searchString]);\r\n } else {\r\n this.onUpdateSearch(event.searchString);\r\n }\r\n }\r\n\r\n onUpdateSearch(searchString: string) {\r\n let queryPath = '?';\r\n if (searchString !== undefined) {\r\n queryPath = '?search=' + searchString;\r\n }\r\n if (this.open !== undefined) {\r\n queryPath = '?open=' + this.open;\r\n }\r\n this.searchString = searchString;\r\n this.selectedIssues.forEach((i) => (queryPath += '&issue=' + i.IssueType));\r\n history.pushState(null, '', location.pathname + queryPath);\r\n this.fetchData();\r\n }\r\n\r\n changeOnSelect(event) {\r\n // haal uit het event de waarde (uit de [value] die changed)\r\n this.open = event.value;\r\n\r\n let queryPath = '?';\r\n if (this.open !== undefined) {\r\n queryPath = '?open=' + this.open;\r\n }\r\n this.selectedIssues.forEach((i) => (queryPath += '&issue=' + i.IssueType));\r\n history.pushState(null, '', location.pathname + queryPath);\r\n this.fetchData();\r\n }\r\n\r\n async getIssueCountAndEnums() {\r\n this.issueCounts = null;\r\n const issueCounts = await this.issueService\r\n // .getIssueCountPerIssueTypeAndSubject(this.open, this.modifiedSince, this.searchString, this.modifiedBefore)\r\n .getIssueOverview(this.open, this.startPeriod, this.endPeriod)\r\n .then((apiResult) =>\r\n entries(groupBy(apiResult, (i: IssueCountPerIssueTypeAndSubject) => i.IssueType)).map((entry) => ({\r\n key: entry.key,\r\n value: entry.value,\r\n count: (entry.value as any)?.reduce((sum, current) => sum + current.Count, 0),\r\n })),\r\n )\r\n .catch((e) => {\r\n this.errorService.addError(e.message);\r\n this.isLoading = false;\r\n throw new Error(`${e.message} : ${JSON.stringify(e.error)}`);\r\n });\r\n this.issueCounts = issueCounts;\r\n this.issueCountsTotal = this.issueCounts?.reduce((sum, current) => sum + current.count, 0);\r\n }\r\n\r\n async compareToYesterday() {\r\n // Only runs at startup.\r\n const issueCountsOfYesterday = await this.issueService\r\n // .getIssueCountPerIssueTypeAndSubject(this.open, this.modifiedSince, this.searchString, this.modifiedBefore)\r\n .getIssueOverview(this.open, null, moment().subtract(1, 'days'))\r\n .then((apiResult) =>\r\n entries(groupBy(apiResult, (i: IssueCountPerIssueTypeAndSubject) => i.IssueType)).map((entry) => ({\r\n key: entry.key,\r\n value: entry.value,\r\n count: (entry.value as any)?.reduce((sum, current) => sum + current.Count, 0),\r\n })),\r\n )\r\n .catch((e) => {\r\n this.errorService.addError(e.message);\r\n throw new Error(`${e.message} : ${JSON.stringify(e.error)}`);\r\n });\r\n let list: any = issueCountsOfYesterday;\r\n const newIssueCounts = this.issueCounts?.map((ic: any) => {\r\n const yesterdaysIssueCount = list.filter((i: any) => i.key === ic.key).length > 0 ? list.filter((i: any) => i.key === ic.key)[0] : { count: 0 };\r\n const mutation = ic.count - yesterdaysIssueCount.count;\r\n ic.mutation = mutation;\r\n return ic;\r\n });\r\n // adds additional field to the current count, only once at startup.\r\n this.issueCounts = newIssueCounts;\r\n }\r\n\r\n goToConnection(issue: any) {\r\n const url: any = this.router.createUrlTree(['/connection', issue.ConnectionId]);\r\n window.open(url, '_blank');\r\n }\r\n\r\n showIssueContextList: any[] = [];\r\n // For the frontend, returns true or false to render active or inactive item.\r\n showIssueContextCheck(i: number) {\r\n return this.showIssueContextList.includes(i);\r\n }\r\n showIssueContext(i: number) {\r\n let index = this.showIssueContextList.indexOf(i);\r\n if (index > -1) {\r\n this.showIssueContextList.splice(index);\r\n } else {\r\n this.showIssueContextList.push(i);\r\n }\r\n }\r\n\r\n async changeissueTrendPeriod(selectedPeriod) {\r\n if (selectedPeriod === undefined || selectedPeriod === null) return;\r\n this.modifiedSince = selectedPeriod.from ? moment(selectedPeriod.from) : null; // TODO: Make issues createdFrom and Until -> Has to be used, since Issues call has no createdFrom and createdUntil\r\n this.modifiedBefore = selectedPeriod.until ? moment(selectedPeriod.until) : null;\r\n this.startPeriod = selectedPeriod.from ? moment(selectedPeriod.from) : null;\r\n this.endPeriod = selectedPeriod.until ? moment(selectedPeriod.until) : null;\r\n this.fetchData();\r\n }\r\n\r\n showFilters() {\r\n this.isShowFilters = !this.isShowFilters;\r\n }\r\n\r\n /// Download connections functionality\r\n downloadCSV(all: boolean, commatype: string) {\r\n this.commatype = commatype;\r\n var amountOfEans = all ? 20000 : prompt('Hoeveel issues moeten er in het document komen?', '500');\r\n this.showDownloadExplanation = true;\r\n if (amountOfEans == null) {\r\n return;\r\n }\r\n var numberOfEans: number = +amountOfEans; // string to number typesafe\r\n if (isNaN(numberOfEans)) {\r\n return this.errorService.addError('Voer geldig getal in');\r\n }\r\n if (!this.open) {\r\n return this.errorService.addError('Kan alleen exporteren voor openstaande issues');\r\n }\r\n this.fetchIssuesForExport(all, numberOfEans);\r\n }\r\n\r\n async fetchIssuesForExport(all: boolean, numberOfEans: number) {\r\n let selectedIssue = all ? null : this.selectedIssues;\r\n\r\n let pageddata: any = await this.issueService\r\n .getAll(0, numberOfEans, null, this.open, selectedIssue, this.subject, this.modifiedSince)\r\n .catch((e) => {\r\n this.errorService.addError('Kan geen data ophalen, foutmelding: ' + e.message);\r\n throw new Error(`${e.message} : ${JSON.stringify(e.error)}`);\r\n });\r\n\r\n if (pageddata === undefined || pageddata.length === 0 || pageddata.data.length === 0) {\r\n return this.errorService.addError('Kan geen CSV maken en downloaden');\r\n }\r\n let filename =\r\n 'IssuesUitlijsting' +\r\n (this.selectedIssues ? '-' + this.selectedIssues : '') +\r\n (this.subject ? '-' + this.subject : '') +\r\n '-' +\r\n moment().format('YYYY-MM-DD');\r\n let csvData = await this.makeCSVData(pageddata.data);\r\n BlobCreateHelper.downloadCSV(filename, csvData);\r\n }\r\n\r\n async makeCSVData(data) {\r\n let csvData;\r\n let comma = this.commatype;\r\n let MultipleIssueTypesSelected: boolean = this.selectedIssues.length > 1; // no yet supported, but should be in future\r\n let issueTypesTranslated = this.selectedIssues.map((issueType) => this.translation.getTranslation('Frontend', 'Issues', issueType));\r\n\r\n let documentIntro =\r\n 'Geëxporteerd op: ' +\r\n comma +\r\n moment().format('YYYY-MM-DD') +\r\n comma +\r\n NEWLINE +\r\n 'Geselecteerd IssueType: ' +\r\n comma +\r\n // this.selectedIssues.map((i) => i) +\r\n issueTypesTranslated +\r\n NEWLINE +\r\n 'Geselecteerd Onderwerp: ' +\r\n comma +\r\n (this.subject ? this.subject : '') +\r\n NEWLINE;\r\n let documentHeader =\r\n 'IssueType' +\r\n comma +\r\n 'Subject' +\r\n comma +\r\n 'Issue Id' +\r\n comma +\r\n 'EAN' +\r\n comma +\r\n 'CustomerNumber' +\r\n comma +\r\n 'Vanaf' +\r\n comma +\r\n 'Tot' +\r\n comma +\r\n 'Context van' +\r\n comma +\r\n 'Context Tot' +\r\n comma +\r\n 'Context' +\r\n comma +\r\n 'Gewijzigd Timestamp' +\r\n comma +\r\n 'Assignee' +\r\n NEWLINE;\r\n\r\n let rows = '';\r\n data.map((issue) => {\r\n let issueFrom = issue.From != undefined || issue.From != null ? issue.From.moment.format('YYYY-MM-DD H:mm') : '';\r\n let issueUntil = issue.Until != undefined || issue.Until != null ? issue.Until.moment.format('YYYY-MM-DD H:mm') : '';\r\n let issueModifiedTimestamp =\r\n issue.ModifiedTimestamp != undefined || issue.ModifiedTimestamp != null ? issue.ModifiedTimestamp.moment.format('YYYY-MM-DD H:mm') : '';\r\n let assignee = issue.Assignee != undefined ? '' + issue.Assignee : '';\r\n let issueTypeTranslated = this.translation.getTranslation('Frontend', 'Issues', issue.IssueType);\r\n let ctxFrom = issue.ContextFrom != undefined || issue.ContextFrom != null ? issue.ContextFrom.format('YYYY-MM-DD H:mm') : '';\r\n let ctxUntil = issue.ContextUntil != undefined || issue.ContextUntil != null ? issue.ContextUntil.format('YYYY-MM-DD H:mm') : '';\r\n let ean = issue.ConnectionId != undefined ? '' + issue.ConnectionId : '';\r\n let customerId = issue.CustomerId != undefined ? '' + issue.CustomerId : '';\r\n\r\n return (rows +=\r\n issueTypeTranslated +\r\n comma +\r\n issue.Subject +\r\n comma +\r\n issue.Id +\r\n comma +\r\n ean +\r\n comma +\r\n customerId +\r\n comma +\r\n issueFrom +\r\n comma +\r\n issueUntil +\r\n comma +\r\n ctxFrom +\r\n comma +\r\n ctxUntil +\r\n comma +\r\n 'Nog niet beschikbaar' +\r\n comma +\r\n issueModifiedTimestamp +\r\n comma +\r\n assignee +\r\n NEWLINE);\r\n });\r\n csvData = documentIntro + documentHeader + rows;\r\n return csvData;\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n\r\n   \r\n\r\n \r\n \r\n Alle issues\r\n Open issues \r\n Gesloten issues \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n 5000 aansluitingen per export.'\">\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n Issue overzicht ({{issueCountsTotal}})\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
IssueType
\r\n \r\n {{issueTypesWithSubject.key | translation:'Issues' }}\r\n \r\n \r\n\r\n\r\n {{issueTypesWithSubject.count}}\r\n \r\n \r\n\r\n
\r\n \r\n •\r\n {{singleIssueTypeWithSubject.Subject | translation:'Issues' }}\r\n \r\n \r\n\r\n {{singleIssueTypeWithSubject.Count}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n Aansluitingen en context\r\n\r\n
\r\n \r\n \r\n
Geselecteerde issues CSV\r\n (komma)
\r\n
Geselecteerde issues CSV (punt\r\n komma)
\r\n
Alles CSV (komma)
\r\n
Alles CSV (punt komma)
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0;else nodata\">\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n IssueTypeConnectionIdCustomerIdFromUntilContext
From
Context
Until
ModifiedTimestampAssignee
\r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{issue.ConnectionId}}\r\n {{issue.CustomerId}}\r\n {{issue.From | date: 'yyyy-MM-dd HH:mm'}}\r\n \r\n {{issue.Until | date: 'yyyy-MM-dd HH:mm'}}\r\n {{issue.ContextFrom | date: 'yyyy-MM-dd'}}{{issue.ContextUntil | date: 'yyyy-MM-dd'}}{{issue.ModifiedTimestamp | date: 'yyyy-MM-dd HH:mm'}}{{issue.Assignee}}\r\n \r\n \r\n cancel\r\n visibility\r\n visibility_off\r\n \r\n
\r\n
{{issue.Context | json}}
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n report No Data\r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Issues\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'issues-dashboard',\r\n templateUrl: './IssuesDashboard.html',\r\n styleUrls: ['./IssuesDashboard.scss'],\r\n})\r\nexport class IssuesDashboard {\r\n tab: Number = 0;\r\n initializedList = [];\r\n\r\n constructor(private route: ActivatedRoute) {}\r\n\r\n ngOnInit() {\r\n let tab = 0;\r\n if (this.route.snapshot.queryParams['tab'] != null) {\r\n tab = Number.parseInt(this.route.snapshot.queryParams['tab']);\r\n }\r\n this.tab = tab;\r\n this.initializedList.push(tab);\r\n }\r\n\r\n selectTab(tab: number) {\r\n this.tabWasInitialized(tab);\r\n if (location.pathname.indexOf('tab=') > 0) {\r\n history.pushState(null, '', location.pathname.substring(0, location.pathname.indexOf('?tab=')) + 'tab=' + tab);\r\n } else {\r\n history.pushState(null, '', location.pathname + '?tab=' + tab);\r\n }\r\n this.tab = tab;\r\n }\r\n tabWasInitialized(tabNumber: number) {\r\n if (!this.initializedList.includes(tabNumber)) {\r\n this.initializedList.push(tabNumber);\r\n }\r\n }\r\n isInitialized(i: number) {\r\n return this.initializedList.includes(i);\r\n }\r\n}\r\n","import moment from 'moment';\r\nimport { Period, PeriodsWithGranularitySteps } from 'src/app/Components/period-selector/period-selector.component';\r\nimport { NEWLINE } from 'src/app/constants/csv';\r\nimport { uniqueItemsOfArray } from 'src/app/helpers/ArrayHelper';\r\nimport { BlobCreateHelper } from 'src/app/helpers/BlobCreateHelper';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { IssueService } from 'src/app/services/issue.service';\r\nimport { TranslationFromMemoryOrApiService } from 'src/app/services/translation-from-memory-or-api.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'issues-report-component',\r\n templateUrl: './IssuesReportComponent.html',\r\n styleUrls: ['./IssuesReportComponent.scss'],\r\n})\r\nexport class IssuesReportComponent implements OnInit {\r\n // Report\r\n newReport;\r\n newAdvancedReport;\r\n makeListOfAllIssues;\r\n listOfAllIssues;\r\n\r\n // Report Graph\r\n issueCountSeriesSimple;\r\n issueCountSeriesAdvanced;\r\n\r\n issueTrendPeriod: Period;\r\n issueTrendView: ViewType = ViewType.simple;\r\n listOfIssueTrendView: ViewType[] = [ViewType.simple, ViewType.advanced];\r\n\r\n // Issue Category? / IssueType? / Section?\r\n keyOpenedIssues = 'Nieuwe openstaande issues';\r\n keyClosedIssues = 'Gesloten issues';\r\n keyOpenedClosedIssues = 'Geopend en gesloten issues';\r\n keyAllOpenIssues = 'Totaal open issues';\r\n keyAllClosedIssues = 'Totaal gesloten issues';\r\n\r\n isLoading: boolean;\r\n\r\n constructor(private issueService: IssueService, private translation: TranslationFromMemoryOrApiService, private errorService: ErrorService) { }\r\n\r\n async ngOnInit() {\r\n this.issueTrendPeriod = PeriodsWithGranularitySteps.find((period) => period.name === 'Afgelopen 7 dagen');\r\n this.fetchData();\r\n }\r\n\r\n async fetchData() {\r\n this.isLoading = true;\r\n await this.getDataOfIssueCounts();\r\n this.isLoading = false;\r\n }\r\n\r\n async changeissueTrendPeriod(selectedPeriod) {\r\n this.issueTrendPeriod = selectedPeriod;\r\n this.clearReport();\r\n this.fetchData();\r\n }\r\n\r\n // should be new service\r\n periodService(from?, until?): any {\r\n const periodStart = moment(this.issueTrendPeriod.from);\r\n const periodEnd = moment(this.issueTrendPeriod.until);\r\n const stepSize: any = this.issueTrendPeriod.step; // should / could be custom.\r\n const amountOfSteps: number = this.issueTrendPeriod.steps;\r\n\r\n const periods: any = [];\r\n let start = moment(periodStart.format('YYYY-MM-DD'));\r\n let before = moment(start.format('YYYY-MM-DD')).add(1, stepSize);\r\n\r\n for (let i = 0; i < amountOfSteps; i++) {\r\n const periodObj: any = {\r\n period: this.issueTrendPeriod.period,\r\n step: stepSize,\r\n from: start.format('YYYY-MM-DD'),\r\n until: before.format('YYYY-MM-DD'),\r\n };\r\n periods.push(periodObj);\r\n start.add(1, stepSize);\r\n before.add(1, stepSize);\r\n }\r\n return periods;\r\n }\r\n\r\n clearReport() {\r\n this.issueCountSeriesSimple = null;\r\n this.newReport = null;\r\n this.newAdvancedReport = null;\r\n }\r\n\r\n async getDataOfIssueCounts() {\r\n const issueReport = await this.getIssuesCountForReport();\r\n this.newReport = issueReport;\r\n const advancedReport = await this.makeAdvancedTable(this.listOfAllIssues);\r\n this.newAdvancedReport = advancedReport;\r\n this.issueCountSeriesSimple = this.makeSeries(issueReport);\r\n this.issueCountSeriesAdvanced = this.makeAdvanceSeries(advancedReport);\r\n return;\r\n }\r\n\r\n async getIssuesCountForReport() {\r\n const issueReportList = [this.keyOpenedIssues, this.keyOpenedClosedIssues, this.keyClosedIssues, this.keyAllOpenIssues, this.keyAllClosedIssues];\r\n const reportFromApi: any = await this.getReport(issueReportList);\r\n this.listOfAllIssues = reportFromApi.map((i: any) => i.report.map((per) => per.issues).flat()).flat();\r\n return reportFromApi;\r\n }\r\n\r\n async makeAdvancedTable(allIssues: any) {\r\n const periodWithSteps = this.periodService();\r\n const returnList = [this.keyOpenedIssues, this.keyOpenedClosedIssues, this.keyClosedIssues]; //, this.keyAllOpenIssues, this.keyAllClosedIssues]\r\n\r\n const transformedList = returnList.map((type) => {\r\n const uniqueListOfIssueTypesOfType = uniqueItemsOfArray(allIssues.filter((i) => i.type === type).map((issue) => issue.IssueType)).sort();\r\n const issuesOfIssueTypeOfType = allIssues.filter((i) => i.type === type);\r\n\r\n const result = uniqueListOfIssueTypesOfType.map((issuetype) => {\r\n const issuesOfType = issuesOfIssueTypeOfType.filter((issue) => issue.IssueType === issuetype);\r\n\r\n const issuesOfTypeForDates = periodWithSteps.map((period) => {\r\n const issuefordate = issuesOfType.filter((issue) => issue.from === period.from);\r\n const countOfIssues = issuefordate.length > 0 ? issuefordate.map((i) => i.Count).reduce((a, b) => a + b, 0) : null;\r\n return {\r\n type,\r\n count: countOfIssues,\r\n from: period.from,\r\n until: period.until,\r\n issues: issuefordate,\r\n };\r\n });\r\n const name = issuetype;\r\n // const name = this.translate.translateIssueType(issuetype)\r\n return { title: name, report: issuesOfTypeForDates };\r\n });\r\n return { title: type, report: result };\r\n });\r\n return transformedList;\r\n }\r\n\r\n // Graph Series\r\n makeSeries(issuesForIssueType) {\r\n const series = issuesForIssueType.map((type) => {\r\n const defaultVisibleSetting = type.title === this.keyAllClosedIssues || type.title === this.keyAllOpenIssues ? false : true;\r\n const seriesData = type.report.map((periods) => {\r\n const totalCount = periods.count;\r\n const dateInUnix = moment(periods.from).unix() * 1000;\r\n return [dateInUnix, totalCount];\r\n });\r\n return {\r\n name: type.title,\r\n data: seriesData,\r\n stack: type.title,\r\n visible: defaultVisibleSetting,\r\n };\r\n });\r\n return series;\r\n }\r\n\r\n // Graph Series\r\n makeAdvanceSeries(issuesForIssueType) {\r\n const series = issuesForIssueType.map((type) => {\r\n const stackName: string = type.title;\r\n const transformedSeries = type.report.map((issueType) => {\r\n const seriesData = issueType.report.map((periods) => {\r\n const totalCount = periods.count;\r\n const dateInUnix = moment(periods.from).unix() * 1000;\r\n return [dateInUnix, totalCount];\r\n });\r\n const nameOfIssueType = '' + stackName + ':' + issueType.title;\r\n const defaultVisibleSetting = type.title === this.keyAllClosedIssues || type.title === this.keyAllOpenIssues ? false : true;\r\n return {\r\n name: nameOfIssueType,\r\n data: seriesData,\r\n stack: stackName,\r\n visible: defaultVisibleSetting,\r\n };\r\n });\r\n return transformedSeries;\r\n });\r\n return series.flat();\r\n }\r\n\r\n downloadCSV(csvSeperatorType) {\r\n if (csvSeperatorType === undefined) {\r\n return;\r\n } // to do for future if comma is not of csvSeperatorType enum, then also return error.\r\n // if(this.issueCountTableAdvanced.open.length == 0 && this.issueCountTableAdvanced.closed.length == 0) { return this.errorService.addError('Kan geen CSV downloaden') }\r\n if (this.newReport === undefined && this.newAdvancedReport === undefined) {\r\n return this.errorService.addError('Kan geen CSV downloaden');\r\n }\r\n const filename = 'IssueRapportage(' + this.issueTrendView + ')-' + this.issueTrendPeriod.period + '-' + moment().format('YYYY-MM-DD');\r\n const csvData = this.makeCSVData(csvSeperatorType);\r\n BlobCreateHelper.downloadCSV(filename, csvData);\r\n }\r\n\r\n makeCSVData(csvSeperatorType) {\r\n const comma = csvSeperatorType;\r\n let csvData = this.makeCSVHeaders(this.newReport, csvSeperatorType);\r\n\r\n if (this.issueTrendView === ViewType.simple) {\r\n this.newReport.map((issueTypeKey) => {\r\n csvData += issueTypeKey.title + comma;\r\n issueTypeKey.report.map((period) => {\r\n csvData += (period.count == null ? 0 : period.count) + comma;\r\n });\r\n csvData += NEWLINE;\r\n });\r\n }\r\n\r\n if (this.issueTrendView === ViewType.advanced) {\r\n // wish is also export / show the issues per subject.\r\n this.newAdvancedReport.map((issueTypeKey) => {\r\n csvData += issueTypeKey.title + NEWLINE;\r\n issueTypeKey.report.map((issueType) => {\r\n // FIX ME How do we translate in code, with ASYNC awaits.\r\n const translatedIssueType = this.translation.getTranslation('Frontend', 'Issues', issueType.title);\r\n csvData += issueType.title + comma;\r\n issueType.report.map((period) => {\r\n csvData += (period.count == null ? 0 : period.count) + comma;\r\n });\r\n csvData += NEWLINE;\r\n });\r\n csvData += NEWLINE;\r\n });\r\n }\r\n return csvData;\r\n }\r\n\r\n makeCSVHeaders(report, csvSeperatorType) {\r\n const comma = csvSeperatorType;\r\n let header = 'Datum:' + comma + moment().format('DD-MM-YYYY') + NEWLINE;\r\n header += `Gekozen periode` + comma + this.issueTrendPeriod.name + NEWLINE;\r\n header += `Stapgrootte` + comma + this.issueTrendPeriod.step + NEWLINE;\r\n header += 'Periode data' + comma;\r\n report[0].report.map((period) => {\r\n header += period.from + ' - ' + period.until + comma;\r\n }); // add dates dynamically\r\n header += NEWLINE;\r\n return header;\r\n }\r\n\r\n private async getReport(issueReportList) {\r\n // do recursive api calls per keyOfStatus\r\n const promisesReport = issueReportList.map(async (keyOfStatus) => {\r\n const total = await this.doApiCallForType(keyOfStatus);\r\n return { title: keyOfStatus, report: total };\r\n });\r\n return await Promise.all(promisesReport);\r\n }\r\n\r\n private async doApiCallForType(keyOfStatus) {\r\n // nice recursive api calls in a map function preventing zone aware\r\n const periodWithSteps = this.periodService();\r\n let issueStatus: boolean;\r\n let total: boolean;\r\n let openClosed: boolean;\r\n // set params per type\r\n switch (keyOfStatus) {\r\n case this.keyOpenedIssues:\r\n issueStatus = true;\r\n total = false;\r\n openClosed = false;\r\n break;\r\n case this.keyOpenedClosedIssues:\r\n issueStatus = false;\r\n total = false;\r\n openClosed = true;\r\n break;\r\n case this.keyClosedIssues:\r\n issueStatus = false;\r\n total = false;\r\n openClosed = false;\r\n break;\r\n case this.keyAllOpenIssues:\r\n issueStatus = true;\r\n total = true;\r\n openClosed = false;\r\n break;\r\n case this.keyAllClosedIssues:\r\n issueStatus = false;\r\n total = true;\r\n openClosed = false;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (total) {\r\n const promisesForTotal = periodWithSteps.map(async (step) => {\r\n const totalCounts = await this.issueService.getIssueOverview(issueStatus, null, moment(step.until), true);\r\n const withMetaData = await this.makeMetaObject(totalCounts, keyOfStatus, step.from, step.until);\r\n return withMetaData;\r\n });\r\n return await Promise.all(promisesForTotal);\r\n }\r\n\r\n const promises = periodWithSteps.map(async (step) => {\r\n const result = await this.issueService.getIssueOverview(issueStatus, moment(step.from), moment(step.until), null, openClosed);\r\n const withMetaData = await this.makeMetaObject(result, keyOfStatus, step.from, step.until);\r\n return withMetaData;\r\n });\r\n return await Promise.all(promises);\r\n }\r\n\r\n private async makeMetaObject(result, keyOfStatus?, from?, until?) {\r\n // make a simple TotalCount\r\n const count = result.map((i) => i.Count).reduce((a, b) => a + b, 0);\r\n // add metadata to issues from API\r\n const issues = result.map((issueCount) => {\r\n issueCount.from = from;\r\n issueCount.until = until;\r\n issueCount.type = keyOfStatus;\r\n return issueCount;\r\n });\r\n const metaObject = {\r\n from,\r\n until,\r\n type: keyOfStatus,\r\n count,\r\n issues,\r\n };\r\n return metaObject;\r\n }\r\n}\r\n\r\nexport enum ViewType {\r\n simple = 'Simple',\r\n advanced = 'Advanced',\r\n}\r\n\r\nexport class GraphSeries {\r\n name: string;\r\n data: any;\r\n stack?: string;\r\n extraProperties?: any;\r\n\r\n constructor(name: string, data: any, stack?, extraProperties?) {\r\n this.name = name;\r\n this.data = data;\r\n this.stack = stack;\r\n this.extraProperties = extraProperties;\r\n }\r\n\r\n getSimpleSeries() {\r\n return {\r\n name: this.name,\r\n data: this.data,\r\n stack: this.stack,\r\n };\r\n }\r\n}\r\n","\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Kies Weergave\r\n \r\n {{viewOption}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
CSV (komma)
\r\n
CSV (punt komma)
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","import { Component, Input, SimpleChanges } from '@angular/core';\r\nimport { Chart } from 'angular-highcharts';\r\nimport { ViewType } from 'src/app/Dashboards/Issues/IssuesReportComponent/IssuesReportComponent';\r\n\r\n@Component({\r\n selector: 'issues-report-graph-component',\r\n templateUrl: './IssuesReportGraphComponent.html',\r\n})\r\nexport class IssuesReportGraphComponent {\r\n @Input() issueCountSeriesSimple: any;\r\n @Input() issueCountSeriesAdvanced: any;\r\n @Input() issueTrendView: ViewType;\r\n\r\n chart: Chart;\r\n\r\n doneLoading: boolean = true;\r\n\r\n constructor() {}\r\n\r\n makeChart() {\r\n this.chart = new Chart({\r\n chart: {\r\n type: 'column',\r\n },\r\n title: {\r\n text: '',\r\n },\r\n xAxis: {\r\n type: 'datetime',\r\n title: {\r\n // text: 'Type issue'\r\n },\r\n },\r\n yAxis: {\r\n title: {\r\n text: 'Aantal',\r\n },\r\n },\r\n plotOptions: {\r\n column: {\r\n stacking: this.issueTrendView == ViewType.simple ? undefined : 'normal',\r\n },\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n // Type 'safe' declarations of variables to use.\r\n let localSeries: any = this.series;\r\n let point: any = this.point;\r\n\r\n let stackName = localSeries.userOptions.stack;\r\n\r\n let simpleTooltip =\r\n 'Type Issue: ' +\r\n stackName +\r\n '
' +\r\n new Date(this.x).toDateString() +\r\n '
' +\r\n this.series.name +\r\n ': ' +\r\n this.y +\r\n '
';\r\n\r\n let advancedTooltip = simpleTooltip + 'Total: ' + point.stackTotal;\r\n\r\n // return simple or advanced tooltip\r\n return point.stackTotal == undefined ? simpleTooltip : advancedTooltip;\r\n },\r\n },\r\n rangeSelector: {\r\n enabled: false,\r\n },\r\n navigator: {\r\n enabled: false,\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n series: this.issueTrendView == ViewType.simple ? this.issueCountSeriesSimple : this.issueCountSeriesAdvanced,\r\n });\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.issueCountSeriesSimple || changes.issueCountSeriesAdvanced) {\r\n this.makeChart();\r\n }\r\n if (changes.issueTrendView) {\r\n this.makeChart();\r\n }\r\n }\r\n\r\n ngOnDestroy() {}\r\n}\r\n","
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Granularity } from 'src/app/Connection';\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\nimport { ViewType } from '../IssuesReportComponent/IssuesReportComponent';\r\n\r\n@Component({\r\n selector: 'issues-report-table-component',\r\n templateUrl: './IssuesReportTableComponent.html',\r\n styleUrls: ['./IssuesReportTableComponent.scss'],\r\n})\r\nexport class IssuesReportTableComponent {\r\n @Input() report: any;\r\n @Input() issueTrendView: ViewType;\r\n @Input() granularityOfPeriod: Granularity;\r\n\r\n specification: any; // An Issue or transformed issueObject that goes in the popup\r\n\r\n constructor() { }\r\n\r\n setIssuePopup(input) {\r\n this.specification = this.issueTrendView === ViewType.simple ? input.issues : input;\r\n }\r\n resetIssuePopup() {\r\n this.specification = null;\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n Overzicht van Issues (simpel)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Type Issue\r\n {{date.from}}\r\n \r\n - {{date.until}}\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n {{type.title}}\r\n 0; else nodata\">\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Type Issue
\r\n
\r\n
\r\n\r\n\r\n 0; else nodata\">\r\n \r\n \r\n {{ type.title | translation:'Issues' }}\r\n \r\n \r\n \r\n

{{date.count}}

\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n X\r\n
\r\n
\r\n

Specificatie

\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n

\r\n Issue Type:
\r\n {{ issue.IssueType | translation:'Issues' }}\r\n

\r\n

\r\n Subject:
\r\n {{issue.Subject}}: {{issue.Count}} \r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n

\r\n Issue Type:
\r\n {{ specification.issues[0].IssueType | translation:'Issues' }}\r\n

\r\n

\r\n Subject:
\r\n {{issue.Subject}}: {{issue.Count}} \r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
Geen data!

\r\n
","import moment from 'moment';\r\nimport { Enums, Process, ProcessStatistics } from 'src/app/Connection';\r\nimport { asList, groupBy } from 'src/app/helpers/ArrayHelper';\r\nimport { EnumDescriptionR } from 'src/app/modules/operations-api';\r\nimport { EnumsService } from 'src/app/modules/operations-api/api/enums.service';\r\nimport { ProcessStatisticsService } from 'src/app/services/progress-statistics.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'process-dashboard',\r\n templateUrl: './ProcessDashboard.html',\r\n styleUrls: ['./ProcessDashboard.scss'],\r\n})\r\nexport class ProcessDashboard implements OnInit {\r\n\r\n processesByCategory: any; //transformed and custom object from\r\n allProcessesEnumValues: string[];\r\n summary;\r\n isLoading = false;\r\n\r\n selectedProcesses: UntypedFormControl;\r\n\r\n constructor(\r\n private enumsService: EnumsService,\r\n private processStatisticsService: ProcessStatisticsService,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n const processEnums: EnumDescriptionR[] = await this.fetchEnums();\r\n this.allProcessesEnumValues = processEnums.map((processEnum) => processEnum.Value);\r\n this.selectedProcesses = new UntypedFormControl(listWithselection);\r\n }\r\n\r\n choseSelection(bool?: boolean) {\r\n const selection = listWithselection\r\n\r\n const listOfProcesses = bool\r\n ? this.selectedProcesses.value\r\n : this.allProcessesEnumValues\r\n\r\n this.fetchData(listOfProcesses)\r\n }\r\n\r\n fetchEnums = async () => await this.enumsService.apiSystemEnumsGet(Enums.Process).toPromise();\r\n\r\n\r\n async fetchData(processesList?) {\r\n this.isLoading = true;\r\n // const promiseAllProcessStatistics: any = await this.getPromiseAllProcessStatistics(this.allProcessesEnumValues);\r\n const promiseAllProcessStatistics: any = await this.getProcessStatistics(processesList ?? this.allProcessesEnumValues);\r\n const processStatistics: ProcessStatistics[] = promiseAllProcessStatistics.flat();\r\n console.log(promiseAllProcessStatistics)\r\n this.flattenAndGroupAllProcesses(processStatistics);\r\n this.transformAndCreateSummary(processStatistics);\r\n this.isLoading = false;\r\n }\r\n\r\n async getPromiseAllProcessStatistics(processEnumValues) {\r\n const modifiedAfterTimestamp = moment().subtract(3, 'day').format('YYYY-MM-DD');\r\n const promisesReport = processEnumValues.map(async (process) => await this.processStatisticsService.getAll(process, modifiedAfterTimestamp));\r\n return await Promise.all(promisesReport);\r\n }\r\n\r\n async getProcessStatistics(processEnumValues) {\r\n const modifiedAfterTimestamp = moment().subtract(3, 'day').format('YYYY-MM-DD');\r\n const promisesReport = processEnumValues.map(async (process) => await this.processStatisticsService.getAll(process, modifiedAfterTimestamp));\r\n return await Promise.all(promisesReport);\r\n }\r\n\r\n flattenAndGroupAllProcesses(processStatistics: ProcessStatistics[]) {\r\n let newlist: any = processStatistics;\r\n newlist.sort((a, b) => b.ModifiedTimestamp - a.ModifiedTimestamp);\r\n // group by appdescription\r\n newlist = asList(groupBy(newlist, (newlist: any) => '' + newlist.Id.appInstanceDescription));\r\n // group by appinstance\r\n newlist = newlist.map((processlist) => {\r\n let groupedbyInstancePartition = asList(groupBy(processlist, (processlist: any) => '' + processlist.Id.appInstancePartition));\r\n return groupedbyInstancePartition;\r\n });\r\n this.addStatistics(newlist);\r\n // console.log(newlist)\r\n }\r\n\r\n addStatistics(processbycategory) {\r\n let statistics = processbycategory.map((instancelist) => {\r\n let lastelement = instancelist.flat().pop();\r\n let appdescriptionname = lastelement.Id.appInstanceDescription;\r\n\r\n let appdescriptionrunning = instancelist.flat().filter((p) => this.statusCheck(p) == 'Running').length;\r\n let appdescriptioncompleted = instancelist.flat().filter((p) => this.statusCheck(p) == 'Completed').length;\r\n let appdescriptionwarning = instancelist.flat().filter((p) => this.statusCheck(p) == 'Warning').length;\r\n let appdescriptioncrashed = instancelist.flat().filter((p) => this.statusCheck(p) == 'Crashed').length;\r\n let applastUpdatedProcess = instancelist.flat().reduce((a, b) => (a.ModifiedTimestamp > b.ModifiedTimestamp ? a : b));\r\n let appdescriptionlastupdate = applastUpdatedProcess.ModifiedTimestamp;\r\n\r\n // Transform each processes per instance with the data we'd want.\r\n let instancelistwithstatistics = instancelist.map((processesperinstancepartition) => {\r\n let apppartitionnname =\r\n processesperinstancepartition[0].Id.appInstanceDescription + ' (' + processesperinstancepartition[0].Id.appInstancePartition + ')';\r\n\r\n let apppartitionrunning = processesperinstancepartition.filter((p) => this.statusCheck(p) == 'Running').length;\r\n let apppartitioncompleted = processesperinstancepartition.filter((p) => this.statusCheck(p) == 'Completed').length;\r\n let apppartitionwarning = processesperinstancepartition.filter((p) => this.statusCheck(p) == 'Warning').length;\r\n let apppartitioncrashed = processesperinstancepartition.filter((p) => this.statusCheck(p) == 'Crashed').length;\r\n let lastUpdatedProcess = processesperinstancepartition.reduce((a, b) => (a.ModifiedTimestamp > b.ModifiedTimestamp ? a : b));\r\n let apppartitionlastupdate = lastUpdatedProcess.ModifiedTimestamp;\r\n return {\r\n name: apppartitionnname,\r\n running: apppartitionrunning,\r\n completed: apppartitioncompleted,\r\n warning: apppartitionwarning,\r\n crashed: apppartitioncrashed,\r\n lastUpdated: apppartitionlastupdate,\r\n processes: processesperinstancepartition,\r\n };\r\n });\r\n // return the appinstances with instancelist with statistics! We want this.\r\n return {\r\n name: appdescriptionname,\r\n running: appdescriptionrunning,\r\n completed: appdescriptioncompleted,\r\n warning: appdescriptionwarning,\r\n crashed: appdescriptioncrashed,\r\n lastUpdated: appdescriptionlastupdate,\r\n instances: instancelistwithstatistics,\r\n };\r\n });\r\n this.processesByCategory = statistics;\r\n console.log(this.processesByCategory)\r\n this.sortProcessesByCategory();\r\n }\r\n\r\n sortProcessesByCategory() {\r\n this.processesByCategory = this.processesByCategory.sort((a, b) => {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n warningProcesseslist: any = [];\r\n statusCheck(thisProcess) {\r\n let status: String;\r\n let now: any = moment();\r\n if (thisProcess == undefined || thisProcess.ModifiedTimestamp == undefined) {\r\n return;\r\n }\r\n let lastmodifiedmoment = thisProcess.ModifiedTimestamp.toString();\r\n\r\n let timeBetween: any = moment.duration(now.diff(lastmodifiedmoment));\r\n timeBetween = timeBetween.asMinutes();\r\n\r\n if (thisProcess.RunDuration == null) {\r\n if (timeBetween > 1000) {\r\n status = 'Crashed';\r\n return status;\r\n }\r\n if (timeBetween > 30) {\r\n status = 'Warning';\r\n return status;\r\n }\r\n status = 'Running';\r\n }\r\n if (thisProcess.RunDuration != null) {\r\n status = 'Completed';\r\n }\r\n return status;\r\n }\r\n\r\n sinceLast(timestamp) {\r\n let now: any = moment();\r\n let lastmodifiedmoment = timestamp.toString();\r\n let timeBetween: any = moment.duration(now.diff(lastmodifiedmoment));\r\n let timeout = timeBetween.asMinutes();\r\n if (timeout > 1000) {\r\n return 'About ' + Math.round(timeBetween.asHours()) + ' hours ago';\r\n }\r\n return Math.round(timeBetween.asMinutes()) + ' minutes ago';\r\n }\r\n\r\n showMoreList: any[] = [];\r\n // For the frontend, returns true or false to render active or inactive item.\r\n showMoreCheck(i: number) {\r\n return this.showMoreList.includes(i);\r\n }\r\n showMore(i: number) {\r\n let index = this.showMoreList.indexOf(i);\r\n if (index > -1) {\r\n this.showMoreList.splice(index);\r\n } else {\r\n this.showMoreList.push(i);\r\n }\r\n }\r\n showMoreInstance: any[] = [];\r\n // For the frontend, returns true or false to render active or inactive item.\r\n showMoreInstanceCheck(i: number) {\r\n return this.showMoreInstance.includes(i);\r\n }\r\n showMoreOfInstance(i: number) {\r\n let index = this.showMoreInstance.indexOf(i);\r\n if (index > -1) {\r\n this.showMoreInstance.splice(index);\r\n } else {\r\n this.showMoreInstance.push(i);\r\n }\r\n }\r\n\r\n showInstanceList: any[] = [];\r\n // For the frontend, returns true or false to render active or inactive item.\r\n showInstanceCheck(i: number) {\r\n return this.showInstanceList.includes(i);\r\n }\r\n showInstance(i: number) {\r\n let index = this.showInstanceList.indexOf(i);\r\n if (index > -1) {\r\n this.showInstanceList.splice(index);\r\n } else {\r\n this.showInstanceList.push(i);\r\n }\r\n // console.log(this.showInstanceList);\r\n }\r\n showProcessesList: any[] = [];\r\n // For the frontend, returns true or false to render active or inactive item.\r\n showProcessesCheck(i: number) {\r\n return this.showProcessesList.includes(i);\r\n }\r\n showProcesses(i: number) {\r\n let index = this.showProcessesList.indexOf(i);\r\n if (index > -1) {\r\n this.showProcessesList.splice(index);\r\n } else {\r\n this.showProcessesList.push(i);\r\n }\r\n // console.log(this.showProcessesList);\r\n }\r\n showDetailsList: any[] = [];\r\n // For the frontend, returns true or false to render active or inactive item.\r\n showDetailsCheck(i: number) {\r\n return this.showDetailsList.includes(i);\r\n }\r\n showDetails(i: number) {\r\n let index = this.showDetailsList.indexOf(i);\r\n if (index > -1) {\r\n this.showDetailsList.splice(index);\r\n } else {\r\n this.showDetailsList.push(i);\r\n }\r\n console.log(this.showDetailsList);\r\n }\r\n\r\n transformAndCreateSummary(processStatistics) {\r\n const warningProcesses = processStatistics.filter((p) => this.filterStatus(p, ProcessStatus.warning));\r\n const crashedProcesses = processStatistics.filter((p) => this.filterStatus(p, ProcessStatus.crashed));\r\n const completedProcesses = processStatistics.filter((p) => this.filterStatus(p, ProcessStatus.completed));\r\n const runningProcesses = processStatistics.filter((p) => this.filterStatus(p, ProcessStatus.running));\r\n this.summary = { running: runningProcesses, warning: warningProcesses, crashed: crashedProcesses, completed: completedProcesses };\r\n }\r\n\r\n filterStatus(processStatistic, processStatus: ProcessStatus) {\r\n if (processStatistic == undefined || processStatistic.ModifiedTimestamp == undefined) {\r\n return;\r\n }\r\n let lastmodifiedmoment = processStatistic.ModifiedTimestamp.toString();\r\n let timeBetween: any = moment().diff(lastmodifiedmoment, 'minutes');\r\n\r\n if (processStatistic.RunDuration === null && timeBetween > 1000 && processStatus === ProcessStatus.crashed) {\r\n return processStatistic;\r\n }\r\n if (processStatistic.RunDuration === null && timeBetween > 30 && timeBetween <= 1000 && processStatus === ProcessStatus.warning) {\r\n return processStatistic;\r\n }\r\n if (processStatistic.RunDuration === null && timeBetween <= 30 && processStatus === ProcessStatus.running) {\r\n return processStatistic;\r\n }\r\n if (processStatistic.RunDuration !== null && processStatus === ProcessStatus.completed) {\r\n return processStatistic;\r\n }\r\n }\r\n summaryList = null;\r\n setList(typeOflist) {\r\n this.summaryList = this.summaryList === typeOflist.value ? null : typeOflist.value;\r\n }\r\n}\r\n\r\nexport enum ProcessStatus {\r\n running = 'running',\r\n crashed = 'crashed',\r\n warning = 'warning',\r\n completed = 'completed',\r\n}\r\n\r\nconst listWithselection = [\r\n \"CalorificCorrectionFactorCollection\"\r\n , \"TaxCollection\"\r\n , \"ContactCollection\"\r\n , \"InvoiceDeadline\"\r\n , \"ConnectionUpdate\"\r\n , \"ConnectionUpdateHistorically\"\r\n , \"MissingMasterData\"\r\n , \"MeasureCorrection\"\r\n , \"ConsumptionPerGranularityIntervalToConnectionConsumptionSync\"\r\n , \"InvoiceTriggerProcess\"\r\n , \"InvoicingQueueProcess\"\r\n , \"ConnectionUpdateLegacyStaging\"\r\n , \"ConnectionGainLegacyStaging\"\r\n , \"CalorificCorrectionFactorsStaging\"\r\n , \"P4CollectedDataBatchResultStaging\"\r\n , \"MeterReadingExchangeStaging\"\r\n , \"AllocationDataOutlier\"\r\n , \"MeasurementCollection\"\r\n , \"MeasurementCollectionTmtSync\"\r\n , \"MeasurementCollectionRequest\"\r\n , \"MeasurementCollectionResponse\"\r\n , \"MeasurementCollectionP4Registration\"\r\n , \"MeasurementCollectionMeterReading\"\r\n , \"MeasurementCollectionMeterReadingIssue\"\r\n , \"MeasurementCollectionMeterReadingDispute\"\r\n , \"MeasurementCommunication\"\r\n , \"MeasurementCommunicationReminder\"\r\n , \"MeasurementCommunicationWithoutRespond\"\r\n , \"MeasurementsToSubmitDetermination\"\r\n , \"PriceCollectionApx\"\r\n , \"PriceCollectionLeba\"\r\n , \"AllocationBySupplierCalculation\"\r\n , \"ProfileFractionsCollection\"\r\n , \"Gain\"\r\n , \"Loss\"\r\n , \"CustomerAssetsEpvValidator\"\r\n , \"AllocationConsolidation\"\r\n , \"HeavyConsolidation\"\r\n , \"LightConsolidation\"\r\n , \"ContractActivationTriggerService\"\r\n , \"TennetMessageReception\"\r\n , \"TennetMessageSubmission\"\r\n , \"CommunicationHandling\"\r\n] ","
\r\n
\r\n \r\n
\r\n
\r\n Aangepast:\r\n \r\n Selecteer Processen\r\n \r\n \r\n {{process}}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n {{type.key}}\r\n
\r\n
\r\n \r\n loop\r\n \r\n
\r\n
\r\n \r\n warning\r\n \r\n
\r\n
\r\n \r\n warning\r\n \r\n
\r\n
\r\n \r\n sentiment_very_satisfied\r\n \r\n
\r\n
\r\n {{type.value.length}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ProcessApp Instance#Laatste update
{{process.Id.process}}{{process.Id.appInstanceDescription}}{{process.Id.appInstancePartition}}{{process.Id.ranFrom.moment | date: 'd LLL, H:mm'}}
\r\n
\r\n
0;\">\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
0 && process.warning === 0 && process.crashed === 0\">\r\n \r\n loop\r\n \r\n
\r\n
0 && (process.warning > 0 || process.crashed > 0)\">\r\n \r\n warning\r\n \r\n
\r\n
\r\n \r\n sentiment_very_satisfied\r\n \r\n
\r\n
0 && process.crashed === 0\">\r\n \r\n sentiment_dissatisfied\r\n \r\n
\r\n
= 0 && process.crashed > 0\">\r\n \r\n sentiment_very_dissatisfied\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {{process.name}}\r\n
\r\n
\r\n

\r\n Running: {{process.running}} \r\n Completed: {{process.completed}} \r\n Warning: {{process.warning}} \r\n Crashed: {{process.crashed}} \r\n

\r\n
\r\n
\r\n Last updated process: {{process.lastUpdated | date: 'd LLL,\r\n H:mm'}}
\r\n Which is: {{sinceLast(process.lastUpdated)}} \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {{processInstance.name}}\r\n No instance description\r\n \r\n
\r\n
\r\n

\r\n Running: {{processInstance.running}} \r\n Completed: {{processInstance.completed}}\r\n \r\n Warning: {{processInstance.warning}} \r\n Crashed: {{processInstance.crashed}} \r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {{singleprocess.Id.process}}\r\n \r\n No instance\r\n processname \r\n
\r\n
\r\n \r\n   \r\n \r\n   \r\n   \r\n  \r\n Status:\r\n {{statusCheck(singleprocess)}} \r\n Last Update: \r\n {{singleprocess.ModifiedTimestamp | date: 'yyyy-MM-dd HH:mm' }}\r\n \r\n Ran From: {{singleprocess.Id.ranFrom\r\n | date: 'yyyy-MM-dd HH:mm' }} \r\n Progress:\r\n {{singleprocess.ProgressedElementCount}} /\r\n {{singleprocess.TotalElementCount}} (prog/total) \r\n
\r\n
\r\n \r\n
\r\n
\r\n Tenant:\r\n {{singleprocess.Id.tenant}}  \r\n UntilMax:\r\n {{singleprocess.ProgressedUntilMax}}  \r\n UntilMin:\r\n {{singleprocess.ProgressedUntilMin}}  \r\n Failed:\r\n {{singleprocess.FailedElementCount}}  \r\n Processed:\r\n {{singleprocess.ProcessedElementCount}}  \r\n Progressed: \r\n {{singleprocess.ProgressedElementCount}}  \r\n Total: \r\n {{singleprocess.TotalElementCount}} \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Exception
{{j}}{{exception.Item1}}
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
KeyEAN
{{k}}{{longestRun.Item1}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","export const RECONCILATIONS_CONFIG = {\r\n definitions: {\r\n allocationProgress: {\r\n externalReferenceMaxLength: 255,\r\n },\r\n processedConnectionByVVV: {\r\n externalReferenceMaxLength: 255,\r\n },\r\n },\r\n pagesizes: {\r\n overview: 10,\r\n details: 25,\r\n volumes: 20,\r\n },\r\n roles: {\r\n readRole: 'Reconciliation.Read',\r\n writeRole: 'Reconciliation.Write',\r\n },\r\n baseApiUrls: {\r\n processedConnectionsByVVV: {\r\n all: '/processed-connections-by-vvv',\r\n allValid: '/processed-connections-by-vvv-valid',\r\n allocationProgresses: {\r\n item: {\r\n base: '/processed-connections-by-vvv/allocation-progresses/{0}',\r\n valid: '/processed-connections-by-vvv-valid/allocation-progresses-valid/{0}',\r\n connections: {\r\n item: {\r\n externalReference: '/processed-connections-by-vvv/allocation-progresses/{0}/connections/{1}/external-reference',\r\n isCorrected: '/processed-connections-by-vvv/allocation-progresses/{0}/connections/{1}/is-corrected/{2}',\r\n },\r\n },\r\n },\r\n },\r\n item: '/processed-connections-by-vvv/{0}',\r\n },\r\n allocationProgresses: {\r\n all: '/allocation-progresses',\r\n allValid: '/allocation-progresses-valid',\r\n item: {\r\n base: '/allocation-progresses/{0}',\r\n externalReference: '/allocation-progresses/{0}/external-reference',\r\n },\r\n },\r\n allocationProgressLVDetailSeriesVVV: {\r\n item: '/allocation-progresses-detail-series-vvv/{0}',\r\n allocationProgresses: {\r\n item: {\r\n base: '/allocation-progresses-detail-series-vvv/allocation-progresses/{0}',\r\n },\r\n },\r\n },\r\n },\r\n policyGroups: {\r\n reconciliationReader: 'RECONCILIATION_READER',\r\n reconciliationWriter: 'RECONCILIATION_WRITER',\r\n },\r\n};\r\n","import { MainDashBoardSection } from 'src/app/Constants/main-dashboard-sections.constants';\r\n\r\nexport const reconciliationsDashboardSections: MainDashBoardSection[] = [\r\n {\r\n name: 'VVV verwerking',\r\n icon: 'running_with_errors', // was price_check\r\n path: 'reconciliations',\r\n },\r\n];\r\n","import { BehaviorSubject, Subscription } from 'rxjs';\r\nimport { TruncatePipe } from 'src/app/Pipes/truncate.pipe';\r\nimport { ReconciliationAllocationService } from 'src/app/Services/reconciliation-allocation.service';\r\n\r\nimport { DatePipe } from '@angular/common';\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-reconciliations-dashboard-component',\r\n templateUrl: './reconciliations-dashboard.component.html',\r\n styleUrls: ['./reconciliations-dashboard.component.scss'],\r\n})\r\nexport class ReconciliationsDashboardComponent implements OnInit, OnDestroy {\r\n tab = 0;\r\n\r\n subscriptions: Subscription[] = [];\r\n initializedList: number[] = [];\r\n\r\n detailId$ = new BehaviorSubject(undefined);\r\n connectionEan$ = new BehaviorSubject(undefined);\r\n\r\n detailsTabTitle$ = new BehaviorSubject('');\r\n volumesTabTitle$ = new BehaviorSubject('');\r\n\r\n constructor(\r\n private readonly route: ActivatedRoute,\r\n private readonly reconciliationAllocationService: ReconciliationAllocationService,\r\n private readonly truncatePipe: TruncatePipe,\r\n private readonly datePipe: DatePipe,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.tab = 0;\r\n\r\n if (this.route.snapshot.queryParams.tab != null) {\r\n this.tab = Number.parseInt(this.route.snapshot.queryParams.tab, 10);\r\n }\r\n\r\n this.tabWasInitialized(this.tab);\r\n\r\n const detailIdFromStorage = localStorage.getItem('reconciliations-detailId');\r\n this.detailId$.next(detailIdFromStorage);\r\n\r\n const connectionEanFromStorage = localStorage.getItem('reconciliations-connectionEan');\r\n this.connectionEan$.next(connectionEanFromStorage);\r\n\r\n this.initialiseData();\r\n\r\n window.onpopstate = (event: { state: any }) => {\r\n if (event && event.state) {\r\n location.reload();\r\n } else {\r\n window.location = window.location;\r\n }\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((s) => s.unsubscribe());\r\n }\r\n }\r\n\r\n initialiseData() {\r\n this.subscriptions.push(\r\n this.detailId$.subscribe((detailId) => {\r\n if (detailId !== undefined && detailId !== null && detailId !== '') {\r\n this.subscriptions.push(\r\n this.reconciliationAllocationService.getAllocationProgressById(detailId).subscribe((data) => {\r\n if (detailId && data && data.gridOperatorName && data.processedDate) {\r\n const truncatedGridOperatorName = this.truncatePipe.transform(data.gridOperatorName, [20, '...']);\r\n const formattedProcessedDate = this.datePipe.transform(data.processedDate, 'MMM yyyy');\r\n\r\n this.detailsTabTitle$.next('(' + truncatedGridOperatorName + ' - ' + formattedProcessedDate + ')');\r\n } else if (detailId && data) {\r\n this.detailsTabTitle$.next('(' + 'onbekend' + ')');\r\n this.volumesTabTitle$.next('');\r\n } else {\r\n this.detailsTabTitle$.next('');\r\n this.volumesTabTitle$.next('');\r\n }\r\n }),\r\n );\r\n } else {\r\n this.detailsTabTitle$.next('');\r\n this.volumesTabTitle$.next('');\r\n }\r\n }),\r\n this.connectionEan$.subscribe((connectionEan) => {\r\n const detailIdStored = localStorage.getItem('reconciliations-detailId');\r\n\r\n if (detailIdStored && connectionEan) {\r\n this.volumesTabTitle$.next('(' + connectionEan + ')');\r\n } else {\r\n this.volumesTabTitle$.next('');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n selectTab(tab: number) {\r\n if (this.tab !== tab) {\r\n this.tab = tab;\r\n this.tabWasInitialized(this.tab);\r\n }\r\n }\r\n\r\n tabWasInitialized(tabNumber: number) {\r\n if (!this.initializedList.includes(tabNumber)) {\r\n this.initializedList.push(tabNumber);\r\n }\r\n }\r\n\r\n isInitialized(i: number) {\r\n return this.initializedList.includes(i);\r\n }\r\n\r\n cleanStorage() {\r\n localStorage.removeItem('reconciliations-detailId');\r\n localStorage.removeItem('reconciliations-connectionEan');\r\n\r\n this.detailId$.next(undefined);\r\n this.connectionEan$.next(undefined);\r\n }\r\n\r\n noOverviewData(isEmpty: boolean) {\r\n if (isEmpty) {\r\n this.cleanStorage();\r\n }\r\n }\r\n\r\n openDetail(detailId: string) {\r\n if (detailId) {\r\n const detailIdStored = localStorage.getItem('reconciliations-detailId');\r\n\r\n if (detailIdStored !== detailId) {\r\n localStorage.setItem('reconciliations-detailId', detailId);\r\n localStorage.removeItem('reconciliations-connectionEan');\r\n\r\n this.detailId$.next(detailId);\r\n this.connectionEan$.next(undefined);\r\n }\r\n\r\n this.openTab(1);\r\n } else {\r\n localStorage.removeItem('reconciliations-detailId');\r\n }\r\n }\r\n\r\n openVolume(connectionEan: string) {\r\n if (connectionEan) {\r\n const connectionEanStored = localStorage.getItem('reconciliations-detailId');\r\n\r\n if (connectionEanStored !== connectionEan) {\r\n localStorage.setItem('reconciliations-connectionEan', connectionEan);\r\n\r\n this.connectionEan$.next(connectionEan);\r\n }\r\n\r\n this.openTab(2);\r\n } else {\r\n localStorage.removeItem('reconciliations-connectionEan');\r\n }\r\n }\r\n\r\n tabInUrlIsDifferent(index: number): boolean {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('tab')) {\r\n return url.searchParams.get('tab') !== index.toString();\r\n }\r\n return true;\r\n }\r\n\r\n openTab(index: number) {\r\n const tabInUrlIsDifferent = this.tabInUrlIsDifferent(index);\r\n\r\n if (tabInUrlIsDifferent) {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('tab')) {\r\n url.searchParams.set('tab', index.toString());\r\n } else {\r\n url.searchParams.append('tab', index.toString());\r\n }\r\n if (searchParams.has('page')) {\r\n url.searchParams.set('page', '1');\r\n } else {\r\n url.searchParams.append('page', '1');\r\n }\r\n if (searchParams.has('size')) {\r\n url.searchParams.delete('size');\r\n }\r\n\r\n history.pushState(null, null, url);\r\n }\r\n\r\n this.selectTab(index);\r\n }\r\n\r\n isNotSet(data: any) {\r\n return data === undefined || data === null || data?.trim() === '';\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n VVV verwerking\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Subscription } from 'rxjs';\r\nimport { Page } from 'src/app/Connection';\r\nimport { PaginateConfig } from 'src/app/Models/PaginateConfig';\r\nimport { AllocationProgressLV } from 'src/app/ServiceModels/AllocationProgressLV';\r\nimport { ProcessedConnectionByVVV } from 'src/app/ServiceModels/ProcessedConnectionByVVV';\r\nimport { ReconciliationAllocationService } from 'src/app/Services/reconciliation-allocation.service';\r\n\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { RECONCILATIONS_CONFIG } from '../reconciliations-config';\r\n\r\n@Component({\r\n selector: 'app-reconciliations-details-component',\r\n templateUrl: './reconciliations-details.component.html',\r\n styleUrls: ['./reconciliations-details.component.scss'],\r\n})\r\nexport class ReconciliationsDetailsComponent implements PaginateConfig, OnInit, OnDestroy {\r\n @Input() detailId: string;\r\n @Output() openVolumeEvent = new EventEmitter();\r\n\r\n detailIdFromRoute: string;\r\n subscriptions: Subscription[] = [];\r\n\r\n parentData: AllocationProgressLV;\r\n data: Page;\r\n\r\n pageSizes: number[] = [10, 25, 100];\r\n currentPage = 1;\r\n itemsPerPage: number = RECONCILATIONS_CONFIG.pagesizes.details;\r\n totalItems = 0;\r\n\r\n searchString = '';\r\n\r\n isLoadingData = false;\r\n isLoadingParentData = false;\r\n\r\n paginateConfig: PaginateConfig = {\r\n id: 'paginationDetails',\r\n itemsPerPage: this.itemsPerPage,\r\n currentPage: this.currentPage,\r\n totalItems: this.totalItems,\r\n } as PaginateConfig;\r\n\r\n constructor(\r\n private readonly route: ActivatedRoute,\r\n private readonly router: Router,\r\n private readonly reconciliationAllocationService: ReconciliationAllocationService,\r\n ) {}\r\n\r\n get isLoading(): boolean {\r\n return this.isLoadingData || this.isLoadingParentData;\r\n }\r\n\r\n get maxPage() {\r\n return this.data ? Math.ceil(this.data.totalCount / this.itemsPerPage) : 1;\r\n }\r\n\r\n get dataCountIsLargerThenMinimumPageSize(): boolean {\r\n const minimumPageSize = this.pageSizes && this.pageSizes.length ? this.pageSizes[0] : 0;\r\n return this.data.totalCount > minimumPageSize;\r\n }\r\n\r\n get determineQueryPath(): string {\r\n let queryPath = '?';\r\n\r\n if (this.searchString !== undefined) {\r\n if (queryPath !== '?') {\r\n queryPath += '&';\r\n }\r\n\r\n queryPath += 'search=' + this.searchString;\r\n }\r\n\r\n return queryPath;\r\n }\r\n\r\n ngOnInit() {\r\n this.detailIdFromRoute = this.route.snapshot.paramMap.get('id');\r\n\r\n this.initialiseData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((s) => s.unsubscribe());\r\n }\r\n }\r\n\r\n initialiseData() {\r\n this.checkRouterParams();\r\n this.fetchData();\r\n }\r\n\r\n checkRouterParams() {\r\n this.subscriptions.push(\r\n this.route.queryParamMap.subscribe((paramsMap: any) => {\r\n if (paramsMap.keys.includes('search')) {\r\n this.searchString = paramsMap.params.search;\r\n }\r\n }),\r\n );\r\n }\r\n\r\n checkPage() {\r\n if (this.route.snapshot.queryParams.page) {\r\n this.goToPage(Number.parseInt(this.route.snapshot.queryParams.page, 10));\r\n } else {\r\n this.initialisePage(1);\r\n }\r\n }\r\n\r\n checkPageSize() {\r\n if (this.route.snapshot.queryParams.size) {\r\n this.setPageSize(this.route.snapshot.queryParams.size);\r\n } else {\r\n const pageSize = localStorage.getItem('reconciliations-details-size');\r\n if (pageSize) {\r\n this.setPageSize(pageSize);\r\n }\r\n }\r\n }\r\n\r\n goToConnection(connectionEan: string) {\r\n const url: any = this.router.createUrlTree(['/connection', connectionEan]);\r\n window.open(url, '_blank');\r\n }\r\n\r\n openVolume(id: string) {\r\n this.openVolumeEvent.emit(id);\r\n }\r\n\r\n searchEventlistener(event: { shortcut: boolean; searchString: string }) {\r\n if (event.shortcut === true) {\r\n // shortcut option to quickly navigate using ctrl click\r\n //this.router.navigate(['/??', event.searchString]);\r\n } else {\r\n this.onUpdateSearch(event.searchString);\r\n }\r\n }\r\n\r\n onUpdateSearch(searchString: string) {\r\n this.searchString = searchString;\r\n const queryPath = this.determineQueryPath;\r\n history.pushState(null, '', location.pathname + queryPath); // TODO : DW: incorporate page and tab query\r\n this.fetchData();\r\n\r\n this.goToPage(1);\r\n }\r\n\r\n determinedDetailId(): string {\r\n if (this.detailId === undefined) {\r\n this.detailId = localStorage.getItem('reconciliations-detailId');\r\n }\r\n return this.detailId ?? this.detailIdFromRoute;\r\n }\r\n\r\n fetchData() {\r\n if (!this.isLoadingData && !this.isLoadingParentData) {\r\n this.isLoadingData = true;\r\n this.isLoadingParentData = true;\r\n this.getDataFromApi();\r\n }\r\n }\r\n\r\n getDataFromApi() {\r\n const detailId = this.determinedDetailId();\r\n\r\n if (detailId !== undefined && detailId !== null && detailId !== '') {\r\n this.subscriptions.push(\r\n this.reconciliationAllocationService.getAllocationProgressById(detailId).subscribe((result: AllocationProgressLV) => {\r\n this.parentData = result;\r\n this.isLoadingData = false;\r\n }),\r\n this.reconciliationAllocationService\r\n .getAllValidProcessedConnectionsByVVVByValidAllocationProgressId(detailId)\r\n .subscribe((results: ProcessedConnectionByVVV[]) => {\r\n try {\r\n if (results) {\r\n const pagedData = Page.readArrayObject(results, 'ProcessedConnectionByVVV');\r\n pagedData.data = pagedData.data.sort((a, b) =>\r\n b.consumptionEndDateTime.toString().localeCompare(a.consumptionEndDateTime.toString()),\r\n );\r\n this.data = pagedData;\r\n\r\n this.totalItems = this.data.totalCount;\r\n this.paginateConfig.totalItems = this.data.totalCount;\r\n }\r\n\r\n if (results && this.data.totalCount > 0) {\r\n this.checkPageSize();\r\n this.checkPage();\r\n }\r\n } catch (err: any) {\r\n throw new Error(err);\r\n } finally {\r\n this.isLoadingParentData = false;\r\n }\r\n }),\r\n );\r\n }\r\n }\r\n\r\n pageInUrlIsDifferent(pageNumber: number): boolean {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('page')) {\r\n return url.searchParams.get('page') !== pageNumber.toString();\r\n }\r\n return true;\r\n }\r\n\r\n goToPage(pageNumber: number) {\r\n // Check if page is set to an incorrect value, reset to 1\r\n if (pageNumber < 0 || pageNumber > this.maxPage) {\r\n pageNumber = 1;\r\n }\r\n\r\n const pageInUrlIsDifferent = this.pageInUrlIsDifferent(pageNumber);\r\n\r\n if (pageInUrlIsDifferent) {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('page')) {\r\n url.searchParams.set('page', pageNumber.toString());\r\n } else {\r\n url.searchParams.append('page', pageNumber.toString());\r\n }\r\n\r\n history.pushState(null, null, url);\r\n }\r\n\r\n this.initialisePage(pageNumber);\r\n }\r\n\r\n initialisePage(pageNumber: number) {\r\n // Check if page is set to an incorrect value, reset to 1\r\n if (pageNumber < 0 || pageNumber > this.maxPage) {\r\n pageNumber = 1;\r\n }\r\n\r\n this.currentPage = pageNumber;\r\n this.paginateConfig.currentPage = pageNumber;\r\n\r\n // this.fetchData(); // TODO: DW: Do this when using Paging in API\r\n }\r\n\r\n pageSizeInUrlIsDifferent(pageSize: number): boolean {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('size')) {\r\n return url.searchParams.get('size') !== pageSize.toString();\r\n }\r\n return true;\r\n }\r\n\r\n setPageSize(pageSize: string) {\r\n let pageSizeValue = Number(pageSize);\r\n // Check if page is set to an incorrect value, reset to 1\r\n if (pageSizeValue < 0 || !this.pageSizes.includes(pageSizeValue)) {\r\n pageSizeValue = RECONCILATIONS_CONFIG.pagesizes.details;\r\n }\r\n\r\n const pageSizeInUrlIsDifferent = this.pageSizeInUrlIsDifferent(pageSizeValue);\r\n\r\n if (pageSizeInUrlIsDifferent) {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('size')) {\r\n url.searchParams.set('size', pageSize.toString());\r\n } else {\r\n url.searchParams.append('size', pageSize.toString());\r\n }\r\n\r\n history.pushState(null, null, url);\r\n }\r\n\r\n this.itemsPerPage = pageSizeValue;\r\n this.paginateConfig.itemsPerPage = pageSizeValue;\r\n localStorage.setItem('reconciliations-details-size', pageSizeValue.toString());\r\n }\r\n\r\n onPageSizeChange(pageSize): void {\r\n this.setPageSize(pageSize);\r\n this.goToPage(1);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Allocation Progress IdCorrelatie IdBericht IdKenmerkNetbeheerderIndiener (EAN)IndienerProces maandProductOntvangen opGecorrigeerd
{{parentData.id}}{{parentData.senderCorrelationID}}{{parentData.technicalMessageId}}{{parentData.mrid}}{{parentData.gridOperatorName}}{{parentData.receiverEan}}{{parentData.receiverName}}{{parentData.processedDate | date: 'MMM. yyyy'}}{{parentData.productTypeName}}{{parentData.receivedOn | date: 'dd-MM-yyyy HH:mm uur'}}{{parentData.isCorrected ? 'Ja' : 'Nee'}}
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n 0;else nodata\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
EANVerbruiksmaandPrijsCSH CorrectieGecorrigeerd
\r\n \r\n {{dataItem.connectionEan}}\r\n \r\n {{dataItem.consumptionEndDateTime | date: 'MMM. yyyy'}}\r\n \r\n \r\n € {{dataItem.calculatedPrice | number : '1.2-2'}}\r\n \r\n \r\n {{dataItem.externalReference}}{{dataItem.isCorrected === true ? \"Ja\" : \"Nee\"}}
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n report\r\n
Geen VVV details.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","import moment from 'moment';\r\nimport { Subscription } from 'rxjs';\r\nimport { Page } from 'src/app/Connection';\r\nimport { PaginateConfig } from 'src/app/Models/PaginateConfig';\r\nimport { AllocationProgressLV } from 'src/app/ServiceModels/AllocationProgressLV';\r\nimport { MsalBasedAuthorizationService } from 'src/app/Services/msal-based-authorization.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { ReconciliationAllocationService } from 'src/app/Services/reconciliation-allocation.service';\r\n\r\nimport { Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormArray, FormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { RECONCILATIONS_CONFIG } from '../reconciliations-config';\r\n\r\n@Component({\r\n selector: 'app-reconciliations-overview-component',\r\n templateUrl: './reconciliations-overview.component.html',\r\n styleUrls: ['./reconciliations-overview.component.scss'],\r\n})\r\nexport class ReconciliationsOverviewComponent implements PaginateConfig, OnInit, OnDestroy {\r\n @Output() openDetailEvent = new EventEmitter();\r\n @Output() noDataEvent = new EventEmitter();\r\n\r\n subscriptions: Subscription[] = [];\r\n\r\n data: Page;\r\n\r\n pageSizes: number[] = [10, 25, 100];\r\n currentPage = 1;\r\n itemsPerPage: number = RECONCILATIONS_CONFIG.pagesizes.overview;\r\n totalItems = 0;\r\n\r\n searchString = '';\r\n isCorrectedFilter = false; // Default value of false, thus only showing not corrected reconciliations at first opening screen\r\n isEditingExternalReference: boolean[] = [];\r\n formDataGroup: UntypedFormGroup;\r\n\r\n maxLengthExternalReference = RECONCILATIONS_CONFIG.definitions.allocationProgress.externalReferenceMaxLength;\r\n\r\n isLoading: boolean;\r\n\r\n paginateConfig: PaginateConfig = {\r\n id: 'paginationOverview',\r\n itemsPerPage: this.itemsPerPage,\r\n currentPage: this.currentPage,\r\n totalItems: this.totalItems,\r\n } as PaginateConfig;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private readonly route: ActivatedRoute,\r\n private readonly reconciliationAllocationService: ReconciliationAllocationService,\r\n private readonly notificationService: NotificationService,\r\n private readonly msalBasedAuthorizationService: MsalBasedAuthorizationService,\r\n ) {\r\n this.formDataGroup = this.formBuilder.group({\r\n rows: this.formBuilder.array([]),\r\n });\r\n\r\n this.initFormArray(100);\r\n }\r\n\r\n get isEditingAllowed() {\r\n return this.msalBasedAuthorizationService.hasReconciliationRole(RECONCILATIONS_CONFIG.roles.writeRole);\r\n }\r\n\r\n get isEditingAnyExternalReference(): boolean {\r\n return this.isEditingAllowed && this.isEditingExternalReference.some((x) => x === true);\r\n }\r\n\r\n get maxPage() {\r\n return this.data ? Math.ceil(this.data.totalCount / this.itemsPerPage) : 1;\r\n }\r\n\r\n get dataCountIsLargerThenMinimumPageSize(): boolean {\r\n const minimumPageSize = this.pageSizes && this.pageSizes.length ? this.pageSizes[0] : 0;\r\n return this.data.totalCount > minimumPageSize;\r\n }\r\n\r\n get getRows(): FormArray {\r\n return this.formDataGroup.controls.rows as FormArray;\r\n }\r\n\r\n get determineQueryPath(): string {\r\n let queryPath = '?';\r\n\r\n if (this.isCorrectedFilter !== undefined) {\r\n if (queryPath !== '?') {\r\n queryPath += '&';\r\n }\r\n\r\n queryPath += 'isCorrected=' + this.isCorrectedFilter;\r\n }\r\n\r\n if (this.searchString !== undefined) {\r\n if (queryPath !== '?') {\r\n queryPath += '&';\r\n }\r\n\r\n queryPath += 'search=' + this.searchString;\r\n }\r\n\r\n return queryPath;\r\n }\r\n\r\n getFormExternalReference(index: number): string {\r\n return this.getRows.value[index].externalReference;\r\n }\r\n\r\n setFormExternalReference(index: number, value: string) {\r\n const rows = this.getRows;\r\n\r\n if (rows.value[index].externalReference !== value) {\r\n const array = rows.value;\r\n array[index].externalReference = value;\r\n rows.setValue(array);\r\n }\r\n }\r\n\r\n initFormArray(rowCount: number): void {\r\n const rows = this.getRows;\r\n rows.clear();\r\n\r\n for (let i = 0; i < rowCount; i++) {\r\n rows.push(this.createFormData(null));\r\n }\r\n }\r\n\r\n getPageData(itemsPerPage: number, pageNumber: number): AllocationProgressLV[] {\r\n if (this.data?.data) {\r\n const currentIndex = itemsPerPage * (pageNumber - 1);\r\n const endIndex = currentIndex + itemsPerPage;\r\n return this.data.data.slice(currentIndex, endIndex);\r\n }\r\n\r\n return [];\r\n }\r\n\r\n fillPageFormArray(data: any, itemsPerPage: number, pageNumber: number): void {\r\n const rows = this.getRows;\r\n rows.clear();\r\n\r\n if (data) {\r\n this.getPageData(itemsPerPage, pageNumber).forEach((item: AllocationProgressLV) => {\r\n rows.push(this.createFormData(item));\r\n });\r\n }\r\n }\r\n\r\n createFormData(data: any) {\r\n data = data || { externalReference: null };\r\n\r\n return this.formBuilder.group({\r\n externalReference: data.externalReference,\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.initialiseData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((s) => s.unsubscribe());\r\n }\r\n }\r\n\r\n initialiseData() {\r\n this.checkRouterParams();\r\n this.fetchData();\r\n }\r\n\r\n checkRouterParams() {\r\n this.subscriptions.push(\r\n this.route.queryParamMap.subscribe((paramsMap: any) => {\r\n if (paramsMap.keys.includes('open')) {\r\n this.isCorrectedFilter = paramsMap.params.open;\r\n }\r\n if (paramsMap.keys.includes('search')) {\r\n this.searchString = paramsMap.params.search;\r\n }\r\n }),\r\n );\r\n }\r\n\r\n checkPage() {\r\n if (this.route.snapshot.queryParams.page) {\r\n this.goToPage(Number.parseInt(this.route.snapshot.queryParams.page, 10));\r\n } else {\r\n this.initialisePage(1);\r\n }\r\n }\r\n\r\n checkPageSize() {\r\n if (this.route.snapshot.queryParams.size) {\r\n this.setPageSize(this.route.snapshot.queryParams.size);\r\n } else {\r\n const pageSize = localStorage.getItem('reconciliations-overview-size');\r\n if (pageSize) {\r\n this.setPageSize(pageSize);\r\n }\r\n }\r\n }\r\n\r\n openDetail(id: string) {\r\n this.openDetailEvent.emit(id);\r\n }\r\n\r\n changeSelectionIsCorrectedFilter(event: { value: boolean }) {\r\n this.isCorrectedFilter = event.value;\r\n const queryPath = this.determineQueryPath;\r\n history.pushState(null, '', location.pathname + queryPath); // TODO : DW: incorporate page and tab query\r\n this.fetchData();\r\n }\r\n\r\n searchEventlistener(event: { shortcut: boolean; searchString: string }) {\r\n if (event.shortcut === true) {\r\n // shortcut option to quickly navigate using ctrl click\r\n //this.router.navigate(['/??', event.searchString]);\r\n } else {\r\n this.onUpdateSearch(event.searchString);\r\n }\r\n }\r\n\r\n onUpdateSearch(searchString: string) {\r\n this.searchString = searchString;\r\n const queryPath = this.determineQueryPath;\r\n history.pushState(null, '', location.pathname + queryPath); // TODO : DW: incorporate page and tab query\r\n this.fetchData();\r\n\r\n this.goToPage(1);\r\n }\r\n\r\n fetchData() {\r\n if (!this.isLoading) {\r\n this.isLoading = true;\r\n this.getDataFromApi();\r\n }\r\n }\r\n\r\n getDataFromApi() {\r\n this.subscriptions.push(\r\n this.reconciliationAllocationService.getAllValidAllocationProgressesForVVV().subscribe((results) => {\r\n try {\r\n if (results) {\r\n const pagedData = Page.readArrayObject(results, 'AllocationProgressLV');\r\n this.data = pagedData;\r\n\r\n this.totalItems = this.data.totalCount;\r\n this.paginateConfig.totalItems = this.data.totalCount;\r\n }\r\n\r\n if (results && this.data.totalCount > 0) {\r\n this.checkPageSize();\r\n this.checkPage();\r\n this.initFormData(this.itemsPerPage);\r\n } else {\r\n this.noDataEvent.emit(true);\r\n }\r\n } catch (err: any) {\r\n throw new Error(err);\r\n } finally {\r\n this.isLoading = false;\r\n }\r\n }),\r\n );\r\n }\r\n\r\n pageInUrlIsDifferent(pageNumber: number): boolean {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('page')) {\r\n return url.searchParams.get('page') !== pageNumber.toString();\r\n }\r\n return true;\r\n }\r\n\r\n goToPage(pageNumber: number) {\r\n // Check if page is set to an incorrect value, reset to 1\r\n if (pageNumber < 0 || pageNumber > this.maxPage) {\r\n pageNumber = 1;\r\n }\r\n\r\n const pageInUrlIsDifferent = this.pageInUrlIsDifferent(pageNumber);\r\n\r\n if (pageInUrlIsDifferent) {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('page')) {\r\n url.searchParams.set('page', pageNumber.toString());\r\n } else {\r\n url.searchParams.append('page', pageNumber.toString());\r\n }\r\n\r\n history.pushState(null, null, url);\r\n }\r\n\r\n this.initialisePage(pageNumber);\r\n }\r\n\r\n initialisePage(pageNumber: number) {\r\n // Check if page is set to an incorrect value, reset to 1\r\n if (pageNumber < 0 || pageNumber > this.maxPage) {\r\n pageNumber = 1;\r\n }\r\n\r\n if (this.currentPage !== pageNumber) {\r\n this.cancelAllExternalReferences();\r\n }\r\n\r\n this.currentPage = pageNumber;\r\n this.paginateConfig.currentPage = pageNumber;\r\n\r\n // this.fetchData(); // TODO: DW: Do this when using Paging in API\r\n }\r\n\r\n pageSizeInUrlIsDifferent(pageSize: number): boolean {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('size')) {\r\n return url.searchParams.get('size') !== pageSize.toString();\r\n }\r\n return true;\r\n }\r\n\r\n setPageSize(pageSize: string) {\r\n let pageSizeValue = Number(pageSize);\r\n // Check if page is set to an incorrect value, reset to 1\r\n if (pageSizeValue < 0 || !this.pageSizes.includes(pageSizeValue)) {\r\n pageSizeValue = RECONCILATIONS_CONFIG.pagesizes.overview;\r\n }\r\n\r\n const pageSizeInUrlIsDifferent = this.pageSizeInUrlIsDifferent(pageSizeValue);\r\n\r\n if (pageSizeInUrlIsDifferent) {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('size')) {\r\n url.searchParams.set('size', pageSize.toString());\r\n } else {\r\n url.searchParams.append('size', pageSize.toString());\r\n }\r\n\r\n history.pushState(null, null, url);\r\n }\r\n\r\n this.initFormData(pageSizeValue);\r\n\r\n this.itemsPerPage = pageSizeValue;\r\n this.paginateConfig.itemsPerPage = pageSizeValue;\r\n localStorage.setItem('reconciliations-overview-size', pageSizeValue.toString());\r\n }\r\n\r\n getRequestParams(searchTitle: string, page: number, pageSize: number): any {\r\n const params: any = {};\r\n\r\n if (searchTitle) {\r\n params.title = searchTitle;\r\n }\r\n\r\n if (page) {\r\n params.page = page - 1;\r\n }\r\n\r\n if (pageSize) {\r\n params.size = pageSize;\r\n }\r\n\r\n return params;\r\n }\r\n\r\n onPageSizeChange(pageSize: string): void {\r\n this.setPageSize(pageSize);\r\n this.goToPage(1);\r\n }\r\n\r\n initFormData(itemsPerPage: number) {\r\n const maxRowCount = this.data.totalCount > itemsPerPage ? itemsPerPage : this.data.totalCount;\r\n\r\n // Init editing state for each visible row\r\n Array(maxRowCount).fill(this.isEditingExternalReference);\r\n this.isEditingExternalReference = this.isEditingExternalReference.map(() => false);\r\n\r\n this.fillPageFormData(itemsPerPage, this.currentPage);\r\n }\r\n\r\n fillPageFormData(itemsPerPage: number, pageNumber: number) {\r\n if (this.data?.data) {\r\n this.fillPageFormArray(this.data.data, itemsPerPage, pageNumber);\r\n }\r\n }\r\n\r\n editExternalReference(index: number, dataItem: AllocationProgressLV) {\r\n this.setFormExternalReference(index, dataItem.externalReference);\r\n\r\n if (this.isEditingAllowed && this.isEditingExternalReference[index] !== true) {\r\n this.isEditingExternalReference[index] = true;\r\n }\r\n }\r\n\r\n cancelEditExternalReference(index: number, dataItem: AllocationProgressLV) {\r\n if (this.isEditingExternalReference[index] === true) {\r\n this.isEditingExternalReference[index] = false;\r\n }\r\n\r\n if (this.isEditingExternalReference[index] === false) {\r\n this.setFormExternalReference(index, dataItem.externalReference);\r\n }\r\n }\r\n\r\n saveExternalReference(index: number, dataItem: AllocationProgressLV, showMessage: boolean = true) {\r\n if (this.isEditingExternalReference[index] === true) {\r\n const externalReference = this.getFormExternalReference(index) ?? '';\r\n\r\n this.subscriptions.push(\r\n this.reconciliationAllocationService\r\n .updateAllocationProgressExternalReferenceById(dataItem.id, externalReference)\r\n .subscribe((result: AllocationProgressLV) => {\r\n dataItem = result;\r\n if (showMessage) {\r\n this.notificationService.showSuccess('VVV data opgeslagen.');\r\n }\r\n }),\r\n );\r\n\r\n dataItem.externalReference = externalReference.trim();\r\n\r\n this.isEditingExternalReference[index] = false;\r\n }\r\n }\r\n\r\n saveAllExternalReferences() {\r\n this.getPageData(this.itemsPerPage, this.currentPage).forEach((data, index) => {\r\n this.saveExternalReference(index, data, false);\r\n setTimeout(() => {\r\n this.notificationService.showSuccess('Alle VVV data opgeslagen.');\r\n }, 2000);\r\n });\r\n }\r\n\r\n cancelAllExternalReferences() {\r\n this.getPageData(this.itemsPerPage, this.currentPage).forEach((data, index) => this.cancelEditExternalReference(index, data));\r\n }\r\n\r\n fillWithSpaces(text: string, numberOfSpaces: number) {\r\n return (text?.trim() ?? '') === '' ? ' '.repeat(numberOfSpaces) : text;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
Gecorrigeerd
\r\n \r\n Nee \r\n Ja \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n 0;else nodata\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Allocation Progress IdCorrelatie IdBericht IdKenmerkNetbeheerderIndienerProces maandProductTotaal prijsOntvangen opCSH Factuur\r\n \r\n \r\n save\r\n \r\n \r\n cancel\r\n \r\n \r\n Gecorrigeerd
{{dataItem.id}}{{dataItem.senderCorrelationID}}{{dataItem.technicalMessageId}}{{dataItem.mrid}}{{dataItem.gridOperatorName}}{{dataItem.receiverName}}{{dataItem.processedDate | date: 'MMM. yyyy'}}{{dataItem.productTypeName}}\r\n \r\n \r\n € {{dataItem.totalPrice | number : '1.2-2'}}\r\n \r\n \r\n {{dataItem.receivedOn | date: 'dd-MM-yyyy HH:mm uur'}}\r\n \r\n 16) ? dataItem.externalReference : ''}}\"\r\n matTooltipShowDelay=\"1000\" matTooltipPosition=\"above\">\r\n {{ fillWithSpaces(dataItem.externalReference, 16) | truncate:16:'...'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n edit\r\n \r\n \r\n \r\n \r\n save\r\n \r\n \r\n cancel\r\n \r\n \r\n {{dataItem.correctedOn | date: 'dd-MM-yyyy HH:mm uur'}}
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n report\r\n
Geen VVV data.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","import { RECONCILATIONS_CONFIG } from './reconciliations-config';\r\n\r\nexport const RECONCILIATIONS_ROLES = {\r\n reconciliationsOverview: [RECONCILATIONS_CONFIG.policyGroups.reconciliationReader, RECONCILATIONS_CONFIG.policyGroups.reconciliationWriter],\r\n reconciliationsDetails: [RECONCILATIONS_CONFIG.policyGroups.reconciliationReader, RECONCILATIONS_CONFIG.policyGroups.reconciliationWriter],\r\n reconciliationsVolumes: [RECONCILATIONS_CONFIG.policyGroups.reconciliationReader, RECONCILATIONS_CONFIG.policyGroups.reconciliationWriter],\r\n};\r\n","import moment from 'moment';\r\nimport { lastValueFrom, Subscription } from 'rxjs';\r\nimport { Page } from 'src/app/Connection';\r\nimport { BlobCreateHelper } from 'src/app/helpers/BlobCreateHelper';\r\nimport { PaginateConfig } from 'src/app/Models/PaginateConfig';\r\nimport { AllocationProgressLV } from 'src/app/ServiceModels/AllocationProgressLV';\r\nimport { ProcessedConnectionByVVV } from 'src/app/ServiceModels/ProcessedConnectionByVVV';\r\nimport { MsalBasedAuthorizationService } from 'src/app/Services/msal-based-authorization.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { ReconciliationAllocationService } from 'src/app/Services/reconciliation-allocation.service';\r\n\r\nimport { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { RECONCILATIONS_CONFIG } from '../reconciliations-config';\r\n\r\n@Component({\r\n selector: 'app-reconciliations-volumes-component',\r\n templateUrl: './reconciliations-volumes.component.html',\r\n styleUrls: ['./reconciliations-volumes.component.scss'],\r\n})\r\nexport class ReconciliationsVolumesComponent implements PaginateConfig, OnInit, OnDestroy {\r\n @Input() detailId: string;\r\n @Input() connectionEan: string;\r\n\r\n wasOrginallyCorrectedTrue: boolean = undefined;\r\n detailIdFromRoute: string;\r\n subscriptions: Subscription[] = [];\r\n\r\n parentData: AllocationProgressLV;\r\n data: Page;\r\n\r\n pageSizes: number[] = [20, 50, 100];\r\n currentPage = 1;\r\n itemsPerPage: number = RECONCILATIONS_CONFIG.pagesizes.volumes;\r\n totalItems = 0;\r\n\r\n searchString = '';\r\n formDataGroup: UntypedFormGroup;\r\n\r\n maxLengthExternalReference = RECONCILATIONS_CONFIG.definitions.processedConnectionByVVV.externalReferenceMaxLength;\r\n\r\n isLoadingData = false;\r\n isLoadingParentData = false;\r\n\r\n paginateConfig: PaginateConfig = {\r\n id: 'paginationVolumes',\r\n itemsPerPage: this.itemsPerPage,\r\n currentPage: this.currentPage,\r\n totalItems: this.totalItems,\r\n } as PaginateConfig;\r\n\r\n constructor(\r\n private readonly route: ActivatedRoute,\r\n private readonly router: Router,\r\n private readonly reconciliationAllocationService: ReconciliationAllocationService,\r\n private readonly notificationService: NotificationService,\r\n private readonly msalBasedAuthorizationService: MsalBasedAuthorizationService,\r\n ) {\r\n this.formDataGroup = new UntypedFormGroup({\r\n externalReference: new UntypedFormControl(),\r\n isCorrected: new UntypedFormControl(),\r\n });\r\n }\r\n\r\n get isEditingAllowed() {\r\n return this.msalBasedAuthorizationService.hasReconciliationRole(RECONCILATIONS_CONFIG.roles.writeRole);\r\n }\r\n\r\n get firstDataItem(): ProcessedConnectionByVVV {\r\n return this.data?.data && this.data.data.length > 0 && this.data.data[0] ? this.data.data[0] : undefined;\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.isLoadingData || this.isLoadingParentData;\r\n }\r\n\r\n get maxPage() {\r\n return this.data ? Math.ceil(this.data.totalCount / this.itemsPerPage) : 1;\r\n }\r\n\r\n get dataCountIsLargerThenMinimumPageSize(): boolean {\r\n const minimumPageSize = this.pageSizes && this.pageSizes.length ? this.pageSizes[0] : 0;\r\n return this.data.totalCount > minimumPageSize;\r\n }\r\n\r\n get formExternalReference(): string {\r\n return this.formDataGroup.get('externalReference')?.value ?? '';\r\n }\r\n\r\n get formIsCorrected(): boolean {\r\n const isCorrected = this.formDataGroup.get('isCorrected').value;\r\n\r\n return isCorrected;\r\n }\r\n\r\n onChangeExternalReference() {\r\n const isCorrected = this.formIsCorrected;\r\n\r\n // Store original value in global variable if true to reset when external reference was cleared during editing and then re-filled again\r\n if (isCorrected === true) {\r\n this.wasOrginallyCorrectedTrue = true;\r\n }\r\n\r\n if (!this.isExternalReferenceFilled() && isCorrected === true) {\r\n // Set form value to false if external reference is cleared\r\n this.formDataGroup.controls.isCorrected.setValue(false);\r\n } else if (this.isExternalReferenceFilled() && this.wasOrginallyCorrectedTrue === true && isCorrected === false) {\r\n // Set form value to original if external reference is filled again and a orginal value is saved\r\n this.formDataGroup.controls.isCorrected.setValue(true);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.detailIdFromRoute = this.route.snapshot.paramMap.get('id');\r\n\r\n this.initialiseData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((s) => s.unsubscribe());\r\n }\r\n }\r\n\r\n initialiseData() {\r\n this.checkRouterParams();\r\n this.fetchData();\r\n }\r\n\r\n checkRouterParams() {\r\n this.subscriptions.push(\r\n this.route.queryParamMap.subscribe((paramsMap: any) => {\r\n if (paramsMap.keys.includes('search')) {\r\n this.searchString = paramsMap.params.search;\r\n }\r\n }),\r\n );\r\n }\r\n\r\n checkPage() {\r\n if (this.route.snapshot.queryParams.page) {\r\n this.goToPage(Number.parseInt(this.route.snapshot.queryParams.page, 10));\r\n } else {\r\n this.initialisePage(1);\r\n }\r\n }\r\n\r\n checkPageSize() {\r\n if (this.route.snapshot.queryParams.size) {\r\n this.setPageSize(this.route.snapshot.queryParams.size);\r\n } else {\r\n const pageSize = localStorage.getItem('reconciliations-volumes-size');\r\n if (pageSize) {\r\n this.setPageSize(pageSize);\r\n }\r\n }\r\n }\r\n\r\n goToConnection(connectionEan: string) {\r\n const url: any = this.router.createUrlTree(['/connection', connectionEan]);\r\n window.open(url, '_blank');\r\n }\r\n\r\n async downloadJson(dataItem: ProcessedConnectionByVVV) {\r\n const allocationProgressDetailSeries = await lastValueFrom(\r\n this.reconciliationAllocationService.getAllocationProgressDetailSeriesVVVByAllocationProgressId(dataItem.allocationProgressLVId),\r\n );\r\n\r\n const json = allocationProgressDetailSeries?.detail_Series_Json;\r\n\r\n if (json === undefined) {\r\n this.notificationService.showDanger('VVV aansluiting heeft geen download data.');\r\n } else {\r\n const gridOperatorFileNamePart = this.determineGridOperatorFilePart(dataItem);\r\n\r\n const datePipe = new DatePipe('nl-nl');\r\n const filename =\r\n 'VVV' +\r\n (dataItem.connectionEan ? '-' + dataItem.connectionEan : '') +\r\n (gridOperatorFileNamePart ? '-Grid-' + this.transformToValidFileName(gridOperatorFileNamePart) : '') +\r\n '-' +\r\n datePipe.transform(dataItem.processDate, 'YYYY-MM');\r\n\r\n BlobCreateHelper.downloadJson(filename, json);\r\n\r\n this.notificationService.showSuccess('VVV aansluiting download gestart.');\r\n }\r\n }\r\n\r\n determineGridOperatorFilePart(dataItem: ProcessedConnectionByVVV) {\r\n return dataItem.gridOperatorEan ? dataItem.gridOperatorEan : dataItem.gridOperatorName;\r\n }\r\n\r\n transformToValidFileName(data: string) {\r\n return data.replace(/[/\\\\?%*:|\"<>]/g, '-');\r\n }\r\n\r\n determinedDetailId(): string {\r\n if (this.detailId === undefined) {\r\n this.detailId = localStorage.getItem('reconciliations-detailId');\r\n }\r\n return this.detailId ?? this.detailIdFromRoute;\r\n }\r\n\r\n fetchData() {\r\n if (!this.isLoadingData && !this.isLoadingParentData) {\r\n this.isLoadingData = true;\r\n this.isLoadingParentData = true;\r\n this.getDataFromApi();\r\n }\r\n }\r\n\r\n getDataFromApi() {\r\n const detailId = this.determinedDetailId();\r\n\r\n if (detailId !== undefined && detailId !== null && detailId !== '') {\r\n this.subscriptions.push(\r\n this.reconciliationAllocationService.getAllocationProgressById(detailId).subscribe((result: AllocationProgressLV) => {\r\n this.parentData = result;\r\n this.isLoadingData = false;\r\n }),\r\n this.reconciliationAllocationService\r\n .getAllValidProcessedConnectionsByVVVByValidAllocationProgressId(detailId)\r\n .subscribe((results: ProcessedConnectionByVVV[]) => {\r\n try {\r\n if (results) {\r\n const pagedData = Page.readArrayObject(results, 'ProcessedConnectionByVVV');\r\n pagedData.data = pagedData.data\r\n .filter((x) => x.connectionEan === this.connectionEan)\r\n .sort((a, b) => a.consumptionEndDateTime.toString().localeCompare(b.consumptionEndDateTime.toString()));\r\n this.data = pagedData;\r\n\r\n this.totalItems = this.data.totalCount;\r\n this.paginateConfig.totalItems = this.data.totalCount;\r\n }\r\n\r\n if (results && this.data.totalCount > 0) {\r\n this.initFormParentData(this.firstDataItem);\r\n this.checkPageSize();\r\n this.checkPage();\r\n }\r\n } catch (err: any) {\r\n throw new Error(err);\r\n } finally {\r\n this.isLoadingParentData = false;\r\n }\r\n }),\r\n );\r\n }\r\n }\r\n\r\n pageInUrlIsDifferent(pageNumber: number): boolean {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('page')) {\r\n return url.searchParams.get('page') !== pageNumber.toString();\r\n }\r\n return true;\r\n }\r\n\r\n goToPage(pageNumber: number) {\r\n // Check if page is set to an incorrect value, reset to 1\r\n if (pageNumber < 0 || pageNumber > this.maxPage) {\r\n pageNumber = 1;\r\n }\r\n\r\n const pageInUrlIsDifferent = this.pageInUrlIsDifferent(pageNumber);\r\n\r\n if (pageInUrlIsDifferent) {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('page')) {\r\n url.searchParams.set('page', pageNumber.toString());\r\n } else {\r\n url.searchParams.append('page', pageNumber.toString());\r\n }\r\n\r\n history.pushState(null, null, url);\r\n }\r\n\r\n this.initialisePage(pageNumber);\r\n }\r\n\r\n initialisePage(pageNumber: number) {\r\n // Check if page is set to an incorrect value, reset to 1\r\n if (pageNumber < 0 || pageNumber > this.maxPage) {\r\n pageNumber = 1;\r\n }\r\n\r\n this.currentPage = pageNumber;\r\n this.paginateConfig.currentPage = pageNumber;\r\n\r\n // this.fetchData(); // TODO: DW: Do this when using Paging in API\r\n }\r\n\r\n pageSizeInUrlIsDifferent(pageSize: number): boolean {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('size')) {\r\n return url.searchParams.get('size') !== pageSize.toString();\r\n }\r\n return true;\r\n }\r\n\r\n setPageSize(pageSize: string) {\r\n let pageSizeValue = Number(pageSize);\r\n\r\n // Check if page is set to an incorrect value, reset to 1\r\n if (pageSizeValue < 0 || !this.pageSizes.includes(pageSizeValue)) {\r\n pageSizeValue = RECONCILATIONS_CONFIG.pagesizes.volumes;\r\n }\r\n\r\n const pageSizeInUrlIsDifferent = this.pageSizeInUrlIsDifferent(pageSizeValue);\r\n\r\n if (pageSizeInUrlIsDifferent) {\r\n const url = new URL(location.href);\r\n const searchParams = url.searchParams;\r\n if (searchParams.has('size')) {\r\n url.searchParams.set('size', pageSize.toString());\r\n } else {\r\n url.searchParams.append('size', pageSize.toString());\r\n }\r\n\r\n history.pushState(null, null, url);\r\n }\r\n\r\n this.itemsPerPage = pageSizeValue;\r\n this.paginateConfig.itemsPerPage = pageSizeValue;\r\n localStorage.setItem('reconciliations-volumes-size', pageSizeValue.toString());\r\n }\r\n\r\n onPageSizeChange(pageSize: string): void {\r\n this.setPageSize(pageSize);\r\n this.goToPage(1);\r\n }\r\n\r\n initFormParentData(dataItem: ProcessedConnectionByVVV) {\r\n if (dataItem) {\r\n this.formDataGroup.controls.externalReference.setValue(dataItem.externalReference);\r\n this.formDataGroup.controls.isCorrected.setValue(dataItem.isCorrected ?? false);\r\n }\r\n }\r\n\r\n isExternalReferenceFilled() {\r\n const externalReference = this.formExternalReference;\r\n\r\n return externalReference !== undefined && externalReference !== null && externalReference.trim() !== '';\r\n }\r\n\r\n isDataChanged(dataItem: ProcessedConnectionByVVV): boolean {\r\n const externalReference = this.formExternalReference;\r\n const isCorrected = this.formIsCorrected;\r\n\r\n return dataItem && (dataItem.externalReference !== externalReference || (dataItem.isCorrected ?? false) !== (isCorrected ?? false));\r\n }\r\n\r\n cancelChanges(event: any, dataItem: ProcessedConnectionByVVV) {\r\n event.preventDefault();\r\n\r\n this.initFormParentData(dataItem);\r\n }\r\n\r\n saveChanges(event: any, dataItem: ProcessedConnectionByVVV) {\r\n const externalReference = this.formExternalReference;\r\n const isCorrected = this.formIsCorrected;\r\n\r\n event.preventDefault();\r\n\r\n // if (this.isDataChanged(dataItem)) {\r\n // if (externalReference !== undefined && externalReference !== null) {\r\n // this.updateExternalReferenceAndIsCorrected(dataItem, externalReference, isCorrected);\r\n // }\r\n // }\r\n\r\n if (this.isDataChanged(dataItem)) {\r\n if (externalReference !== undefined && externalReference !== null) {\r\n this.subscriptions.push(\r\n this.reconciliationAllocationService\r\n .updateProcessedConnectionsByVVVExternalReferenceByAllocationProgressConnectionEan(\r\n dataItem.allocationProgressLVId,\r\n dataItem.connectionEan,\r\n externalReference,\r\n )\r\n .subscribe((result: ProcessedConnectionByVVV) => {\r\n dataItem = result;\r\n }),\r\n );\r\n\r\n dataItem.externalReference = externalReference;\r\n\r\n if (isCorrected !== undefined) {\r\n this.subscriptions.push(\r\n this.reconciliationAllocationService\r\n .updateProcessedConnectionsByVVVIsCorrectedByAllocationProgressConnectionEan(\r\n dataItem.allocationProgressLVId,\r\n dataItem.connectionEan,\r\n isCorrected,\r\n )\r\n .subscribe((result: ProcessedConnectionByVVV) => {\r\n dataItem = result;\r\n this.notificationService.showSuccess('VVV aansluiting opgeslagen.');\r\n\r\n // Reset stored is corrected value, to update upon next check\r\n this.wasOrginallyCorrectedTrue = false;\r\n }),\r\n );\r\n\r\n dataItem.isCorrected = isCorrected;\r\n\r\n // Reset stored is corrected value, to update upon next check\r\n this.wasOrginallyCorrectedTrue = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n updateExternalReferenceAndIsCorrected(dataItem: ProcessedConnectionByVVV, externalReference?: string, isCorrected?: boolean): void {\r\n const allocationProgressById = dataItem.allocationProgressLVId;\r\n const connectionEan = dataItem.connectionEan;\r\n\r\n this.subscriptions.push(\r\n this.reconciliationAllocationService\r\n .updateProcessedConnectionsByVVVExternalReferenceByAllocationProgressConnectionEan(\r\n allocationProgressById,\r\n connectionEan,\r\n externalReference.trim(),\r\n )\r\n // .pipe(\r\n // map((result: ProcessedConnectionByVVV) => {\r\n // dataItem = result;\r\n // }),\r\n // mergeMap((): Observable => {\r\n // if (isCorrected !== undefined) {\r\n // return this.reconciliationAllocationService.updateProcessedConnectionsByVVVIsCorrectedByAllocationProgressConnectionEan(\r\n // allocationProgressById,\r\n // connectionEan,\r\n // isCorrected,\r\n // );\r\n // }\r\n\r\n // return of(dataItem);\r\n // }),\r\n // )\r\n .subscribe((result: ProcessedConnectionByVVV) => {\r\n dataItem = result;\r\n this.notificationService.showSuccess('VVV aansluiting opgeslagen.');\r\n }),\r\n );\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Allocation Progress IdCorrelatie IdBericht IdKenmerkEANProces maandCSH CorrectieGecorrigeerd
{{parentData.id}}{{parentData.senderCorrelationID}}{{parentData.technicalMessageId}}{{parentData.mrid}}\r\n \r\n \r\n {{firstDataItem?.connectionEan}}\r\n \r\n \r\n {{parentData.processedDate | date: 'MMM. yyyy'}}\r\n \r\n \r\n \r\n \r\n {{parentData.externalReference}}\r\n \r\n \r\n \r\n check_circle\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{parentData.isCorrected ? 'Ja' : 'Nee'}}\r\n \r\n \r\n \r\n \r\n save\r\n \r\n \r\n cancel\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n 0;else nodata\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
VerbruiksmaandPrijsJson
{{dataItem.consumptionEndDateTime | date: 'MMM. yyyy'}}\r\n \r\n \r\n € {{dataItem.calculatedPrice | number : '1.2-2'}}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n report\r\n
Geen verbruik- en verreken data.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","import { Routes } from '@angular/router';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\n\r\nimport { ReconciliationsDashboardComponent } from './reconciliations-dashboard.component/reconciliations-dashboard.component';\r\nimport { ReconciliationsDetailsComponent } from './reconciliations-details.component/reconciliations-details.component';\r\nimport { RECONCILIATIONS_ROLES } from './reconciliations-roles';\r\nimport { ReconciliationsVolumesComponent } from './reconciliations-volumes.component/reconciliations-volumes.component';\r\n\r\nexport const reconciliationsRoutes: Routes = [\r\n {\r\n path: 'reconciliations',\r\n component: ReconciliationsDashboardComponent,\r\n canActivate: [MsalGuard],\r\n data: {\r\n roles: RECONCILIATIONS_ROLES.reconciliationsOverview,\r\n },\r\n },\r\n {\r\n path: 'reconciliations/details/:id',\r\n component: ReconciliationsDetailsComponent,\r\n canActivate: [MsalGuard],\r\n data: {\r\n roles: RECONCILIATIONS_ROLES.reconciliationsDetails,\r\n },\r\n },\r\n {\r\n path: 'reconciliations/details:id/volumes',\r\n component: ReconciliationsVolumesComponent,\r\n canActivate: [MsalGuard],\r\n data: {\r\n roles: RECONCILIATIONS_ROLES.reconciliationsVolumes,\r\n },\r\n },\r\n];\r\n","export interface IPage {\r\n Offset: number;\r\n TotalCount: number;\r\n Data: T[];\r\n}\r\nexport class Page {\r\n public static Empty(): IPage {\r\n return { Offset: 0, TotalCount: 0, Data: [] };\r\n }\r\n}\r\n","export interface TranslationCategoryId {\r\n TranslationDomainName: string;\r\n Name: string;\r\n}\r\nexport interface ITranslationCategory {\r\n Id: TranslationCategoryId;\r\n Translations: ITranslation[];\r\n}\r\nexport interface ITranslation {\r\n Name: string;\r\n TranslationValues: ITranslationValue[];\r\n}\r\nexport interface ITranslationValue {\r\n Language: string;\r\n Value: string;\r\n Description: string;\r\n}\r\nexport class TranslationCategory implements ITranslationCategory {\r\n Translations: ITranslation[];\r\n Id: TranslationCategoryId;\r\n constructor(translationCategoryId: TranslationCategoryId) {\r\n this.Id = translationCategoryId;\r\n this.Translations = [];\r\n }\r\n}\r\nexport class Translation implements ITranslation {\r\n TranslationValues: ITranslationValue[];\r\n Name: string;\r\n constructor(name: string) {\r\n this.TranslationValues = [];\r\n this.Name = name;\r\n }\r\n}\r\nexport class TranslationValue implements ITranslationValue {\r\n Language: string;\r\n Description: string;\r\n Value: string;\r\n constructor(language: string) {\r\n this.Description = '';\r\n this.Value = '';\r\n this.Language = language;\r\n }\r\n}\r\n","import { ErrorService } from 'src/app/services/ErrorService';\r\nimport { TranslationFromMemoryOrApiService } from 'src/app/services/translation-from-memory-or-api.service';\r\nimport { TranslationService } from 'src/app/services/translation.service';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { BaseDashboard } from '../BaseDashboard';\r\nimport { IPage, Page } from './Page';\r\nimport { TranslationCategory, TranslationCategoryId } from './TranslationCategory';\r\n\r\n@Component({\r\n selector: 'translation-dashboard',\r\n templateUrl: './TranslationDashboard.html',\r\n styleUrls: ['./TranslationDashboard.scss'],\r\n})\r\nexport class TranslationDashboard extends BaseDashboard {\r\n translations: IPage = Page.Empty();\r\n isLoading: boolean;\r\n\r\n showAdvancedView: boolean = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private errorService: ErrorService,\r\n router: Router,\r\n private translationService: TranslationService,\r\n private translationFromApiOrMemory: TranslationFromMemoryOrApiService,\r\n ) {\r\n super(router);\r\n }\r\n\r\n async ngOnInit() {\r\n this.isLoading = true;\r\n await this.fetchData();\r\n this.isLoading = false;\r\n }\r\n\r\n clearTranslationCache() {\r\n this.translationFromApiOrMemory.clearCache();\r\n window.location.reload();\r\n }\r\n\r\n async fetchData() {\r\n this.translations = await this.translationService.getTranslations();\r\n }\r\n\r\n goToTranslationList(translationCategory: TranslationCategory) {\r\n this.router.navigate([translationCategory.Id.TranslationDomainName, translationCategory.Id.Name], { relativeTo: this.route });\r\n }\r\n\r\n createList() {\r\n this.router.navigateByUrl(location.pathname + '/create');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
    \r\n
  • \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n\r\n
    \r\n
  • \r\n
    {{translationCategory.Id.Name}}
    \r\n
    \r\n {{translationCategory.Id.TranslationDomainName}}\r\n
    \r\n \r\n create\r\n \r\n
  • \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n unfold_more\r\n \r\n \r\n unfold_less\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { isEmptyObject } from 'src/app/helpers/ArrayHelper';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { TranslationFromMemoryOrApiService } from 'src/app/services/translation-from-memory-or-api.service';\r\nimport { TranslationService } from 'src/app/services/translation.service';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\n\r\nimport { BaseDashboard } from '../BaseDashboard';\r\nimport { ITranslation, ITranslationCategory, Translation, TranslationCategory, TranslationCategoryId, TranslationValue } from './TranslationCategory';\r\n\r\n@Component({\r\n selector: 'translation-dashboard-edit',\r\n templateUrl: './TranslationDashboardEdit.html',\r\n styleUrls: ['./TranslationDashboardEdit.scss'],\r\n})\r\nexport class TranslationDashboardEdit extends BaseDashboard {\r\n translationCategory: ITranslationCategory;\r\n\r\n translationToAdd: string = '';\r\n valueToAdd: boolean = false;\r\n isCreate: boolean = true;\r\n listTranslationRow: boolean = true; //lijst overzicht binnen een domein/categorie\r\n clickAddRow: boolean = false; //indien op de knop 'Toevoegen' geklikt dan true\r\n clickAdjustRow: boolean = false; //indien op de knop 'Bewerk lijst' geklikt dan true\r\n showAdvancedView: boolean = false; //indien op het 'toon geavanceerd' icoontje geklikt dan true\r\n createNewTranslation: boolean = false; //indien op de knop 'Voeg nieuwe lijst' geklikt dan true\r\n\r\n newTranslationCategoryFormGroup = new UntypedFormGroup({\r\n Name: new UntypedFormControl(null, [Validators.required]),\r\n TranslationDomainName: new UntypedFormControl('Frontend', [Validators.required]),\r\n })\r\n\r\n constructor(\r\n router: Router,\r\n private route: ActivatedRoute,\r\n private translationService: TranslationService,\r\n private errorService: ErrorService,\r\n private translationMemApiService: TranslationFromMemoryOrApiService,\r\n ) {\r\n super(router);\r\n }\r\n\r\n async fetchData() {\r\n this.route.paramMap.subscribe((params: ParamMap) => {\r\n this.startPageBasedOnRoute(params);\r\n });\r\n this.createNewTranslation = false;\r\n }\r\n\r\n async startPageBasedOnRoute(paramObserver) {\r\n let parameters: any = paramObserver.params;\r\n\r\n if (!isEmptyObject(parameters)) {\r\n // If we have parameters, check them and get the list. Also we set the isCreate to false, since we edit and existing.\r\n this.translationCategory = await this.translationService.get(\r\n parameters.translationDomainName ? parameters.translationDomainName : 'Frontend',\r\n parameters.name,\r\n );\r\n\r\n this.isCreate = false;\r\n }\r\n }\r\n\r\n async submitNewListName() {\r\n // Only when there are no parameters, thus a create this is used. And redirects after a create to start using it.\r\n if (!this.newTranslationCategoryFormGroup.valid) return\r\n\r\n const id: TranslationCategoryId = this.newTranslationCategoryFormGroup.getRawValue();\r\n const translationCategory = new TranslationCategory(id);\r\n\r\n await this.translationService.create(translationCategory);\r\n\r\n this.router.navigate(['../', id.TranslationDomainName, id.Name], { relativeTo: this.route });\r\n }\r\n\r\n delete(row: ITranslation) {\r\n this.translationCategory.Translations.splice(this.translationCategory.Translations.indexOf(row), 1);\r\n this.submit();\r\n }\r\n\r\n create() {\r\n let t = new Translation(this.translationToAdd);\r\n t.TranslationValues.push(new TranslationValue('NL'));\r\n this.translationCategory.Translations.push(t);\r\n this.submit();\r\n this.listTranslationRow = false;\r\n this.clickAddRow = false;\r\n this.clickAdjustRow = true;\r\n }\r\n\r\n async submit() {\r\n if (this.isCreate) {\r\n await this.translationService\r\n .create(this.translationCategory)\r\n } else {\r\n const result = this.translationMemApiService.updateTranslationCategory(this.translationCategory);\r\n }\r\n //Toon de overzichtspagina met alleen buttons zichtbaar die mogelijk zijn vanaf dat punt:\r\n this.listTranslationRow = true;\r\n this.clickAddRow = false;\r\n this.clickAdjustRow = false;\r\n }\r\n\r\n //Ga naar nieuwe vertaling toevoegen binnen een bestaand domein/categorie:\r\n clickAdd() {\r\n this.listTranslationRow = false;\r\n this.clickAdjustRow = false;\r\n this.clickAddRow = true;\r\n }\r\n\r\n //Ga naar bewerkingspagina van vertalingen binnen een bestaand domein/categorie:\r\n clickAdjust() {\r\n this.listTranslationRow = false;\r\n this.clickAddRow = false;\r\n this.clickAdjustRow = true;\r\n }\r\n\r\n goBackToList() {\r\n this.clickAddRow = false;\r\n this.clickAdjustRow = false;\r\n this.listTranslationRow = true;\r\n this.fetchData();\r\n }\r\n\r\n goBackToDomain() {\r\n this.router.navigate(['../', '../'], { relativeTo: this.route });\r\n }\r\n\r\n changesForm() {\r\n this.valueToAdd = true;\r\n }\r\n\r\n nameChanges(event?, i?) {\r\n var nameId = document.getElementById(i + '_editName');\r\n if (nameId) {\r\n var element = nameId;\r\n element.style.color = '#ff6900';\r\n } else {\r\n element.style.color = null;\r\n }\r\n }\r\n\r\n valueChanges(event?, i?) {\r\n var valueId = document.getElementById(i + '_editValue');\r\n if (valueId) {\r\n var element = valueId;\r\n element.style.color = '#ff6900';\r\n } else {\r\n element.style.color = null;\r\n }\r\n }\r\n\r\n descriptionChanges(event?, i?) {\r\n var descriptionId = document.getElementById(i + '_editDescription');\r\n if (descriptionId) {\r\n var element = descriptionId;\r\n element.style.color = '#ff6900';\r\n } else {\r\n element.style.color = null;\r\n }\r\n }\r\n\r\n languageChanges(event?, i?) {\r\n var languageId = document.getElementById(i + '_editLanguage');\r\n if (languageId) {\r\n var element = languageId;\r\n element.style.color = '#ff6900';\r\n } else {\r\n element.style.color = null;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Voeg nieuwe lijst toe\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
    \r\n \r\n
  • \r\n
    \r\n \r\n Categorie nieuwe vertalingenlijst\r\n \r\n \r\n
    \r\n
    \r\n \r\n Domein nieuwe vertalingenlijst\r\n \r\n \r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n \r\n unfold_more\r\n \r\n \r\n unfold_less\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{translationCategory.Id.TranslationDomainName}} / {{translationCategory.Id.Name}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
    \r\n Lijst is\r\n leeg, voeg vertaling toe\r\n \r\n \r\n
  • \r\n
    {{row.Name}}
    \r\n
    \r\n {{row.TranslationValues[0].Value}}
    \r\n
    \r\n {{row.TranslationValues[0].Description}}\r\n
    \r\n
    \r\n {{row.TranslationValues[0].Language}}\r\n
    \r\n \r\n \r\n delete\r\n \r\n
  • \r\n
    \r\n \r\n
  • \r\n
    \r\n \r\n Nieuwe vertaling\r\n \r\n \r\n
    \r\n
  • \r\n
    \r\n \r\n
  • \r\n
    \r\n \r\n Naam\r\n \r\n \r\n
    \r\n
    \r\n \r\n Waarde\r\n \r\n \r\n
    \r\n
    \r\n \r\n Omschrijving\r\n \r\n \r\n
    \r\n
    \r\n \r\n Taal\r\n \r\n \r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { CachingService } from 'src/app/services/caching.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { RouterService } from 'src/app/services/router.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { BaseDashboard } from '../BaseDashboard';\r\n\r\n@Component({\r\n selector: 'app-admin-dashboard',\r\n templateUrl: './admin-dashboard.component.html',\r\n styleUrls: ['./admin-dashboard.component.scss'],\r\n})\r\nexport class AdminDashboardComponent extends BaseDashboard implements OnInit {\r\n tab: string | number = 'parameterValues';\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private routerService: RouterService,\r\n private cachingService: CachingService,\r\n router: Router,\r\n private errorService: ErrorService,\r\n ) {\r\n super(router);\r\n }\r\n\r\n async ngOnInit() {\r\n const paramsAsMap = this.routerService.getQueryParameters(this.route);\r\n const tab = paramsAsMap.params.tab ? paramsAsMap.params.tab : 'processes';\r\n this.routerService.updateParameters(this.route, this.router, { tab });\r\n this.tab = tab;\r\n this.warningAdmin();\r\n }\r\n\r\n warningAdmin() {\r\n let adminConfirmation: boolean = this.cachingService.get('admin');\r\n if (adminConfirmation == null || adminConfirmation == false) {\r\n let confimation = confirm('Dit is een pagina uitsluitend bedoeld voor ICT, druk op OK als je door wilt gaan.');\r\n confimation == true ? this.cachingService.put('admin', true, 60) : this.router.navigate(['/']);\r\n }\r\n this.cachingService.get('admin') == null || this.cachingService.put('admin', true, 60);\r\n }\r\n\r\n selectTab(tab: number | string) {\r\n this.route.paramMap;\r\n if (location.pathname.indexOf('tab=') > 0) {\r\n history.pushState(null, '', location.pathname.substring(0, location.pathname.indexOf('?tab=')) + 'tab=' + tab);\r\n } else {\r\n history.pushState(null, '', location.pathname + '?tab=' + tab);\r\n }\r\n this.tab = tab;\r\n }\r\n\r\n fetchData() { }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Admin pagina\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n N/A\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Registercontrole\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
","\r\n\r\nimport { RouterService } from 'src/app/services/router.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'edm-dashboard',\r\n templateUrl: './edm-dashboard.component.html',\r\n styleUrls: ['./edm-dashboard.component.scss'],\r\n})\r\n\r\nexport class EdmDashboardComponent implements OnInit {\r\n\r\n tab;\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private routerService: RouterService,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n // if (this.route.snapshot.queryParams[\"tab\"] != null) {\r\n // this.tab = this.route.snapshot.queryParams[\"tab\"];\r\n // } else {\r\n // this.tab = 0;\r\n // }\r\n // const initialQueryParams = this.routerService.getQueryParameters(this.route);\r\n const paramsAsMap = this.routerService.getQueryParameters(this.route);\r\n const tab = paramsAsMap.params.tab ? paramsAsMap.params.tab : 'edsn-registery';\r\n this.routerService.updateParameters(this.route, this.router, { tab });\r\n this.tab = tab;\r\n }\r\n\r\n selectTab(tab: number | string) {\r\n // this.route.paramMap\r\n if (location.pathname.indexOf(\"tab=\") > 0) {\r\n history.pushState(null, '', location.pathname.substring(0, location.pathname.indexOf(\"?tab=\")) + \"tab=\" + tab);\r\n } else {\r\n history.pushState(null, '', location.pathname + '?tab=' + tab);\r\n }\r\n this.tab = tab;\r\n }\r\n}","import { interval, Subscription } from 'rxjs';\r\nimport { startWith, switchMap } from 'rxjs/operators';\r\nimport { ConnectionEvaluatorService } from 'src/app/services/connection-evaluator.service';\r\n\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-edsn-registry-evaluator',\r\n templateUrl: './edsn-registry-evaluator.component.html',\r\n styleUrls: ['./edsn-registry-evaluator.component.scss'],\r\n})\r\nexport class EdsnRegistryEvaluatorComponent implements OnInit, OnDestroy {\r\n sendToEndPoint = '/assets/ConnectionEvaluator/EvaluateMeteringPointExtractXml';\r\n parameterName = 'meteringPointExtractEnvelopeXml';\r\n requiredFileType = 'application/xml';\r\n header = 'Edsn register controle';\r\n description =\r\n 'Upload de MeteringPointExtract XML om deze te laten vergelijken met de meters in ons systeem. Indien er mismatches zijn, worden deze gelogd als issue.';\r\n isRunning = false;\r\n subscription: Subscription;\r\n\r\n constructor(private connectionEvaluatorSerivice: ConnectionEvaluatorService) {}\r\n\r\n ngOnInit() {\r\n this.connectionEvaluatorSerivice.isRunning().subscribe((res) => (this.isRunning = res));\r\n this.subscription = interval(10000)\r\n .pipe(\r\n startWith(0),\r\n switchMap(() => this.connectionEvaluatorSerivice.isRunning()),\r\n )\r\n .subscribe((res) => (this.isRunning = res));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","
\r\n
{{header}}
\r\n

{{description}}

\r\n
\r\n \r\n \r\n\r\n \r\n access_time\r\n \r\n \r\n \r\n ","import { ErrorService } from 'src/app/services/ErrorService';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-external-dossier-dashboard',\r\n templateUrl: './external-dossier-dashboard.component.html',\r\n styleUrls: ['./external-dossier-dashboard.component.scss'],\r\n})\r\nexport class ExternalDossierDashboardComponent implements OnInit {\r\n constructor(private activatedRoute: ActivatedRoute, private router: Router, private errorService: ErrorService) { }\r\n\r\n ngOnInit(): void { }\r\n}\r\n","
\r\n
\r\n
\r\n
Transactiedossiers
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { MsalBasedAuthorizationService } from 'src/app/Services/msal-based-authorization.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { environment } from '@environment';\r\n\r\n@Component({\r\n selector: 'app-home-dashboard',\r\n templateUrl: './home-dashboard.component.html',\r\n styleUrls: ['./home-dashboard.component.scss'],\r\n})\r\nexport class HomeDashboardComponent implements OnInit {\r\n local: any = false;\r\n staging: any = false;\r\n production: boolean = environment.production;\r\n\r\n sections;\r\n\r\n constructor(private msalBasedAuthorizationService: MsalBasedAuthorizationService, private notificationService: NotificationService) {\r\n const isLocal = localStorage['target-enviroment'] === 'local';\r\n\r\n this.local = { checked: isLocal, name: 'local' };\r\n this.staging = { checked: !isLocal, name: 'staging' };\r\n }\r\n\r\n ngOnInit() {\r\n this.sections = this.msalBasedAuthorizationService.allowedSections();\r\n }\r\n\r\n copyToken(type?: 'api' | 'minimalapi' | 'reconciliationapi') {\r\n const ie = document.getElementById('token') as HTMLInputElement;\r\n ie.value =\r\n type === 'minimalapi'\r\n ? this.msalBasedAuthorizationService.getMinimalApiMsalToken()\r\n : type === 'reconciliationapi'\r\n ? this.msalBasedAuthorizationService.getReconciliationApiMsalToken()\r\n : this.msalBasedAuthorizationService.getOperationsApiMsalToken()\r\n ? `Bearer ${this.msalBasedAuthorizationService.getOperationsApiMsalToken()}`\r\n : '';\r\n ie.style.display = 'block';\r\n ie.select();\r\n document.execCommand('copy');\r\n ie.style.display = 'none';\r\n if (ie.value.trim() === '') {\r\n this.notificationService.showDanger('Empty value found!');\r\n } else {\r\n this.notificationService.showSuccess('Copied!');\r\n }\r\n }\r\n\r\n environmentChanged(entry: any) {\r\n if (entry.name === 'staging') {\r\n localStorage['target-enviroment'] = 'staging';\r\n } else {\r\n localStorage['target-enviroment'] = 'local';\r\n }\r\n location.reload();\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {{section.icon}}\r\n \r\n
\r\n
\r\n {{section.name}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
Omgeving
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n \r\n
\r\n Zoeken\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n Aansluitingen\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0; else nodata\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
EANProduct TypeKlantPlaatsPostcodeAdresLevering vanafLevering totActie
\r\n \r\n \r\n fiber_manual_record\r\n {{connection.Tenant}}\r\n \r\n \r\n {{connection.Id}}\r\n {{connection.ProductType}}{{getFirstCustomer(connection)?.Customer?.Name}}{{getLastConnectionLocation(connection)?.Address?.City}}{{getLastConnectionLocation(connection)?.Address?.Postcode}}\r\n {{getLastConnectionLocation(connection)?.Address == null ? '' :\r\n getLastConnectionLocation(connection)?.Address?.Street + ' ' +\r\n getLastConnectionLocation(connection)?.Address?.HouseNumber}} {{getLastConnectionLocation(connection)?.Address?.LocationOnStreet}}\r\n {{getFirstCustomer(connection)?.Interval?.From?.format('YYYY-MM-DD')}}{{getFirstCustomer(connection)?.Interval?.Until?.format('YYYY-MM-DD')}}\r\n link\r\n description\r\n \r\n account_circle\r\n \r\n
\r\n
\r\n\r\n \r\n Contracten\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0; else nodata\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
EANProduct TypePostcodeKlantnummerContract datumStartdatumEinddatumSwitchSwitch BerichtActie
\r\n {{contract.ConnectionId}}\r\n {{contract.ProductType}}{{contract.zipcode}}{{contract.CustomerId}}{{contract.ContractDate | stringToDateTimeFormat:\"DATE_SHORT\" }}{{contract.StartDate | stringToDateTimeFormat:\"DATE_SHORT\" }}Nog niet beschikbaar{{contract.Switch | boolToWord}}{{contract.SwitchNotificationDate | stringToDateTimeFormat:\"DATE_SHORT\" }}\r\n link\r\n \r\n \r\n description\r\n \r\n \r\n account_circle\r\n \r\n
\r\n
\r\n\r\n \r\n Klanten\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0; else nodata\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
EANProduct TypeKlantPlaatsPostcodeAdresLevering vanafLevering totActie
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n report No Data\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
","import { Connection, ConnectionContract, Customer, CustomerConnection } from 'src/app/Connection';\r\nimport { ConnectionService } from 'src/app/services/connection.service';\r\nimport { ContractStateService } from 'src/app/services/contract-state.service';\r\nimport { ErrorService } from 'src/app/services/ErrorService';\r\nimport { RouterService } from 'src/app/services/router.service';\r\nimport { TenantService } from 'src/app/services/tenant.service';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'search-dashboard',\r\n templateUrl: './search-dashboard.component.html',\r\n styleUrls: ['./search-dashboard.component.scss'],\r\n})\r\nexport class SearchDashboard implements OnInit {\r\n connections: Connection[];\r\n contracts: ConnectionContract[];\r\n customers: Customer[];\r\n connectionService: ConnectionService;\r\n tenantService: TenantService;\r\n searchString: string;\r\n show: boolean = false;\r\n showConnections: boolean = true;\r\n showContracts: boolean = true;\r\n showCustomers: boolean = false;\r\n isLoading: boolean = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n connectionService: ConnectionService,\r\n private contractStateService: ContractStateService,\r\n tenantService: TenantService,\r\n private errorService: ErrorService,\r\n private routerService: RouterService,\r\n ) {\r\n this.connectionService = connectionService;\r\n this.tenantService = tenantService;\r\n }\r\n\r\n ngOnInit() {\r\n const parameters = this.routerService.getQueryParameters(this.route);\r\n this.onUpdateSearch(parameters.params.search ? parameters.params.search : null);\r\n }\r\n\r\n getFirstCustomer(connection: Connection): CustomerConnection | null {\r\n if (connection.CustomerConnections == null || connection.CustomerConnections.length == 0) {\r\n return null;\r\n }\r\n return connection.CustomerConnections[connection.CustomerConnections.length - 1];\r\n }\r\n\r\n getLastConnectionLocation(connection): any | null {\r\n //ConnectionContacts\r\n if (connection == null || connection.ConnectionLocations == null || connection.ConnectionLocations.length == 0) {\r\n return null;\r\n }\r\n return connection.ConnectionLocations[connection.ConnectionLocations.length - 1];\r\n }\r\n\r\n onUpdateSearch(searchString: string) {\r\n this.searchString = searchString;\r\n this.routerService.updateParameters(this.route, this.router, { search: searchString });\r\n // else\r\n // {\r\n // delete this.searchString;\r\n // }\r\n // history.pushState(null, '', location.pathname + queryPath);\r\n this.fetchConnections();\r\n this.fetchContracts();\r\n if (!this.searchString) {\r\n this.show = false;\r\n }\r\n }\r\n\r\n searchEventlistener(event) {\r\n if (event.shortcut === true) {\r\n this.router.navigate(['/connection', event.searchString]);\r\n } else {\r\n this.onUpdateSearch(event.searchString);\r\n }\r\n }\r\n\r\n fetchConnections() {\r\n if (this.searchString === null || this.searchString === '') {\r\n this.connections = [];\r\n } else {\r\n this.isLoading = true;\r\n // Trim spaces from front and back, else no results...\r\n let searchStringTrimmed = this.searchString.trim();\r\n this.connectionService\r\n .getByPartialConnectionId(searchStringTrimmed)\r\n .then((connections) => {\r\n this.connections = connections;\r\n this.ResetLoadingState();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n this.errorService.addError('Geen connecties op kunnen halen');\r\n this.ResetLoadingState();\r\n });\r\n }\r\n }\r\n\r\n private ResetLoadingState() {\r\n this.isLoading = false;\r\n this.show = true;\r\n }\r\n\r\n fetchContracts() {\r\n if (this.searchString === null || this.searchString === '') {\r\n this.connections = [];\r\n } else {\r\n let searchStringTrimmed = this.searchString.trim();\r\n this.connectionService\r\n .getContractsBySearchString(searchStringTrimmed)\r\n .then((contracts) => {\r\n // Add zipcode to contracts, connection.ts is not the best way to enrich it.\r\n this.contracts = contracts ?.map((c: any) => ({ ...c, zipcode: c.ContractId ?.split(':')[2] ?? null }));\r\n })\r\n .catch((error) => this.errorService.addError('Geen contracten op kunnen halen'));\r\n }\r\n }\r\n\r\n fetchCustomers() {\r\n // TO DO\r\n }\r\n\r\n goToConnection(connection: Connection) {\r\n this.router.navigate(['/connection', connection.Id]);\r\n }\r\n goToConnectionFromId(connectionId: string) {\r\n this.router.navigate(['/connection', connectionId]);\r\n }\r\n\r\n goToContract(connection) {\r\n let contractIds;\r\n this.contractStateService\r\n .getAllForConnectionId(0, 25, connection.Id)\r\n .then((result) => (contractIds = result))\r\n .then(() => {\r\n // Get current contractIds\r\n if (contractIds.data.length > 0) {\r\n let currentContractId = contractIds.data[contractIds.data.length - 1].id.contractId;\r\n this.router.navigate(['/contractstate', currentContractId]);\r\n } else {\r\n this.errorService.addError('Geen contract gebonden aan deze aansluiting.');\r\n }\r\n })\r\n .catch((error) => this.errorService.addError(error.message));\r\n }\r\n goToContractFromId(contractId) {\r\n this.router.navigate(['/contractstate', contractId]);\r\n }\r\n\r\n goToCustomer(connection) {\r\n if (connection.CustomerConnections.length > 0) {\r\n let customerId = connection.CustomerConnections[connection.CustomerConnections.length - 1].Customer.Id;\r\n this.router.navigate(['/customer', customerId]);\r\n } else {\r\n this.errorService.addError('Geen klant gebonden aan deze aansluiting.');\r\n }\r\n }\r\n goToCustomerFromId(customerId) {\r\n this.router.navigate(['/customer', customerId]);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-styleguide',\r\n templateUrl: './styleguide.component.html',\r\n styleUrls: ['./styleguide.component.scss'],\r\n})\r\nexport class StyleguideComponent implements OnInit {\r\n disabled = false;\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n test(): void {\r\n console.log('Test button succesvol');\r\n }\r\n\r\n test1(): void {\r\n console.log('1e test item succesvol');\r\n }\r\n\r\n test2(): void {\r\n console.log('2e test item succesvol');\r\n }\r\n\r\n test3(): void {\r\n this.disabled = true;\r\n console.log('disabled aan');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
Under construction!
\r\n

\r\n Deze pagina is aangemaakt op 27-09-2021 en wordt nog verder uitgewerkt.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Buttons
\r\n

De SCSS staat globaal dus de classes kunnen door het hele project toegevoegd\r\n worden in de HTML elementen. Van de dropdown is een component gemaakt (zie rechter codeblok).\r\n

\r\n \r\n \r\n \r\n \r\n cruelty_free\r\n \r\n \r\n \r\n account_circle\r\n \r\n \r\n \r\n
Test item 1
\r\n
Test item 2
\r\n
\r\n \r\n \r\n info\r\n \r\n
\r\n
\r\n
HTML
\r\n
\r\n
\r\n                                    \r\n                                        \r\n                                    \r\n                                
\r\n
\r\n
\r\n
\r\n
HTML (component)
\r\n
\r\n
\r\n                                    \r\n                                        \r\n                                    \r\n                                
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate',\r\n})\r\nexport class TruncatePipe implements PipeTransform {\r\n transform(value: string, args: any[]): string {\r\n const limit = args.length > 0 ? parseInt(args[0], 10) : 20;\r\n const trail = args.length > 1 ? args[1] : '...';\r\n return value && value.length > limit ? value.substring(0, limit) + trail : value;\r\n }\r\n}\r\n","import { ObjectParser } from '../Connection';\r\n\r\nexport class AllocationProgressLV {\r\n public id: string;\r\n public senderCorrelationID: string;\r\n public receiverCorrrelationID: string;\r\n public senderEan: string;\r\n public receiverEan: string;\r\n public receiverName: string;\r\n public messageID: string;\r\n public mrid: string;\r\n public technicalMessageId: string;\r\n public externalReference: string;\r\n public receivedOn: Date;\r\n public gridOperatorName: string;\r\n public processedDate: Date;\r\n public productType: string;\r\n public productTypeName: string;\r\n public totalPrice: number;\r\n public correctedOn: Date;\r\n public isCorrected: boolean;\r\n private _obj: any;\r\n\r\n public static readObject(map: any): AllocationProgressLV {\r\n const c = new AllocationProgressLV();\r\n // eslint-disable-next-line no-underscore-dangle\r\n c._obj = map;\r\n return ObjectParser.fillObject(c, map);\r\n }\r\n\r\n public toString = (): string => JSON.stringify(this);\r\n}\r\n","import { ObjectParser } from '../Connection';\r\n\r\nexport class AllocationProgressLVDetailSeriesVVV {\r\n public id: string;\r\n public allocationProgressLVId: string;\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public detail_Series_Json: string;\r\n private _obj: any;\r\n\r\n public static readObject(map: any): AllocationProgressLVDetailSeriesVVV {\r\n const c = new AllocationProgressLVDetailSeriesVVV();\r\n // eslint-disable-next-line no-underscore-dangle\r\n c._obj = map;\r\n return ObjectParser.fillObject(c, map);\r\n }\r\n\r\n public toString = (): string => JSON.stringify(this);\r\n}\r\n","import { ObjectParser } from '../Connection';\r\n\r\nexport class ProcessedConnectionByVVV {\r\n public id: string;\r\n public allocationProgressLVId: string;\r\n public connectionEan: string;\r\n public gridOperatorEan: string;\r\n public gridOperatorName: string;\r\n public isCorrected: boolean;\r\n public processDate: Date;\r\n public createdOnVVV: Date;\r\n public receivedOnVVV: Date;\r\n public createdOn: Date;\r\n public receiverEan: string;\r\n public receiverName: string;\r\n public consumptionStartDateTime: Date;\r\n public consumptionEndDateTime: Date;\r\n public validVVV: boolean; //TODO: DW: rename to IsValidVVV (and add JsonProperty in API)\r\n public externalReference: string;\r\n private _obj: any;\r\n\r\n public static readObject(map: any): ProcessedConnectionByVVV {\r\n const c = new ProcessedConnectionByVVV();\r\n const mp: ProcessedConnectionByVVV = map as ProcessedConnectionByVVV;\r\n // eslint-disable-next-line no-underscore-dangle\r\n c._obj = map;\r\n\r\n return ObjectParser.fillObject(c, map);\r\n }\r\n\r\n public toString = (): string => JSON.stringify(this);\r\n}\r\n","export class CreateOverrideConsumptionIntervalCommand {\r\n public connectionId: string;\r\n public from: string;\r\n public until: string;\r\n\r\n constructor(connectionId: string, from: string, until: string) {\r\n this.connectionId = connectionId;\r\n this.from = from;\r\n this.until = until;\r\n }\r\n}\r\n","export class DeleteOverrideConsumptionIntervalCommand {\r\n connectionId: string;\r\n from: string;\r\n\r\n constructor(connectionId: string, from: string) {\r\n this.connectionId = connectionId;\r\n this.from = from;\r\n }\r\n}\r\n","import StackTrace from 'stacktrace-js';\r\n\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ErrorService {\r\n errors = [];\r\n archivedErrors = [];\r\n\r\n constructor() {}\r\n\r\n getClientMessage(error: Error): string {\r\n if (!navigator.onLine) {\r\n return 'No Internet Connection';\r\n }\r\n return error.message ? error.message : error.toString();\r\n }\r\n\r\n getClientStack(error: Error): string {\r\n return error.stack;\r\n }\r\n\r\n getServerMessage(error: HttpErrorResponse): string {\r\n switch (error.status) {\r\n case 404:\r\n return `${error.status} ${error?.statusText}`;\r\n\r\n case 500:\r\n return `${error.status} ${error.error?.title} - ${error.error?.detail}`;\r\n\r\n default:\r\n return `${error.status} ${error.error?.title} - ${error.error?.detail}`;\r\n }\r\n }\r\n\r\n getServerStack(error: HttpErrorResponse): Promise {\r\n return StackTrace.fromError(error).then((stackframes) => {\r\n const stringifiedStack = stackframes.map((sf) => sf.toString()).join('\\n');\r\n console.log(stringifiedStack);\r\n return stringifiedStack;\r\n });\r\n\r\n //return new Promise('stack');\r\n }\r\n\r\n addError(error: any) {\r\n this.errors.push(error);\r\n setTimeout(() => {\r\n this.errors.splice(this.errors.indexOf(error));\r\n }, 3000);\r\n this.makeLogForServiceDesk(error);\r\n }\r\n\r\n addSilentError(error: any) {\r\n this.makeLogForServiceDesk(error);\r\n }\r\n\r\n makeLogForServiceDesk(errorMessage) {\r\n const timeStamp = new Date();\r\n const url = window.location.href;\r\n const error = errorMessage.message ? errorMessage.message : errorMessage.toString();\r\n\r\n this.archivedErrors.push({ timeStamp, url, error } as ServiceDeskError);\r\n }\r\n\r\n getRecentErrors() {\r\n return this.errors;\r\n }\r\n\r\n getAllErrors() {\r\n return this.archivedErrors;\r\n }\r\n}\r\n\r\nexport interface ServiceDeskError {\r\n timeStamp: Date;\r\n url: string;\r\n error: string;\r\n}\r\n","import { catchError, filter, of, tap } from 'rxjs';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MsalBroadcastService } from '@azure/msal-angular';\r\nimport { EventMessage, EventType } from '@azure/msal-browser';\r\nimport { environment } from '@environment';\r\n\r\nimport {\r\n sectionsGeneric,\r\n sectionsOnboarding,\r\n sectionsReconciliations,\r\n sectionsStaging,\r\n sectionsSupplying,\r\n sectionsTrading,\r\n} from '../Constants/main-dashboard-sections.constants';\r\n\r\nconst domainApis = {\r\n trading: {\r\n name: 'trading',\r\n apis: [\r\n {\r\n name: 'Timeseries',\r\n url: environment.getTradingApiUrl() + '/timeseries' + '/hello',\r\n },\r\n {\r\n name: 'Deals',\r\n url: environment.getTradingApiUrl() + '/deal' + '/hello',\r\n },\r\n {\r\n name: 'Preliminary Purchase',\r\n url: environment.getTradingApiUrl() + '/preliminarypurchase' + '/hello',\r\n },\r\n {\r\n name: 'Allocation',\r\n url: environment.getTradingApiUrl() + '/allocation' + '/hello',\r\n },\r\n {\r\n name: 'Forecast',\r\n url: environment.getTradingApiUrl() + '/forecast' + '/hello',\r\n },\r\n ],\r\n },\r\n onboarding: { name: 'onboarding', apis: [] },\r\n reconciliation: {\r\n name: 'reconciliation',\r\n apis: [\r\n {\r\n name: 'Allocation Progresses',\r\n url: environment.getReconciliationApiUrl() + '/allocation-progresses' + '/is-alive',\r\n },\r\n ],\r\n },\r\n supplying: { name: 'supplying', apis: [] },\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MsalBasedAuthorizationService {\r\n constructor(private broadcastService: MsalBroadcastService, private http: HttpClient) {}\r\n\r\n get authorizationListener$(): any {\r\n return this.broadcastService.msalSubject$.pipe(\r\n filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS || msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS),\r\n tap((result) => this.storeMinimalApiToken(result.payload)),\r\n tap((result) => this.storeOperationsApiToken(result.payload)),\r\n tap((result) => this.storeReconciliationApiToken(result.payload)),\r\n );\r\n }\r\n\r\n initializeMinimalApis = () =>\r\n Object.values(domainApis).map(\r\n (d: any) =>\r\n d.apis.length &&\r\n this.http\r\n .get(d.apis[0]?.url)\r\n .pipe(catchError((e) => of(null)))\r\n .subscribe(),\r\n );\r\n\r\n isTradingAuthorized = () => this.isAuthorized(domainApis.trading.name, this.getRolesFromMinimalApi());\r\n\r\n isOnboardingAuthorized = () => this.isAuthorized(domainApis.onboarding.name, this.getRolesFromMinimalApi());\r\n\r\n isReconciliationAuthorized = () => this.isAuthorized(domainApis.reconciliation.name, this.getRolesFromReconciliationApi());\r\n\r\n isAuthorized = (moduleName, roles) => roles && roles.some((r) => r?.toLowerCase()?.includes(moduleName.toLowerCase()));\r\n\r\n hasReconciliationRole = (role) => this.hasRole(role, this.getRolesFromReconciliationApi());\r\n\r\n hasRole = (role, roles) => roles && roles.some((r) => r?.toLowerCase() === role.toLowerCase());\r\n\r\n getRolesFromMinimalApi = () => (this.getMinimalApiMsalToken() ? decodedJwt(this.getMinimalApiMsalToken())?.roles : []);\r\n\r\n getRolesFromReconciliationApi = () => (this.getReconciliationApiMsalToken() ? decodedJwt(this.getReconciliationApiMsalToken())?.roles : []);\r\n\r\n getOperationsApiMsalToken = () => localStorage.getItem('msal_token');\r\n\r\n getMinimalApiMsalToken = () => localStorage.getItem('msal_token_minimalapi');\r\n\r\n getReconciliationApiMsalToken = () => localStorage.getItem('msal_token_reconciliation');\r\n\r\n // DEBUG SHOW ALL SECTIONS\r\n // allowedSections = () => [...sectionsGeneric, ...sectionsSupplying, ...sectionsOnboarding, ...sectionsTrading, ...sectionsReconciliations, ...sectionsStaging];\r\n\r\n allowedSections = () => [\r\n ...sectionsGeneric,\r\n ...sectionsSupplying,\r\n ...(this.isOnboardingAuthorized() ? sectionsOnboarding : []),\r\n ...(this.isTradingAuthorized() ? sectionsTrading : []),\r\n ...(this.isReconciliationAuthorized() ? sectionsReconciliations : []),\r\n ...(!environment.production ? sectionsStaging : []),\r\n ];\r\n\r\n private storeMinimalApiToken(payload) {\r\n if (!payload) return;\r\n // scopes:['api://minimalapi/user_impersonation', 'api://minimalapi/.default']\r\n const isMinimalApiToken = payload.scopes.some((i) => i.includes('minimalapi'));\r\n if (isMinimalApiToken) {\r\n localStorage.setItem('msal_token_minimalapi', payload.accessToken);\r\n }\r\n }\r\n\r\n private storeOperationsApiToken(payload) {\r\n if (!payload) return;\r\n const isOperationApiToken = payload.scopes.some((i) => i.includes('nieuwestroomapiservice'));\r\n // scopes:['https://nieuwestroomapiservice-staging.azurewebsites.net/user_impersonation']\r\n if (isOperationApiToken) {\r\n localStorage.setItem('msal_token', payload.accessToken);\r\n }\r\n }\r\n\r\n private storeReconciliationApiToken(payload) {\r\n if (!payload) return;\r\n const isReconciliationApiToken = payload.scopes.some((i) => i.includes('reconciliation'));\r\n // scopes:['api://reconciliation[-dev][-stage].dashboard.api/dashboard']\r\n if (isReconciliationApiToken) {\r\n localStorage.setItem('msal_token_reconciliation', payload.accessToken);\r\n }\r\n }\r\n}\r\n\r\nconst decodedJwt = (token) => {\r\n const base64Url = token.split('.')[1];\r\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n const jsonPayload = decodeURIComponent(\r\n window\r\n .atob(base64)\r\n .split('')\r\n .map((c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))\r\n .join(''),\r\n );\r\n return JSON.parse(jsonPayload);\r\n};\r\n","import { catchError, map, Observable, of, throwError } from 'rxjs';\r\n\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '@environment';\r\n\r\nimport { RECONCILATIONS_CONFIG } from '../Dashboards/Reconciliations/reconciliations-config';\r\nimport { AllocationProgressLV } from '../ServiceModels/AllocationProgressLV';\r\nimport { AllocationProgressLVDetailSeriesVVV } from '../ServiceModels/AllocationProgressLVDetailSeriesVVV';\r\nimport { ProcessedConnectionByVVV } from '../ServiceModels/ProcessedConnectionByVVV';\r\nimport { ErrorService } from '../Services/error.service';\r\n\r\nexport const RECONCILIATION_API_URL = () => environment.getReconciliationApiUrl();\r\n\r\nconst ALL_PROCESSED_CONNECTIONS_BY_VVV_BY_ALLOCATION_PROGRESS_ID_URL =\r\n RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.processedConnectionsByVVV.allocationProgresses.item.base;\r\nconst ALL_VALID_PROCESSED_CONNECTIONS_BY_VVV_BY_VALID_ALLOCATION_PROGRESS_ID_URL =\r\n RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.processedConnectionsByVVV.allocationProgresses.item.valid;\r\nconst SINGLE_PROCESSED_CONNECTION_BY_VVV_URL = RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.processedConnectionsByVVV.item;\r\nconst SINGLE_PROCESSED_CONNECTION_BY_VVV_EXTERNAL_REFERENCE_BY_ALLOCATION_PROGRESS_CONNECTION_EAN_URL =\r\n RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.processedConnectionsByVVV.allocationProgresses.item.connections.item.externalReference;\r\nconst SINGLE_PROCESSED_CONNECTION_BY_VVV_IS_PROCESSED_BY_ALLOCATION_PROGRESS_CONNECTION_EAN_URL =\r\n RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.processedConnectionsByVVV.allocationProgresses.item.connections.item.isCorrected;\r\n\r\nconst ALL_ALLOCATION_PROGRESSES_URL = RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.allocationProgresses.all;\r\nconst ALL_VALID_ALLOCATION_PROGRESSES_URL = RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.allocationProgresses.allValid;\r\nconst SINGLE_ALLOCATION_PROGRESS_URL = RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.allocationProgresses.item.base;\r\nconst SINGLE_ALLOCATION_PROGRESS_EXTERNAL_REFERENCE_URL =\r\n RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.allocationProgresses.item.externalReference;\r\n\r\nconst SINGLE_ALLOCATION_PROGRESS_DETAIL_SERIES_VVV_BY_ALLOCATION_PROGRESS_ID_URL =\r\n RECONCILIATION_API_URL() + RECONCILATIONS_CONFIG.baseApiUrls.allocationProgressLVDetailSeriesVVV.allocationProgresses.item.base;\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ReconciliationAllocationService {\r\n headers: HttpHeaders;\r\n options: any;\r\n\r\n constructor(private readonly http: HttpClient, private readonly errorService: ErrorService) {\r\n this.headers = new HttpHeaders({ 'Content-Type': 'application/json', accept: 'q=0.8;application/json;q=0.9' });\r\n this.options = { headers: this.headers };\r\n }\r\n\r\n getService(url: string): Observable {\r\n return this.http.get(url, this.options).pipe(catchError((e) => this.handleServiceError(e)));\r\n }\r\n\r\n getSearchService(url: string, params: { offset: string; limit: string; search: string; isCorrected: string }) {\r\n this.options.params = params;\r\n return this.http.get(url, this.options).pipe(catchError((e) => this.handleServiceError(e)));\r\n }\r\n\r\n updateService(url: string): Observable {\r\n return this.http.put(url, this.options).pipe(catchError((e) => this.handleServiceError(e)));\r\n }\r\n\r\n updateServiceWithParam(url: string, param: any): Observable {\r\n const body = JSON.stringify(param);\r\n return this.http.put(url, body, this.options).pipe(catchError((e) => this.handleServiceError(e)));\r\n }\r\n\r\n public updateAllocationProgressExternalReferenceById(id: string, externalReference: string): Observable {\r\n const url = SINGLE_ALLOCATION_PROGRESS_EXTERNAL_REFERENCE_URL.replace('{0}', id.toString());\r\n return this.updateServiceWithParam(url, externalReference);\r\n }\r\n\r\n public updateProcessedConnectionsByVVVExternalReferenceByAllocationProgressConnectionEan(\r\n allocationProgressId: string,\r\n connectionEan: string,\r\n externalReference: string,\r\n ): Observable {\r\n const url = SINGLE_PROCESSED_CONNECTION_BY_VVV_EXTERNAL_REFERENCE_BY_ALLOCATION_PROGRESS_CONNECTION_EAN_URL.replace(\r\n '{0}',\r\n allocationProgressId.toString(),\r\n ).replace('{1}', connectionEan.toString());\r\n return this.updateServiceWithParam(url, externalReference);\r\n }\r\n\r\n public updateProcessedConnectionsByVVVIsCorrectedByAllocationProgressConnectionEan(\r\n allocationProgressId: string,\r\n connectionEan: string,\r\n isCorrected: boolean,\r\n ): Observable {\r\n const url = SINGLE_PROCESSED_CONNECTION_BY_VVV_IS_PROCESSED_BY_ALLOCATION_PROGRESS_CONNECTION_EAN_URL.replace(\r\n '{0}',\r\n allocationProgressId.toString(),\r\n )\r\n .replace('{1}', connectionEan.toString())\r\n .replace('{2}', isCorrected.toString());\r\n return this.updateService(url);\r\n }\r\n\r\n getAllProcessedConnectionsByVVVByAllocationProgressId(allocationProgressId: string): Observable {\r\n const url = ALL_PROCESSED_CONNECTIONS_BY_VVV_BY_ALLOCATION_PROGRESS_ID_URL.replace('{0}', allocationProgressId.toString());\r\n const result = this.getService(url).pipe(\r\n catchError(() => of([])),\r\n map((response) => {\r\n //Apparantly we chose not to make it an error is an empty array 'object' is returned.\r\n //But to create an errorlogging, we check for the empty object and return an error if empty === true.\r\n if (Object.keys(response).length === 0) {\r\n this.errorService.addSilentError('Geen detail VVVs gevonden.');\r\n return response;\r\n }\r\n\r\n return (response as any[]).map((responseItem: ProcessedConnectionByVVV) => ProcessedConnectionByVVV.readObject(responseItem));\r\n }),\r\n catchError((err) => err),\r\n );\r\n\r\n return result as Observable;\r\n }\r\n\r\n getAllValidProcessedConnectionsByVVVByValidAllocationProgressId(allocationProgressId: string): Observable {\r\n const url = ALL_VALID_PROCESSED_CONNECTIONS_BY_VVV_BY_VALID_ALLOCATION_PROGRESS_ID_URL.replace('{0}', allocationProgressId.toString());\r\n const result = this.getService(url).pipe(\r\n catchError(() => of([])),\r\n map((response) => {\r\n //Apparantly we chose not to make it an error is an empty array 'object' is returned.\r\n //But to create an errorlogging, we check for the empty object and return an error if empty === true.\r\n if (Object.keys(response).length === 0) {\r\n this.errorService.addSilentError('Geen detail VVVs gevonden.');\r\n return response;\r\n }\r\n\r\n return (response as any[]).map((responseItem: ProcessedConnectionByVVV) => ProcessedConnectionByVVV.readObject(responseItem));\r\n }),\r\n catchError((err) => err),\r\n );\r\n\r\n return result as Observable;\r\n }\r\n\r\n getAllAllocationProgressesForVVV(): Observable {\r\n const url = ALL_ALLOCATION_PROGRESSES_URL;\r\n const result = this.getService(url).pipe(\r\n catchError(() => of([])),\r\n map((response) => {\r\n //Apparantly we chose not to make it an error if an empty array 'object' is returned.\r\n //But to create an errorlogging, we check for the empty object and return an error if empty === true.\r\n if (Object.keys(response).length === 0) {\r\n this.errorService.addSilentError(`Geen VVVs gevonden.`);\r\n return response;\r\n } else {\r\n return (response as any[]).map((responseItem: AllocationProgressLV) => AllocationProgressLV.readObject(responseItem));\r\n }\r\n }),\r\n catchError((err) => err),\r\n );\r\n\r\n return result as Observable;\r\n }\r\n\r\n getAllValidAllocationProgressesForVVV(): Observable {\r\n const url = ALL_VALID_ALLOCATION_PROGRESSES_URL;\r\n const result = this.getService(url).pipe(\r\n catchError(() => of([])),\r\n map((response) => {\r\n //Apparantly we chose not to make it an error if an empty array 'object' is returned.\r\n //But to create an errorlogging, we check for the empty object and return an error if empty === true.\r\n if (Object.keys(response).length === 0) {\r\n this.errorService.addSilentError(`Geen VVVs gevonden.`);\r\n return response;\r\n } else {\r\n return (response as any[]).map((responseItem: AllocationProgressLV) => AllocationProgressLV.readObject(responseItem));\r\n }\r\n }),\r\n catchError((err) => err),\r\n );\r\n\r\n return result as Observable;\r\n }\r\n\r\n getProcessedConnectionVVVById(id: string): Observable {\r\n const url = SINGLE_PROCESSED_CONNECTION_BY_VVV_URL.replace('{0}', id.toString());\r\n\r\n const result = this.getService(url).pipe(\r\n catchError(() => of(undefined)),\r\n map((responseItem) => {\r\n //Apparantly we chose not to make it an error is an empty 'object' is returned.\r\n //But to create an errorlogging, we check for the empty object and return an error if empty === true.\r\n if (responseItem === undefined) {\r\n this.errorService.addSilentError('VVV detail item niet gevonden.');\r\n return responseItem;\r\n } else {\r\n return ProcessedConnectionByVVV.readObject(responseItem);\r\n }\r\n }),\r\n catchError((err) => err),\r\n );\r\n\r\n return result as Observable;\r\n }\r\n\r\n getAllocationProgressById(id: string): Observable {\r\n const url = SINGLE_ALLOCATION_PROGRESS_URL.replace('{0}', id.toString());\r\n\r\n const result = this.getService(url).pipe(\r\n catchError(() => of(undefined)),\r\n map((responseItem: any) => {\r\n //Apparantly we chose not to make it an error is an empty 'object' is returned.\r\n //But to create an errorlogging, we check for the empty object and return an error if empty === true.\r\n if (responseItem === undefined) {\r\n this.errorService.addSilentError('VVV niet gevonden.');\r\n return responseItem;\r\n } else {\r\n return AllocationProgressLV.readObject(responseItem);\r\n }\r\n }),\r\n catchError((err) => err),\r\n );\r\n\r\n return result as Observable;\r\n }\r\n\r\n getAllocationProgressDetailSeriesVVVByAllocationProgressId(allocationProgressId: string): Observable {\r\n const url = SINGLE_ALLOCATION_PROGRESS_DETAIL_SERIES_VVV_BY_ALLOCATION_PROGRESS_ID_URL.replace('{0}', allocationProgressId.toString());\r\n\r\n const result = this.getService(url).pipe(\r\n catchError(() => of(undefined)),\r\n map((responseItem: any) => {\r\n //Apparantly we chose not to make it an error is an empty 'object' is returned.\r\n //But to create an errorlogging, we check for the empty object and return an error if empty === true.\r\n if (responseItem === undefined) {\r\n this.errorService.addSilentError('VVV json data niet gevonden.');\r\n return responseItem;\r\n } else {\r\n return AllocationProgressLVDetailSeriesVVV.readObject(responseItem);\r\n }\r\n }),\r\n catchError((err) => err),\r\n );\r\n\r\n return result as Observable;\r\n }\r\n\r\n private handleServiceError(error: any): Observable {\r\n const statusMessage = error.status ? `${error.status}${error.statusText ? ` - ${error.statusText}` : ''}` : '';\r\n\r\n const generalErrors = error?.error?.errors?.generalErrors ?? error?.error?.message ?? error?.message;\r\n\r\n const errMsg = generalErrors || statusMessage ? `${JSON.stringify(generalErrors)}${statusMessage ? ` : ${statusMessage}` : ''}` : 'Server error';\r\n\r\n this.errorService.addSilentError(errMsg);\r\n\r\n return throwError(() => new Error(errMsg));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\n\r\nimport { ConnectionComponent } from './Components/ConnectionComponent/ConnectionComponent';\r\nimport { ContractStateComponent } from './Components/ContractStateComponent/ContractStateComponent';\r\nimport { CustomerComponent } from './Components/CustomerComponent/CustomerComponent';\r\nimport { IssueComponent } from './Components/IssueComponent/IssueComponent';\r\nimport { LoginComponent } from './Components/login.component';\r\nimport { MinimalApiTestComponent } from './Components/minimal-api-test/minimal-api-test.component';\r\nimport { NotFoundComponent } from './Components/not-found/not-found.component';\r\nimport { AcmDashboard } from './Dashboards/AcmDashboard/AcmDashboard';\r\nimport { AdminDashboardComponent } from './Dashboards/admin-dashboard/admin-dashboard.component';\r\nimport { ContractStateDashboard } from './Dashboards/ContractStateDashboard/ContractStateDashboard';\r\nimport { CustomerDashboard } from './Dashboards/CustomerDashboard/CustomerDashboard';\r\nimport { EdmDashboardComponent } from './Dashboards/edm-dashboard/edm-dashboard.component';\r\nimport { ExternalDossierDashboardComponent } from './Dashboards/external-dossier-dashboard/external-dossier-dashboard.component';\r\nimport { HomeDashboardComponent } from './Dashboards/home-dashboard/home-dashboard.component';\r\nimport { IssuesDashboard } from './Dashboards/Issues/IssuesDashboard';\r\nimport { ProcessDashboard } from './Dashboards/ProcessDashboard/ProcessDashboard';\r\nimport { reconciliationsRoutes } from './Dashboards/Reconciliations/reconciliations.routes';\r\nimport { SearchDashboard } from './Dashboards/search-dashboard/search-dashboard.component';\r\nimport { StyleguideComponent } from './Dashboards/styleguide/styleguide.component';\r\nimport { TranslationDashboard } from './Dashboards/TranslationDashboard/TranslationDashboard';\r\nimport { TranslationDashboardEdit } from './Dashboards/TranslationDashboard/TranslationDashboardEdit';\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'home-dashboard', pathMatch: 'full' },\r\n {\r\n path: 'home-dashboard',\r\n component: HomeDashboardComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n { path: 'acm-dashboard', component: AcmDashboard, canActivate: [MsalGuard] },\r\n {\r\n path: 'search-dashboard',\r\n component: SearchDashboard,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'issues-dashboard',\r\n component: IssuesDashboard,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'edm-dashboard',\r\n component: EdmDashboardComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'process-dashboard',\r\n component: ProcessDashboard,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'external-dossier-dashboard',\r\n component: ExternalDossierDashboardComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n { path: 'login', component: LoginComponent, canActivate: [MsalGuard] },\r\n {\r\n path: 'connection/:connectionid',\r\n component: ConnectionComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'connection/:connectionid/issue/:issueid',\r\n component: IssueComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n // { path: 'connection/:connectionid/customer/:customerid', component: CustomerComponent, canActivate: [MsalGuard] },\r\n {\r\n path: 'contract-state-dashboard',\r\n component: ContractStateDashboard,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'contractstate/:contractstateid',\r\n component: ContractStateComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'customer-dashboard',\r\n component: CustomerDashboard,\r\n canActivate: [MsalGuard],\r\n },\r\n { path: 'admin', component: AdminDashboardComponent, canActivate: [MsalGuard] },\r\n {\r\n path: 'customer/:customerId',\r\n component: CustomerComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'translation',\r\n component: TranslationDashboard,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'translation/:translationDomainName/:name',\r\n component: TranslationDashboardEdit,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'translation/create',\r\n component: TranslationDashboardEdit,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'styleguide',\r\n component: StyleguideComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'not-found',\r\n component: NotFoundComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: 'contract-state-transitioning',\r\n loadChildren: () =>\r\n import('./modules/contract-state-transitioning/contract-state-transitioning.module').then((m) => m.ContractStateTransitioningModule),\r\n },\r\n {\r\n path: 'timeseries',\r\n canActivate: [MsalGuard],\r\n loadChildren: () => import('./modules/timeserie/timeserie.module').then((m) => m.TimeserieModule),\r\n },\r\n {\r\n path: 'trading',\r\n canActivate: [MsalGuard],\r\n loadChildren: () => import('./modules/trading/trading.module').then((m) => m.TradingModule),\r\n },\r\n {\r\n path: 'minimalapitest',\r\n component: MinimalApiTestComponent,\r\n },\r\n {\r\n path: 'customerportal',\r\n loadChildren: () => import('./modules/customer-portal-helper/customer-portal-helper.module').then((m) => m.CustomerPortalHelperModule),\r\n },\r\n ...reconciliationsRoutes,\r\n {\r\n // default -> if not found, then...\r\n path: '**',\r\n redirectTo: 'not-found',\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n useHash: false,\r\n }),\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Settings as LuxonSettings } from 'luxon';\r\nimport moment from 'moment-timezone';\r\nimport { Observable, Subject, Subscription } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\n\r\nimport { Overlay, OverlayConfig } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { Location, registerLocaleData } from '@angular/common';\r\nimport localeNl from '@angular/common/locales/nl';\r\nimport { Component, Inject, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { DateAdapter } from '@angular/material/core';\r\nimport { Router } from '@angular/router';\r\nimport { MSAL_GUARD_CONFIG, MsalBroadcastService, MsalCustomNavigationClient, MsalGuardConfiguration, MsalService } from '@azure/msal-angular';\r\nimport { AuthenticationResult, InteractionStatus, PopupRequest, RedirectRequest } from '@azure/msal-browser';\r\nimport { environment } from '@environment';\r\n\r\nimport { Tenant } from './Connection';\r\nimport { DEFAULT_TIMEZONE } from './constants';\r\nimport { MainDashBoardSection } from './Constants/main-dashboard-sections.constants';\r\nimport { ErrorService } from './Services/error.service';\r\nimport { ErrorService as ErrorServiceLegacy } from './services/ErrorService';\r\nimport { MsalBasedAuthorizationService } from './Services/msal-based-authorization.service';\r\nimport { NotificationService } from './services/notification.service';\r\nimport { PingService } from './services/ping.service';\r\nimport { TenantService } from './services/tenant.service';\r\nimport { TranslationFromMemoryOrApiService } from './services/translation-from-memory-or-api.service';\r\n\r\nregisterLocaleData(localeNl);\r\nLuxonSettings.defaultLocale = 'nl';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n connectionError: string;\r\n production: boolean = environment.production;\r\n toggleNavbar = false;\r\n showNavtext = true;\r\n document: any;\r\n form: UntypedFormGroup;\r\n name: string;\r\n allTenantsLists: Tenant[] = [Tenant.NieuweStroom, Tenant.EasyEnergy];\r\n selectedTenant: Tenant[];\r\n selectedtenants: UntypedFormControl;\r\n suggestRefresh = false;\r\n tenantSelected: any; // bouwfout, wel in html niet in ts.\r\n isIframe = false;\r\n loginDisplay = false;\r\n showNotificationCenter = false;\r\n\r\n sections: MainDashBoardSection[];\r\n\r\n productionEnvironment: boolean = environment.production;\r\n\r\n requiredServicesInitialized = false;\r\n\r\n authorizationAndRights$: Observable;\r\n\r\n private subscriptions: Subscription[] = [];\r\n\r\n private connectionTimeout: any;\r\n\r\n private readonly destroying$ = new Subject();\r\n\r\n constructor(\r\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\r\n private authService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService,\r\n private msalBasedAuthorizationService: MsalBasedAuthorizationService,\r\n private router: Router,\r\n private location: Location,\r\n private fb: UntypedFormBuilder,\r\n private overlay: Overlay,\r\n private viewContainerRef: ViewContainerRef,\r\n private tenantService: TenantService,\r\n public legacyErrorService: ErrorServiceLegacy,\r\n private pingService: PingService,\r\n private adapter: DateAdapter,\r\n private notification: NotificationService,\r\n public errorService: ErrorService,\r\n private translations: TranslationFromMemoryOrApiService,\r\n ) {\r\n // Custom navigation set for client-side navigation. See performance doc for details: https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-angular/docs/v2-docs/performance.md\r\n const customNavigationClient = new MsalCustomNavigationClient(authService, this.router, this.location);\r\n this.authService.instance.setNavigationClient(customNavigationClient);\r\n this.adapter.setLocale('nl');\r\n }\r\n\r\n ngOnInit(): void {\r\n this.init();\r\n\r\n // Msal trigger and token saver\r\n this.subscriptions.push(\r\n (this.authorizationAndRights$ = this.msalBasedAuthorizationService.authorizationListener$.pipe(takeUntil(this.destroying$)).subscribe()),\r\n );\r\n this.msalBasedAuthorizationService.initializeMinimalApis();\r\n\r\n // Build sections based on Microsoft Authorization and groups\r\n this.sections = this.msalBasedAuthorizationService.allowedSections();\r\n }\r\n\r\n init = async () => {\r\n this.isIframe = window !== window.parent && !window.opener;\r\n\r\n this.setLoginDisplay();\r\n\r\n this.msalBroadcastService.inProgress$\r\n .pipe(\r\n filter((status: InteractionStatus) => status === InteractionStatus.None),\r\n takeUntil(this.destroying$),\r\n )\r\n .subscribe(() => {\r\n this.setLoginDisplay();\r\n });\r\n\r\n // DEFAULT Timezone is declared hardcoded here\r\n moment.tz.setDefault(DEFAULT_TIMEZONE);\r\n\r\n this.connectionTimeout = setInterval(() => this.checkConnection(), 15000);\r\n\r\n this.form = this.fb.group({\r\n name: this.fb.array([]),\r\n });\r\n\r\n await this.initializeRequiredServices();\r\n };\r\n\r\n initializeRequiredServices = async () => {\r\n this.setDefaultAppTenants();\r\n try {\r\n await this.translations.initializeTranslations();\r\n } catch (e) {\r\n console.error(e);\r\n } finally {\r\n this.requiredServicesInitialized = true;\r\n }\r\n };\r\n\r\n setLoginDisplay() {\r\n this.loginDisplay = this.authService.instance.getAllAccounts().length > 0;\r\n }\r\n\r\n loginRedirect() {\r\n if (this.msalGuardConfig.authRequest) {\r\n this.authService.loginRedirect({\r\n ...this.msalGuardConfig.authRequest,\r\n } as RedirectRequest);\r\n } else {\r\n this.authService.loginRedirect();\r\n }\r\n }\r\n\r\n loginPopup() {\r\n if (this.msalGuardConfig.authRequest) {\r\n this.subscriptions.push(\r\n this.authService.loginPopup({ ...this.msalGuardConfig.authRequest } as PopupRequest).subscribe((response: AuthenticationResult) => {\r\n this.authService.instance.setActiveAccount(response.account);\r\n }),\r\n );\r\n } else {\r\n this.subscriptions.push(\r\n this.authService.loginPopup().subscribe((response: AuthenticationResult) => {\r\n this.authService.instance.setActiveAccount(response.account);\r\n }),\r\n );\r\n }\r\n }\r\n\r\n logout(popup?: boolean) {\r\n if (popup) {\r\n this.authService.logoutPopup({\r\n mainWindowRedirectUri: '/',\r\n });\r\n } else {\r\n this.authService.logoutRedirect();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((s) => s.unsubscribe());\r\n }\r\n\r\n this.destroying$.next(null);\r\n this.destroying$.complete();\r\n\r\n if (this.connectionTimeout) {\r\n clearTimeout(this.connectionTimeout);\r\n }\r\n }\r\n\r\n refresh() {\r\n window.location.reload();\r\n }\r\n\r\n changeTenant(event: any) {\r\n this.selectedTenant = event.value;\r\n this.tenantService.setCurrentTenantsToLocalStorage(this.selectedTenant);\r\n this.suggestRefresh = true;\r\n }\r\n\r\n setDefaultAppTenants() {\r\n //Default we search multitenant. Can change based on user logins.\r\n this.selectedTenant = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n this.selectedtenants = new UntypedFormControl(this.selectedTenant, [Validators.required]);\r\n }\r\n\r\n getTenant(): Tenant[] {\r\n return this.tenantService.getCurrentTenantsFromLocalStorage();\r\n }\r\n\r\n getErrormessages() {\r\n return this.errorService.getRecentErrors().length > 0;\r\n }\r\n\r\n toggleNotificationCenter(show?: boolean) {\r\n this.showNotificationCenter = !this.showNotificationCenter;\r\n }\r\n\r\n closeNotificationCenter() {\r\n this.showNotificationCenter = false;\r\n }\r\n\r\n checkConnection() {\r\n this.pingService\r\n .getPing()\r\n .then(() => {\r\n if (this.connectionError) {\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n if (this.connectionError && !environment.production) {\r\n delete this.connectionError;\r\n } else {\r\n this.connectionError = error;\r\n }\r\n });\r\n }\r\n\r\n openWithTemplate(tpl: TemplateRef) {\r\n const config = new OverlayConfig({\r\n height: '250px',\r\n width: '700px',\r\n hasBackdrop: false,\r\n backdropClass: 'cdk-overlay-dark-backdrop',\r\n positionStrategy: this.overlay.position().global().centerVertically().centerHorizontally(),\r\n });\r\n const overlayRef = this.overlay.create(config);\r\n overlayRef.attach(new TemplatePortal(tpl, this.viewContainerRef));\r\n this.subscriptions.push(overlayRef.backdropClick().subscribe(() => overlayRef.dispose()));\r\n }\r\n\r\n minimizeSideNav = () => {\r\n if (this.showNavtext === false) {\r\n document.getElementById('sidenav').style.width = '250px';\r\n document.getElementById('main').style.marginLeft = '250px';\r\n } else if (this.showNavtext === true) {\r\n document.getElementById('sidenav').style.width = '90px';\r\n document.getElementById('main').style.marginLeft = '90px';\r\n }\r\n // Smooth timeout van text\r\n setTimeout(() => {\r\n this.showNavtext = !this.showNavtext;\r\n }, 400);\r\n };\r\n}\r\n","
\r\n
\r\n

Verbindingsproblemen

\r\n

\r\n Helaas kunnen we geen verbinding krijgen met de Server. Neem contact op\r\n met ICT\r\n

\r\n
\r\n
\r\n\r\n\r\n 0\">\r\n
\r\n \r\n

Fout

\r\n

{{ error }}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{ tenant }}\r\n \r\n
\r\n
\r\n geen tenant\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n Staging\r\n
\r\n\r\n
\r\n
\r\n refresh\r\n
\r\n
\r\n Ververs om op de huidige pagina tenant te wijzigen.\r\n
\r\n
\r\n\r\n
\r\n 0\"\r\n (click)=\"toggleNotificationCenter()\">notifications\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
","import { ChartModule } from 'angular-highcharts';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\n\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { DatePipe } from '@angular/common';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatNativeDateModule, MatOptionModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport {\r\n MSAL_GUARD_CONFIG,\r\n MSAL_INSTANCE,\r\n MSAL_INTERCEPTOR_CONFIG,\r\n MsalBroadcastService,\r\n MsalGuard,\r\n MsalInterceptor,\r\n MsalModule,\r\n MsalRedirectComponent,\r\n MsalService,\r\n} from '@azure/msal-angular';\r\nimport { BrowserCacheLocation, InteractionType, LogLevel, PublicClientApplication } from '@azure/msal-browser';\r\nimport { environment } from '@environment';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { AcmFilterComponent } from './Components/AcmComponent/AcmFilterComponent/AcmFilterComponent';\r\nimport { AcmGraphComponent } from './Components/AcmComponent/AcmGraphComponent/AcmGraphComponent';\r\nimport { AcmReportTableComponent } from './Components/AcmComponent/AcmReportTableComponent/AcmReportTableComponent';\r\nimport { BillingCompletenessComponent } from './Components/AcmComponent/billing-completeness/billing-completeness.component';\r\nimport { AcmCreateReportComponent } from './Components/AcmComponent/Tabs/AcmCreateReportComponent/AcmCreateReportComponent';\r\nimport { AcmReportTabComponent } from './Components/AcmComponent/Tabs/AcmReportTabComponent/AcmReportTabComponent';\r\nimport { AcmSpecificationTabComponent } from './Components/AcmComponent/Tabs/AcmSpecificationTabComponent/AcmSpecificationTabComponent';\r\nimport { EditParameterValueComponent } from './Components/admin/parameter-values/edit-parameter-value/edit-parameter-value.component';\r\nimport { ParameterValuesTableComponent } from './Components/admin/parameter-values/parameter-values-table/parameter-values-table.component';\r\nimport { ParameterValuesComponent } from './Components/admin/parameter-values/parameter-values.component';\r\nimport { ProcessesComponent } from './Components/admin/processes/processes.component';\r\nimport { TriggerProcessComponent } from './Components/admin/trigger-process/trigger-process.component';\r\nimport { ConnectionCapacityListComponent } from './Components/connection-capacity-list/connection-capacity-list.component';\r\nimport { ConnectionEstimatedAnnualProsumptionListComponent } from './Components/connection-estimated-annual-prosumption-list/connection-estimated-annual-prosumption-list.component';\r\nimport { ConnectionMeterListComponent } from './Components/connection-meter-list/connection-meter-list.component';\r\nimport { ConnectionStagingSyncComponent } from './Components/connection-staging-sync/connection-staging-sync.component';\r\nimport { ConnectionComponent } from './Components/ConnectionComponent/ConnectionComponent';\r\nimport { ConnectionInfoComponent } from './Components/ConnectionComponent/Tabs/ConnectionInfoComponent/ConnectionInfoComponent';\r\nimport { ConsumptionWithMeasurementsTabComponent } from './Components/ConnectionComponent/Tabs/consumption-with-measurements-tab/consumption-with-measurements-tab.component';\r\nimport { ConsumptionTabComponent } from './Components/ConnectionComponent/Tabs/ConsumptionTabComponent/ConsumptionTabComponent';\r\nimport { ContractStateTabEntryComponent } from './Components/ConnectionComponent/Tabs/contract-state-tab/contract-state-tab-entry/contract-state-tab-entry.component';\r\nimport { ContractStateTabComponent } from './Components/ConnectionComponent/Tabs/contract-state-tab/contract-state-tab.component';\r\nimport { IssuesProgressTabComponent } from './Components/ConnectionComponent/Tabs/issues-progress-tab/issues-progress-tab.component';\r\nimport { MarketMeasurementsTabComponent } from './Components/ConnectionComponent/Tabs/MarketMeasurementsTabComponent/MarketMeasurementsTabComponent';\r\nimport { MeasurementCommunicationTabComponent } from './Components/ConnectionComponent/Tabs/MeasurementCommunicationTabComponent/MeasurementCommunicationTabComponent';\r\nimport { MeasurementsTabComponent } from './Components/ConnectionComponent/Tabs/MeasurementsTabComponent/MeasurementsTabComponent';\r\nimport { MonitoringTabComponent } from './Components/ConnectionComponent/Tabs/MonitoringTabComponent/MonitoringTabComponent';\r\nimport { TransactionsTabComponent } from './Components/ConnectionComponent/Tabs/TransactionsTabComponent/TransactionsTabComponent';\r\nimport { ConnectionHistoryComponent } from './Components/ConnectionHistoryComponent/ConnectionHistoryComponent';\r\nimport { ConsumptionExportComponent } from './Components/ConsumptionExportComponent/ConsumptionExportComponent';\r\nimport { ClosedDateRangeConsumptionComponent } from './Components/Consumptions/closed-date-range-consumption/closed-date-range-consumption.component';\r\nimport { ConsumptionWithMeasurementsTableComponent } from './Components/Consumptions/consumption-with-measurements-table/consumption-with-measurements-table.component';\r\nimport { EditClosedDateRangeConsumptionComponent } from './Components/Consumptions/edit-closed-date-range-consumption/edit-closed-date-range-consumption.component';\r\nimport { ConsumptionPeriodGraphComponent } from './Components/Consumptions/Graphs/ConsumptionPeriodGraphComponent';\r\nimport { ConsumptionsTableComponent } from './Components/ConsumptionsTableComponent/ConsumptionsTableComponent';\r\nimport { ContractStateTableComponent } from './Components/contract-state-table/contract-state-table.component';\r\nimport { ContractStateComponent } from './Components/ContractStateComponent/ContractStateComponent';\r\nimport { ContractOverviewComponent } from './Components/ContractStateComponent/Tabs/ContractOverviewComponent/ContractOverviewComponent';\r\nimport { ContractStatesAssignee } from './Components/ContractStatesAssignee/ContractStatesAssignee';\r\nimport { ContractStatesResults } from './Components/ContractStatesResults/ContractStatesResults';\r\nimport { ContractStatesStatus } from './Components/ContractStatesStatus/ContractStatesStatus';\r\nimport { ContractStatesStepper } from './Components/ContractStatesStepper/ContractStatesStepper';\r\nimport { CreateConsumptionComponent } from './Components/CreateConsumptionComponent/CreateConsumptionComponent';\r\nimport { CreateMeasurementComponent } from './Components/CreateMeasurementComponent/CreateMeasurementComponent';\r\nimport { CreateMeasurementCustomerComponent } from './Components/CreateMeasurementCustomerComponent/CreateMeasurementCustomerComponent';\r\nimport { CustomerContractStateStepperComponent } from './Components/customer-contract-state-stepper/customer-contract-state-stepper.component';\r\nimport { CustomerComponent } from './Components/CustomerComponent/CustomerComponent';\r\nimport { CustomersListComponent } from './Components/CustomersListComponent/CustomersListComponent';\r\nimport { DatePickerComponent } from './Components/DatePickerComponent/DatePickerComponent';\r\nimport { DropdownButtonComponent } from './Components/dropdown-button/dropdown-button.component';\r\nimport { DropdownTriggerForDirective } from './Components/dropdown-button/dropdown-trigger-for.directive';\r\nimport { ExternalDossierComponent } from './Components/external-dossier/external-dossier.component';\r\nimport { FileUploadComponent } from './Components/file-upload/file-upload.component';\r\nimport { GraphComponent } from './Components/GraphComponent/GraphComponent';\r\nimport { HistoryTableComponent } from './Components/history-table/history-table.component';\r\nimport { IconComponent } from './Components/icon/icon.component';\r\nimport { InfoMessageComponent } from './Components/InfoMessageComponent/InfoMessageComponent';\r\nimport { IssueComponent } from './Components/IssueComponent/IssueComponent';\r\nimport { LoadingComponent } from './Components/LoadingComponent/LoadingComponent';\r\nimport { LoginComponent } from './Components/login.component';\r\nimport { MeasurementDisplayTableComponent } from './Components/measurement-display-table/measurement-display-table.component';\r\nimport { MeasurementsGraphComponent } from './Components/MeasurementsGraphComponent/MeasurementsGraphComponent';\r\nimport { MeasurementsTableComponent } from './Components/MeasurementsTableComponent/MeasurementsTableComponent';\r\nimport { MinimalApiTestComponent } from './Components/minimal-api-test/minimal-api-test.component';\r\nimport { NotFoundComponent } from './Components/not-found/not-found.component';\r\nimport { NotificationCenterComponent } from './Components/notification-center/notification-center.component';\r\nimport { PeriodSelectorComponent } from './Components/period-selector/period-selector.component';\r\nimport { SearchComponent } from './Components/search/search.component';\r\nimport { TranslationComponent } from './Components/translation.component';\r\nimport { AcmDashboard } from './Dashboards/AcmDashboard/AcmDashboard';\r\nimport { AdminDashboardComponent } from './Dashboards/admin-dashboard/admin-dashboard.component';\r\nimport { ContractStateDashboard } from './Dashboards/ContractStateDashboard/ContractStateDashboard';\r\nimport { CustomerDashboard } from './Dashboards/CustomerDashboard/CustomerDashboard';\r\nimport { EdmDashboardComponent } from './Dashboards/edm-dashboard/edm-dashboard.component';\r\nimport { EdsnRegistryEvaluatorComponent } from './Dashboards/edm-dashboard/tabs/edsn-registry-evaluator/edsn-registry-evaluator.component';\r\nimport { ExternalDossierDashboardComponent } from './Dashboards/external-dossier-dashboard/external-dossier-dashboard.component';\r\nimport { HomeDashboardComponent } from './Dashboards/home-dashboard/home-dashboard.component';\r\nimport { IssuesUrlButtonComponent } from './Dashboards/Issues/Components/issues-url-button/issues-url-button.component';\r\nimport { IssueOverviewComponent } from './Dashboards/Issues/IssueOverviewComponent/IssueOverviewComponent';\r\nimport { IssuesDashboard } from './Dashboards/Issues/IssuesDashboard';\r\nimport { IssuesReportComponent } from './Dashboards/Issues/IssuesReportComponent/IssuesReportComponent';\r\nimport { IssuesReportGraphComponent } from './Dashboards/Issues/IssuesReportGraphComponent/IssuesReportGraphComponent';\r\nimport { IssuesReportTableComponent } from './Dashboards/Issues/IssuesReportTableComponent/IssuesReportTableComponent';\r\nimport { ProcessDashboard } from './Dashboards/ProcessDashboard/ProcessDashboard';\r\nimport { reconciliationDeclarations } from './Dashboards/Reconciliations/reconciliations-declarations';\r\nimport { SearchDashboard } from './Dashboards/search-dashboard/search-dashboard.component';\r\nimport { StyleguideComponent } from './Dashboards/styleguide/styleguide.component';\r\nimport { TranslationDashboard } from './Dashboards/TranslationDashboard/TranslationDashboard';\r\nimport { TranslationDashboardEdit } from './Dashboards/TranslationDashboard/TranslationDashboardEdit';\r\nimport { GlobalErrorHandler } from './global-error-handler';\r\nimport { BlobErrorHttpInterceptor } from './helpers/BlobErrorHttpInterceptor';\r\nimport { HttpErrorInterceptor } from './http-error.interceptor';\r\nimport { ApiModule as OnboardingApiModule, Configuration as OnboardingApiConfiguration } from './modules/onboarding-api';\r\nimport { Configuration as OnboardingWelcomeLettersApiConfiguration } from './modules/onboarding-welcomeletters-api';\r\nimport { ApiModule as OperationsApiModule, Configuration as OperationsApiConfiguration } from './modules/operations-api';\r\nimport { SharedModule } from './modules/shared/shared.module';\r\nimport { ApiModule as SupplyingApiModule, Configuration as SupplyingApiConfiguration } from './modules/supplying-api';\r\nimport { ApiModule as TradingApiModule, Configuration as TradingApiConfiguration } from './modules/trading-api';\r\nimport { TradingDealsUiConfiguration } from './modules/trading/classes/trading.dealsui.configuration';\r\nimport { TradingForecastUiConfiguration } from './modules/trading/classes/trading.forecastui.configuration';\r\nimport { AsDatePipe, IsActivePipe, NotActivePipe, ProductTypeFactorPipe, StringOrJsonPipe } from './pipes';\r\nimport { TruncatePipe } from './Pipes/truncate.pipe';\r\nimport { AcmService } from './services/acm.service';\r\nimport { ConnectionService } from './services/connection.service';\r\nimport { ContractStateService } from './services/contract-state.service';\r\nimport { InvoiceService } from './services/invoice.service';\r\nimport { IssueTypeService } from './services/issue-type.service';\r\nimport { IssueService } from './services/issue.service';\r\nimport { SearchHistoryService } from './services/search-history.service';\r\nimport { TotalBalanceService } from './services/total-balance.service';\r\n\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: ['DD-MM-YYYY'],\r\n },\r\n display: {\r\n dateInput: 'DD-MM-YYYY',\r\n monthYearLabel: 'YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY',\r\n },\r\n};\r\n\r\nconst isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\r\n\r\nconst loggerCallback = (logLevel: LogLevel, message: string) => !environment.production; //&& console.log(message);\r\n\r\nconst msalInstanceFactory = () =>\r\n new PublicClientApplication({\r\n auth: {\r\n clientId: environment.msal.clientId,\r\n authority: environment.msal.authority,\r\n navigateToLoginRequestUrl: true,\r\n redirectUri: environment.redirectUrl,\r\n postLogoutRedirectUri: environment.redirectUrl,\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.LocalStorage,\r\n storeAuthStateInCookie: isIE, // set to true for IE 11\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback,\r\n logLevel: environment.production ? LogLevel.Error : LogLevel.Info,\r\n piiLoggingEnabled: false,\r\n },\r\n },\r\n });\r\n\r\nconst msalInterceptorConfigFactory = () => ({\r\n interactionType: InteractionType.Redirect,\r\n protectedResourceMap: environment.msal.protectedResourceMap,\r\n});\r\n\r\nconst msalGuardConfigFactory = () => ({\r\n interactionType: InteractionType.Redirect,\r\n authRequest: {\r\n scope: environment.msal.scopes,\r\n },\r\n});\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n AcmDashboard,\r\n HomeDashboardComponent,\r\n SearchDashboard,\r\n IssuesDashboard,\r\n ContractStateDashboard,\r\n ContractStateComponent,\r\n ContractOverviewComponent,\r\n CustomerDashboard,\r\n EdmDashboardComponent,\r\n ProcessDashboard,\r\n LoginComponent,\r\n SearchComponent,\r\n IconComponent,\r\n DatePickerComponent,\r\n AcmGraphComponent,\r\n AcmFilterComponent,\r\n AcmReportTabComponent,\r\n AcmReportTableComponent,\r\n AcmCreateReportComponent,\r\n AcmSpecificationTabComponent,\r\n ConnectionComponent,\r\n CustomerComponent,\r\n IssueComponent,\r\n IssuesReportGraphComponent,\r\n IssuesReportComponent,\r\n IssuesReportTableComponent,\r\n IssueOverviewComponent,\r\n InfoMessageComponent,\r\n CustomersListComponent,\r\n TransactionsTabComponent,\r\n GraphComponent,\r\n MarketMeasurementsTabComponent,\r\n ConnectionInfoComponent,\r\n ConnectionHistoryComponent,\r\n MeasurementsGraphComponent,\r\n MeasurementsTableComponent,\r\n ConsumptionPeriodGraphComponent,\r\n ConsumptionsTableComponent,\r\n CreateMeasurementComponent,\r\n ConnectionInfoComponent,\r\n MeasurementsTabComponent,\r\n ConsumptionWithMeasurementsTabComponent,\r\n MeasurementCommunicationTabComponent,\r\n MonitoringTabComponent,\r\n ConsumptionTabComponent,\r\n ContractStateTabComponent,\r\n LoadingComponent,\r\n IssuesProgressTabComponent,\r\n FileUploadComponent,\r\n ConsumptionExportComponent,\r\n ContractStatesStatus,\r\n ContractStatesStepper,\r\n ContractStatesResults,\r\n ContractStatesAssignee,\r\n ContractStatesStatus,\r\n ContractStatesResults,\r\n ContractStatesStepper,\r\n ContractStatesAssignee,\r\n CreateMeasurementCustomerComponent,\r\n TranslationDashboard,\r\n TranslationDashboardEdit,\r\n TranslationComponent,\r\n EdsnRegistryEvaluatorComponent,\r\n ConnectionStagingSyncComponent,\r\n BillingCompletenessComponent,\r\n PeriodSelectorComponent,\r\n CreateConsumptionComponent,\r\n ConsumptionWithMeasurementsTableComponent,\r\n CustomerContractStateStepperComponent,\r\n ContractStateTableComponent,\r\n IsActivePipe,\r\n NotActivePipe,\r\n NotActivePipe,\r\n NotificationCenterComponent,\r\n ExternalDossierComponent,\r\n ExternalDossierDashboardComponent,\r\n AdminDashboardComponent,\r\n ParameterValuesComponent,\r\n ProcessesComponent,\r\n TriggerProcessComponent,\r\n ClosedDateRangeConsumptionComponent,\r\n ParameterValuesTableComponent,\r\n EditParameterValueComponent,\r\n AsDatePipe,\r\n StringOrJsonPipe,\r\n TriggerProcessComponent,\r\n EditClosedDateRangeConsumptionComponent,\r\n StyleguideComponent,\r\n DropdownButtonComponent,\r\n DropdownTriggerForDirective,\r\n IssuesUrlButtonComponent,\r\n ContractStateTabEntryComponent,\r\n ConnectionMeterListComponent,\r\n MeasurementDisplayTableComponent,\r\n ConnectionEstimatedAnnualProsumptionListComponent,\r\n ConnectionCapacityListComponent,\r\n MinimalApiTestComponent,\r\n ProductTypeFactorPipe,\r\n NotFoundComponent,\r\n HistoryTableComponent,\r\n TruncatePipe,\r\n ...reconciliationDeclarations,\r\n ],\r\n imports: [\r\n SharedModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n OperationsApiModule,\r\n OnboardingApiModule,\r\n SupplyingApiModule,\r\n TradingApiModule,\r\n HttpClientModule,\r\n FormsModule,\r\n MatCheckboxModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatFormFieldModule,\r\n MatMenuModule,\r\n MatSlideToggleModule,\r\n MatChipsModule,\r\n MatPaginatorModule,\r\n MatSelectModule,\r\n MatOptionModule,\r\n MatDatepickerModule,\r\n MatSnackBarModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatTableModule,\r\n MatNativeDateModule,\r\n ReactiveFormsModule,\r\n NgxPaginationModule,\r\n ChartModule,\r\n OverlayModule,\r\n MsalModule,\r\n ],\r\n providers: [\r\n { provide: ErrorHandler, useClass: GlobalErrorHandler },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpErrorInterceptor,\r\n multi: true,\r\n },\r\n AcmService,\r\n TotalBalanceService,\r\n ConnectionService,\r\n IssueService,\r\n InvoiceService,\r\n IssueTypeService,\r\n ContractStateService,\r\n SearchHistoryService,\r\n { provide: HTTP_INTERCEPTORS, useClass: MsalInterceptor, multi: true },\r\n {\r\n provide: MSAL_INSTANCE,\r\n useFactory: msalInstanceFactory,\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: msalGuardConfigFactory,\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useFactory: msalInterceptorConfigFactory,\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: BlobErrorHttpInterceptor,\r\n multi: true,\r\n },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE],\r\n },\r\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n {\r\n provide: OperationsApiConfiguration,\r\n useFactory: () =>\r\n new OperationsApiConfiguration({\r\n basePath: environment.getOperationsApiUrl(),\r\n withCredentials: false,\r\n }),\r\n },\r\n {\r\n provide: OnboardingApiConfiguration,\r\n useFactory: () =>\r\n new OnboardingApiConfiguration({\r\n basePath: environment.getOnboardingApiUrl(),\r\n withCredentials: false,\r\n }),\r\n },\r\n {\r\n provide: OnboardingWelcomeLettersApiConfiguration,\r\n useFactory: () =>\r\n new OnboardingWelcomeLettersApiConfiguration({\r\n basePath: environment.getOnboardingWelcomeLettersApiUrl(),\r\n withCredentials: false,\r\n }),\r\n },\r\n {\r\n provide: SupplyingApiConfiguration,\r\n useFactory: () =>\r\n new SupplyingApiConfiguration({\r\n basePath: environment.getSupplyingApiUrl(),\r\n withCredentials: false,\r\n }),\r\n },\r\n {\r\n provide: TradingApiConfiguration,\r\n useFactory: () =>\r\n new TradingApiConfiguration({\r\n basePath: environment.getTradingApiUrl(),\r\n withCredentials: false,\r\n }),\r\n },\r\n {\r\n provide: TradingForecastUiConfiguration,\r\n useFactory: () =>\r\n new TradingForecastUiConfiguration({\r\n basePath: environment.getTradingForecastUiUrl(),\r\n }),\r\n },\r\n {\r\n provide: TradingDealsUiConfiguration,\r\n useFactory: () =>\r\n new TradingDealsUiConfiguration({\r\n basePath: environment.getTradingDealsUiUrl(),\r\n }),\r\n },\r\n\r\n TruncatePipe,\r\n DatePipe,\r\n ],\r\n\r\n bootstrap: [AppComponent, MsalRedirectComponent],\r\n})\r\nexport class AppModule {}\r\n","import { DateTime } from 'luxon';\r\n\r\nimport { environment } from '@environment';\r\n\r\nexport const DEFAULT_TIMEZONE = 'Europe/Amsterdam';\r\nexport const MOMENT_DATETIME_API_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\r\nexport const MOMENT_ZONED_DATETIME_API_FORMAT = 'YYYY-MM-DDTHH:mm:ssZ';\r\nexport const MOMENT_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';\r\nexport const MOMENT_DATE_FORMAT = 'YYYY-MM-DD';\r\nexport const LUXON_DATE_FORMAT = 'yyyy-MM-dd';\r\nexport const LUXON_DATETIME_FORMAT = 'yyyy-MM-dd T';\r\nexport const FROM_FORMAT_API_ZONED = \"yyyy-MM-dd'T'HH:mm:ss:SZZ\"; // 2022-07-29T01:30:00+02:00\r\nexport const FROM_FORMAT_API = \"yyyy-MM-dd'T'HH:mm:ss:S\"; // 2022-07-29T01:30:00 // https://github.com/moment/luxon/blob/master/docs/formatting.md\r\nexport const FROM_FORMAT_API_S = \"yyyy-MM-dd'T'HH:mm:ss\";\r\nexport const FROM_FORMAT_API_SZ = \"yyyy-MM-dd'T'HH:mm:ssZZ\";\r\nexport const TODAY_DATE = () => DateTime.now().toFormat(LUXON_DATE_FORMAT);\r\nexport const TODAY_DATETIME = () => DateTime.now().toFormat(LUXON_DATETIME_FORMAT);\r\n\r\nexport const HEADER_FILETYPE = {\r\n XLSX: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n XML: 'application/xml',\r\n};\r\n\r\nexport const DEFINE_URL = () => environment.getOperationsApiUrl() + '/api';\r\nexport const TRADING_API_URL = () => environment.getTradingApiUrl();\r\n","export const NEWLINE = '\\n';\r\nexport const SEPERATOR_COMMA = ',';\r\nexport const SEPERATOR_SEMILCOLON = ';';\r\n\r\nexport enum csvSeperatorType {\r\n SEPERATOR_COMMA = ',',\r\n SEPERATOR_SEMILCOLON = ';',\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { ErrorHandler, Injectable } from '@angular/core';\r\n\r\nimport { ErrorService } from './Services/error.service';\r\nimport { NotificationService } from './services/notification.service';\r\n\r\n// import { LoggingService } from './services/logging.service';\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n // Error handling is important and needs to be loaded first.\r\n // Because of this we should manually inject the services with Injector.\r\n // if the current solution gives problems, with using the constructor, we can go back to using the injector (private injector:Injector)\r\n constructor(private notification: NotificationService, private errorService: ErrorService) {}\r\n\r\n async handleError(error: any): Promise {\r\n let message: string;\r\n let stackTrace: string;\r\n let userMessage: string;\r\n\r\n if (error instanceof HttpErrorResponse) {\r\n // Server Error\r\n message = this.errorService.getServerMessage(error);\r\n stackTrace = await this.errorService.getServerStack(error);\r\n userMessage = message + '\\n' + 'StackTrace: \\n' + stackTrace;\r\n } else if (error instanceof Error) {\r\n // Client Error\r\n message = this.errorService.getClientMessage(error);\r\n stackTrace = this.errorService.getClientStack(error);\r\n userMessage = message;\r\n } else {\r\n // Other Error\r\n message = this.errorService.getServerMessage(error);\r\n stackTrace = await this.errorService.getServerStack(error);\r\n userMessage = message + '\\n' + 'StackTrace: \\n' + stackTrace;\r\n }\r\n\r\n // Log to notification center\r\n this.errorService.addError(error);\r\n\r\n // Feedback to user\r\n this.notification.showError(userMessage);\r\n\r\n // Always log errors\r\n // logger.logError(message, stackTrace);\r\n console.error(error);\r\n }\r\n}\r\n","// import { Moment, relativeTimeRounding } from 'moment-timezone';\r\nimport moment, { Moment } from 'moment';\r\nimport {\r\n Connection,\r\n ConnectionAllocationMethod,\r\n ConnectionMeter,\r\n ConsumptionPerGranularityIntervalId,\r\n CustomerConnection,\r\n Measurement,\r\n Meter,\r\n ProductType,\r\n Prosumption,\r\n Tenant,\r\n} from '../Connection';\r\n\r\nexport class fromConnection {\r\n connection: Connection;\r\n\r\n constructor(connection: Connection) {\r\n this.connection = connection;\r\n }\r\n\r\n public getMeterAndMultiplicationFactors() {\r\n let returnValue = this.connection.ConnectionMeters.map((meter) => {\r\n let meterId: string = meter.ExternalId;\r\n let meterDisplayFactors: Number[] = meter.Meter.MeasurementDisplays.map((display) => display.MultiplicationFactor); // gets all measurementDisplay factors (can be different per tariff)\r\n let meterHasOneFactor: boolean = meterDisplayFactors.every((val, i, arr) => val === arr[0]); // checks if all displays have the same number\r\n let factor: number = meterHasOneFactor ? (meterDisplayFactors[0] as number) : null;\r\n\r\n let meterInfo = {\r\n meterId,\r\n meterDisplayFactors,\r\n meterHasOneFactor: meterHasOneFactor,\r\n factor: factor,\r\n };\r\n return meterInfo;\r\n });\r\n return returnValue;\r\n }\r\n}\r\n\r\nexport class readConnection {\r\n // refactor to for Date\r\n connection: Connection;\r\n date: Moment;\r\n dateIsInTheFuture: boolean;\r\n activeMeterIdsForDate: any; // :MeterId[]; which is a string\r\n activeCustomerIdsForDate: any; // customer numbers\r\n activeTenantsForDate: any; // tenant string/enum\r\n hasMultipleMetersForDate: boolean;\r\n hasMultipleCustomersForDate: boolean;\r\n hasMultipleTenantsForDate: boolean;\r\n changeDetected: boolean; // multiple meters, customers and/or tenants for a day set this.\r\n\r\n constructor(connection: Connection, date: Moment) {\r\n this.connection = connection;\r\n this.date = date;\r\n this.dateIsInTheFuture = date.isAfter(); // Is same or after today\r\n this.getForDate();\r\n this.hasMultipleMetersForDate = this.activeMeterIdsForDate.length > 1 ? true : false;\r\n this.hasMultipleCustomersForDate = this.activeCustomerIdsForDate.length > 1 ? true : false;\r\n this.hasMultipleTenantsForDate = this.activeTenantsForDate.length > 1 ? true : false;\r\n this.changeDetected = this.hasMultipleMetersForDate || this.hasMultipleCustomersForDate || this.hasMultipleTenantsForDate ? true : false;\r\n\r\n // this.debug()\r\n }\r\n // A Connection consist of many more elements we might want to extract, and then parameters might be handier. Like get totalListOf function.\r\n\r\n debug() {\r\n console.log(this.connection);\r\n console.log(this.date);\r\n console.log(this.dateIsInTheFuture);\r\n\r\n console.log(this.activeMeterIdsForDate);\r\n console.log(this.activeCustomerIdsForDate);\r\n console.log(this.activeTenantsForDate);\r\n\r\n console.log(this.hasMultipleMetersForDate);\r\n console.log(this.hasMultipleCustomersForDate);\r\n console.log(this.hasMultipleTenantsForDate);\r\n console.log(this.changeDetected);\r\n }\r\n\r\n public getAllocationMethod() {\r\n let allocationMethod: ConnectionAllocationMethod = null;\r\n return allocationMethod;\r\n }\r\n public getId(): string {\r\n return this.connection.Id;\r\n }\r\n public getProductType(): ProductType {\r\n return this.connection.ProductType;\r\n }\r\n public getMeter() {\r\n let meter: ConnectionMeter = null;\r\n return meter;\r\n }\r\n public getMeterId() {\r\n let meterId: string = '';\r\n return meterId;\r\n }\r\n public getCustomerId() {\r\n let customerId: string = '';\r\n return customerId;\r\n }\r\n public getTenant() {\r\n let tenant: Tenant = Tenant.NieuweStroom;\r\n return tenant;\r\n }\r\n\r\n public getForDate() {\r\n this.activeMeterIdsForDate = [];\r\n this.activeCustomerIdsForDate = [];\r\n this.activeTenantsForDate = [];\r\n\r\n if (this.dateIsInTheFuture) {\r\n // we only push the latest values known.\r\n this.activeMeterIdsForDate.push(this.connection.ConnectionMeters[this.connection.ConnectionMeters.length - 1].ExternalId);\r\n this.activeCustomerIdsForDate.push(this.connection.CustomerConnections[this.connection.CustomerConnections.length - 1].Customer.Id);\r\n this.activeTenantsForDate.push(Tenant[this.connection.CustomerConnections[this.connection.CustomerConnections.length - 1].Customer.Tenant]);\r\n } else {\r\n //Iterate through CustomerConnection Object using intervals\r\n this.connection.CustomerConnections.map((customer) => {\r\n let start = customer.Interval.From != null ? customer.Interval.From.format('YYYY-MM-DD') : null;\r\n let end = customer.Interval.Until != null ? customer.Interval.Until.format('YYYY-MM-DD') : null;\r\n\r\n if (start == null) {\r\n console.log('Start is null, shouldnot be');\r\n }\r\n\r\n if (start == this.date.format('YYYY-MM-DD') || end == this.date.format('YYYY-MM-DD')) {\r\n // console.log('Date happens on an start and/or end date of an interval') // e.g it's supply/installation/meterchange/disassembly/etc\r\n this.activeCustomerIdsForDate.push(customer.Customer.Id);\r\n this.activeTenantsForDate.push(Tenant[customer.Customer.Tenant]);\r\n }\r\n if (end == null) {\r\n // console.log('Date falls in current active meter')\r\n if (this.date.isAfter(start)) {\r\n this.activeCustomerIdsForDate.push(customer.Customer.Id);\r\n this.activeTenantsForDate.push(Tenant[customer.Customer.Tenant]);\r\n }\r\n }\r\n\r\n if (this.date.isBetween(start, end)) {\r\n // console.log('Date fals in between this interval')\r\n this.activeTenantsForDate.push(Tenant[customer.Customer.Tenant]);\r\n this.activeCustomerIdsForDate.push(customer.Customer.Id);\r\n }\r\n });\r\n\r\n this.connection.ConnectionMeters.map((meter) => {\r\n let start = meter.Interval.From != null ? meter.Interval.From.format('YYYY-MM-DD') : null;\r\n let end = meter.Interval.Until != null ? meter.Interval.Until.format('YYYY-MM-DD') : null;\r\n\r\n if (start == null) {\r\n console.log('Start is null, shouldnot be');\r\n }\r\n\r\n if (start == this.date.format('YYYY-MM-DD') || end == this.date.format('YYYY-MM-DD')) {\r\n // console.log('Date happens on an start and/or end date of an interval') // e.g it's supply/installation/meterchange/disassembly/etc\r\n this.activeMeterIdsForDate.push(meter.ExternalId);\r\n }\r\n if (end == null) {\r\n // console.log('Date falls in current active meter')\r\n if (this.date.isAfter(start)) this.activeMeterIdsForDate.push(meter.ExternalId);\r\n }\r\n\r\n // If date falls between start and end (not accounting for the hits, hence above), push\r\n if (this.date.isBetween(start, end)) {\r\n // console.log('Date fals in between this interval')\r\n this.activeMeterIdsForDate.push(meter.ExternalId);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public getTotalListOf(parameter: ListParameter) {\r\n // Gets a list of all available parameters, such as customerIds of connection, meterIds of connection\r\n // (is less overhead, yet setting parameters might be even faster, since three calls are required now, instead of 1)\r\n let list: any = [];\r\n if (parameter == undefined || parameter == null) {\r\n return console.log('Geen beschikbare parameter');\r\n }\r\n if (!(parameter == ListParameter.Tenant || parameter == ListParameter.CustomerId || parameter == ListParameter.MeterId)) {\r\n return console.log('Nog niet geïmplementeerd beschikbare parameter');\r\n }\r\n //generically get a list of all element in this connection for this parameter\r\n switch (parameter) {\r\n case ListParameter.Tenant:\r\n list = this.connection.CustomerConnections.map((customer) => Tenant[customer.Customer.Tenant]);\r\n break;\r\n case ListParameter.MeterId:\r\n list = this.connection.ConnectionMeters.map((meter) => meter.ExternalId);\r\n break;\r\n case ListParameter.CustomerId:\r\n list = this.connection.CustomerConnections.map((customer) => customer.Customer.Id);\r\n break;\r\n default:\r\n list;\r\n break;\r\n }\r\n return list;\r\n }\r\n}\r\n\r\nexport enum ListParameter {\r\n MeterId = 'MeterId',\r\n CustomerId = 'CustomerId',\r\n Tenant = 'Tenant',\r\n Customer = 'Customer',\r\n // Id = \"Id\",\r\n // AllocationMethod = \"AllocationMethod\",\r\n // Meter = \"Meter\",\r\n\r\n // Contact = \"Contact\",\r\n // Profile = \"Profile\",\r\n // Cluster = \"Cluster\",\r\n}\r\n","function groupByAndMap(input, func, mapper) {\r\n let tempMap = {};\r\n input.reduce(function (rv, x) {\r\n var funcResult = func(x);\r\n (tempMap[funcResult] = tempMap[funcResult] || []).push(x);\r\n }, {});\r\n let retMap = {};\r\n Object.entries(tempMap).forEach(([key, value]) => {\r\n retMap[key] = mapper(value);\r\n });\r\n return retMap;\r\n}\r\nexport function groupBy(input, func, mapper?) {\r\n if (mapper !== null && mapper !== undefined) return groupByAndMap(input, func, mapper);\r\n let retMap = {};\r\n input.reduce(function (rv, x) {\r\n var funcResult = func(x);\r\n (retMap[funcResult] = retMap[funcResult] || []).push(x);\r\n }, {});\r\n return retMap;\r\n}\r\n\r\nexport function entries(map) {\r\n return Object.entries(map).map((a) => {\r\n return { key: a[0], value: a[1] };\r\n });\r\n}\r\nexport function asList(map) {\r\n //for each key in map => add to retList map[key]\r\n let retList = [];\r\n Object.entries(map).forEach(([key, value]) => {\r\n retList.push(value);\r\n });\r\n return retList;\r\n}\r\n\r\nexport function last(list: any[]) {\r\n return list.length == 0 ? null : list[list.length - 1];\r\n}\r\n\r\nexport function mergeObjectsInUnique(array: T[], property: any): T[] {\r\n const newArray = new Map();\r\n\r\n array.forEach((item: T) => {\r\n const propertyValue = item[property];\r\n newArray.has(propertyValue) ? newArray.set(propertyValue, { ...item, ...newArray.get(propertyValue) }) : newArray.set(propertyValue, item);\r\n });\r\n\r\n return Array.from(newArray.values());\r\n}\r\n\r\nexport function uniqueItemsOfArray(array) {\r\n //let unique :any = [...new Set(mapOfForecastDays)]; // https://stackoverflow.com/questions/33464504/using-spread-syntax-and-new-set-with-typescript\r\n let unique = array.filter((v, i, a) => a.indexOf(v) === i);\r\n return unique;\r\n}\r\n\r\nexport function isEmptyObject(obj) {\r\n return (\r\n obj && // null and undefined check\r\n Object.keys(obj).length === 0 &&\r\n obj.constructor === Object\r\n );\r\n}\r\n\r\nexport const concatNotNullArrays = (...arrays) => [].concat(...arrays.filter(Array.isArray));\r\n\r\nexport const groupbykey = (xs, key) =>\r\n Object.values(\r\n xs.reduce(\r\n (acc, x) =>\r\n Object.assign({}, acc, {\r\n [x[key]]: (acc[x[key]] || []).concat(x),\r\n }),\r\n {},\r\n ),\r\n );\r\n","export class BlobCreateHelper {\r\n public static downloadCSV(filename, csvData) {\r\n // make blob and file to download\r\n let blob = new Blob(['\\ufeff' + csvData], {\r\n type: 'text/csv;charset=utf-8;',\r\n });\r\n let dwldLink = document.createElement('a');\r\n let url = URL.createObjectURL(blob);\r\n let isSafariBrowser = navigator.userAgent.indexOf('Safari') != -1;\r\n navigator.userAgent.indexOf('Chrome') == -1;\r\n if (isSafariBrowser) {\r\n dwldLink.setAttribute('target', '_blank');\r\n }\r\n dwldLink.setAttribute('href', url);\r\n dwldLink.setAttribute('download', filename + '.csv');\r\n dwldLink.style.visibility = 'hidden';\r\n document.body.appendChild(dwldLink);\r\n dwldLink.click();\r\n document.body.removeChild(dwldLink);\r\n }\r\n\r\n public static downloadJson(filename, jsonData) {\r\n // make blob and file to download\r\n let blob = new Blob(['\\ufeff' + jsonData], {\r\n type: 'text/json;charset=utf-8;',\r\n });\r\n let dwldLink = document.createElement('a');\r\n let url = URL.createObjectURL(blob);\r\n let isSafariBrowser = navigator.userAgent.indexOf('Safari') != -1;\r\n navigator.userAgent.indexOf('Chrome') == -1;\r\n if (isSafariBrowser) {\r\n dwldLink.setAttribute('target', '_blank');\r\n }\r\n dwldLink.setAttribute('href', url);\r\n dwldLink.setAttribute('download', filename + '.json');\r\n dwldLink.style.visibility = 'hidden';\r\n document.body.appendChild(dwldLink);\r\n dwldLink.click();\r\n document.body.removeChild(dwldLink);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class BlobErrorHttpInterceptor implements HttpInterceptor {\r\n public intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(req).pipe(\r\n catchError((err) => {\r\n if (err instanceof HttpErrorResponse && err.error instanceof Blob && err.error.type === 'application/json') {\r\n // https://github.com/angular/angular/issues/19888\r\n // When request of type Blob, the error is also in Blob instead of object of the json data\r\n return new Promise((resolve, reject) => {\r\n let reader = new FileReader();\r\n reader.onload = (e: Event) => {\r\n try {\r\n const errmsg = JSON.parse((e.target).result);\r\n reject(\r\n new HttpErrorResponse({\r\n error: errmsg,\r\n headers: err.headers,\r\n status: err.status,\r\n statusText: err.statusText,\r\n url: err.url,\r\n }),\r\n );\r\n } catch (e) {\r\n reject(err);\r\n }\r\n };\r\n reader.onerror = (e) => {\r\n reject(err);\r\n };\r\n reader.readAsText(err.error);\r\n });\r\n }\r\n return throwError(err);\r\n }),\r\n );\r\n }\r\n}\r\n","import { HttpResponse } from '@angular/common/http';\r\nimport { saveAs } from 'file-saver';\r\n\r\nexport class BlobResponseHelper {\r\n public static downloadFile(response: HttpResponse) {\r\n const contentDisposition = response.headers.get('content-disposition');\r\n const fileName = this.getFileNameFromContentDisposition(contentDisposition);\r\n saveAs(response.body, fileName);\r\n }\r\n\r\n private static getFileNameFromContentDisposition(contentDisposition: string): string {\r\n try {\r\n return contentDisposition\r\n .split(';')\r\n .find((n) => n.includes('filename='))\r\n .replace('filename=', '')\r\n .replace(/\\\"/g, '')\r\n .trim();\r\n } catch {\r\n return 'unknown file name';\r\n }\r\n }\r\n}\r\n","export function StringToEnum(type: T, str: string): T[keyof T] {\r\n return type[str as keyof T];\r\n}\r\n","import { Moment } from 'moment-timezone';\r\n\r\nimport { Measurement } from '../Connection';\r\n\r\nexport function groupByTariff(input, func) {\r\n let retMap = {};\r\n input.reduce(function (rv, x) {\r\n var funcResult = func(x);\r\n (retMap[funcResult] = retMap[funcResult] || []).push(x);\r\n }, {});\r\n return retMap;\r\n}\r\n\r\nexport function getMoment(measurement: Measurement, momentType: MeasurementMomentType): Moment {\r\n switch (momentType) {\r\n case MeasurementMomentType.Timestamp:\r\n return measurement.Id.Timestamp === null ? measurement.Id.Date.moment() : measurement.Id.Timestamp.moment;\r\n\r\n case MeasurementMomentType.ModifiedTimestamp:\r\n return measurement.Id.ModifiedTimestamp.moment;\r\n\r\n default:\r\n throw new Error('Unsupported type for retrieving moment from measurement');\r\n }\r\n}\r\n\r\nexport const getValueForComparison = (measurement: Measurement, momentType: MeasurementMomentType) => getMoment(measurement, momentType).valueOf();\r\n\r\nexport const compareAscendingByDateOrTimestamp = (a: Measurement, b: Measurement) => compare(a, b, true, MeasurementMomentType.Timestamp);\r\n\r\nexport const compareDescendingByModifiedTimestamp = (a: Measurement, b: Measurement) => compare(a, b, false, MeasurementMomentType.ModifiedTimestamp);\r\n\r\nexport function compare(a: Measurement, b: Measurement, ascending: boolean, momentType: MeasurementMomentType): number {\r\n return (getValueForComparison(a, momentType) - getValueForComparison(b, momentType)) * (ascending ? 1 : -1);\r\n}\r\n\r\nexport function inferDeletedFromMeasurements(measurements: Measurement[]): Measurement[] {\r\n let hasEncounteredDeletedMeasurement = false;\r\n\r\n let measurementsDescendingByModifiedTimestamp = [...measurements].sort(compareDescendingByModifiedTimestamp);\r\n measurementsDescendingByModifiedTimestamp.forEach((measurement) => {\r\n if (hasEncounteredDeletedMeasurement) {\r\n measurement.Deleted = true;\r\n } else {\r\n hasEncounteredDeletedMeasurement = hasEncounteredDeletedMeasurement || measurement.Deleted;\r\n }\r\n });\r\n\r\n return measurements;\r\n}\r\n\r\nexport enum MeasurementMomentType {\r\n Timestamp,\r\n ModifiedTimestamp,\r\n}\r\n","\r\n\r\nimport { Connection, Measurement, ProductType, Prosumption } from '../Connection';\r\n\r\nexport function makeMeasurementListViewModel(measurements: Measurement[], connection?: Connection) {\r\n // naming to transformMeasurementToMeterReading ?\r\n if (measurements.length == 0) {\r\n return;\r\n }\r\n\r\n let product: ProductType = measurements[0].ProductType;\r\n\r\n let DbToBusinessFactor = product == ProductType.Electricity ? 1000 : 1000000;\r\n\r\n for (const m of measurements) {\r\n\r\n let prosumption = m.Prosumption;\r\n\r\n m.Prosumption != null && m.Prosumption.Consumption != null && m.Prosumption.Consumption != 0\r\n ? (prosumption.Consumption = Math.round(m.Prosumption.Consumption / (DbToBusinessFactor)))\r\n : m.Prosumption.Consumption;\r\n m.Prosumption != null && m.Prosumption.Production != null && m.Prosumption.Production != 0\r\n ? (prosumption.Production = Math.round(m.Prosumption.Production / (DbToBusinessFactor)))\r\n : m.Prosumption.Production;\r\n }\r\n // we have altered the prosumption from the measurement, hence we do not return anything\r\n}\r\n\r\nexport function makeConsumptionListViewModel(consumptions: any) {\r\n // This transforms the Watts and CM3s stored in Cassandra to a desired kWh and m3 value based on productType\r\n if (consumptions == undefined || consumptions.length == 0) {\r\n return;\r\n } //\"Geen consumpties om te transformeren.\" }\r\n let product: ProductType = consumptions[0].ProductType;\r\n let DbToBusinessFactor = product == ProductType.Electricity ? 1000 : 1000000;\r\n\r\n for (const c of consumptions) {\r\n // kan korter ish.\r\n // change the original\r\n let prosumption = c.Prosumption;\r\n\r\n c.Prosumption != null && c.Prosumption.Consumption != null && c.Prosumption.Consumption.Quantity != null\r\n ? (prosumption.Consumption.Quantity = c.Prosumption.Consumption.Quantity / DbToBusinessFactor)\r\n : c.Prosumption.Consumption;\r\n c.Prosumption != null && c.Prosumption.Consumption != null && c.Prosumption.Consumption.QuantityMeasured != null\r\n ? (prosumption.Consumption.QuantityMeasured = c.Prosumption.Consumption.QuantityMeasured / DbToBusinessFactor)\r\n : c.Prosumption.Consumption;\r\n c.Prosumption != null && c.Prosumption.Consumption != null && c.Prosumption.Consumption.Cost != null\r\n ? (prosumption.Consumption.Cost = c.Prosumption.Consumption.Cost / DbToBusinessFactor)\r\n : c.Prosumption.Consumption;\r\n c.Prosumption != null && c.Prosumption.Production != null && c.Prosumption.Production.Quantity != null\r\n ? (prosumption.Production.Quantity = c.Prosumption.Production.Quantity / DbToBusinessFactor)\r\n : c.Prosumption.Production;\r\n c.Prosumption != null && c.Prosumption.Production != null && c.Prosumption.Production.QuantityMeasured != null\r\n ? (prosumption.Production.QuantityMeasured = c.Prosumption.Production.QuantityMeasured / DbToBusinessFactor)\r\n : c.Prosumption.Production;\r\n c.Prosumption != null && c.Prosumption.Production != null && c.Prosumption.Production.Cost != null\r\n ? (prosumption.Production.Cost = c.Prosumption.Production.Cost / DbToBusinessFactor)\r\n : c.Prosumption.Production;\r\n // add unit, but breaks the consumptions definition in connection.ts\r\n }\r\n}\r\n","import { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { ErrorService } from './services/ErrorService';\r\n\r\n@Injectable()\r\nexport class HttpErrorInterceptor implements HttpInterceptor {\r\n constructor(private errorService: ErrorService) {}\r\n\r\n // when using a catchError operator in a service, returning a default value, this behavior (throwing an error via (global)errorhandler) will be skipped.\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(\r\n catchError((error: any) => {\r\n if (error instanceof HttpErrorResponse) {\r\n console.error(error);\r\n }\r\n\r\n if (error instanceof HttpErrorResponse) {\r\n // handle HTTP errors\r\n switch (error.status) {\r\n case 401:\r\n this.errorService.addError('Het token is verlopen herlaad de pagina');\r\n break;\r\n case 403:\r\n this.errorService.addError('Geen rechten voor deze actie');\r\n break;\r\n }\r\n }\r\n return throwError(() => error);\r\n }),\r\n ) as Observable>;\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\r\nimport { Configuration } from './configuration';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { ConnectionActivationsService } from './api/connectionActivations.service';\r\nimport { ThirdPartySalesService } from './api/thirdPartySales.service';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: [],\r\n providers: []\r\n})\r\nexport class ApiModule {\r\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\r\n return {\r\n ngModule: ApiModule,\r\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\r\n };\r\n }\r\n\r\n constructor( @Optional() @SkipSelf() parentModule: ApiModule,\r\n @Optional() http: HttpClient) {\r\n if (parentModule) {\r\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\r\n }\r\n if (!http) {\r\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\r\n 'See also https://github.com/angular/angular/issues/20575');\r\n }\r\n }\r\n}\r\n","export * from './connectionActivations.service';\r\nimport { ConnectionActivationsService } from './connectionActivations.service';\r\nexport * from './thirdPartySales.service';\r\nimport { ThirdPartySalesService } from './thirdPartySales.service';\r\nexport const APIS = [ConnectionActivationsService, ThirdPartySalesService];\r\n","/**\r\n * NieuweStroom.Onboarding.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ReadGroupResponse } from '../model/readGroupResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectionActivationsService {\r\n\r\n protected basePath = 'http://localhost:56951';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param groupId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public connectionActivationsReadGroup(groupId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public connectionActivationsReadGroup(groupId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public connectionActivationsReadGroup(groupId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public connectionActivationsReadGroup(groupId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (groupId === null || groupId === undefined) {\r\n throw new Error('Required parameter groupId was null or undefined when calling connectionActivationsReadGroup.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/connection-activations/read-group/${encodeURIComponent(String(groupId))}`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * NieuweStroom.Onboarding.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ThirdPartySalesService {\r\n\r\n protected basePath = 'http://localhost:56951';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param saleId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public thirdPartySalesPublishNewSale(saleId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable;\r\n public thirdPartySalesPublishNewSale(saleId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public thirdPartySalesPublishNewSale(saleId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public thirdPartySalesPublishNewSale(saleId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable {\r\n if (saleId === null || saleId === undefined) {\r\n throw new Error('Required parameter saleId was null or undefined when calling thirdPartySalesPublishNewSale.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/third-party-sales/publish-new-sale/${encodeURIComponent(String(saleId))}`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport interface ConfigurationParameters {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials?: {[ key: string ]: string | (() => string | undefined)};\r\n}\r\n\r\nexport class Configuration {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials: {[ key: string ]: string | (() => string | undefined)};\r\n\r\n constructor(configurationParameters: ConfigurationParameters = {}) {\r\n this.apiKeys = configurationParameters.apiKeys;\r\n this.username = configurationParameters.username;\r\n this.password = configurationParameters.password;\r\n this.accessToken = configurationParameters.accessToken;\r\n this.basePath = configurationParameters.basePath;\r\n this.withCredentials = configurationParameters.withCredentials;\r\n this.encoder = configurationParameters.encoder;\r\n if (configurationParameters.credentials) {\r\n this.credentials = configurationParameters.credentials;\r\n }\r\n else {\r\n this.credentials = {};\r\n }\r\n\r\n // init default JWTBearerAuth credential\r\n if (!this.credentials['JWTBearerAuth']) {\r\n this.credentials['JWTBearerAuth'] = () => {\r\n return typeof this.accessToken === 'function'\r\n ? this.accessToken()\r\n : this.accessToken;\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Select the correct content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param contentTypes - the array of content types that are available for selection\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\r\n if (contentTypes.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return contentTypes[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Select the correct accept content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param accepts - the array of content types that are available for selection.\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderAccept(accepts: string[]): string | undefined {\r\n if (accepts.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = accepts.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return accepts[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Check if the given MIME is a JSON MIME.\r\n * JSON MIME examples:\r\n * application/json\r\n * application/json; charset=UTF8\r\n * APPLICATION/JSON\r\n * application/vnd.company+json\r\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\r\n * @return True if the given MIME is JSON, false otherwise.\r\n */\r\n public isJsonMime(mime: string): boolean {\r\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\r\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\r\n }\r\n\r\n public lookupCredential(key: string): string | undefined {\r\n const value = this.credentials[key];\r\n return typeof value === 'function'\r\n ? value()\r\n : value;\r\n }\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\n/**\r\n * Custom HttpParameterCodec\r\n * Workaround for https://github.com/angular/angular/issues/18261\r\n */\r\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\r\n encodeKey(k: string): string {\r\n return encodeURIComponent(k);\r\n }\r\n encodeValue(v: string): string {\r\n return encodeURIComponent(v);\r\n }\r\n decodeKey(k: string): string {\r\n return decodeURIComponent(k);\r\n }\r\n decodeValue(v: string): string {\r\n return decodeURIComponent(v);\r\n }\r\n}\r\n","export * from './api/api';\r\nexport * from './model/models';\r\nexport * from './variables';\r\nexport * from './configuration';\r\nexport * from './api.module';","/**\r\n * NieuweStroom.Onboarding.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContractMutationState = 'Lead' | 'Prospect' | 'Contracted' | 'RevocationTermExpired' | 'PreActivation' | 'Active' | 'Leaving' | 'Inactive';\r\n\r\nexport const ContractMutationState = {\r\n Lead: 'Lead' as ContractMutationState,\r\n Prospect: 'Prospect' as ContractMutationState,\r\n Contracted: 'Contracted' as ContractMutationState,\r\n RevocationTermExpired: 'RevocationTermExpired' as ContractMutationState,\r\n PreActivation: 'PreActivation' as ContractMutationState,\r\n Active: 'Active' as ContractMutationState,\r\n Leaving: 'Leaving' as ContractMutationState,\r\n Inactive: 'Inactive' as ContractMutationState\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Onboarding.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContractStateTransitionSchemeType = 'EasyEnergy' | 'NieuweStroomKv' | 'NieuweStroomGv';\r\n\r\nexport const ContractStateTransitionSchemeType = {\r\n EasyEnergy: 'EasyEnergy' as ContractStateTransitionSchemeType,\r\n NieuweStroomKv: 'NieuweStroomKv' as ContractStateTransitionSchemeType,\r\n NieuweStroomGv: 'NieuweStroomGv' as ContractStateTransitionSchemeType\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Onboarding.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContractStateTransitionState = 'New' | 'Working' | 'Finished' | 'Skipped' | 'Cancelled' | 'Failed' | 'Crashed' | 'IdleOnIssue';\r\n\r\nexport const ContractStateTransitionState = {\r\n New: 'New' as ContractStateTransitionState,\r\n Working: 'Working' as ContractStateTransitionState,\r\n Finished: 'Finished' as ContractStateTransitionState,\r\n Skipped: 'Skipped' as ContractStateTransitionState,\r\n Cancelled: 'Cancelled' as ContractStateTransitionState,\r\n Failed: 'Failed' as ContractStateTransitionState,\r\n Crashed: 'Crashed' as ContractStateTransitionState,\r\n IdleOnIssue: 'IdleOnIssue' as ContractStateTransitionState\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Onboarding.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContractStateTransitionType = 'StopLegacyTransitioningTask' | 'MarketLeadInfoCollectorTask' | 'ContractDetailsValidatorTask' | 'SendContractNotificationForInfoCollectionTask' | 'MarketConnectionInfoCollectorTask' | 'ResumeLegacyTransitioningTask' | 'SendContractNotificationForInfoValidationTask' | 'MarketConnectionInfoValidatorTask' | 'WaitingForConnectionValidationSameContractTask' | 'MarketContractCancellationTask' | 'WaitingForDirectDebitMandateTask' | 'SendWelcomeLetterTask' | 'WaitingForRevocationTermTask' | 'WaitingForApprovedAdvanceInvoiceTask' | 'WaitingForMarketSwitchTermTask' | 'SendMarketSwitchOrMoveInTask' | 'WaitingForActivationDateTask' | 'SendStartDeliveryLetterTask' | 'WaitingForContractCancellationTask' | 'CreateLegacyFollowUpSendAdvanceInvoiceTask' | 'WaitingForStartDeliveryLetterSentTask';\r\n\r\nexport const ContractStateTransitionType = {\r\n StopLegacyTransitioningTask: 'StopLegacyTransitioningTask' as ContractStateTransitionType,\r\n MarketLeadInfoCollectorTask: 'MarketLeadInfoCollectorTask' as ContractStateTransitionType,\r\n ContractDetailsValidatorTask: 'ContractDetailsValidatorTask' as ContractStateTransitionType,\r\n SendContractNotificationForInfoCollectionTask: 'SendContractNotificationForInfoCollectionTask' as ContractStateTransitionType,\r\n MarketConnectionInfoCollectorTask: 'MarketConnectionInfoCollectorTask' as ContractStateTransitionType,\r\n ResumeLegacyTransitioningTask: 'ResumeLegacyTransitioningTask' as ContractStateTransitionType,\r\n SendContractNotificationForInfoValidationTask: 'SendContractNotificationForInfoValidationTask' as ContractStateTransitionType,\r\n MarketConnectionInfoValidatorTask: 'MarketConnectionInfoValidatorTask' as ContractStateTransitionType,\r\n WaitingForConnectionValidationSameContractTask: 'WaitingForConnectionValidationSameContractTask' as ContractStateTransitionType,\r\n MarketContractCancellationTask: 'MarketContractCancellationTask' as ContractStateTransitionType,\r\n WaitingForDirectDebitMandateTask: 'WaitingForDirectDebitMandateTask' as ContractStateTransitionType,\r\n SendWelcomeLetterTask: 'SendWelcomeLetterTask' as ContractStateTransitionType,\r\n WaitingForRevocationTermTask: 'WaitingForRevocationTermTask' as ContractStateTransitionType,\r\n WaitingForApprovedAdvanceInvoiceTask: 'WaitingForApprovedAdvanceInvoiceTask' as ContractStateTransitionType,\r\n WaitingForMarketSwitchTermTask: 'WaitingForMarketSwitchTermTask' as ContractStateTransitionType,\r\n SendMarketSwitchOrMoveInTask: 'SendMarketSwitchOrMoveInTask' as ContractStateTransitionType,\r\n WaitingForActivationDateTask: 'WaitingForActivationDateTask' as ContractStateTransitionType,\r\n SendStartDeliveryLetterTask: 'SendStartDeliveryLetterTask' as ContractStateTransitionType,\r\n WaitingForContractCancellationTask: 'WaitingForContractCancellationTask' as ContractStateTransitionType,\r\n CreateLegacyFollowUpSendAdvanceInvoiceTask: 'CreateLegacyFollowUpSendAdvanceInvoiceTask' as ContractStateTransitionType,\r\n WaitingForStartDeliveryLetterSentTask: 'WaitingForStartDeliveryLetterSentTask' as ContractStateTransitionType\r\n};\r\n\r\n","export * from './contractConnection';\r\nexport * from './contractMutationState';\r\nexport * from './contractState';\r\nexport * from './contractStateTransition';\r\nexport * from './contractStateTransitionSchemeType';\r\nexport * from './contractStateTransitionState';\r\nexport * from './contractStateTransitionType';\r\nexport * from './readGroupResponse';\r\nexport * from './tenant';\r\n","/**\r\n * NieuweStroom.Onboarding.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Tenant = 'NieuweStroom' | 'EasyEnergy';\r\n\r\nexport const Tenant = {\r\n NieuweStroom: 'NieuweStroom' as Tenant,\r\n EasyEnergy: 'EasyEnergy' as Tenant\r\n};\r\n\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const BASE_PATH = new InjectionToken('basePath');\r\nexport const COLLECTION_FORMATS = {\r\n 'csv': ',',\r\n 'tsv': ' ',\r\n 'ssv': ' ',\r\n 'pipes': '|'\r\n}\r\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\r\nimport { Configuration } from './configuration';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { GetAllService } from './api/getAll.service';\r\nimport { GetMostRecentlySentService } from './api/getMostRecentlySent.service';\r\nimport { HelloService } from './api/hello.service';\r\nimport { SendService } from './api/send.service';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: [],\r\n providers: []\r\n})\r\nexport class ApiModule {\r\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\r\n return {\r\n ngModule: ApiModule,\r\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\r\n };\r\n }\r\n\r\n constructor( @Optional() @SkipSelf() parentModule: ApiModule,\r\n @Optional() http: HttpClient) {\r\n if (parentModule) {\r\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\r\n }\r\n if (!http) {\r\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\r\n 'See also https://github.com/angular/angular/issues/20575');\r\n }\r\n }\r\n}\r\n","export * from './getAll.service';\r\nimport { GetAllService } from './getAll.service';\r\nexport * from './getMostRecentlySent.service';\r\nimport { GetMostRecentlySentService } from './getMostRecentlySent.service';\r\nexport * from './hello.service';\r\nimport { HelloService } from './hello.service';\r\nexport * from './send.service';\r\nimport { SendService } from './send.service';\r\nexport const APIS = [GetAllService, GetMostRecentlySentService, HelloService, SendService];\r\n","/**\r\n * NieuweStroom.Onboarding.WelcomeLetters.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ResponseEnvelopeOfGetAllResponse } from '../model/responseEnvelopeOfGetAllResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetAllService {\r\n\r\n protected basePath = 'http://localhost:62080';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param tenantName \r\n * @param onboardingId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetAllEndpoint(tenantName: string, onboardingId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetAllEndpoint(tenantName: string, onboardingId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetAllEndpoint(tenantName: string, onboardingId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetAllEndpoint(tenantName: string, onboardingId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (tenantName === null || tenantName === undefined) {\r\n throw new Error('Required parameter tenantName was null or undefined when calling nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetAllEndpoint.');\r\n }\r\n if (onboardingId === null || onboardingId === undefined) {\r\n throw new Error('Required parameter onboardingId was null or undefined when calling nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetAllEndpoint.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/get-all/${encodeURIComponent(String(tenantName))}/${encodeURIComponent(String(onboardingId))}`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * NieuweStroom.Onboarding.WelcomeLetters.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ResponseEnvelope } from '../model/responseEnvelope';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetMostRecentlySentService {\r\n\r\n protected basePath = 'http://localhost:62080';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param tenantName \r\n * @param onboardingId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetMostRecentlySentEndpoint(tenantName: string, onboardingId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf' | 'application/json', context?: HttpContext}): Observable;\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetMostRecentlySentEndpoint(tenantName: string, onboardingId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf' | 'application/json', context?: HttpContext}): Observable>;\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetMostRecentlySentEndpoint(tenantName: string, onboardingId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf' | 'application/json', context?: HttpContext}): Observable>;\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetMostRecentlySentEndpoint(tenantName: string, onboardingId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/pdf' | 'application/json', context?: HttpContext}): Observable {\r\n if (tenantName === null || tenantName === undefined) {\r\n throw new Error('Required parameter tenantName was null or undefined when calling nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetMostRecentlySentEndpoint.');\r\n }\r\n if (onboardingId === null || onboardingId === undefined) {\r\n throw new Error('Required parameter onboardingId was null or undefined when calling nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetMostRecentlySentEndpoint.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/pdf',\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/get-most-recently-sent/${encodeURIComponent(String(tenantName))}/${encodeURIComponent(String(onboardingId))}`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: \"blob\",\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * NieuweStroom.Onboarding.WelcomeLetters.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HelloService {\r\n\r\n protected basePath = 'http://localhost:62080';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public baseGetHello(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable;\r\n public baseGetHello(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public baseGetHello(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public baseGetHello(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * NieuweStroom.Onboarding.WelcomeLetters.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ResponseEnvelope } from '../model/responseEnvelope';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SendService {\r\n\r\n protected basePath = 'http://localhost:62080';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param tenantName \r\n * @param onboardingId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesSendEndpoint(tenantName: string, onboardingId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesSendEndpoint(tenantName: string, onboardingId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesSendEndpoint(tenantName: string, onboardingId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesSendEndpoint(tenantName: string, onboardingId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (tenantName === null || tenantName === undefined) {\r\n throw new Error('Required parameter tenantName was null or undefined when calling nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesSendEndpoint.');\r\n }\r\n if (onboardingId === null || onboardingId === undefined) {\r\n throw new Error('Required parameter onboardingId was null or undefined when calling nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesSendEndpoint.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/send/${encodeURIComponent(String(tenantName))}/${encodeURIComponent(String(onboardingId))}`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport interface ConfigurationParameters {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials?: {[ key: string ]: string | (() => string | undefined)};\r\n}\r\n\r\nexport class Configuration {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials: {[ key: string ]: string | (() => string | undefined)};\r\n\r\n constructor(configurationParameters: ConfigurationParameters = {}) {\r\n this.apiKeys = configurationParameters.apiKeys;\r\n this.username = configurationParameters.username;\r\n this.password = configurationParameters.password;\r\n this.accessToken = configurationParameters.accessToken;\r\n this.basePath = configurationParameters.basePath;\r\n this.withCredentials = configurationParameters.withCredentials;\r\n this.encoder = configurationParameters.encoder;\r\n if (configurationParameters.credentials) {\r\n this.credentials = configurationParameters.credentials;\r\n }\r\n else {\r\n this.credentials = {};\r\n }\r\n\r\n // init default JWTBearerAuth credential\r\n if (!this.credentials['JWTBearerAuth']) {\r\n this.credentials['JWTBearerAuth'] = () => {\r\n return typeof this.accessToken === 'function'\r\n ? this.accessToken()\r\n : this.accessToken;\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Select the correct content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param contentTypes - the array of content types that are available for selection\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\r\n if (contentTypes.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return contentTypes[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Select the correct accept content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param accepts - the array of content types that are available for selection.\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderAccept(accepts: string[]): string | undefined {\r\n if (accepts.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = accepts.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return accepts[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Check if the given MIME is a JSON MIME.\r\n * JSON MIME examples:\r\n * application/json\r\n * application/json; charset=UTF8\r\n * APPLICATION/JSON\r\n * application/vnd.company+json\r\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\r\n * @return True if the given MIME is JSON, false otherwise.\r\n */\r\n public isJsonMime(mime: string): boolean {\r\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\r\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\r\n }\r\n\r\n public lookupCredential(key: string): string | undefined {\r\n const value = this.credentials[key];\r\n return typeof value === 'function'\r\n ? value()\r\n : value;\r\n }\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\n/**\r\n * Custom HttpParameterCodec\r\n * Workaround for https://github.com/angular/angular/issues/18261\r\n */\r\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\r\n encodeKey(k: string): string {\r\n return encodeURIComponent(k);\r\n }\r\n encodeValue(v: string): string {\r\n return encodeURIComponent(v);\r\n }\r\n decodeKey(k: string): string {\r\n return decodeURIComponent(k);\r\n }\r\n decodeValue(v: string): string {\r\n return decodeURIComponent(v);\r\n }\r\n}\r\n","export * from './api/api';\r\nexport * from './model/models';\r\nexport * from './variables';\r\nexport * from './configuration';\r\nexport * from './api.module';","/**\r\n * NieuweStroom.Onboarding.WelcomeLetters.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface GetAllResponse { \r\n lettersWithOptionalSentOn?: Array;\r\n}\r\n\r\n","export * from './getAllResponse';\r\nexport * from './responseEnvelope';\r\nexport * from './responseEnvelopeOfGetAllResponse';\r\nexport * from './responseEnvelopeOfGetAllResponseAllOf';\r\n","/**\r\n * NieuweStroom.Onboarding.WelcomeLetters.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ResponseEnvelope { \r\n isSuccess?: boolean;\r\n errorMessage?: string | null;\r\n}\r\n\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const BASE_PATH = new InjectionToken('basePath');\r\nexport const COLLECTION_FORMATS = {\r\n 'csv': ',',\r\n 'tsv': ' ',\r\n 'ssv': ' ',\r\n 'pipes': '|'\r\n}\r\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\r\nimport { Configuration } from './configuration';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { AcmService } from './api/acm.service';\r\nimport { AggregationProgressService } from './api/aggregationProgress.service';\r\nimport { AllocationService } from './api/allocation.service';\r\nimport { AllocationMethodComparisonService } from './api/allocationMethodComparison.service';\r\nimport { AreaTemperatureService } from './api/areaTemperature.service';\r\nimport { CertificateOfOriginService } from './api/certificateOfOrigin.service';\r\nimport { CertificateOfOriginConsumptionService } from './api/certificateOfOriginConsumption.service';\r\nimport { ClusterService } from './api/cluster.service';\r\nimport { ClusterConnectionService } from './api/clusterConnection.service';\r\nimport { ClusterConnectionRecommendationService } from './api/clusterConnectionRecommendation.service';\r\nimport { ClusterGroupService } from './api/clusterGroup.service';\r\nimport { ClusterManagementReportService } from './api/clusterManagementReport.service';\r\nimport { ClusterPortfolioService } from './api/clusterPortfolio.service';\r\nimport { CollectedForecastDataService } from './api/collectedForecastData.service';\r\nimport { ConditionService } from './api/condition.service';\r\nimport { ConditionSunService } from './api/conditionSun.service';\r\nimport { ConditionWindService } from './api/conditionWind.service';\r\nimport { ConnectionService } from './api/connection.service';\r\nimport { ConnectionActivationContractService } from './api/connectionActivationContract.service';\r\nimport { ConnectionClusterService } from './api/connectionCluster.service';\r\nimport { ConnectionContractStateService } from './api/connectionContractState.service';\r\nimport { ConnectionEvaluatorService } from './api/connectionEvaluator.service';\r\nimport { ConnectionGroupConsumptionService } from './api/connectionGroupConsumption.service';\r\nimport { ConnectionSubMeterService } from './api/connectionSubMeter.service';\r\nimport { ConsumptionService } from './api/consumption.service';\r\nimport { ConsumptionExportService } from './api/consumptionExport.service';\r\nimport { ConsumptionWithMeasurementsIntervalService } from './api/consumptionWithMeasurementsInterval.service';\r\nimport { ContactService } from './api/contact.service';\r\nimport { ContractStateProvidingService } from './api/contractStateProviding.service';\r\nimport { CurtailmentPartyService } from './api/curtailmentParty.service';\r\nimport { CurtailmentPartyProbabilityService } from './api/curtailmentPartyProbability.service';\r\nimport { CustomerConnectionSendMeasurementCommunicationService } from './api/customerConnectionSendMeasurementCommunication.service';\r\nimport { CustomerProvidingService } from './api/customerProviding.service';\r\nimport { DataTransferMessageService } from './api/dataTransferMessage.service';\r\nimport { DealService } from './api/deal.service';\r\nimport { DealTradingPartyService } from './api/dealTradingParty.service';\r\nimport { EasyEnergyCustomerService } from './api/easyEnergyCustomer.service';\r\nimport { EnumsService } from './api/enums.service';\r\nimport { ExceptionService } from './api/exception.service';\r\nimport { ExternalDossierService } from './api/externalDossier.service';\r\nimport { ExtraMileService } from './api/extraMile.service';\r\nimport { ForecastService } from './api/forecast.service';\r\nimport { ForecasterService } from './api/forecaster.service';\r\nimport { InvoiceService } from './api/invoice.service';\r\nimport { IssueService } from './api/issue.service';\r\nimport { IssueTypeService } from './api/issueType.service';\r\nimport { LocationService } from './api/location.service';\r\nimport { LockService } from './api/lock.service';\r\nimport { MeasurementService } from './api/measurement.service';\r\nimport { MeasurementCommunicationService } from './api/measurementCommunication.service';\r\nimport { MeasurementSourceDetailService } from './api/measurementSourceDetail.service';\r\nimport { MiddlewareService } from './api/middleware.service';\r\nimport { ParameterValueService } from './api/parameterValue.service';\r\nimport { PortalServiceService } from './api/portalService.service';\r\nimport { PortfolioService } from './api/portfolio.service';\r\nimport { PreliminaryPurchaseService } from './api/preliminaryPurchase.service';\r\nimport { PriceService } from './api/price.service';\r\nimport { ProcessProgressService } from './api/processProgress.service';\r\nimport { ProcessStatisticsService } from './api/processStatistics.service';\r\nimport { ProfileService } from './api/profile.service';\r\nimport { PurchaseService } from './api/purchase.service';\r\nimport { QueuedAssetDataService } from './api/queuedAssetData.service';\r\nimport { QueuedAssetProgressService } from './api/queuedAssetProgress.service';\r\nimport { QueuedForecastDataService } from './api/queuedForecastData.service';\r\nimport { QueuedForecastProgressService } from './api/queuedForecastProgress.service';\r\nimport { ReconciliationService } from './api/reconciliation.service';\r\nimport { ResaleClusterService } from './api/resaleCluster.service';\r\nimport { ResaleClusterConnectionService } from './api/resaleClusterConnection.service';\r\nimport { SBPassthroughService } from './api/sBPassthrough.service';\r\nimport { SalesDockService } from './api/salesDock.service';\r\nimport { SolarAssetService } from './api/solarAsset.service';\r\nimport { SustainableMeterDetailService } from './api/sustainableMeterDetail.service';\r\nimport { SyncService } from './api/sync.service';\r\nimport { TimeService } from './api/time.service';\r\nimport { TimeSerieService } from './api/timeSerie.service';\r\nimport { TransactionService } from './api/transaction.service';\r\nimport { TranslationCategoryService } from './api/translationCategory.service';\r\nimport { TwikeyWebhookService } from './api/twikeyWebhook.service';\r\nimport { WindAssetService } from './api/windAsset.service';\r\nimport { XtraMileService } from './api/xtraMile.service';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: [],\r\n providers: []\r\n})\r\nexport class ApiModule {\r\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\r\n return {\r\n ngModule: ApiModule,\r\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\r\n };\r\n }\r\n\r\n constructor( @Optional() @SkipSelf() parentModule: ApiModule,\r\n @Optional() http: HttpClient) {\r\n if (parentModule) {\r\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\r\n }\r\n if (!http) {\r\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\r\n 'See also https://github.com/angular/angular/issues/20575');\r\n }\r\n }\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { AcmReportDeadlinesR } from '../model/acmReportDeadlinesR';\r\n// @ts-ignore\r\nimport { AcmReportR } from '../model/acmReportR';\r\n// @ts-ignore\r\nimport { InvoiceDeadlineDto } from '../model/invoiceDeadlineDto';\r\n// @ts-ignore\r\nimport { InvoiceDeadlineStatisticsDto } from '../model/invoiceDeadlineStatisticsDto';\r\n// @ts-ignore\r\nimport { InvoiceDeadlineType } from '../model/invoiceDeadlineType';\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AcmService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param invoiceType \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesAcmAcmReportGetCsvGet(tenant: Tenant, invoiceType?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiMarketSalesAcmAcmReportGetCsvGet(tenant: Tenant, invoiceType?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmAcmReportGetCsvGet(tenant: Tenant, invoiceType?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmAcmReportGetCsvGet(tenant: Tenant, invoiceType?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiMarketSalesAcmAcmReportGetCsvGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (invoiceType) {\r\n invoiceType.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'invoiceType');\r\n })\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/market/sales/Acm/AcmReport/Get/csv`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param invoiceType \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesAcmAcmReportGetGet(tenant: Tenant, invoiceType?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiMarketSalesAcmAcmReportGetGet(tenant: Tenant, invoiceType?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmAcmReportGetGet(tenant: Tenant, invoiceType?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmAcmReportGetGet(tenant: Tenant, invoiceType?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiMarketSalesAcmAcmReportGetGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (invoiceType) {\r\n invoiceType.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'invoiceType');\r\n })\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/market/sales/Acm/AcmReport/Get`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param productType \r\n * @param invoiceDeadlineType \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesAcmInvoiceDeadlineStatisticsCsvPost(tenant?: Tenant, productType?: ProductType, invoiceDeadlineType?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiMarketSalesAcmInvoiceDeadlineStatisticsCsvPost(tenant?: Tenant, productType?: ProductType, invoiceDeadlineType?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlineStatisticsCsvPost(tenant?: Tenant, productType?: ProductType, invoiceDeadlineType?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlineStatisticsCsvPost(tenant?: Tenant, productType?: ProductType, invoiceDeadlineType?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/market/sales/Acm/InvoiceDeadlineStatistics/Csv`,\r\n invoiceDeadlineType,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param productType \r\n * @param from \r\n * @param invoiceDeadlineType \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesAcmInvoiceDeadlineStatisticsPost(tenant?: Tenant, productType?: ProductType, from?: string, invoiceDeadlineType?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlineStatisticsPost(tenant?: Tenant, productType?: ProductType, from?: string, invoiceDeadlineType?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketSalesAcmInvoiceDeadlineStatisticsPost(tenant?: Tenant, productType?: ProductType, from?: string, invoiceDeadlineType?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketSalesAcmInvoiceDeadlineStatisticsPost(tenant?: Tenant, productType?: ProductType, from?: string, invoiceDeadlineType?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/market/sales/Acm/InvoiceDeadlineStatistics`,\r\n invoiceDeadlineType,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param productType \r\n * @param invoiceDeadlineType \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesAcmInvoiceDeadlinesCsvPost(tenant?: Tenant, productType?: ProductType, invoiceDeadlineType?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiMarketSalesAcmInvoiceDeadlinesCsvPost(tenant?: Tenant, productType?: ProductType, invoiceDeadlineType?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlinesCsvPost(tenant?: Tenant, productType?: ProductType, invoiceDeadlineType?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlinesCsvPost(tenant?: Tenant, productType?: ProductType, invoiceDeadlineType?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/market/sales/Acm/InvoiceDeadlines/Csv`,\r\n invoiceDeadlineType,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param invoiceType \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesAcmInvoiceDeadlinesGetCsvGet(tenant: Tenant, invoiceType?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiMarketSalesAcmInvoiceDeadlinesGetCsvGet(tenant: Tenant, invoiceType?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlinesGetCsvGet(tenant: Tenant, invoiceType?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlinesGetCsvGet(tenant: Tenant, invoiceType?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiMarketSalesAcmInvoiceDeadlinesGetCsvGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (invoiceType) {\r\n invoiceType.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'invoiceType');\r\n })\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/market/sales/Acm/InvoiceDeadlines/Get/csv`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param invoiceType \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesAcmInvoiceDeadlinesGetGet(tenant: Tenant, invoiceType?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiMarketSalesAcmInvoiceDeadlinesGetGet(tenant: Tenant, invoiceType?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlinesGetGet(tenant: Tenant, invoiceType?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlinesGetGet(tenant: Tenant, invoiceType?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiMarketSalesAcmInvoiceDeadlinesGetGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (invoiceType) {\r\n invoiceType.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'invoiceType');\r\n })\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/market/sales/Acm/InvoiceDeadlines/Get`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param productType \r\n * @param from \r\n * @param invoiceDeadlineType \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesAcmInvoiceDeadlinesPost(tenant?: Tenant, productType?: ProductType, from?: string, invoiceDeadlineType?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketSalesAcmInvoiceDeadlinesPost(tenant?: Tenant, productType?: ProductType, from?: string, invoiceDeadlineType?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketSalesAcmInvoiceDeadlinesPost(tenant?: Tenant, productType?: ProductType, from?: string, invoiceDeadlineType?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketSalesAcmInvoiceDeadlinesPost(tenant?: Tenant, productType?: ProductType, from?: string, invoiceDeadlineType?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/market/sales/Acm/InvoiceDeadlines`,\r\n invoiceDeadlineType,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { AggregationProgressRequest } from '../model/aggregationProgressRequest';\r\n// @ts-ignore\r\nimport { AggregationProgressResponse } from '../model/aggregationProgressResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AggregationProgressService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param aggregationProgressRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastAggregationProgressGetPost(aggregationProgressRequest?: AggregationProgressRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastAggregationProgressGetPost(aggregationProgressRequest?: AggregationProgressRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastAggregationProgressGetPost(aggregationProgressRequest?: AggregationProgressRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastAggregationProgressGetPost(aggregationProgressRequest?: AggregationProgressRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/AggregationProgress/Get`,\r\n aggregationProgressRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastAggregationProgressHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastAggregationProgressHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastAggregationProgressHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastAggregationProgressHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/AggregationProgress/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { AllocationType } from '../model/allocationType';\r\n// @ts-ignore\r\nimport { Granularity } from '../model/granularity';\r\n// @ts-ignore\r\nimport { IntervalProsumptionQuantitiesByTariffR } from '../model/intervalProsumptionQuantitiesByTariffR';\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AllocationService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Get the allocation for an EAN/Gridoperator/Profile or summed (total, profile, telemetric)\r\n * @param allocationType EDSN prefixed are the TenneT allocations, calculated is calculated based on profilefraction, SJV and MCF. Assigned is aquired from the \\"kassabonnen\\" if applicable, otherwise from the telemetric allocation.\r\n * @param productType Only electricity for now\r\n * @param tenant Only NieuweStroom supported now\r\n * @param connectionId EAN, this is only valid for assigned, calculated and telemetric allocation and required for assigned and calculated for now\r\n * @param from Supply date from\r\n * @param until Supply date until\r\n * @param granularity \r\n * @param modifiedAfterTimestamp Get all changed since - this works for granularity smaller DAY\r\n * @param gridOperatorId This does not work for calculated and assigned yet\r\n * @param profileId profile code, this does not work for calculated and assigned yet\r\n * @param nett Nett or bruto, Nett is first make every value absolute and then add (e.g. billable volume) and bruto is just adding all values (actual allocation)\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketAllocationsAllocationAllocationTypeProductTypeGet(allocationType: AllocationType, productType: ProductType, tenant?: Tenant, connectionId?: number, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, gridOperatorId?: number, profileId?: string, nett?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketAllocationsAllocationAllocationTypeProductTypeGet(allocationType: AllocationType, productType: ProductType, tenant?: Tenant, connectionId?: number, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, gridOperatorId?: number, profileId?: string, nett?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketAllocationsAllocationAllocationTypeProductTypeGet(allocationType: AllocationType, productType: ProductType, tenant?: Tenant, connectionId?: number, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, gridOperatorId?: number, profileId?: string, nett?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketAllocationsAllocationAllocationTypeProductTypeGet(allocationType: AllocationType, productType: ProductType, tenant?: Tenant, connectionId?: number, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, gridOperatorId?: number, profileId?: string, nett?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (allocationType === null || allocationType === undefined) {\r\n throw new Error('Required parameter allocationType was null or undefined when calling apiMarketAllocationsAllocationAllocationTypeProductTypeGet.');\r\n }\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiMarketAllocationsAllocationAllocationTypeProductTypeGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n if (granularity !== undefined && granularity !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n granularity, 'granularity');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (gridOperatorId !== undefined && gridOperatorId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n gridOperatorId, 'gridOperatorId');\r\n }\r\n if (profileId !== undefined && profileId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n profileId, 'profileId');\r\n }\r\n if (nett !== undefined && nett !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n nett, 'nett');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/market/allocations/Allocation/${encodeURIComponent(String(allocationType))}/${encodeURIComponent(String(productType))}`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AllocationMethodComparisonService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Get the Allocation Method Comparison\r\n * @param customerId KlantNr\r\n * @param connectionId EAN\r\n * @param from Supply date from\r\n * @param until Supply date until\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketAllocationsAllocationMethodComparisonGet(customerId?: string, connectionId?: string, from?: string, until?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiMarketAllocationsAllocationMethodComparisonGet(customerId?: string, connectionId?: string, from?: string, until?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketAllocationsAllocationMethodComparisonGet(customerId?: string, connectionId?: string, from?: string, until?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketAllocationsAllocationMethodComparisonGet(customerId?: string, connectionId?: string, from?: string, until?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (customerId !== undefined && customerId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/market/allocations/AllocationMethodComparison`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","export * from './acm.service';\r\nimport { AcmService } from './acm.service';\r\nexport * from './aggregationProgress.service';\r\nimport { AggregationProgressService } from './aggregationProgress.service';\r\nexport * from './allocation.service';\r\nimport { AllocationService } from './allocation.service';\r\nexport * from './allocationMethodComparison.service';\r\nimport { AllocationMethodComparisonService } from './allocationMethodComparison.service';\r\nexport * from './areaTemperature.service';\r\nimport { AreaTemperatureService } from './areaTemperature.service';\r\nexport * from './certificateOfOrigin.service';\r\nimport { CertificateOfOriginService } from './certificateOfOrigin.service';\r\nexport * from './certificateOfOriginConsumption.service';\r\nimport { CertificateOfOriginConsumptionService } from './certificateOfOriginConsumption.service';\r\nexport * from './cluster.service';\r\nimport { ClusterService } from './cluster.service';\r\nexport * from './clusterConnection.service';\r\nimport { ClusterConnectionService } from './clusterConnection.service';\r\nexport * from './clusterConnectionRecommendation.service';\r\nimport { ClusterConnectionRecommendationService } from './clusterConnectionRecommendation.service';\r\nexport * from './clusterGroup.service';\r\nimport { ClusterGroupService } from './clusterGroup.service';\r\nexport * from './clusterManagementReport.service';\r\nimport { ClusterManagementReportService } from './clusterManagementReport.service';\r\nexport * from './clusterPortfolio.service';\r\nimport { ClusterPortfolioService } from './clusterPortfolio.service';\r\nexport * from './collectedForecastData.service';\r\nimport { CollectedForecastDataService } from './collectedForecastData.service';\r\nexport * from './condition.service';\r\nimport { ConditionService } from './condition.service';\r\nexport * from './conditionSun.service';\r\nimport { ConditionSunService } from './conditionSun.service';\r\nexport * from './conditionWind.service';\r\nimport { ConditionWindService } from './conditionWind.service';\r\nexport * from './connection.service';\r\nimport { ConnectionService } from './connection.service';\r\nexport * from './connectionActivationContract.service';\r\nimport { ConnectionActivationContractService } from './connectionActivationContract.service';\r\nexport * from './connectionCluster.service';\r\nimport { ConnectionClusterService } from './connectionCluster.service';\r\nexport * from './connectionContractState.service';\r\nimport { ConnectionContractStateService } from './connectionContractState.service';\r\nexport * from './connectionEvaluator.service';\r\nimport { ConnectionEvaluatorService } from './connectionEvaluator.service';\r\nexport * from './connectionGroupConsumption.service';\r\nimport { ConnectionGroupConsumptionService } from './connectionGroupConsumption.service';\r\nexport * from './connectionSubMeter.service';\r\nimport { ConnectionSubMeterService } from './connectionSubMeter.service';\r\nexport * from './consumption.service';\r\nimport { ConsumptionService } from './consumption.service';\r\nexport * from './consumptionExport.service';\r\nimport { ConsumptionExportService } from './consumptionExport.service';\r\nexport * from './consumptionWithMeasurementsInterval.service';\r\nimport { ConsumptionWithMeasurementsIntervalService } from './consumptionWithMeasurementsInterval.service';\r\nexport * from './contact.service';\r\nimport { ContactService } from './contact.service';\r\nexport * from './contractStateProviding.service';\r\nimport { ContractStateProvidingService } from './contractStateProviding.service';\r\nexport * from './curtailmentParty.service';\r\nimport { CurtailmentPartyService } from './curtailmentParty.service';\r\nexport * from './curtailmentPartyProbability.service';\r\nimport { CurtailmentPartyProbabilityService } from './curtailmentPartyProbability.service';\r\nexport * from './customerConnectionSendMeasurementCommunication.service';\r\nimport { CustomerConnectionSendMeasurementCommunicationService } from './customerConnectionSendMeasurementCommunication.service';\r\nexport * from './customerProviding.service';\r\nimport { CustomerProvidingService } from './customerProviding.service';\r\nexport * from './dataTransferMessage.service';\r\nimport { DataTransferMessageService } from './dataTransferMessage.service';\r\nexport * from './deal.service';\r\nimport { DealService } from './deal.service';\r\nexport * from './dealTradingParty.service';\r\nimport { DealTradingPartyService } from './dealTradingParty.service';\r\nexport * from './easyEnergyCustomer.service';\r\nimport { EasyEnergyCustomerService } from './easyEnergyCustomer.service';\r\nexport * from './enums.service';\r\nimport { EnumsService } from './enums.service';\r\nexport * from './exception.service';\r\nimport { ExceptionService } from './exception.service';\r\nexport * from './externalDossier.service';\r\nimport { ExternalDossierService } from './externalDossier.service';\r\nexport * from './extraMile.service';\r\nimport { ExtraMileService } from './extraMile.service';\r\nexport * from './forecast.service';\r\nimport { ForecastService } from './forecast.service';\r\nexport * from './forecaster.service';\r\nimport { ForecasterService } from './forecaster.service';\r\nexport * from './invoice.service';\r\nimport { InvoiceService } from './invoice.service';\r\nexport * from './issue.service';\r\nimport { IssueService } from './issue.service';\r\nexport * from './issueType.service';\r\nimport { IssueTypeService } from './issueType.service';\r\nexport * from './location.service';\r\nimport { LocationService } from './location.service';\r\nexport * from './lock.service';\r\nimport { LockService } from './lock.service';\r\nexport * from './measurement.service';\r\nimport { MeasurementService } from './measurement.service';\r\nexport * from './measurementCommunication.service';\r\nimport { MeasurementCommunicationService } from './measurementCommunication.service';\r\nexport * from './measurementSourceDetail.service';\r\nimport { MeasurementSourceDetailService } from './measurementSourceDetail.service';\r\nexport * from './middleware.service';\r\nimport { MiddlewareService } from './middleware.service';\r\nexport * from './parameterValue.service';\r\nimport { ParameterValueService } from './parameterValue.service';\r\nexport * from './portalService.service';\r\nimport { PortalServiceService } from './portalService.service';\r\nexport * from './portfolio.service';\r\nimport { PortfolioService } from './portfolio.service';\r\nexport * from './preliminaryPurchase.service';\r\nimport { PreliminaryPurchaseService } from './preliminaryPurchase.service';\r\nexport * from './price.service';\r\nimport { PriceService } from './price.service';\r\nexport * from './processProgress.service';\r\nimport { ProcessProgressService } from './processProgress.service';\r\nexport * from './processStatistics.service';\r\nimport { ProcessStatisticsService } from './processStatistics.service';\r\nexport * from './profile.service';\r\nimport { ProfileService } from './profile.service';\r\nexport * from './purchase.service';\r\nimport { PurchaseService } from './purchase.service';\r\nexport * from './queuedAssetData.service';\r\nimport { QueuedAssetDataService } from './queuedAssetData.service';\r\nexport * from './queuedAssetProgress.service';\r\nimport { QueuedAssetProgressService } from './queuedAssetProgress.service';\r\nexport * from './queuedForecastData.service';\r\nimport { QueuedForecastDataService } from './queuedForecastData.service';\r\nexport * from './queuedForecastProgress.service';\r\nimport { QueuedForecastProgressService } from './queuedForecastProgress.service';\r\nexport * from './reconciliation.service';\r\nimport { ReconciliationService } from './reconciliation.service';\r\nexport * from './resaleCluster.service';\r\nimport { ResaleClusterService } from './resaleCluster.service';\r\nexport * from './resaleClusterConnection.service';\r\nimport { ResaleClusterConnectionService } from './resaleClusterConnection.service';\r\nexport * from './sBPassthrough.service';\r\nimport { SBPassthroughService } from './sBPassthrough.service';\r\nexport * from './salesDock.service';\r\nimport { SalesDockService } from './salesDock.service';\r\nexport * from './solarAsset.service';\r\nimport { SolarAssetService } from './solarAsset.service';\r\nexport * from './sustainableMeterDetail.service';\r\nimport { SustainableMeterDetailService } from './sustainableMeterDetail.service';\r\nexport * from './sync.service';\r\nimport { SyncService } from './sync.service';\r\nexport * from './time.service';\r\nimport { TimeService } from './time.service';\r\nexport * from './timeSerie.service';\r\nimport { TimeSerieService } from './timeSerie.service';\r\nexport * from './transaction.service';\r\nimport { TransactionService } from './transaction.service';\r\nexport * from './translationCategory.service';\r\nimport { TranslationCategoryService } from './translationCategory.service';\r\nexport * from './twikeyWebhook.service';\r\nimport { TwikeyWebhookService } from './twikeyWebhook.service';\r\nexport * from './windAsset.service';\r\nimport { WindAssetService } from './windAsset.service';\r\nexport * from './xtraMile.service';\r\nimport { XtraMileService } from './xtraMile.service';\r\nexport const APIS = [AcmService, AggregationProgressService, AllocationService, AllocationMethodComparisonService, AreaTemperatureService, CertificateOfOriginService, CertificateOfOriginConsumptionService, ClusterService, ClusterConnectionService, ClusterConnectionRecommendationService, ClusterGroupService, ClusterManagementReportService, ClusterPortfolioService, CollectedForecastDataService, ConditionService, ConditionSunService, ConditionWindService, ConnectionService, ConnectionActivationContractService, ConnectionClusterService, ConnectionContractStateService, ConnectionEvaluatorService, ConnectionGroupConsumptionService, ConnectionSubMeterService, ConsumptionService, ConsumptionExportService, ConsumptionWithMeasurementsIntervalService, ContactService, ContractStateProvidingService, CurtailmentPartyService, CurtailmentPartyProbabilityService, CustomerConnectionSendMeasurementCommunicationService, CustomerProvidingService, DataTransferMessageService, DealService, DealTradingPartyService, EasyEnergyCustomerService, EnumsService, ExceptionService, ExternalDossierService, ExtraMileService, ForecastService, ForecasterService, InvoiceService, IssueService, IssueTypeService, LocationService, LockService, MeasurementService, MeasurementCommunicationService, MeasurementSourceDetailService, MiddlewareService, ParameterValueService, PortalServiceService, PortfolioService, PreliminaryPurchaseService, PriceService, ProcessProgressService, ProcessStatisticsService, ProfileService, PurchaseService, QueuedAssetDataService, QueuedAssetProgressService, QueuedForecastDataService, QueuedForecastProgressService, ReconciliationService, ResaleClusterService, ResaleClusterConnectionService, SBPassthroughService, SalesDockService, SolarAssetService, SustainableMeterDetailService, SyncService, TimeService, TimeSerieService, TransactionService, TranslationCategoryService, TwikeyWebhookService, WindAssetService, XtraMileService];\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { IntervalTemperatureR } from '../model/intervalTemperatureR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AreaTemperatureService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param from \r\n * @param until \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiSystemAreaTemperatureGet(from?: string, until?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiSystemAreaTemperatureGet(from?: string, until?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiSystemAreaTemperatureGet(from?: string, until?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiSystemAreaTemperatureGet(from?: string, until?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/system/AreaTemperature`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CertificateOfOriginR } from '../model/certificateOfOriginR';\r\n// @ts-ignore\r\nimport { Country } from '../model/country';\r\n// @ts-ignore\r\nimport { FuelForm } from '../model/fuelForm';\r\n// @ts-ignore\r\nimport { FuelKind } from '../model/fuelKind';\r\n// @ts-ignore\r\nimport { FuelOrigin } from '../model/fuelOrigin';\r\n// @ts-ignore\r\nimport { FuelOriginDetail } from '../model/fuelOriginDetail';\r\n// @ts-ignore\r\nimport { ProductSource } from '../model/productSource';\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n// @ts-ignore\r\nimport { Status } from '../model/status';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CertificateOfOriginService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param files \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketPurchasesCertificateOfOriginCertiQFilePost(files?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiMarketPurchasesCertificateOfOriginCertiQFilePost(files?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketPurchasesCertificateOfOriginCertiQFilePost(files?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketPurchasesCertificateOfOriginCertiQFilePost(files?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'multipart/form-data'\r\n ];\r\n\r\n const canConsumeForm = this.canConsumeForm(consumes);\r\n\r\n let localVarFormParams: { append(param: string, value: any): any; };\r\n let localVarUseForm = false;\r\n let localVarConvertFormParamsToString = false;\r\n // use FormData to transmit files using content-type \"multipart/form-data\"\r\n // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data\r\n localVarUseForm = canConsumeForm;\r\n if (localVarUseForm) {\r\n localVarFormParams = new FormData();\r\n } else {\r\n localVarFormParams = new HttpParams({encoder: this.encoder});\r\n }\r\n\r\n if (files) {\r\n if (localVarUseForm) {\r\n files.forEach((element) => {\r\n localVarFormParams = localVarFormParams.append('files', element) as any || localVarFormParams;\r\n })\r\n } else {\r\n localVarFormParams = localVarFormParams.append('files', files.join(COLLECTION_FORMATS['csv'])) as any || localVarFormParams;\r\n }\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/market/purchases/CertificateOfOrigin/CertiQFile`,\r\n localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param productType \r\n * @param typeOfSourceUsed \r\n * @param countryWhereTheCOOIsProduced \r\n * @param kindOfFuelUsed \r\n * @param formOfTheFuel \r\n * @param originOfTheFuel \r\n * @param detailsAboutTheOriginOfTheFuel \r\n * @param dateOnWhichTheCOOShouldBeProduced \r\n * @param dateOnWhichTheCOOShouldBeValid \r\n * @param statusOfTheCertificate \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketPurchasesCertificateOfOriginGet(productType?: ProductType, typeOfSourceUsed?: ProductSource, countryWhereTheCOOIsProduced?: Country, kindOfFuelUsed?: FuelKind, formOfTheFuel?: FuelForm, originOfTheFuel?: FuelOrigin, detailsAboutTheOriginOfTheFuel?: FuelOriginDetail, dateOnWhichTheCOOShouldBeProduced?: string, dateOnWhichTheCOOShouldBeValid?: string, statusOfTheCertificate?: Status, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketPurchasesCertificateOfOriginGet(productType?: ProductType, typeOfSourceUsed?: ProductSource, countryWhereTheCOOIsProduced?: Country, kindOfFuelUsed?: FuelKind, formOfTheFuel?: FuelForm, originOfTheFuel?: FuelOrigin, detailsAboutTheOriginOfTheFuel?: FuelOriginDetail, dateOnWhichTheCOOShouldBeProduced?: string, dateOnWhichTheCOOShouldBeValid?: string, statusOfTheCertificate?: Status, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesCertificateOfOriginGet(productType?: ProductType, typeOfSourceUsed?: ProductSource, countryWhereTheCOOIsProduced?: Country, kindOfFuelUsed?: FuelKind, formOfTheFuel?: FuelForm, originOfTheFuel?: FuelOrigin, detailsAboutTheOriginOfTheFuel?: FuelOriginDetail, dateOnWhichTheCOOShouldBeProduced?: string, dateOnWhichTheCOOShouldBeValid?: string, statusOfTheCertificate?: Status, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesCertificateOfOriginGet(productType?: ProductType, typeOfSourceUsed?: ProductSource, countryWhereTheCOOIsProduced?: Country, kindOfFuelUsed?: FuelKind, formOfTheFuel?: FuelForm, originOfTheFuel?: FuelOrigin, detailsAboutTheOriginOfTheFuel?: FuelOriginDetail, dateOnWhichTheCOOShouldBeProduced?: string, dateOnWhichTheCOOShouldBeValid?: string, statusOfTheCertificate?: Status, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n if (typeOfSourceUsed !== undefined && typeOfSourceUsed !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n typeOfSourceUsed, 'Type of source used');\r\n }\r\n if (countryWhereTheCOOIsProduced !== undefined && countryWhereTheCOOIsProduced !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n countryWhereTheCOOIsProduced, 'Country where the COO is produced');\r\n }\r\n if (kindOfFuelUsed !== undefined && kindOfFuelUsed !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n kindOfFuelUsed, 'Kind of fuel used');\r\n }\r\n if (formOfTheFuel !== undefined && formOfTheFuel !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n formOfTheFuel, 'Form of the fuel');\r\n }\r\n if (originOfTheFuel !== undefined && originOfTheFuel !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n originOfTheFuel, 'Origin of the fuel');\r\n }\r\n if (detailsAboutTheOriginOfTheFuel !== undefined && detailsAboutTheOriginOfTheFuel !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n detailsAboutTheOriginOfTheFuel, 'Details about the origin of the fuel');\r\n }\r\n if (dateOnWhichTheCOOShouldBeProduced !== undefined && dateOnWhichTheCOOShouldBeProduced !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dateOnWhichTheCOOShouldBeProduced, 'Date on which the COO should be produced');\r\n }\r\n if (dateOnWhichTheCOOShouldBeValid !== undefined && dateOnWhichTheCOOShouldBeValid !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dateOnWhichTheCOOShouldBeValid, 'Date on which the COO should be valid');\r\n }\r\n if (statusOfTheCertificate !== undefined && statusOfTheCertificate !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n statusOfTheCertificate, 'Status of the certificate');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/market/purchases/CertificateOfOrigin`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CertificateOfOriginConsumptionR } from '../model/certificateOfOriginConsumptionR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CertificateOfOriginConsumptionService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param theIDOfTheCertificate \r\n * @param connectionId \r\n * @param customerId \r\n * @param dataInterval \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketPurchasesCertificateOfOriginConsumptionGet(theIDOfTheCertificate?: string, connectionId?: string, customerId?: string, dataInterval?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketPurchasesCertificateOfOriginConsumptionGet(theIDOfTheCertificate?: string, connectionId?: string, customerId?: string, dataInterval?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesCertificateOfOriginConsumptionGet(theIDOfTheCertificate?: string, connectionId?: string, customerId?: string, dataInterval?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesCertificateOfOriginConsumptionGet(theIDOfTheCertificate?: string, connectionId?: string, customerId?: string, dataInterval?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (theIDOfTheCertificate !== undefined && theIDOfTheCertificate !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n theIDOfTheCertificate, 'The ID of the certificate');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (customerId !== undefined && customerId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/market/purchases/CertificateOfOriginConsumption`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param year \r\n * @param month \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketPurchasesCertificateOfOriginConsumptionXMLGet(year?: number, month?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiMarketPurchasesCertificateOfOriginConsumptionXMLGet(year?: number, month?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketPurchasesCertificateOfOriginConsumptionXMLGet(year?: number, month?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiMarketPurchasesCertificateOfOriginConsumptionXMLGet(year?: number, month?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (year !== undefined && year !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n year, 'Year');\r\n }\r\n if (month !== undefined && month !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n month, 'Month');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/market/purchases/CertificateOfOriginConsumption/XML`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ClusterRequest } from '../model/clusterRequest';\r\n// @ts-ignore\r\nimport { ClusterResponse } from '../model/clusterResponse';\r\n// @ts-ignore\r\nimport { CreateClusterCommand } from '../model/createClusterCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterCommand } from '../model/deleteClusterCommand';\r\n// @ts-ignore\r\nimport { MoveClusterCommand } from '../model/moveClusterCommand';\r\n// @ts-ignore\r\nimport { RequestCluster } from '../model/requestCluster';\r\n// @ts-ignore\r\nimport { ResponseCluster } from '../model/responseCluster';\r\n// @ts-ignore\r\nimport { UpdateClusterCommand } from '../model/updateClusterCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClusterService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param requestCluster \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsClusterGetPost(requestCluster?: RequestCluster, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsClusterGetPost(requestCluster?: RequestCluster, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsClusterGetPost(requestCluster?: RequestCluster, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsClusterGetPost(requestCluster?: RequestCluster, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/assets/Cluster/Get`,\r\n requestCluster,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsClusterHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsClusterHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsClusterHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsClusterHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/Cluster/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterCreatePost(createClusterCommand?: CreateClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastClusterCreatePost(createClusterCommand?: CreateClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterCreatePost(createClusterCommand?: CreateClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterCreatePost(createClusterCommand?: CreateClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Cluster/Create`,\r\n createClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterDeletePost(deleteClusterCommand?: DeleteClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastClusterDeletePost(deleteClusterCommand?: DeleteClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterDeletePost(deleteClusterCommand?: DeleteClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterDeletePost(deleteClusterCommand?: DeleteClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Cluster/Delete`,\r\n deleteClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param clusterRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterGetPost(clusterRequest?: ClusterRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterGetPost(clusterRequest?: ClusterRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterGetPost(clusterRequest?: ClusterRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterGetPost(clusterRequest?: ClusterRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/Cluster/Get`,\r\n clusterRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/Cluster/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param moveClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterMovePost(moveClusterCommand?: MoveClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastClusterMovePost(moveClusterCommand?: MoveClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterMovePost(moveClusterCommand?: MoveClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterMovePost(moveClusterCommand?: MoveClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Cluster/Move`,\r\n moveClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterUpdatePost(updateClusterCommand?: UpdateClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastClusterUpdatePost(updateClusterCommand?: UpdateClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterUpdatePost(updateClusterCommand?: UpdateClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterUpdatePost(updateClusterCommand?: UpdateClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Cluster/Update`,\r\n updateClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ClusterConnectionResponse } from '../model/clusterConnectionResponse';\r\n// @ts-ignore\r\nimport { CreateClusterConnectionCommand } from '../model/createClusterConnectionCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterConnectionCommand } from '../model/deleteClusterConnectionCommand';\r\n// @ts-ignore\r\nimport { UpdateClusterConnectionCommand } from '../model/updateClusterConnectionCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClusterConnectionService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param createClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionCreatePost(createClusterConnectionCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionCreatePost(createClusterConnectionCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionCreatePost(createClusterConnectionCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionCreatePost(createClusterConnectionCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterConnection/Create`,\r\n createClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionDeletePost(deleteClusterConnectionCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionDeletePost(deleteClusterConnectionCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionDeletePost(deleteClusterConnectionCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionDeletePost(deleteClusterConnectionCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterConnection/Delete`,\r\n deleteClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/ClusterConnection/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionUpdatePost(updateClusterConnectionCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionUpdatePost(updateClusterConnectionCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionUpdatePost(updateClusterConnectionCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionUpdatePost(updateClusterConnectionCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterConnection/Update`,\r\n updateClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { AcceptClusterConnectionRecommendationCommand } from '../model/acceptClusterConnectionRecommendationCommand';\r\n// @ts-ignore\r\nimport { ClusterConnectionRecommendationRequest } from '../model/clusterConnectionRecommendationRequest';\r\n// @ts-ignore\r\nimport { ClusterConnectionRecommendationResponse } from '../model/clusterConnectionRecommendationResponse';\r\n// @ts-ignore\r\nimport { CreateClusterConnectionRecommendationCommand } from '../model/createClusterConnectionRecommendationCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterConnectionRecommendationCommand } from '../model/deleteClusterConnectionRecommendationCommand';\r\n// @ts-ignore\r\nimport { IgnoreClusterConnectionRecommendationCommand } from '../model/ignoreClusterConnectionRecommendationCommand';\r\n// @ts-ignore\r\nimport { UpdateClusterConnectionRecommendationCommand } from '../model/updateClusterConnectionRecommendationCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClusterConnectionRecommendationService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param acceptClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionRecommendationAcceptPost(acceptClusterConnectionRecommendationCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionRecommendationAcceptPost(acceptClusterConnectionRecommendationCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationAcceptPost(acceptClusterConnectionRecommendationCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationAcceptPost(acceptClusterConnectionRecommendationCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterConnectionRecommendation/Accept`,\r\n acceptClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionRecommendationCreatePost(createClusterConnectionRecommendationCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionRecommendationCreatePost(createClusterConnectionRecommendationCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationCreatePost(createClusterConnectionRecommendationCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationCreatePost(createClusterConnectionRecommendationCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterConnectionRecommendation/Create`,\r\n createClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionRecommendationDeletePost(deleteClusterConnectionRecommendationCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionRecommendationDeletePost(deleteClusterConnectionRecommendationCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationDeletePost(deleteClusterConnectionRecommendationCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationDeletePost(deleteClusterConnectionRecommendationCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterConnectionRecommendation/Delete`,\r\n deleteClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param clusterConnectionRecommendationRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionRecommendationGetPost(clusterConnectionRecommendationRequest?: ClusterConnectionRecommendationRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionRecommendationGetPost(clusterConnectionRecommendationRequest?: ClusterConnectionRecommendationRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationGetPost(clusterConnectionRecommendationRequest?: ClusterConnectionRecommendationRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationGetPost(clusterConnectionRecommendationRequest?: ClusterConnectionRecommendationRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterConnectionRecommendation/Get`,\r\n clusterConnectionRecommendationRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionRecommendationHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionRecommendationHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/ClusterConnectionRecommendation/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param ignoreClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionRecommendationIgnorePost(ignoreClusterConnectionRecommendationCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionRecommendationIgnorePost(ignoreClusterConnectionRecommendationCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationIgnorePost(ignoreClusterConnectionRecommendationCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationIgnorePost(ignoreClusterConnectionRecommendationCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterConnectionRecommendation/Ignore`,\r\n ignoreClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterConnectionRecommendationUpdatePost(updateClusterConnectionRecommendationCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterConnectionRecommendationUpdatePost(updateClusterConnectionRecommendationCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationUpdatePost(updateClusterConnectionRecommendationCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterConnectionRecommendationUpdatePost(updateClusterConnectionRecommendationCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterConnectionRecommendation/Update`,\r\n updateClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ClusterGroupRequest } from '../model/clusterGroupRequest';\r\n// @ts-ignore\r\nimport { ClusterGroupResponse } from '../model/clusterGroupResponse';\r\n// @ts-ignore\r\nimport { CreateClusterGroupCommand } from '../model/createClusterGroupCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterGroupCommand } from '../model/deleteClusterGroupCommand';\r\n// @ts-ignore\r\nimport { UpdateClusterGroupCommand } from '../model/updateClusterGroupCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClusterGroupService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param createClusterGroupCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterGroupCreatePost(createClusterGroupCommand?: CreateClusterGroupCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastClusterGroupCreatePost(createClusterGroupCommand?: CreateClusterGroupCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterGroupCreatePost(createClusterGroupCommand?: CreateClusterGroupCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterGroupCreatePost(createClusterGroupCommand?: CreateClusterGroupCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/ClusterGroup/Create`,\r\n createClusterGroupCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterGroupCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterGroupDeletePost(deleteClusterGroupCommand?: DeleteClusterGroupCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastClusterGroupDeletePost(deleteClusterGroupCommand?: DeleteClusterGroupCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterGroupDeletePost(deleteClusterGroupCommand?: DeleteClusterGroupCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterGroupDeletePost(deleteClusterGroupCommand?: DeleteClusterGroupCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/ClusterGroup/Delete`,\r\n deleteClusterGroupCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param clusterGroupRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterGroupGetPost(clusterGroupRequest?: ClusterGroupRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterGroupGetPost(clusterGroupRequest?: ClusterGroupRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterGroupGetPost(clusterGroupRequest?: ClusterGroupRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterGroupGetPost(clusterGroupRequest?: ClusterGroupRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterGroup/Get`,\r\n clusterGroupRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterGroupHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterGroupHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterGroupHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterGroupHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/ClusterGroup/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateClusterGroupCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterGroupUpdatePost(updateClusterGroupCommand?: UpdateClusterGroupCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastClusterGroupUpdatePost(updateClusterGroupCommand?: UpdateClusterGroupCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterGroupUpdatePost(updateClusterGroupCommand?: UpdateClusterGroupCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterGroupUpdatePost(updateClusterGroupCommand?: UpdateClusterGroupCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/ClusterGroup/Update`,\r\n updateClusterGroupCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ClusterManagementReportRequest } from '../model/clusterManagementReportRequest';\r\n// @ts-ignore\r\nimport { ClusterManagementReportResponse } from '../model/clusterManagementReportResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClusterManagementReportService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param clusterManagementReportRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterManagementReportGetPost(clusterManagementReportRequest?: ClusterManagementReportRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastClusterManagementReportGetPost(clusterManagementReportRequest?: ClusterManagementReportRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterManagementReportGetPost(clusterManagementReportRequest?: ClusterManagementReportRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterManagementReportGetPost(clusterManagementReportRequest?: ClusterManagementReportRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/ClusterManagementReport/Get`,\r\n clusterManagementReportRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterManagementReportHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterManagementReportHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterManagementReportHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterManagementReportHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/ClusterManagementReport/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ClusterPortfolioResponse } from '../model/clusterPortfolioResponse';\r\n// @ts-ignore\r\nimport { CreateClusterPortfolioCommand } from '../model/createClusterPortfolioCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterPortfolioCommand } from '../model/deleteClusterPortfolioCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClusterPortfolioService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param createClusterPortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterPortfolioCreatePost(createClusterPortfolioCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterPortfolioCreatePost(createClusterPortfolioCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterPortfolioCreatePost(createClusterPortfolioCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterPortfolioCreatePost(createClusterPortfolioCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterPortfolio/Create`,\r\n createClusterPortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterPortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterPortfolioDeletePost(deleteClusterPortfolioCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterPortfolioDeletePost(deleteClusterPortfolioCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterPortfolioDeletePost(deleteClusterPortfolioCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterPortfolioDeletePost(deleteClusterPortfolioCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ClusterPortfolio/Delete`,\r\n deleteClusterPortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastClusterPortfolioHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastClusterPortfolioHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterPortfolioHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastClusterPortfolioHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/ClusterPortfolio/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CollectedForecastDataQueryCommand } from '../model/collectedForecastDataQueryCommand';\r\n// @ts-ignore\r\nimport { CollectedForecastDataResponse } from '../model/collectedForecastDataResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CollectedForecastDataService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastCollectedForecastDataHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastCollectedForecastDataHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastCollectedForecastDataHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastCollectedForecastDataHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/CollectedForecastData/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param collectedForecastDataQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastCollectedForecastDataPost(collectedForecastDataQueryCommand?: CollectedForecastDataQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastCollectedForecastDataPost(collectedForecastDataQueryCommand?: CollectedForecastDataQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastCollectedForecastDataPost(collectedForecastDataQueryCommand?: CollectedForecastDataQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastCollectedForecastDataPost(collectedForecastDataQueryCommand?: CollectedForecastDataQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/CollectedForecastData`,\r\n collectedForecastDataQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { WeatherDeltaConditionResponseDeltaResponse } from '../model/weatherDeltaConditionResponseDeltaResponse';\r\n// @ts-ignore\r\nimport { WeatherPrecipitationWeatherConditionResponseWeatherIntervalWithLocationResponse } from '../model/weatherPrecipitationWeatherConditionResponseWeatherIntervalWithLocationResponse';\r\n// @ts-ignore\r\nimport { WeatherPrecipitationWeatherConditionResponseWeatherLocationWithIntervalResponse } from '../model/weatherPrecipitationWeatherConditionResponseWeatherLocationWithIntervalResponse';\r\n// @ts-ignore\r\nimport { WeatherResponseQueryCommand } from '../model/weatherResponseQueryCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConditionService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param weatherResponseQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/Condition/ByDelta`,\r\n weatherResponseQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param weatherResponseQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/Condition/ByInterval`,\r\n weatherResponseQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param weatherResponseQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/Condition/ByLocation`,\r\n weatherResponseQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionHelloHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionHelloHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionHelloHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionHelloHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Weather/Condition/Hello/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { WeatherConditionSunResponseWeatherIntervalWithLocationResponse } from '../model/weatherConditionSunResponseWeatherIntervalWithLocationResponse';\r\n// @ts-ignore\r\nimport { WeatherConditionSunResponseWeatherLocationWithIntervalResponse } from '../model/weatherConditionSunResponseWeatherLocationWithIntervalResponse';\r\n// @ts-ignore\r\nimport { WeatherDeltaConditionSunResponseDeltaResponse } from '../model/weatherDeltaConditionSunResponseDeltaResponse';\r\n// @ts-ignore\r\nimport { WeatherResponseQueryCommand } from '../model/weatherResponseQueryCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConditionSunService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param weatherResponseQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionSunByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionSunByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionSunByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionSunByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/ConditionSun/ByDelta`,\r\n weatherResponseQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param weatherResponseQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionSunByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionSunByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionSunByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionSunByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/ConditionSun/ByInterval`,\r\n weatherResponseQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param weatherResponseQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionSunByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionSunByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionSunByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionSunByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/ConditionSun/ByLocation`,\r\n weatherResponseQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionSunHelloHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionSunHelloHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionSunHelloHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionSunHelloHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Weather/ConditionSun/Hello/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { WeatherConditionWindResponseWeatherIntervalWithLocationResponse } from '../model/weatherConditionWindResponseWeatherIntervalWithLocationResponse';\r\n// @ts-ignore\r\nimport { WeatherConditionWindResponseWeatherLocationWithIntervalResponse } from '../model/weatherConditionWindResponseWeatherLocationWithIntervalResponse';\r\n// @ts-ignore\r\nimport { WeatherDeltaConditionWindResponseDeltaResponse } from '../model/weatherDeltaConditionWindResponseDeltaResponse';\r\n// @ts-ignore\r\nimport { WeatherResponseQueryCommand } from '../model/weatherResponseQueryCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConditionWindService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param weatherResponseQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionWindByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionWindByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionWindByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionWindByDeltaPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/ConditionWind/ByDelta`,\r\n weatherResponseQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param weatherResponseQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionWindByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionWindByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionWindByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionWindByIntervalPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/ConditionWind/ByInterval`,\r\n weatherResponseQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param weatherResponseQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionWindByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionWindByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionWindByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionWindByLocationPost(weatherResponseQueryCommand?: WeatherResponseQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/ConditionWind/ByLocation`,\r\n weatherResponseQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherConditionWindHelloHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiWeatherConditionWindHelloHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionWindHelloHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherConditionWindHelloHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Weather/ConditionWind/Hello/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { HttpClient, HttpEvent, HttpHeaders, HttpParameterCodec, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\n\r\nimport { Configuration } from '../configuration';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { ConnectionContractR, ConnectionR, ProductType, Tenant } from '../model/models';\r\nimport { BASE_PATH } from '../variables';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectionService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Connections\r\n * @param connectionId EAN\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionConnectionIdGet(connectionId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable;\r\n public apiAssetsConnectionConnectionIdGet(connectionId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>;\r\n public apiAssetsConnectionConnectionIdGet(connectionId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>;\r\n public apiAssetsConnectionConnectionIdGet(connectionId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable {\r\n\r\n let queryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n let credential: string | undefined;\r\n // authentication (Bearer) required\r\n credential = this.configuration.lookupCredential('Bearer');\r\n if (credential) {\r\n headers = headers.set('Authorization', credential);\r\n }\r\n\r\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (httpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (httpHeaderAcceptSelected !== undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' = 'json';\r\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/assets/Connection/connectionId`,\r\n {\r\n params: queryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Connections\r\n * @param tenant \r\n * @param customerId \r\n * @param contractId \r\n * @param switchNotificationSend \r\n * @param searchString \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionContractGet(tenant?: Array, customerId?: Array, contractId?: Array, switchNotificationSend?: boolean, searchString?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>;\r\n public apiAssetsConnectionContractGet(tenant?: Array, customerId?: Array, contractId?: Array, switchNotificationSend?: boolean, searchString?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>>;\r\n public apiAssetsConnectionContractGet(tenant?: Array, customerId?: Array, contractId?: Array, switchNotificationSend?: boolean, searchString?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>>;\r\n public apiAssetsConnectionContractGet(tenant?: Array, customerId?: Array, contractId?: Array, switchNotificationSend?: boolean, searchString?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable {\r\n\r\n let queryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant) {\r\n tenant.forEach((element) => {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n element, 'tenant');\r\n })\r\n }\r\n if (customerId) {\r\n customerId.forEach((element) => {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n element, 'customerId');\r\n })\r\n }\r\n if (contractId) {\r\n contractId.forEach((element) => {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n element, 'contractId');\r\n })\r\n }\r\n if (switchNotificationSend !== undefined && switchNotificationSend !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n switchNotificationSend, 'switchNotificationSend');\r\n }\r\n if (searchString !== undefined && searchString !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n searchString, 'searchString');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n let credential: string | undefined;\r\n // authentication (Bearer) required\r\n credential = this.configuration.lookupCredential('Bearer');\r\n if (credential) {\r\n headers = headers.set('Authorization', credential);\r\n }\r\n\r\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (httpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (httpHeaderAcceptSelected !== undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' = 'json';\r\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/Connection/contract`,\r\n {\r\n params: queryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Connections\r\n * @param productType \r\n * @param gridOperatorId \r\n * @param tenant \r\n * @param customerId \r\n * @param connectionId EAN\r\n * @param contractId \r\n * @param modifiedAfterTimestamp \r\n * @param searchString \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionGet(productType?: ProductType, gridOperatorId?: number, tenant?: Tenant, customerId?: number, connectionId?: string, contractId?: Array, modifiedAfterTimestamp?: string, searchString?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>;\r\n public apiAssetsConnectionGet(productType?: ProductType, gridOperatorId?: number, tenant?: Tenant, customerId?: number, connectionId?: string, contractId?: Array, modifiedAfterTimestamp?: string, searchString?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>>;\r\n public apiAssetsConnectionGet(productType?: ProductType, gridOperatorId?: number, tenant?: Tenant, customerId?: number, connectionId?: string, contractId?: Array, modifiedAfterTimestamp?: string, searchString?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>>;\r\n public apiAssetsConnectionGet(productType?: ProductType, gridOperatorId?: number, tenant?: Tenant, customerId?: number, connectionId?: string, contractId?: Array, modifiedAfterTimestamp?: string, searchString?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable {\r\n\r\n let queryParameters = new HttpParams({encoder: this.encoder});\r\n if (productType !== undefined && productType !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n productType, 'productType');\r\n }\r\n if (gridOperatorId !== undefined && gridOperatorId !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n gridOperatorId, 'gridOperatorId');\r\n }\r\n if (tenant !== undefined && tenant !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (customerId !== undefined && customerId !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (contractId) {\r\n contractId.forEach((element) => {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n element, 'contractId');\r\n })\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (searchString !== undefined && searchString !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n searchString, 'searchString');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n let credential: string | undefined;\r\n // authentication (Bearer) required\r\n credential = this.configuration.lookupCredential('Bearer');\r\n if (credential) {\r\n headers = headers.set('Authorization', credential);\r\n }\r\n\r\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (httpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (httpHeaderAcceptSelected !== undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' = 'json';\r\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/Connection`,\r\n {\r\n params: queryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Connections; required are either postalcode + buildingnumber or connectionId; rest is optional\r\n * @param tenant \r\n * @param productType \r\n * @param postalCode \r\n * @param buildingNumber \r\n * @param houseNumberAddition \r\n * @param connectionId \r\n * @param externalCategory KV or GV\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionLeadGet(tenant: Tenant, productType?: ProductType, postalCode?: string, buildingNumber?: number, houseNumberAddition?: string, connectionId?: string, externalCategory?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>;\r\n public apiAssetsConnectionLeadGet(tenant: Tenant, productType?: ProductType, postalCode?: string, buildingNumber?: number, houseNumberAddition?: string, connectionId?: string, externalCategory?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>>;\r\n public apiAssetsConnectionLeadGet(tenant: Tenant, productType?: ProductType, postalCode?: string, buildingNumber?: number, houseNumberAddition?: string, connectionId?: string, externalCategory?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>>;\r\n public apiAssetsConnectionLeadGet(tenant: Tenant, productType?: ProductType, postalCode?: string, buildingNumber?: number, houseNumberAddition?: string, connectionId?: string, externalCategory?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable {\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiAssetsConnectionLeadGet.');\r\n }\r\n\r\n let queryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n productType, 'productType');\r\n }\r\n if (postalCode !== undefined && postalCode !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n postalCode, 'postalCode');\r\n }\r\n if (buildingNumber !== undefined && buildingNumber !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n buildingNumber, 'buildingNumber');\r\n }\r\n if (houseNumberAddition !== undefined && houseNumberAddition !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n houseNumberAddition, 'houseNumberAddition');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (externalCategory !== undefined && externalCategory !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n externalCategory, 'externalCategory');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n let credential: string | undefined;\r\n // authentication (Bearer) required\r\n credential = this.configuration.lookupCredential('Bearer');\r\n if (credential) {\r\n headers = headers.set('Authorization', credential);\r\n }\r\n\r\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (httpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (httpHeaderAcceptSelected !== undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' = 'json';\r\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/Connection/lead`,\r\n {\r\n params: queryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Connections\r\n * @param tenant \r\n * @param connectionId \r\n * @param clusterId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionProspectGet(tenant: Tenant, connectionId: string, clusterId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable;\r\n public apiAssetsConnectionProspectGet(tenant: Tenant, connectionId: string, clusterId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>;\r\n public apiAssetsConnectionProspectGet(tenant: Tenant, connectionId: string, clusterId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable>;\r\n public apiAssetsConnectionProspectGet(tenant: Tenant, connectionId: string, clusterId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable {\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiAssetsConnectionProspectGet.');\r\n }\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiAssetsConnectionProspectGet.');\r\n }\r\n\r\n let queryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (clusterId !== undefined && clusterId !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n clusterId, 'clusterId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n let credential: string | undefined;\r\n // authentication (Bearer) required\r\n credential = this.configuration.lookupCredential('Bearer');\r\n if (credential) {\r\n headers = headers.set('Authorization', credential);\r\n }\r\n\r\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (httpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (httpHeaderAcceptSelected !== undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' = 'json';\r\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/assets/Connection/prospect`,\r\n {\r\n params: queryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Update connection\r\n * @param connectionR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionPut(connectionR?: ConnectionR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined}): Observable;\r\n public apiAssetsConnectionPut(connectionR?: ConnectionR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined}): Observable>;\r\n public apiAssetsConnectionPut(connectionR?: ConnectionR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined}): Observable>;\r\n public apiAssetsConnectionPut(connectionR?: ConnectionR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined}): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n let credential: string | undefined;\r\n // authentication (Bearer) required\r\n credential = this.configuration.lookupCredential('Bearer');\r\n if (credential) {\r\n headers = headers.set('Authorization', credential);\r\n }\r\n\r\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (httpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (httpHeaderAcceptSelected !== undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' = 'json';\r\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/assets/Connection`,\r\n connectionR,\r\n {\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Update connection with market data\r\n * @param connectionId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionUpdateWithLatestMarketConnectionPost(connectionId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined}): Observable;\r\n public apiAssetsConnectionUpdateWithLatestMarketConnectionPost(connectionId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined}): Observable>;\r\n public apiAssetsConnectionUpdateWithLatestMarketConnectionPost(connectionId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined}): Observable>;\r\n public apiAssetsConnectionUpdateWithLatestMarketConnectionPost(connectionId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiAssetsConnectionUpdateWithLatestMarketConnectionPost.');\r\n }\r\n\r\n let queryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n queryParameters = this.addToHttpParams(queryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n let credential: string | undefined;\r\n // authentication (Bearer) required\r\n credential = this.configuration.lookupCredential('Bearer');\r\n if (credential) {\r\n headers = headers.set('Authorization', credential);\r\n }\r\n\r\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (httpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (httpHeaderAcceptSelected !== undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' = 'json';\r\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/Connection/UpdateWithLatestMarketConnection`,\r\n null,\r\n {\r\n params: queryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ConnectionActivationContractResponse } from '../model/connectionActivationContractResponse';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectionActivationContractService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param groupId \r\n * @param connectionId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiOnboardingActivationsConnectionActivationContractGet(tenant?: Tenant, groupId?: string, connectionId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiOnboardingActivationsConnectionActivationContractGet(tenant?: Tenant, groupId?: string, connectionId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiOnboardingActivationsConnectionActivationContractGet(tenant?: Tenant, groupId?: string, connectionId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiOnboardingActivationsConnectionActivationContractGet(tenant?: Tenant, groupId?: string, connectionId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (groupId !== undefined && groupId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n groupId, 'groupId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/onboarding/activations/connection-activation-contract`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiOnboardingActivationsConnectionActivationContractHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiOnboardingActivationsConnectionActivationContractHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiOnboardingActivationsConnectionActivationContractHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiOnboardingActivationsConnectionActivationContractHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/onboarding/activations/connection-activation-contract/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ConnectionClusterCreateCommand } from '../model/connectionClusterCreateCommand';\r\n// @ts-ignore\r\nimport { ConnectionClusterCreateResponse } from '../model/connectionClusterCreateResponse';\r\n// @ts-ignore\r\nimport { ConnectionClusterUpdateCommand } from '../model/connectionClusterUpdateCommand';\r\n// @ts-ignore\r\nimport { ConnectionClusterUpdateResponse } from '../model/connectionClusterUpdateResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectionClusterService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param connectionClusterCreateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionClusterCreatePost(connectionClusterCreateCommand?: ConnectionClusterCreateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsConnectionClusterCreatePost(connectionClusterCreateCommand?: ConnectionClusterCreateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionClusterCreatePost(connectionClusterCreateCommand?: ConnectionClusterCreateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionClusterCreatePost(connectionClusterCreateCommand?: ConnectionClusterCreateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/ConnectionCluster/Create`,\r\n connectionClusterCreateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionClusterHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionClusterHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsConnectionClusterHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsConnectionClusterHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/ConnectionCluster/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionClusterUpdateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionClusterUpdatePost(connectionClusterUpdateCommand?: ConnectionClusterUpdateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsConnectionClusterUpdatePost(connectionClusterUpdateCommand?: ConnectionClusterUpdateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionClusterUpdatePost(connectionClusterUpdateCommand?: ConnectionClusterUpdateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionClusterUpdatePost(connectionClusterUpdateCommand?: ConnectionClusterUpdateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/ConnectionCluster/Update`,\r\n connectionClusterUpdateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ConnectionContractStateViewModelPageR } from '../model/connectionContractStateViewModelPageR';\r\n// @ts-ignore\r\nimport { ContractMutationState } from '../model/contractMutationState';\r\n// @ts-ignore\r\nimport { ContractMutationStateWithContractStateTransitionsR } from '../model/contractMutationStateWithContractStateTransitionsR';\r\n// @ts-ignore\r\nimport { ContractStateCountWithCountPerTransitionStateR } from '../model/contractStateCountWithCountPerTransitionStateR';\r\n// @ts-ignore\r\nimport { ContractStateTransitionType } from '../model/contractStateTransitionType';\r\n// @ts-ignore\r\nimport { ContractStateTransitionUrgency } from '../model/contractStateTransitionUrgency';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectionContractStateService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param contractId \r\n * @param connectionId \r\n * @param contractMutationState \r\n * @param contractStateTransitionType \r\n * @param contractStateTransitionRemarks \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateAppendTransitionRemarksPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, contractStateTransitionType?: ContractStateTransitionType, contractStateTransitionRemarks?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateAppendTransitionRemarksPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, contractStateTransitionType?: ContractStateTransitionType, contractStateTransitionRemarks?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateAppendTransitionRemarksPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, contractStateTransitionType?: ContractStateTransitionType, contractStateTransitionRemarks?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateAppendTransitionRemarksPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, contractStateTransitionType?: ContractStateTransitionType, contractStateTransitionRemarks?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (contractId !== undefined && contractId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractId, 'contractId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (contractMutationState !== undefined && contractMutationState !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractMutationState, 'contractMutationState');\r\n }\r\n if (contractStateTransitionType !== undefined && contractStateTransitionType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractStateTransitionType, 'contractStateTransitionType');\r\n }\r\n if (contractStateTransitionRemarks !== undefined && contractStateTransitionRemarks !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractStateTransitionRemarks, 'contractStateTransitionRemarks');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ConnectionContractState/AppendTransitionRemarks`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contractId \r\n * @param connectionId \r\n * @param contractMutationState \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateBlockConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateBlockConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateBlockConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateBlockConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (contractId !== undefined && contractId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractId, 'contractId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (contractMutationState !== undefined && contractMutationState !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractMutationState, 'contractMutationState');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ConnectionContractState/BlockConnectionContract`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contractId \r\n * @param connectionId \r\n * @param contractMutationState \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateCloseConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateCloseConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateCloseConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateCloseConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (contractId !== undefined && contractId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractId, 'contractId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (contractMutationState !== undefined && contractMutationState !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractMutationState, 'contractMutationState');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ConnectionContractState/CloseConnectionContract`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contractId \r\n * @param connectionId \r\n * @param contractMutationState \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateCloseConnectionContractTransitionPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateCloseConnectionContractTransitionPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateCloseConnectionContractTransitionPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateCloseConnectionContractTransitionPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (contractId !== undefined && contractId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractId, 'contractId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (contractMutationState !== undefined && contractMutationState !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractMutationState, 'contractMutationState');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ConnectionContractState/CloseConnectionContractTransition`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateContractMutationStatesWithContractStateTransitionsGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateContractMutationStatesWithContractStateTransitionsGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminConnectionContractStateContractMutationStatesWithContractStateTransitionsGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminConnectionContractStateContractMutationStatesWithContractStateTransitionsGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/ConnectionContractState/ContractMutationStatesWithContractStateTransitions`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contractId \r\n * @param contractMutationState \r\n * @param contractStateTransitionType \r\n * @param tenant \r\n * @param isActive \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateCountPerContractMutationStateAndContractStateTransitionTypeGet(contractId?: Array, contractMutationState?: Array, contractStateTransitionType?: Array, tenant?: Array, isActive?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateCountPerContractMutationStateAndContractStateTransitionTypeGet(contractId?: Array, contractMutationState?: Array, contractStateTransitionType?: Array, tenant?: Array, isActive?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminConnectionContractStateCountPerContractMutationStateAndContractStateTransitionTypeGet(contractId?: Array, contractMutationState?: Array, contractStateTransitionType?: Array, tenant?: Array, isActive?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminConnectionContractStateCountPerContractMutationStateAndContractStateTransitionTypeGet(contractId?: Array, contractMutationState?: Array, contractStateTransitionType?: Array, tenant?: Array, isActive?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (contractId) {\r\n contractId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'contractId');\r\n })\r\n }\r\n if (contractMutationState) {\r\n contractMutationState.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'contractMutationState');\r\n })\r\n }\r\n if (contractStateTransitionType) {\r\n contractStateTransitionType.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'contractStateTransitionType');\r\n })\r\n }\r\n if (tenant) {\r\n tenant.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'tenant');\r\n })\r\n }\r\n if (isActive !== undefined && isActive !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n isActive, 'isActive');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/ConnectionContractState/CountPerContractMutationStateAndContractStateTransitionType`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param offset \r\n * @param limit \r\n * @param contractId \r\n * @param contractMutationState \r\n * @param contractStateTransitionType \r\n * @param contractStateTransitionUrgency \r\n * @param assignee \r\n * @param tenant \r\n * @param isActive \r\n * @param connectionId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateGet(offset?: number, limit?: number, contractId?: Array, contractMutationState?: Array, contractStateTransitionType?: Array, contractStateTransitionUrgency?: Array, assignee?: Array, tenant?: Array, isActive?: boolean, connectionId?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateGet(offset?: number, limit?: number, contractId?: Array, contractMutationState?: Array, contractStateTransitionType?: Array, contractStateTransitionUrgency?: Array, assignee?: Array, tenant?: Array, isActive?: boolean, connectionId?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateGet(offset?: number, limit?: number, contractId?: Array, contractMutationState?: Array, contractStateTransitionType?: Array, contractStateTransitionUrgency?: Array, assignee?: Array, tenant?: Array, isActive?: boolean, connectionId?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateGet(offset?: number, limit?: number, contractId?: Array, contractMutationState?: Array, contractStateTransitionType?: Array, contractStateTransitionUrgency?: Array, assignee?: Array, tenant?: Array, isActive?: boolean, connectionId?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (offset !== undefined && offset !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n offset, 'offset');\r\n }\r\n if (limit !== undefined && limit !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n limit, 'limit');\r\n }\r\n if (contractId) {\r\n contractId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'contractId');\r\n })\r\n }\r\n if (contractMutationState) {\r\n contractMutationState.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'contractMutationState');\r\n })\r\n }\r\n if (contractStateTransitionType) {\r\n contractStateTransitionType.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'contractStateTransitionType');\r\n })\r\n }\r\n if (contractStateTransitionUrgency) {\r\n contractStateTransitionUrgency.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'contractStateTransitionUrgency');\r\n })\r\n }\r\n if (assignee) {\r\n assignee.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'assignee');\r\n })\r\n }\r\n if (tenant) {\r\n tenant.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'tenant');\r\n })\r\n }\r\n if (isActive !== undefined && isActive !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n isActive, 'isActive');\r\n }\r\n if (connectionId) {\r\n connectionId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'connectionId');\r\n })\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/admin/ConnectionContractState`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param groupId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateGetMostRecentlySentWelcomeLetterGet(tenant?: Tenant, groupId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateGetMostRecentlySentWelcomeLetterGet(tenant?: Tenant, groupId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateGetMostRecentlySentWelcomeLetterGet(tenant?: Tenant, groupId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateGetMostRecentlySentWelcomeLetterGet(tenant?: Tenant, groupId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (groupId !== undefined && groupId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n groupId, 'groupId');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/pdf'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/admin/ConnectionContractState/GetMostRecentlySentWelcomeLetter`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: \"blob\",\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param groupId \r\n * @param connectionId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateGetStartDeliveryLetterGet(tenant?: Tenant, groupId?: string, connectionId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateGetStartDeliveryLetterGet(tenant?: Tenant, groupId?: string, connectionId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateGetStartDeliveryLetterGet(tenant?: Tenant, groupId?: string, connectionId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateGetStartDeliveryLetterGet(tenant?: Tenant, groupId?: string, connectionId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (groupId !== undefined && groupId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n groupId, 'groupId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/pdf'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/admin/ConnectionContractState/GetStartDeliveryLetter`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: \"blob\",\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminConnectionContractStateHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminConnectionContractStateHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminConnectionContractStateHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/ConnectionContractState/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param groupId \r\n * @param shouldRecalculateAdvanceAmount \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateResendWelcomeLetterPut(tenant?: Tenant, groupId?: string, shouldRecalculateAdvanceAmount?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateResendWelcomeLetterPut(tenant?: Tenant, groupId?: string, shouldRecalculateAdvanceAmount?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateResendWelcomeLetterPut(tenant?: Tenant, groupId?: string, shouldRecalculateAdvanceAmount?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateResendWelcomeLetterPut(tenant?: Tenant, groupId?: string, shouldRecalculateAdvanceAmount?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/pdf', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (groupId !== undefined && groupId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n groupId, 'groupId');\r\n }\r\n if (shouldRecalculateAdvanceAmount !== undefined && shouldRecalculateAdvanceAmount !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n shouldRecalculateAdvanceAmount, 'shouldRecalculateAdvanceAmount');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/pdf'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ConnectionContractState/ResendWelcomeLetter`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: \"blob\",\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contractId \r\n * @param connectionId \r\n * @param contractMutationState \r\n * @param contractStateTransitionType \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateSelfAssignTransitionPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, contractStateTransitionType?: ContractStateTransitionType, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateSelfAssignTransitionPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, contractStateTransitionType?: ContractStateTransitionType, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateSelfAssignTransitionPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, contractStateTransitionType?: ContractStateTransitionType, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateSelfAssignTransitionPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, contractStateTransitionType?: ContractStateTransitionType, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (contractId !== undefined && contractId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractId, 'contractId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (contractMutationState !== undefined && contractMutationState !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractMutationState, 'contractMutationState');\r\n }\r\n if (contractStateTransitionType !== undefined && contractStateTransitionType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractStateTransitionType, 'contractStateTransitionType');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ConnectionContractState/SelfAssignTransition`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contractId \r\n * @param connectionId \r\n * @param contractMutationState \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAdminConnectionContractStateUnblockConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminConnectionContractStateUnblockConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateUnblockConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminConnectionContractStateUnblockConnectionContractPut(contractId?: string, connectionId?: string, contractMutationState?: ContractMutationState, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (contractId !== undefined && contractId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractId, 'contractId');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (contractMutationState !== undefined && contractMutationState !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contractMutationState, 'contractMutationState');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ConnectionContractState/UnblockConnectionContract`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectionEvaluatorService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param meteringPointExtractEnvelopeXml \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionEvaluatorEvaluateMeteringPointExtractXmlPost(meteringPointExtractEnvelopeXml?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAssetsConnectionEvaluatorEvaluateMeteringPointExtractXmlPost(meteringPointExtractEnvelopeXml?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionEvaluatorEvaluateMeteringPointExtractXmlPost(meteringPointExtractEnvelopeXml?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionEvaluatorEvaluateMeteringPointExtractXmlPost(meteringPointExtractEnvelopeXml?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'multipart/form-data'\r\n ];\r\n\r\n const canConsumeForm = this.canConsumeForm(consumes);\r\n\r\n let localVarFormParams: { append(param: string, value: any): any; };\r\n let localVarUseForm = false;\r\n let localVarConvertFormParamsToString = false;\r\n // use FormData to transmit files using content-type \"multipart/form-data\"\r\n // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data\r\n localVarUseForm = canConsumeForm;\r\n if (localVarUseForm) {\r\n localVarFormParams = new FormData();\r\n } else {\r\n localVarFormParams = new HttpParams({encoder: this.encoder});\r\n }\r\n\r\n if (meteringPointExtractEnvelopeXml !== undefined) {\r\n localVarFormParams = localVarFormParams.append('meteringPointExtractEnvelopeXml', meteringPointExtractEnvelopeXml) as any || localVarFormParams;\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/ConnectionEvaluator/EvaluateMeteringPointExtractXml`,\r\n localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionEvaluatorIsRunningGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsConnectionEvaluatorIsRunningGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionEvaluatorIsRunningGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionEvaluatorIsRunningGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/assets/ConnectionEvaluator/IsRunning`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ConnectionGroupConsumptionQueryCommand } from '../model/connectionGroupConsumptionQueryCommand';\r\n// @ts-ignore\r\nimport { ConnectionGroupConsumptionResponse } from '../model/connectionGroupConsumptionResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectionGroupConsumptionService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param connectionGroupConsumptionQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastConnectionGroupConsumptionGetPost(connectionGroupConsumptionQueryCommand?: ConnectionGroupConsumptionQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastConnectionGroupConsumptionGetPost(connectionGroupConsumptionQueryCommand?: ConnectionGroupConsumptionQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastConnectionGroupConsumptionGetPost(connectionGroupConsumptionQueryCommand?: ConnectionGroupConsumptionQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastConnectionGroupConsumptionGetPost(connectionGroupConsumptionQueryCommand?: ConnectionGroupConsumptionQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ConnectionGroupConsumption/Get`,\r\n connectionGroupConsumptionQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastConnectionGroupConsumptionHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastConnectionGroupConsumptionHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastConnectionGroupConsumptionHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastConnectionGroupConsumptionHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/ConnectionGroupConsumption/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ConnectionSubMeterRequest } from '../model/connectionSubMeterRequest';\r\n// @ts-ignore\r\nimport { ConnectionSubMeterResponse } from '../model/connectionSubMeterResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectionSubMeterService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param connectionSubMeterRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionSubMeterGetPost(connectionSubMeterRequest?: ConnectionSubMeterRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionSubMeterGetPost(connectionSubMeterRequest?: ConnectionSubMeterRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsConnectionSubMeterGetPost(connectionSubMeterRequest?: ConnectionSubMeterRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsConnectionSubMeterGetPost(connectionSubMeterRequest?: ConnectionSubMeterRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/assets/ConnectionSubMeter/Get`,\r\n connectionSubMeterRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsConnectionSubMeterHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsConnectionSubMeterHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsConnectionSubMeterHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsConnectionSubMeterHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/ConnectionSubMeter/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n *\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n *\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { HttpClient, HttpContext, HttpEvent, HttpHeaders, HttpParameterCodec, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\n\r\nimport { Configuration } from '../configuration';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\n// @ts-ignore\r\nimport { ConsumptionPerClosedDateRangeCreateCommand } from '../model/consumptionPerClosedDateRangeCreateCommand';\r\n// @ts-ignore\r\nimport { ConsumptionPerClosedDateRangeR } from '../model/consumptionPerClosedDateRangeR';\r\n// @ts-ignore\r\nimport { ConsumptionPerGranularityIntervalR } from '../model/consumptionPerGranularityIntervalR';\r\n// @ts-ignore\r\nimport { ConsumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR } from '../model/consumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR';\r\n// @ts-ignore\r\nimport { Granularity } from '../model/granularity';\r\n// @ts-ignore\r\nimport { MutationState } from '../model/mutationState';\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n// @ts-ignore\r\nimport { BASE_PATH } from '../variables';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsumptionService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Consumptions per Granularity\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param granularity The requested granularity\r\n * @param dataInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param customerId The CustomerId of a connection. BEWARE: if this parameter is omitted, that means data is retrieved only for periods that Connection had no Customer.\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsConsumptionConnectionIdGetAllGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsConsumptionConnectionIdGetAllGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionConnectionIdGetAllGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionConnectionIdGetAllGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsConsumptionConnectionIdGetAllGet.');\r\n }\r\n if (granularity === null || granularity === undefined) {\r\n throw new Error('Required parameter granularity was null or undefined when calling apiConsumptionsConsumptionConnectionIdGetAllGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiConsumptionsConsumptionConnectionIdGetAllGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (customerId !== undefined && customerId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (granularity !== undefined && granularity !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n granularity, 'granularity');\r\n }\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Consumption/${encodeURIComponent(String(connectionId))}/GetAll`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Consumptions per Granularity\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param granularity The requested granularity\r\n * @param dataInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param customerId The CustomerId of a connection. BEWARE: if this parameter is omitted, that means data is retrieved only for periods that Connection had no Customer.\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsConsumptionConnectionIdGetAllModifiedGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsConsumptionConnectionIdGetAllModifiedGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionConnectionIdGetAllModifiedGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionConnectionIdGetAllModifiedGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsConsumptionConnectionIdGetAllModifiedGet.');\r\n }\r\n if (granularity === null || granularity === undefined) {\r\n throw new Error('Required parameter granularity was null or undefined when calling apiConsumptionsConsumptionConnectionIdGetAllModifiedGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiConsumptionsConsumptionConnectionIdGetAllModifiedGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (customerId !== undefined && customerId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (granularity !== undefined && granularity !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n granularity, 'granularity');\r\n }\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Consumption/${encodeURIComponent(String(connectionId))}/GetAllModified`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param consumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n *\r\n * @deprecated FIXME MC: angular's http client cannot handle DELETE with body\r\n */\r\n public apiConsumptionsConsumptionDelete(consumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR?: ConsumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiConsumptionsConsumptionDelete(consumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR?: ConsumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiConsumptionsConsumptionDelete(consumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR?: ConsumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiConsumptionsConsumptionDelete(consumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR?: ConsumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n throw new Error(\"FIXME MC: angular's http client cannot handle DELETE with body\");\r\n // return this.httpClient.delete(`${this.configuration.basePath}/api/consumptions/Consumption`,\r\n // consumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR,\r\n // {\r\n // context: localVarHttpContext,\r\n // responseType: responseType_,\r\n // withCredentials: this.configuration.withCredentials,\r\n // headers: localVarHeaders,\r\n // observe: observe,\r\n // reportProgress: reportProgress\r\n // }\r\n // );\r\n }\r\n\r\n /**\r\n * Consumptions per ClosedDateRange\r\n * @param tenant\r\n * @param productType\r\n * @param customerId\r\n * @param connectionId\r\n * @param mutationState\r\n * @param dataInterval\r\n * @param modifiedInterval\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsConsumptionGet(tenant?: Tenant, productType?: ProductType, customerId?: Array, connectionId?: Array, mutationState?: Array, dataInterval?: string, modifiedInterval?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsConsumptionGet(tenant?: Tenant, productType?: ProductType, customerId?: Array, connectionId?: Array, mutationState?: Array, dataInterval?: string, modifiedInterval?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionGet(tenant?: Tenant, productType?: ProductType, customerId?: Array, connectionId?: Array, mutationState?: Array, dataInterval?: string, modifiedInterval?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionGet(tenant?: Tenant, productType?: ProductType, customerId?: Array, connectionId?: Array, mutationState?: Array, dataInterval?: string, modifiedInterval?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n if (customerId) {\r\n customerId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'customerId');\r\n })\r\n }\r\n if (connectionId) {\r\n connectionId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'connectionId');\r\n })\r\n }\r\n if (mutationState) {\r\n mutationState.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'mutationState');\r\n })\r\n }\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n if (modifiedInterval !== undefined && modifiedInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedInterval, 'modifiedInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Consumption`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Historical Consumptions per ClosedDateRange\r\n * @param tenant\r\n * @param productType\r\n * @param customerId\r\n * @param connectionId\r\n * @param mutationState\r\n * @param dataInterval\r\n * @param modifiedInterval\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsConsumptionGetAllHistoricallyGet(tenant?: Tenant, productType?: ProductType, customerId?: Array, connectionId?: Array, mutationState?: Array, dataInterval?: string, modifiedInterval?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsConsumptionGetAllHistoricallyGet(tenant?: Tenant, productType?: ProductType, customerId?: Array, connectionId?: Array, mutationState?: Array, dataInterval?: string, modifiedInterval?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionGetAllHistoricallyGet(tenant?: Tenant, productType?: ProductType, customerId?: Array, connectionId?: Array, mutationState?: Array, dataInterval?: string, modifiedInterval?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionGetAllHistoricallyGet(tenant?: Tenant, productType?: ProductType, customerId?: Array, connectionId?: Array, mutationState?: Array, dataInterval?: string, modifiedInterval?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n if (customerId) {\r\n customerId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'customerId');\r\n })\r\n }\r\n if (connectionId) {\r\n connectionId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'connectionId');\r\n })\r\n }\r\n if (mutationState) {\r\n mutationState.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'mutationState');\r\n })\r\n }\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n if (modifiedInterval !== undefined && modifiedInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedInterval, 'modifiedInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Consumption/GetAllHistorically`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Consumptions per Granularity\r\n * @param tenant\r\n * @param productType\r\n * @param granularity\r\n * @param dataInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsConsumptionGetAllModifiedGet(tenant: Tenant, productType: ProductType, granularity: Granularity, dataInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsConsumptionGetAllModifiedGet(tenant: Tenant, productType: ProductType, granularity: Granularity, dataInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionGetAllModifiedGet(tenant: Tenant, productType: ProductType, granularity: Granularity, dataInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionGetAllModifiedGet(tenant: Tenant, productType: ProductType, granularity: Granularity, dataInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiConsumptionsConsumptionGetAllModifiedGet.');\r\n }\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiConsumptionsConsumptionGetAllModifiedGet.');\r\n }\r\n if (granularity === null || granularity === undefined) {\r\n throw new Error('Required parameter granularity was null or undefined when calling apiConsumptionsConsumptionGetAllModifiedGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiConsumptionsConsumptionGetAllModifiedGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n if (granularity !== undefined && granularity !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n granularity, 'granularity');\r\n }\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Consumption/GetAllModified`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param consumptionPerClosedDateRangeCreateCommand\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsConsumptionPost(consumptionPerClosedDateRangeCreateCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsConsumptionPost(consumptionPerClosedDateRangeCreateCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionPost(consumptionPerClosedDateRangeCreateCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionPost(consumptionPerClosedDateRangeCreateCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/consumptions/Consumption`,\r\n consumptionPerClosedDateRangeCreateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { Granularity } from '../model/granularity';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsumptionExportService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Bulk export of prosumptions on requested customer connections per granularity\r\n * @param customerId The customer id of all specified connections\r\n * @param connectionId The connection id\\'s prosumptions are requested for\r\n * @param dataInterval A local date range prosumptions are requested for\r\n * @param granularity The requested granularity (will provide minimum granularity per connection if omitted)\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsExportGet(customerId: string, connectionId: Array, dataInterval: string, granularity?: Granularity, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiConsumptionsExportGet(customerId: string, connectionId: Array, dataInterval: string, granularity?: Granularity, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiConsumptionsExportGet(customerId: string, connectionId: Array, dataInterval: string, granularity?: Granularity, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiConsumptionsExportGet(customerId: string, connectionId: Array, dataInterval: string, granularity?: Granularity, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n if (customerId === null || customerId === undefined) {\r\n throw new Error('Required parameter customerId was null or undefined when calling apiConsumptionsExportGet.');\r\n }\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsExportGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiConsumptionsExportGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (customerId !== undefined && customerId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (connectionId) {\r\n connectionId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'connectionId');\r\n })\r\n }\r\n if (granularity !== undefined && granularity !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n granularity, 'granularity');\r\n }\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/consumptions/export`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ConsumptionPerGranularityWithMeasurementsIntervalR } from '../model/consumptionPerGranularityWithMeasurementsIntervalR';\r\n// @ts-ignore\r\nimport { Granularity } from '../model/granularity';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsumptionWithMeasurementsIntervalService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Consumptions per Granularity\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param granularity The requested granularity\r\n * @param dataInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param customerId The CustomerId of a connection. BEWARE: if this parameter is omitted, that means data is retrieved only for periods that Connection had no Customer.\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsConsumptionWithMeasurementsIntervalConnectionIdGetAllGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsConsumptionWithMeasurementsIntervalConnectionIdGetAllGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionWithMeasurementsIntervalConnectionIdGetAllGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsConsumptionWithMeasurementsIntervalConnectionIdGetAllGet(connectionId: string, granularity: Granularity, dataInterval: string, customerId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsConsumptionWithMeasurementsIntervalConnectionIdGetAllGet.');\r\n }\r\n if (granularity === null || granularity === undefined) {\r\n throw new Error('Required parameter granularity was null or undefined when calling apiConsumptionsConsumptionWithMeasurementsIntervalConnectionIdGetAllGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiConsumptionsConsumptionWithMeasurementsIntervalConnectionIdGetAllGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (customerId !== undefined && customerId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (granularity !== undefined && granularity !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n granularity, 'granularity');\r\n }\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/ConsumptionWithMeasurementsInterval/${encodeURIComponent(String(connectionId))}/GetAll`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ContactR } from '../model/contactR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContactService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param contactId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsContactGet(contactId?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsContactGet(contactId?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsContactGet(contactId?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsContactGet(contactId?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (contactId !== undefined && contactId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contactId, 'contactId');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/Contact`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsContactGetByConnectionIdGet(connectionId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsContactGetByConnectionIdGet(connectionId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsContactGetByConnectionIdGet(connectionId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsContactGetByConnectionIdGet(connectionId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/Contact/GetByConnectionId`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ContractStateRequest } from '../model/contractStateRequest';\r\n// @ts-ignore\r\nimport { ContractStateResponse } from '../model/contractStateResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContractStateProvidingService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param contractStateRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminContractStateCountPost(contractStateRequest?: ContractStateRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminContractStateCountPost(contractStateRequest?: ContractStateRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminContractStateCountPost(contractStateRequest?: ContractStateRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminContractStateCountPost(contractStateRequest?: ContractStateRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/ContractState/count`,\r\n contractStateRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contractStateRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminContractStateExistsPost(contractStateRequest?: ContractStateRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminContractStateExistsPost(contractStateRequest?: ContractStateRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminContractStateExistsPost(contractStateRequest?: ContractStateRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminContractStateExistsPost(contractStateRequest?: ContractStateRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/ContractState/exists`,\r\n contractStateRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contractStateRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminContractStateGetPost(contractStateRequest?: ContractStateRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminContractStateGetPost(contractStateRequest?: ContractStateRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminContractStateGetPost(contractStateRequest?: ContractStateRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminContractStateGetPost(contractStateRequest?: ContractStateRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/ContractState/get`,\r\n contractStateRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminContractStateHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminContractStateHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminContractStateHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminContractStateHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/ContractState/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CurtailmentPartyCreateCommand } from '../model/curtailmentPartyCreateCommand';\r\n// @ts-ignore\r\nimport { CurtailmentPartyDeleteCommand } from '../model/curtailmentPartyDeleteCommand';\r\n// @ts-ignore\r\nimport { CurtailmentPartyRequest } from '../model/curtailmentPartyRequest';\r\n// @ts-ignore\r\nimport { CurtailmentPartyResponse } from '../model/curtailmentPartyResponse';\r\n// @ts-ignore\r\nimport { CurtailmentPartyUpdateCommand } from '../model/curtailmentPartyUpdateCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CurtailmentPartyService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param curtailmentPartyCreateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsCurtailmentPartyCreatePost(curtailmentPartyCreateCommand?: CurtailmentPartyCreateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsCurtailmentPartyCreatePost(curtailmentPartyCreateCommand?: CurtailmentPartyCreateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyCreatePost(curtailmentPartyCreateCommand?: CurtailmentPartyCreateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyCreatePost(curtailmentPartyCreateCommand?: CurtailmentPartyCreateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/CurtailmentParty/Create`,\r\n curtailmentPartyCreateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param curtailmentPartyDeleteCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsCurtailmentPartyDeletePost(curtailmentPartyDeleteCommand?: CurtailmentPartyDeleteCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsCurtailmentPartyDeletePost(curtailmentPartyDeleteCommand?: CurtailmentPartyDeleteCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyDeletePost(curtailmentPartyDeleteCommand?: CurtailmentPartyDeleteCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyDeletePost(curtailmentPartyDeleteCommand?: CurtailmentPartyDeleteCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/CurtailmentParty/Delete`,\r\n curtailmentPartyDeleteCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param curtailmentPartyRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsCurtailmentPartyGetPost(curtailmentPartyRequest?: CurtailmentPartyRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyGetPost(curtailmentPartyRequest?: CurtailmentPartyRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsCurtailmentPartyGetPost(curtailmentPartyRequest?: CurtailmentPartyRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsCurtailmentPartyGetPost(curtailmentPartyRequest?: CurtailmentPartyRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Deals/CurtailmentParty/Get`,\r\n curtailmentPartyRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsCurtailmentPartyHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsCurtailmentPartyHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsCurtailmentPartyHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Deals/CurtailmentParty/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param curtailmentPartyUpdateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsCurtailmentPartyUpdatePost(curtailmentPartyUpdateCommand?: CurtailmentPartyUpdateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsCurtailmentPartyUpdatePost(curtailmentPartyUpdateCommand?: CurtailmentPartyUpdateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyUpdatePost(curtailmentPartyUpdateCommand?: CurtailmentPartyUpdateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyUpdatePost(curtailmentPartyUpdateCommand?: CurtailmentPartyUpdateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/CurtailmentParty/Update`,\r\n curtailmentPartyUpdateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CurtailmentPartyProbabilityCreateCommand } from '../model/curtailmentPartyProbabilityCreateCommand';\r\n// @ts-ignore\r\nimport { CurtailmentPartyProbabilityDeleteCommand } from '../model/curtailmentPartyProbabilityDeleteCommand';\r\n// @ts-ignore\r\nimport { CurtailmentPartyProbabilityResponse } from '../model/curtailmentPartyProbabilityResponse';\r\n// @ts-ignore\r\nimport { CurtailmentPartyProbabilityUpdateCommand } from '../model/curtailmentPartyProbabilityUpdateCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CurtailmentPartyProbabilityService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param curtailmentPartyProbabilityCreateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsCurtailmentPartyProbabilityCreatePost(curtailmentPartyProbabilityCreateCommand?: CurtailmentPartyProbabilityCreateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsCurtailmentPartyProbabilityCreatePost(curtailmentPartyProbabilityCreateCommand?: CurtailmentPartyProbabilityCreateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyProbabilityCreatePost(curtailmentPartyProbabilityCreateCommand?: CurtailmentPartyProbabilityCreateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyProbabilityCreatePost(curtailmentPartyProbabilityCreateCommand?: CurtailmentPartyProbabilityCreateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/CurtailmentPartyProbability/Create`,\r\n curtailmentPartyProbabilityCreateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param curtailmentPartyProbabilityDeleteCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsCurtailmentPartyProbabilityDeletePost(curtailmentPartyProbabilityDeleteCommand?: CurtailmentPartyProbabilityDeleteCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsCurtailmentPartyProbabilityDeletePost(curtailmentPartyProbabilityDeleteCommand?: CurtailmentPartyProbabilityDeleteCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyProbabilityDeletePost(curtailmentPartyProbabilityDeleteCommand?: CurtailmentPartyProbabilityDeleteCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyProbabilityDeletePost(curtailmentPartyProbabilityDeleteCommand?: CurtailmentPartyProbabilityDeleteCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/CurtailmentPartyProbability/Delete`,\r\n curtailmentPartyProbabilityDeleteCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsCurtailmentPartyProbabilityHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyProbabilityHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsCurtailmentPartyProbabilityHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsCurtailmentPartyProbabilityHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Deals/CurtailmentPartyProbability/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param curtailmentPartyProbabilityUpdateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsCurtailmentPartyProbabilityUpdatePost(curtailmentPartyProbabilityUpdateCommand?: CurtailmentPartyProbabilityUpdateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsCurtailmentPartyProbabilityUpdatePost(curtailmentPartyProbabilityUpdateCommand?: CurtailmentPartyProbabilityUpdateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyProbabilityUpdatePost(curtailmentPartyProbabilityUpdateCommand?: CurtailmentPartyProbabilityUpdateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsCurtailmentPartyProbabilityUpdatePost(curtailmentPartyProbabilityUpdateCommand?: CurtailmentPartyProbabilityUpdateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/CurtailmentPartyProbability/Update`,\r\n curtailmentPartyProbabilityUpdateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { SendMeasurementCommunnicationR } from '../model/sendMeasurementCommunnicationR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomerConnectionSendMeasurementCommunicationService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param connectionId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsCustomerConnectionSendMeasurementCommunicationGet(connectionId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsCustomerConnectionSendMeasurementCommunicationGet(connectionId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsCustomerConnectionSendMeasurementCommunicationGet(connectionId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsCustomerConnectionSendMeasurementCommunicationGet(connectionId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/assets/CustomerConnectionSendMeasurementCommunication`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId \r\n * @param measurementCommunicationEnabled \r\n * @param blockedUntil \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsCustomerConnectionSendMeasurementCommunicationPost(connectionId?: string, measurementCommunicationEnabled?: boolean, blockedUntil?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsCustomerConnectionSendMeasurementCommunicationPost(connectionId?: string, measurementCommunicationEnabled?: boolean, blockedUntil?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsCustomerConnectionSendMeasurementCommunicationPost(connectionId?: string, measurementCommunicationEnabled?: boolean, blockedUntil?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsCustomerConnectionSendMeasurementCommunicationPost(connectionId?: string, measurementCommunicationEnabled?: boolean, blockedUntil?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (measurementCommunicationEnabled !== undefined && measurementCommunicationEnabled !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n measurementCommunicationEnabled, 'MeasurementCommunicationEnabled');\r\n }\r\n if (blockedUntil !== undefined && blockedUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n blockedUntil, 'blockedUntil');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/CustomerConnectionSendMeasurementCommunication`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CustomerRequest } from '../model/customerRequest';\r\n// @ts-ignore\r\nimport { CustomerResponse } from '../model/customerResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomerProvidingService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param customerRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiCustomerassetsCustomerCountPost(customerRequest?: CustomerRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiCustomerassetsCustomerCountPost(customerRequest?: CustomerRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiCustomerassetsCustomerCountPost(customerRequest?: CustomerRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiCustomerassetsCustomerCountPost(customerRequest?: CustomerRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/customerassets/Customer/count`,\r\n customerRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param customerRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiCustomerassetsCustomerExistsPost(customerRequest?: CustomerRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiCustomerassetsCustomerExistsPost(customerRequest?: CustomerRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiCustomerassetsCustomerExistsPost(customerRequest?: CustomerRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiCustomerassetsCustomerExistsPost(customerRequest?: CustomerRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/customerassets/Customer/exists`,\r\n customerRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param customerRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiCustomerassetsCustomerGetPost(customerRequest?: CustomerRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiCustomerassetsCustomerGetPost(customerRequest?: CustomerRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiCustomerassetsCustomerGetPost(customerRequest?: CustomerRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiCustomerassetsCustomerGetPost(customerRequest?: CustomerRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/customerassets/Customer/get`,\r\n customerRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiCustomerassetsCustomerHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiCustomerassetsCustomerHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiCustomerassetsCustomerHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiCustomerassetsCustomerHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/customerassets/Customer/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { DataTransferMessageDirection } from '../model/dataTransferMessageDirection';\r\n// @ts-ignore\r\nimport { DataTransferMessageR } from '../model/dataTransferMessageR';\r\n// @ts-ignore\r\nimport { DataTransferMessageType } from '../model/dataTransferMessageType';\r\n// @ts-ignore\r\nimport { IdType } from '../model/idType';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataTransferMessageService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param concernsIdType \r\n * @param concernsId \r\n * @param modifiedInterval \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminDataTransferMessageGetAllGet(concernsIdType: IdType, concernsId: string, modifiedInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminDataTransferMessageGetAllGet(concernsIdType: IdType, concernsId: string, modifiedInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminDataTransferMessageGetAllGet(concernsIdType: IdType, concernsId: string, modifiedInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminDataTransferMessageGetAllGet(concernsIdType: IdType, concernsId: string, modifiedInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (concernsIdType === null || concernsIdType === undefined) {\r\n throw new Error('Required parameter concernsIdType was null or undefined when calling apiAdminDataTransferMessageGetAllGet.');\r\n }\r\n if (concernsId === null || concernsId === undefined) {\r\n throw new Error('Required parameter concernsId was null or undefined when calling apiAdminDataTransferMessageGetAllGet.');\r\n }\r\n if (modifiedInterval === null || modifiedInterval === undefined) {\r\n throw new Error('Required parameter modifiedInterval was null or undefined when calling apiAdminDataTransferMessageGetAllGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (concernsIdType !== undefined && concernsIdType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n concernsIdType, 'concernsIdType');\r\n }\r\n if (concernsId !== undefined && concernsId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n concernsId, 'concernsId');\r\n }\r\n if (modifiedInterval !== undefined && modifiedInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedInterval, 'modifiedInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/DataTransferMessage/GetAll`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param dataTransferMessageType \r\n * @param dataTransferMessageDirection \r\n * @param modifiedInterval \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminDataTransferMessageGetAllModifiedGet(dataTransferMessageType: DataTransferMessageType, dataTransferMessageDirection: DataTransferMessageDirection, modifiedInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminDataTransferMessageGetAllModifiedGet(dataTransferMessageType: DataTransferMessageType, dataTransferMessageDirection: DataTransferMessageDirection, modifiedInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminDataTransferMessageGetAllModifiedGet(dataTransferMessageType: DataTransferMessageType, dataTransferMessageDirection: DataTransferMessageDirection, modifiedInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminDataTransferMessageGetAllModifiedGet(dataTransferMessageType: DataTransferMessageType, dataTransferMessageDirection: DataTransferMessageDirection, modifiedInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (dataTransferMessageType === null || dataTransferMessageType === undefined) {\r\n throw new Error('Required parameter dataTransferMessageType was null or undefined when calling apiAdminDataTransferMessageGetAllModifiedGet.');\r\n }\r\n if (dataTransferMessageDirection === null || dataTransferMessageDirection === undefined) {\r\n throw new Error('Required parameter dataTransferMessageDirection was null or undefined when calling apiAdminDataTransferMessageGetAllModifiedGet.');\r\n }\r\n if (modifiedInterval === null || modifiedInterval === undefined) {\r\n throw new Error('Required parameter modifiedInterval was null or undefined when calling apiAdminDataTransferMessageGetAllModifiedGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (dataTransferMessageType !== undefined && dataTransferMessageType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataTransferMessageType, 'dataTransferMessageType');\r\n }\r\n if (dataTransferMessageDirection !== undefined && dataTransferMessageDirection !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataTransferMessageDirection, 'dataTransferMessageDirection');\r\n }\r\n if (modifiedInterval !== undefined && modifiedInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedInterval, 'modifiedInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/DataTransferMessage/GetAllModified`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param concernsIdType \r\n * @param concernsId \r\n * @param modifiedTimestamp \r\n * @param dataTransferMessageType \r\n * @param dataTransferMessageDirection \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminDataTransferMessageGetGet(concernsIdType: IdType, concernsId: string, modifiedTimestamp: string, dataTransferMessageType: DataTransferMessageType, dataTransferMessageDirection: DataTransferMessageDirection, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminDataTransferMessageGetGet(concernsIdType: IdType, concernsId: string, modifiedTimestamp: string, dataTransferMessageType: DataTransferMessageType, dataTransferMessageDirection: DataTransferMessageDirection, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminDataTransferMessageGetGet(concernsIdType: IdType, concernsId: string, modifiedTimestamp: string, dataTransferMessageType: DataTransferMessageType, dataTransferMessageDirection: DataTransferMessageDirection, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminDataTransferMessageGetGet(concernsIdType: IdType, concernsId: string, modifiedTimestamp: string, dataTransferMessageType: DataTransferMessageType, dataTransferMessageDirection: DataTransferMessageDirection, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (concernsIdType === null || concernsIdType === undefined) {\r\n throw new Error('Required parameter concernsIdType was null or undefined when calling apiAdminDataTransferMessageGetGet.');\r\n }\r\n if (concernsId === null || concernsId === undefined) {\r\n throw new Error('Required parameter concernsId was null or undefined when calling apiAdminDataTransferMessageGetGet.');\r\n }\r\n if (modifiedTimestamp === null || modifiedTimestamp === undefined) {\r\n throw new Error('Required parameter modifiedTimestamp was null or undefined when calling apiAdminDataTransferMessageGetGet.');\r\n }\r\n if (dataTransferMessageType === null || dataTransferMessageType === undefined) {\r\n throw new Error('Required parameter dataTransferMessageType was null or undefined when calling apiAdminDataTransferMessageGetGet.');\r\n }\r\n if (dataTransferMessageDirection === null || dataTransferMessageDirection === undefined) {\r\n throw new Error('Required parameter dataTransferMessageDirection was null or undefined when calling apiAdminDataTransferMessageGetGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (concernsIdType !== undefined && concernsIdType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n concernsIdType, 'concernsIdType');\r\n }\r\n if (concernsId !== undefined && concernsId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n concernsId, 'concernsId');\r\n }\r\n if (modifiedTimestamp !== undefined && modifiedTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedTimestamp, 'modifiedTimestamp');\r\n }\r\n if (dataTransferMessageType !== undefined && dataTransferMessageType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataTransferMessageType, 'dataTransferMessageType');\r\n }\r\n if (dataTransferMessageDirection !== undefined && dataTransferMessageDirection !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataTransferMessageDirection, 'dataTransferMessageDirection');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/DataTransferMessage/Get`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ConfirmationStateUpdateCommand } from '../model/confirmationStateUpdateCommand';\r\n// @ts-ignore\r\nimport { DealRequest } from '../model/dealRequest';\r\n// @ts-ignore\r\nimport { DealResponse } from '../model/dealResponse';\r\n// @ts-ignore\r\nimport { DealStateUpdateCommand } from '../model/dealStateUpdateCommand';\r\n// @ts-ignore\r\nimport { DealStatusHistoryResponse } from '../model/dealStatusHistoryResponse';\r\n// @ts-ignore\r\nimport { Nomination } from '../model/nomination';\r\n// @ts-ignore\r\nimport { Reason } from '../model/reason';\r\n// @ts-ignore\r\nimport { SubmitDayAheadFromForecastCommand } from '../model/submitDayAheadFromForecastCommand';\r\n// @ts-ignore\r\nimport { VProgramma } from '../model/vProgramma';\r\n// @ts-ignore\r\nimport { ValidationStateUpdateCommand } from '../model/validationStateUpdateCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DealService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param confirmationStateUpdateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealConfirmationStateUpdatePost(confirmationStateUpdateCommand?: ConfirmationStateUpdateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealConfirmationStateUpdatePost(confirmationStateUpdateCommand?: ConfirmationStateUpdateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealConfirmationStateUpdatePost(confirmationStateUpdateCommand?: ConfirmationStateUpdateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealConfirmationStateUpdatePost(confirmationStateUpdateCommand?: ConfirmationStateUpdateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Deals/Deal/ConfirmationStateUpdate`,\r\n confirmationStateUpdateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param forecastFile \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealDayAheadCreatePost(forecastFile?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealDayAheadCreatePost(forecastFile?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealDayAheadCreatePost(forecastFile?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealDayAheadCreatePost(forecastFile?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'multipart/form-data',\r\n 'application/json'\r\n ];\r\n\r\n const canConsumeForm = this.canConsumeForm(consumes);\r\n\r\n let localVarFormParams: { append(param: string, value: any): any; };\r\n let localVarUseForm = false;\r\n let localVarConvertFormParamsToString = false;\r\n // use FormData to transmit files using content-type \"multipart/form-data\"\r\n // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data\r\n localVarUseForm = canConsumeForm;\r\n if (localVarUseForm) {\r\n localVarFormParams = new FormData();\r\n } else {\r\n localVarFormParams = new HttpParams({encoder: this.encoder});\r\n }\r\n\r\n if (forecastFile !== undefined) {\r\n localVarFormParams = localVarFormParams.append('forecastFile', forecastFile) as any || localVarFormParams;\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Deals/Deal/DayAheadCreate`,\r\n localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param dealStateUpdateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealDealStateUpdatePost(dealStateUpdateCommand?: DealStateUpdateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealDealStateUpdatePost(dealStateUpdateCommand?: DealStateUpdateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealDealStateUpdatePost(dealStateUpdateCommand?: DealStateUpdateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealDealStateUpdatePost(dealStateUpdateCommand?: DealStateUpdateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Deals/Deal/DealStateUpdate`,\r\n dealStateUpdateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param dealRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealGetPost(dealRequest?: DealRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealGetPost(dealRequest?: DealRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealGetPost(dealRequest?: DealRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealGetPost(dealRequest?: DealRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Deals/Deal/Get`,\r\n dealRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Deals/Deal/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param reason \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealReEvaluateTradereportPost(reason?: Reason, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsDealReEvaluateTradereportPost(reason?: Reason, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealReEvaluateTradereportPost(reason?: Reason, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealReEvaluateTradereportPost(reason?: Reason, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/Deal/ReEvaluateTradereport`,\r\n reason,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param reason \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealSendEprogramAgainPost(reason?: Reason, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsDealSendEprogramAgainPost(reason?: Reason, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealSendEprogramAgainPost(reason?: Reason, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealSendEprogramAgainPost(reason?: Reason, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/Deal/SendEprogramAgain`,\r\n reason,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param submitDayAheadFromForecastCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealSubmitDayAheadFromForecastPost(submitDayAheadFromForecastCommand?: SubmitDayAheadFromForecastCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealSubmitDayAheadFromForecastPost(submitDayAheadFromForecastCommand?: SubmitDayAheadFromForecastCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealSubmitDayAheadFromForecastPost(submitDayAheadFromForecastCommand?: SubmitDayAheadFromForecastCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealSubmitDayAheadFromForecastPost(submitDayAheadFromForecastCommand?: SubmitDayAheadFromForecastCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Deals/Deal/SubmitDayAheadFromForecast`,\r\n submitDayAheadFromForecastCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param nordpoolExcel \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealSubmitNordPoolPost(nordpoolExcel?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsDealSubmitNordPoolPost(nordpoolExcel?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealSubmitNordPoolPost(nordpoolExcel?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealSubmitNordPoolPost(nordpoolExcel?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'multipart/form-data',\r\n 'application/json'\r\n ];\r\n\r\n const canConsumeForm = this.canConsumeForm(consumes);\r\n\r\n let localVarFormParams: { append(param: string, value: any): any; };\r\n let localVarUseForm = false;\r\n let localVarConvertFormParamsToString = false;\r\n // use FormData to transmit files using content-type \"multipart/form-data\"\r\n // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data\r\n localVarUseForm = canConsumeForm;\r\n if (localVarUseForm) {\r\n localVarFormParams = new FormData();\r\n } else {\r\n localVarFormParams = new HttpParams({encoder: this.encoder});\r\n }\r\n\r\n if (nordpoolExcel !== undefined) {\r\n localVarFormParams = localVarFormParams.append('nordpoolExcel', nordpoolExcel) as any || localVarFormParams;\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/Deal/SubmitNordPool`,\r\n localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param validationStateUpdateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealValidationStateUpdatePost(validationStateUpdateCommand?: ValidationStateUpdateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealValidationStateUpdatePost(validationStateUpdateCommand?: ValidationStateUpdateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealValidationStateUpdatePost(validationStateUpdateCommand?: ValidationStateUpdateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealValidationStateUpdatePost(validationStateUpdateCommand?: ValidationStateUpdateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Deals/Deal/ValidationStateUpdate`,\r\n validationStateUpdateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { DealTradingPartyCreateCommand } from '../model/dealTradingPartyCreateCommand';\r\n// @ts-ignore\r\nimport { DealTradingPartyRequest } from '../model/dealTradingPartyRequest';\r\n// @ts-ignore\r\nimport { DealTradingPartyResponse } from '../model/dealTradingPartyResponse';\r\n// @ts-ignore\r\nimport { DealTradingPartyUpdateCommand } from '../model/dealTradingPartyUpdateCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DealTradingPartyService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param dealTradingPartyCreateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealTradingPartyCreatePost(dealTradingPartyCreateCommand?: DealTradingPartyCreateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsDealTradingPartyCreatePost(dealTradingPartyCreateCommand?: DealTradingPartyCreateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealTradingPartyCreatePost(dealTradingPartyCreateCommand?: DealTradingPartyCreateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealTradingPartyCreatePost(dealTradingPartyCreateCommand?: DealTradingPartyCreateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/DealTradingParty/Create`,\r\n dealTradingPartyCreateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param dealTradingPartyRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealTradingPartyGetPost(dealTradingPartyRequest?: DealTradingPartyRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealTradingPartyGetPost(dealTradingPartyRequest?: DealTradingPartyRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealTradingPartyGetPost(dealTradingPartyRequest?: DealTradingPartyRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealTradingPartyGetPost(dealTradingPartyRequest?: DealTradingPartyRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Deals/DealTradingParty/Get`,\r\n dealTradingPartyRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealTradingPartyHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealTradingPartyHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealTradingPartyHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiDealsDealTradingPartyHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Deals/DealTradingParty/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param dealTradingPartyUpdateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiDealsDealTradingPartyUpdatePost(dealTradingPartyUpdateCommand?: DealTradingPartyUpdateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiDealsDealTradingPartyUpdatePost(dealTradingPartyUpdateCommand?: DealTradingPartyUpdateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealTradingPartyUpdatePost(dealTradingPartyUpdateCommand?: DealTradingPartyUpdateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiDealsDealTradingPartyUpdatePost(dealTradingPartyUpdateCommand?: DealTradingPartyUpdateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Deals/DealTradingParty/Update`,\r\n dealTradingPartyUpdateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ContractR } from '../model/contractR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EasyEnergyCustomerService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param contractR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsEasyEnergyCustomerSalesdockCreatePost(contractR?: ContractR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsEasyEnergyCustomerSalesdockCreatePost(contractR?: ContractR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsEasyEnergyCustomerSalesdockCreatePost(contractR?: ContractR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsEasyEnergyCustomerSalesdockCreatePost(contractR?: ContractR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/EasyEnergyCustomer/Salesdock/Create`,\r\n contractR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contractR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsEasyEnergyCustomerVendorCreatePost(contractR?: ContractR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsEasyEnergyCustomerVendorCreatePost(contractR?: ContractR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsEasyEnergyCustomerVendorCreatePost(contractR?: ContractR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsEasyEnergyCustomerVendorCreatePost(contractR?: ContractR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/EasyEnergyCustomer/Vendor/Create`,\r\n contractR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { EnumDescriptionR } from '../model/enumDescriptionR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EnumsService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param enumName \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiSystemEnumsGet(enumName?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiSystemEnumsGet(enumName?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiSystemEnumsGet(enumName?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiSystemEnumsGet(enumName?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (enumName !== undefined && enumName !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n enumName, 'enumName');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/system/Enums`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExceptionService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionCreateAlreadyExistsWithSubjectExceptionPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminExceptionCreateAlreadyExistsWithSubjectExceptionPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateAlreadyExistsWithSubjectExceptionPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateAlreadyExistsWithSubjectExceptionPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Exception/CreateAlreadyExistsWithSubjectException`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionCreateExceptionPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminExceptionCreateExceptionPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateExceptionPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateExceptionPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Exception/CreateException`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param body \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionCreateFluentValidationExceptionPost(body?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminExceptionCreateFluentValidationExceptionPost(body?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateFluentValidationExceptionPost(body?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateFluentValidationExceptionPost(body?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Exception/CreateFluentValidationException`,\r\n body,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionCreateHavingNoneFilterExceptionPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminExceptionCreateHavingNoneFilterExceptionPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateHavingNoneFilterExceptionPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateHavingNoneFilterExceptionPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Exception/CreateHavingNoneFilterException`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionCreateNotFoundWithSubjectExceptionPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminExceptionCreateNotFoundWithSubjectExceptionPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateNotFoundWithSubjectExceptionPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateNotFoundWithSubjectExceptionPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Exception/CreateNotFoundWithSubjectException`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionCreateNullValueExceptionPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminExceptionCreateNullValueExceptionPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateNullValueExceptionPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateNullValueExceptionPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Exception/CreateNullValueException`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionCreateRangeEmptyFilterExceptionPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminExceptionCreateRangeEmptyFilterExceptionPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateRangeEmptyFilterExceptionPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateRangeEmptyFilterExceptionPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Exception/CreateRangeEmptyFilterException`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionCreateSingleResultExceptionPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminExceptionCreateSingleResultExceptionPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateSingleResultExceptionPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateSingleResultExceptionPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Exception/CreateSingleResultException`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionCreateTimeOutExceptionWithSubjectPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminExceptionCreateTimeOutExceptionWithSubjectPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateTimeOutExceptionWithSubjectPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminExceptionCreateTimeOutExceptionWithSubjectPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Exception/CreateTimeOutExceptionWithSubject`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminExceptionHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminExceptionHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminExceptionHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminExceptionHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/Exception/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ExternalDossierR } from '../model/externalDossierR';\r\n// @ts-ignore\r\nimport { Mutation } from '../model/mutation';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExternalDossierService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param dataInterval \r\n * @param event \r\n * @param mutation \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsExternalDossierGetAllGet(dataInterval?: string, event?: Array, mutation?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsExternalDossierGetAllGet(dataInterval?: string, event?: Array, mutation?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsExternalDossierGetAllGet(dataInterval?: string, event?: Array, mutation?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsExternalDossierGetAllGet(dataInterval?: string, event?: Array, mutation?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n if (event) {\r\n event.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'event');\r\n })\r\n }\r\n if (mutation) {\r\n mutation.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'mutation');\r\n })\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/ExternalDossier/GetAll`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId \r\n * @param dataInterval \r\n * @param event \r\n * @param mutation \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsExternalDossierGetGet(connectionId?: string, dataInterval?: string, event?: Array, mutation?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsExternalDossierGetGet(connectionId?: string, dataInterval?: string, event?: Array, mutation?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsExternalDossierGetGet(connectionId?: string, dataInterval?: string, event?: Array, mutation?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsExternalDossierGetGet(connectionId?: string, dataInterval?: string, event?: Array, mutation?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n if (event) {\r\n event.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'event');\r\n })\r\n }\r\n if (mutation) {\r\n mutation.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'mutation');\r\n })\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/ExternalDossier/Get`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ContractR } from '../model/contractR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExtraMileService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param contractR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public apiAssetsExtraMileXtraMilePost(contractR?: ContractR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsExtraMileXtraMilePost(contractR?: ContractR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsExtraMileXtraMilePost(contractR?: ContractR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsExtraMileXtraMilePost(contractR?: ContractR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/ExtraMile/XtraMile`,\r\n contractR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ForecastDownloadRequest } from '../model/forecastDownloadRequest';\r\n// @ts-ignore\r\nimport { ForecastGetRequest } from '../model/forecastGetRequest';\r\n// @ts-ignore\r\nimport { ForecastResponse } from '../model/forecastResponse';\r\n// @ts-ignore\r\nimport { LatestForecastRequest } from '../model/latestForecastRequest';\r\n// @ts-ignore\r\nimport { LatestForecastResponse } from '../model/latestForecastResponse';\r\n// @ts-ignore\r\nimport { UpdateForecastsInLegacyRequest } from '../model/updateForecastsInLegacyRequest';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ForecastService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param forecastDownloadRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecastExcelDownloadPost(forecastDownloadRequest?: ForecastDownloadRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiForecastForecastExcelDownloadPost(forecastDownloadRequest?: ForecastDownloadRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiForecastForecastExcelDownloadPost(forecastDownloadRequest?: ForecastDownloadRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiForecastForecastExcelDownloadPost(forecastDownloadRequest?: ForecastDownloadRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Forecast/ExcelDownload`,\r\n forecastDownloadRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param latestForecastRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecastGetLatestForecastAvailablePost(latestForecastRequest?: LatestForecastRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastForecastGetLatestForecastAvailablePost(latestForecastRequest?: LatestForecastRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecastGetLatestForecastAvailablePost(latestForecastRequest?: LatestForecastRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecastGetLatestForecastAvailablePost(latestForecastRequest?: LatestForecastRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Forecast/GetLatestForecastAvailable`,\r\n latestForecastRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param forecastGetRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecastGetPost(forecastGetRequest?: ForecastGetRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecastGetPost(forecastGetRequest?: ForecastGetRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastForecastGetPost(forecastGetRequest?: ForecastGetRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastForecastGetPost(forecastGetRequest?: ForecastGetRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/Forecast/Get`,\r\n forecastGetRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecastHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecastHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastForecastHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastForecastHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/Forecast/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecastTriggerForecastDownloadPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiForecastForecastTriggerForecastDownloadPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiForecastForecastTriggerForecastDownloadPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiForecastForecastTriggerForecastDownloadPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Forecast/TriggerForecastDownload`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateForecastsInLegacyRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecastUpdateForecastsInLegacyPost(updateForecastsInLegacyRequest?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiForecastForecastUpdateForecastsInLegacyPost(updateForecastsInLegacyRequest?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiForecastForecastUpdateForecastsInLegacyPost(updateForecastsInLegacyRequest?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiForecastForecastUpdateForecastsInLegacyPost(updateForecastsInLegacyRequest?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Forecast/UpdateForecastsInLegacy`,\r\n updateForecastsInLegacyRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CreateForecasterCommand } from '../model/createForecasterCommand';\r\n// @ts-ignore\r\nimport { DeleteForecasterCommand } from '../model/deleteForecasterCommand';\r\n// @ts-ignore\r\nimport { ForecasterRequest } from '../model/forecasterRequest';\r\n// @ts-ignore\r\nimport { ForecasterResponse } from '../model/forecasterResponse';\r\n// @ts-ignore\r\nimport { UpdateForecasterCommand } from '../model/updateForecasterCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ForecasterService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param createForecasterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecasterCreatePost(createForecasterCommand?: CreateForecasterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastForecasterCreatePost(createForecasterCommand?: CreateForecasterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecasterCreatePost(createForecasterCommand?: CreateForecasterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecasterCreatePost(createForecasterCommand?: CreateForecasterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Forecaster/Create`,\r\n createForecasterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteForecasterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecasterDeletePost(deleteForecasterCommand?: DeleteForecasterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastForecasterDeletePost(deleteForecasterCommand?: DeleteForecasterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecasterDeletePost(deleteForecasterCommand?: DeleteForecasterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecasterDeletePost(deleteForecasterCommand?: DeleteForecasterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Forecaster/Delete`,\r\n deleteForecasterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param forecasterRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecasterGetPost(forecasterRequest?: ForecasterRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecasterGetPost(forecasterRequest?: ForecasterRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastForecasterGetPost(forecasterRequest?: ForecasterRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastForecasterGetPost(forecasterRequest?: ForecasterRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/Forecaster/Get`,\r\n forecasterRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecasterHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecasterHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastForecasterHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastForecasterHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/Forecaster/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateForecasterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastForecasterUpdatePost(updateForecasterCommand?: UpdateForecasterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastForecasterUpdatePost(updateForecasterCommand?: UpdateForecasterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecasterUpdatePost(updateForecasterCommand?: UpdateForecasterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastForecasterUpdatePost(updateForecasterCommand?: UpdateForecasterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Forecaster/Update`,\r\n updateForecasterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { InvoiceR } from '../model/invoiceR';\r\n// @ts-ignore\r\nimport { InvoiceTypeR } from '../model/invoiceTypeR';\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n// @ts-ignore\r\nimport { ProsumptionQuantitiesR } from '../model/prosumptionQuantitiesR';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InvoiceService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Invoices\r\n * Get all the invoices in the selected period\r\n * @param productType Only electricity for now\r\n * @param invoiceType \r\n * @param tenant Only NieuweStroom supported now\r\n * @param connectionId EAN\r\n * @param customerId The customer id\r\n * @param modifiedAfterTimestamp Get all since\r\n * @param from Supply date from\r\n * @param until Supply date until\r\n * @param invoicedFrom Invoiced date from\r\n * @param invoicedUntil Invoiced date until\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesInvoiceInvoiceTypeProductTypeGet(productType: ProductType, invoiceType: InvoiceTypeR, tenant?: Tenant, connectionId?: string, customerId?: number, modifiedAfterTimestamp?: string, from?: string, until?: string, invoicedFrom?: string, invoicedUntil?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketSalesInvoiceInvoiceTypeProductTypeGet(productType: ProductType, invoiceType: InvoiceTypeR, tenant?: Tenant, connectionId?: string, customerId?: number, modifiedAfterTimestamp?: string, from?: string, until?: string, invoicedFrom?: string, invoicedUntil?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketSalesInvoiceInvoiceTypeProductTypeGet(productType: ProductType, invoiceType: InvoiceTypeR, tenant?: Tenant, connectionId?: string, customerId?: number, modifiedAfterTimestamp?: string, from?: string, until?: string, invoicedFrom?: string, invoicedUntil?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketSalesInvoiceInvoiceTypeProductTypeGet(productType: ProductType, invoiceType: InvoiceTypeR, tenant?: Tenant, connectionId?: string, customerId?: number, modifiedAfterTimestamp?: string, from?: string, until?: string, invoicedFrom?: string, invoicedUntil?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiMarketSalesInvoiceInvoiceTypeProductTypeGet.');\r\n }\r\n if (invoiceType === null || invoiceType === undefined) {\r\n throw new Error('Required parameter invoiceType was null or undefined when calling apiMarketSalesInvoiceInvoiceTypeProductTypeGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (customerId !== undefined && customerId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n if (invoicedFrom !== undefined && invoicedFrom !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n invoicedFrom, 'invoicedFrom');\r\n }\r\n if (invoicedUntil !== undefined && invoicedUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n invoicedUntil, 'invoicedUntil');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/market/sales/Invoice/${encodeURIComponent(String(invoiceType))}/${encodeURIComponent(String(productType))}`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Summed invoices\r\n * Get the Sum of all the invoices in the selected period\r\n * @param productType \r\n * @param invoiceType \r\n * @param tenant Only Nieuwstroom supported now\r\n * @param connectionId EAN\r\n * @param customerId The customer id\r\n * @param modifiedAfterTimestamp Get all since\r\n * @param suppliedFrom Supply date from\r\n * @param suppliedUntil Supply date until\r\n * @param invoicedFrom Invoiced date from\r\n * @param invoicedUntil Invoiced date until\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketSalesInvoiceSummedInvoiceTypeProductTypeGet(productType: ProductType, invoiceType: InvoiceTypeR, tenant?: Tenant, connectionId?: string, customerId?: number, modifiedAfterTimestamp?: string, suppliedFrom?: string, suppliedUntil?: string, invoicedFrom?: string, invoicedUntil?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiMarketSalesInvoiceSummedInvoiceTypeProductTypeGet(productType: ProductType, invoiceType: InvoiceTypeR, tenant?: Tenant, connectionId?: string, customerId?: number, modifiedAfterTimestamp?: string, suppliedFrom?: string, suppliedUntil?: string, invoicedFrom?: string, invoicedUntil?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketSalesInvoiceSummedInvoiceTypeProductTypeGet(productType: ProductType, invoiceType: InvoiceTypeR, tenant?: Tenant, connectionId?: string, customerId?: number, modifiedAfterTimestamp?: string, suppliedFrom?: string, suppliedUntil?: string, invoicedFrom?: string, invoicedUntil?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketSalesInvoiceSummedInvoiceTypeProductTypeGet(productType: ProductType, invoiceType: InvoiceTypeR, tenant?: Tenant, connectionId?: string, customerId?: number, modifiedAfterTimestamp?: string, suppliedFrom?: string, suppliedUntil?: string, invoicedFrom?: string, invoicedUntil?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiMarketSalesInvoiceSummedInvoiceTypeProductTypeGet.');\r\n }\r\n if (invoiceType === null || invoiceType === undefined) {\r\n throw new Error('Required parameter invoiceType was null or undefined when calling apiMarketSalesInvoiceSummedInvoiceTypeProductTypeGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (customerId !== undefined && customerId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (suppliedFrom !== undefined && suppliedFrom !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n suppliedFrom, 'suppliedFrom');\r\n }\r\n if (suppliedUntil !== undefined && suppliedUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n suppliedUntil, 'suppliedUntil');\r\n }\r\n if (invoicedFrom !== undefined && invoicedFrom !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n invoicedFrom, 'invoicedFrom');\r\n }\r\n if (invoicedUntil !== undefined && invoicedUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n invoicedUntil, 'invoicedUntil');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/market/sales/Invoice/summed/${encodeURIComponent(String(invoiceType))}/${encodeURIComponent(String(productType))}`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { IssueCountPerIssueTypeAndSubjectR } from '../model/issueCountPerIssueTypeAndSubjectR';\r\n// @ts-ignore\r\nimport { IssueR } from '../model/issueR';\r\n// @ts-ignore\r\nimport { IssueRIEnumerablePageR } from '../model/issueRIEnumerablePageR';\r\n// @ts-ignore\r\nimport { IssueType } from '../model/issueType';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IssueService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Connections\r\n * @param tenant \r\n * @param issueTypes \r\n * @param connectionId \r\n * @param open \r\n * @param from \r\n * @param until \r\n * @param from2 EAN\r\n * @param until2 \r\n * @param modifiedAfterTimestamp \r\n * @param modifiedBeforeTimestamp \r\n * @param createdFrom \r\n * @param createdUntil \r\n * @param closedFrom \r\n * @param closedUntil \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminIssueCountPerIssueTypeAndSubjectGet(tenant?: Array, issueTypes?: Array, connectionId?: Array, open?: boolean, from?: string, until?: string, from2?: string, until2?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, createdFrom?: string, createdUntil?: string, closedFrom?: string, closedUntil?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminIssueCountPerIssueTypeAndSubjectGet(tenant?: Array, issueTypes?: Array, connectionId?: Array, open?: boolean, from?: string, until?: string, from2?: string, until2?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, createdFrom?: string, createdUntil?: string, closedFrom?: string, closedUntil?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminIssueCountPerIssueTypeAndSubjectGet(tenant?: Array, issueTypes?: Array, connectionId?: Array, open?: boolean, from?: string, until?: string, from2?: string, until2?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, createdFrom?: string, createdUntil?: string, closedFrom?: string, closedUntil?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminIssueCountPerIssueTypeAndSubjectGet(tenant?: Array, issueTypes?: Array, connectionId?: Array, open?: boolean, from?: string, until?: string, from2?: string, until2?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, createdFrom?: string, createdUntil?: string, closedFrom?: string, closedUntil?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant) {\r\n tenant.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'tenant');\r\n })\r\n }\r\n if (issueTypes) {\r\n issueTypes.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'issueTypes');\r\n })\r\n }\r\n if (connectionId) {\r\n connectionId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'connectionId');\r\n })\r\n }\r\n if (open !== undefined && open !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n open, 'open');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n if (from2 !== undefined && from2 !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from2, 'from');\r\n }\r\n if (until2 !== undefined && until2 !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until2, 'until');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (modifiedBeforeTimestamp !== undefined && modifiedBeforeTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedBeforeTimestamp, 'modifiedBeforeTimestamp');\r\n }\r\n if (createdFrom !== undefined && createdFrom !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n createdFrom, 'createdFrom');\r\n }\r\n if (createdUntil !== undefined && createdUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n createdUntil, 'createdUntil');\r\n }\r\n if (closedFrom !== undefined && closedFrom !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n closedFrom, 'closedFrom');\r\n }\r\n if (closedUntil !== undefined && closedUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n closedUntil, 'closedUntil');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/Issue/countPerIssueTypeAndSubject`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Connections\r\n * @param offset \r\n * @param limit \r\n * @param id \r\n * @param tenant \r\n * @param issueTypes \r\n * @param connectionId \r\n * @param open \r\n * @param subject \r\n * @param from \r\n * @param until \r\n * @param from2 EAN\r\n * @param until2 \r\n * @param modifiedAfterTimestamp \r\n * @param modifiedBeforeTimestamp \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminIssueGet(offset?: number, limit?: number, id?: Array, tenant?: Array, issueTypes?: Array, connectionId?: Array, open?: boolean, subject?: string, from?: string, until?: string, from2?: string, until2?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminIssueGet(offset?: number, limit?: number, id?: Array, tenant?: Array, issueTypes?: Array, connectionId?: Array, open?: boolean, subject?: string, from?: string, until?: string, from2?: string, until2?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminIssueGet(offset?: number, limit?: number, id?: Array, tenant?: Array, issueTypes?: Array, connectionId?: Array, open?: boolean, subject?: string, from?: string, until?: string, from2?: string, until2?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminIssueGet(offset?: number, limit?: number, id?: Array, tenant?: Array, issueTypes?: Array, connectionId?: Array, open?: boolean, subject?: string, from?: string, until?: string, from2?: string, until2?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (offset !== undefined && offset !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n offset, 'offset');\r\n }\r\n if (limit !== undefined && limit !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n limit, 'limit');\r\n }\r\n if (id) {\r\n id.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'id');\r\n })\r\n }\r\n if (tenant) {\r\n tenant.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'tenant');\r\n })\r\n }\r\n if (issueTypes) {\r\n issueTypes.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'issueTypes');\r\n })\r\n }\r\n if (connectionId) {\r\n connectionId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'connectionId');\r\n })\r\n }\r\n if (open !== undefined && open !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n open, 'open');\r\n }\r\n if (subject !== undefined && subject !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n subject, 'subject');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n if (from2 !== undefined && from2 !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from2, 'from');\r\n }\r\n if (until2 !== undefined && until2 !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until2, 'until');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (modifiedBeforeTimestamp !== undefined && modifiedBeforeTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedBeforeTimestamp, 'modifiedBeforeTimestamp');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/admin/Issue`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Connections\r\n * @param id \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminIssueIdClosePut(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminIssueIdClosePut(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminIssueIdClosePut(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminIssueIdClosePut(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling apiAdminIssueIdClosePut.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/Issue/${encodeURIComponent(String(id))}/close`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Process connection by issueId\r\n * @param id \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminIssueIdProcessPut(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminIssueIdProcessPut(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminIssueIdProcessPut(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminIssueIdProcessPut(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling apiAdminIssueIdProcessPut.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/Issue/${encodeURIComponent(String(id))}/process`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param issueR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminIssuePut(issueR?: IssueR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminIssuePut(issueR?: IssueR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminIssuePut(issueR?: IssueR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminIssuePut(issueR?: IssueR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/Issue`,\r\n issueR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { IssueTypeDescriptionR } from '../model/issueTypeDescriptionR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IssueTypeService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiSystemIssueTypeGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiSystemIssueTypeGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiSystemIssueTypeGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiSystemIssueTypeGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/system/IssueType`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { LocationCoordinates } from '../model/locationCoordinates';\r\n// @ts-ignore\r\nimport { LocationNearestGroupQuery } from '../model/locationNearestGroupQuery';\r\n// @ts-ignore\r\nimport { LocationQueryCommand } from '../model/locationQueryCommand';\r\n// @ts-ignore\r\nimport { WeatherLocation } from '../model/weatherLocation';\r\n// @ts-ignore\r\nimport { WeatherLocationNearest } from '../model/weatherLocationNearest';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param locationNearestGroupQuery \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherLocationClosestGroupPost(locationNearestGroupQuery?: LocationNearestGroupQuery, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\r\n public apiWeatherLocationClosestGroupPost(locationNearestGroupQuery?: LocationNearestGroupQuery, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherLocationClosestGroupPost(locationNearestGroupQuery?: LocationNearestGroupQuery, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherLocationClosestGroupPost(locationNearestGroupQuery?: LocationNearestGroupQuery, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/Location/ClosestGroup`,\r\n locationNearestGroupQuery,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param locationCoordinates \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherLocationClosestPost(locationCoordinates?: LocationCoordinates, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\r\n public apiWeatherLocationClosestPost(locationCoordinates?: LocationCoordinates, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\r\n public apiWeatherLocationClosestPost(locationCoordinates?: LocationCoordinates, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\r\n public apiWeatherLocationClosestPost(locationCoordinates?: LocationCoordinates, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Weather/Location/Closest`,\r\n locationCoordinates,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param locationQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiWeatherLocationQueryPost(locationQueryCommand?: LocationQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\r\n public apiWeatherLocationQueryPost(locationQueryCommand?: LocationQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherLocationQueryPost(locationQueryCommand?: LocationQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\r\n public apiWeatherLocationQueryPost(locationQueryCommand?: LocationQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Weather/Location/Query`,\r\n locationQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { LockR } from '../model/lockR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LockService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param id \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiLockIdGet(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiLockIdGet(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiLockIdGet(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiLockIdGet(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling apiLockIdGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/Lock/${encodeURIComponent(String(id))}`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param id \r\n * @param body \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiLockIdPut(id: string, body?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiLockIdPut(id: string, body?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiLockIdPut(id: string, body?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiLockIdPut(id: string, body?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling apiLockIdPut.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/Lock/${encodeURIComponent(String(id))}`,\r\n body,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { EnergyMeterReadingMethod } from '../model/energyMeterReadingMethod';\r\n// @ts-ignore\r\nimport { InlineObject4 } from '../model/inlineObject4';\r\n// @ts-ignore\r\nimport { InlineObject5 } from '../model/inlineObject5';\r\n// @ts-ignore\r\nimport { InlineResponse200 } from '../model/inlineResponse200';\r\n// @ts-ignore\r\nimport { MeasurementHistoricallyWithDeletedR } from '../model/measurementHistoricallyWithDeletedR';\r\n// @ts-ignore\r\nimport { MeasurementIdR } from '../model/measurementIdR';\r\n// @ts-ignore\r\nimport { MeasurementLimitR } from '../model/measurementLimitR';\r\n// @ts-ignore\r\nimport { MeasurementSource } from '../model/measurementSource';\r\n// @ts-ignore\r\nimport { MeasurementWithDeletedR } from '../model/measurementWithDeletedR';\r\n// @ts-ignore\r\nimport { MeasurementWithModifiedR } from '../model/measurementWithModifiedR';\r\n// @ts-ignore\r\nimport { MutationReasonCode } from '../model/mutationReasonCode';\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n// @ts-ignore\r\nimport { ZonedDateTimeIntervalR } from '../model/zonedDateTimeIntervalR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MeasurementService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param dataInterval A range of Local Dates. Example: [2019-11-15,2019-11-16), lower and/or upper bound can be omitted to indicate no bound\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementConnectionIdGetAllForDateGet(connectionId: string, dataInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllForDateGet(connectionId: string, dataInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllForDateGet(connectionId: string, dataInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllForDateGet(connectionId: string, dataInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllForDateGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllForDateGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/${encodeURIComponent(String(connectionId))}/GetAllForDate`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementConnectionIdGetAllGet(connectionId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllGet(connectionId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllGet(connectionId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllGet(connectionId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/${encodeURIComponent(String(connectionId))}/GetAll`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param dataInterval A range of Local Dates. Example: [2019-11-15,2019-11-16), lower and/or upper bound can be omitted to indicate no bound\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyForDateGet(connectionId: string, dataInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyForDateGet(connectionId: string, dataInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyForDateGet(connectionId: string, dataInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyForDateGet(connectionId: string, dataInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllHistoricallyForDateGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllHistoricallyForDateGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/${encodeURIComponent(String(connectionId))}/GetAllHistoricallyForDate`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyGet(connectionId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyGet(connectionId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyGet(connectionId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyGet(connectionId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllHistoricallyGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/${encodeURIComponent(String(connectionId))}/GetAllHistorically`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param modifiedInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyModifiedGet(connectionId: string, modifiedInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyModifiedGet(connectionId: string, modifiedInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyModifiedGet(connectionId: string, modifiedInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyModifiedGet(connectionId: string, modifiedInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllHistoricallyModifiedGet.');\r\n }\r\n if (modifiedInterval === null || modifiedInterval === undefined) {\r\n throw new Error('Required parameter modifiedInterval was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllHistoricallyModifiedGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (modifiedInterval !== undefined && modifiedInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedInterval, 'modifiedInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/${encodeURIComponent(String(connectionId))}/GetAllHistoricallyModified`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param dataInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyTimestampedGet(connectionId: string, dataInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyTimestampedGet(connectionId: string, dataInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyTimestampedGet(connectionId: string, dataInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllHistoricallyTimestampedGet(connectionId: string, dataInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllHistoricallyTimestampedGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllHistoricallyTimestampedGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/${encodeURIComponent(String(connectionId))}/GetAllHistoricallyTimestamped`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param modifiedInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementConnectionIdGetAllModifiedGet(connectionId: string, modifiedInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllModifiedGet(connectionId: string, modifiedInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllModifiedGet(connectionId: string, modifiedInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllModifiedGet(connectionId: string, modifiedInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllModifiedGet.');\r\n }\r\n if (modifiedInterval === null || modifiedInterval === undefined) {\r\n throw new Error('Required parameter modifiedInterval was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllModifiedGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (modifiedInterval !== undefined && modifiedInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedInterval, 'modifiedInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/${encodeURIComponent(String(connectionId))}/GetAllModified`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param dataInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementConnectionIdGetAllTimestampedGet(connectionId: string, dataInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllTimestampedGet(connectionId: string, dataInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllTimestampedGet(connectionId: string, dataInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementConnectionIdGetAllTimestampedGet(connectionId: string, dataInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllTimestampedGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetAllTimestampedGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/${encodeURIComponent(String(connectionId))}/GetAllTimestamped`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId The Id (EAN) of a connection.\r\n * @param instant A point in time: 2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementConnectionIdGetMeasurementEstimatesGet(connectionId: string, instant?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiConsumptionsMeasurementConnectionIdGetMeasurementEstimatesGet(connectionId: string, instant?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetMeasurementEstimatesGet(connectionId: string, instant?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementConnectionIdGetMeasurementEstimatesGet(connectionId: string, instant?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementConnectionIdGetMeasurementEstimatesGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (instant !== undefined && instant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n instant, 'Instant');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/consumptions/Measurement/${encodeURIComponent(String(connectionId))}/GetMeasurementEstimates`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param targetMeasuremsentSource \r\n * @param measurementIdR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementDeleteMeasurementsPut(targetMeasuremsentSource?: MeasurementSource, measurementIdR?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<{ [key: string]: Array; }>;\r\n public apiConsumptionsMeasurementDeleteMeasurementsPut(targetMeasuremsentSource?: MeasurementSource, measurementIdR?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable; }>>;\r\n public apiConsumptionsMeasurementDeleteMeasurementsPut(targetMeasuremsentSource?: MeasurementSource, measurementIdR?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable; }>>;\r\n public apiConsumptionsMeasurementDeleteMeasurementsPut(targetMeasuremsentSource?: MeasurementSource, measurementIdR?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (targetMeasuremsentSource !== undefined && targetMeasuremsentSource !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n targetMeasuremsentSource, 'targetMeasuremsentSource');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put<{ [key: string]: Array; }>(`${this.configuration.basePath}/api/consumptions/Measurement/DeleteMeasurements`,\r\n measurementIdR,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param productType \r\n * @param modifiedInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementGetAllHistoricallyModifiedGet(tenant: Tenant, productType: ProductType, modifiedInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementGetAllHistoricallyModifiedGet(tenant: Tenant, productType: ProductType, modifiedInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementGetAllHistoricallyModifiedGet(tenant: Tenant, productType: ProductType, modifiedInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementGetAllHistoricallyModifiedGet(tenant: Tenant, productType: ProductType, modifiedInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiConsumptionsMeasurementGetAllHistoricallyModifiedGet.');\r\n }\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiConsumptionsMeasurementGetAllHistoricallyModifiedGet.');\r\n }\r\n if (modifiedInterval === null || modifiedInterval === undefined) {\r\n throw new Error('Required parameter modifiedInterval was null or undefined when calling apiConsumptionsMeasurementGetAllHistoricallyModifiedGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/GetAllHistoricallyModified`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param tenant \r\n * @param productType \r\n * @param modifiedInterval A range of (zoned) timestamps. BEWARE must be ClosedOpen for now. Example: [2019-11-15T00:00:00.000000000+02:00 Europe/Amsterdam,2020-04), lower and/or upper bound can be omitted to indicate no bound\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementGetAllModifiedGet(tenant: Tenant, productType: ProductType, modifiedInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementGetAllModifiedGet(tenant: Tenant, productType: ProductType, modifiedInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementGetAllModifiedGet(tenant: Tenant, productType: ProductType, modifiedInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementGetAllModifiedGet(tenant: Tenant, productType: ProductType, modifiedInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiConsumptionsMeasurementGetAllModifiedGet.');\r\n }\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiConsumptionsMeasurementGetAllModifiedGet.');\r\n }\r\n if (modifiedInterval === null || modifiedInterval === undefined) {\r\n throw new Error('Required parameter modifiedInterval was null or undefined when calling apiConsumptionsMeasurementGetAllModifiedGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n if (modifiedInterval !== undefined && modifiedInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedInterval, 'modifiedInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/Measurement/GetAllModified`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId \r\n * @param customerId \r\n * @param meterId \r\n * @param localDate \r\n * @param tenant \r\n * @param shouldSubmitToGridOperator \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementLimitsGet(connectionId: string, customerId: number, meterId: string, localDate: string, tenant: Tenant, shouldSubmitToGridOperator: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiConsumptionsMeasurementLimitsGet(connectionId: string, customerId: number, meterId: string, localDate: string, tenant: Tenant, shouldSubmitToGridOperator: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementLimitsGet(connectionId: string, customerId: number, meterId: string, localDate: string, tenant: Tenant, shouldSubmitToGridOperator: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementLimitsGet(connectionId: string, customerId: number, meterId: string, localDate: string, tenant: Tenant, shouldSubmitToGridOperator: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiConsumptionsMeasurementLimitsGet.');\r\n }\r\n if (customerId === null || customerId === undefined) {\r\n throw new Error('Required parameter customerId was null or undefined when calling apiConsumptionsMeasurementLimitsGet.');\r\n }\r\n if (meterId === null || meterId === undefined) {\r\n throw new Error('Required parameter meterId was null or undefined when calling apiConsumptionsMeasurementLimitsGet.');\r\n }\r\n if (localDate === null || localDate === undefined) {\r\n throw new Error('Required parameter localDate was null or undefined when calling apiConsumptionsMeasurementLimitsGet.');\r\n }\r\n if (tenant === null || tenant === undefined) {\r\n throw new Error('Required parameter tenant was null or undefined when calling apiConsumptionsMeasurementLimitsGet.');\r\n }\r\n if (shouldSubmitToGridOperator === null || shouldSubmitToGridOperator === undefined) {\r\n throw new Error('Required parameter shouldSubmitToGridOperator was null or undefined when calling apiConsumptionsMeasurementLimitsGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (localDate !== undefined && localDate !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n localDate, 'localDate');\r\n }\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (shouldSubmitToGridOperator !== undefined && shouldSubmitToGridOperator !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n shouldSubmitToGridOperator, 'shouldSubmitToGridOperator');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/consumptions/Measurement/limits`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param shouldSubmitToGridOperator \r\n * @param measurementReadingMethod \r\n * @param measurementMutationReason \r\n * @param inlineObject5 \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementMeterReadingPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, measurementMutationReason?: MutationReasonCode, inlineObject5?: InlineObject5, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiConsumptionsMeasurementMeterReadingPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, measurementMutationReason?: MutationReasonCode, inlineObject5?: InlineObject5, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementMeterReadingPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, measurementMutationReason?: MutationReasonCode, inlineObject5?: InlineObject5, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementMeterReadingPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, measurementMutationReason?: MutationReasonCode, inlineObject5?: InlineObject5, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (shouldSubmitToGridOperator !== undefined && shouldSubmitToGridOperator !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n shouldSubmitToGridOperator, 'shouldSubmitToGridOperator');\r\n }\r\n if (measurementReadingMethod !== undefined && measurementReadingMethod !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n measurementReadingMethod, 'measurementReadingMethod');\r\n }\r\n if (measurementMutationReason !== undefined && measurementMutationReason !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n measurementMutationReason, 'measurementMutationReason');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/consumptions/Measurement/MeterReading`,\r\n inlineObject5,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param shouldSubmitToGridOperator \r\n * @param measurementReadingMethod \r\n * @param measurementMutationReason \r\n * @param inlineObject4 \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, measurementMutationReason?: MutationReasonCode, inlineObject4?: InlineObject4, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiConsumptionsMeasurementPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, measurementMutationReason?: MutationReasonCode, inlineObject4?: InlineObject4, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, measurementMutationReason?: MutationReasonCode, inlineObject4?: InlineObject4, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, measurementMutationReason?: MutationReasonCode, inlineObject4?: InlineObject4, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (shouldSubmitToGridOperator !== undefined && shouldSubmitToGridOperator !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n shouldSubmitToGridOperator, 'shouldSubmitToGridOperator');\r\n }\r\n if (measurementReadingMethod !== undefined && measurementReadingMethod !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n measurementReadingMethod, 'measurementReadingMethod');\r\n }\r\n if (measurementMutationReason !== undefined && measurementMutationReason !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n measurementMutationReason, 'measurementMutationReason');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/consumptions/Measurement`,\r\n inlineObject4,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId \r\n * @param customerId \r\n * @param meterId \r\n * @param tenant \r\n * @param shouldSubmitToGridOperator \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementRangesGet(connectionId?: string, customerId?: number, meterId?: string, tenant?: Tenant, shouldSubmitToGridOperator?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiConsumptionsMeasurementRangesGet(connectionId?: string, customerId?: number, meterId?: string, tenant?: Tenant, shouldSubmitToGridOperator?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementRangesGet(connectionId?: string, customerId?: number, meterId?: string, tenant?: Tenant, shouldSubmitToGridOperator?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementRangesGet(connectionId?: string, customerId?: number, meterId?: string, tenant?: Tenant, shouldSubmitToGridOperator?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (customerId !== undefined && customerId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n customerId, 'customerId');\r\n }\r\n if (meterId !== undefined && meterId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n meterId, 'meterId');\r\n }\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (shouldSubmitToGridOperator !== undefined && shouldSubmitToGridOperator !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n shouldSubmitToGridOperator, 'shouldSubmitToGridOperator');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/consumptions/Measurement/ranges`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ContactMeasurementCommunicationR } from '../model/contactMeasurementCommunicationR';\r\n// @ts-ignore\r\nimport { EnergyMeterReadingMethod } from '../model/energyMeterReadingMethod';\r\n// @ts-ignore\r\nimport { InlineObject6 } from '../model/inlineObject6';\r\n// @ts-ignore\r\nimport { InlineResponse200 } from '../model/inlineResponse200';\r\n// @ts-ignore\r\nimport { MeasurementCommunicationR } from '../model/measurementCommunicationR';\r\n// @ts-ignore\r\nimport { MeasurementCommunicationType } from '../model/measurementCommunicationType';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MeasurementCommunicationService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param connectionId The connection Id (EAN) of the contact measurement communications\r\n * @param dataInterval the range in which the communication is sent\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationConnectionIdGetAllGet(connectionId: string, dataInterval: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationConnectionIdGetAllGet(connectionId: string, dataInterval: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationConnectionIdGetAllGet(connectionId: string, dataInterval: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationConnectionIdGetAllGet(connectionId: string, dataInterval: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiAssetsMeasurementCommunicationConnectionIdGetAllGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiAssetsMeasurementCommunicationConnectionIdGetAllGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/MeasurementCommunication/${encodeURIComponent(String(connectionId))}/GetAll`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contactId \r\n * @param withMeasurements \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationContactIdGetAllByContactGet(contactId: number, withMeasurements?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationContactIdGetAllByContactGet(contactId: number, withMeasurements?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationContactIdGetAllByContactGet(contactId: number, withMeasurements?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationContactIdGetAllByContactGet(contactId: number, withMeasurements?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (contactId === null || contactId === undefined) {\r\n throw new Error('Required parameter contactId was null or undefined when calling apiAssetsMeasurementCommunicationContactIdGetAllByContactGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (withMeasurements !== undefined && withMeasurements !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n withMeasurements, 'withMeasurements');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/MeasurementCommunication/${encodeURIComponent(String(contactId))}/GetAllByContact`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contactId \r\n * @param dataInterval \r\n * @param withMeasurements \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationContactIdGetAllForDateGet(contactId: number, dataInterval: string, withMeasurements?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationContactIdGetAllForDateGet(contactId: number, dataInterval: string, withMeasurements?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationContactIdGetAllForDateGet(contactId: number, dataInterval: string, withMeasurements?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationContactIdGetAllForDateGet(contactId: number, dataInterval: string, withMeasurements?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (contactId === null || contactId === undefined) {\r\n throw new Error('Required parameter contactId was null or undefined when calling apiAssetsMeasurementCommunicationContactIdGetAllForDateGet.');\r\n }\r\n if (dataInterval === null || dataInterval === undefined) {\r\n throw new Error('Required parameter dataInterval was null or undefined when calling apiAssetsMeasurementCommunicationContactIdGetAllForDateGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (dataInterval !== undefined && dataInterval !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n dataInterval, 'dataInterval');\r\n }\r\n if (withMeasurements !== undefined && withMeasurements !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n withMeasurements, 'withMeasurements');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/MeasurementCommunication/${encodeURIComponent(String(contactId))}/GetAllForDate`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param measurementCommunicationType \r\n * @param contactId \r\n * @param meterId \r\n * @param timestamp \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationGet(measurementCommunicationType: MeasurementCommunicationType, contactId: number, meterId: string, timestamp: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationGet(measurementCommunicationType: MeasurementCommunicationType, contactId: number, meterId: string, timestamp: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationGet(measurementCommunicationType: MeasurementCommunicationType, contactId: number, meterId: string, timestamp: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationGet(measurementCommunicationType: MeasurementCommunicationType, contactId: number, meterId: string, timestamp: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (measurementCommunicationType === null || measurementCommunicationType === undefined) {\r\n throw new Error('Required parameter measurementCommunicationType was null or undefined when calling apiAssetsMeasurementCommunicationGet.');\r\n }\r\n if (contactId === null || contactId === undefined) {\r\n throw new Error('Required parameter contactId was null or undefined when calling apiAssetsMeasurementCommunicationGet.');\r\n }\r\n if (meterId === null || meterId === undefined) {\r\n throw new Error('Required parameter meterId was null or undefined when calling apiAssetsMeasurementCommunicationGet.');\r\n }\r\n if (timestamp === null || timestamp === undefined) {\r\n throw new Error('Required parameter timestamp was null or undefined when calling apiAssetsMeasurementCommunicationGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (measurementCommunicationType !== undefined && measurementCommunicationType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n measurementCommunicationType, 'measurementCommunicationType');\r\n }\r\n if (contactId !== undefined && contactId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n contactId, 'contactId');\r\n }\r\n if (meterId !== undefined && meterId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n meterId, 'meterId');\r\n }\r\n if (timestamp !== undefined && timestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n timestamp, 'timestamp');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/MeasurementCommunication`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationGetAllGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationGetAllGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationGetAllGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsMeasurementCommunicationGetAllGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/MeasurementCommunication/GetAll`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param shouldSubmitToGridOperator \r\n * @param measurementReadingMethod \r\n * @param inlineObject6 \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationMeterReadingCustomerPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, inlineObject6?: InlineObject6, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsMeasurementCommunicationMeterReadingCustomerPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, inlineObject6?: InlineObject6, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationMeterReadingCustomerPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, inlineObject6?: InlineObject6, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationMeterReadingCustomerPost(shouldSubmitToGridOperator?: boolean, measurementReadingMethod?: EnergyMeterReadingMethod, inlineObject6?: InlineObject6, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (shouldSubmitToGridOperator !== undefined && shouldSubmitToGridOperator !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n shouldSubmitToGridOperator, 'shouldSubmitToGridOperator');\r\n }\r\n if (measurementReadingMethod !== undefined && measurementReadingMethod !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n measurementReadingMethod, 'measurementReadingMethod');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/MeasurementCommunication/MeterReadingCustomer`,\r\n inlineObject6,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param contactMeasurementCommunicationR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationPut(contactMeasurementCommunicationR?: ContactMeasurementCommunicationR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAssetsMeasurementCommunicationPut(contactMeasurementCommunicationR?: ContactMeasurementCommunicationR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationPut(contactMeasurementCommunicationR?: ContactMeasurementCommunicationR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationPut(contactMeasurementCommunicationR?: ContactMeasurementCommunicationR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/assets/MeasurementCommunication`,\r\n contactMeasurementCommunicationR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionId \r\n * @param measurementCommunicationType \r\n * @param localDate \r\n * @param sendMailToCustomer \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationSendMeasurementCommunicationPost(connectionId?: string, measurementCommunicationType?: MeasurementCommunicationType, localDate?: string, sendMailToCustomer?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsMeasurementCommunicationSendMeasurementCommunicationPost(connectionId?: string, measurementCommunicationType?: MeasurementCommunicationType, localDate?: string, sendMailToCustomer?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationSendMeasurementCommunicationPost(connectionId?: string, measurementCommunicationType?: MeasurementCommunicationType, localDate?: string, sendMailToCustomer?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationSendMeasurementCommunicationPost(connectionId?: string, measurementCommunicationType?: MeasurementCommunicationType, localDate?: string, sendMailToCustomer?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (measurementCommunicationType !== undefined && measurementCommunicationType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n measurementCommunicationType, 'measurementCommunicationType');\r\n }\r\n if (localDate !== undefined && localDate !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n localDate, 'localDate');\r\n }\r\n if (sendMailToCustomer !== undefined && sendMailToCustomer !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n sendMailToCustomer, 'sendMailToCustomer');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/MeasurementCommunication/sendMeasurementCommunication`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param eAN \r\n * @param hashedID \r\n * @param expireNumberOfDays \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationWebsiteGet(eAN?: string, hashedID?: string, expireNumberOfDays?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsMeasurementCommunicationWebsiteGet(eAN?: string, hashedID?: string, expireNumberOfDays?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationWebsiteGet(eAN?: string, hashedID?: string, expireNumberOfDays?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationWebsiteGet(eAN?: string, hashedID?: string, expireNumberOfDays?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (eAN !== undefined && eAN !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n eAN, 'EAN');\r\n }\r\n if (hashedID !== undefined && hashedID !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n hashedID, 'hashedID');\r\n }\r\n if (expireNumberOfDays !== undefined && expireNumberOfDays !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n expireNumberOfDays, 'ExpireNumberOfDays');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/assets/MeasurementCommunication/Website`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param eAN \r\n * @param hashedID \r\n * @param normCons \r\n * @param lowCons \r\n * @param normProd \r\n * @param lowProd \r\n * @param remark \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsMeasurementCommunicationWebsitePost(eAN?: string, hashedID?: string, normCons?: number, lowCons?: number, normProd?: number, lowProd?: number, remark?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsMeasurementCommunicationWebsitePost(eAN?: string, hashedID?: string, normCons?: number, lowCons?: number, normProd?: number, lowProd?: number, remark?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationWebsitePost(eAN?: string, hashedID?: string, normCons?: number, lowCons?: number, normProd?: number, lowProd?: number, remark?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsMeasurementCommunicationWebsitePost(eAN?: string, hashedID?: string, normCons?: number, lowCons?: number, normProd?: number, lowProd?: number, remark?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (eAN !== undefined && eAN !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n eAN, 'EAN');\r\n }\r\n if (hashedID !== undefined && hashedID !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n hashedID, 'hashedID');\r\n }\r\n if (normCons !== undefined && normCons !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n normCons, 'NormCons');\r\n }\r\n if (lowCons !== undefined && lowCons !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n lowCons, 'LowCons');\r\n }\r\n if (normProd !== undefined && normProd !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n normProd, 'NormProd');\r\n }\r\n if (lowProd !== undefined && lowProd !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n lowProd, 'LowProd');\r\n }\r\n if (remark !== undefined && remark !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n remark, 'remark');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/MeasurementCommunication/Website`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ConnectionIdMeterIdLocalDateZonedDateTimeNullableMeasurementSourceValueTuple } from '../model/connectionIdMeterIdLocalDateZonedDateTimeNullableMeasurementSourceValueTuple';\r\n// @ts-ignore\r\nimport { MeasurementSource } from '../model/measurementSource';\r\n// @ts-ignore\r\nimport { MeasurementSourceDetailR } from '../model/measurementSourceDetailR';\r\n// @ts-ignore\r\nimport { Tariff } from '../model/tariff';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MeasurementSourceDetailService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param connectionId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByConnectionIdGet(connectionId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByConnectionIdGet(connectionId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByConnectionIdGet(connectionId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByConnectionIdGet(connectionId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/MeasurementSourceDetail/GetAllMeasureMentsourceDetailByConnectionId`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param modifiedTimestamp \r\n * @param withoutTariff \r\n * @param connectionId \r\n * @param meterId \r\n * @param date \r\n * @param timestamp \r\n * @param tariff \r\n * @param measurementSource \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByMeasurementIdHistoricallyGet(modifiedTimestamp?: string, withoutTariff?: ConnectionIdMeterIdLocalDateZonedDateTimeNullableMeasurementSourceValueTuple, connectionId?: string, meterId?: string, date?: string, timestamp?: string, tariff?: Tariff, measurementSource?: MeasurementSource, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByMeasurementIdHistoricallyGet(modifiedTimestamp?: string, withoutTariff?: ConnectionIdMeterIdLocalDateZonedDateTimeNullableMeasurementSourceValueTuple, connectionId?: string, meterId?: string, date?: string, timestamp?: string, tariff?: Tariff, measurementSource?: MeasurementSource, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByMeasurementIdHistoricallyGet(modifiedTimestamp?: string, withoutTariff?: ConnectionIdMeterIdLocalDateZonedDateTimeNullableMeasurementSourceValueTuple, connectionId?: string, meterId?: string, date?: string, timestamp?: string, tariff?: Tariff, measurementSource?: MeasurementSource, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByMeasurementIdHistoricallyGet(modifiedTimestamp?: string, withoutTariff?: ConnectionIdMeterIdLocalDateZonedDateTimeNullableMeasurementSourceValueTuple, connectionId?: string, meterId?: string, date?: string, timestamp?: string, tariff?: Tariff, measurementSource?: MeasurementSource, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (modifiedTimestamp !== undefined && modifiedTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedTimestamp, 'ModifiedTimestamp');\r\n }\r\n if (withoutTariff !== undefined && withoutTariff !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n withoutTariff, 'WithoutTariff');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'ConnectionId');\r\n }\r\n if (meterId !== undefined && meterId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n meterId, 'MeterId');\r\n }\r\n if (date !== undefined && date !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n date, 'Date');\r\n }\r\n if (timestamp !== undefined && timestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n timestamp, 'Timestamp');\r\n }\r\n if (tariff !== undefined && tariff !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tariff, 'Tariff');\r\n }\r\n if (measurementSource !== undefined && measurementSource !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n measurementSource, 'MeasurementSource');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/consumptions/MeasurementSourceDetail/GetAllMeasureMentsourceDetailByMeasurementIdHistorically`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { DelayCountRequest } from '../model/delayCountRequest';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MiddlewareService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param delayCountRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminMiddlewareDelayCountResponseHeaderPost(delayCountRequest?: DelayCountRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminMiddlewareDelayCountResponseHeaderPost(delayCountRequest?: DelayCountRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminMiddlewareDelayCountResponseHeaderPost(delayCountRequest?: DelayCountRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminMiddlewareDelayCountResponseHeaderPost(delayCountRequest?: DelayCountRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Middleware/DelayCountResponseHeader`,\r\n delayCountRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminMiddlewareHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminMiddlewareHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminMiddlewareHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminMiddlewareHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/Middleware/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n *\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n *\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { HttpClient, HttpContext, HttpEvent, HttpHeaders, HttpParameterCodec, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\n\r\nimport { Configuration } from '../configuration';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\n// @ts-ignore\r\nimport { ParameterValueId } from '../model/parameterValueId';\r\n// @ts-ignore\r\nimport { ParameterValueR } from '../model/parameterValueR';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n// @ts-ignore\r\nimport { BASE_PATH } from '../variables';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ParameterValueService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param parameterValueR\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminParameterValueCreatePost(parameterValueR?: ParameterValueR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminParameterValueCreatePost(parameterValueR?: ParameterValueR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueCreatePost(parameterValueR?: ParameterValueR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueCreatePost(parameterValueR?: ParameterValueR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/ParameterValue/Create`,\r\n parameterValueR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param parameterValueId\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n *\r\n * @deprecated FIXME MC: angular's http client cannot handle DELETE with body\r\n */\r\n public apiAdminParameterValueDeleteDelete(parameterValueId?: ParameterValueId, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminParameterValueDeleteDelete(parameterValueId?: ParameterValueId, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueDeleteDelete(parameterValueId?: ParameterValueId, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueDeleteDelete(parameterValueId?: ParameterValueId, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n throw new Error(\"FIXME MC: angular's http client cannot handle DELETE with body\");\r\n // return this.httpClient.delete(`${this.configuration.basePath}/api/admin/ParameterValue/Delete`,\r\n // parameterValueId,\r\n // {\r\n // context: localVarHttpContext,\r\n // responseType: responseType_,\r\n // withCredentials: this.configuration.withCredentials,\r\n // headers: localVarHeaders,\r\n // observe: observe,\r\n // reportProgress: reportProgress\r\n // }\r\n // );\r\n }\r\n\r\n /**\r\n * @param parameterValueName\r\n * @param tenant\r\n * @param from\r\n * @param until\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminParameterValueGetAllGet(parameterValueName?: string, tenant?: Tenant, from?: string, until?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueGetAllGet(parameterValueName?: string, tenant?: Tenant, from?: string, until?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminParameterValueGetAllGet(parameterValueName?: string, tenant?: Tenant, from?: string, until?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminParameterValueGetAllGet(parameterValueName?: string, tenant?: Tenant, from?: string, until?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (parameterValueName !== undefined && parameterValueName !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n parameterValueName, 'parameterValueName');\r\n }\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/ParameterValue/GetAll`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param parameterValueName\r\n * @param tenant\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminParameterValueGetAllValidGet(parameterValueName?: string, tenant?: Tenant, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueGetAllValidGet(parameterValueName?: string, tenant?: Tenant, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminParameterValueGetAllValidGet(parameterValueName?: string, tenant?: Tenant, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminParameterValueGetAllValidGet(parameterValueName?: string, tenant?: Tenant, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (parameterValueName !== undefined && parameterValueName !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n parameterValueName, 'parameterValueName');\r\n }\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/ParameterValue/GetAllValid`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param parameterValueName\r\n * @param tenant\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminParameterValueGetValidGet(parameterValueName?: string, tenant?: Tenant, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminParameterValueGetValidGet(parameterValueName?: string, tenant?: Tenant, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueGetValidGet(parameterValueName?: string, tenant?: Tenant, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueGetValidGet(parameterValueName?: string, tenant?: Tenant, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (parameterValueName !== undefined && parameterValueName !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n parameterValueName, 'parameterValueName');\r\n }\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/admin/ParameterValue/GetValid`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param parameterValueR\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminParameterValueUpdatePut(parameterValueR?: ParameterValueR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminParameterValueUpdatePut(parameterValueR?: ParameterValueR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueUpdatePut(parameterValueR?: ParameterValueR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueUpdatePut(parameterValueR?: ParameterValueR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ParameterValue/Update`,\r\n parameterValueR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param parameterValueR\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminParameterValueUpsertPut(parameterValueR?: ParameterValueR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminParameterValueUpsertPut(parameterValueR?: ParameterValueR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueUpsertPut(parameterValueR?: ParameterValueR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminParameterValueUpsertPut(parameterValueR?: ParameterValueR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ParameterValue/Upsert`,\r\n parameterValueR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CustomerPortalUserRequestCommand } from '../model/customerPortalUserRequestCommand';\r\n// @ts-ignore\r\nimport { CustomerPortalUserResponseCommand } from '../model/customerPortalUserResponseCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PortalServiceService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param customerPortalUserRequestCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiToolsPortalServiceCredentialManagementPost(customerPortalUserRequestCommand?: CustomerPortalUserRequestCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiToolsPortalServiceCredentialManagementPost(customerPortalUserRequestCommand?: CustomerPortalUserRequestCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiToolsPortalServiceCredentialManagementPost(customerPortalUserRequestCommand?: CustomerPortalUserRequestCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiToolsPortalServiceCredentialManagementPost(customerPortalUserRequestCommand?: CustomerPortalUserRequestCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/tools/PortalService/CredentialManagement`,\r\n customerPortalUserRequestCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiToolsPortalServiceHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiToolsPortalServiceHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiToolsPortalServiceHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiToolsPortalServiceHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/tools/PortalService/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CreatePortfolioCommand } from '../model/createPortfolioCommand';\r\n// @ts-ignore\r\nimport { DeletePortfolioCommand } from '../model/deletePortfolioCommand';\r\n// @ts-ignore\r\nimport { PortfolioRequest } from '../model/portfolioRequest';\r\n// @ts-ignore\r\nimport { PortfolioResponse } from '../model/portfolioResponse';\r\n// @ts-ignore\r\nimport { UpdatePortfolioCommand } from '../model/updatePortfolioCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PortfolioService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param createPortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPortfolioCreatePost(createPortfolioCommand?: CreatePortfolioCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastPortfolioCreatePost(createPortfolioCommand?: CreatePortfolioCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPortfolioCreatePost(createPortfolioCommand?: CreatePortfolioCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPortfolioCreatePost(createPortfolioCommand?: CreatePortfolioCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Portfolio/Create`,\r\n createPortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deletePortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPortfolioDeletePost(deletePortfolioCommand?: DeletePortfolioCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastPortfolioDeletePost(deletePortfolioCommand?: DeletePortfolioCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPortfolioDeletePost(deletePortfolioCommand?: DeletePortfolioCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPortfolioDeletePost(deletePortfolioCommand?: DeletePortfolioCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Portfolio/Delete`,\r\n deletePortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param portfolioRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPortfolioGetPost(portfolioRequest?: PortfolioRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPortfolioGetPost(portfolioRequest?: PortfolioRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPortfolioGetPost(portfolioRequest?: PortfolioRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPortfolioGetPost(portfolioRequest?: PortfolioRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/Portfolio/Get`,\r\n portfolioRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPortfolioHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPortfolioHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPortfolioHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPortfolioHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/Portfolio/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updatePortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPortfolioUpdatePost(updatePortfolioCommand?: UpdatePortfolioCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastPortfolioUpdatePost(updatePortfolioCommand?: UpdatePortfolioCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPortfolioUpdatePost(updatePortfolioCommand?: UpdatePortfolioCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPortfolioUpdatePost(updatePortfolioCommand?: UpdatePortfolioCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/Portfolio/Update`,\r\n updatePortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { DealResponse } from '../model/dealResponse';\r\n// @ts-ignore\r\nimport { ForecastAdjustmentCalculationTypeStringKeyValuePair } from '../model/forecastAdjustmentCalculationTypeStringKeyValuePair';\r\n// @ts-ignore\r\nimport { ForecastAdjustmentTypeStringKeyValuePair } from '../model/forecastAdjustmentTypeStringKeyValuePair';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseCalculateRequest } from '../model/preliminaryPurchaseCalculateRequest';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseCalculateResponse } from '../model/preliminaryPurchaseCalculateResponse';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseClusterOptionResponse } from '../model/preliminaryPurchaseClusterOptionResponse';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseCollectionRequest } from '../model/preliminaryPurchaseCollectionRequest';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseCreateRequest } from '../model/preliminaryPurchaseCreateRequest';\r\n// @ts-ignore\r\nimport { PreliminaryPurchasePartGenerationRequest } from '../model/preliminaryPurchasePartGenerationRequest';\r\n// @ts-ignore\r\nimport { PreliminaryPurchasePartResponse } from '../model/preliminaryPurchasePartResponse';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseQuarterRequest } from '../model/preliminaryPurchaseQuarterRequest';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseQuarterResponse } from '../model/preliminaryPurchaseQuarterResponse';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseRequest } from '../model/preliminaryPurchaseRequest';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseResponse } from '../model/preliminaryPurchaseResponse';\r\n// @ts-ignore\r\nimport { PreliminaryPurchaseTradeGroupFinalizeRequest } from '../model/preliminaryPurchaseTradeGroupFinalizeRequest';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PreliminaryPurchaseService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param preliminaryPurchaseCalculateRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseCalculatePost(preliminaryPurchaseCalculateRequest?: PreliminaryPurchaseCalculateRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastPreliminaryPurchaseCalculatePost(preliminaryPurchaseCalculateRequest?: PreliminaryPurchaseCalculateRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseCalculatePost(preliminaryPurchaseCalculateRequest?: PreliminaryPurchaseCalculateRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseCalculatePost(preliminaryPurchaseCalculateRequest?: PreliminaryPurchaseCalculateRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/Calculate`,\r\n preliminaryPurchaseCalculateRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param preliminaryPurchaseCreateRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseCreatePost(preliminaryPurchaseCreateRequest?: PreliminaryPurchaseCreateRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastPreliminaryPurchaseCreatePost(preliminaryPurchaseCreateRequest?: PreliminaryPurchaseCreateRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseCreatePost(preliminaryPurchaseCreateRequest?: PreliminaryPurchaseCreateRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseCreatePost(preliminaryPurchaseCreateRequest?: PreliminaryPurchaseCreateRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/Create`,\r\n preliminaryPurchaseCreateRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param preliminaryPurchaseTradeGroupFinalizeRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseFinalizePost(preliminaryPurchaseTradeGroupFinalizeRequest?: PreliminaryPurchaseTradeGroupFinalizeRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseFinalizePost(preliminaryPurchaseTradeGroupFinalizeRequest?: PreliminaryPurchaseTradeGroupFinalizeRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseFinalizePost(preliminaryPurchaseTradeGroupFinalizeRequest?: PreliminaryPurchaseTradeGroupFinalizeRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseFinalizePost(preliminaryPurchaseTradeGroupFinalizeRequest?: PreliminaryPurchaseTradeGroupFinalizeRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/Finalize`,\r\n preliminaryPurchaseTradeGroupFinalizeRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param preliminaryPurchasePartGenerationRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseGenerateAdjustmentPost(preliminaryPurchasePartGenerationRequest?: PreliminaryPurchasePartGenerationRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastPreliminaryPurchaseGenerateAdjustmentPost(preliminaryPurchasePartGenerationRequest?: PreliminaryPurchasePartGenerationRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGenerateAdjustmentPost(preliminaryPurchasePartGenerationRequest?: PreliminaryPurchasePartGenerationRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGenerateAdjustmentPost(preliminaryPurchasePartGenerationRequest?: PreliminaryPurchasePartGenerationRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/GenerateAdjustment`,\r\n preliminaryPurchasePartGenerationRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseGetAdjustmentTypesPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetAdjustmentTypesPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetAdjustmentTypesPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetAdjustmentTypesPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/GetAdjustmentTypes`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseGetCalculationTypesPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetCalculationTypesPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetCalculationTypesPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetCalculationTypesPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/GetCalculationTypes`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseGetClusterOptionsPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetClusterOptionsPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetClusterOptionsPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetClusterOptionsPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/GetClusterOptions`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseGetDateTypesPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetDateTypesPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetDateTypesPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetDateTypesPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/GetDateTypes`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param preliminaryPurchaseRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseGetPost(preliminaryPurchaseRequest?: PreliminaryPurchaseRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastPreliminaryPurchaseGetPost(preliminaryPurchaseRequest?: PreliminaryPurchaseRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetPost(preliminaryPurchaseRequest?: PreliminaryPurchaseRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetPost(preliminaryPurchaseRequest?: PreliminaryPurchaseRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/Get`,\r\n preliminaryPurchaseRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param preliminaryPurchaseQuarterRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseGetQuarterHoursPost(preliminaryPurchaseQuarterRequest?: PreliminaryPurchaseQuarterRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetQuarterHoursPost(preliminaryPurchaseQuarterRequest?: PreliminaryPurchaseQuarterRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetQuarterHoursPost(preliminaryPurchaseQuarterRequest?: PreliminaryPurchaseQuarterRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetQuarterHoursPost(preliminaryPurchaseQuarterRequest?: PreliminaryPurchaseQuarterRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/GetQuarterHours`,\r\n preliminaryPurchaseQuarterRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseGetRoundTypesPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetRoundTypesPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetRoundTypesPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseGetRoundTypesPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/GetRoundTypes`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param preliminaryPurchaseCollectionRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseGetTemplatePost(preliminaryPurchaseCollectionRequest?: PreliminaryPurchaseCollectionRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastPreliminaryPurchaseGetTemplatePost(preliminaryPurchaseCollectionRequest?: PreliminaryPurchaseCollectionRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetTemplatePost(preliminaryPurchaseCollectionRequest?: PreliminaryPurchaseCollectionRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseGetTemplatePost(preliminaryPurchaseCollectionRequest?: PreliminaryPurchaseCollectionRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/GetTemplate`,\r\n preliminaryPurchaseCollectionRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastPreliminaryPurchaseHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastPreliminaryPurchaseHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastPreliminaryPurchaseHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/PreliminaryPurchase/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { IntervalImbalancePriceR } from '../model/intervalImbalancePriceR';\r\n// @ts-ignore\r\nimport { IntervalPriceR } from '../model/intervalPriceR';\r\n// @ts-ignore\r\nimport { MarketType } from '../model/marketType';\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PriceService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Get the imbalance prices (only historic!)\r\n * @param productType \r\n * @param from Supply date from\r\n * @param until Supply date until\r\n * @param modifiedAfterTimestamp \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketPurchasesPriceImbalanceProductTypeGet(productType: ProductType, from?: string, until?: string, modifiedAfterTimestamp?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketPurchasesPriceImbalanceProductTypeGet(productType: ProductType, from?: string, until?: string, modifiedAfterTimestamp?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesPriceImbalanceProductTypeGet(productType: ProductType, from?: string, until?: string, modifiedAfterTimestamp?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesPriceImbalanceProductTypeGet(productType: ProductType, from?: string, until?: string, modifiedAfterTimestamp?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiMarketPurchasesPriceImbalanceProductTypeGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/market/purchases/Price/Imbalance/${encodeURIComponent(String(productType))}`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Get the APX prices (only historic!)\r\n * @param marketType The type of the market: APX or Leba\r\n * @param productType Elek or Gas; APX is only ELEK, Leba is GAS\r\n * @param from Supply date from\r\n * @param until Supply date until\r\n * @param modifiedAfterTimestamp \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketPurchasesPriceMarketTypeProductTypeGet(marketType: MarketType, productType: ProductType, from?: string, until?: string, modifiedAfterTimestamp?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketPurchasesPriceMarketTypeProductTypeGet(marketType: MarketType, productType: ProductType, from?: string, until?: string, modifiedAfterTimestamp?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesPriceMarketTypeProductTypeGet(marketType: MarketType, productType: ProductType, from?: string, until?: string, modifiedAfterTimestamp?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesPriceMarketTypeProductTypeGet(marketType: MarketType, productType: ProductType, from?: string, until?: string, modifiedAfterTimestamp?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (marketType === null || marketType === undefined) {\r\n throw new Error('Required parameter marketType was null or undefined when calling apiMarketPurchasesPriceMarketTypeProductTypeGet.');\r\n }\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiMarketPurchasesPriceMarketTypeProductTypeGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/market/purchases/Price/${encodeURIComponent(String(marketType))}/${encodeURIComponent(String(productType))}`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n *\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n *\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { HttpClient, HttpContext, HttpEvent, HttpHeaders, HttpParameterCodec, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\n\r\nimport { Configuration } from '../configuration';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\n// @ts-ignore\r\nimport { Process } from '../model/process';\r\n// @ts-ignore\r\nimport { ProcessProgressRIEnumerablePageR } from '../model/processProgressRIEnumerablePageR';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n// @ts-ignore\r\nimport { BASE_PATH } from '../variables';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProcessProgressService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Connections\r\n * @param connectionId\r\n * @param process\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n *\r\n * @deprecated FIXME MC: angular's http client cannot handle DELETE with body\r\n */\r\n public apiAdminProcessProgressConnectionIdDelete(connectionId: string, process?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminProcessProgressConnectionIdDelete(connectionId: string, process?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminProcessProgressConnectionIdDelete(connectionId: string, process?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminProcessProgressConnectionIdDelete(connectionId: string, process?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiAdminProcessProgressConnectionIdDelete.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (process) {\r\n process.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'process');\r\n })\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n throw new Error(\"FIXME MC: angular's http client cannot handle DELETE with body\");\r\n // return this.httpClient.delete(`${this.configuration.basePath}/api/admin/ProcessProgress/${encodeURIComponent(String(connectionId))}`,\r\n // null,\r\n // {\r\n // context: localVarHttpContext,\r\n // params: localVarQueryParameters,\r\n // responseType: responseType_,\r\n // withCredentials: this.configuration.withCredentials,\r\n // headers: localVarHeaders,\r\n // observe: observe,\r\n // reportProgress: reportProgress\r\n // }\r\n // );\r\n }\r\n\r\n /**\r\n * Connections\r\n * @param connectionId\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminProcessProgressConnectionIdPut(connectionId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminProcessProgressConnectionIdPut(connectionId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminProcessProgressConnectionIdPut(connectionId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminProcessProgressConnectionIdPut(connectionId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiAdminProcessProgressConnectionIdPut.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ProcessProgress/${encodeURIComponent(String(connectionId))}`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param process\r\n * @param tenant\r\n * @param connectionId Connection ids (EANs)\r\n * @param from Supply date from\r\n * @param until Supply date until\r\n * @param modifiedAfterTimestamp\r\n * @param modifiedBeforeTimestamp\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminProcessProgressGet(process?: Array, tenant?: Tenant, connectionId?: Array, from?: string, until?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminProcessProgressGet(process?: Array, tenant?: Tenant, connectionId?: Array, from?: string, until?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminProcessProgressGet(process?: Array, tenant?: Tenant, connectionId?: Array, from?: string, until?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminProcessProgressGet(process?: Array, tenant?: Tenant, connectionId?: Array, from?: string, until?: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (process) {\r\n process.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'process');\r\n })\r\n }\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (connectionId) {\r\n connectionId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'connectionId');\r\n })\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (modifiedBeforeTimestamp !== undefined && modifiedBeforeTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedBeforeTimestamp, 'modifiedBeforeTimestamp');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/admin/ProcessProgress`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { Process } from '../model/process';\r\n// @ts-ignore\r\nimport { ProcessStatisticsId } from '../model/processStatisticsId';\r\n// @ts-ignore\r\nimport { ProcessStatisticsR } from '../model/processStatisticsR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProcessStatisticsService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param process \r\n * @param modifiedAfterTimestamp \r\n * @param modifiedBeforeTimestamp \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminProcessStatisticsProcessGetAllGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminProcessStatisticsProcessGetAllGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminProcessStatisticsProcessGetAllGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminProcessStatisticsProcessGetAllGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (process === null || process === undefined) {\r\n throw new Error('Required parameter process was null or undefined when calling apiAdminProcessStatisticsProcessGetAllGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (modifiedBeforeTimestamp !== undefined && modifiedBeforeTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedBeforeTimestamp, 'modifiedBeforeTimestamp');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/ProcessStatistics/${encodeURIComponent(String(process))}/GetAll`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param process \r\n * @param modifiedAfterTimestamp \r\n * @param modifiedBeforeTimestamp \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminProcessStatisticsProcessLatestGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminProcessStatisticsProcessLatestGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminProcessStatisticsProcessLatestGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminProcessStatisticsProcessLatestGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (process === null || process === undefined) {\r\n throw new Error('Required parameter process was null or undefined when calling apiAdminProcessStatisticsProcessLatestGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (modifiedBeforeTimestamp !== undefined && modifiedBeforeTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedBeforeTimestamp, 'modifiedBeforeTimestamp');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/ProcessStatistics/${encodeURIComponent(String(process))}/latest`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param process \r\n * @param modifiedAfterTimestamp \r\n * @param modifiedBeforeTimestamp \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminProcessStatisticsProcessRunningGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminProcessStatisticsProcessRunningGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminProcessStatisticsProcessRunningGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminProcessStatisticsProcessRunningGet(process: Process, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (process === null || process === undefined) {\r\n throw new Error('Required parameter process was null or undefined when calling apiAdminProcessStatisticsProcessRunningGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (modifiedBeforeTimestamp !== undefined && modifiedBeforeTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedBeforeTimestamp, 'modifiedBeforeTimestamp');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/ProcessStatistics/${encodeURIComponent(String(process))}/running`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param processStatisticsId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminProcessStatisticsPut(processStatisticsId?: ProcessStatisticsId, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminProcessStatisticsPut(processStatisticsId?: ProcessStatisticsId, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminProcessStatisticsPut(processStatisticsId?: ProcessStatisticsId, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminProcessStatisticsPut(processStatisticsId?: ProcessStatisticsId, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/ProcessStatistics`,\r\n processStatisticsId,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n// @ts-ignore\r\nimport { ProfileR } from '../model/profileR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProfileService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Get the profile with its fractions\r\n * @param productType \r\n * @param profileId \r\n * @param from Supply date from\r\n * @param until Supply date until\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiSystemProfileGet(productType?: ProductType, profileId?: Array, from?: string, until?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiSystemProfileGet(productType?: ProductType, profileId?: Array, from?: string, until?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiSystemProfileGet(productType?: ProductType, profileId?: Array, from?: string, until?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiSystemProfileGet(productType?: ProductType, profileId?: Array, from?: string, until?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (productType !== undefined && productType !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n productType, 'productType');\r\n }\r\n if (profileId) {\r\n profileId.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'profileId');\r\n })\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/system/Profile`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { Granularity } from '../model/granularity';\r\n// @ts-ignore\r\nimport { IntervalPurchaseR } from '../model/intervalPurchaseR';\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n// @ts-ignore\r\nimport { PurchaseType } from '../model/purchaseType';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PurchaseService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * The nomination or imbalance aquired from TenneT\r\n * @param purchaseType \r\n * @param productType Only electricity for now\r\n * @param tenant \r\n * @param from Supply date from\r\n * @param until Supply date until\r\n * @param granularity \r\n * @param modifiedAfterTimestamp Get all changed since - this works for granularity smaller DAY\r\n * @param nett Only applicable for imbalance; nett gives the nett imbalance price (the bill of Tennet) and the sum of the absolute values of the imbalance. Otherwise the sum of the imbalance (not absolute!) and the imbalance costs as seen by the tenant are returned.\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketPurchasesPurchasePurchaseTypeProductTypeGet(purchaseType: PurchaseType, productType: ProductType, tenant?: Tenant, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, nett?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketPurchasesPurchasePurchaseTypeProductTypeGet(purchaseType: PurchaseType, productType: ProductType, tenant?: Tenant, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, nett?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesPurchasePurchaseTypeProductTypeGet(purchaseType: PurchaseType, productType: ProductType, tenant?: Tenant, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, nett?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketPurchasesPurchasePurchaseTypeProductTypeGet(purchaseType: PurchaseType, productType: ProductType, tenant?: Tenant, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, nett?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (purchaseType === null || purchaseType === undefined) {\r\n throw new Error('Required parameter purchaseType was null or undefined when calling apiMarketPurchasesPurchasePurchaseTypeProductTypeGet.');\r\n }\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiMarketPurchasesPurchasePurchaseTypeProductTypeGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n if (granularity !== undefined && granularity !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n granularity, 'granularity');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (nett !== undefined && nett !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n nett, 'nett');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/market/purchases/Purchase/${encodeURIComponent(String(purchaseType))}/${encodeURIComponent(String(productType))}`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { QueuedAssetDataRequest } from '../model/queuedAssetDataRequest';\r\n// @ts-ignore\r\nimport { QueuedAssetDataResponse } from '../model/queuedAssetDataResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QueuedAssetDataService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param queuedAssetDataRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastQueuedAssetDataGetPost(queuedAssetDataRequest?: QueuedAssetDataRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastQueuedAssetDataGetPost(queuedAssetDataRequest?: QueuedAssetDataRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedAssetDataGetPost(queuedAssetDataRequest?: QueuedAssetDataRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedAssetDataGetPost(queuedAssetDataRequest?: QueuedAssetDataRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/QueuedAssetData/Get`,\r\n queuedAssetDataRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastQueuedAssetDataHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastQueuedAssetDataHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedAssetDataHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedAssetDataHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/QueuedAssetData/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { QueuedAssetProgressRequest } from '../model/queuedAssetProgressRequest';\r\n// @ts-ignore\r\nimport { QueuedAssetProgressResponse } from '../model/queuedAssetProgressResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QueuedAssetProgressService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param queuedAssetProgressRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastQueuedAssetProgressGetPost(queuedAssetProgressRequest?: QueuedAssetProgressRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastQueuedAssetProgressGetPost(queuedAssetProgressRequest?: QueuedAssetProgressRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedAssetProgressGetPost(queuedAssetProgressRequest?: QueuedAssetProgressRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedAssetProgressGetPost(queuedAssetProgressRequest?: QueuedAssetProgressRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/QueuedAssetProgress/Get`,\r\n queuedAssetProgressRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastQueuedAssetProgressHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastQueuedAssetProgressHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedAssetProgressHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedAssetProgressHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/QueuedAssetProgress/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { QueuedForecastDataRequest } from '../model/queuedForecastDataRequest';\r\n// @ts-ignore\r\nimport { QueuedForecastDataResponse } from '../model/queuedForecastDataResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QueuedForecastDataService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param queuedForecastDataRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastQueuedForecastDataGetPost(queuedForecastDataRequest?: QueuedForecastDataRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastQueuedForecastDataGetPost(queuedForecastDataRequest?: QueuedForecastDataRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedForecastDataGetPost(queuedForecastDataRequest?: QueuedForecastDataRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedForecastDataGetPost(queuedForecastDataRequest?: QueuedForecastDataRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/QueuedForecastData/Get`,\r\n queuedForecastDataRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastQueuedForecastDataHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastQueuedForecastDataHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedForecastDataHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedForecastDataHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/QueuedForecastData/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { QueuedForecastProgressRequest } from '../model/queuedForecastProgressRequest';\r\n// @ts-ignore\r\nimport { QueuedForecastProgressResponse } from '../model/queuedForecastProgressResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QueuedForecastProgressService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param queuedForecastProgressRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastQueuedForecastProgressGetPost(queuedForecastProgressRequest?: QueuedForecastProgressRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastQueuedForecastProgressGetPost(queuedForecastProgressRequest?: QueuedForecastProgressRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedForecastProgressGetPost(queuedForecastProgressRequest?: QueuedForecastProgressRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedForecastProgressGetPost(queuedForecastProgressRequest?: QueuedForecastProgressRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/QueuedForecastProgress/Get`,\r\n queuedForecastProgressRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastQueuedForecastProgressHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastQueuedForecastProgressHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedForecastProgressHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastQueuedForecastProgressHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/QueuedForecastProgress/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { Granularity } from '../model/granularity';\r\n// @ts-ignore\r\nimport { IntervalProsumptionQuantitiesByTariffR } from '../model/intervalProsumptionQuantitiesByTariffR';\r\n// @ts-ignore\r\nimport { ProductType } from '../model/productType';\r\n// @ts-ignore\r\nimport { Tenant } from '../model/tenant';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReconciliationService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * Get the assigned reconciliaton (from the \\"kassabonnen\\")\r\n * @param productType Only electricity for now\r\n * @param tenant Only NieuweStroom supported now\r\n * @param connectionId EAN\r\n * @param from Supply date from\r\n * @param until Supply date until\r\n * @param granularity \r\n * @param modifiedAfterTimestamp This does not work yet\r\n * @param gridOperatorId This does not work yet\r\n * @param profileId profile code, this does not work yet\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiMarketAllocationsReconciliationProductTypeGet(productType: ProductType, tenant?: Tenant, connectionId?: string, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, gridOperatorId?: number, profileId?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiMarketAllocationsReconciliationProductTypeGet(productType: ProductType, tenant?: Tenant, connectionId?: string, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, gridOperatorId?: number, profileId?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketAllocationsReconciliationProductTypeGet(productType: ProductType, tenant?: Tenant, connectionId?: string, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, gridOperatorId?: number, profileId?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiMarketAllocationsReconciliationProductTypeGet(productType: ProductType, tenant?: Tenant, connectionId?: string, from?: string, until?: string, granularity?: Granularity, modifiedAfterTimestamp?: string, gridOperatorId?: number, profileId?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (productType === null || productType === undefined) {\r\n throw new Error('Required parameter productType was null or undefined when calling apiMarketAllocationsReconciliationProductTypeGet.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tenant !== undefined && tenant !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tenant, 'tenant');\r\n }\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n if (from !== undefined && from !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n from, 'from');\r\n }\r\n if (until !== undefined && until !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n until, 'until');\r\n }\r\n if (granularity !== undefined && granularity !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n granularity, 'granularity');\r\n }\r\n if (modifiedAfterTimestamp !== undefined && modifiedAfterTimestamp !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedAfterTimestamp, 'modifiedAfterTimestamp');\r\n }\r\n if (gridOperatorId !== undefined && gridOperatorId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n gridOperatorId, 'gridOperatorId');\r\n }\r\n if (profileId !== undefined && profileId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n profileId, 'profileId');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/market/allocations/Reconciliation/${encodeURIComponent(String(productType))}`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CreateResaleClusterCommand } from '../model/createResaleClusterCommand';\r\n// @ts-ignore\r\nimport { DeleteResaleClusterCommand } from '../model/deleteResaleClusterCommand';\r\n// @ts-ignore\r\nimport { ResaleClusterRequest } from '../model/resaleClusterRequest';\r\n// @ts-ignore\r\nimport { ResaleClusterResponse } from '../model/resaleClusterResponse';\r\n// @ts-ignore\r\nimport { UpdateResaleClusterCommand } from '../model/updateResaleClusterCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ResaleClusterService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param createResaleClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastResaleClusterCreatePost(createResaleClusterCommand?: CreateResaleClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastResaleClusterCreatePost(createResaleClusterCommand?: CreateResaleClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterCreatePost(createResaleClusterCommand?: CreateResaleClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterCreatePost(createResaleClusterCommand?: CreateResaleClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/ResaleCluster/Create`,\r\n createResaleClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteResaleClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastResaleClusterDeletePost(deleteResaleClusterCommand?: DeleteResaleClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastResaleClusterDeletePost(deleteResaleClusterCommand?: DeleteResaleClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterDeletePost(deleteResaleClusterCommand?: DeleteResaleClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterDeletePost(deleteResaleClusterCommand?: DeleteResaleClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/ResaleCluster/Delete`,\r\n deleteResaleClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param resaleClusterRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastResaleClusterGetPost(resaleClusterRequest?: ResaleClusterRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterGetPost(resaleClusterRequest?: ResaleClusterRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterGetPost(resaleClusterRequest?: ResaleClusterRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterGetPost(resaleClusterRequest?: ResaleClusterRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ResaleCluster/Get`,\r\n resaleClusterRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastResaleClusterHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/ResaleCluster/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateResaleClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastResaleClusterUpdatePost(updateResaleClusterCommand?: UpdateResaleClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiForecastResaleClusterUpdatePost(updateResaleClusterCommand?: UpdateResaleClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterUpdatePost(updateResaleClusterCommand?: UpdateResaleClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterUpdatePost(updateResaleClusterCommand?: UpdateResaleClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Forecast/ResaleCluster/Update`,\r\n updateResaleClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CreateResaleClusterConnectionCommand } from '../model/createResaleClusterConnectionCommand';\r\n// @ts-ignore\r\nimport { DeleteResaleClusterConnectionCommand } from '../model/deleteResaleClusterConnectionCommand';\r\n// @ts-ignore\r\nimport { ResaleClusterConnectionResponse } from '../model/resaleClusterConnectionResponse';\r\n// @ts-ignore\r\nimport { UpdateResaleClusterConnectionCommand } from '../model/updateResaleClusterConnectionCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ResaleClusterConnectionService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param createResaleClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastResaleClusterConnectionCreatePost(createResaleClusterConnectionCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterConnectionCreatePost(createResaleClusterConnectionCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterConnectionCreatePost(createResaleClusterConnectionCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterConnectionCreatePost(createResaleClusterConnectionCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ResaleClusterConnection/Create`,\r\n createResaleClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteResaleClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastResaleClusterConnectionDeletePost(deleteResaleClusterConnectionCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterConnectionDeletePost(deleteResaleClusterConnectionCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterConnectionDeletePost(deleteResaleClusterConnectionCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterConnectionDeletePost(deleteResaleClusterConnectionCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ResaleClusterConnection/Delete`,\r\n deleteResaleClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastResaleClusterConnectionHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterConnectionHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterConnectionHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterConnectionHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Forecast/ResaleClusterConnection/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateResaleClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiForecastResaleClusterConnectionUpdatePost(updateResaleClusterConnectionCommand?: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiForecastResaleClusterConnectionUpdatePost(updateResaleClusterConnectionCommand?: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterConnectionUpdatePost(updateResaleClusterConnectionCommand?: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiForecastResaleClusterConnectionUpdatePost(updateResaleClusterConnectionCommand?: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/Forecast/ResaleClusterConnection/Update`,\r\n updateResaleClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { SBMessageRequest } from '../model/sBMessageRequest';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SBPassthroughService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param sBMessageRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiSBPassthroughPost(sBMessageRequest?: SBMessageRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiSBPassthroughPost(sBMessageRequest?: SBMessageRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiSBPassthroughPost(sBMessageRequest?: SBMessageRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiSBPassthroughPost(sBMessageRequest?: SBMessageRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/SBPassthrough`,\r\n sBMessageRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SalesDockService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiOnboardingThirdpartysalesSalesDockHelloHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiOnboardingThirdpartysalesSalesDockHelloHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiOnboardingThirdpartysalesSalesDockHelloHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiOnboardingThirdpartysalesSalesDockHelloHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/onboarding/thirdpartysales/SalesDock/Hello/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param saleId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiOnboardingThirdpartysalesSalesDockPublishNewSaleSaleIdPost(saleId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiOnboardingThirdpartysalesSalesDockPublishNewSaleSaleIdPost(saleId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiOnboardingThirdpartysalesSalesDockPublishNewSaleSaleIdPost(saleId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiOnboardingThirdpartysalesSalesDockPublishNewSaleSaleIdPost(saleId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n if (saleId === null || saleId === undefined) {\r\n throw new Error('Required parameter saleId was null or undefined when calling apiOnboardingThirdpartysalesSalesDockPublishNewSaleSaleIdPost.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/onboarding/thirdpartysales/SalesDock/PublishNewSale/${encodeURIComponent(String(saleId))}`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { SolarAssetCreateCommand } from '../model/solarAssetCreateCommand';\r\n// @ts-ignore\r\nimport { SolarAssetCreateResponse } from '../model/solarAssetCreateResponse';\r\n// @ts-ignore\r\nimport { SolarAssetRequest } from '../model/solarAssetRequest';\r\n// @ts-ignore\r\nimport { SolarAssetResponse } from '../model/solarAssetResponse';\r\n// @ts-ignore\r\nimport { SolarAssetUpdateCommand } from '../model/solarAssetUpdateCommand';\r\n// @ts-ignore\r\nimport { SolarAssetUpdateResponse } from '../model/solarAssetUpdateResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SolarAssetService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param solarAssetCreateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsSolarAssetCreatePost(solarAssetCreateCommand?: SolarAssetCreateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsSolarAssetCreatePost(solarAssetCreateCommand?: SolarAssetCreateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSolarAssetCreatePost(solarAssetCreateCommand?: SolarAssetCreateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSolarAssetCreatePost(solarAssetCreateCommand?: SolarAssetCreateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/SolarAsset/Create`,\r\n solarAssetCreateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param solarAssetRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsSolarAssetGetPost(solarAssetRequest?: SolarAssetRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSolarAssetGetPost(solarAssetRequest?: SolarAssetRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsSolarAssetGetPost(solarAssetRequest?: SolarAssetRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsSolarAssetGetPost(solarAssetRequest?: SolarAssetRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/assets/SolarAsset/Get`,\r\n solarAssetRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsSolarAssetHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSolarAssetHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsSolarAssetHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsSolarAssetHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/SolarAsset/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param solarAssetUpdateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsSolarAssetUpdatePost(solarAssetUpdateCommand?: SolarAssetUpdateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsSolarAssetUpdatePost(solarAssetUpdateCommand?: SolarAssetUpdateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSolarAssetUpdatePost(solarAssetUpdateCommand?: SolarAssetUpdateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSolarAssetUpdatePost(solarAssetUpdateCommand?: SolarAssetUpdateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/SolarAsset/Update`,\r\n solarAssetUpdateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { SustainableMeterDetailCreateRequest } from '../model/sustainableMeterDetailCreateRequest';\r\n// @ts-ignore\r\nimport { SustainableMeterDetailCreateResponse } from '../model/sustainableMeterDetailCreateResponse';\r\n// @ts-ignore\r\nimport { SustainableMeterDetailDeleteRequest } from '../model/sustainableMeterDetailDeleteRequest';\r\n// @ts-ignore\r\nimport { SustainableMeterDetailDeleteResponse } from '../model/sustainableMeterDetailDeleteResponse';\r\n// @ts-ignore\r\nimport { SustainableMeterDetailUpdateRequest } from '../model/sustainableMeterDetailUpdateRequest';\r\n// @ts-ignore\r\nimport { SustainableMeterDetailUpdateResponse } from '../model/sustainableMeterDetailUpdateResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SustainableMeterDetailService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param sustainableMeterDetailCreateRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsSustainableMeterDetailCreatePost(sustainableMeterDetailCreateRequest?: SustainableMeterDetailCreateRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsSustainableMeterDetailCreatePost(sustainableMeterDetailCreateRequest?: SustainableMeterDetailCreateRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSustainableMeterDetailCreatePost(sustainableMeterDetailCreateRequest?: SustainableMeterDetailCreateRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSustainableMeterDetailCreatePost(sustainableMeterDetailCreateRequest?: SustainableMeterDetailCreateRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/SustainableMeterDetail/Create`,\r\n sustainableMeterDetailCreateRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param sustainableMeterDetailDeleteRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsSustainableMeterDetailDeletePost(sustainableMeterDetailDeleteRequest?: SustainableMeterDetailDeleteRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsSustainableMeterDetailDeletePost(sustainableMeterDetailDeleteRequest?: SustainableMeterDetailDeleteRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSustainableMeterDetailDeletePost(sustainableMeterDetailDeleteRequest?: SustainableMeterDetailDeleteRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSustainableMeterDetailDeletePost(sustainableMeterDetailDeleteRequest?: SustainableMeterDetailDeleteRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/SustainableMeterDetail/Delete`,\r\n sustainableMeterDetailDeleteRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsSustainableMeterDetailHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSustainableMeterDetailHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsSustainableMeterDetailHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsSustainableMeterDetailHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/SustainableMeterDetail/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param sustainableMeterDetailUpdateRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsSustainableMeterDetailUpdatePost(sustainableMeterDetailUpdateRequest?: SustainableMeterDetailUpdateRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsSustainableMeterDetailUpdatePost(sustainableMeterDetailUpdateRequest?: SustainableMeterDetailUpdateRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSustainableMeterDetailUpdatePost(sustainableMeterDetailUpdateRequest?: SustainableMeterDetailUpdateRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsSustainableMeterDetailUpdatePost(sustainableMeterDetailUpdateRequest?: SustainableMeterDetailUpdateRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/SustainableMeterDetail/Update`,\r\n sustainableMeterDetailUpdateRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SyncService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * sync connection\r\n * @param connectionId \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminSyncSyncForConnectionPost(connectionId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminSyncSyncForConnectionPost(connectionId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminSyncSyncForConnectionPost(connectionId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminSyncSyncForConnectionPost(connectionId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (connectionId !== undefined && connectionId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n connectionId, 'connectionId');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Sync/SyncForConnection`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimeService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param body \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminTimeGetTimeFromDateTimeOffsetPost(body?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminTimeGetTimeFromDateTimeOffsetPost(body?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTimeGetTimeFromDateTimeOffsetPost(body?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTimeGetTimeFromDateTimeOffsetPost(body?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Time/GetTimeFromDateTimeOffset`,\r\n body,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param body \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminTimeGetTimeFromZonedDateTimePost(body?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminTimeGetTimeFromZonedDateTimePost(body?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTimeGetTimeFromZonedDateTimePost(body?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTimeGetTimeFromZonedDateTimePost(body?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/Time/GetTimeFromZonedDateTime`,\r\n body,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminTimeHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTimeHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminTimeHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAdminTimeHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/admin/Time/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { TimeSerieRequest } from '../model/timeSerieRequest';\r\n// @ts-ignore\r\nimport { TimeSerieResponse } from '../model/timeSerieResponse';\r\n// @ts-ignore\r\nimport { TimeSerieValueRequest } from '../model/timeSerieValueRequest';\r\n// @ts-ignore\r\nimport { TimeSerieValueResponse } from '../model/timeSerieValueResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimeSerieService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param timeSerieValueRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiTimeSeriesTimeSerieGetTimeSerieValuesPost(timeSerieValueRequest?: TimeSerieValueRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiTimeSeriesTimeSerieGetTimeSerieValuesPost(timeSerieValueRequest?: TimeSerieValueRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiTimeSeriesTimeSerieGetTimeSerieValuesPost(timeSerieValueRequest?: TimeSerieValueRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiTimeSeriesTimeSerieGetTimeSerieValuesPost(timeSerieValueRequest?: TimeSerieValueRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/TimeSeries/TimeSerie/GetTimeSerieValues`,\r\n timeSerieValueRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param timeSerieRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiTimeSeriesTimeSerieGetTimeSeriesPost(timeSerieRequest?: TimeSerieRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiTimeSeriesTimeSerieGetTimeSeriesPost(timeSerieRequest?: TimeSerieRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiTimeSeriesTimeSerieGetTimeSeriesPost(timeSerieRequest?: TimeSerieRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiTimeSeriesTimeSerieGetTimeSeriesPost(timeSerieRequest?: TimeSerieRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/TimeSeries/TimeSerie/GetTimeSeries`,\r\n timeSerieRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiTimeSeriesTimeSerieHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiTimeSeriesTimeSerieHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiTimeSeriesTimeSerieHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiTimeSeriesTimeSerieHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/TimeSeries/TimeSerie/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { CurtailmentCreateResponse } from '../model/curtailmentCreateResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TransactionService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param connectionId \r\n * @param file \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiTransactionsTransactionConnectionIdUploadCurtailmentPost(connectionId: number, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiTransactionsTransactionConnectionIdUploadCurtailmentPost(connectionId: number, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiTransactionsTransactionConnectionIdUploadCurtailmentPost(connectionId: number, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiTransactionsTransactionConnectionIdUploadCurtailmentPost(connectionId: number, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionId === null || connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiTransactionsTransactionConnectionIdUploadCurtailmentPost.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'multipart/form-data',\r\n 'application/json'\r\n ];\r\n\r\n const canConsumeForm = this.canConsumeForm(consumes);\r\n\r\n let localVarFormParams: { append(param: string, value: any): any; };\r\n let localVarUseForm = false;\r\n let localVarConvertFormParamsToString = false;\r\n // use FormData to transmit files using content-type \"multipart/form-data\"\r\n // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data\r\n localVarUseForm = canConsumeForm;\r\n if (localVarUseForm) {\r\n localVarFormParams = new FormData();\r\n } else {\r\n localVarFormParams = new HttpParams({encoder: this.encoder});\r\n }\r\n\r\n if (file !== undefined) {\r\n localVarFormParams = localVarFormParams.append('file', file) as any || localVarFormParams;\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/Transactions/Transaction/${encodeURIComponent(String(connectionId))}/UploadCurtailment`,\r\n localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiTransactionsTransactionHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiTransactionsTransactionHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiTransactionsTransactionHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiTransactionsTransactionHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/Transactions/Transaction/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { TranslationCategoryIdIEnumerablePageR } from '../model/translationCategoryIdIEnumerablePageR';\r\n// @ts-ignore\r\nimport { TranslationCategoryR } from '../model/translationCategoryR';\r\n// @ts-ignore\r\nimport { TranslationCategoryRIEnumerablePageR } from '../model/translationCategoryRIEnumerablePageR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TranslationCategoryService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param translationDomainName \r\n * @param name \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminTranslationCategoryGet(translationDomainName?: string, name?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminTranslationCategoryGet(translationDomainName?: string, name?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryGet(translationDomainName?: string, name?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryGet(translationDomainName?: string, name?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (translationDomainName !== undefined && translationDomainName !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n translationDomainName, 'translationDomainName');\r\n }\r\n if (name !== undefined && name !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n name, 'name');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/admin/TranslationCategory`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminTranslationCategoryIdsGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminTranslationCategoryIdsGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryIdsGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryIdsGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/admin/TranslationCategory/Ids`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param translationCategoryR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminTranslationCategoryPost(translationCategoryR?: TranslationCategoryR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminTranslationCategoryPost(translationCategoryR?: TranslationCategoryR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryPost(translationCategoryR?: TranslationCategoryR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryPost(translationCategoryR?: TranslationCategoryR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/admin/TranslationCategory`,\r\n translationCategoryR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param translationDomainName \r\n * @param name \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminTranslationCategoryTranslationDomainNameNameGet(translationDomainName: string, name: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAdminTranslationCategoryTranslationDomainNameNameGet(translationDomainName: string, name: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryTranslationDomainNameNameGet(translationDomainName: string, name: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryTranslationDomainNameNameGet(translationDomainName: string, name: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (translationDomainName === null || translationDomainName === undefined) {\r\n throw new Error('Required parameter translationDomainName was null or undefined when calling apiAdminTranslationCategoryTranslationDomainNameNameGet.');\r\n }\r\n if (name === null || name === undefined) {\r\n throw new Error('Required parameter name was null or undefined when calling apiAdminTranslationCategoryTranslationDomainNameNameGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/admin/TranslationCategory/${encodeURIComponent(String(translationDomainName))}/${encodeURIComponent(String(name))}`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param translationDomainName \r\n * @param name \r\n * @param translationCategoryR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAdminTranslationCategoryTranslationDomainNameNamePut(translationDomainName: string, name: string, translationCategoryR?: TranslationCategoryR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiAdminTranslationCategoryTranslationDomainNameNamePut(translationDomainName: string, name: string, translationCategoryR?: TranslationCategoryR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryTranslationDomainNameNamePut(translationDomainName: string, name: string, translationCategoryR?: TranslationCategoryR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiAdminTranslationCategoryTranslationDomainNameNamePut(translationDomainName: string, name: string, translationCategoryR?: TranslationCategoryR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n if (translationDomainName === null || translationDomainName === undefined) {\r\n throw new Error('Required parameter translationDomainName was null or undefined when calling apiAdminTranslationCategoryTranslationDomainNameNamePut.');\r\n }\r\n if (name === null || name === undefined) {\r\n throw new Error('Required parameter name was null or undefined when calling apiAdminTranslationCategoryTranslationDomainNameNamePut.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.put(`${this.configuration.basePath}/api/admin/TranslationCategory/${encodeURIComponent(String(translationDomainName))}/${encodeURIComponent(String(name))}`,\r\n translationCategoryR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TwikeyWebhookService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param type \r\n * @param mandateNumber \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiOnboardingDirectdebitmandatesTwikeywebhookGet(type?: string, mandateNumber?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\r\n public apiOnboardingDirectdebitmandatesTwikeywebhookGet(type?: string, mandateNumber?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiOnboardingDirectdebitmandatesTwikeywebhookGet(type?: string, mandateNumber?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\r\n public apiOnboardingDirectdebitmandatesTwikeywebhookGet(type?: string, mandateNumber?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (type !== undefined && type !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n type, 'type');\r\n }\r\n if (mandateNumber !== undefined && mandateNumber !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n mandateNumber, 'mandateNumber');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/api/onboarding/directdebitmandates/twikeywebhook`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiOnboardingDirectdebitmandatesTwikeywebhookHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiOnboardingDirectdebitmandatesTwikeywebhookHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiOnboardingDirectdebitmandatesTwikeywebhookHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiOnboardingDirectdebitmandatesTwikeywebhookHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/onboarding/directdebitmandates/twikeywebhook/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { WindAssetCreateCommand } from '../model/windAssetCreateCommand';\r\n// @ts-ignore\r\nimport { WindAssetCreateResponse } from '../model/windAssetCreateResponse';\r\n// @ts-ignore\r\nimport { WindAssetRequest } from '../model/windAssetRequest';\r\n// @ts-ignore\r\nimport { WindAssetResponse } from '../model/windAssetResponse';\r\n// @ts-ignore\r\nimport { WindAssetUpdateCommand } from '../model/windAssetUpdateCommand';\r\n// @ts-ignore\r\nimport { WindAssetUpdateResponse } from '../model/windAssetUpdateResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WindAssetService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param windAssetCreateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsWindAssetCreatePost(windAssetCreateCommand?: WindAssetCreateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsWindAssetCreatePost(windAssetCreateCommand?: WindAssetCreateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsWindAssetCreatePost(windAssetCreateCommand?: WindAssetCreateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsWindAssetCreatePost(windAssetCreateCommand?: WindAssetCreateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/WindAsset/Create`,\r\n windAssetCreateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param windAssetRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsWindAssetGetPost(windAssetRequest?: WindAssetRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsWindAssetGetPost(windAssetRequest?: WindAssetRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsWindAssetGetPost(windAssetRequest?: WindAssetRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsWindAssetGetPost(windAssetRequest?: WindAssetRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/api/assets/WindAsset/Get`,\r\n windAssetRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsWindAssetHelloGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsWindAssetHelloGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsWindAssetHelloGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public apiAssetsWindAssetHelloGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/api/assets/WindAsset/Hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param windAssetUpdateCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public apiAssetsWindAssetUpdatePost(windAssetUpdateCommand?: WindAssetUpdateCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public apiAssetsWindAssetUpdatePost(windAssetUpdateCommand?: WindAssetUpdateCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsWindAssetUpdatePost(windAssetUpdateCommand?: WindAssetUpdateCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public apiAssetsWindAssetUpdatePost(windAssetUpdateCommand?: WindAssetUpdateCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/api/assets/WindAsset/Update`,\r\n windAssetUpdateCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { ContractR } from '../model/contractR';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class XtraMileService {\r\n\r\n protected basePath = 'http://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param contractR \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n * @deprecated\r\n */\r\n public xtraMileCreatePost(contractR?: ContractR, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public xtraMileCreatePost(contractR?: ContractR, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public xtraMileCreatePost(contractR?: ContractR, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public xtraMileCreatePost(contractR?: ContractR, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (Bearer) required\r\n localVarCredential = this.configuration.lookupCredential('Bearer');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/XtraMile/Create`,\r\n contractR,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport interface ConfigurationParameters {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials?: {[ key: string ]: string | (() => string | undefined)};\r\n}\r\n\r\nexport class Configuration {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials: {[ key: string ]: string | (() => string | undefined)};\r\n\r\n constructor(configurationParameters: ConfigurationParameters = {}) {\r\n this.apiKeys = configurationParameters.apiKeys;\r\n this.username = configurationParameters.username;\r\n this.password = configurationParameters.password;\r\n this.accessToken = configurationParameters.accessToken;\r\n this.basePath = configurationParameters.basePath;\r\n this.withCredentials = configurationParameters.withCredentials;\r\n this.encoder = configurationParameters.encoder;\r\n if (configurationParameters.credentials) {\r\n this.credentials = configurationParameters.credentials;\r\n }\r\n else {\r\n this.credentials = {};\r\n }\r\n\r\n // init default Bearer credential\r\n if (!this.credentials['Bearer']) {\r\n this.credentials['Bearer'] = () => {\r\n if (this.apiKeys === null || this.apiKeys === undefined) {\r\n return undefined;\r\n } else {\r\n return this.apiKeys['Bearer'] || this.apiKeys['Authorization'];\r\n }\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Select the correct content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param contentTypes - the array of content types that are available for selection\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\r\n if (contentTypes.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return contentTypes[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Select the correct accept content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param accepts - the array of content types that are available for selection.\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderAccept(accepts: string[]): string | undefined {\r\n if (accepts.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = accepts.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return accepts[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Check if the given MIME is a JSON MIME.\r\n * JSON MIME examples:\r\n * application/json\r\n * application/json; charset=UTF8\r\n * APPLICATION/JSON\r\n * application/vnd.company+json\r\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\r\n * @return True if the given MIME is JSON, false otherwise.\r\n */\r\n public isJsonMime(mime: string): boolean {\r\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\r\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\r\n }\r\n\r\n public lookupCredential(key: string): string | undefined {\r\n const value = this.credentials[key];\r\n return typeof value === 'function'\r\n ? value()\r\n : value;\r\n }\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\n/**\r\n * Custom HttpParameterCodec\r\n * Workaround for https://github.com/angular/angular/issues/18261\r\n */\r\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\r\n encodeKey(k: string): string {\r\n return encodeURIComponent(k);\r\n }\r\n encodeValue(v: string): string {\r\n return encodeURIComponent(v);\r\n }\r\n decodeKey(k: string): string {\r\n return decodeURIComponent(k);\r\n }\r\n decodeValue(v: string): string {\r\n return decodeURIComponent(v);\r\n }\r\n}\r\n","export * from './api/api';\r\nexport * from './model/models';\r\nexport * from './variables';\r\nexport * from './configuration';\r\nexport * from './api.module';","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface AcceptClusterConnectionRecommendationCommand { \r\n Id?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface AddressR { \r\n Street?: string;\r\n HouseNumber?: number;\r\n HouseNumberSuffix?: string | null;\r\n LocationOnStreet?: string | null;\r\n Postcode?: string | null;\r\n City?: string;\r\n Country?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface Adres { \r\n Plaats?: string;\r\n Straat?: string;\r\n Postcode?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface AggregationProgressRequest { \r\n Id?: string | null;\r\n GroupId?: string | null;\r\n SubType?: string | null;\r\n HistoricallyCorrect?: boolean | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n AggregationDateFrom?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n AggregationDateUntil?: string | null;\r\n Skip?: number | null;\r\n Take?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface AggregationProgressResponse { \r\n Id?: string;\r\n GroupId?: string;\r\n SubType?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n AggregationDate?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n ProgressDate?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type AllocationMethod = 'Profile' | 'Telemetric';\r\n\r\nexport const AllocationMethod = {\r\n Profile: 'Profile' as AllocationMethod,\r\n Telemetric: 'Telemetric' as AllocationMethod\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type AllocationType = 'EDSNTelemetric' | 'EDSNProfile' | 'EDSNTotal' | 'ConnectionAllocationCalculatedBySupplier' | 'ConnectionHypotheticalAllocationBySupplier' | 'ConnectionTelemetricAllocationBySupplier' | 'ConnectionAssigned' | 'ConnectionTelemetricAllocationByGridOperator' | 'ConnectionAllocationAssignedByGridOperator';\r\n\r\nexport const AllocationType = {\r\n EdsnTelemetric: 'EDSNTelemetric' as AllocationType,\r\n EdsnProfile: 'EDSNProfile' as AllocationType,\r\n EdsnTotal: 'EDSNTotal' as AllocationType,\r\n ConnectionAllocationCalculatedBySupplier: 'ConnectionAllocationCalculatedBySupplier' as AllocationType,\r\n ConnectionHypotheticalAllocationBySupplier: 'ConnectionHypotheticalAllocationBySupplier' as AllocationType,\r\n ConnectionTelemetricAllocationBySupplier: 'ConnectionTelemetricAllocationBySupplier' as AllocationType,\r\n ConnectionAssigned: 'ConnectionAssigned' as AllocationType,\r\n ConnectionTelemetricAllocationByGridOperator: 'ConnectionTelemetricAllocationByGridOperator' as AllocationType,\r\n ConnectionAllocationAssignedByGridOperator: 'ConnectionAllocationAssignedByGridOperator' as AllocationType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface BankInfoR { \r\n BankNumber?: string;\r\n BankAccountHolder?: string;\r\n Incasso?: boolean;\r\n IncassoMandate?: boolean;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type BoundaryType = 'Open' | 'Closed';\r\n\r\nexport const BoundaryType = {\r\n Open: 'Open' as BoundaryType,\r\n Closed: 'Closed' as BoundaryType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type CertificateOfOriginProduct = 'NieuweStroomBiomassNl' | 'NieuweStroomWindEu' | 'NieuweStroomWindNl' | 'NieuweStroomSolarNl' | 'NieuweStroomFullFlexRenewable' | 'NieuweStroomFullFlexFossil' | 'NieuweStroomGasNl' | 'EasyEnergyWindEu';\r\n\r\nexport const CertificateOfOriginProduct = {\r\n NieuweStroomBiomassNl: 'NieuweStroomBiomassNl' as CertificateOfOriginProduct,\r\n NieuweStroomWindEu: 'NieuweStroomWindEu' as CertificateOfOriginProduct,\r\n NieuweStroomWindNl: 'NieuweStroomWindNl' as CertificateOfOriginProduct,\r\n NieuweStroomSolarNl: 'NieuweStroomSolarNl' as CertificateOfOriginProduct,\r\n NieuweStroomFullFlexRenewable: 'NieuweStroomFullFlexRenewable' as CertificateOfOriginProduct,\r\n NieuweStroomFullFlexFossil: 'NieuweStroomFullFlexFossil' as CertificateOfOriginProduct,\r\n NieuweStroomGasNl: 'NieuweStroomGasNl' as CertificateOfOriginProduct,\r\n EasyEnergyWindEu: 'EasyEnergyWindEu' as CertificateOfOriginProduct\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type CertificateOfOriginType = 'GoDisclosureCertificate' | 'GoRenewableElectricity';\r\n\r\nexport const CertificateOfOriginType = {\r\n GoDisclosureCertificate: 'GoDisclosureCertificate' as CertificateOfOriginType,\r\n GoRenewableElectricity: 'GoRenewableElectricity' as CertificateOfOriginType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ClusterGroupRequest { \r\n Id?: string | null;\r\n Name?: string | null;\r\n IncludeClusters?: boolean;\r\n Skip?: number | null;\r\n Take?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ClusterManagementReportRequest { \r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n ReferenceDate?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ClusterType = 'EconomicSector' | 'EdsnMarketSegment' | 'AllocationMethod';\r\n\r\nexport const ClusterType = {\r\n EconomicSector: 'EconomicSector' as ClusterType,\r\n EdsnMarketSegment: 'EdsnMarketSegment' as ClusterType,\r\n AllocationMethod: 'AllocationMethod' as ClusterType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionActivationContractResponseAddress { \r\n StreetName?: string;\r\n HouseNumber?: number;\r\n HouseNumberAddition?: string | null;\r\n PostalCode?: string;\r\n City?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ConnectionCapacity = 'Unknown' | 'ElectricityZeroTariff' | 'ElectricitySingle6ASwitchingNotMetered' | 'ElectricitySingle6ASwitching' | 'ElectricitySingle10ANotMetered' | 'ElectricitySingle10A' | 'ElectricityTriple25AAndSingle80ANotMetered' | 'ElectricityTriple25AAndSingle80A' | 'ElectricityTriple35A' | 'ElectricityTriple50A' | 'ElectricityTriple63A' | 'ElectricityTriple80A' | 'ElectricityLowVoltage' | 'ElectricityYearly100KW' | 'ElectricityYearly160KW' | 'ElectricityYearly630KW' | 'ElectricityYearly1MW' | 'ElectricityYearly2MW' | 'ElectricityYearly5MW' | 'ElectricityYearly10MW' | 'ElectricityYearlyInfinite' | 'GasZeroTariff' | 'GasNotMetered' | 'GasHourly10M3Yearly500M3' | 'GasHourly10M3Yearly7500M3' | 'GasHourly10M3YearlyInfinite' | 'GasHourly16M3YearlyInfinite' | 'GasHourly25M3YearlyInfinite' | 'GasHourly40M3YearlyInfinite' | 'GasHourly40M3YearlyInfiniteEvci' | 'GasHourly65M3YearlyInfinite' | 'GasHourly65M3YearlyInfiniteEvci' | 'GasHourly100M3YearlyInfinite' | 'GasHourly100M3YearlyInfiniteEvci' | 'GasHourly160M3YearlyInfinite' | 'GasHourly160M3YearlyInfiniteEvci' | 'GasHourly250M3YearlyInfinite' | 'GasHourly250M3YearlyInfiniteEvci' | 'GasHourly400M3YearlyInfinite' | 'GasHourly400M3YearlyInfiniteEvci' | 'GasHourly650M3YearlyInfinite' | 'GasHourly650M3YearlyInfiniteEvci' | 'GasHourly1000M3YearlyInfinite' | 'GasHourly1000M3YearlyInfiniteEvci' | 'GasHourly1600M3YearlyInfinite' | 'GasHourly1600M3YearlyInfiniteEvci' | 'GasHourly2500M3YearlyInfinite' | 'GasHourly2500M3YearlyInfiniteEvci' | 'GasHourlyInfiniteYearlyInfinite' | 'GasHourlyInfiniteYearlyInfiniteEvci';\r\n\r\nexport const ConnectionCapacity = {\r\n Unknown: 'Unknown' as ConnectionCapacity,\r\n ElectricityZeroTariff: 'ElectricityZeroTariff' as ConnectionCapacity,\r\n ElectricitySingle6ASwitchingNotMetered: 'ElectricitySingle6ASwitchingNotMetered' as ConnectionCapacity,\r\n ElectricitySingle6ASwitching: 'ElectricitySingle6ASwitching' as ConnectionCapacity,\r\n ElectricitySingle10ANotMetered: 'ElectricitySingle10ANotMetered' as ConnectionCapacity,\r\n ElectricitySingle10A: 'ElectricitySingle10A' as ConnectionCapacity,\r\n ElectricityTriple25AAndSingle80ANotMetered: 'ElectricityTriple25AAndSingle80ANotMetered' as ConnectionCapacity,\r\n ElectricityTriple25AAndSingle80A: 'ElectricityTriple25AAndSingle80A' as ConnectionCapacity,\r\n ElectricityTriple35A: 'ElectricityTriple35A' as ConnectionCapacity,\r\n ElectricityTriple50A: 'ElectricityTriple50A' as ConnectionCapacity,\r\n ElectricityTriple63A: 'ElectricityTriple63A' as ConnectionCapacity,\r\n ElectricityTriple80A: 'ElectricityTriple80A' as ConnectionCapacity,\r\n ElectricityLowVoltage: 'ElectricityLowVoltage' as ConnectionCapacity,\r\n ElectricityYearly100Kw: 'ElectricityYearly100KW' as ConnectionCapacity,\r\n ElectricityYearly160Kw: 'ElectricityYearly160KW' as ConnectionCapacity,\r\n ElectricityYearly630Kw: 'ElectricityYearly630KW' as ConnectionCapacity,\r\n ElectricityYearly1Mw: 'ElectricityYearly1MW' as ConnectionCapacity,\r\n ElectricityYearly2Mw: 'ElectricityYearly2MW' as ConnectionCapacity,\r\n ElectricityYearly5Mw: 'ElectricityYearly5MW' as ConnectionCapacity,\r\n ElectricityYearly10Mw: 'ElectricityYearly10MW' as ConnectionCapacity,\r\n ElectricityYearlyInfinite: 'ElectricityYearlyInfinite' as ConnectionCapacity,\r\n GasZeroTariff: 'GasZeroTariff' as ConnectionCapacity,\r\n GasNotMetered: 'GasNotMetered' as ConnectionCapacity,\r\n GasHourly10M3Yearly500M3: 'GasHourly10M3Yearly500M3' as ConnectionCapacity,\r\n GasHourly10M3Yearly7500M3: 'GasHourly10M3Yearly7500M3' as ConnectionCapacity,\r\n GasHourly10M3YearlyInfinite: 'GasHourly10M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly16M3YearlyInfinite: 'GasHourly16M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly25M3YearlyInfinite: 'GasHourly25M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly40M3YearlyInfinite: 'GasHourly40M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly40M3YearlyInfiniteEvci: 'GasHourly40M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourly65M3YearlyInfinite: 'GasHourly65M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly65M3YearlyInfiniteEvci: 'GasHourly65M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourly100M3YearlyInfinite: 'GasHourly100M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly100M3YearlyInfiniteEvci: 'GasHourly100M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourly160M3YearlyInfinite: 'GasHourly160M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly160M3YearlyInfiniteEvci: 'GasHourly160M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourly250M3YearlyInfinite: 'GasHourly250M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly250M3YearlyInfiniteEvci: 'GasHourly250M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourly400M3YearlyInfinite: 'GasHourly400M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly400M3YearlyInfiniteEvci: 'GasHourly400M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourly650M3YearlyInfinite: 'GasHourly650M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly650M3YearlyInfiniteEvci: 'GasHourly650M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourly1000M3YearlyInfinite: 'GasHourly1000M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly1000M3YearlyInfiniteEvci: 'GasHourly1000M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourly1600M3YearlyInfinite: 'GasHourly1600M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly1600M3YearlyInfiniteEvci: 'GasHourly1600M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourly2500M3YearlyInfinite: 'GasHourly2500M3YearlyInfinite' as ConnectionCapacity,\r\n GasHourly2500M3YearlyInfiniteEvci: 'GasHourly2500M3YearlyInfiniteEvci' as ConnectionCapacity,\r\n GasHourlyInfiniteYearlyInfinite: 'GasHourlyInfiniteYearlyInfinite' as ConnectionCapacity,\r\n GasHourlyInfiniteYearlyInfiniteEvci: 'GasHourlyInfiniteYearlyInfiniteEvci' as ConnectionCapacity\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionClusterCreateResponse { \r\n ConnectionId?: string;\r\n Name?: string;\r\n Type?: string;\r\n Tenant?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionClusterResponse { \r\n ConnectionId?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionClusterUpdateResponse { \r\n ConnectionId?: string;\r\n Name?: string;\r\n Type?: string;\r\n Tenant?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionContextValueCreateCommandSlim { \r\n ConnectionId?: number;\r\n From?: string;\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionContextValueCreateResponse { \r\n ConnectionId?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionContextValueDeleteCommandSlim { \r\n ConnectionId?: number;\r\n From?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionContextValueDeleteResponse { \r\n Successful?: boolean;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionGridAreaR { \r\n Interval?: string;\r\n GridAreaId?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionGridOperatorR { \r\n Interval?: string;\r\n GridOperatorId?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionProfileR { \r\n Interval?: string;\r\n ProfileId?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionSubMeterQuantityResponse { \r\n Id?: string;\r\n ConnectionId?: string;\r\n ConnectionSubMeterId?: string;\r\n Value?: number;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n TimeStamp?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n CreatedOn?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ConnectionSubMeterRequest { \r\n ConnectionId?: string;\r\n From?: string;\r\n Until?: string | null;\r\n IsActive?: boolean | null;\r\n IncludeDetails?: boolean;\r\n IncludeConsumptions?: boolean;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContactType = 'GridOperator' | 'Supplier' | 'BalanceResponsibleParty' | 'MeteringResponsibleParty' | 'Operator' | 'SubMeterResponsibleParty';\r\n\r\nexport const ContactType = {\r\n GridOperator: 'GridOperator' as ContactType,\r\n Supplier: 'Supplier' as ContactType,\r\n BalanceResponsibleParty: 'BalanceResponsibleParty' as ContactType,\r\n MeteringResponsibleParty: 'MeteringResponsibleParty' as ContactType,\r\n Operator: 'Operator' as ContactType,\r\n SubMeterResponsibleParty: 'SubMeterResponsibleParty' as ContactType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContractMutationState = 'Contracted' | 'RevocationTermExpired' | 'PreActivation' | 'Active';\r\n\r\nexport const ContractMutationState = {\r\n Contracted: 'Contracted' as ContractMutationState,\r\n RevocationTermExpired: 'RevocationTermExpired' as ContractMutationState,\r\n PreActivation: 'PreActivation' as ContractMutationState,\r\n Active: 'Active' as ContractMutationState\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ContractStateCountWithCountPerTransitionStateRContractStateTransitionTypeCounts { \r\n StopLegacyTransitioningTask?: number;\r\n MarketLeadInfoCollectorTask?: number;\r\n ContractDetailsValidatorTask?: number;\r\n SendContractNotificationForInfoCollectionTask?: number;\r\n MarketConnectionInfoCollectorTask?: number;\r\n ResumeLegacyTransitioningTask?: number;\r\n SendContractNotificationForInfoValidationTask?: number;\r\n MarketConnectionInfoValidatorTask?: number;\r\n WaitingForConnectionValidationSameContractTask?: number;\r\n MarketContractCancellationTask?: number;\r\n WaitingForDirectDebitMandateTask?: number;\r\n SendWelcomeLetterTask?: number;\r\n WaitingForRevocationTermTask?: number;\r\n WaitingForAdvanceInvoiceCreatedTask?: number;\r\n WaitingForMarketSwitchTermTask?: number;\r\n SendMarketSwitchOrMoveInTask?: number;\r\n WaitingForActivationDateTask?: number;\r\n SendStartDeliveryLetterTask?: number;\r\n TriggerAdvanceInvoiceTask?: number;\r\n WaitingForStartDeliveryLetterSentTask?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContractStateTransitionSchemeType = 'EasyEnergy' | 'NieuweStroomKv' | 'NieuweStroomGv';\r\n\r\nexport const ContractStateTransitionSchemeType = {\r\n EasyEnergy: 'EasyEnergy' as ContractStateTransitionSchemeType,\r\n NieuweStroomKv: 'NieuweStroomKv' as ContractStateTransitionSchemeType,\r\n NieuweStroomGv: 'NieuweStroomGv' as ContractStateTransitionSchemeType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContractStateTransitionState = 'New' | 'Working' | 'Finished' | 'Skipped' | 'Cancelled' | 'Failed' | 'Crashed' | 'IdleOnIssue';\r\n\r\nexport const ContractStateTransitionState = {\r\n New: 'New' as ContractStateTransitionState,\r\n Working: 'Working' as ContractStateTransitionState,\r\n Finished: 'Finished' as ContractStateTransitionState,\r\n Skipped: 'Skipped' as ContractStateTransitionState,\r\n Cancelled: 'Cancelled' as ContractStateTransitionState,\r\n Failed: 'Failed' as ContractStateTransitionState,\r\n Crashed: 'Crashed' as ContractStateTransitionState,\r\n IdleOnIssue: 'IdleOnIssue' as ContractStateTransitionState\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContractStateTransitionType = 'StopLegacyTransitioningTask' | 'MarketLeadInfoCollectorTask' | 'ContractDetailsValidatorTask' | 'SendContractNotificationForInfoCollectionTask' | 'MarketConnectionInfoCollectorTask' | 'ResumeLegacyTransitioningTask' | 'SendContractNotificationForInfoValidationTask' | 'MarketConnectionInfoValidatorTask' | 'WaitingForConnectionValidationSameContractTask' | 'MarketContractCancellationTask' | 'WaitingForDirectDebitMandateTask' | 'SendWelcomeLetterTask' | 'WaitingForRevocationTermTask' | 'WaitingForAdvanceInvoiceCreatedTask' | 'WaitingForMarketSwitchTermTask' | 'SendMarketSwitchOrMoveInTask' | 'WaitingForActivationDateTask' | 'SendStartDeliveryLetterTask' | 'TriggerAdvanceInvoiceTask' | 'WaitingForStartDeliveryLetterSentTask';\r\n\r\nexport const ContractStateTransitionType = {\r\n StopLegacyTransitioningTask: 'StopLegacyTransitioningTask' as ContractStateTransitionType,\r\n MarketLeadInfoCollectorTask: 'MarketLeadInfoCollectorTask' as ContractStateTransitionType,\r\n ContractDetailsValidatorTask: 'ContractDetailsValidatorTask' as ContractStateTransitionType,\r\n SendContractNotificationForInfoCollectionTask: 'SendContractNotificationForInfoCollectionTask' as ContractStateTransitionType,\r\n MarketConnectionInfoCollectorTask: 'MarketConnectionInfoCollectorTask' as ContractStateTransitionType,\r\n ResumeLegacyTransitioningTask: 'ResumeLegacyTransitioningTask' as ContractStateTransitionType,\r\n SendContractNotificationForInfoValidationTask: 'SendContractNotificationForInfoValidationTask' as ContractStateTransitionType,\r\n MarketConnectionInfoValidatorTask: 'MarketConnectionInfoValidatorTask' as ContractStateTransitionType,\r\n WaitingForConnectionValidationSameContractTask: 'WaitingForConnectionValidationSameContractTask' as ContractStateTransitionType,\r\n MarketContractCancellationTask: 'MarketContractCancellationTask' as ContractStateTransitionType,\r\n WaitingForDirectDebitMandateTask: 'WaitingForDirectDebitMandateTask' as ContractStateTransitionType,\r\n SendWelcomeLetterTask: 'SendWelcomeLetterTask' as ContractStateTransitionType,\r\n WaitingForRevocationTermTask: 'WaitingForRevocationTermTask' as ContractStateTransitionType,\r\n WaitingForAdvanceInvoiceCreatedTask: 'WaitingForAdvanceInvoiceCreatedTask' as ContractStateTransitionType,\r\n WaitingForMarketSwitchTermTask: 'WaitingForMarketSwitchTermTask' as ContractStateTransitionType,\r\n SendMarketSwitchOrMoveInTask: 'SendMarketSwitchOrMoveInTask' as ContractStateTransitionType,\r\n WaitingForActivationDateTask: 'WaitingForActivationDateTask' as ContractStateTransitionType,\r\n SendStartDeliveryLetterTask: 'SendStartDeliveryLetterTask' as ContractStateTransitionType,\r\n TriggerAdvanceInvoiceTask: 'TriggerAdvanceInvoiceTask' as ContractStateTransitionType,\r\n WaitingForStartDeliveryLetterSentTask: 'WaitingForStartDeliveryLetterSentTask' as ContractStateTransitionType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ContractStateTransitionUrgency = 'Low' | 'Medium' | 'High';\r\n\r\nexport const ContractStateTransitionUrgency = {\r\n Low: 'Low' as ContractStateTransitionUrgency,\r\n Medium: 'Medium' as ContractStateTransitionUrgency,\r\n High: 'High' as ContractStateTransitionUrgency\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ConversionDetail = 'ClassicSilicon' | 'ThinFilm' | 'Onshore' | 'Offshore' | 'NonChp' | 'Chp';\r\n\r\nexport const ConversionDetail = {\r\n ClassicSilicon: 'ClassicSilicon' as ConversionDetail,\r\n ThinFilm: 'ThinFilm' as ConversionDetail,\r\n Onshore: 'Onshore' as ConversionDetail,\r\n Offshore: 'Offshore' as ConversionDetail,\r\n NonChp: 'NonChp' as ConversionDetail,\r\n Chp: 'Chp' as ConversionDetail\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ConversionTechnology = 'Photovoltaic' | 'Concentration' | 'RunOfRiverHeadInstallation' | 'StorageHeadInstallation' | 'PurePumpedStorageHeadInstallation' | 'MixedPumpedStorageHeadInstallation' | 'Tidal' | 'Wave' | 'Currents' | 'Pressure' | 'CombinedCycleGasTurbineWithHeatRecovery' | 'SteamTurbineWithBackPressureTurbine' | 'SteamTurbineWithCondensationTurbine' | 'GasTurbineWithHeatRecovery' | 'InternalCombustionEngine' | 'MicroTurbine' | 'StirlingEngine' | 'FuelCell' | 'SteamEngine' | 'OrganicRankineCycle' | 'GasTurbineWithoutHeatRecovery' | 'HeavyWaterReactor' | 'LightWaterReactor' | 'Breeder' | 'GraphiteReactor';\r\n\r\nexport const ConversionTechnology = {\r\n Photovoltaic: 'Photovoltaic' as ConversionTechnology,\r\n Concentration: 'Concentration' as ConversionTechnology,\r\n RunOfRiverHeadInstallation: 'RunOfRiverHeadInstallation' as ConversionTechnology,\r\n StorageHeadInstallation: 'StorageHeadInstallation' as ConversionTechnology,\r\n PurePumpedStorageHeadInstallation: 'PurePumpedStorageHeadInstallation' as ConversionTechnology,\r\n MixedPumpedStorageHeadInstallation: 'MixedPumpedStorageHeadInstallation' as ConversionTechnology,\r\n Tidal: 'Tidal' as ConversionTechnology,\r\n Wave: 'Wave' as ConversionTechnology,\r\n Currents: 'Currents' as ConversionTechnology,\r\n Pressure: 'Pressure' as ConversionTechnology,\r\n CombinedCycleGasTurbineWithHeatRecovery: 'CombinedCycleGasTurbineWithHeatRecovery' as ConversionTechnology,\r\n SteamTurbineWithBackPressureTurbine: 'SteamTurbineWithBackPressureTurbine' as ConversionTechnology,\r\n SteamTurbineWithCondensationTurbine: 'SteamTurbineWithCondensationTurbine' as ConversionTechnology,\r\n GasTurbineWithHeatRecovery: 'GasTurbineWithHeatRecovery' as ConversionTechnology,\r\n InternalCombustionEngine: 'InternalCombustionEngine' as ConversionTechnology,\r\n MicroTurbine: 'MicroTurbine' as ConversionTechnology,\r\n StirlingEngine: 'StirlingEngine' as ConversionTechnology,\r\n FuelCell: 'FuelCell' as ConversionTechnology,\r\n SteamEngine: 'SteamEngine' as ConversionTechnology,\r\n OrganicRankineCycle: 'OrganicRankineCycle' as ConversionTechnology,\r\n GasTurbineWithoutHeatRecovery: 'GasTurbineWithoutHeatRecovery' as ConversionTechnology,\r\n HeavyWaterReactor: 'HeavyWaterReactor' as ConversionTechnology,\r\n LightWaterReactor: 'LightWaterReactor' as ConversionTechnology,\r\n Breeder: 'Breeder' as ConversionTechnology,\r\n GraphiteReactor: 'GraphiteReactor' as ConversionTechnology\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Country = 'Austria' | 'Belguim' | 'Bulgaria' | 'Switzerland' | 'Cyprus' | 'CzechRepublic' | 'Germany' | 'Denmark' | 'Estonia' | 'Spain' | 'Finland' | 'France' | 'UnitedKingdom' | 'Greece' | 'Croatie' | 'Hungary' | 'Ireland' | 'Italy' | 'Iceland' | 'Lithuania' | 'Luxembourg' | 'Latvia' | 'Malta' | 'Netherlands' | 'Norway' | 'Poland' | 'Portugal' | 'Romania' | 'Sweden' | 'Slovakia' | 'Slovenia';\r\n\r\nexport const Country = {\r\n Austria: 'Austria' as Country,\r\n Belguim: 'Belguim' as Country,\r\n Bulgaria: 'Bulgaria' as Country,\r\n Switzerland: 'Switzerland' as Country,\r\n Cyprus: 'Cyprus' as Country,\r\n CzechRepublic: 'CzechRepublic' as Country,\r\n Germany: 'Germany' as Country,\r\n Denmark: 'Denmark' as Country,\r\n Estonia: 'Estonia' as Country,\r\n Spain: 'Spain' as Country,\r\n Finland: 'Finland' as Country,\r\n France: 'France' as Country,\r\n UnitedKingdom: 'UnitedKingdom' as Country,\r\n Greece: 'Greece' as Country,\r\n Croatie: 'Croatie' as Country,\r\n Hungary: 'Hungary' as Country,\r\n Ireland: 'Ireland' as Country,\r\n Italy: 'Italy' as Country,\r\n Iceland: 'Iceland' as Country,\r\n Lithuania: 'Lithuania' as Country,\r\n Luxembourg: 'Luxembourg' as Country,\r\n Latvia: 'Latvia' as Country,\r\n Malta: 'Malta' as Country,\r\n Netherlands: 'Netherlands' as Country,\r\n Norway: 'Norway' as Country,\r\n Poland: 'Poland' as Country,\r\n Portugal: 'Portugal' as Country,\r\n Romania: 'Romania' as Country,\r\n Sweden: 'Sweden' as Country,\r\n Slovakia: 'Slovakia' as Country,\r\n Slovenia: 'Slovenia' as Country\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateClusterConnectionCommand { \r\n ClusterId?: string;\r\n ConnectionId?: number;\r\n From?: string;\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateClusterConnectionRecommendationCommand { \r\n ConnectionId?: number;\r\n CurrentClusterId?: string;\r\n RecommendedClusterId?: string;\r\n From?: string;\r\n Until?: string | null;\r\n Reason?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateClusterGroupCommand { \r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateClusterPortfolioCommand { \r\n ClusterId?: string;\r\n PortfolioId?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateForecasterCommand { \r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreatePortfolioCommand { \r\n Name?: string;\r\n ForecasterId?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateResaleClusterConnectionCommand { \r\n ResaleClusterId?: string;\r\n ConnectionId?: number;\r\n From?: string;\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type CurtailmentCalculationType = 'SummedChanche' | 'BucketMeanPrice';\r\n\r\nexport const CurtailmentCalculationType = {\r\n SummedChanche: 'SummedChanche' as CurtailmentCalculationType,\r\n BucketMeanPrice: 'BucketMeanPrice' as CurtailmentCalculationType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CurtailmentCreateResponse { \r\n Message?: string;\r\n Count?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CurtailmentPartyDeleteCommand { \r\n Id?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CurtailmentPartyProbabilityCreateCommand { \r\n CurtailmentPartyId?: string | null;\r\n Index?: number;\r\n Start?: number;\r\n Stop?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CurtailmentPartyProbabilityDeleteCommand { \r\n Id?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CurtailmentPartyProbabilityResponse { \r\n Id?: string;\r\n CurtailmentPartyId?: string;\r\n Index?: number;\r\n Start?: number;\r\n Stop?: number;\r\n ModifiedOn?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CurtailmentPartyProbabilityUpdateCommand { \r\n Id?: string;\r\n Start?: number | null;\r\n Stop?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CurtailmentPartyRequest { \r\n Id?: string | null;\r\n Name?: string | null;\r\n ConnectionId?: number | null;\r\n FromOverlappingFrom?: string | null;\r\n FromOverlappingUntil?: string | null;\r\n UntilOverlappingFrom?: string | null;\r\n UntilOverlappingUntil?: string | null;\r\n IncludeProbabilities?: boolean;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type CurtailmentType = 'CurtailmentKw';\r\n\r\nexport const CurtailmentType = {\r\n CurtailmentKw: 'CurtailmentKw' as CurtailmentType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CustomerPortalUserResponseCommand { \r\n CustomerId?: number | null;\r\n UserName?: string | null;\r\n Password?: string | null;\r\n ReasonPhrase?: string | null;\r\n StatusCode?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CustomerResponseContractApprovals { \r\n /**\r\n * A range of Local Dates.\r\n */\r\n Interval?: string;\r\n TelemeterInstallation?: boolean;\r\n TelemetricMeasuring?: boolean;\r\n HistoricalMeasurementAcquisition?: boolean;\r\n WaiveCancellationPeriod?: boolean;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n/**\r\n * in kWh for Electricity, m3 for Gas\r\n */\r\nexport interface CustomerResponseProsumption { \r\n Consumption?: number | null;\r\n Production?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type CustomerType = 'Company' | 'Consumer';\r\n\r\nexport const CustomerType = {\r\n Company: 'Company' as CustomerType,\r\n Consumer: 'Consumer' as CustomerType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type DataTransferMessageDirection = 'Request' | 'Response';\r\n\r\nexport const DataTransferMessageDirection = {\r\n Request: 'Request' as DataTransferMessageDirection,\r\n Response: 'Response' as DataTransferMessageDirection\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type DataTransferMessageType = 'Unknown' | 'EdsnCaloricCorrectionFactors' | 'EdsnChangeOfAllocationMethod' | 'EdsnChangeOfPV' | 'EdsnChangeOfSupplier' | 'EdsnNoticeContractAcknowledgement' | 'EdsnContractCancellation' | 'EdsnContractCancellationRejectionResult' | 'EdsnContractCancellationResult' | 'EdsnContractData' | 'EdsnContractDataBatch' | 'EdsnContractDataRejectionResult' | 'EdsnContractDataResult' | 'EdsnContractLossResult' | 'EdsnContractRenewal' | 'EdsnCreateCK' | 'EdsnEchPortal' | 'EdsnEndOfSupply' | 'EdsnGainResult' | 'EdsnGetMeteringPoint' | 'EdsnGetMPInformation' | 'EdsnGetSCMPInformation' | 'EdsnGetTransactionDossiers' | 'EdsnGetTransactionDossierStepMessage' | 'EdsnGetTransactionDossierSteps' | 'EdsnHistoricalData' | 'EdsnHistoricalMeteringData' | 'EdsnHistoricalMeteringDataRejection' | 'EdsnLossResult' | 'EdsnMasterData' | 'EdsnMasterDataUpdate' | 'EdsnMeterReadingDispute' | 'EdsnMeterReadingDisputeNotification' | 'EdsnMeterReadingDisputeResult' | 'EdsnMeterReadingDisputeResultNotification' | 'EdsnMeterReadingExchange' | 'EdsnMeterReadingExchangeNotification' | 'EdsnMoveIn' | 'EdsnMoveOut' | 'EdsnNoticeContractNotification' | 'EdsnNoticeEOS' | 'EdsnNoticeEOSNotification' | 'EdsnP4CollectedDataBatch' | 'EdsnP4CollectedDataBatchResult' | 'EdsnPreMutationMD' | 'EdsnRejectionResult' | 'EdsnSearchMeteringPoints' | 'EdsnUpdateResult' | 'EdsnMasterDataGain' | 'EdsnMeasureCorrection' | 'EdsnMeasureCorrectionResultNotification' | 'EdsnTariffs' | 'NameChangeBatch' | 'NameChange';\r\n\r\nexport const DataTransferMessageType = {\r\n Unknown: 'Unknown' as DataTransferMessageType,\r\n EdsnCaloricCorrectionFactors: 'EdsnCaloricCorrectionFactors' as DataTransferMessageType,\r\n EdsnChangeOfAllocationMethod: 'EdsnChangeOfAllocationMethod' as DataTransferMessageType,\r\n EdsnChangeOfPv: 'EdsnChangeOfPV' as DataTransferMessageType,\r\n EdsnChangeOfSupplier: 'EdsnChangeOfSupplier' as DataTransferMessageType,\r\n EdsnNoticeContractAcknowledgement: 'EdsnNoticeContractAcknowledgement' as DataTransferMessageType,\r\n EdsnContractCancellation: 'EdsnContractCancellation' as DataTransferMessageType,\r\n EdsnContractCancellationRejectionResult: 'EdsnContractCancellationRejectionResult' as DataTransferMessageType,\r\n EdsnContractCancellationResult: 'EdsnContractCancellationResult' as DataTransferMessageType,\r\n EdsnContractData: 'EdsnContractData' as DataTransferMessageType,\r\n EdsnContractDataBatch: 'EdsnContractDataBatch' as DataTransferMessageType,\r\n EdsnContractDataRejectionResult: 'EdsnContractDataRejectionResult' as DataTransferMessageType,\r\n EdsnContractDataResult: 'EdsnContractDataResult' as DataTransferMessageType,\r\n EdsnContractLossResult: 'EdsnContractLossResult' as DataTransferMessageType,\r\n EdsnContractRenewal: 'EdsnContractRenewal' as DataTransferMessageType,\r\n EdsnCreateCk: 'EdsnCreateCK' as DataTransferMessageType,\r\n EdsnEchPortal: 'EdsnEchPortal' as DataTransferMessageType,\r\n EdsnEndOfSupply: 'EdsnEndOfSupply' as DataTransferMessageType,\r\n EdsnGainResult: 'EdsnGainResult' as DataTransferMessageType,\r\n EdsnGetMeteringPoint: 'EdsnGetMeteringPoint' as DataTransferMessageType,\r\n EdsnGetMpInformation: 'EdsnGetMPInformation' as DataTransferMessageType,\r\n EdsnGetScmpInformation: 'EdsnGetSCMPInformation' as DataTransferMessageType,\r\n EdsnGetTransactionDossiers: 'EdsnGetTransactionDossiers' as DataTransferMessageType,\r\n EdsnGetTransactionDossierStepMessage: 'EdsnGetTransactionDossierStepMessage' as DataTransferMessageType,\r\n EdsnGetTransactionDossierSteps: 'EdsnGetTransactionDossierSteps' as DataTransferMessageType,\r\n EdsnHistoricalData: 'EdsnHistoricalData' as DataTransferMessageType,\r\n EdsnHistoricalMeteringData: 'EdsnHistoricalMeteringData' as DataTransferMessageType,\r\n EdsnHistoricalMeteringDataRejection: 'EdsnHistoricalMeteringDataRejection' as DataTransferMessageType,\r\n EdsnLossResult: 'EdsnLossResult' as DataTransferMessageType,\r\n EdsnMasterData: 'EdsnMasterData' as DataTransferMessageType,\r\n EdsnMasterDataUpdate: 'EdsnMasterDataUpdate' as DataTransferMessageType,\r\n EdsnMeterReadingDispute: 'EdsnMeterReadingDispute' as DataTransferMessageType,\r\n EdsnMeterReadingDisputeNotification: 'EdsnMeterReadingDisputeNotification' as DataTransferMessageType,\r\n EdsnMeterReadingDisputeResult: 'EdsnMeterReadingDisputeResult' as DataTransferMessageType,\r\n EdsnMeterReadingDisputeResultNotification: 'EdsnMeterReadingDisputeResultNotification' as DataTransferMessageType,\r\n EdsnMeterReadingExchange: 'EdsnMeterReadingExchange' as DataTransferMessageType,\r\n EdsnMeterReadingExchangeNotification: 'EdsnMeterReadingExchangeNotification' as DataTransferMessageType,\r\n EdsnMoveIn: 'EdsnMoveIn' as DataTransferMessageType,\r\n EdsnMoveOut: 'EdsnMoveOut' as DataTransferMessageType,\r\n EdsnNoticeContractNotification: 'EdsnNoticeContractNotification' as DataTransferMessageType,\r\n EdsnNoticeEos: 'EdsnNoticeEOS' as DataTransferMessageType,\r\n EdsnNoticeEosNotification: 'EdsnNoticeEOSNotification' as DataTransferMessageType,\r\n EdsnP4CollectedDataBatch: 'EdsnP4CollectedDataBatch' as DataTransferMessageType,\r\n EdsnP4CollectedDataBatchResult: 'EdsnP4CollectedDataBatchResult' as DataTransferMessageType,\r\n EdsnPreMutationMd: 'EdsnPreMutationMD' as DataTransferMessageType,\r\n EdsnRejectionResult: 'EdsnRejectionResult' as DataTransferMessageType,\r\n EdsnSearchMeteringPoints: 'EdsnSearchMeteringPoints' as DataTransferMessageType,\r\n EdsnUpdateResult: 'EdsnUpdateResult' as DataTransferMessageType,\r\n EdsnMasterDataGain: 'EdsnMasterDataGain' as DataTransferMessageType,\r\n EdsnMeasureCorrection: 'EdsnMeasureCorrection' as DataTransferMessageType,\r\n EdsnMeasureCorrectionResultNotification: 'EdsnMeasureCorrectionResultNotification' as DataTransferMessageType,\r\n EdsnTariffs: 'EdsnTariffs' as DataTransferMessageType,\r\n NameChangeBatch: 'NameChangeBatch' as DataTransferMessageType,\r\n NameChange: 'NameChange' as DataTransferMessageType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type DealConfirmationState = 'DoesNotApply' | 'Defined' | 'ReadyToConfirm' | 'Confirming' | 'ConfirmationReceived' | 'Confirmed';\r\n\r\nexport const DealConfirmationState = {\r\n DoesNotApply: 'DoesNotApply' as DealConfirmationState,\r\n Defined: 'Defined' as DealConfirmationState,\r\n ReadyToConfirm: 'ReadyToConfirm' as DealConfirmationState,\r\n Confirming: 'Confirming' as DealConfirmationState,\r\n ConfirmationReceived: 'ConfirmationReceived' as DealConfirmationState,\r\n Confirmed: 'Confirmed' as DealConfirmationState\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type DealState = 'Defined' | 'Accepted' | 'Executing' | 'Executed' | 'Verified' | 'Rejected' | 'Expired' | 'Cancelled' | 'Revised';\r\n\r\nexport const DealState = {\r\n Defined: 'Defined' as DealState,\r\n Accepted: 'Accepted' as DealState,\r\n Executing: 'Executing' as DealState,\r\n Executed: 'Executed' as DealState,\r\n Verified: 'Verified' as DealState,\r\n Rejected: 'Rejected' as DealState,\r\n Expired: 'Expired' as DealState,\r\n Cancelled: 'Cancelled' as DealState,\r\n Revised: 'Revised' as DealState\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DealTradingPartyCreateCommand { \r\n Name?: string;\r\n Ean?: number;\r\n CanInitiate?: boolean;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DealTradingPartyRequest { \r\n Id?: string | null;\r\n HavingName?: string | null;\r\n CanInitiate?: boolean | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DealTradingPartyResponse { \r\n Id?: string;\r\n Name?: string;\r\n Ean?: number;\r\n CanInitiate?: boolean;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DealTradingPartyUpdateCommand { \r\n Id?: string;\r\n Name?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type DealValidationState = 'DoesNotApply' | 'Defined' | 'ReadyToValidate' | 'Validating' | 'Validated';\r\n\r\nexport const DealValidationState = {\r\n DoesNotApply: 'DoesNotApply' as DealValidationState,\r\n Defined: 'Defined' as DealValidationState,\r\n ReadyToValidate: 'ReadyToValidate' as DealValidationState,\r\n Validating: 'Validating' as DealValidationState,\r\n Validated: 'Validated' as DealValidationState\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DealVolumeResponse { \r\n Id?: string;\r\n Volume?: number;\r\n PriceLowerThresholdInEuro?: number;\r\n PriceUpperThresholdInEuro?: number;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DelayCountRequest { \r\n Count?: number;\r\n DelayMilliseconds?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteClusterCommand { \r\n Id?: string | null;\r\n Name?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteClusterConnectionCommand { \r\n Id?: string | null;\r\n ClusterId?: string | null;\r\n ConnectionId?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteClusterConnectionRecommendationCommand { \r\n Id?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteClusterGroupCommand { \r\n Id?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteForecasterCommand { \r\n Id?: string | null;\r\n Name?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeletePortfolioCommand { \r\n Id?: string | null;\r\n Name?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteResaleClusterCommand { \r\n Id?: string | null;\r\n Name?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteResaleClusterConnectionCommand { \r\n Id?: string | null;\r\n ResaleClusterId?: string | null;\r\n ConnectionId?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeltaValueResponse { \r\n FirstKnownValue?: number | null;\r\n LastKnownValue?: number | null;\r\n readonly Delta?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type EnergyMeterReadingMethod = 'RecordedByBalanceSupplier' | 'CalculatedByBalanceSupplier' | 'Recorded' | 'P4' | 'Calculated' | 'Estimated' | 'BestEstimation' | 'Agreed' | 'RecordedByCustomer' | 'RecordedByMeteringResponsibleParty' | 'CalculatedByMeteringResponsibleParty' | 'RecordedByGridOperator' | 'CalculatedByGridOperator' | 'E01' | 'E02';\r\n\r\nexport const EnergyMeterReadingMethod = {\r\n RecordedByBalanceSupplier: 'RecordedByBalanceSupplier' as EnergyMeterReadingMethod,\r\n CalculatedByBalanceSupplier: 'CalculatedByBalanceSupplier' as EnergyMeterReadingMethod,\r\n Recorded: 'Recorded' as EnergyMeterReadingMethod,\r\n P4: 'P4' as EnergyMeterReadingMethod,\r\n Calculated: 'Calculated' as EnergyMeterReadingMethod,\r\n Estimated: 'Estimated' as EnergyMeterReadingMethod,\r\n BestEstimation: 'BestEstimation' as EnergyMeterReadingMethod,\r\n Agreed: 'Agreed' as EnergyMeterReadingMethod,\r\n RecordedByCustomer: 'RecordedByCustomer' as EnergyMeterReadingMethod,\r\n RecordedByMeteringResponsibleParty: 'RecordedByMeteringResponsibleParty' as EnergyMeterReadingMethod,\r\n CalculatedByMeteringResponsibleParty: 'CalculatedByMeteringResponsibleParty' as EnergyMeterReadingMethod,\r\n RecordedByGridOperator: 'RecordedByGridOperator' as EnergyMeterReadingMethod,\r\n CalculatedByGridOperator: 'CalculatedByGridOperator' as EnergyMeterReadingMethod,\r\n E01: 'E01' as EnergyMeterReadingMethod,\r\n E02: 'E02' as EnergyMeterReadingMethod\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface EnumDescriptionR { \r\n Enum?: string | null;\r\n Value?: string | null;\r\n Translation?: string | null;\r\n Description?: string | null;\r\n IntValue?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type EstimationType = 'Flat' | 'Dynamic';\r\n\r\nexport const EstimationType = {\r\n Flat: 'Flat' as EstimationType,\r\n Dynamic: 'Dynamic' as EstimationType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ForecastActualDataType = 'AssetCount' | 'ConsumptionLow' | 'ProductionLow' | 'ProsumptionLow' | 'ConsumptionNormal' | 'ProductionNormal' | 'ProsumptionNormal' | 'Allocation' | 'PeakLow' | 'PeakHigh' | 'Asset';\r\n\r\nexport const ForecastActualDataType = {\r\n AssetCount: 'AssetCount' as ForecastActualDataType,\r\n ConsumptionLow: 'ConsumptionLow' as ForecastActualDataType,\r\n ProductionLow: 'ProductionLow' as ForecastActualDataType,\r\n ProsumptionLow: 'ProsumptionLow' as ForecastActualDataType,\r\n ConsumptionNormal: 'ConsumptionNormal' as ForecastActualDataType,\r\n ProductionNormal: 'ProductionNormal' as ForecastActualDataType,\r\n ProsumptionNormal: 'ProsumptionNormal' as ForecastActualDataType,\r\n Allocation: 'Allocation' as ForecastActualDataType,\r\n PeakLow: 'PeakLow' as ForecastActualDataType,\r\n PeakHigh: 'PeakHigh' as ForecastActualDataType,\r\n Asset: 'Asset' as ForecastActualDataType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ForecastAdjustmentCalculationType = 'Add' | 'Percentage';\r\n\r\nexport const ForecastAdjustmentCalculationType = {\r\n Add: 'Add' as ForecastAdjustmentCalculationType,\r\n Percentage: 'Percentage' as ForecastAdjustmentCalculationType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ForecastAdjustmentType = 'None' | 'Custom' | 'All' | 'Solar' | 'BusinessHours' | 'MinForHour' | 'MaxForHour' | 'RampUpDown' | 'Allocation' | 'RoundForHour' | 'AvgForHour';\r\n\r\nexport const ForecastAdjustmentType = {\r\n None: 'None' as ForecastAdjustmentType,\r\n Custom: 'Custom' as ForecastAdjustmentType,\r\n All: 'All' as ForecastAdjustmentType,\r\n Solar: 'Solar' as ForecastAdjustmentType,\r\n BusinessHours: 'BusinessHours' as ForecastAdjustmentType,\r\n MinForHour: 'MinForHour' as ForecastAdjustmentType,\r\n MaxForHour: 'MaxForHour' as ForecastAdjustmentType,\r\n RampUpDown: 'RampUpDown' as ForecastAdjustmentType,\r\n Allocation: 'Allocation' as ForecastAdjustmentType,\r\n RoundForHour: 'RoundForHour' as ForecastAdjustmentType,\r\n AvgForHour: 'AvgForHour' as ForecastAdjustmentType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ForecastClusterType = 'ClusterBased' | 'ConnectionBased' | 'Profile';\r\n\r\nexport const ForecastClusterType = {\r\n ClusterBased: 'ClusterBased' as ForecastClusterType,\r\n ConnectionBased: 'ConnectionBased' as ForecastClusterType,\r\n Profile: 'Profile' as ForecastClusterType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ForecastConnectionClusterType = 'Untyped' | 'SMA' | 'SMA_Consumption' | 'SMA_Prosumption' | 'Profile' | 'Telemetric' | 'Consumption' | 'ConsumptionSubMeter' | 'Prosumption' | 'ProductionSubMeter' | 'Prosumption_Solar' | 'Production_Solar' | 'Prosumption_Solar_Weekend' | 'Prosumption_Solar_Summer' | 'Solar' | 'Wind';\r\n\r\nexport const ForecastConnectionClusterType = {\r\n Untyped: 'Untyped' as ForecastConnectionClusterType,\r\n Sma: 'SMA' as ForecastConnectionClusterType,\r\n SmaConsumption: 'SMA_Consumption' as ForecastConnectionClusterType,\r\n SmaProsumption: 'SMA_Prosumption' as ForecastConnectionClusterType,\r\n Profile: 'Profile' as ForecastConnectionClusterType,\r\n Telemetric: 'Telemetric' as ForecastConnectionClusterType,\r\n Consumption: 'Consumption' as ForecastConnectionClusterType,\r\n ConsumptionSubMeter: 'ConsumptionSubMeter' as ForecastConnectionClusterType,\r\n Prosumption: 'Prosumption' as ForecastConnectionClusterType,\r\n ProductionSubMeter: 'ProductionSubMeter' as ForecastConnectionClusterType,\r\n ProsumptionSolar: 'Prosumption_Solar' as ForecastConnectionClusterType,\r\n ProductionSolar: 'Production_Solar' as ForecastConnectionClusterType,\r\n ProsumptionSolarWeekend: 'Prosumption_Solar_Weekend' as ForecastConnectionClusterType,\r\n ProsumptionSolarSummer: 'Prosumption_Solar_Summer' as ForecastConnectionClusterType,\r\n Solar: 'Solar' as ForecastConnectionClusterType,\r\n Wind: 'Wind' as ForecastConnectionClusterType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ForecastDownloadRequest { \r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n ReferenceDate?: string | null;\r\n PortfolioId?: string;\r\n readonly From?: string;\r\n readonly Until?: string;\r\n Skip?: number | null;\r\n Take?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ForecastGetSubRequest { \r\n ClusterId?: string;\r\n ConnectionIds?: Array | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ForecastValueResponse { \r\n ConsumptionProven?: number;\r\n ConsumptionMedian?: number;\r\n ConsumptionPossible?: number;\r\n ProductionProven?: number;\r\n ProductionMedian?: number;\r\n ProductionPossible?: number;\r\n ClusterMemberCount?: number | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ForecasterRequest { \r\n Id?: string | null;\r\n Name?: string | null;\r\n Skip?: number | null;\r\n Take?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type FractionType = 'ConstantFraction' | 'TemperatureFraction' | 'PeakHourSupply';\r\n\r\nexport const FractionType = {\r\n ConstantFraction: 'ConstantFraction' as FractionType,\r\n TemperatureFraction: 'TemperatureFraction' as FractionType,\r\n PeakHourSupply: 'PeakHourSupply' as FractionType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type FuelForm = 'Solid' | 'Liquid' | 'Gaseous' | 'HeatingAndCooling' | 'MechanicalSourceOrOther' | 'Heat' | 'FurnaceGas' | 'ByproductInIndustrialInstallation' | 'ByproductInPowerGeneration' | 'ByproductInTertiarySector';\r\n\r\nexport const FuelForm = {\r\n Solid: 'Solid' as FuelForm,\r\n Liquid: 'Liquid' as FuelForm,\r\n Gaseous: 'Gaseous' as FuelForm,\r\n HeatingAndCooling: 'HeatingAndCooling' as FuelForm,\r\n MechanicalSourceOrOther: 'MechanicalSourceOrOther' as FuelForm,\r\n Heat: 'Heat' as FuelForm,\r\n FurnaceGas: 'FurnaceGas' as FuelForm,\r\n ByproductInIndustrialInstallation: 'ByproductInIndustrialInstallation' as FuelForm,\r\n ByproductInPowerGeneration: 'ByproductInPowerGeneration' as FuelForm,\r\n ByproductInTertiarySector: 'ByproductInTertiarySector' as FuelForm\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type FuelKind = 'Renewable' | 'Fossil' | 'Nuclear' | 'GasSynthesis' | 'WasteHeatAndCold';\r\n\r\nexport const FuelKind = {\r\n Renewable: 'Renewable' as FuelKind,\r\n Fossil: 'Fossil' as FuelKind,\r\n Nuclear: 'Nuclear' as FuelKind,\r\n GasSynthesis: 'GasSynthesis' as FuelKind,\r\n WasteHeatAndCold: 'WasteHeatAndCold' as FuelKind\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type FuelOrigin = 'MunicipalWaste' | 'IndustrialAndCommercialWaste' | 'Wood' | 'AnimalFats' | 'BiomassFromAgriculture' | 'MunicipalBiodegradableWaste' | 'BlackLiquor' | 'PurePlantOil' | 'WastePlantOil' | 'RefinedVegetableOil' | 'LandfillGas' | 'SewageGas' | 'AgriculturalGas' | 'GasFromOrganicWasteDigestion' | 'ProcessGas' | 'OtherGasSources' | 'Solar' | 'Geothermal' | 'Aerothermal' | 'Hydrothermal' | 'ProcessHeat' | 'Wind' | 'HydroAndMarine' | 'HardCoal' | 'BrownCoal' | 'Peat' | 'CrudeOil' | 'NaturalGasLiquids' | 'PetroleumProducts' | 'NaturalGas' | 'CoalDerivedGas' | 'MunicipalGasPlant' | 'RadioactiveFuel';\r\n\r\nexport const FuelOrigin = {\r\n MunicipalWaste: 'MunicipalWaste' as FuelOrigin,\r\n IndustrialAndCommercialWaste: 'IndustrialAndCommercialWaste' as FuelOrigin,\r\n Wood: 'Wood' as FuelOrigin,\r\n AnimalFats: 'AnimalFats' as FuelOrigin,\r\n BiomassFromAgriculture: 'BiomassFromAgriculture' as FuelOrigin,\r\n MunicipalBiodegradableWaste: 'MunicipalBiodegradableWaste' as FuelOrigin,\r\n BlackLiquor: 'BlackLiquor' as FuelOrigin,\r\n PurePlantOil: 'PurePlantOil' as FuelOrigin,\r\n WastePlantOil: 'WastePlantOil' as FuelOrigin,\r\n RefinedVegetableOil: 'RefinedVegetableOil' as FuelOrigin,\r\n LandfillGas: 'LandfillGas' as FuelOrigin,\r\n SewageGas: 'SewageGas' as FuelOrigin,\r\n AgriculturalGas: 'AgriculturalGas' as FuelOrigin,\r\n GasFromOrganicWasteDigestion: 'GasFromOrganicWasteDigestion' as FuelOrigin,\r\n ProcessGas: 'ProcessGas' as FuelOrigin,\r\n OtherGasSources: 'OtherGasSources' as FuelOrigin,\r\n Solar: 'Solar' as FuelOrigin,\r\n Geothermal: 'Geothermal' as FuelOrigin,\r\n Aerothermal: 'Aerothermal' as FuelOrigin,\r\n Hydrothermal: 'Hydrothermal' as FuelOrigin,\r\n ProcessHeat: 'ProcessHeat' as FuelOrigin,\r\n Wind: 'Wind' as FuelOrigin,\r\n HydroAndMarine: 'HydroAndMarine' as FuelOrigin,\r\n HardCoal: 'HardCoal' as FuelOrigin,\r\n BrownCoal: 'BrownCoal' as FuelOrigin,\r\n Peat: 'Peat' as FuelOrigin,\r\n CrudeOil: 'CrudeOil' as FuelOrigin,\r\n NaturalGasLiquids: 'NaturalGasLiquids' as FuelOrigin,\r\n PetroleumProducts: 'PetroleumProducts' as FuelOrigin,\r\n NaturalGas: 'NaturalGas' as FuelOrigin,\r\n CoalDerivedGas: 'CoalDerivedGas' as FuelOrigin,\r\n MunicipalGasPlant: 'MunicipalGasPlant' as FuelOrigin,\r\n RadioactiveFuel: 'RadioactiveFuel' as FuelOrigin\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type FuelOriginDetail = 'Biogenic' | 'ForestryProducts' | 'ForestryByproductsAndWaste' | 'SawProductsByproductsAndWaste' | 'AgriculturalProducts' | 'AgriculturalByproductsAndWaste' | 'Rapeseed' | 'Sunflower' | 'OilPalm' | 'Coconut' | 'Jatropha' | 'Biodiesel' | 'Biogasoline' | 'PigManure' | 'CowManure' | 'ChickenManure' | 'UnspecifiedManure' | 'EnergyCrops' | 'DigestionOfPureManure' | 'DigestionOfManureWithEnergyCrops' | 'OrganicWaste' | 'AgriculturalWaste' | 'AgriculturalWasteFromFarmFertiliser' | 'AgriculturalWasteFromStraw' | 'WasteFromFoodIndustry' | 'ManureWithOrganicWaste' | 'ManureWithOrganicWasteAndEnergyCrops' | 'OtherBiogenicWaste' | 'ConventionalGeothermalHeat' | 'EnhancedDryBedGeothermalHeat' | 'ShallowGeothermalHeatOrCold' | 'River' | 'Lake' | 'Anthracite' | 'BituminousCoal' | 'CokingCoal' | 'CokeOvenCoke' | 'LigniteCoke' | 'SubbituminousCoal' | 'Lignite' | 'BrownCoalBriquette' | 'PeatBriquette' | 'NonRenewable' | 'ShaleOil' | 'Ethane' | 'Naphtha' | 'AviationGasoline' | 'MotorGasoline' | 'AviationTurbineFuel' | 'OtherKerosene' | 'GasOrDieselOil' | 'FuelOilLowSulphur' | 'FuelOilHighSulphur' | 'LiquidPetroleumGas' | 'Orimulsion' | 'Bitumen' | 'Lubricants' | 'PetroleumCoke' | 'RefineryFeedstock' | 'BlastFurnaceGas' | 'CokeOvenGas' | 'Propane' | 'Butane' | 'RefineryGas' | 'ChemicalWasteGas' | 'CarbonMonoxide' | 'Methane' | 'HydrogenFossilSourced' | 'PhosphorGas' | 'OxyGas' | 'UOX' | 'AGR' | 'MOX';\r\n\r\nexport const FuelOriginDetail = {\r\n Biogenic: 'Biogenic' as FuelOriginDetail,\r\n ForestryProducts: 'ForestryProducts' as FuelOriginDetail,\r\n ForestryByproductsAndWaste: 'ForestryByproductsAndWaste' as FuelOriginDetail,\r\n SawProductsByproductsAndWaste: 'SawProductsByproductsAndWaste' as FuelOriginDetail,\r\n AgriculturalProducts: 'AgriculturalProducts' as FuelOriginDetail,\r\n AgriculturalByproductsAndWaste: 'AgriculturalByproductsAndWaste' as FuelOriginDetail,\r\n Rapeseed: 'Rapeseed' as FuelOriginDetail,\r\n Sunflower: 'Sunflower' as FuelOriginDetail,\r\n OilPalm: 'OilPalm' as FuelOriginDetail,\r\n Coconut: 'Coconut' as FuelOriginDetail,\r\n Jatropha: 'Jatropha' as FuelOriginDetail,\r\n Biodiesel: 'Biodiesel' as FuelOriginDetail,\r\n Biogasoline: 'Biogasoline' as FuelOriginDetail,\r\n PigManure: 'PigManure' as FuelOriginDetail,\r\n CowManure: 'CowManure' as FuelOriginDetail,\r\n ChickenManure: 'ChickenManure' as FuelOriginDetail,\r\n UnspecifiedManure: 'UnspecifiedManure' as FuelOriginDetail,\r\n EnergyCrops: 'EnergyCrops' as FuelOriginDetail,\r\n DigestionOfPureManure: 'DigestionOfPureManure' as FuelOriginDetail,\r\n DigestionOfManureWithEnergyCrops: 'DigestionOfManureWithEnergyCrops' as FuelOriginDetail,\r\n OrganicWaste: 'OrganicWaste' as FuelOriginDetail,\r\n AgriculturalWaste: 'AgriculturalWaste' as FuelOriginDetail,\r\n AgriculturalWasteFromFarmFertiliser: 'AgriculturalWasteFromFarmFertiliser' as FuelOriginDetail,\r\n AgriculturalWasteFromStraw: 'AgriculturalWasteFromStraw' as FuelOriginDetail,\r\n WasteFromFoodIndustry: 'WasteFromFoodIndustry' as FuelOriginDetail,\r\n ManureWithOrganicWaste: 'ManureWithOrganicWaste' as FuelOriginDetail,\r\n ManureWithOrganicWasteAndEnergyCrops: 'ManureWithOrganicWasteAndEnergyCrops' as FuelOriginDetail,\r\n OtherBiogenicWaste: 'OtherBiogenicWaste' as FuelOriginDetail,\r\n ConventionalGeothermalHeat: 'ConventionalGeothermalHeat' as FuelOriginDetail,\r\n EnhancedDryBedGeothermalHeat: 'EnhancedDryBedGeothermalHeat' as FuelOriginDetail,\r\n ShallowGeothermalHeatOrCold: 'ShallowGeothermalHeatOrCold' as FuelOriginDetail,\r\n River: 'River' as FuelOriginDetail,\r\n Lake: 'Lake' as FuelOriginDetail,\r\n Anthracite: 'Anthracite' as FuelOriginDetail,\r\n BituminousCoal: 'BituminousCoal' as FuelOriginDetail,\r\n CokingCoal: 'CokingCoal' as FuelOriginDetail,\r\n CokeOvenCoke: 'CokeOvenCoke' as FuelOriginDetail,\r\n LigniteCoke: 'LigniteCoke' as FuelOriginDetail,\r\n SubbituminousCoal: 'SubbituminousCoal' as FuelOriginDetail,\r\n Lignite: 'Lignite' as FuelOriginDetail,\r\n BrownCoalBriquette: 'BrownCoalBriquette' as FuelOriginDetail,\r\n PeatBriquette: 'PeatBriquette' as FuelOriginDetail,\r\n NonRenewable: 'NonRenewable' as FuelOriginDetail,\r\n ShaleOil: 'ShaleOil' as FuelOriginDetail,\r\n Ethane: 'Ethane' as FuelOriginDetail,\r\n Naphtha: 'Naphtha' as FuelOriginDetail,\r\n AviationGasoline: 'AviationGasoline' as FuelOriginDetail,\r\n MotorGasoline: 'MotorGasoline' as FuelOriginDetail,\r\n AviationTurbineFuel: 'AviationTurbineFuel' as FuelOriginDetail,\r\n OtherKerosene: 'OtherKerosene' as FuelOriginDetail,\r\n GasOrDieselOil: 'GasOrDieselOil' as FuelOriginDetail,\r\n FuelOilLowSulphur: 'FuelOilLowSulphur' as FuelOriginDetail,\r\n FuelOilHighSulphur: 'FuelOilHighSulphur' as FuelOriginDetail,\r\n LiquidPetroleumGas: 'LiquidPetroleumGas' as FuelOriginDetail,\r\n Orimulsion: 'Orimulsion' as FuelOriginDetail,\r\n Bitumen: 'Bitumen' as FuelOriginDetail,\r\n Lubricants: 'Lubricants' as FuelOriginDetail,\r\n PetroleumCoke: 'PetroleumCoke' as FuelOriginDetail,\r\n RefineryFeedstock: 'RefineryFeedstock' as FuelOriginDetail,\r\n BlastFurnaceGas: 'BlastFurnaceGas' as FuelOriginDetail,\r\n CokeOvenGas: 'CokeOvenGas' as FuelOriginDetail,\r\n Propane: 'Propane' as FuelOriginDetail,\r\n Butane: 'Butane' as FuelOriginDetail,\r\n RefineryGas: 'RefineryGas' as FuelOriginDetail,\r\n ChemicalWasteGas: 'ChemicalWasteGas' as FuelOriginDetail,\r\n CarbonMonoxide: 'CarbonMonoxide' as FuelOriginDetail,\r\n Methane: 'Methane' as FuelOriginDetail,\r\n HydrogenFossilSourced: 'HydrogenFossilSourced' as FuelOriginDetail,\r\n PhosphorGas: 'PhosphorGas' as FuelOriginDetail,\r\n OxyGas: 'OxyGas' as FuelOriginDetail,\r\n Uox: 'UOX' as FuelOriginDetail,\r\n Agr: 'AGR' as FuelOriginDetail,\r\n Mox: 'MOX' as FuelOriginDetail\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Granularity = 'QuarterHour' | 'Hour' | 'Day' | 'Week' | 'Month' | 'QuarterYear' | 'Year';\r\n\r\nexport const Granularity = {\r\n QuarterHour: 'QuarterHour' as Granularity,\r\n Hour: 'Hour' as Granularity,\r\n Day: 'Day' as Granularity,\r\n Week: 'Week' as Granularity,\r\n Month: 'Month' as Granularity,\r\n QuarterYear: 'QuarterYear' as Granularity,\r\n Year: 'Year' as Granularity\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type GroupType = 'One' | 'All' | 'Any';\r\n\r\nexport const GroupType = {\r\n One: 'One' as GroupType,\r\n All: 'All' as GroupType,\r\n Any: 'Any' as GroupType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type IdType = 'GridOperatorId' | 'GridAreaId' | 'CustomerId' | 'ConnectionId' | 'MeterId' | 'SupplierId' | 'ContractStateId';\r\n\r\nexport const IdType = {\r\n GridOperatorId: 'GridOperatorId' as IdType,\r\n GridAreaId: 'GridAreaId' as IdType,\r\n CustomerId: 'CustomerId' as IdType,\r\n ConnectionId: 'ConnectionId' as IdType,\r\n MeterId: 'MeterId' as IdType,\r\n SupplierId: 'SupplierId' as IdType,\r\n ContractStateId: 'ContractStateId' as IdType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface IgnoreClusterConnectionRecommendationCommand { \r\n Id?: string;\r\n Reason?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface InlineObject2 { \r\n forecastFile?: Blob;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface InlineObject3 { \r\n nordpoolExcel?: Blob;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface InlineObject7 { \r\n file?: Blob;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface IntervalTemperatureR { \r\n Interval?: string;\r\n Temperature?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type IntradayType = 'IDM' | 'DAM1' | 'DAM2' | 'DAM3' | 'DAM4' | 'DAM5' | 'DAM6' | 'DAM7';\r\n\r\nexport const IntradayType = {\r\n Idm: 'IDM' as IntradayType,\r\n Dam1: 'DAM1' as IntradayType,\r\n Dam2: 'DAM2' as IntradayType,\r\n Dam3: 'DAM3' as IntradayType,\r\n Dam4: 'DAM4' as IntradayType,\r\n Dam5: 'DAM5' as IntradayType,\r\n Dam6: 'DAM6' as IntradayType,\r\n Dam7: 'DAM7' as IntradayType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type IntradayVersion = 'Version1' | 'Version1_1' | 'Version1_2' | 'Version1_3' | 'Version1_4' | 'Version1_5' | 'Version2' | 'Version2_1' | 'Version2_2' | 'Version2_3' | 'Version2_4' | 'Version2_5' | 'Version3' | 'Version3_1' | 'Version3_2' | 'Version3_3' | 'Version3_4' | 'Version3_5' | 'Version4' | 'Version4_1' | 'Version4_2' | 'Version4_3' | 'Version4_4' | 'Version4_5';\r\n\r\nexport const IntradayVersion = {\r\n Version1: 'Version1' as IntradayVersion,\r\n Version11: 'Version1_1' as IntradayVersion,\r\n Version12: 'Version1_2' as IntradayVersion,\r\n Version13: 'Version1_3' as IntradayVersion,\r\n Version14: 'Version1_4' as IntradayVersion,\r\n Version15: 'Version1_5' as IntradayVersion,\r\n Version2: 'Version2' as IntradayVersion,\r\n Version21: 'Version2_1' as IntradayVersion,\r\n Version22: 'Version2_2' as IntradayVersion,\r\n Version23: 'Version2_3' as IntradayVersion,\r\n Version24: 'Version2_4' as IntradayVersion,\r\n Version25: 'Version2_5' as IntradayVersion,\r\n Version3: 'Version3' as IntradayVersion,\r\n Version31: 'Version3_1' as IntradayVersion,\r\n Version32: 'Version3_2' as IntradayVersion,\r\n Version33: 'Version3_3' as IntradayVersion,\r\n Version34: 'Version3_4' as IntradayVersion,\r\n Version35: 'Version3_5' as IntradayVersion,\r\n Version4: 'Version4' as IntradayVersion,\r\n Version41: 'Version4_1' as IntradayVersion,\r\n Version42: 'Version4_2' as IntradayVersion,\r\n Version43: 'Version4_3' as IntradayVersion,\r\n Version44: 'Version4_4' as IntradayVersion,\r\n Version45: 'Version4_5' as IntradayVersion\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type InvoiceDeadlineType = 'InitialAdvanceInvoice' | 'Periodic' | 'MonthlySettlement' | 'YearlySettlement' | 'FinalSettlement';\r\n\r\nexport const InvoiceDeadlineType = {\r\n InitialAdvanceInvoice: 'InitialAdvanceInvoice' as InvoiceDeadlineType,\r\n Periodic: 'Periodic' as InvoiceDeadlineType,\r\n MonthlySettlement: 'MonthlySettlement' as InvoiceDeadlineType,\r\n YearlySettlement: 'YearlySettlement' as InvoiceDeadlineType,\r\n FinalSettlement: 'FinalSettlement' as InvoiceDeadlineType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type InvoiceType = 'Settlement' | 'InitialAdvanceInvoice' | 'Periodic' | 'YearlySettlement' | 'FinalSettlement';\r\n\r\nexport const InvoiceType = {\r\n Settlement: 'Settlement' as InvoiceType,\r\n InitialAdvanceInvoice: 'InitialAdvanceInvoice' as InvoiceType,\r\n Periodic: 'Periodic' as InvoiceType,\r\n YearlySettlement: 'YearlySettlement' as InvoiceType,\r\n FinalSettlement: 'FinalSettlement' as InvoiceType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type InvoiceTypeR = 'Settlement' | 'Periodic' | 'PrePayed' | 'All';\r\n\r\nexport const InvoiceTypeR = {\r\n Settlement: 'Settlement' as InvoiceTypeR,\r\n Periodic: 'Periodic' as InvoiceTypeR,\r\n PrePayed: 'PrePayed' as InvoiceTypeR,\r\n All: 'All' as InvoiceTypeR\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type IssueType = 'Consumption_MeasurementCorrection' | 'MeasurementCollection' | 'Consolidation' | 'ConsolidationCorrection' | 'ConsolidationEstimation' | 'ConsolidationDistribution' | 'ConsolidationLargeCapacityDistribution' | 'ConsolidationDataCompletion' | 'ConsolidationDataCompletion_ClosedConsumption' | 'ConsolidationDataCompletion_ClosedConsumptionQuantitiesMismatch' | 'AggregationConsumption' | 'AggregationAllocation' | 'AggregationReconciliation' | 'MeasurementCollection_Sync' | 'MeasurementCollection_P4' | 'MeasurementCollection_MeterReading' | 'MeasurementCollection_MeterReading_NegativeVolume' | 'MeasurementCollection_Dispute' | 'MeasurementCommunication' | 'AllocationBySupplierCalculation' | 'MeasurementCollectionWebsite' | 'MeasurementCommunication_FailedToSend' | 'MeasurementCommunication_FailedToUpdateEntity' | 'MeasurementCommunication_NoMeasurementReceived' | 'MeasurementCommunication_MissingData' | 'MeasurementCommunication_FailedToCreateEntity' | 'MeasurementCommunicationWithoutRespond' | 'MeasurementsToSubmitDetermination' | 'ReconciliationBySupplierCalculation' | 'ReconciliationBySupplierEstimation' | 'MeasuringErrorCorrectionFactorCollection' | 'CalorificCorrectionFactorCollection' | 'PriceCollectionConnectionCapacity' | 'XtraMileContractService' | 'AdminProcess' | 'XtraMileMeterInSystem' | 'XtraMileAnnualConsumptionDifference' | 'ForecastActualsDexter' | 'ConnectionContractStateTransitioning' | 'ConnectionContractStateTransitioningException' | 'ConnectionContractStateTransitioningInformational' | 'TaxCollection' | 'ConnectionUpdate' | 'ConnectionUpdateHistorically' | 'ForecastCollectionDexterCluster' | 'ForecastCollectionDexterConnection' | 'MeasureCorrection' | 'ConsumptionPerGranularityIntervalToConnectionConsumptionSync' | 'PriceCollectionApx' | 'PriceCollectionLeba' | 'AreaTemperatureCollection' | 'PriceCollectionImbalance' | 'PriceCollectionFinalizedReconciliationElectricity' | 'PriceEstimationReconciliationElectricity' | 'PriceCollectionFinalizedReconciliationGas' | 'PriceEstimationReconciliationGas' | 'ProfileFractionsCollection' | 'MeteringPointExtract' | 'InvoiceDeadline' | 'InvoicingQueueProcess' | 'CustomerProviderEpvMapping' | 'AllocationDataOutlier' | 'AllocationDataOutlierProcessUnexpectedError' | 'Processing' | 'MarketPurchasesStagingSyncer' | 'EnergySystemStagingSyncer' | 'MeasurementEnvironmentSyncer' | 'ConsumptionEnvironmentSyncer' | 'MeterInvoiceSettingsEnvironmentSync' | 'CustomerInvoiceSettingsEnvironmentSync' | 'ContractInvoiceSettingsEnvironmentSync' | 'InvoiceSettingsEnvironmentSync' | 'PeakSupplyPurchaseFractionsEnvironmentSync' | 'PeakSupplyFactorEnvironmentSync' | 'PriceEnvironmentSync' | 'ProfileFractionEnvironmentSync' | 'ProfileProsumptionEnvironmentSync' | 'Loss' | 'LossNotification' | 'Gain' | 'ExternalDossierMapping' | 'MeasurementSourceDetailsSync' | 'ConnectionValidation' | 'ConnectionIssue' | 'StoreAllocationMessages' | 'ConnectionEnvironmentSyncer';\r\n\r\nexport const IssueType = {\r\n ConsumptionMeasurementCorrection: 'Consumption_MeasurementCorrection' as IssueType,\r\n MeasurementCollection: 'MeasurementCollection' as IssueType,\r\n Consolidation: 'Consolidation' as IssueType,\r\n ConsolidationCorrection: 'ConsolidationCorrection' as IssueType,\r\n ConsolidationEstimation: 'ConsolidationEstimation' as IssueType,\r\n ConsolidationDistribution: 'ConsolidationDistribution' as IssueType,\r\n ConsolidationLargeCapacityDistribution: 'ConsolidationLargeCapacityDistribution' as IssueType,\r\n ConsolidationDataCompletion: 'ConsolidationDataCompletion' as IssueType,\r\n ConsolidationDataCompletionClosedConsumption: 'ConsolidationDataCompletion_ClosedConsumption' as IssueType,\r\n ConsolidationDataCompletionClosedConsumptionQuantitiesMismatch: 'ConsolidationDataCompletion_ClosedConsumptionQuantitiesMismatch' as IssueType,\r\n AggregationConsumption: 'AggregationConsumption' as IssueType,\r\n AggregationAllocation: 'AggregationAllocation' as IssueType,\r\n AggregationReconciliation: 'AggregationReconciliation' as IssueType,\r\n MeasurementCollectionSync: 'MeasurementCollection_Sync' as IssueType,\r\n MeasurementCollectionP4: 'MeasurementCollection_P4' as IssueType,\r\n MeasurementCollectionMeterReading: 'MeasurementCollection_MeterReading' as IssueType,\r\n MeasurementCollectionMeterReadingNegativeVolume: 'MeasurementCollection_MeterReading_NegativeVolume' as IssueType,\r\n MeasurementCollectionDispute: 'MeasurementCollection_Dispute' as IssueType,\r\n MeasurementCommunication: 'MeasurementCommunication' as IssueType,\r\n AllocationBySupplierCalculation: 'AllocationBySupplierCalculation' as IssueType,\r\n MeasurementCollectionWebsite: 'MeasurementCollectionWebsite' as IssueType,\r\n MeasurementCommunicationFailedToSend: 'MeasurementCommunication_FailedToSend' as IssueType,\r\n MeasurementCommunicationFailedToUpdateEntity: 'MeasurementCommunication_FailedToUpdateEntity' as IssueType,\r\n MeasurementCommunicationNoMeasurementReceived: 'MeasurementCommunication_NoMeasurementReceived' as IssueType,\r\n MeasurementCommunicationMissingData: 'MeasurementCommunication_MissingData' as IssueType,\r\n MeasurementCommunicationFailedToCreateEntity: 'MeasurementCommunication_FailedToCreateEntity' as IssueType,\r\n MeasurementCommunicationWithoutRespond: 'MeasurementCommunicationWithoutRespond' as IssueType,\r\n MeasurementsToSubmitDetermination: 'MeasurementsToSubmitDetermination' as IssueType,\r\n ReconciliationBySupplierCalculation: 'ReconciliationBySupplierCalculation' as IssueType,\r\n ReconciliationBySupplierEstimation: 'ReconciliationBySupplierEstimation' as IssueType,\r\n MeasuringErrorCorrectionFactorCollection: 'MeasuringErrorCorrectionFactorCollection' as IssueType,\r\n CalorificCorrectionFactorCollection: 'CalorificCorrectionFactorCollection' as IssueType,\r\n PriceCollectionConnectionCapacity: 'PriceCollectionConnectionCapacity' as IssueType,\r\n XtraMileContractService: 'XtraMileContractService' as IssueType,\r\n AdminProcess: 'AdminProcess' as IssueType,\r\n XtraMileMeterInSystem: 'XtraMileMeterInSystem' as IssueType,\r\n XtraMileAnnualConsumptionDifference: 'XtraMileAnnualConsumptionDifference' as IssueType,\r\n ForecastActualsDexter: 'ForecastActualsDexter' as IssueType,\r\n ConnectionContractStateTransitioning: 'ConnectionContractStateTransitioning' as IssueType,\r\n ConnectionContractStateTransitioningException: 'ConnectionContractStateTransitioningException' as IssueType,\r\n ConnectionContractStateTransitioningInformational: 'ConnectionContractStateTransitioningInformational' as IssueType,\r\n TaxCollection: 'TaxCollection' as IssueType,\r\n ConnectionUpdate: 'ConnectionUpdate' as IssueType,\r\n ConnectionUpdateHistorically: 'ConnectionUpdateHistorically' as IssueType,\r\n ForecastCollectionDexterCluster: 'ForecastCollectionDexterCluster' as IssueType,\r\n ForecastCollectionDexterConnection: 'ForecastCollectionDexterConnection' as IssueType,\r\n MeasureCorrection: 'MeasureCorrection' as IssueType,\r\n ConsumptionPerGranularityIntervalToConnectionConsumptionSync: 'ConsumptionPerGranularityIntervalToConnectionConsumptionSync' as IssueType,\r\n PriceCollectionApx: 'PriceCollectionApx' as IssueType,\r\n PriceCollectionLeba: 'PriceCollectionLeba' as IssueType,\r\n AreaTemperatureCollection: 'AreaTemperatureCollection' as IssueType,\r\n PriceCollectionImbalance: 'PriceCollectionImbalance' as IssueType,\r\n PriceCollectionFinalizedReconciliationElectricity: 'PriceCollectionFinalizedReconciliationElectricity' as IssueType,\r\n PriceEstimationReconciliationElectricity: 'PriceEstimationReconciliationElectricity' as IssueType,\r\n PriceCollectionFinalizedReconciliationGas: 'PriceCollectionFinalizedReconciliationGas' as IssueType,\r\n PriceEstimationReconciliationGas: 'PriceEstimationReconciliationGas' as IssueType,\r\n ProfileFractionsCollection: 'ProfileFractionsCollection' as IssueType,\r\n MeteringPointExtract: 'MeteringPointExtract' as IssueType,\r\n InvoiceDeadline: 'InvoiceDeadline' as IssueType,\r\n InvoicingQueueProcess: 'InvoicingQueueProcess' as IssueType,\r\n CustomerProviderEpvMapping: 'CustomerProviderEpvMapping' as IssueType,\r\n AllocationDataOutlier: 'AllocationDataOutlier' as IssueType,\r\n AllocationDataOutlierProcessUnexpectedError: 'AllocationDataOutlierProcessUnexpectedError' as IssueType,\r\n Processing: 'Processing' as IssueType,\r\n MarketPurchasesStagingSyncer: 'MarketPurchasesStagingSyncer' as IssueType,\r\n EnergySystemStagingSyncer: 'EnergySystemStagingSyncer' as IssueType,\r\n MeasurementEnvironmentSyncer: 'MeasurementEnvironmentSyncer' as IssueType,\r\n ConsumptionEnvironmentSyncer: 'ConsumptionEnvironmentSyncer' as IssueType,\r\n MeterInvoiceSettingsEnvironmentSync: 'MeterInvoiceSettingsEnvironmentSync' as IssueType,\r\n CustomerInvoiceSettingsEnvironmentSync: 'CustomerInvoiceSettingsEnvironmentSync' as IssueType,\r\n ContractInvoiceSettingsEnvironmentSync: 'ContractInvoiceSettingsEnvironmentSync' as IssueType,\r\n InvoiceSettingsEnvironmentSync: 'InvoiceSettingsEnvironmentSync' as IssueType,\r\n PeakSupplyPurchaseFractionsEnvironmentSync: 'PeakSupplyPurchaseFractionsEnvironmentSync' as IssueType,\r\n PeakSupplyFactorEnvironmentSync: 'PeakSupplyFactorEnvironmentSync' as IssueType,\r\n PriceEnvironmentSync: 'PriceEnvironmentSync' as IssueType,\r\n ProfileFractionEnvironmentSync: 'ProfileFractionEnvironmentSync' as IssueType,\r\n ProfileProsumptionEnvironmentSync: 'ProfileProsumptionEnvironmentSync' as IssueType,\r\n Loss: 'Loss' as IssueType,\r\n LossNotification: 'LossNotification' as IssueType,\r\n Gain: 'Gain' as IssueType,\r\n ExternalDossierMapping: 'ExternalDossierMapping' as IssueType,\r\n MeasurementSourceDetailsSync: 'MeasurementSourceDetailsSync' as IssueType,\r\n ConnectionValidation: 'ConnectionValidation' as IssueType,\r\n ConnectionIssue: 'ConnectionIssue' as IssueType,\r\n StoreAllocationMessages: 'StoreAllocationMessages' as IssueType,\r\n ConnectionEnvironmentSyncer: 'ConnectionEnvironmentSyncer' as IssueType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type IssueUrgency = 'Low' | 'Medium' | 'High';\r\n\r\nexport const IssueUrgency = {\r\n Low: 'Low' as IssueUrgency,\r\n Medium: 'Medium' as IssueUrgency,\r\n High: 'High' as IssueUrgency\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface LatestForecastRequest { \r\n PortfolioIds?: Array;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface LatestForecastResponse { \r\n PortfolioId?: string;\r\n PortfolioName?: string;\r\n ClusterId?: string;\r\n ClusterName?: string;\r\n ForecasterId?: string;\r\n ForecasterName?: string;\r\n IntradayVersionDb?: string | null;\r\n IntradayTypeDb?: string | null;\r\n IntradayVersionApi?: string | null;\r\n IntradayTypeApi?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n ModifiedDatabase?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n ModifiedForecaster?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Legislation = 'NL';\r\n\r\nexport const Legislation = {\r\n Nl: 'NL' as Legislation\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface LocationCoordinates { \r\n Latitude?: number;\r\n Longitude?: number;\r\n Altitude?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface LocationNearestGroupQuery { \r\n Take?: number;\r\n MaximumDistance?: number;\r\n Latitude?: number;\r\n Longitude?: number;\r\n Altitude?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface LocationQueryCommand { \r\n LocationIds?: Array;\r\n LatitudeFrom?: number | null;\r\n LatitudeTill?: number | null;\r\n LongitudeFrom?: number | null;\r\n LongitudeTill?: number | null;\r\n NameLike?: string | null;\r\n NameNotLike?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface LockR { \r\n Id?: string | null;\r\n Email?: string | null;\r\n Name?: string | null;\r\n ExpireTimestamp?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type LogLevel = 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical' | 'None';\r\n\r\nexport const LogLevel = {\r\n Trace: 'Trace' as LogLevel,\r\n Debug: 'Debug' as LogLevel,\r\n Information: 'Information' as LogLevel,\r\n Warning: 'Warning' as LogLevel,\r\n Error: 'Error' as LogLevel,\r\n Critical: 'Critical' as LogLevel,\r\n None: 'None' as LogLevel\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type LossReason = 'UnjustifiedSwitch';\r\n\r\nexport const LossReason = {\r\n UnjustifiedSwitch: 'UnjustifiedSwitch' as LossReason\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface MandateR { \r\n SmartMeter?: boolean;\r\n ResidenceFunction?: boolean;\r\n SkipReflectionTime?: boolean;\r\n /**\r\n * Description\r\n */\r\n ConfirmationDate?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type MarketType = 'Apx' | 'Leba' | 'PeakHourConsumptionPerMonth' | 'PeakHourConsumptionTransportPerYear' | 'PeakHourConsumptionTransportPerQuarterYear' | 'PeakHourConsumptionTransportPerMonth' | 'PeakHourProductionTransportPerMonth' | 'Reconciliation' | 'Imbalance';\r\n\r\nexport const MarketType = {\r\n Apx: 'Apx' as MarketType,\r\n Leba: 'Leba' as MarketType,\r\n PeakHourConsumptionPerMonth: 'PeakHourConsumptionPerMonth' as MarketType,\r\n PeakHourConsumptionTransportPerYear: 'PeakHourConsumptionTransportPerYear' as MarketType,\r\n PeakHourConsumptionTransportPerQuarterYear: 'PeakHourConsumptionTransportPerQuarterYear' as MarketType,\r\n PeakHourConsumptionTransportPerMonth: 'PeakHourConsumptionTransportPerMonth' as MarketType,\r\n PeakHourProductionTransportPerMonth: 'PeakHourProductionTransportPerMonth' as MarketType,\r\n Reconciliation: 'Reconciliation' as MarketType,\r\n Imbalance: 'Imbalance' as MarketType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type MeasurementCommunicationType = 'AnnualInvoiceRequest' | 'AnnualTransitionRequest' | 'TransactionDossierStepRequest' | 'TransactionDossierStepRequestLoss' | 'PeriodicRequest' | 'TelemetryNotOperationalRequest';\r\n\r\nexport const MeasurementCommunicationType = {\r\n AnnualInvoiceRequest: 'AnnualInvoiceRequest' as MeasurementCommunicationType,\r\n AnnualTransitionRequest: 'AnnualTransitionRequest' as MeasurementCommunicationType,\r\n TransactionDossierStepRequest: 'TransactionDossierStepRequest' as MeasurementCommunicationType,\r\n TransactionDossierStepRequestLoss: 'TransactionDossierStepRequestLoss' as MeasurementCommunicationType,\r\n PeriodicRequest: 'PeriodicRequest' as MeasurementCommunicationType,\r\n TelemetryNotOperationalRequest: 'TelemetryNotOperationalRequest' as MeasurementCommunicationType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type MeasurementSource = 'Telemeter' | 'DataTariffSplitter' | 'DataCorrector' | 'DataDistributor' | 'DataEstimator' | 'GridOperator' | 'Supplier' | 'Customer';\r\n\r\nexport const MeasurementSource = {\r\n Telemeter: 'Telemeter' as MeasurementSource,\r\n DataTariffSplitter: 'DataTariffSplitter' as MeasurementSource,\r\n DataCorrector: 'DataCorrector' as MeasurementSource,\r\n DataDistributor: 'DataDistributor' as MeasurementSource,\r\n DataEstimator: 'DataEstimator' as MeasurementSource,\r\n GridOperator: 'GridOperator' as MeasurementSource,\r\n Supplier: 'Supplier' as MeasurementSource,\r\n Customer: 'Customer' as MeasurementSource\r\n};\r\n\r\n","export * from './acceptClusterConnectionRecommendationCommand';\r\nexport * from './acmReportDeadlinesR';\r\nexport * from './acmReportR';\r\nexport * from './acmReportStatisticsR';\r\nexport * from './addressR';\r\nexport * from './adjustedForecastPart';\r\nexport * from './adjustmentGenerationCommand';\r\nexport * from './adres';\r\nexport * from './adressR';\r\nexport * from './aggregationProgressRequest';\r\nexport * from './aggregationProgressResponse';\r\nexport * from './allocationMethod';\r\nexport * from './allocationType';\r\nexport * from './bankInfoR';\r\nexport * from './boundaryType';\r\nexport * from './certificateOfOriginConsumptionR';\r\nexport * from './certificateOfOriginProduct';\r\nexport * from './certificateOfOriginR';\r\nexport * from './certificateOfOriginType';\r\nexport * from './clusterConnectionRecommendationRequest';\r\nexport * from './clusterConnectionRecommendationResponse';\r\nexport * from './clusterConnectionResponse';\r\nexport * from './clusterGroupRequest';\r\nexport * from './clusterGroupResponse';\r\nexport * from './clusterIdR';\r\nexport * from './clusterManagementClusterReportResponse';\r\nexport * from './clusterManagementProcessReportResponse';\r\nexport * from './clusterManagementReportRequest';\r\nexport * from './clusterManagementReportResponse';\r\nexport * from './clusterManagementResultResponse';\r\nexport * from './clusterPortfolioResponse';\r\nexport * from './clusterRequest';\r\nexport * from './clusterResponse';\r\nexport * from './clusterType';\r\nexport * from './collectedForecastDataQueryCommand';\r\nexport * from './collectedForecastDataResponse';\r\nexport * from './confirmationStateUpdateCommand';\r\nexport * from './connectionActivationContractResponse';\r\nexport * from './connectionActivationContractResponseAddress';\r\nexport * from './connectionAllocationMethodR';\r\nexport * from './connectionCapacity';\r\nexport * from './connectionClusterCreateCommand';\r\nexport * from './connectionClusterCreateResponse';\r\nexport * from './connectionClusterR';\r\nexport * from './connectionClusterResponse';\r\nexport * from './connectionClusterUpdateCommand';\r\nexport * from './connectionClusterUpdateResponse';\r\nexport * from './connectionConnectionCapacityR';\r\nexport * from './connectionContextValueCreateCommandSlim';\r\nexport * from './connectionContextValueCreateResponse';\r\nexport * from './connectionContextValueDeleteCommandSlim';\r\nexport * from './connectionContextValueDeleteResponse';\r\nexport * from './connectionContextValueR';\r\nexport * from './connectionContractR';\r\nexport * from './connectionContractStateTransitionR';\r\nexport * from './connectionContractStateViewModel';\r\nexport * from './connectionContractStateViewModelPageR';\r\nexport * from './connectionDataPerNullableTariffPerGranularityIntervalId';\r\nexport * from './connectionEstimatedAnnualProsumptionR';\r\nexport * from './connectionGridAreaR';\r\nexport * from './connectionGridOperatorR';\r\nexport * from './connectionGroupConsumptionQueryCommand';\r\nexport * from './connectionGroupConsumptionResponse';\r\nexport * from './connectionIdMeterIdLocalDateZonedDateTimeNullableMeasurementSourceValueTuple';\r\nexport * from './connectionLocationR';\r\nexport * from './connectionMeterR';\r\nexport * from './connectionPhysicalStateR';\r\nexport * from './connectionProfileR';\r\nexport * from './connectionR';\r\nexport * from './connectionSubMeterQuantityResponse';\r\nexport * from './connectionSubMeterRequest';\r\nexport * from './connectionSubMeterResponse';\r\nexport * from './connectionSupplyTypeR';\r\nexport * from './connectionTariffSwitchR';\r\nexport * from './consumptionPerClosedDateRangeCreateCommand';\r\nexport * from './consumptionPerClosedDateRangeR';\r\nexport * from './consumptionPerGranularityIntervalR';\r\nexport * from './consumptionPerGranularityWithMeasurementsIntervalR';\r\nexport * from './consumptionPerNullableTariffPerClosedDateRangeId';\r\nexport * from './consumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR';\r\nexport * from './contactId';\r\nexport * from './contactMeasurementCommunicationIdR';\r\nexport * from './contactMeasurementCommunicationMeasurementR';\r\nexport * from './contactMeasurementCommunicationR';\r\nexport * from './contactR';\r\nexport * from './contactType';\r\nexport * from './contractMutationState';\r\nexport * from './contractMutationStateWithContractStateTransitionsR';\r\nexport * from './contractR';\r\nexport * from './contractState';\r\nexport * from './contractStateCountWithCountPerTransitionStateR';\r\nexport * from './contractStateCountWithCountPerTransitionStateRContractStateTransitionTypeCounts';\r\nexport * from './contractStateId';\r\nexport * from './contractStateRequest';\r\nexport * from './contractStateResponse';\r\nexport * from './contractStateTransition';\r\nexport * from './contractStateTransitionSchemeType';\r\nexport * from './contractStateTransitionState';\r\nexport * from './contractStateTransitionType';\r\nexport * from './contractStateTransitionUrgency';\r\nexport * from './conversionDetail';\r\nexport * from './conversionTechnology';\r\nexport * from './country';\r\nexport * from './createClusterCommand';\r\nexport * from './createClusterConnectionCommand';\r\nexport * from './createClusterConnectionRecommendationCommand';\r\nexport * from './createClusterGroupCommand';\r\nexport * from './createClusterPortfolioCommand';\r\nexport * from './createForecasterCommand';\r\nexport * from './createPortfolioCommand';\r\nexport * from './createResaleClusterCommand';\r\nexport * from './createResaleClusterConnectionCommand';\r\nexport * from './curtailmentCalculationType';\r\nexport * from './curtailmentCreateResponse';\r\nexport * from './curtailmentPartyCreateCommand';\r\nexport * from './curtailmentPartyDeleteCommand';\r\nexport * from './curtailmentPartyProbabilityCreateCommand';\r\nexport * from './curtailmentPartyProbabilityDeleteCommand';\r\nexport * from './curtailmentPartyProbabilityResponse';\r\nexport * from './curtailmentPartyProbabilityUpdateCommand';\r\nexport * from './curtailmentPartyRequest';\r\nexport * from './curtailmentPartyResponse';\r\nexport * from './curtailmentPartyUpdateCommand';\r\nexport * from './curtailmentType';\r\nexport * from './customerConnectionR';\r\nexport * from './customerPortalUserRequestCommand';\r\nexport * from './customerPortalUserResponseCommand';\r\nexport * from './customerR';\r\nexport * from './customerRequest';\r\nexport * from './customerResponse';\r\nexport * from './customerResponseCertificateOfOrigin';\r\nexport * from './customerResponseContract';\r\nexport * from './customerResponseContractApprovals';\r\nexport * from './customerResponseContractConnection';\r\nexport * from './customerResponseCustomer';\r\nexport * from './customerResponseEstimation';\r\nexport * from './customerResponseProsumption';\r\nexport * from './customerResponseSwitch';\r\nexport * from './customerResponseUtilization';\r\nexport * from './customerType';\r\nexport * from './dataTransferMessageDirection';\r\nexport * from './dataTransferMessageR';\r\nexport * from './dataTransferMessageType';\r\nexport * from './dateTimeOffsetBoundary';\r\nexport * from './dateTimeOffsetRange';\r\nexport * from './dealConfirmationState';\r\nexport * from './dealRequest';\r\nexport * from './dealResponse';\r\nexport * from './dealState';\r\nexport * from './dealStateUpdateCommand';\r\nexport * from './dealStatusHistoryResponse';\r\nexport * from './dealTradingPartyCreateCommand';\r\nexport * from './dealTradingPartyRequest';\r\nexport * from './dealTradingPartyResponse';\r\nexport * from './dealTradingPartyUpdateCommand';\r\nexport * from './dealValidationState';\r\nexport * from './dealVolumeResponse';\r\nexport * from './delayCountRequest';\r\nexport * from './deleteClusterCommand';\r\nexport * from './deleteClusterConnectionCommand';\r\nexport * from './deleteClusterConnectionRecommendationCommand';\r\nexport * from './deleteClusterGroupCommand';\r\nexport * from './deleteClusterPortfolioCommand';\r\nexport * from './deleteForecasterCommand';\r\nexport * from './deletePortfolioCommand';\r\nexport * from './deleteResaleClusterCommand';\r\nexport * from './deleteResaleClusterConnectionCommand';\r\nexport * from './deltaValueResponse';\r\nexport * from './energyMeterReadingMethod';\r\nexport * from './enumDescriptionR';\r\nexport * from './estimationType';\r\nexport * from './externalDossierId';\r\nexport * from './externalDossierR';\r\nexport * from './forecastActualDataType';\r\nexport * from './forecastAdjustmentCalculationType';\r\nexport * from './forecastAdjustmentCalculationTypeStringKeyValuePair';\r\nexport * from './forecastAdjustmentPart';\r\nexport * from './forecastAdjustmentType';\r\nexport * from './forecastAdjustmentTypeStringKeyValuePair';\r\nexport * from './forecastClusterType';\r\nexport * from './forecastConnectionClusterType';\r\nexport * from './forecastDownloadRequest';\r\nexport * from './forecastGetRequest';\r\nexport * from './forecastGetSubRequest';\r\nexport * from './forecastResponse';\r\nexport * from './forecastValueResponse';\r\nexport * from './forecasterRequest';\r\nexport * from './forecasterResponse';\r\nexport * from './fractionType';\r\nexport * from './fuelForm';\r\nexport * from './fuelKind';\r\nexport * from './fuelOrigin';\r\nexport * from './fuelOriginDetail';\r\nexport * from './granularity';\r\nexport * from './groupType';\r\nexport * from './iMonitorResult';\r\nexport * from './idType';\r\nexport * from './ignoreClusterConnectionRecommendationCommand';\r\nexport * from './inlineObject2';\r\nexport * from './inlineObject3';\r\nexport * from './inlineObject4';\r\nexport * from './inlineObject5';\r\nexport * from './inlineObject6';\r\nexport * from './inlineObject7';\r\nexport * from './inlineResponse200';\r\nexport * from './intervalFractionR';\r\nexport * from './intervalImbalancePriceR';\r\nexport * from './intervalPriceR';\r\nexport * from './intervalProsumptionQuantitiesByTariffR';\r\nexport * from './intervalPurchaseR';\r\nexport * from './intervalTemperatureR';\r\nexport * from './intradayType';\r\nexport * from './intradayVersion';\r\nexport * from './invoiceConnectionProsumptionR';\r\nexport * from './invoiceDeadlineDto';\r\nexport * from './invoiceDeadlineR';\r\nexport * from './invoiceDeadlineStatisticsDto';\r\nexport * from './invoiceDeadlineType';\r\nexport * from './invoiceR';\r\nexport * from './invoiceType';\r\nexport * from './invoiceTypeR';\r\nexport * from './issueCountPerIssueTypeAndSubjectR';\r\nexport * from './issueR';\r\nexport * from './issueRIEnumerablePageR';\r\nexport * from './issueType';\r\nexport * from './issueTypeDescriptionR';\r\nexport * from './issueUrgency';\r\nexport * from './latestForecastRequest';\r\nexport * from './latestForecastResponse';\r\nexport * from './legislation';\r\nexport * from './locationCoordinates';\r\nexport * from './locationNearestGroupQuery';\r\nexport * from './locationQueryCommand';\r\nexport * from './lockR';\r\nexport * from './logLevel';\r\nexport * from './lossReason';\r\nexport * from './mandateR';\r\nexport * from './marketType';\r\nexport * from './measurementCommunicationR';\r\nexport * from './measurementCommunicationType';\r\nexport * from './measurementDisplayR';\r\nexport * from './measurementHistoricallyWithDeletedR';\r\nexport * from './measurementId';\r\nexport * from './measurementIdHistorically';\r\nexport * from './measurementIdHistoricallyIMeasurement';\r\nexport * from './measurementIdR';\r\nexport * from './measurementLimitR';\r\nexport * from './measurementLimitRLimitByTariff';\r\nexport * from './measurementR';\r\nexport * from './measurementSource';\r\nexport * from './measurementSourceDetailR';\r\nexport * from './measurementWithDeletedR';\r\nexport * from './measurementWithModifiedR';\r\nexport * from './meterExtraMileR';\r\nexport * from './meterR';\r\nexport * from './moveClusterCommand';\r\nexport * from './multiYearPropositionR';\r\nexport * from './mutation';\r\nexport * from './mutationReasonCode';\r\nexport * from './mutationState';\r\nexport * from './nomination';\r\nexport * from './pTEForecast';\r\nexport * from './parameterDataType';\r\nexport * from './parameterValueId';\r\nexport * from './parameterValueR';\r\nexport * from './personalDataR';\r\nexport * from './personalNameR';\r\nexport * from './physicalState';\r\nexport * from './portfolioRequest';\r\nexport * from './portfolioResponse';\r\nexport * from './precipitationType';\r\nexport * from './preliminaryPurchaseAdjustmentCommand';\r\nexport * from './preliminaryPurchaseAdjustmentPartCommand';\r\nexport * from './preliminaryPurchaseAdjustmentPartResponse';\r\nexport * from './preliminaryPurchaseAdjustmentResponse';\r\nexport * from './preliminaryPurchaseCalculateRequest';\r\nexport * from './preliminaryPurchaseCalculateResponse';\r\nexport * from './preliminaryPurchaseClusterOption';\r\nexport * from './preliminaryPurchaseClusterOptionResponse';\r\nexport * from './preliminaryPurchaseCollectionRequest';\r\nexport * from './preliminaryPurchaseCreateRequest';\r\nexport * from './preliminaryPurchasePartCommand';\r\nexport * from './preliminaryPurchasePartGenerationRequest';\r\nexport * from './preliminaryPurchasePartResponse';\r\nexport * from './preliminaryPurchasePartValueCommand';\r\nexport * from './preliminaryPurchaseQuarterRequest';\r\nexport * from './preliminaryPurchaseQuarterResponse';\r\nexport * from './preliminaryPurchaseRequest';\r\nexport * from './preliminaryPurchaseResponse';\r\nexport * from './preliminaryPurchaseTradeGroupCalculateResponse';\r\nexport * from './preliminaryPurchaseTradeGroupFinalizeRequest';\r\nexport * from './prepaymentR';\r\nexport * from './problemDetails';\r\nexport * from './process';\r\nexport * from './processDirective';\r\nexport * from './processProgressR';\r\nexport * from './processProgressRIEnumerablePageR';\r\nexport * from './processStatisticsId';\r\nexport * from './processStatisticsR';\r\nexport * from './productSource';\r\nexport * from './productType';\r\nexport * from './profileProsumptionR';\r\nexport * from './profileR';\r\nexport * from './prosumption';\r\nexport * from './prosumptionLimitR';\r\nexport * from './prosumptionQuantitiesR';\r\nexport * from './prosumptionQuantitiesWithMeasured';\r\nexport * from './prosumptionR';\r\nexport * from './prosumptionType';\r\nexport * from './purchaseType';\r\nexport * from './quantitiesR';\r\nexport * from './quantitiesWithMeasured';\r\nexport * from './quantitiesWithMeasuredR';\r\nexport * from './queuedAssetDataRequest';\r\nexport * from './queuedAssetDataResponse';\r\nexport * from './queuedAssetProgressRequest';\r\nexport * from './queuedAssetProgressResponse';\r\nexport * from './queuedForecastDataRequest';\r\nexport * from './queuedForecastDataResponse';\r\nexport * from './queuedForecastProgressRequest';\r\nexport * from './queuedForecastProgressResponse';\r\nexport * from './reason';\r\nexport * from './requestCluster';\r\nexport * from './resaleClusterConnectionResponse';\r\nexport * from './resaleClusterRequest';\r\nexport * from './resaleClusterResponse';\r\nexport * from './responseCluster';\r\nexport * from './roundGenerationCommand';\r\nexport * from './sBMessageRequest';\r\nexport * from './sBMessageTargetType';\r\nexport * from './sendMeasurementCommunnicationR';\r\nexport * from './solarAssetCreateCommand';\r\nexport * from './solarAssetCreateResponse';\r\nexport * from './solarAssetRequest';\r\nexport * from './solarAssetResponse';\r\nexport * from './solarAssetUpdateCommand';\r\nexport * from './solarAssetUpdateResponse';\r\nexport * from './status';\r\nexport * from './stringStringKeyValuePair';\r\nexport * from './submitDayAheadFromForecastCommand';\r\nexport * from './supplyType';\r\nexport * from './sustainableMeterDetailCreateRequest';\r\nexport * from './sustainableMeterDetailCreateResponse';\r\nexport * from './sustainableMeterDetailDeleteRequest';\r\nexport * from './sustainableMeterDetailDeleteResponse';\r\nexport * from './sustainableMeterDetailResponse';\r\nexport * from './sustainableMeterDetailUpdateRequest';\r\nexport * from './sustainableMeterDetailUpdateResponse';\r\nexport * from './switchMoveInR';\r\nexport * from './switchType';\r\nexport * from './systemOperator';\r\nexport * from './tariff';\r\nexport * from './tariffSwitch';\r\nexport * from './telwerkR';\r\nexport * from './tenant';\r\nexport * from './timeSerieCategory';\r\nexport * from './timeSerieParameterOption';\r\nexport * from './timeSerieParameterValue';\r\nexport * from './timeSerieRequest';\r\nexport * from './timeSerieResponse';\r\nexport * from './timeSerieStorage';\r\nexport * from './timeSerieValue';\r\nexport * from './timeSerieValueRequest';\r\nexport * from './timeSerieValueResponse';\r\nexport * from './timeSerieValueResponseLogs';\r\nexport * from './tradeGroupAdjustmentCommand';\r\nexport * from './tradingPlatform';\r\nexport * from './transferMedium';\r\nexport * from './translationCategoryId';\r\nexport * from './translationCategoryIdIEnumerablePageR';\r\nexport * from './translationCategoryR';\r\nexport * from './translationCategoryRIEnumerablePageR';\r\nexport * from './translationR';\r\nexport * from './translationValueR';\r\nexport * from './updateClusterCommand';\r\nexport * from './updateClusterConnectionCommand';\r\nexport * from './updateClusterConnectionRecommendationCommand';\r\nexport * from './updateClusterGroupCommand';\r\nexport * from './updateForecasterCommand';\r\nexport * from './updateForecastsInLegacyRequest';\r\nexport * from './updatePortfolioCommand';\r\nexport * from './updateResaleClusterCommand';\r\nexport * from './updateResaleClusterConnectionCommand';\r\nexport * from './utilizationType';\r\nexport * from './vProgramma';\r\nexport * from './validationStateUpdateCommand';\r\nexport * from './valueType';\r\nexport * from './wResult';\r\nexport * from './weatherConditionSunResponse';\r\nexport * from './weatherConditionSunResponseWeatherConditionIntervalResponse';\r\nexport * from './weatherConditionSunResponseWeatherIntervalWithLocationResponse';\r\nexport * from './weatherConditionSunResponseWeatherIntervalWithSourceResponse';\r\nexport * from './weatherConditionSunResponseWeatherLocationWithIntervalResponse';\r\nexport * from './weatherConditionSunResponseWeatherLocationWithSourceResponse';\r\nexport * from './weatherConditionSunResponseWeatherSourceResponse';\r\nexport * from './weatherConditionWindResponse';\r\nexport * from './weatherConditionWindResponseWeatherConditionIntervalResponse';\r\nexport * from './weatherConditionWindResponseWeatherIntervalWithLocationResponse';\r\nexport * from './weatherConditionWindResponseWeatherIntervalWithSourceResponse';\r\nexport * from './weatherConditionWindResponseWeatherLocationWithIntervalResponse';\r\nexport * from './weatherConditionWindResponseWeatherLocationWithSourceResponse';\r\nexport * from './weatherConditionWindResponseWeatherSourceResponse';\r\nexport * from './weatherDeltaConditionResponse';\r\nexport * from './weatherDeltaConditionResponseDeltaResponse';\r\nexport * from './weatherDeltaConditionSunResponse';\r\nexport * from './weatherDeltaConditionSunResponseDeltaResponse';\r\nexport * from './weatherDeltaConditionWindResponse';\r\nexport * from './weatherDeltaConditionWindResponseDeltaResponse';\r\nexport * from './weatherLocation';\r\nexport * from './weatherLocationNearest';\r\nexport * from './weatherPrecipitation';\r\nexport * from './weatherPrecipitationWeatherConditionResponse';\r\nexport * from './weatherPrecipitationWeatherConditionResponseWeatherConditionIntervalResponse';\r\nexport * from './weatherPrecipitationWeatherConditionResponseWeatherIntervalWithLocationResponse';\r\nexport * from './weatherPrecipitationWeatherConditionResponseWeatherIntervalWithSourceResponse';\r\nexport * from './weatherPrecipitationWeatherConditionResponseWeatherLocationWithIntervalResponse';\r\nexport * from './weatherPrecipitationWeatherConditionResponseWeatherLocationWithSourceResponse';\r\nexport * from './weatherPrecipitationWeatherConditionResponseWeatherSourceResponse';\r\nexport * from './weatherResponseQueryCommand';\r\nexport * from './weatherSource';\r\nexport * from './windAssetCreateCommand';\r\nexport * from './windAssetCreateResponse';\r\nexport * from './windAssetRequest';\r\nexport * from './windAssetResponse';\r\nexport * from './windAssetUpdateCommand';\r\nexport * from './windAssetUpdateResponse';\r\nexport * from './zonedDateTimeInt32ValueTuple';\r\nexport * from './zonedDateTimeIntervalR';\r\nexport * from './zonedDateTimeR';\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface MoveClusterCommand { \r\n Id?: string;\r\n ClusterGroupId?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type MultiYearPropositionR = 'None' | 'OneYear' | 'ThreeYear';\r\n\r\nexport const MultiYearPropositionR = {\r\n None: 'None' as MultiYearPropositionR,\r\n OneYear: 'OneYear' as MultiYearPropositionR,\r\n ThreeYear: 'ThreeYear' as MultiYearPropositionR\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Mutation = 'LOSS' | 'GAIN';\r\n\r\nexport const Mutation = {\r\n Loss: 'LOSS' as Mutation,\r\n Gain: 'GAIN' as Mutation\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type MutationReasonCode = 'BULKPV' | 'CONNACT' | 'CONNCHG' | 'CONNCRE' | 'CONNDACT' | 'CONNEND' | 'CONNUPD' | 'CONSMTR' | 'DISPUTE' | 'DSTRCONN' | 'DSTRMSTR' | 'ENDOFMV' | 'EOSUPPLY' | 'HISTMTR' | 'MOVEIN' | 'MOVEOUT' | 'MTREND' | 'MTRINST' | 'MTRUPD' | 'NAMECHG' | 'NMCRSCMP' | 'PERMTR' | 'PHYSMTR' | 'RESCOMP' | 'SWITCHLV' | 'SWITCHMV' | 'SWITCHPV' | 'SWTCHUPD' | 'ALLMTCHG' | 'MONTHMTR' | 'INDHSE' | 'INDHSH' | 'MDMD' | 'MDPPMD' | 'ONRQST' | 'CONTRCAN' | 'CONTRDAT' | 'CONTRMOV' | 'CERCANCELLATION';\r\n\r\nexport const MutationReasonCode = {\r\n Bulkpv: 'BULKPV' as MutationReasonCode,\r\n Connact: 'CONNACT' as MutationReasonCode,\r\n Connchg: 'CONNCHG' as MutationReasonCode,\r\n Conncre: 'CONNCRE' as MutationReasonCode,\r\n Conndact: 'CONNDACT' as MutationReasonCode,\r\n Connend: 'CONNEND' as MutationReasonCode,\r\n Connupd: 'CONNUPD' as MutationReasonCode,\r\n Consmtr: 'CONSMTR' as MutationReasonCode,\r\n Dispute: 'DISPUTE' as MutationReasonCode,\r\n Dstrconn: 'DSTRCONN' as MutationReasonCode,\r\n Dstrmstr: 'DSTRMSTR' as MutationReasonCode,\r\n Endofmv: 'ENDOFMV' as MutationReasonCode,\r\n Eosupply: 'EOSUPPLY' as MutationReasonCode,\r\n Histmtr: 'HISTMTR' as MutationReasonCode,\r\n Movein: 'MOVEIN' as MutationReasonCode,\r\n Moveout: 'MOVEOUT' as MutationReasonCode,\r\n Mtrend: 'MTREND' as MutationReasonCode,\r\n Mtrinst: 'MTRINST' as MutationReasonCode,\r\n Mtrupd: 'MTRUPD' as MutationReasonCode,\r\n Namechg: 'NAMECHG' as MutationReasonCode,\r\n Nmcrscmp: 'NMCRSCMP' as MutationReasonCode,\r\n Permtr: 'PERMTR' as MutationReasonCode,\r\n Physmtr: 'PHYSMTR' as MutationReasonCode,\r\n Rescomp: 'RESCOMP' as MutationReasonCode,\r\n Switchlv: 'SWITCHLV' as MutationReasonCode,\r\n Switchmv: 'SWITCHMV' as MutationReasonCode,\r\n Switchpv: 'SWITCHPV' as MutationReasonCode,\r\n Swtchupd: 'SWTCHUPD' as MutationReasonCode,\r\n Allmtchg: 'ALLMTCHG' as MutationReasonCode,\r\n Monthmtr: 'MONTHMTR' as MutationReasonCode,\r\n Indhse: 'INDHSE' as MutationReasonCode,\r\n Indhsh: 'INDHSH' as MutationReasonCode,\r\n Mdmd: 'MDMD' as MutationReasonCode,\r\n Mdppmd: 'MDPPMD' as MutationReasonCode,\r\n Onrqst: 'ONRQST' as MutationReasonCode,\r\n Contrcan: 'CONTRCAN' as MutationReasonCode,\r\n Contrdat: 'CONTRDAT' as MutationReasonCode,\r\n Contrmov: 'CONTRMOV' as MutationReasonCode,\r\n Cercancellation: 'CERCANCELLATION' as MutationReasonCode\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type MutationState = 'Estimated' | 'DistributedQuantityEstimate' | 'DistributedQuantity' | 'Distributed' | 'MeasuredQuantityEstimate' | 'MeasuredVolume' | 'Measured' | 'CorrectedQuantityEstimate' | 'CorrectedQuantity' | 'Corrected';\r\n\r\nexport const MutationState = {\r\n Estimated: 'Estimated' as MutationState,\r\n DistributedQuantityEstimate: 'DistributedQuantityEstimate' as MutationState,\r\n DistributedQuantity: 'DistributedQuantity' as MutationState,\r\n Distributed: 'Distributed' as MutationState,\r\n MeasuredQuantityEstimate: 'MeasuredQuantityEstimate' as MutationState,\r\n MeasuredVolume: 'MeasuredVolume' as MutationState,\r\n Measured: 'Measured' as MutationState,\r\n CorrectedQuantityEstimate: 'CorrectedQuantityEstimate' as MutationState,\r\n CorrectedQuantity: 'CorrectedQuantity' as MutationState,\r\n Corrected: 'Corrected' as MutationState\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PTEForecast { \r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n Consumption?: number;\r\n Production?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ParameterDataType = 'EnumDataType' | 'StringDataType' | 'NaturalNumberDataType' | 'NonNaturalNumberDataType' | 'ZonedDateTimeDataType' | 'GuidDataType' | 'GuidCollectionDataType' | 'BoolDataType';\r\n\r\nexport const ParameterDataType = {\r\n EnumDataType: 'EnumDataType' as ParameterDataType,\r\n StringDataType: 'StringDataType' as ParameterDataType,\r\n NaturalNumberDataType: 'NaturalNumberDataType' as ParameterDataType,\r\n NonNaturalNumberDataType: 'NonNaturalNumberDataType' as ParameterDataType,\r\n ZonedDateTimeDataType: 'ZonedDateTimeDataType' as ParameterDataType,\r\n GuidDataType: 'GuidDataType' as ParameterDataType,\r\n GuidCollectionDataType: 'GuidCollectionDataType' as ParameterDataType,\r\n BoolDataType: 'BoolDataType' as ParameterDataType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PersonalDataR { \r\n Honorific?: string;\r\n Initials?: string;\r\n FamilyNamePrefix?: string;\r\n FamilyName?: string;\r\n /**\r\n * Description\r\n */\r\n BirthDate?: string;\r\n PhoneNumber?: string;\r\n Email?: string;\r\n CompanyName?: string;\r\n KvkNumber?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PersonalNameR { \r\n FamilyName?: string;\r\n GivenName?: string | null;\r\n Honorific?: string;\r\n Initials?: string;\r\n FamilyNamePrefix?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type PhysicalState = 'UnderConstruction' | 'Operational' | 'Dismantled' | 'NotOperational';\r\n\r\nexport const PhysicalState = {\r\n UnderConstruction: 'UnderConstruction' as PhysicalState,\r\n Operational: 'Operational' as PhysicalState,\r\n Dismantled: 'Dismantled' as PhysicalState,\r\n NotOperational: 'NotOperational' as PhysicalState\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PortfolioRequest { \r\n Id?: string | null;\r\n Name?: string | null;\r\n ForecasterId?: string | null;\r\n IncludeClusterPortfolios?: boolean;\r\n IncludeClusters?: boolean;\r\n IncludeForecaster?: boolean;\r\n IncludeClusterIds?: Array;\r\n FilterClusterIds?: Array;\r\n Skip?: number | null;\r\n Take?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type PrecipitationType = 'Rain' | 'Snow' | 'Other';\r\n\r\nexport const PrecipitationType = {\r\n Rain: 'Rain' as PrecipitationType,\r\n Snow: 'Snow' as PrecipitationType,\r\n Other: 'Other' as PrecipitationType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PreliminaryPurchaseAdjustmentPartCommand { \r\n From?: string;\r\n Adjustment?: number;\r\n AbsoluteAdjustment?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PreliminaryPurchaseClusterOption { \r\n PortfolioId?: string;\r\n ClusterPortfolioId?: string | null;\r\n ResaleClusterId?: string | null;\r\n Name?: string;\r\n FullName?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PreliminaryPurchaseCollectionRequest { \r\n TemplateNameLike?: string | null;\r\n From?: string | null;\r\n Until?: string | null;\r\n Skip?: number | null;\r\n Take?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PreliminaryPurchasePartValueCommand { \r\n From?: string;\r\n Original?: number;\r\n Value?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PreliminaryPurchaseQuarterRequest { \r\n ReferenceDate?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PreliminaryPurchaseQuarterResponse { \r\n ReferenceDate?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PreliminaryPurchaseResponse { \r\n Id?: string;\r\n Name?: string;\r\n ReferenceDate?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PreliminaryPurchaseTradeGroupFinalizeRequest { \r\n TradeGroupId?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ProblemDetails { \r\n [key: string]: any | any;\r\n\r\n\r\n Type?: string | null;\r\n Title?: string | null;\r\n Status?: number | null;\r\n Detail?: string | null;\r\n Instance?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Process = 'MeasurementCollection' | 'ConsolidationCorrection' | 'ConsolidationDistribution' | 'ConsolidationLargeCapacityDistribution' | 'ConsolidationDataCompletion' | 'ConsolidationDataCompletionEstimation' | 'ConsolidationDataCompletionFallback' | 'ConsolidationEstimation' | 'AggregationConsumption' | 'AggregationClusterConsumption' | 'AggregationAllocation' | 'AggregationReconciliation' | 'MeasurementCorrection' | 'MeasurementEstimation' | 'MeasurementDistribution' | 'ConsumptionMoneyDetermination' | 'ConsumptionAggregation' | 'MeasurementCollectionStartOfDay' | 'MeasurementCollectionSmallestGranularity' | 'AreaTemperatureCollection' | 'MeasurementCollectionTmtSync' | 'MeasurementCollectionRequest' | 'MeasurementCollectionResponse' | 'MeasurementCollectionP4Registration' | 'MeasurementCollectionMeterReading' | 'MeasurementCollectionMeterReadingIssue' | 'MeasurementCollectionMeterReadingDispute' | 'MeasurementCommunication' | 'MeasurementCommunicationReminder' | 'MeasurementCommunicationWithoutRespond' | 'MeasurementsToSubmitDetermination' | 'PriceCollectionApx' | 'PriceCollectionLeba' | 'AllocationBySupplierCalculation' | 'ForecastActualsDexter' | 'PriceCollectionFinalizedReconciliationElectricity' | 'PriceEstimationReconciliationElectricity' | 'PriceCollectionFinalizedReconciliationGas' | 'PriceEstimationReconciliationGas' | 'PriceCollectionImbalance' | 'ProfileFractionsCollection' | 'MeasuringErrorCorrectionFactorCollection' | 'CalorificCorrectionFactorCollection' | 'AdminProcess' | 'ReconciliationBySupplierCalculation' | 'TaxCollection' | 'ContactCollection' | 'InvoiceDeadline' | 'ConnectionUpdate' | 'ConnectionUpdateHistorically' | 'MissingMasterData' | 'ReconciliationBySupplierEstimation' | 'ForecastCollectionDexterCluster' | 'ForecastCollectionDexterConnection' | 'PriceCollectionConnectionCapacity' | 'InvoiceTriggerProcess' | 'MeasureCorrection' | 'ConsumptionPerGranularityIntervalToConnectionConsumptionSync' | 'InvoicingQueueProcess' | 'InvoicingQueueEnqueuer' | 'ConnectionUpdateLegacyStaging' | 'ConnectionGainLegacyStaging' | 'CalorificCorrectionFactorsStaging' | 'P4CollectedDataBatchResultStaging' | 'MeterReadingExchangeStaging' | 'AllocationDataOutlier' | 'PriceStagingSync' | 'PricePerGroupStagingSync' | 'GridAreaCorrectionFactorStagingSync' | 'MarketPurchasesStagingSyncer' | 'EnergySystemStagingSyncer' | 'MeasurementEnvironmentSyncer' | 'ConsumptionEnvironmentSyncer' | 'MeterInvoiceSettingsEnvironmentSync' | 'CustomerInvoiceSettingsEnvironmentSync' | 'ContractInvoiceSettingsEnvironmentSync' | 'InvoiceSettingsEnvironmentSync' | 'PeakSupplyPurchaseFractionsEnvironmentSync' | 'PeakSupplyFactorEnvironmentSync' | 'PriceEnvironmentSync' | 'ProfileFractionEnvironmentSync' | 'ProfileProsumptionEnvironmentSync' | 'Gain' | 'Loss' | 'GainHistorically' | 'LossHistorically' | 'OpenWeatherMapSyncService' | 'AeolisWeatherSyncService' | 'OnboardingActivationsInitiateGroupActivation' | 'OnboardingActivationsRequestMinimalStartDateMarketForGroup' | 'OnboardingConnectionActivationsFollowupPlanner' | 'OnboardingConnectionActivationsFollowUp' | 'OnboardingConnectionActivationsUpdateMinimalStartDateMarket' | 'OnboardingConnectionActivationsMinimalStartDateMarketUpdated' | 'OnboardingDirectDebitMandatesSendMandateInvite' | 'OnboardingDirectDebitMandatesProcessCustomerMandateUpdate' | 'OnboardingThirdPartySalesProcessNewSale' | 'OnboardingThirdPartySalesEnrichQuote' | 'OnboardingThirdPartySalesCompleteQuote' | 'OnboardingThirdPartySalesApproveQuote' | 'TradingExecutor' | 'TradingCreator' | 'ImbalanceCurtailmentCreator' | 'ProbabilityEvaluatorExecuting' | 'TradingDealExpiredExecuting' | 'KinectDealExecuting' | 'KinectDealValidating' | 'SpectralDealExecuting' | 'TennetMessageReception' | 'TennetMessageSubmission' | 'CommunicationHandling' | 'WeatherChangeAlerting' | 'KNMIWeatherSynchronizeService' | 'CustomerAssetsEpvValidator' | 'AllocationConsolidation' | 'HeavyConsolidation' | 'LightConsolidation' | 'DocumentCheckerService' | 'DocumentPollingService' | 'InvoiceClearanceCompletionService' | 'InvoiceCompletionService' | 'InvoiceSmartMeterCompletionService' | 'InvoiceToCorrectService' | 'InvoiceToCreditService' | 'InvoiceToRecalucateService' | 'InvoiceSendStartDeliveryLetterService' | 'InvoiceSendWelcomeLetterService' | 'SendInvoiceMailService' | 'BusinessCentralInvoiceSync' | 'BusinessCentralCustomerSync' | 'ConsumptionsByCertificateService' | 'InvoicingQueueBatch' | 'ConnectionValidation' | 'ConnectionIssue' | 'InvoiceDropoutProcess' | 'CampinaDealExecuting' | 'ConnectionEnvironmentSyncer' | 'EnvironmentSyncQueue' | 'MeasurementCollectionMeterReadingHistorically' | 'MeteringPointEvaluation' | 'ForecastClusterDetermination' | 'ForecastClusterDeterminationDeletedConnections' | 'ForecastConnectionConsumptionDetermination' | 'ForecastConnectionCorrelationDetermination' | 'ForecastActualCollection' | 'QueueForecastDataProcess' | 'QueueAssetDataProcess' | 'QueuePortfolioDataProcess' | 'SendForecastDataProcess' | 'SendAssetDataProcess' | 'DownloadForecastProcess' | 'DeleteForecastProcess' | 'ConnectionGroupConsumptionAggregationProcess' | 'ReceiveTenneTAllocationMessages' | 'StoreAllocationMessages' | 'ReReadAllocationMessages' | 'EnAppSysSolarPredictionSyncService' | 'MeteringCompanyMeterSync' | 'MeteringCompanyMeterConsumptionsSync' | 'ConsolidationMessageEnqueueing' | 'LightConsolidationPriority' | 'CronProcessHandler';\r\n\r\nexport const Process = {\r\n MeasurementCollection: 'MeasurementCollection' as Process,\r\n ConsolidationCorrection: 'ConsolidationCorrection' as Process,\r\n ConsolidationDistribution: 'ConsolidationDistribution' as Process,\r\n ConsolidationLargeCapacityDistribution: 'ConsolidationLargeCapacityDistribution' as Process,\r\n ConsolidationDataCompletion: 'ConsolidationDataCompletion' as Process,\r\n ConsolidationDataCompletionEstimation: 'ConsolidationDataCompletionEstimation' as Process,\r\n ConsolidationDataCompletionFallback: 'ConsolidationDataCompletionFallback' as Process,\r\n ConsolidationEstimation: 'ConsolidationEstimation' as Process,\r\n AggregationConsumption: 'AggregationConsumption' as Process,\r\n AggregationClusterConsumption: 'AggregationClusterConsumption' as Process,\r\n AggregationAllocation: 'AggregationAllocation' as Process,\r\n AggregationReconciliation: 'AggregationReconciliation' as Process,\r\n MeasurementCorrection: 'MeasurementCorrection' as Process,\r\n MeasurementEstimation: 'MeasurementEstimation' as Process,\r\n MeasurementDistribution: 'MeasurementDistribution' as Process,\r\n ConsumptionMoneyDetermination: 'ConsumptionMoneyDetermination' as Process,\r\n ConsumptionAggregation: 'ConsumptionAggregation' as Process,\r\n MeasurementCollectionStartOfDay: 'MeasurementCollectionStartOfDay' as Process,\r\n MeasurementCollectionSmallestGranularity: 'MeasurementCollectionSmallestGranularity' as Process,\r\n AreaTemperatureCollection: 'AreaTemperatureCollection' as Process,\r\n MeasurementCollectionTmtSync: 'MeasurementCollectionTmtSync' as Process,\r\n MeasurementCollectionRequest: 'MeasurementCollectionRequest' as Process,\r\n MeasurementCollectionResponse: 'MeasurementCollectionResponse' as Process,\r\n MeasurementCollectionP4Registration: 'MeasurementCollectionP4Registration' as Process,\r\n MeasurementCollectionMeterReading: 'MeasurementCollectionMeterReading' as Process,\r\n MeasurementCollectionMeterReadingIssue: 'MeasurementCollectionMeterReadingIssue' as Process,\r\n MeasurementCollectionMeterReadingDispute: 'MeasurementCollectionMeterReadingDispute' as Process,\r\n MeasurementCommunication: 'MeasurementCommunication' as Process,\r\n MeasurementCommunicationReminder: 'MeasurementCommunicationReminder' as Process,\r\n MeasurementCommunicationWithoutRespond: 'MeasurementCommunicationWithoutRespond' as Process,\r\n MeasurementsToSubmitDetermination: 'MeasurementsToSubmitDetermination' as Process,\r\n PriceCollectionApx: 'PriceCollectionApx' as Process,\r\n PriceCollectionLeba: 'PriceCollectionLeba' as Process,\r\n AllocationBySupplierCalculation: 'AllocationBySupplierCalculation' as Process,\r\n ForecastActualsDexter: 'ForecastActualsDexter' as Process,\r\n PriceCollectionFinalizedReconciliationElectricity: 'PriceCollectionFinalizedReconciliationElectricity' as Process,\r\n PriceEstimationReconciliationElectricity: 'PriceEstimationReconciliationElectricity' as Process,\r\n PriceCollectionFinalizedReconciliationGas: 'PriceCollectionFinalizedReconciliationGas' as Process,\r\n PriceEstimationReconciliationGas: 'PriceEstimationReconciliationGas' as Process,\r\n PriceCollectionImbalance: 'PriceCollectionImbalance' as Process,\r\n ProfileFractionsCollection: 'ProfileFractionsCollection' as Process,\r\n MeasuringErrorCorrectionFactorCollection: 'MeasuringErrorCorrectionFactorCollection' as Process,\r\n CalorificCorrectionFactorCollection: 'CalorificCorrectionFactorCollection' as Process,\r\n AdminProcess: 'AdminProcess' as Process,\r\n ReconciliationBySupplierCalculation: 'ReconciliationBySupplierCalculation' as Process,\r\n TaxCollection: 'TaxCollection' as Process,\r\n ContactCollection: 'ContactCollection' as Process,\r\n InvoiceDeadline: 'InvoiceDeadline' as Process,\r\n ConnectionUpdate: 'ConnectionUpdate' as Process,\r\n ConnectionUpdateHistorically: 'ConnectionUpdateHistorically' as Process,\r\n MissingMasterData: 'MissingMasterData' as Process,\r\n ReconciliationBySupplierEstimation: 'ReconciliationBySupplierEstimation' as Process,\r\n ForecastCollectionDexterCluster: 'ForecastCollectionDexterCluster' as Process,\r\n ForecastCollectionDexterConnection: 'ForecastCollectionDexterConnection' as Process,\r\n PriceCollectionConnectionCapacity: 'PriceCollectionConnectionCapacity' as Process,\r\n InvoiceTriggerProcess: 'InvoiceTriggerProcess' as Process,\r\n MeasureCorrection: 'MeasureCorrection' as Process,\r\n ConsumptionPerGranularityIntervalToConnectionConsumptionSync: 'ConsumptionPerGranularityIntervalToConnectionConsumptionSync' as Process,\r\n InvoicingQueueProcess: 'InvoicingQueueProcess' as Process,\r\n InvoicingQueueEnqueuer: 'InvoicingQueueEnqueuer' as Process,\r\n ConnectionUpdateLegacyStaging: 'ConnectionUpdateLegacyStaging' as Process,\r\n ConnectionGainLegacyStaging: 'ConnectionGainLegacyStaging' as Process,\r\n CalorificCorrectionFactorsStaging: 'CalorificCorrectionFactorsStaging' as Process,\r\n P4CollectedDataBatchResultStaging: 'P4CollectedDataBatchResultStaging' as Process,\r\n MeterReadingExchangeStaging: 'MeterReadingExchangeStaging' as Process,\r\n AllocationDataOutlier: 'AllocationDataOutlier' as Process,\r\n PriceStagingSync: 'PriceStagingSync' as Process,\r\n PricePerGroupStagingSync: 'PricePerGroupStagingSync' as Process,\r\n GridAreaCorrectionFactorStagingSync: 'GridAreaCorrectionFactorStagingSync' as Process,\r\n MarketPurchasesStagingSyncer: 'MarketPurchasesStagingSyncer' as Process,\r\n EnergySystemStagingSyncer: 'EnergySystemStagingSyncer' as Process,\r\n MeasurementEnvironmentSyncer: 'MeasurementEnvironmentSyncer' as Process,\r\n ConsumptionEnvironmentSyncer: 'ConsumptionEnvironmentSyncer' as Process,\r\n MeterInvoiceSettingsEnvironmentSync: 'MeterInvoiceSettingsEnvironmentSync' as Process,\r\n CustomerInvoiceSettingsEnvironmentSync: 'CustomerInvoiceSettingsEnvironmentSync' as Process,\r\n ContractInvoiceSettingsEnvironmentSync: 'ContractInvoiceSettingsEnvironmentSync' as Process,\r\n InvoiceSettingsEnvironmentSync: 'InvoiceSettingsEnvironmentSync' as Process,\r\n PeakSupplyPurchaseFractionsEnvironmentSync: 'PeakSupplyPurchaseFractionsEnvironmentSync' as Process,\r\n PeakSupplyFactorEnvironmentSync: 'PeakSupplyFactorEnvironmentSync' as Process,\r\n PriceEnvironmentSync: 'PriceEnvironmentSync' as Process,\r\n ProfileFractionEnvironmentSync: 'ProfileFractionEnvironmentSync' as Process,\r\n ProfileProsumptionEnvironmentSync: 'ProfileProsumptionEnvironmentSync' as Process,\r\n Gain: 'Gain' as Process,\r\n Loss: 'Loss' as Process,\r\n GainHistorically: 'GainHistorically' as Process,\r\n LossHistorically: 'LossHistorically' as Process,\r\n OpenWeatherMapSyncService: 'OpenWeatherMapSyncService' as Process,\r\n AeolisWeatherSyncService: 'AeolisWeatherSyncService' as Process,\r\n OnboardingActivationsInitiateGroupActivation: 'OnboardingActivationsInitiateGroupActivation' as Process,\r\n OnboardingActivationsRequestMinimalStartDateMarketForGroup: 'OnboardingActivationsRequestMinimalStartDateMarketForGroup' as Process,\r\n OnboardingConnectionActivationsFollowupPlanner: 'OnboardingConnectionActivationsFollowupPlanner' as Process,\r\n OnboardingConnectionActivationsFollowUp: 'OnboardingConnectionActivationsFollowUp' as Process,\r\n OnboardingConnectionActivationsUpdateMinimalStartDateMarket: 'OnboardingConnectionActivationsUpdateMinimalStartDateMarket' as Process,\r\n OnboardingConnectionActivationsMinimalStartDateMarketUpdated: 'OnboardingConnectionActivationsMinimalStartDateMarketUpdated' as Process,\r\n OnboardingDirectDebitMandatesSendMandateInvite: 'OnboardingDirectDebitMandatesSendMandateInvite' as Process,\r\n OnboardingDirectDebitMandatesProcessCustomerMandateUpdate: 'OnboardingDirectDebitMandatesProcessCustomerMandateUpdate' as Process,\r\n OnboardingThirdPartySalesProcessNewSale: 'OnboardingThirdPartySalesProcessNewSale' as Process,\r\n OnboardingThirdPartySalesEnrichQuote: 'OnboardingThirdPartySalesEnrichQuote' as Process,\r\n OnboardingThirdPartySalesCompleteQuote: 'OnboardingThirdPartySalesCompleteQuote' as Process,\r\n OnboardingThirdPartySalesApproveQuote: 'OnboardingThirdPartySalesApproveQuote' as Process,\r\n TradingExecutor: 'TradingExecutor' as Process,\r\n TradingCreator: 'TradingCreator' as Process,\r\n ImbalanceCurtailmentCreator: 'ImbalanceCurtailmentCreator' as Process,\r\n ProbabilityEvaluatorExecuting: 'ProbabilityEvaluatorExecuting' as Process,\r\n TradingDealExpiredExecuting: 'TradingDealExpiredExecuting' as Process,\r\n KinectDealExecuting: 'KinectDealExecuting' as Process,\r\n KinectDealValidating: 'KinectDealValidating' as Process,\r\n SpectralDealExecuting: 'SpectralDealExecuting' as Process,\r\n TennetMessageReception: 'TennetMessageReception' as Process,\r\n TennetMessageSubmission: 'TennetMessageSubmission' as Process,\r\n CommunicationHandling: 'CommunicationHandling' as Process,\r\n WeatherChangeAlerting: 'WeatherChangeAlerting' as Process,\r\n KnmiWeatherSynchronizeService: 'KNMIWeatherSynchronizeService' as Process,\r\n CustomerAssetsEpvValidator: 'CustomerAssetsEpvValidator' as Process,\r\n AllocationConsolidation: 'AllocationConsolidation' as Process,\r\n HeavyConsolidation: 'HeavyConsolidation' as Process,\r\n LightConsolidation: 'LightConsolidation' as Process,\r\n DocumentCheckerService: 'DocumentCheckerService' as Process,\r\n DocumentPollingService: 'DocumentPollingService' as Process,\r\n InvoiceClearanceCompletionService: 'InvoiceClearanceCompletionService' as Process,\r\n InvoiceCompletionService: 'InvoiceCompletionService' as Process,\r\n InvoiceSmartMeterCompletionService: 'InvoiceSmartMeterCompletionService' as Process,\r\n InvoiceToCorrectService: 'InvoiceToCorrectService' as Process,\r\n InvoiceToCreditService: 'InvoiceToCreditService' as Process,\r\n InvoiceToRecalucateService: 'InvoiceToRecalucateService' as Process,\r\n InvoiceSendStartDeliveryLetterService: 'InvoiceSendStartDeliveryLetterService' as Process,\r\n InvoiceSendWelcomeLetterService: 'InvoiceSendWelcomeLetterService' as Process,\r\n SendInvoiceMailService: 'SendInvoiceMailService' as Process,\r\n BusinessCentralInvoiceSync: 'BusinessCentralInvoiceSync' as Process,\r\n BusinessCentralCustomerSync: 'BusinessCentralCustomerSync' as Process,\r\n ConsumptionsByCertificateService: 'ConsumptionsByCertificateService' as Process,\r\n InvoicingQueueBatch: 'InvoicingQueueBatch' as Process,\r\n ConnectionValidation: 'ConnectionValidation' as Process,\r\n ConnectionIssue: 'ConnectionIssue' as Process,\r\n InvoiceDropoutProcess: 'InvoiceDropoutProcess' as Process,\r\n CampinaDealExecuting: 'CampinaDealExecuting' as Process,\r\n ConnectionEnvironmentSyncer: 'ConnectionEnvironmentSyncer' as Process,\r\n EnvironmentSyncQueue: 'EnvironmentSyncQueue' as Process,\r\n MeasurementCollectionMeterReadingHistorically: 'MeasurementCollectionMeterReadingHistorically' as Process,\r\n MeteringPointEvaluation: 'MeteringPointEvaluation' as Process,\r\n ForecastClusterDetermination: 'ForecastClusterDetermination' as Process,\r\n ForecastClusterDeterminationDeletedConnections: 'ForecastClusterDeterminationDeletedConnections' as Process,\r\n ForecastConnectionConsumptionDetermination: 'ForecastConnectionConsumptionDetermination' as Process,\r\n ForecastConnectionCorrelationDetermination: 'ForecastConnectionCorrelationDetermination' as Process,\r\n ForecastActualCollection: 'ForecastActualCollection' as Process,\r\n QueueForecastDataProcess: 'QueueForecastDataProcess' as Process,\r\n QueueAssetDataProcess: 'QueueAssetDataProcess' as Process,\r\n QueuePortfolioDataProcess: 'QueuePortfolioDataProcess' as Process,\r\n SendForecastDataProcess: 'SendForecastDataProcess' as Process,\r\n SendAssetDataProcess: 'SendAssetDataProcess' as Process,\r\n DownloadForecastProcess: 'DownloadForecastProcess' as Process,\r\n DeleteForecastProcess: 'DeleteForecastProcess' as Process,\r\n ConnectionGroupConsumptionAggregationProcess: 'ConnectionGroupConsumptionAggregationProcess' as Process,\r\n ReceiveTenneTAllocationMessages: 'ReceiveTenneTAllocationMessages' as Process,\r\n StoreAllocationMessages: 'StoreAllocationMessages' as Process,\r\n ReReadAllocationMessages: 'ReReadAllocationMessages' as Process,\r\n EnAppSysSolarPredictionSyncService: 'EnAppSysSolarPredictionSyncService' as Process,\r\n MeteringCompanyMeterSync: 'MeteringCompanyMeterSync' as Process,\r\n MeteringCompanyMeterConsumptionsSync: 'MeteringCompanyMeterConsumptionsSync' as Process,\r\n ConsolidationMessageEnqueueing: 'ConsolidationMessageEnqueueing' as Process,\r\n LightConsolidationPriority: 'LightConsolidationPriority' as Process,\r\n CronProcessHandler: 'CronProcessHandler' as Process\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ProcessDirective = 'Create' | 'Update' | 'Delete';\r\n\r\nexport const ProcessDirective = {\r\n Create: 'Create' as ProcessDirective,\r\n Update: 'Update' as ProcessDirective,\r\n Delete: 'Delete' as ProcessDirective\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ProductSource = 'Solar' | 'Wind' | 'HydroElectricHeadInstallations' | 'Marine' | 'Thermal' | 'Nuclear' | 'Other';\r\n\r\nexport const ProductSource = {\r\n Solar: 'Solar' as ProductSource,\r\n Wind: 'Wind' as ProductSource,\r\n HydroElectricHeadInstallations: 'HydroElectricHeadInstallations' as ProductSource,\r\n Marine: 'Marine' as ProductSource,\r\n Thermal: 'Thermal' as ProductSource,\r\n Nuclear: 'Nuclear' as ProductSource,\r\n Other: 'Other' as ProductSource\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ProductType = 'Electricity' | 'Gas';\r\n\r\nexport const ProductType = {\r\n Electricity: 'Electricity' as ProductType,\r\n Gas: 'Gas' as ProductType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface Prosumption { \r\n Consumption?: number | null;\r\n Production?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ProsumptionR { \r\n Consumption?: number;\r\n Production?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ProsumptionType = 'AnnualEstimate' | 'ReservedPeak';\r\n\r\nexport const ProsumptionType = {\r\n AnnualEstimate: 'AnnualEstimate' as ProsumptionType,\r\n ReservedPeak: 'ReservedPeak' as ProsumptionType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type PurchaseType = 'Imbalance' | 'EProgram' | 'VProgram';\r\n\r\nexport const PurchaseType = {\r\n Imbalance: 'Imbalance' as PurchaseType,\r\n EProgram: 'EProgram' as PurchaseType,\r\n VProgram: 'VProgram' as PurchaseType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QuantitiesR { \r\n readonly Value?: number;\r\n Quantity?: number;\r\n readonly Money?: number;\r\n Cost?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QuantitiesWithMeasured { \r\n QuantityMeasured?: number | null;\r\n Quantity?: number | null;\r\n Cost?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QueuedAssetProgressRequest { \r\n Id?: string | null;\r\n ClusterId?: string | null;\r\n PortfolioIds?: Array;\r\n ConnectionIds?: Array;\r\n WithSendDate?: boolean | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n QueuedFrom?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n QueuedUntil?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n SendFrom?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n SendUntil?: string | null;\r\n Skip?: number | null;\r\n Take?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QueuedAssetProgressResponse { \r\n Id?: string;\r\n ClusterId?: string;\r\n ConnectionId?: number;\r\n PortfolioId?: string | null;\r\n ModifiedFrom?: string;\r\n ModifiedUntil?: string;\r\n QueuedDate?: string | null;\r\n SendDate?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QueuedForecastProgressRequest { \r\n Id?: string | null;\r\n OverrideIds?: Array;\r\n ClusterId?: string | null;\r\n PortfolioIds?: Array;\r\n ConnectionIds?: Array;\r\n WithSendDate?: boolean | null;\r\n WithQueueDate?: boolean | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n QueuedFrom?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n QueuedUntil?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n SendFrom?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n SendUntil?: string | null;\r\n Skip?: number | null;\r\n Take?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QueuedForecastProgressResponse { \r\n Id?: string;\r\n OverrideId?: string | null;\r\n ClusterId?: string;\r\n ConnectionId?: number;\r\n PortfolioId?: string | null;\r\n ModifiedFrom?: string;\r\n ModifiedUntil?: string;\r\n CollectedDate?: string;\r\n QueuedDate?: string | null;\r\n SendDate?: string | null;\r\n Parent?: QueuedForecastProgressResponse;\r\n Overrides?: Array;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type SBMessageTargetType = 'Queue' | 'Topic';\r\n\r\nexport const SBMessageTargetType = {\r\n Queue: 'Queue' as SBMessageTargetType,\r\n Topic: 'Topic' as SBMessageTargetType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SendMeasurementCommunnicationR { \r\n ConnectionId?: string;\r\n MMCEnabled?: boolean;\r\n /**\r\n * Description\r\n */\r\n BlockedUntil?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SolarAssetCreateCommand { \r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n SolarAzimuth?: number;\r\n SolarTilt?: number;\r\n SolarAlbedo?: number;\r\n ConnectionId?: number;\r\n Tenant?: string;\r\n Longitude?: number;\r\n Latitude?: number;\r\n PowerKwAc?: number;\r\n LimitKw?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SolarAssetCreateResponse { \r\n ConnectionId?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SolarAssetRequest { \r\n ConnectionId?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n ReferenceDate?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SolarAssetResponse { \r\n SolarAzimuth?: number;\r\n SolarTilt?: number;\r\n SolarAlbedo?: number;\r\n ConnectionId?: string;\r\n Tenant?: string;\r\n Longitude?: number;\r\n Latitude?: number;\r\n PowerKwAc?: number;\r\n LimitKw?: number | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SolarAssetUpdateCommand { \r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n SolarAzimuth?: number;\r\n SolarTilt?: number;\r\n SolarAlbedo?: number;\r\n ConnectionId?: number;\r\n Tenant?: string;\r\n Longitude?: number;\r\n Latitude?: number;\r\n PowerKwAc?: number;\r\n LimitKw?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SolarAssetUpdateResponse { \r\n ConnectionId?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Status = 'Valid' | 'Cancelled' | 'Exported' | 'Expired' | 'Withdrawn' | 'ExportInProgress' | 'OwnConsumption';\r\n\r\nexport const Status = {\r\n Valid: 'Valid' as Status,\r\n Cancelled: 'Cancelled' as Status,\r\n Exported: 'Exported' as Status,\r\n Expired: 'Expired' as Status,\r\n Withdrawn: 'Withdrawn' as Status,\r\n ExportInProgress: 'ExportInProgress' as Status,\r\n OwnConsumption: 'OwnConsumption' as Status\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface StringStringKeyValuePair { \r\n Key?: string;\r\n Value?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SubmitDayAheadFromForecastCommand { \r\n PortfolioId?: string;\r\n ClusterIds?: Array;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type SupplyType = 'Consumption' | 'Production' | 'Prosumption';\r\n\r\nexport const SupplyType = {\r\n Consumption: 'Consumption' as SupplyType,\r\n Production: 'Production' as SupplyType,\r\n Prosumption: 'Prosumption' as SupplyType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SustainableMeterDetailCreateRequest { \r\n ConnectionId?: string;\r\n ConnectionSubMeterId?: string;\r\n PowerKwAc?: number | null;\r\n SolarAzimuth?: number | null;\r\n SolarAlbedo?: number | null;\r\n TurbineManufacturer?: string | null;\r\n TurbineType?: string | null;\r\n NumberOfTurbines?: number | null;\r\n CutOutMs?: number | null;\r\n From?: string;\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SustainableMeterDetailCreateResponse { \r\n Id?: string;\r\n ConnectionSubMeterId?: string;\r\n PowerKwAc?: number | null;\r\n SolarAzimuth?: number | null;\r\n SolarAlbedo?: number | null;\r\n TurbineManufacturer?: string | null;\r\n TurbineType?: string | null;\r\n NumberOfTurbines?: number | null;\r\n CutOutMs?: number | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SustainableMeterDetailDeleteRequest { \r\n ConnectionId?: string;\r\n ConnectionSubMeterId?: string;\r\n Id?: string;\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SustainableMeterDetailDeleteResponse { \r\n Id?: string;\r\n ConnectionSubMeterId?: string;\r\n PowerKwAc?: number | null;\r\n SolarAzimuth?: number | null;\r\n SolarAlbedo?: number | null;\r\n TurbineManufacturer?: string | null;\r\n TurbineType?: string | null;\r\n NumberOfTurbines?: number | null;\r\n CutOutMs?: number | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SustainableMeterDetailResponse { \r\n Id?: string;\r\n ConnectionSubMeterId?: string;\r\n PowerKwAc?: number | null;\r\n SolarAzimuth?: number | null;\r\n SolarAlbedo?: number | null;\r\n TurbineManufacturer?: string | null;\r\n TurbineType?: string | null;\r\n NumberOfTurbines?: number | null;\r\n CutOutMs?: number | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SustainableMeterDetailUpdateRequest { \r\n ConnectionId?: string;\r\n ConnectionSubMeterId?: string;\r\n Id?: string;\r\n PowerKwAc?: number | null;\r\n SolarAzimuth?: number | null;\r\n SolarAlbedo?: number | null;\r\n TurbineManufacturer?: string | null;\r\n TurbineType?: string | null;\r\n NumberOfTurbines?: number | null;\r\n CutOutMs?: number | null;\r\n From?: string;\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface SustainableMeterDetailUpdateResponse { \r\n Id?: string;\r\n ConnectionSubMeterId?: string;\r\n PowerKwAc?: number | null;\r\n SolarAzimuth?: number | null;\r\n SolarAlbedo?: number | null;\r\n TurbineManufacturer?: string | null;\r\n TurbineType?: string | null;\r\n NumberOfTurbines?: number | null;\r\n CutOutMs?: number | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type SwitchMoveInR = 'Switch' | 'MoveIn';\r\n\r\nexport const SwitchMoveInR = {\r\n Switch: 'Switch' as SwitchMoveInR,\r\n MoveIn: 'MoveIn' as SwitchMoveInR\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type SwitchType = 'ChangeOfSupplier' | 'MoveIn';\r\n\r\nexport const SwitchType = {\r\n ChangeOfSupplier: 'ChangeOfSupplier' as SwitchType,\r\n MoveIn: 'MoveIn' as SwitchType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type SystemOperator = 'Edsn';\r\n\r\nexport const SystemOperator = {\r\n Edsn: 'Edsn' as SystemOperator\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Tariff = 'Normal' | 'Low' | 'Total';\r\n\r\nexport const Tariff = {\r\n Normal: 'Normal' as Tariff,\r\n Low: 'Low' as Tariff,\r\n Total: 'Total' as Tariff\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type TariffSwitch = 'Evening' | 'Night' | 'None';\r\n\r\nexport const TariffSwitch = {\r\n Evening: 'Evening' as TariffSwitch,\r\n Night: 'Night' as TariffSwitch,\r\n None: 'None' as TariffSwitch\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Tenant = 'NieuweStroom' | 'EasyEnergy';\r\n\r\nexport const Tenant = {\r\n NieuweStroom: 'NieuweStroom' as Tenant,\r\n EasyEnergy: 'EasyEnergy' as Tenant\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type TimeSerieCategory = 'Generic' | 'Weather' | 'Forecast' | 'Program' | 'Price' | 'Allocation' | 'CollectedForecast' | 'PreliminaryPurchase' | 'Imbalance';\r\n\r\nexport const TimeSerieCategory = {\r\n Generic: 'Generic' as TimeSerieCategory,\r\n Weather: 'Weather' as TimeSerieCategory,\r\n Forecast: 'Forecast' as TimeSerieCategory,\r\n Program: 'Program' as TimeSerieCategory,\r\n Price: 'Price' as TimeSerieCategory,\r\n Allocation: 'Allocation' as TimeSerieCategory,\r\n CollectedForecast: 'CollectedForecast' as TimeSerieCategory,\r\n PreliminaryPurchase: 'PreliminaryPurchase' as TimeSerieCategory,\r\n Imbalance: 'Imbalance' as TimeSerieCategory\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface TimeSerieParameterValue { \r\n Name?: string;\r\n value?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type TimeSerieStorage = 'None' | 'Private' | 'Public';\r\n\r\nexport const TimeSerieStorage = {\r\n None: 'None' as TimeSerieStorage,\r\n Private: 'Private' as TimeSerieStorage,\r\n Public: 'Public' as TimeSerieStorage\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface TimeSerieValue { \r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Time?: string;\r\n Value?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface TimeSerieValueResponseLogs { \r\n Trace?: Array;\r\n Debug?: Array;\r\n Information?: Array;\r\n Warning?: Array;\r\n Error?: Array;\r\n Critical?: Array;\r\n None?: Array;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type TradingPlatform = 'Kinect' | 'Campina' | 'InHouse' | 'Curtailment' | 'Etpa';\r\n\r\nexport const TradingPlatform = {\r\n Kinect: 'Kinect' as TradingPlatform,\r\n Campina: 'Campina' as TradingPlatform,\r\n InHouse: 'InHouse' as TradingPlatform,\r\n Curtailment: 'Curtailment' as TradingPlatform,\r\n Etpa: 'Etpa' as TradingPlatform\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type TransferMedium = 'Electricity' | 'Heat';\r\n\r\nexport const TransferMedium = {\r\n Electricity: 'Electricity' as TransferMedium,\r\n Heat: 'Heat' as TransferMedium\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface TranslationCategoryId { \r\n TranslationDomainName?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface TranslationValueR { \r\n Language?: string;\r\n Value?: string;\r\n Description?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateClusterCommand { \r\n Id?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateClusterConnectionCommand { \r\n Id?: string;\r\n Until?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateClusterConnectionRecommendationCommand { \r\n Id?: string;\r\n FromTimeStamp?: string | null;\r\n UntilTimeStamp?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateClusterGroupCommand { \r\n Id?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateForecasterCommand { \r\n Id?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateForecastsInLegacyRequest { \r\n PortfolioId?: string;\r\n ClusterId?: Array;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdatePortfolioCommand { \r\n Id?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateResaleClusterCommand { \r\n Id?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateResaleClusterConnectionCommand { \r\n Id?: string;\r\n Until?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type UtilizationType = 'Residential' | 'NonResidential';\r\n\r\nexport const UtilizationType = {\r\n Residential: 'Residential' as UtilizationType,\r\n NonResidential: 'NonResidential' as UtilizationType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ValueType = 'String' | 'Decimal' | 'DateTimeOffset' | 'Boolean' | 'Short' | 'Int' | 'Complex';\r\n\r\nexport const ValueType = {\r\n String: 'String' as ValueType,\r\n Decimal: 'Decimal' as ValueType,\r\n DateTimeOffset: 'DateTimeOffset' as ValueType,\r\n Boolean: 'Boolean' as ValueType,\r\n Short: 'Short' as ValueType,\r\n Int: 'Int' as ValueType,\r\n Complex: 'Complex' as ValueType\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface WResult { \r\n Succes?: boolean;\r\n ID?: number;\r\n Message?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface WeatherConditionSunResponse { \r\n Temperature?: number | null;\r\n FeelsLike?: number | null;\r\n UVIndex?: number | null;\r\n Cloudyness?: number | null;\r\n SolarIrradiation?: number | null;\r\n Visibility?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface WeatherConditionWindResponse { \r\n WindSpeed?: number | null;\r\n WindDegree?: number | null;\r\n WindGust?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type WeatherSource = 'OpenWeatherMap' | 'Aeolis' | 'KNMI' | 'EnAppSys' | 'Combined';\r\n\r\nexport const WeatherSource = {\r\n OpenWeatherMap: 'OpenWeatherMap' as WeatherSource,\r\n Aeolis: 'Aeolis' as WeatherSource,\r\n Knmi: 'KNMI' as WeatherSource,\r\n EnAppSys: 'EnAppSys' as WeatherSource,\r\n Combined: 'Combined' as WeatherSource\r\n};\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface WindAssetCreateCommand { \r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n TurbineManufacturer?: string;\r\n TurbineType?: string;\r\n NumberOfTurbines?: number;\r\n CutOutMs?: number;\r\n Until?: string | null;\r\n ConnectionId?: number;\r\n Tenant?: string;\r\n Longitude?: number;\r\n Latitude?: number;\r\n PowerKwAc?: number;\r\n LimitKw?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface WindAssetCreateResponse { \r\n ConnectionId?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface WindAssetRequest { \r\n ConnectionId?: string | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n ReferenceDate?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface WindAssetResponse { \r\n TurbineManufacturer?: string;\r\n TurbineType?: string;\r\n NumberOfTurbines?: number;\r\n CutOutMs?: number;\r\n ConnectionId?: string;\r\n Tenant?: string;\r\n Longitude?: number;\r\n Latitude?: number;\r\n PowerKwAc?: number;\r\n LimitKw?: number | null;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n From?: string;\r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface WindAssetUpdateCommand { \r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Until?: string | null;\r\n TurbineManufacturer?: string;\r\n TurbineType?: string;\r\n NumberOfTurbines?: number;\r\n CutOutMs?: number;\r\n From?: string;\r\n ConnectionId?: number;\r\n Tenant?: string;\r\n Longitude?: number;\r\n Latitude?: number;\r\n PowerKwAc?: number;\r\n LimitKw?: number | null;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface WindAssetUpdateResponse { \r\n ConnectionId?: string;\r\n Name?: string;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ZonedDateTimeInt32ValueTuple { \r\n /**\r\n * A Date Time representation with zone information\r\n */\r\n Item1?: string;\r\n Item2?: number;\r\n}\r\n\r\n","/**\r\n * \r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ZonedDateTimeR { \r\n UtcDateTime?: string;\r\n Zone?: string;\r\n}\r\n\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const BASE_PATH = new InjectionToken('basePath');\r\nexport const COLLECTION_FORMATS = {\r\n 'csv': ',',\r\n 'tsv': ' ',\r\n 'ssv': ' ',\r\n 'pipes': '|'\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-alert',\r\n template: `\r\n \r\n
\r\n {{ config.icon }}\r\n     \r\n {{ message }}\r\n \r\n
\r\n
\r\n `,\r\n})\r\nexport class AlertComponent implements OnInit {\r\n @Input() message: string;\r\n @Input() type?: 'info' | 'succes' | 'warning' | 'danger' = 'info';\r\n\r\n config: Config;\r\n\r\n configs: Config[] = [\r\n {\r\n name: 'info',\r\n alert: 'alert-primary',\r\n icon: 'info',\r\n },\r\n {\r\n name: 'succes',\r\n alert: 'alert-success',\r\n icon: 'check',\r\n },\r\n {\r\n name: 'warning',\r\n alert: 'alert-warning',\r\n icon: 'error',\r\n },\r\n {\r\n name: 'danger',\r\n alert: 'alert-danger',\r\n icon: 'report',\r\n },\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.config = this.configs.find((type) => type.name === this.type);\r\n }\r\n}\r\n\r\ninterface Config {\r\n name: string;\r\n alert: string;\r\n icon: string;\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-back-button',\r\n templateUrl: './back-button.component.html',\r\n styleUrls: ['./back-button.component.scss'],\r\n})\r\nexport class BackButtonComponent {\r\n back() {\r\n history.back();\r\n }\r\n}\r\n","chevron_left\r\n","","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-button-with-feedback',\r\n templateUrl: './button-with-feedback.component.html',\r\n styleUrls: ['./button-with-feedback.component.scss'],\r\n})\r\nexport class ButtonWithFeedbackComponent implements OnInit, OnChanges {\r\n @Input() setup: ButtonWithFeedbackSetup;\r\n @Input() disabled: boolean;\r\n @Input() active: boolean;\r\n\r\n button: ButtonWithFeedbackSetup;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.button = { ...this.setup };\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!this.button) return;\r\n if (changes.disabled || changes.active) {\r\n const state = changes?.disabled?.currentValue || changes?.active?.currentValue;\r\n const icon = state ? this.setup.iconToggled : this.setup.icon;\r\n const text = state && this.setup.textToggled ? this.setup.textToggled : this.setup.text;\r\n this.button = { icon, text };\r\n }\r\n }\r\n}\r\n\r\nexport interface ButtonWithFeedbackSetup {\r\n icon: string;\r\n text?: string;\r\n action?: ButtonAction;\r\n iconToggled?: string;\r\n textToggled?: string;\r\n tooltip?: string;\r\n}\r\n\r\nenum ButtonAction {\r\n active = 'active',\r\n disabled = 'disabled',\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'default-button',\r\n templateUrl: './default-button.component.html',\r\n styleUrls: ['./default-button.component.scss'],\r\n})\r\nexport class DefaultButtonComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Input() disabled: boolean;\r\n @Input() active: boolean;\r\n @Input() loading: boolean;\r\n @Input() title: string = '';\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, EventEmitter, Output, TemplateRef, ViewChild } from '@angular/core';\r\n\r\nimport { DropdownPanel } from './dropdown-panel';\r\n\r\n@Component({\r\n selector: 'dropdown-button-wrapper',\r\n templateUrl: './dropdown-button-wrapper.component.html',\r\n styleUrls: ['./dropdown-button-wrapper.component.scss'],\r\n})\r\nexport class DropdownButtonWrapperComponent implements DropdownPanel {\r\n @ViewChild(TemplateRef) templateRef: TemplateRef;\r\n @Output() closed = new EventEmitter();\r\n\r\n constructor() { }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
","import { merge, Observable, Subscription } from 'rxjs';\r\n\r\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { Directive, ElementRef, HostListener, Input, OnDestroy, ViewContainerRef } from '@angular/core';\r\n\r\nimport { DropdownPanel } from './dropdown-panel';\r\n\r\n@Directive({\r\n selector: '[dropdownWrapTrigger]',\r\n})\r\nexport class DropdownWrapTriggerDirective implements OnDestroy {\r\n @Input('dropdownWrapTrigger') public dropdownPanel: DropdownPanel;\r\n clickedOnMonths = false;\r\n private isDropdownOpen = false;\r\n private overlayRef: OverlayRef;\r\n private dropdownClosingActionsSub = Subscription.EMPTY;\r\n\r\n constructor(private overlay: Overlay, private elementRef: ElementRef, private viewContainerRef: ViewContainerRef) { }\r\n\r\n @HostListener('click') toggleDropdown() {\r\n this.isDropdownOpen ? this.destroyDropdown() : this.openDropdown();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.overlayRef) {\r\n this.overlayRef.dispose();\r\n }\r\n }\r\n\r\n openDropdown(): void {\r\n this.isDropdownOpen = true;\r\n this.overlayRef = this.overlay.create({\r\n hasBackdrop: true,\r\n backdropClass: 'cdk-overlay-transparent-backdrop',\r\n scrollStrategy: this.overlay.scrollStrategies.close(),\r\n positionStrategy: this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.elementRef)\r\n .withPositions([\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: 8,\r\n },\r\n //subdropdown #months:\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: 7,\r\n offsetY: -52,\r\n },\r\n ]),\r\n });\r\n\r\n const templatePortal = new TemplatePortal(this.dropdownPanel.templateRef, this.viewContainerRef);\r\n this.overlayRef.attach(templatePortal);\r\n\r\n this.dropdownClosingActionsSub = this.dropdownClosingActions().subscribe(() => this.destroyDropdown());\r\n }\r\n\r\n private dropdownClosingActions(): Observable {\r\n const backdropClick$ = this.overlayRef.backdropClick();\r\n const detachment$ = this.overlayRef.detachments();\r\n const dropdownClosed = this.dropdownPanel.closed;\r\n\r\n return merge(backdropClick$, detachment$, dropdownClosed);\r\n }\r\n\r\n private destroyDropdown(): void {\r\n if (!this.overlayRef || !this.isDropdownOpen) {\r\n return;\r\n }\r\n\r\n this.dropdownClosingActionsSub.unsubscribe();\r\n this.isDropdownOpen = false;\r\n this.overlayRef.detach();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dropdown-button',\r\n templateUrl: './dropdown-button.component.html',\r\n styleUrls: ['./dropdown-button.component.scss']\r\n})\r\nexport class DropdownButtonComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Input() options!: string[];\r\n @Output() selectedOption: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n selectOption = (option) => this.selectedOption.emit(option);\r\n\r\n}","\r\n\r\n\r\n\r\n
{{option}}\r\n
\r\n
","
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n expand_less\r\n chevron_right\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-collapsable-content',\r\n templateUrl: './collapsable-content.component.html',\r\n styleUrls: ['./collapsable-content.component.scss'],\r\n})\r\nexport class CollapsableContentComponent implements OnInit {\r\n @Input() showContent = false;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-copy-text',\r\n templateUrl: './copy-text.component.html',\r\n styleUrls: ['./copy-text.component.scss'],\r\n})\r\nexport class CopyTextComponent {\r\n @Input() text: string;\r\n @Input() feedback: string;\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n copy = () => {\r\n navigator.clipboard.writeText(this.text);\r\n const feedbackMessage = this.feedback ? `${this.feedback} gekopieerd!` : 'Gekopieerd!';\r\n this.notificationService.showSuccess(feedbackMessage);\r\n };\r\n}\r\n","\r\n
\r\n {{text}}\r\n file_copy\r\n
\r\n
","import { finalize } from 'rxjs/operators';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\n\r\n// import { Subscription } from 'rxjs';\r\n// import { finalize } from 'rxjs/operators';\r\n// import { DEFINE_URL } from 'src/app/constants';\r\n// import { NotificationService } from 'src/app/services/notification.service';\r\n\r\n// import { HttpClient, HttpEventType } from '@angular/common/http';\r\n// import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n// OTHER\r\n\r\n// import { HttpClient } from '@angular/common/http';\r\n// import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n// import { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.scss'],\r\n})\r\nexport class FileUploadComponent implements OnInit {\r\n // COMPONENT ONLY USED FOR TRADING DEALNOMINATION, NORDPOOL IDM AND CURTAILMENT TRANSACTIONS\r\n\r\n @Input() sendToEndPoint: string;\r\n @Input() parameterName: string;\r\n @Input() placeholder: string;\r\n\r\n @Output() succesEvent: EventEmitter = new EventEmitter();\r\n @Output() unsuccedfullEvent: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('UploadFileInput', { static: false }) uploadFileInput: ElementRef;\r\n\r\n uploadMessages: State[] = [];\r\n fileInputLabel;\r\n fileUploadForm: UntypedFormGroup;\r\n requiredFileType = ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-excel']; //, 'text/csv'\r\n\r\n uploadingInProgress = false;\r\n\r\n constructor(private http: HttpClient, private formBuilder: UntypedFormBuilder, private notificationService: NotificationService) {}\r\n\r\n ngOnInit(): void {\r\n this.fileUploadForm = this.formBuilder.group({\r\n myfile: [null, Validators.required],\r\n });\r\n }\r\n\r\n onFileSelect(event) {\r\n if (event.target.files.length > 0) {\r\n const file = event.target.files[0];\r\n if (!file || !this.requiredFileType.includes(file.type)) return alert('Only excel is allowed!');\r\n this.fileInputLabel = file.name;\r\n this.fileUploadForm.get('myfile').setValue(file);\r\n }\r\n }\r\n\r\n onFormSubmit() {\r\n if (!this.fileUploadForm.get('myfile').value) return this.notificationService.showInfo('Geen bestand geselecteerd.');\r\n this.uploadingInProgress = true;\r\n const formData = new FormData();\r\n formData.append(this.parameterName, this.fileUploadForm.get('myfile').value);\r\n this.http\r\n .post(this.sendToEndPoint, formData)\r\n .pipe(finalize(() => (this.uploadingInProgress = false)))\r\n .subscribe(\r\n (response) => {\r\n if (response.statusCode === 200) {\r\n // Reset the file input\r\n this.uploadFileInput.nativeElement.value = '';\r\n this.fileInputLabel = undefined;\r\n console.log('Ik kom in deze statement response.statusCode === 0200');\r\n }\r\n this.handleUpload();\r\n },\r\n (error) => {\r\n this.handleError(error);\r\n },\r\n );\r\n }\r\n\r\n handleError = (error) => {\r\n console.log(' errorhanlding');\r\n this.unsuccedfullEvent.emit(true);\r\n const errorMessage = `${error?.error?.status} - ${error?.error?.title}\r\n ${error?.error?.type} - ${error?.error?.detail}`;\r\n this.notificationService.showError('Bestand niet kunnen uploaden. ' + errorMessage);\r\n this.uploadMessages.push(State.fail);\r\n this.reset();\r\n\r\n throw Error(`${error.error.status} - ${error.error.title}\r\n ${error.error.type} - ${error.error.detail}`);\r\n };\r\n\r\n handleUpload = () => {\r\n this.notificationService.showSuccess('Bestand geupload!');\r\n this.uploadMessages.push(State.succes);\r\n this.succesEvent.emit(true);\r\n this.reset();\r\n };\r\n\r\n reset = () => {\r\n this.fileUploadForm.get('myfile').patchValue(null);\r\n this.fileInputLabel = null;\r\n };\r\n}\r\n\r\nenum State {\r\n succes = 'succes',\r\n fail = 'fail',\r\n}\r\n","
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n Gelukt Succesvol geupload.\r\n \r\n
\r\n\r\n
\r\n Fout Niet succevol geupload.\r\n \r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n @Input() type: 'spinner' | 'bars' = null;\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnDestroy, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { ModalService } from './modal.service';\r\n\r\ntype modalBodyClass = '' | 'jw-modal-body-sm' | 'jw-modal-body-md' | 'jw-modal-body-lg';\r\n\r\n@Component({\r\n selector: 'jw-modal',\r\n templateUrl: 'modal.component.html',\r\n styleUrls: ['modal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy, OnChanges {\r\n // https://jasonwatmore.com/post/2020/09/24/angular-10-custom-modal-window-dialog-box\r\n // FIXME ID\r\n // Make use of default header and settings\r\n // https://levelup.gitconnected.com/how-to-create-a-reusable-modal-component-in-angular-9-using-ng-bootstrap-50c0aa5f3a65\r\n // More about ng-content that is being used here\r\n // https://medium.com/angularwave/components-constructors-the-power-of-ng-content-in-angular-a9bf936cb223\r\n\r\n @Input() id: string;\r\n @Input() additionalBodyClass: modalBodyClass;\r\n @Output() modalClosed: EventEmitter = new EventEmitter();\r\n @Output() pressedEnter: EventEmitter = new EventEmitter();\r\n\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, private el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n get isOpen() {\r\n return this.element.style.display === 'block';\r\n }\r\n\r\n @HostListener('document:keydown.escape')\r\n handleKeyboardEvent() {\r\n this.selfClose();\r\n }\r\n @HostListener('document:keydown.enter')\r\n handleKeyboardEvent2() {\r\n this.pressedEnter.emit();\r\n }\r\n\r\n ngOnInit(): void {\r\n // ensure id attribute exists\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n // move element to bottom of page (just before ) so it can be displayed above everything else\r\n document.body.appendChild(this.element);\r\n\r\n // close modal on background click\r\n this.element.addEventListener('click', (el) => {\r\n if (el.target.className === 'jw-modal') {\r\n this.close();\r\n }\r\n });\r\n\r\n // add self (this modal instance) to the modal service so it's accessible from controllers\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.ngOnInit();\r\n }\r\n\r\n // remove self from modal service when component is destroyed\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n // open modal\r\n open(): void {\r\n this.element.style.display = 'block';\r\n document.body.classList.add('jw-modal-open');\r\n }\r\n\r\n // close modal\r\n close(): void {\r\n this.element.style.display = 'none';\r\n document.body.classList.remove('jw-modal-open');\r\n this.modalClosed.emit('closing'); // maybe when multiple, use Id\r\n }\r\n\r\n selfClose() {\r\n this.close();\r\n this.modalService.close(this.id);\r\n }\r\n}\r\n","
\r\n\r\n
\r\n
\r\n close\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n // add modal to array of active modals\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n // remove modal from array of active modals\r\n this.modals = this.modals.filter((x) => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n // open modal specified by id\r\n const modal = this.modals.find((x) => x.id === id);\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n isOpen = (id: string) => this.modals.find((x) => x.id === id)?.isOpen;\r\n\r\n close(id: string) {\r\n // close modal specified by id\r\n const modal = this.modals.find((x) => x.id === id);\r\n modal.close();\r\n }\r\n\r\n inspect = (id?) => (id ? this.modals.find((x) => x.id === id) : this.modals);\r\n}\r\n","import moment from 'moment-timezone';\r\nimport { Granularity } from 'src/app/Connection';\r\n\r\nimport { Period } from './period.interface';\r\n\r\nexport const periodPickerPeriods: Period[] = [\r\n {\r\n name: 'Vandaag',\r\n period: Granularity.Day,\r\n step: Granularity.Day,\r\n granularity: Granularity.Hour,\r\n from: moment().format('YYYY-MM-DD'),\r\n referenceDate: null,\r\n until: moment()\r\n .add(1, Granularity.Day as any)\r\n .format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Morgen',\r\n period: Granularity.Day,\r\n step: Granularity.Day,\r\n granularity: Granularity.Hour,\r\n from: moment()\r\n .add(1, Granularity.Day as any)\r\n .format('YYYY-MM-DD'),\r\n referenceDate: moment().add(1, 'days').format('YYYY-MM-DD'),\r\n until: moment()\r\n .add(2, Granularity.Day as any)\r\n .format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Gister',\r\n period: Granularity.Day,\r\n step: Granularity.Day,\r\n granularity: Granularity.Hour,\r\n from: moment()\r\n .subtract(1, Granularity.Day as any)\r\n .format('YYYY-MM-DD'),\r\n referenceDate: moment()\r\n .subtract(1, Granularity.Day as any)\r\n .format('YYYY-MM-DD'),\r\n until: moment().format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Week',\r\n period: Granularity.Week,\r\n step: Granularity.Day,\r\n granularity: Granularity.Hour,\r\n from: moment().format('YYYY-MM-DD'),\r\n referenceDate: moment().format('YYYY-MM-DD'),\r\n until: moment()\r\n .add(1, Granularity.Week as any)\r\n .format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Deze week',\r\n period: Granularity.Week,\r\n step: Granularity.Day,\r\n granularity: Granularity.Hour,\r\n from: moment()\r\n .startOf(Granularity.Week as any)\r\n .format('YYYY-MM-DD'),\r\n referenceDate: null,\r\n until: moment()\r\n .endOf(Granularity.Week as any)\r\n .format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Afgelopen week',\r\n period: Granularity.Week,\r\n step: Granularity.Day,\r\n granularity: Granularity.Hour,\r\n from: moment()\r\n .subtract(1, 'week')\r\n .startOf(Granularity.Week as any)\r\n .format('YYYY-MM-DD'),\r\n referenceDate: moment().subtract(1, 'week').format('YYYY-MM-DD'),\r\n until: moment()\r\n .subtract(1, 'week')\r\n .endOf(Granularity.Week as any)\r\n .format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Deze maand',\r\n period: Granularity.Month,\r\n step: Granularity.Day,\r\n granularity: Granularity.Day,\r\n from: moment()\r\n .startOf(Granularity.Month as any)\r\n .format('YYYY-MM-DD'),\r\n referenceDate: null,\r\n until: moment()\r\n .endOf(Granularity.Month as any)\r\n .format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Dit kwartaal',\r\n period: Granularity.QuarterYear,\r\n step: Granularity.Day,\r\n granularity: Granularity.Day,\r\n from: moment()\r\n .startOf(Granularity.QuarterYear as any)\r\n .format('YYYY-MM-DD'),\r\n referenceDate: null,\r\n until: moment()\r\n .endOf(Granularity.QuarterYear as any)\r\n .format('YYYY-MM-DD'),\r\n },\r\n {\r\n name: 'Dit jaar',\r\n period: Granularity.Year,\r\n step: Granularity.Day,\r\n granularity: Granularity.Day,\r\n from: moment()\r\n .startOf(Granularity.Year as any)\r\n .format('YYYY-MM-DD'),\r\n referenceDate: null,\r\n until: moment()\r\n .endOf(Granularity.Year as any)\r\n .format('YYYY-MM-DD'),\r\n },\r\n];\r\n","import moment from 'moment-timezone';\r\nimport { Observable } from 'rxjs';\r\nimport { Granularity } from 'src/app/Connection';\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\n\r\nimport { periodPickerPeriods } from './period-picker-periods.constants';\r\nimport { Period } from './period.interface';\r\n\r\n@Component({\r\n selector: 'app-period-picker',\r\n templateUrl: './period-picker.component.html',\r\n styleUrls: ['./period-picker.component.scss'],\r\n})\r\nexport class PeriodPickerComponent implements OnInit {\r\n @Input() defaultPeriod?: Period = periodPickerPeriods[0];\r\n @Input() period$: Observable;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n\r\n // use PRIMENG calendar select months and other\r\n // https://www.primefaces.org/primeng/showcase/#/calendar\r\n\r\n selectedPeriod: Period;\r\n\r\n showCustomPeriod = false;\r\n periodOptions = periodPickerPeriods; // template use\r\n\r\n listOfMonths: Period[] = [];\r\n\r\n periodPickerGroup: UntypedFormGroup = new UntypedFormGroup({\r\n referenceDate: new UntypedFormControl(moment()),\r\n period: new UntypedFormControl(Granularity.Day),\r\n granularity: new UntypedFormControl(Granularity.Hour),\r\n });\r\n\r\n granularities: string[] = Object.keys(Granularity);\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n if (this.defaultPeriod === undefined || this.defaultPeriod == null) {\r\n this.selectedPeriod = periodPickerPeriods[0];\r\n } else {\r\n this.selectedPeriod = this.defaultPeriod;\r\n }\r\n this.makeListOfMonths();\r\n\r\n this.goingReactive();\r\n }\r\n\r\n // Observable test\r\n goingReactive = () => {\r\n if (this.period$) this.period$.subscribe((period) => (this.selectedPeriod = period));\r\n };\r\n\r\n makeListOfMonths() {\r\n var m = moment();\r\n for (var i = 0; i < 12; i++) {\r\n let month = m.month(i);\r\n month.format('YYYY-MM') > moment().format('YYYY-MM') ? month.subtract(1, 'year') : month;\r\n // let until\r\n let period: Period = {\r\n name: month.format('MMMM YYYY'),\r\n period: Granularity.Month,\r\n step: Granularity.Day,\r\n steps:\r\n moment(month.format('YYYY-MM'))\r\n .endOf('month')\r\n .diff(moment(month.format('YYYY-MM')).startOf('month'), 'days') + 1,\r\n from: moment(month.format('YYYY-MM')).startOf('month'),\r\n until: moment(month.format('YYYY-MM')).add(1, 'month').startOf('month'),\r\n };\r\n this.listOfMonths.push(period);\r\n }\r\n }\r\n\r\n changePeriod(period?) {\r\n if (!period && !this.showCustomPeriod) return (this.showCustomPeriod = true);\r\n if (!period && this.showCustomPeriod) {\r\n period = this.makeCustomPeriod();\r\n }\r\n this.selectedPeriod = period;\r\n this.showCustomPeriod = false;\r\n this.selected.emit(period);\r\n }\r\n\r\n checkSelectedValue() {\r\n console.log(this.periodPickerGroup.getRawValue());\r\n }\r\n\r\n makeCustomPeriod(): Period | void {\r\n if (!this.periodPickerGroup.valid) return;\r\n let period = this.periodPickerGroup.getRawValue();\r\n console.log(period);\r\n const from = period.referenceDate;\r\n period.referenceDate = from.format('YYYY-MM-DD');\r\n period.from = from.format('YYYY-MM-DD');\r\n period.until = from.add(1, period.period).format('YYYY-MM-DD');\r\n period.name = `${period.from} - ${period.until}`;\r\n period.custom = true;\r\n return period;\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
{{period.name}}
\r\n
Selecteer maand
\r\n
Aangepast
\r\n
\r\n\r\n\r\n
{{month.name}}\r\n
\r\n
\r\n\r\n\r\n Kies periode\r\n\r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n   \r\n\r\n \r\n Selecteer Periode\r\n \r\n \r\n {{value}}\r\n \r\n \r\n \r\n \r\n\r\n   \r\n\r\n \r\n Selecteer granulariteit\r\n \r\n \r\n {{value}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n
","import { Component, Input } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-search-bar',\r\n templateUrl: './search-bar.component.html',\r\n styleUrls: ['./search-bar.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: SearchBarComponent,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n multi: true,\r\n useExisting: SearchBarComponent,\r\n },\r\n ],\r\n})\r\nexport class SearchBarComponent implements ControlValueAccessor {\r\n @Input()\r\n searchString: string = null;\r\n\r\n @Input() placeholder: string = 'Search';\r\n onChange = (change) => (this.searchString = change);\r\n\r\n onTouched = () => {};\r\n\r\n touched = false;\r\n\r\n disabled = false;\r\n\r\n writeValue(string: string) {\r\n this.searchString = string;\r\n }\r\n\r\n registerOnChange(onChange: any) {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouched: any) {\r\n this.onTouched = onTouched;\r\n }\r\n\r\n markAsTouched() {\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n setDisabledState(disabled: boolean) {\r\n this.disabled = disabled;\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n const minChar = control.value;\r\n if (minChar.length <= 3) {\r\n return {\r\n useMoreThan3Characters: {\r\n minChar,\r\n },\r\n };\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
","import { Component, ContentChild, Input, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';\r\nimport { Sort } from '@angular/material/sort';\r\n\r\nexport interface ViewContext {\r\n $implicit: T;\r\n}\r\n\r\n@Component({\r\n selector: 'app-simple-table',\r\n templateUrl: './simple-table.component.html',\r\n styleUrls: ['./simple-table.component.scss'],\r\n})\r\nexport class SimpleTableComponent implements OnInit, OnChanges {\r\n @ContentChild(TemplateRef) templateRef!: TemplateRef;\r\n\r\n @Input() dataSource;\r\n @Input() columsToShow;\r\n\r\n columsToShowFiltered;\r\n\r\n ///\r\n // \r\n // //Dynamic input can be made in here\r\n // \r\n // \r\n //\r\n\r\n getActionViewContext(action: any): ViewContext {\r\n return { $implicit: action };\r\n }\r\n\r\n show: any = {};\r\n\r\n originalDataSource;\r\n\r\n constructor() {}\r\n\r\n customTemplateRefs = ['Actions'];\r\n\r\n ngOnInit(): void {\r\n this.init();\r\n this.columsToShowFiltered = this.columsToShow.filter((c) => !this.customTemplateRefs.includes(c));\r\n }\r\n\r\n init = () => {\r\n this.originalDataSource = this.dataSource;\r\n this.columsToShow = this.columsToShow ? this.columsToShow : Object.keys(this.dataSource[0]);\r\n };\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.dataSource) {\r\n this.originalDataSource = [...changes.dataSource.currentValue];\r\n }\r\n }\r\n\r\n sortData = (sort: Sort) => {\r\n if (!sort.active || sort.direction === '') return (this.dataSource = this.originalDataSource);\r\n const data = [...this.dataSource];\r\n const isAsc = sort.direction === 'asc';\r\n this.dataSource = data.sort((a, b) => (a[sort.active] < b[sort.active] ? -1 : 1) * (isAsc ? 1 : -1));\r\n };\r\n\r\n hideColumn = (columnName: string) => (this.columsToShow = this.columsToShow.filter((c) => c !== columnName));\r\n}\r\n","\r\n\r\n \r\n\r\n \r\n {{disCol}}\r\n \r\n\r\n \r\n {{element[disCol]}}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-table-filters',\r\n templateUrl: './table-filters.component.html',\r\n styleUrls: ['./table-filters.component.scss'],\r\n})\r\nexport class TableFiltersComponent implements OnInit {\r\n @Input() filters;\r\n @Output() newFilters: EventEmitter = new EventEmitter();\r\n\r\n filterForm: UntypedFormGroup;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.createFormGroup();\r\n }\r\n\r\n createFormGroup = () => {\r\n console.log(this.filters);\r\n\r\n this.filterForm = this.filters.options.reduce(\r\n (obj, param) =>\r\n Object.assign(obj, {\r\n [param.label]: param.required ? new UntypedFormControl('', Validators.required) : new UntypedFormControl(''),\r\n }),\r\n {},\r\n );\r\n };\r\n\r\n formSubscriber = () => {}; //this.form.valueChange.pipe.debounce.subscribe(value => this.newFilters.emit(true))\r\n\r\n selectQuickfilter = (quickFilter) => this.newFilters.emit({ ...this.filters, quickFilter });\r\n\r\n showHide = (colum) => {\r\n this.filters.columsToShow = this.filters.columsToShow.includes(colum)\r\n ? this.filters.columsToShow.filter((c) => c !== colum)\r\n : [...this.filters.columsToShow, colum];\r\n\r\n console.log(this.filters.columsToShow);\r\n };\r\n\r\n // dragColumn = () =>\r\n\r\n change = () => this.newFilters.emit(true);\r\n}\r\n","
\r\n
\r\n
\r\n Quickfilters\r\n
\r\n

\r\n {{quickFilter}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n Filters\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n {{filter.label ?? filter.key}}\r\n \r\n \r\n Geen\r\n \r\n \r\n {{option.name ?? option.Name}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n Show/hide colums\r\n
\r\n

\r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n Search\r\n
\r\n \r\n
\r\n
\r\n
","\r\n\r\n \r\n\r\n \r\n {{disCol}}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n\r\n {{name}}\r\n\r\n\r\n\r\n \r\n {{content | stringToDateTimeFormat}}\r\n \r\n \r\n {{content}}\r\n \r\n\r\n\r\n\r\n {{action}}\r\n\r\n\r\n\r\n {{id}} (todo)\r\n\r\n\r\n\r\n \r\n \r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { Sort } from '@angular/material/sort';\r\n\r\n@Component({\r\n selector: 'app-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss'],\r\n})\r\nexport class TableComponent implements OnInit, OnChanges {\r\n @Input() dataSource;\r\n @Input() columsToShow;\r\n @Input() actions;\r\n\r\n show: any = {};\r\n\r\n originalDataSource;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.init();\r\n if (this.actions) {\r\n this.columsToShow.push('actions');\r\n }\r\n }\r\n\r\n init = () => {\r\n this.originalDataSource = this.dataSource;\r\n this.columsToShow = this.columsToShow ? this.columsToShow : Object.keys(this.dataSource[0]);\r\n };\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.dataSource) {\r\n this.originalDataSource = [...changes.dataSource.currentValue];\r\n }\r\n }\r\n\r\n isTimestamp = (columnName: string) => {\r\n // console.log(columnName);\r\n const name = columnName?.toLowerCase();\r\n return name.includes('timestamp') || name.includes('from') || name.includes('until') || name.includes('day');\r\n };\r\n\r\n sortData = (sort: Sort) => {\r\n if (!sort.active || sort.direction === '') return (this.dataSource = this.originalDataSource);\r\n const data = [...this.dataSource];\r\n const isAsc = sort.direction === 'asc';\r\n this.dataSource = data.sort((a, b) => (a[sort.active] < b[sort.active] ? -1 : 1) * (isAsc ? 1 : -1));\r\n };\r\n\r\n hideColumn = (columnName: string) => (this.columsToShow = this.columsToShow.filter((c) => c !== columnName));\r\n}\r\n","import { Subject, takeUntil } from 'rxjs';\r\nimport { DragAndDropService } from 'src/app/services/drag-and-drop.service';\r\n\r\nimport { Directive, HostListener, Input, OnDestroy, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDragAndDrop]',\r\n})\r\nexport class DragAndDropDirective implements OnInit, OnDestroy {\r\n @Input('appDragAndDrop') draggedItem: any;\r\n // requires a draggable element; use as follows => [appDragAndDrop]=\"timeserie\" draggable=\"true\"\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onmouseDown(event): void {\r\n this.mouseDown.next(event);\r\n }\r\n @HostListener('mouseup', ['$event'])\r\n onmouseUp(event): void {\r\n this.mouseUp.next(event);\r\n }\r\n\r\n private mouseDown = new Subject();\r\n private mouseMove = new Subject();\r\n private mouseUp = new Subject();\r\n\r\n private destroy$ = new Subject();\r\n\r\n constructor(private dragAndDropService: DragAndDropService) {}\r\n\r\n ngOnInit() {\r\n this.mouseDown\r\n .asObservable()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((event) => {\r\n this.dragAndDropService.setDragPayload(this.draggedItem);\r\n });\r\n\r\n // Only works when there is a mouseUp event on this directive (e.g. clickevent)\r\n this.mouseUp\r\n .asObservable()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n setTimeout(() => this.dragAndDropService.clearPayload(), 100);\r\n });\r\n }\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { DateTime } from 'luxon';\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Parser } from '../interfaces/parser.interface';\r\n\r\nconst invalidInput = 'ZonedDateTimeParser expects input to consist of two parts (e.g. \"2017-05-15T09:10:23+02:00 Europe/Amsterdam\")';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ZonedDateTimeParser implements Parser {\r\n public parse(input: string): DateTime {\r\n input = input.includes('Z UTC') ? input.replace(' UTC', '') : input; // since it has a dual reference to UTC, Zulu and UTC.\r\n const split = input.split(' ');\r\n\r\n if (split.length !== 2) {\r\n throw new Error(invalidInput);\r\n }\r\n\r\n return DateTime.fromISO(split[0], { zone: split[1] });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'boolToWord' })\r\nexport class BoolToWordPipe implements PipeTransform {\r\n constructor() {}\r\n\r\n transform = (bool: string, language: string) => (bool ? 'Ja' : 'Nee');\r\n}\r\n","import { DateTime, DateTimeFormatOptions } from 'luxon';\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'dateTimePreset' })\r\nexport class DateTimePresetPipe implements PipeTransform {\r\n constructor() {}\r\n\r\n // will format using preset if the input is a non-null DateTime\r\n // will relay input otherwise\r\n transform(input?: DateTime | string, preset: DateTimeFormatOptions = DateTime.DATETIME_SHORT): string | null {\r\n return !!input && input instanceof DateTime ? input.toLocaleString(preset) : (input as string | null);\r\n }\r\n}\r\n","import { DateTime } from 'luxon';\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'dateTimeRelative' })\r\nexport class DateTimeRelativePipe implements PipeTransform {\r\n constructor() {}\r\n\r\n // will format using Intl.RelativeTimeFormat if the input is a non-null DateTime,\r\n // unless [onlyIfWithinHours] is specified, in which case formatting is conditionally applied\r\n // will relay input otherwise\r\n transform(input?: DateTime | string, onlyIfWithinHours?: number): DateTime | string | null {\r\n if (!!input && input instanceof DateTime) {\r\n const value = input as DateTime;\r\n\r\n return !!onlyIfWithinHours && Math.abs(value.diffNow('hours').hours) >= onlyIfWithinHours ? value : value.toRelative();\r\n }\r\n\r\n return input;\r\n }\r\n}\r\n","import moment from 'moment';\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'momentFormat' })\r\nexport class MomentFormatPipe implements PipeTransform {\r\n constructor() {}\r\n\r\n transform(input?: moment.Moment, format = 'LL', useFromNowIfWithinHours = 72, locale = 'nl'): string | null {\r\n if (!input) {\r\n return null;\r\n }\r\n\r\n input.locale(locale);\r\n\r\n const isBeforeThreshold = input.isBefore(moment().subtract(useFromNowIfWithinHours, 'hours'));\r\n const isAfterThreshold = input.isAfter(moment().add(useFromNowIfWithinHours, 'hours'));\r\n\r\n return isBeforeThreshold || isAfterThreshold ? input.format(format) : input.fromNow();\r\n }\r\n}\r\n","import { DateTime, DateTimeFormatOptions } from 'luxon';\r\nimport { FROM_FORMAT_API } from 'src/app/constants';\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'stringToDateTimeFormat',\r\n})\r\nexport class StringToDateTimeFormatPipe implements PipeTransform {\r\n transform(input?: string, preset: DateTimeFormatOptions = DateTime.DATETIME_SHORT): string | null {\r\n if (!input) return;\r\n if (input.includes('+01:00' || '+02:00')) {\r\n input = input.replace('+01:00', '');\r\n input = input.replace('+02:00', '');\r\n } else {\r\n input = input.replace('+01', '');\r\n input = input.replace('+02', '');\r\n }\r\n if (input.includes('.')) {\r\n const splitOnMs = input.split('.');\r\n console.warn('DateTime contains miliseconds, but are not supported, skipping zone and other info behind the ms too');\r\n input = splitOnMs[0];\r\n }\r\n // if (preset === DateTime.DATETIME_SHORT) {\r\n // preset = { month: '2-digit', day: '2-digit', year: 'numeric' };\r\n // }\r\n if (preset === DateTime.DATE_SHORT) {\r\n preset = { month: '2-digit', day: '2-digit', year: 'numeric' };\r\n }\r\n\r\n if (input.includes('UTC')) {\r\n // \"2021-08-18T12:04:55.2932935+02 UTC+02\" -> Removed the utc and the +01 +02 if present. Zone is NOT UTC.\r\n input = input.replace(' UTC', '');\r\n console.warn('The DateTime is in UTC format, this is not supported, but works.');\r\n return DateTime.fromISO(input).toLocaleString(preset);\r\n }\r\n const dateTimeWithZone = input.split(' ');\r\n\r\n if (dateTimeWithZone.length !== 2) {\r\n console.warn('No zone has been specified (this is not advised), returning default zone Europe/Amsterdam');\r\n const noZone = DateTime.fromISO(dateTimeWithZone[0]);\r\n return noZone.isValid ? noZone.toLocaleString(preset) : DateTime.fromFormat(dateTimeWithZone[0], FROM_FORMAT_API).toLocaleString(preset);\r\n }\r\n\r\n return DateTime.fromISO(dateTimeWithZone[0], { zone: dateTimeWithZone[1] }).toLocaleString(preset);\r\n }\r\n}\r\n","import { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { TranslationFromMemoryOrApiService } from '../../../services/translation-from-memory-or-api.service';\r\n\r\n@Pipe({ name: 'translate$' })\r\nexport class TranslatePipe implements PipeTransform {\r\n constructor(private translationFromMemoryOrApiService: TranslationFromMemoryOrApiService) { }\r\n\r\n transform(name: string, category = 'Frontend', domain = 'Frontend'): Observable {\r\n // Example of Async Pipe with API call behind it.\r\n const result = new BehaviorSubject(name);\r\n\r\n // this.translationFromMemoryOrApiService\r\n // .GetTranslation(domain, category, name)\r\n // .then((translation) => result.next(translation))\r\n // .then((_) => result.complete());\r\n\r\n result.next('Dummy');\r\n result.complete();\r\n return result;\r\n }\r\n}\r\n","\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { TranslationFromMemoryOrApiService } from '../../../services/translation-from-memory-or-api.service';\r\n\r\n@Pipe({ name: 'translation' })\r\nexport class TranslationPipe implements PipeTransform {\r\n constructor(private translationFromMemoryOrApiService: TranslationFromMemoryOrApiService) { }\r\n\r\n transform(name: string, category = 'Frontend', domain = 'Frontend'): string {\r\n return this.translationFromMemoryOrApiService\r\n .getTranslation(domain, category, name);\r\n }\r\n}\r\n","import { NgxJsonViewerModule } from 'ngx-json-viewer';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { AlertComponent } from './components/alert/alert.component';\r\nimport { BackButtonComponent } from './components/buttons/back-button/back-button.component';\r\nimport { ButtonWithFeedbackComponent } from './components/buttons/button-with-feedback/button-with-feedback.component';\r\nimport { DefaultButtonComponent } from './components/buttons/default-button/default-button.component';\r\nimport { DropdownButtonWrapperComponent } from './components/buttons/dropdown-button/dropdown-button-wrapper/dropdown-button-wrapper.component';\r\nimport { DropdownWrapTriggerDirective } from './components/buttons/dropdown-button/dropdown-button-wrapper/dropdown-wrap-trigger.directive';\r\nimport { DropdownButtonComponent } from './components/buttons/dropdown-button/dropdown-button.component';\r\nimport { CollapsableContentComponent } from './components/collapsable-content/collapsable-content.component';\r\nimport { CopyTextComponent } from './components/copy-text/copy-text.component';\r\nimport { FileUploadComponent } from './components/file-upload/file-upload.component';\r\nimport { LoaderComponent } from './components/loader/loader.component';\r\nimport { ModalComponent } from './components/modal/modal.component';\r\nimport { PeriodPickerComponent } from './components/period-picker/period-picker.component';\r\nimport { SearchBarComponent } from './components/search-bar/search-bar.component';\r\nimport { SimpleTableComponent } from './components/tables/simple-table/simple-table.component';\r\nimport { TableFiltersComponent } from './components/tables/table-filters/table-filters.component';\r\nimport { TableComponent } from './components/tables/table/table.component';\r\nimport { DragAndDropDirective } from './directives/drag-and-drop.directive';\r\nimport { BoolToWordPipe } from './pipes/bool-to-word.pipe';\r\nimport { DateTimePresetPipe } from './pipes/date-time-preset.pipe';\r\nimport { DateTimeRelativePipe } from './pipes/date-time-relative.pipe';\r\nimport { MomentFormatPipe } from './pipes/moment-format.pipe';\r\nimport { StringToDateTimeFormatPipe } from './pipes/string-to-date-time-format.pipe';\r\nimport { TranslatePipe } from './pipes/translate.pipe';\r\nimport { TranslationPipe } from './pipes/translation.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n DropdownButtonWrapperComponent,\r\n DropdownWrapTriggerDirective,\r\n TranslatePipe,\r\n MomentFormatPipe,\r\n DateTimePresetPipe,\r\n DateTimeRelativePipe,\r\n StringToDateTimeFormatPipe,\r\n DefaultButtonComponent,\r\n ModalComponent,\r\n PeriodPickerComponent,\r\n DropdownButtonComponent,\r\n FileUploadComponent,\r\n TranslationPipe,\r\n BackButtonComponent,\r\n BoolToWordPipe,\r\n ButtonWithFeedbackComponent,\r\n TableComponent,\r\n TableFiltersComponent,\r\n SearchBarComponent,\r\n LoaderComponent,\r\n AlertComponent,\r\n CollapsableContentComponent,\r\n SimpleTableComponent,\r\n DragAndDropDirective,\r\n CopyTextComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatDatepickerModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n ReactiveFormsModule,\r\n MatCheckboxModule,\r\n FormsModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTooltipModule,\r\n MatProgressBarModule,\r\n NgxJsonViewerModule,\r\n ],\r\n exports: [\r\n TranslatePipe,\r\n TranslationPipe,\r\n MomentFormatPipe,\r\n DateTimePresetPipe,\r\n DateTimeRelativePipe,\r\n StringToDateTimeFormatPipe,\r\n BoolToWordPipe,\r\n DefaultButtonComponent,\r\n ModalComponent,\r\n PeriodPickerComponent,\r\n DropdownButtonComponent,\r\n FileUploadComponent,\r\n BackButtonComponent,\r\n TableComponent,\r\n SimpleTableComponent,\r\n TableFiltersComponent,\r\n MatPaginator,\r\n // Forms\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatCheckboxModule,\r\n SearchBarComponent,\r\n LoaderComponent,\r\n MatDatepickerModule,\r\n AlertComponent,\r\n CollapsableContentComponent,\r\n NgxJsonViewerModule,\r\n DragAndDropDirective,\r\n CopyTextComponent,\r\n ],\r\n})\r\nexport class SharedModule {}\r\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\r\nimport { Configuration } from './configuration';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { PricesService } from './api/prices.service';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: [],\r\n providers: []\r\n})\r\nexport class ApiModule {\r\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\r\n return {\r\n ngModule: ApiModule,\r\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\r\n };\r\n }\r\n\r\n constructor( @Optional() @SkipSelf() parentModule: ApiModule,\r\n @Optional() http: HttpClient) {\r\n if (parentModule) {\r\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\r\n }\r\n if (!http) {\r\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\r\n 'See also https://github.com/angular/angular/issues/20575');\r\n }\r\n }\r\n}\r\n","export * from './prices.service';\r\nimport { PricesService } from './prices.service';\r\nexport const APIS = [PricesService];\r\n","/**\r\n * NieuweStroom.Supplying.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { GetPricesResponse } from '../model/getPricesResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PricesService {\r\n\r\n protected basePath = 'http://localhost:53108';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param marketType \r\n * @param intervalStart \r\n * @param intervalEnd \r\n * @param tariff \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public pricesGetPrices(marketType: string, intervalStart: string, intervalEnd: string, tariff?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public pricesGetPrices(marketType: string, intervalStart: string, intervalEnd: string, tariff?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public pricesGetPrices(marketType: string, intervalStart: string, intervalEnd: string, tariff?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public pricesGetPrices(marketType: string, intervalStart: string, intervalEnd: string, tariff?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (marketType === null || marketType === undefined) {\r\n throw new Error('Required parameter marketType was null or undefined when calling pricesGetPrices.');\r\n }\r\n if (intervalStart === null || intervalStart === undefined) {\r\n throw new Error('Required parameter intervalStart was null or undefined when calling pricesGetPrices.');\r\n }\r\n if (intervalEnd === null || intervalEnd === undefined) {\r\n throw new Error('Required parameter intervalEnd was null or undefined when calling pricesGetPrices.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (tariff !== undefined && tariff !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n tariff, 'Tariff');\r\n }\r\n if (intervalStart !== undefined && intervalStart !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n intervalStart, 'IntervalStart');\r\n }\r\n if (intervalEnd !== undefined && intervalEnd !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n intervalEnd, 'IntervalEnd');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/prices/${encodeURIComponent(String(marketType))}`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport interface ConfigurationParameters {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials?: {[ key: string ]: string | (() => string | undefined)};\r\n}\r\n\r\nexport class Configuration {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials: {[ key: string ]: string | (() => string | undefined)};\r\n\r\n constructor(configurationParameters: ConfigurationParameters = {}) {\r\n this.apiKeys = configurationParameters.apiKeys;\r\n this.username = configurationParameters.username;\r\n this.password = configurationParameters.password;\r\n this.accessToken = configurationParameters.accessToken;\r\n this.basePath = configurationParameters.basePath;\r\n this.withCredentials = configurationParameters.withCredentials;\r\n this.encoder = configurationParameters.encoder;\r\n if (configurationParameters.credentials) {\r\n this.credentials = configurationParameters.credentials;\r\n }\r\n else {\r\n this.credentials = {};\r\n }\r\n\r\n // init default JWTBearerAuth credential\r\n if (!this.credentials['JWTBearerAuth']) {\r\n this.credentials['JWTBearerAuth'] = () => {\r\n return typeof this.accessToken === 'function'\r\n ? this.accessToken()\r\n : this.accessToken;\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Select the correct content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param contentTypes - the array of content types that are available for selection\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\r\n if (contentTypes.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return contentTypes[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Select the correct accept content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param accepts - the array of content types that are available for selection.\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderAccept(accepts: string[]): string | undefined {\r\n if (accepts.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = accepts.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return accepts[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Check if the given MIME is a JSON MIME.\r\n * JSON MIME examples:\r\n * application/json\r\n * application/json; charset=UTF8\r\n * APPLICATION/JSON\r\n * application/vnd.company+json\r\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\r\n * @return True if the given MIME is JSON, false otherwise.\r\n */\r\n public isJsonMime(mime: string): boolean {\r\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\r\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\r\n }\r\n\r\n public lookupCredential(key: string): string | undefined {\r\n const value = this.credentials[key];\r\n return typeof value === 'function'\r\n ? value()\r\n : value;\r\n }\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\n/**\r\n * Custom HttpParameterCodec\r\n * Workaround for https://github.com/angular/angular/issues/18261\r\n */\r\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\r\n encodeKey(k: string): string {\r\n return encodeURIComponent(k);\r\n }\r\n encodeValue(v: string): string {\r\n return encodeURIComponent(v);\r\n }\r\n decodeKey(k: string): string {\r\n return decodeURIComponent(k);\r\n }\r\n decodeValue(v: string): string {\r\n return decodeURIComponent(v);\r\n }\r\n}\r\n","export * from './api/api';\r\nexport * from './model/models';\r\nexport * from './variables';\r\nexport * from './configuration';\r\nexport * from './api.module';","/**\r\n * NieuweStroom.Supplying.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface GetPricesRequest { \r\n tariff?: string | null;\r\n intervalStart?: string;\r\n intervalEnd?: string;\r\n}\r\n\r\n","export * from './getPricesRequest';\r\nexport * from './getPricesResponse';\r\nexport * from './priceResponse';\r\n","/**\r\n * NieuweStroom.Supplying.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PriceResponse { \r\n marketType?: string;\r\n productType?: string;\r\n from?: string;\r\n until?: string | null;\r\n price?: number;\r\n}\r\n\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const BASE_PATH = new InjectionToken('basePath');\r\nexport const COLLECTION_FORMATS = {\r\n 'csv': ',',\r\n 'tsv': ' ',\r\n 'ssv': ' ',\r\n 'pipes': '|'\r\n}\r\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\r\nimport { Configuration } from './configuration';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { ForecastService } from './api/forecast.service';\r\nimport { HelloService } from './api/hello.service';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: [],\r\n providers: []\r\n})\r\nexport class ApiModule {\r\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\r\n return {\r\n ngModule: ApiModule,\r\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\r\n };\r\n }\r\n\r\n constructor( @Optional() @SkipSelf() parentModule: ApiModule,\r\n @Optional() http: HttpClient) {\r\n if (parentModule) {\r\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\r\n }\r\n if (!http) {\r\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\r\n 'See also https://github.com/angular/angular/issues/20575');\r\n }\r\n }\r\n}\r\n","export * from './forecast.service';\r\nimport { ForecastService } from './forecast.service';\r\nexport * from './hello.service';\r\nimport { HelloService } from './hello.service';\r\nexport const APIS = [ForecastService, HelloService];\r\n","/**\r\n * NieuweStroom.Trading.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { DealResponse } from '../model/dealResponse';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DealsService {\r\n\r\n protected basePath = 'http://localhost:55366';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param whereGroupIdIsNull \r\n * @param whereAggressorIdIsNull \r\n * @param take \r\n * @param skip \r\n * @param whereOverrideIdIsNull \r\n * @param includeStatusses \r\n * @param includeTradingParties \r\n * @param includeVolumes \r\n * @param fullFamily \r\n * @param includePreceedingOverrides \r\n * @param includeSucceedingOverrides \r\n * @param id \r\n * @param groupId \r\n * @param creator \r\n * @param initiatorId \r\n * @param aggressorId \r\n * @param forecastFrom \r\n * @param forecastUntil \r\n * @param tradingPlatform \r\n * @param groupType \r\n * @param createdDateTimeFrom \r\n * @param createdDateTimeUntil \r\n * @param executionDayFrom \r\n * @param executionDayUntil \r\n * @param modifiedDateTimeFrom \r\n * @param modifiedDateTimeUntil \r\n * @param hasDealState \r\n * @param currentDealState \r\n * @param hasDealValidationState \r\n * @param currentDealValidationState \r\n * @param hasDealConfirmationState \r\n * @param currentDealConfirmationState \r\n * @param statusIncludes \r\n * @param modifier \r\n * @param modifierIncludes \r\n * @param logLevel \r\n * @param orderByExecutionDay \r\n * @param overrideId \r\n * @param isStatusActive \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public dealsGetDeals(whereGroupIdIsNull: boolean, whereAggressorIdIsNull: boolean, take: number, skip: number, whereOverrideIdIsNull: boolean, includeStatusses: boolean, includeTradingParties: boolean, includeVolumes: boolean, fullFamily: boolean, includePreceedingOverrides: boolean, includeSucceedingOverrides: boolean, id?: string, groupId?: string, creator?: Array, initiatorId?: string, aggressorId?: string, forecastFrom?: string, forecastUntil?: string, tradingPlatform?: Array, groupType?: Array, createdDateTimeFrom?: string, createdDateTimeUntil?: string, executionDayFrom?: string, executionDayUntil?: string, modifiedDateTimeFrom?: string, modifiedDateTimeUntil?: string, hasDealState?: Array, currentDealState?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90, hasDealValidationState?: Array, currentDealValidationState?: 10 | 20 | 30 | 40 | 50, hasDealConfirmationState?: Array, currentDealConfirmationState?: 10 | 20 | 30 | 40 | 50 | 60, statusIncludes?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90, modifier?: string, modifierIncludes?: string, logLevel?: 0 | 1 | 2 | 3 | 4 | 5 | 6, orderByExecutionDay?: boolean, overrideId?: string, isStatusActive?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public dealsGetDeals(whereGroupIdIsNull: boolean, whereAggressorIdIsNull: boolean, take: number, skip: number, whereOverrideIdIsNull: boolean, includeStatusses: boolean, includeTradingParties: boolean, includeVolumes: boolean, fullFamily: boolean, includePreceedingOverrides: boolean, includeSucceedingOverrides: boolean, id?: string, groupId?: string, creator?: Array, initiatorId?: string, aggressorId?: string, forecastFrom?: string, forecastUntil?: string, tradingPlatform?: Array, groupType?: Array, createdDateTimeFrom?: string, createdDateTimeUntil?: string, executionDayFrom?: string, executionDayUntil?: string, modifiedDateTimeFrom?: string, modifiedDateTimeUntil?: string, hasDealState?: Array, currentDealState?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90, hasDealValidationState?: Array, currentDealValidationState?: 10 | 20 | 30 | 40 | 50, hasDealConfirmationState?: Array, currentDealConfirmationState?: 10 | 20 | 30 | 40 | 50 | 60, statusIncludes?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90, modifier?: string, modifierIncludes?: string, logLevel?: 0 | 1 | 2 | 3 | 4 | 5 | 6, orderByExecutionDay?: boolean, overrideId?: string, isStatusActive?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public dealsGetDeals(whereGroupIdIsNull: boolean, whereAggressorIdIsNull: boolean, take: number, skip: number, whereOverrideIdIsNull: boolean, includeStatusses: boolean, includeTradingParties: boolean, includeVolumes: boolean, fullFamily: boolean, includePreceedingOverrides: boolean, includeSucceedingOverrides: boolean, id?: string, groupId?: string, creator?: Array, initiatorId?: string, aggressorId?: string, forecastFrom?: string, forecastUntil?: string, tradingPlatform?: Array, groupType?: Array, createdDateTimeFrom?: string, createdDateTimeUntil?: string, executionDayFrom?: string, executionDayUntil?: string, modifiedDateTimeFrom?: string, modifiedDateTimeUntil?: string, hasDealState?: Array, currentDealState?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90, hasDealValidationState?: Array, currentDealValidationState?: 10 | 20 | 30 | 40 | 50, hasDealConfirmationState?: Array, currentDealConfirmationState?: 10 | 20 | 30 | 40 | 50 | 60, statusIncludes?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90, modifier?: string, modifierIncludes?: string, logLevel?: 0 | 1 | 2 | 3 | 4 | 5 | 6, orderByExecutionDay?: boolean, overrideId?: string, isStatusActive?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public dealsGetDeals(whereGroupIdIsNull: boolean, whereAggressorIdIsNull: boolean, take: number, skip: number, whereOverrideIdIsNull: boolean, includeStatusses: boolean, includeTradingParties: boolean, includeVolumes: boolean, fullFamily: boolean, includePreceedingOverrides: boolean, includeSucceedingOverrides: boolean, id?: string, groupId?: string, creator?: Array, initiatorId?: string, aggressorId?: string, forecastFrom?: string, forecastUntil?: string, tradingPlatform?: Array, groupType?: Array, createdDateTimeFrom?: string, createdDateTimeUntil?: string, executionDayFrom?: string, executionDayUntil?: string, modifiedDateTimeFrom?: string, modifiedDateTimeUntil?: string, hasDealState?: Array, currentDealState?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90, hasDealValidationState?: Array, currentDealValidationState?: 10 | 20 | 30 | 40 | 50, hasDealConfirmationState?: Array, currentDealConfirmationState?: 10 | 20 | 30 | 40 | 50 | 60, statusIncludes?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90, modifier?: string, modifierIncludes?: string, logLevel?: 0 | 1 | 2 | 3 | 4 | 5 | 6, orderByExecutionDay?: boolean, overrideId?: string, isStatusActive?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (whereGroupIdIsNull === null || whereGroupIdIsNull === undefined) {\r\n throw new Error('Required parameter whereGroupIdIsNull was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (whereAggressorIdIsNull === null || whereAggressorIdIsNull === undefined) {\r\n throw new Error('Required parameter whereAggressorIdIsNull was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (take === null || take === undefined) {\r\n throw new Error('Required parameter take was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (skip === null || skip === undefined) {\r\n throw new Error('Required parameter skip was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (whereOverrideIdIsNull === null || whereOverrideIdIsNull === undefined) {\r\n throw new Error('Required parameter whereOverrideIdIsNull was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (includeStatusses === null || includeStatusses === undefined) {\r\n throw new Error('Required parameter includeStatusses was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (includeTradingParties === null || includeTradingParties === undefined) {\r\n throw new Error('Required parameter includeTradingParties was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (includeVolumes === null || includeVolumes === undefined) {\r\n throw new Error('Required parameter includeVolumes was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (fullFamily === null || fullFamily === undefined) {\r\n throw new Error('Required parameter fullFamily was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (includePreceedingOverrides === null || includePreceedingOverrides === undefined) {\r\n throw new Error('Required parameter includePreceedingOverrides was null or undefined when calling dealsGetDeals.');\r\n }\r\n if (includeSucceedingOverrides === null || includeSucceedingOverrides === undefined) {\r\n throw new Error('Required parameter includeSucceedingOverrides was null or undefined when calling dealsGetDeals.');\r\n }\r\n\r\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\r\n if (id !== undefined && id !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n id, 'Id');\r\n }\r\n if (groupId !== undefined && groupId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n groupId, 'GroupId');\r\n }\r\n if (whereGroupIdIsNull !== undefined && whereGroupIdIsNull !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n whereGroupIdIsNull, 'WhereGroupIdIsNull');\r\n }\r\n if (creator) {\r\n creator.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'Creator');\r\n })\r\n }\r\n if (initiatorId !== undefined && initiatorId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n initiatorId, 'InitiatorId');\r\n }\r\n if (aggressorId !== undefined && aggressorId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n aggressorId, 'AggressorId');\r\n }\r\n if (whereAggressorIdIsNull !== undefined && whereAggressorIdIsNull !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n whereAggressorIdIsNull, 'WhereAggressorIdIsNull');\r\n }\r\n if (forecastFrom !== undefined && forecastFrom !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n forecastFrom, 'ForecastFrom');\r\n }\r\n if (forecastUntil !== undefined && forecastUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n forecastUntil, 'ForecastUntil');\r\n }\r\n if (tradingPlatform) {\r\n tradingPlatform.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'TradingPlatform');\r\n })\r\n }\r\n if (groupType) {\r\n groupType.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'GroupType');\r\n })\r\n }\r\n if (createdDateTimeFrom !== undefined && createdDateTimeFrom !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n createdDateTimeFrom, 'CreatedDateTimeFrom');\r\n }\r\n if (createdDateTimeUntil !== undefined && createdDateTimeUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n createdDateTimeUntil, 'CreatedDateTimeUntil');\r\n }\r\n if (executionDayFrom !== undefined && executionDayFrom !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n executionDayFrom, 'ExecutionDayFrom');\r\n }\r\n if (executionDayUntil !== undefined && executionDayUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n executionDayUntil, 'ExecutionDayUntil');\r\n }\r\n if (modifiedDateTimeFrom !== undefined && modifiedDateTimeFrom !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedDateTimeFrom, 'ModifiedDateTimeFrom');\r\n }\r\n if (modifiedDateTimeUntil !== undefined && modifiedDateTimeUntil !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifiedDateTimeUntil, 'ModifiedDateTimeUntil');\r\n }\r\n if (hasDealState) {\r\n hasDealState.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'HasDealState');\r\n })\r\n }\r\n if (currentDealState !== undefined && currentDealState !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n currentDealState, 'CurrentDealState');\r\n }\r\n if (hasDealValidationState) {\r\n hasDealValidationState.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'HasDealValidationState');\r\n })\r\n }\r\n if (currentDealValidationState !== undefined && currentDealValidationState !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n currentDealValidationState, 'CurrentDealValidationState');\r\n }\r\n if (hasDealConfirmationState) {\r\n hasDealConfirmationState.forEach((element) => {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n element, 'HasDealConfirmationState');\r\n })\r\n }\r\n if (currentDealConfirmationState !== undefined && currentDealConfirmationState !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n currentDealConfirmationState, 'CurrentDealConfirmationState');\r\n }\r\n if (statusIncludes !== undefined && statusIncludes !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n statusIncludes, 'StatusIncludes');\r\n }\r\n if (modifier !== undefined && modifier !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifier, 'Modifier');\r\n }\r\n if (modifierIncludes !== undefined && modifierIncludes !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n modifierIncludes, 'ModifierIncludes');\r\n }\r\n if (logLevel !== undefined && logLevel !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n logLevel, 'LogLevel');\r\n }\r\n if (take !== undefined && take !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n take, 'Take');\r\n }\r\n if (skip !== undefined && skip !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n skip, 'Skip');\r\n }\r\n if (orderByExecutionDay !== undefined && orderByExecutionDay !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n orderByExecutionDay, 'OrderByExecutionDay');\r\n }\r\n if (overrideId !== undefined && overrideId !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n overrideId, 'OverrideId');\r\n }\r\n if (whereOverrideIdIsNull !== undefined && whereOverrideIdIsNull !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n whereOverrideIdIsNull, 'WhereOverrideIdIsNull');\r\n }\r\n if (isStatusActive !== undefined && isStatusActive !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n isStatusActive, 'IsStatusActive');\r\n }\r\n if (includeStatusses !== undefined && includeStatusses !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n includeStatusses, 'IncludeStatusses');\r\n }\r\n if (includeTradingParties !== undefined && includeTradingParties !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n includeTradingParties, 'IncludeTradingParties');\r\n }\r\n if (includeVolumes !== undefined && includeVolumes !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n includeVolumes, 'IncludeVolumes');\r\n }\r\n if (fullFamily !== undefined && fullFamily !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n fullFamily, 'FullFamily');\r\n }\r\n if (includePreceedingOverrides !== undefined && includePreceedingOverrides !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n includePreceedingOverrides, 'IncludePreceedingOverrides');\r\n }\r\n if (includeSucceedingOverrides !== undefined && includeSucceedingOverrides !== null) {\r\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\r\n includeSucceedingOverrides, 'IncludeSucceedingOverrides');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get>(`${this.configuration.basePath}/deals`,\r\n {\r\n context: localVarHttpContext,\r\n params: localVarQueryParameters,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n// @ts-ignore\r\nimport { AcceptClusterConnectionRecommendationCommand } from '../model/acceptClusterConnectionRecommendationCommand';\r\n// @ts-ignore\r\nimport { AggregationProgressRequest } from '../model/aggregationProgressRequest';\r\n// @ts-ignore\r\nimport { AggregationProgressResponse } from '../model/aggregationProgressResponse';\r\n// @ts-ignore\r\nimport { ClusterConnectionRecommendationRequest } from '../model/clusterConnectionRecommendationRequest';\r\n// @ts-ignore\r\nimport { ClusterConnectionRecommendationResponse } from '../model/clusterConnectionRecommendationResponse';\r\n// @ts-ignore\r\nimport { ClusterConnectionResponse } from '../model/clusterConnectionResponse';\r\n// @ts-ignore\r\nimport { ClusterGroupRequest } from '../model/clusterGroupRequest';\r\n// @ts-ignore\r\nimport { ClusterGroupResponse } from '../model/clusterGroupResponse';\r\n// @ts-ignore\r\nimport { ClusterManagementReportRequest } from '../model/clusterManagementReportRequest';\r\n// @ts-ignore\r\nimport { ClusterManagementReportResponse } from '../model/clusterManagementReportResponse';\r\n// @ts-ignore\r\nimport { ClusterPortfolioResponse } from '../model/clusterPortfolioResponse';\r\n// @ts-ignore\r\nimport { ClusterRequest } from '../model/clusterRequest';\r\n// @ts-ignore\r\nimport { ClusterResponse } from '../model/clusterResponse';\r\n// @ts-ignore\r\nimport { CollectedForecastDataQueryCommand } from '../model/collectedForecastDataQueryCommand';\r\n// @ts-ignore\r\nimport { CollectedForecastDataResponse } from '../model/collectedForecastDataResponse';\r\n// @ts-ignore\r\nimport { ConnectionGroupConsumptionQueryCommand } from '../model/connectionGroupConsumptionQueryCommand';\r\n// @ts-ignore\r\nimport { ConnectionGroupConsumptionResponse } from '../model/connectionGroupConsumptionResponse';\r\n// @ts-ignore\r\nimport { CreateClusterCommand } from '../model/createClusterCommand';\r\n// @ts-ignore\r\nimport { CreateClusterConnectionCommand } from '../model/createClusterConnectionCommand';\r\n// @ts-ignore\r\nimport { CreateClusterConnectionRecommendationCommand } from '../model/createClusterConnectionRecommendationCommand';\r\n// @ts-ignore\r\nimport { CreateClusterGroupCommand } from '../model/createClusterGroupCommand';\r\n// @ts-ignore\r\nimport { CreateClusterPortfolioCommand } from '../model/createClusterPortfolioCommand';\r\n// @ts-ignore\r\nimport { CreateForecasterCommand } from '../model/createForecasterCommand';\r\n// @ts-ignore\r\nimport { CreatePortfolioCommand } from '../model/createPortfolioCommand';\r\n// @ts-ignore\r\nimport { CreateResaleClusterCommand } from '../model/createResaleClusterCommand';\r\n// @ts-ignore\r\nimport { CreateResaleClusterConnectionCommand } from '../model/createResaleClusterConnectionCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterCommand } from '../model/deleteClusterCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterConnectionCommand } from '../model/deleteClusterConnectionCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterConnectionRecommendationCommand } from '../model/deleteClusterConnectionRecommendationCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterGroupCommand } from '../model/deleteClusterGroupCommand';\r\n// @ts-ignore\r\nimport { DeleteClusterPortfolioCommand } from '../model/deleteClusterPortfolioCommand';\r\n// @ts-ignore\r\nimport { DeleteForecasterCommand } from '../model/deleteForecasterCommand';\r\n// @ts-ignore\r\nimport { DeletePortfolioCommand } from '../model/deletePortfolioCommand';\r\n// @ts-ignore\r\nimport { DeleteResaleClusterCommand } from '../model/deleteResaleClusterCommand';\r\n// @ts-ignore\r\nimport { DeleteResaleClusterConnectionCommand } from '../model/deleteResaleClusterConnectionCommand';\r\n// @ts-ignore\r\nimport { EnappsysRequestCommand } from '../model/enappsysRequestCommand';\r\n// @ts-ignore\r\nimport { EnappsysResponseCommand } from '../model/enappsysResponseCommand';\r\n// @ts-ignore\r\nimport { ForecastDownloadRequest } from '../model/forecastDownloadRequest';\r\n// @ts-ignore\r\nimport { ForecastGetRequest } from '../model/forecastGetRequest';\r\n// @ts-ignore\r\nimport { ForecastResponse } from '../model/forecastResponse';\r\n// @ts-ignore\r\nimport { ForecasterRequest } from '../model/forecasterRequest';\r\n// @ts-ignore\r\nimport { ForecasterResponse } from '../model/forecasterResponse';\r\n// @ts-ignore\r\nimport { IgnoreClusterConnectionRecommendationCommand } from '../model/ignoreClusterConnectionRecommendationCommand';\r\n// @ts-ignore\r\nimport { LatestForecastRequest } from '../model/latestForecastRequest';\r\n// @ts-ignore\r\nimport { LatestForecastResponse } from '../model/latestForecastResponse';\r\n// @ts-ignore\r\nimport { MoveClusterCommand } from '../model/moveClusterCommand';\r\n// @ts-ignore\r\nimport { PortfolioRequest } from '../model/portfolioRequest';\r\n// @ts-ignore\r\nimport { PortfolioResponse } from '../model/portfolioResponse';\r\n// @ts-ignore\r\nimport { QueuedAssetDataRequest } from '../model/queuedAssetDataRequest';\r\n// @ts-ignore\r\nimport { QueuedAssetDataResponse } from '../model/queuedAssetDataResponse';\r\n// @ts-ignore\r\nimport { QueuedAssetProgressRequest } from '../model/queuedAssetProgressRequest';\r\n// @ts-ignore\r\nimport { QueuedAssetProgressResponse } from '../model/queuedAssetProgressResponse';\r\n// @ts-ignore\r\nimport { QueuedForecastDataRequest } from '../model/queuedForecastDataRequest';\r\n// @ts-ignore\r\nimport { QueuedForecastDataResponse } from '../model/queuedForecastDataResponse';\r\n// @ts-ignore\r\nimport { QueuedForecastProgressRequest } from '../model/queuedForecastProgressRequest';\r\n// @ts-ignore\r\nimport { QueuedForecastProgressResponse } from '../model/queuedForecastProgressResponse';\r\n// @ts-ignore\r\nimport { ResaleClusterConnectionResponse } from '../model/resaleClusterConnectionResponse';\r\n// @ts-ignore\r\nimport { ResaleClusterRequest } from '../model/resaleClusterRequest';\r\n// @ts-ignore\r\nimport { ResaleClusterResponse } from '../model/resaleClusterResponse';\r\n// @ts-ignore\r\nimport { UpdateClusterCommand } from '../model/updateClusterCommand';\r\n// @ts-ignore\r\nimport { UpdateClusterConnectionCommand } from '../model/updateClusterConnectionCommand';\r\n// @ts-ignore\r\nimport { UpdateClusterConnectionRecommendationCommand } from '../model/updateClusterConnectionRecommendationCommand';\r\n// @ts-ignore\r\nimport { UpdateClusterGroupCommand } from '../model/updateClusterGroupCommand';\r\n// @ts-ignore\r\nimport { UpdateForecasterCommand } from '../model/updateForecasterCommand';\r\n// @ts-ignore\r\nimport { UpdateForecastsInLegacyRequest } from '../model/updateForecastsInLegacyRequest';\r\n// @ts-ignore\r\nimport { UpdatePortfolioCommand } from '../model/updatePortfolioCommand';\r\n// @ts-ignore\r\nimport { UpdateResaleClusterCommand } from '../model/updateResaleClusterCommand';\r\n// @ts-ignore\r\nimport { UpdateResaleClusterConnectionCommand } from '../model/updateResaleClusterConnectionCommand';\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ForecastService {\r\n\r\n protected basePath = 'https://minimalapi.nieuwestroom.nl/trading/forecast';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param aggregationProgressRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastAggregationProgressGet(aggregationProgressRequest: AggregationProgressRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastAggregationProgressGet(aggregationProgressRequest: AggregationProgressRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastAggregationProgressGet(aggregationProgressRequest: AggregationProgressRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastAggregationProgressGet(aggregationProgressRequest: AggregationProgressRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (aggregationProgressRequest === null || aggregationProgressRequest === undefined) {\r\n throw new Error('Required parameter aggregationProgressRequest was null or undefined when calling forecastAggregationProgressGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/aggregationprogress/get`,\r\n aggregationProgressRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterConnectionCreate(createClusterConnectionCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterConnectionCreate(createClusterConnectionCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionCreate(createClusterConnectionCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionCreate(createClusterConnectionCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (createClusterConnectionCommand === null || createClusterConnectionCommand === undefined) {\r\n throw new Error('Required parameter createClusterConnectionCommand was null or undefined when calling forecastClusterConnectionCreate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterconnection/create`,\r\n createClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterConnectionDelete(deleteClusterConnectionCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterConnectionDelete(deleteClusterConnectionCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionDelete(deleteClusterConnectionCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionDelete(deleteClusterConnectionCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (deleteClusterConnectionCommand === null || deleteClusterConnectionCommand === undefined) {\r\n throw new Error('Required parameter deleteClusterConnectionCommand was null or undefined when calling forecastClusterConnectionDelete.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterconnection/delete`,\r\n deleteClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param acceptClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterConnectionRecommendationAccept(acceptClusterConnectionRecommendationCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterConnectionRecommendationAccept(acceptClusterConnectionRecommendationCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationAccept(acceptClusterConnectionRecommendationCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationAccept(acceptClusterConnectionRecommendationCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (acceptClusterConnectionRecommendationCommand === null || acceptClusterConnectionRecommendationCommand === undefined) {\r\n throw new Error('Required parameter acceptClusterConnectionRecommendationCommand was null or undefined when calling forecastClusterConnectionRecommendationAccept.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterconnectiontecommendation/accept`,\r\n acceptClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterConnectionRecommendationCreate(createClusterConnectionRecommendationCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterConnectionRecommendationCreate(createClusterConnectionRecommendationCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationCreate(createClusterConnectionRecommendationCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationCreate(createClusterConnectionRecommendationCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (createClusterConnectionRecommendationCommand === null || createClusterConnectionRecommendationCommand === undefined) {\r\n throw new Error('Required parameter createClusterConnectionRecommendationCommand was null or undefined when calling forecastClusterConnectionRecommendationCreate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterconnectiontecommendation/create`,\r\n createClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterConnectionRecommendationDelete(deleteClusterConnectionRecommendationCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterConnectionRecommendationDelete(deleteClusterConnectionRecommendationCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationDelete(deleteClusterConnectionRecommendationCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationDelete(deleteClusterConnectionRecommendationCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (deleteClusterConnectionRecommendationCommand === null || deleteClusterConnectionRecommendationCommand === undefined) {\r\n throw new Error('Required parameter deleteClusterConnectionRecommendationCommand was null or undefined when calling forecastClusterConnectionRecommendationDelete.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterconnectiontecommendation/delete`,\r\n deleteClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param clusterConnectionRecommendationRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterConnectionRecommendationGet(clusterConnectionRecommendationRequest: ClusterConnectionRecommendationRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterConnectionRecommendationGet(clusterConnectionRecommendationRequest: ClusterConnectionRecommendationRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationGet(clusterConnectionRecommendationRequest: ClusterConnectionRecommendationRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationGet(clusterConnectionRecommendationRequest: ClusterConnectionRecommendationRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (clusterConnectionRecommendationRequest === null || clusterConnectionRecommendationRequest === undefined) {\r\n throw new Error('Required parameter clusterConnectionRecommendationRequest was null or undefined when calling forecastClusterConnectionRecommendationGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterconnectiontecommendation/get`,\r\n clusterConnectionRecommendationRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param ignoreClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterConnectionRecommendationIgnore(ignoreClusterConnectionRecommendationCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterConnectionRecommendationIgnore(ignoreClusterConnectionRecommendationCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationIgnore(ignoreClusterConnectionRecommendationCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationIgnore(ignoreClusterConnectionRecommendationCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (ignoreClusterConnectionRecommendationCommand === null || ignoreClusterConnectionRecommendationCommand === undefined) {\r\n throw new Error('Required parameter ignoreClusterConnectionRecommendationCommand was null or undefined when calling forecastClusterConnectionRecommendationIgnore.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterconnectiontecommendation/ignore`,\r\n ignoreClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateClusterConnectionRecommendationCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterConnectionRecommendationUpdate(updateClusterConnectionRecommendationCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterConnectionRecommendationUpdate(updateClusterConnectionRecommendationCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationUpdate(updateClusterConnectionRecommendationCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionRecommendationUpdate(updateClusterConnectionRecommendationCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (updateClusterConnectionRecommendationCommand === null || updateClusterConnectionRecommendationCommand === undefined) {\r\n throw new Error('Required parameter updateClusterConnectionRecommendationCommand was null or undefined when calling forecastClusterConnectionRecommendationUpdate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterconnectiontecommendation/update`,\r\n updateClusterConnectionRecommendationCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterConnectionUpdate(updateClusterConnectionCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterConnectionUpdate(updateClusterConnectionCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionUpdate(updateClusterConnectionCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterConnectionUpdate(updateClusterConnectionCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (updateClusterConnectionCommand === null || updateClusterConnectionCommand === undefined) {\r\n throw new Error('Required parameter updateClusterConnectionCommand was null or undefined when calling forecastClusterConnectionUpdate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterconnection/update`,\r\n updateClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterCreate(createClusterCommand: CreateClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastClusterCreate(createClusterCommand: CreateClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterCreate(createClusterCommand: CreateClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterCreate(createClusterCommand: CreateClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (createClusterCommand === null || createClusterCommand === undefined) {\r\n throw new Error('Required parameter createClusterCommand was null or undefined when calling forecastClusterCreate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/cluster/create`,\r\n createClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterDelete(deleteClusterCommand: DeleteClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastClusterDelete(deleteClusterCommand: DeleteClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterDelete(deleteClusterCommand: DeleteClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterDelete(deleteClusterCommand: DeleteClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (deleteClusterCommand === null || deleteClusterCommand === undefined) {\r\n throw new Error('Required parameter deleteClusterCommand was null or undefined when calling forecastClusterDelete.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/cluster/delete`,\r\n deleteClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param clusterRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterGet(clusterRequest: ClusterRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterGet(clusterRequest: ClusterRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterGet(clusterRequest: ClusterRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterGet(clusterRequest: ClusterRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (clusterRequest === null || clusterRequest === undefined) {\r\n throw new Error('Required parameter clusterRequest was null or undefined when calling forecastClusterGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/cluster/get`,\r\n clusterRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createClusterGroupCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterGroupCreate(createClusterGroupCommand: CreateClusterGroupCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastClusterGroupCreate(createClusterGroupCommand: CreateClusterGroupCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterGroupCreate(createClusterGroupCommand: CreateClusterGroupCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterGroupCreate(createClusterGroupCommand: CreateClusterGroupCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (createClusterGroupCommand === null || createClusterGroupCommand === undefined) {\r\n throw new Error('Required parameter createClusterGroupCommand was null or undefined when calling forecastClusterGroupCreate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/clustergroup/create`,\r\n createClusterGroupCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterGroupCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterGroupDelete(deleteClusterGroupCommand: DeleteClusterGroupCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastClusterGroupDelete(deleteClusterGroupCommand: DeleteClusterGroupCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterGroupDelete(deleteClusterGroupCommand: DeleteClusterGroupCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterGroupDelete(deleteClusterGroupCommand: DeleteClusterGroupCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (deleteClusterGroupCommand === null || deleteClusterGroupCommand === undefined) {\r\n throw new Error('Required parameter deleteClusterGroupCommand was null or undefined when calling forecastClusterGroupDelete.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/clustergroup/delete`,\r\n deleteClusterGroupCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param clusterGroupRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterGroupGet(clusterGroupRequest: ClusterGroupRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterGroupGet(clusterGroupRequest: ClusterGroupRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterGroupGet(clusterGroupRequest: ClusterGroupRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterGroupGet(clusterGroupRequest: ClusterGroupRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (clusterGroupRequest === null || clusterGroupRequest === undefined) {\r\n throw new Error('Required parameter clusterGroupRequest was null or undefined when calling forecastClusterGroupGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clustergroup/get`,\r\n clusterGroupRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateClusterGroupCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterGroupUpdate(updateClusterGroupCommand: UpdateClusterGroupCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastClusterGroupUpdate(updateClusterGroupCommand: UpdateClusterGroupCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterGroupUpdate(updateClusterGroupCommand: UpdateClusterGroupCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterGroupUpdate(updateClusterGroupCommand: UpdateClusterGroupCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (updateClusterGroupCommand === null || updateClusterGroupCommand === undefined) {\r\n throw new Error('Required parameter updateClusterGroupCommand was null or undefined when calling forecastClusterGroupUpdate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/clustergroup/update`,\r\n updateClusterGroupCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param clusterManagementReportRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterManagementReportGet(clusterManagementReportRequest: ClusterManagementReportRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastClusterManagementReportGet(clusterManagementReportRequest: ClusterManagementReportRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterManagementReportGet(clusterManagementReportRequest: ClusterManagementReportRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterManagementReportGet(clusterManagementReportRequest: ClusterManagementReportRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (clusterManagementReportRequest === null || clusterManagementReportRequest === undefined) {\r\n throw new Error('Required parameter clusterManagementReportRequest was null or undefined when calling forecastClusterManagementReportGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/clustermanagementreport/get`,\r\n clusterManagementReportRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param moveClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterMove(moveClusterCommand: MoveClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastClusterMove(moveClusterCommand: MoveClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterMove(moveClusterCommand: MoveClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterMove(moveClusterCommand: MoveClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (moveClusterCommand === null || moveClusterCommand === undefined) {\r\n throw new Error('Required parameter moveClusterCommand was null or undefined when calling forecastClusterMove.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/cluster/move`,\r\n moveClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createClusterPortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterPortfolioCreate(createClusterPortfolioCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterPortfolioCreate(createClusterPortfolioCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterPortfolioCreate(createClusterPortfolioCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterPortfolioCreate(createClusterPortfolioCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (createClusterPortfolioCommand === null || createClusterPortfolioCommand === undefined) {\r\n throw new Error('Required parameter createClusterPortfolioCommand was null or undefined when calling forecastClusterPortfolioCreate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterportfolio/create`,\r\n createClusterPortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteClusterPortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterPortfolioDelete(deleteClusterPortfolioCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterPortfolioDelete(deleteClusterPortfolioCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterPortfolioDelete(deleteClusterPortfolioCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastClusterPortfolioDelete(deleteClusterPortfolioCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (deleteClusterPortfolioCommand === null || deleteClusterPortfolioCommand === undefined) {\r\n throw new Error('Required parameter deleteClusterPortfolioCommand was null or undefined when calling forecastClusterPortfolioDelete.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/clusterportfolio/delete`,\r\n deleteClusterPortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastClusterUpdate(updateClusterCommand: UpdateClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastClusterUpdate(updateClusterCommand: UpdateClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterUpdate(updateClusterCommand: UpdateClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastClusterUpdate(updateClusterCommand: UpdateClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (updateClusterCommand === null || updateClusterCommand === undefined) {\r\n throw new Error('Required parameter updateClusterCommand was null or undefined when calling forecastClusterUpdate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/cluster/update`,\r\n updateClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param collectedForecastDataQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastCollectedForecastDataGet(collectedForecastDataQueryCommand: CollectedForecastDataQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastCollectedForecastDataGet(collectedForecastDataQueryCommand: CollectedForecastDataQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastCollectedForecastDataGet(collectedForecastDataQueryCommand: CollectedForecastDataQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastCollectedForecastDataGet(collectedForecastDataQueryCommand: CollectedForecastDataQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (collectedForecastDataQueryCommand === null || collectedForecastDataQueryCommand === undefined) {\r\n throw new Error('Required parameter collectedForecastDataQueryCommand was null or undefined when calling forecastCollectedForecastDataGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/collectedforecastdata/get`,\r\n collectedForecastDataQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param connectionGroupConsumptionQueryCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastConnectionGroupConsumptionGet(connectionGroupConsumptionQueryCommand: ConnectionGroupConsumptionQueryCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastConnectionGroupConsumptionGet(connectionGroupConsumptionQueryCommand: ConnectionGroupConsumptionQueryCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastConnectionGroupConsumptionGet(connectionGroupConsumptionQueryCommand: ConnectionGroupConsumptionQueryCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastConnectionGroupConsumptionGet(connectionGroupConsumptionQueryCommand: ConnectionGroupConsumptionQueryCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (connectionGroupConsumptionQueryCommand === null || connectionGroupConsumptionQueryCommand === undefined) {\r\n throw new Error('Required parameter connectionGroupConsumptionQueryCommand was null or undefined when calling forecastConnectionGroupConsumptionGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/connectiongroupconsumption/get`,\r\n connectionGroupConsumptionQueryCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param forecastDownloadRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastDownloadForecastGet(forecastDownloadRequest: ForecastDownloadRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable;\r\n public forecastDownloadForecastGet(forecastDownloadRequest: ForecastDownloadRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public forecastDownloadForecastGet(forecastDownloadRequest: ForecastDownloadRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public forecastDownloadForecastGet(forecastDownloadRequest: ForecastDownloadRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable {\r\n if (forecastDownloadRequest === null || forecastDownloadRequest === undefined) {\r\n throw new Error('Required parameter forecastDownloadRequest was null or undefined when calling forecastDownloadForecastGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/downloadforecast/get`,\r\n forecastDownloadRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param enappsysRequestCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastEnappsysForecastGet(enappsysRequestCommand: EnappsysRequestCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastEnappsysForecastGet(enappsysRequestCommand: EnappsysRequestCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastEnappsysForecastGet(enappsysRequestCommand: EnappsysRequestCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastEnappsysForecastGet(enappsysRequestCommand: EnappsysRequestCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (enappsysRequestCommand === null || enappsysRequestCommand === undefined) {\r\n throw new Error('Required parameter enappsysRequestCommand was null or undefined when calling forecastEnappsysForecastGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/enappsysforecast/get`,\r\n enappsysRequestCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param forecastGetRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastForecastGet(forecastGetRequest: ForecastGetRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastForecastGet(forecastGetRequest: ForecastGetRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastForecastGet(forecastGetRequest: ForecastGetRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastForecastGet(forecastGetRequest: ForecastGetRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (forecastGetRequest === null || forecastGetRequest === undefined) {\r\n throw new Error('Required parameter forecastGetRequest was null or undefined when calling forecastForecastGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/forecast/get`,\r\n forecastGetRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createForecasterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastForecasterCreate(createForecasterCommand: CreateForecasterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastForecasterCreate(createForecasterCommand: CreateForecasterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastForecasterCreate(createForecasterCommand: CreateForecasterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastForecasterCreate(createForecasterCommand: CreateForecasterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (createForecasterCommand === null || createForecasterCommand === undefined) {\r\n throw new Error('Required parameter createForecasterCommand was null or undefined when calling forecastForecasterCreate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/forecaster/create`,\r\n createForecasterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteForecasterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastForecasterDelete(deleteForecasterCommand: DeleteForecasterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastForecasterDelete(deleteForecasterCommand: DeleteForecasterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastForecasterDelete(deleteForecasterCommand: DeleteForecasterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastForecasterDelete(deleteForecasterCommand: DeleteForecasterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (deleteForecasterCommand === null || deleteForecasterCommand === undefined) {\r\n throw new Error('Required parameter deleteForecasterCommand was null or undefined when calling forecastForecasterDelete.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/forecaster/delete`,\r\n deleteForecasterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param forecasterRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastForecasterGet(forecasterRequest: ForecasterRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastForecasterGet(forecasterRequest: ForecasterRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastForecasterGet(forecasterRequest: ForecasterRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastForecasterGet(forecasterRequest: ForecasterRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (forecasterRequest === null || forecasterRequest === undefined) {\r\n throw new Error('Required parameter forecasterRequest was null or undefined when calling forecastForecasterGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/forecaster/get`,\r\n forecasterRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateForecasterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastForecasterUpdate(updateForecasterCommand: UpdateForecasterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastForecasterUpdate(updateForecasterCommand: UpdateForecasterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastForecasterUpdate(updateForecasterCommand: UpdateForecasterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastForecasterUpdate(updateForecasterCommand: UpdateForecasterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (updateForecasterCommand === null || updateForecasterCommand === undefined) {\r\n throw new Error('Required parameter updateForecasterCommand was null or undefined when calling forecastForecasterUpdate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/forecaster/update`,\r\n updateForecasterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param latestForecastRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastLatestForecastGet(latestForecastRequest: LatestForecastRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastLatestForecastGet(latestForecastRequest: LatestForecastRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastLatestForecastGet(latestForecastRequest: LatestForecastRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastLatestForecastGet(latestForecastRequest: LatestForecastRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (latestForecastRequest === null || latestForecastRequest === undefined) {\r\n throw new Error('Required parameter latestForecastRequest was null or undefined when calling forecastLatestForecastGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/latestforecast/get`,\r\n latestForecastRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createPortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastPortfolioCreate(createPortfolioCommand: CreatePortfolioCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastPortfolioCreate(createPortfolioCommand: CreatePortfolioCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastPortfolioCreate(createPortfolioCommand: CreatePortfolioCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastPortfolioCreate(createPortfolioCommand: CreatePortfolioCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (createPortfolioCommand === null || createPortfolioCommand === undefined) {\r\n throw new Error('Required parameter createPortfolioCommand was null or undefined when calling forecastPortfolioCreate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/portfolio/create`,\r\n createPortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deletePortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastPortfolioDelete(deletePortfolioCommand: DeletePortfolioCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastPortfolioDelete(deletePortfolioCommand: DeletePortfolioCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastPortfolioDelete(deletePortfolioCommand: DeletePortfolioCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastPortfolioDelete(deletePortfolioCommand: DeletePortfolioCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (deletePortfolioCommand === null || deletePortfolioCommand === undefined) {\r\n throw new Error('Required parameter deletePortfolioCommand was null or undefined when calling forecastPortfolioDelete.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/portfolio/delete`,\r\n deletePortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param portfolioRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastPortfolioGet(portfolioRequest: PortfolioRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastPortfolioGet(portfolioRequest: PortfolioRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastPortfolioGet(portfolioRequest: PortfolioRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastPortfolioGet(portfolioRequest: PortfolioRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (portfolioRequest === null || portfolioRequest === undefined) {\r\n throw new Error('Required parameter portfolioRequest was null or undefined when calling forecastPortfolioGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/portfolio/get`,\r\n portfolioRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updatePortfolioCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastPortfolioUpdate(updatePortfolioCommand: UpdatePortfolioCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastPortfolioUpdate(updatePortfolioCommand: UpdatePortfolioCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastPortfolioUpdate(updatePortfolioCommand: UpdatePortfolioCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastPortfolioUpdate(updatePortfolioCommand: UpdatePortfolioCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (updatePortfolioCommand === null || updatePortfolioCommand === undefined) {\r\n throw new Error('Required parameter updatePortfolioCommand was null or undefined when calling forecastPortfolioUpdate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/portfolio/update`,\r\n updatePortfolioCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param queuedAssetDataRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastQueuedAssetDataGet(queuedAssetDataRequest: QueuedAssetDataRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastQueuedAssetDataGet(queuedAssetDataRequest: QueuedAssetDataRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastQueuedAssetDataGet(queuedAssetDataRequest: QueuedAssetDataRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastQueuedAssetDataGet(queuedAssetDataRequest: QueuedAssetDataRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (queuedAssetDataRequest === null || queuedAssetDataRequest === undefined) {\r\n throw new Error('Required parameter queuedAssetDataRequest was null or undefined when calling forecastQueuedAssetDataGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/queuedassetdata/get`,\r\n queuedAssetDataRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param queuedAssetProgressRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastQueuedAssetProgressGet(queuedAssetProgressRequest: QueuedAssetProgressRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastQueuedAssetProgressGet(queuedAssetProgressRequest: QueuedAssetProgressRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastQueuedAssetProgressGet(queuedAssetProgressRequest: QueuedAssetProgressRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastQueuedAssetProgressGet(queuedAssetProgressRequest: QueuedAssetProgressRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (queuedAssetProgressRequest === null || queuedAssetProgressRequest === undefined) {\r\n throw new Error('Required parameter queuedAssetProgressRequest was null or undefined when calling forecastQueuedAssetProgressGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/queuedassetprogress/get`,\r\n queuedAssetProgressRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param queuedForecastDataRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastQueuedForecastDataGet(queuedForecastDataRequest: QueuedForecastDataRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastQueuedForecastDataGet(queuedForecastDataRequest: QueuedForecastDataRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastQueuedForecastDataGet(queuedForecastDataRequest: QueuedForecastDataRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastQueuedForecastDataGet(queuedForecastDataRequest: QueuedForecastDataRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (queuedForecastDataRequest === null || queuedForecastDataRequest === undefined) {\r\n throw new Error('Required parameter queuedForecastDataRequest was null or undefined when calling forecastQueuedForecastDataGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/queuedforecastdata/get`,\r\n queuedForecastDataRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param queuedForecastProgressRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastQueuedForecastProgressGet(queuedForecastProgressRequest: QueuedForecastProgressRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastQueuedForecastProgressGet(queuedForecastProgressRequest: QueuedForecastProgressRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastQueuedForecastProgressGet(queuedForecastProgressRequest: QueuedForecastProgressRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastQueuedForecastProgressGet(queuedForecastProgressRequest: QueuedForecastProgressRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (queuedForecastProgressRequest === null || queuedForecastProgressRequest === undefined) {\r\n throw new Error('Required parameter queuedForecastProgressRequest was null or undefined when calling forecastQueuedForecastProgressGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/queuedforecastprogress/get`,\r\n queuedForecastProgressRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createResaleClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastResaleClusterConnectionCreate(createResaleClusterConnectionCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterConnectionCreate(createResaleClusterConnectionCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastResaleClusterConnectionCreate(createResaleClusterConnectionCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastResaleClusterConnectionCreate(createResaleClusterConnectionCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (createResaleClusterConnectionCommand === null || createResaleClusterConnectionCommand === undefined) {\r\n throw new Error('Required parameter createResaleClusterConnectionCommand was null or undefined when calling forecastResaleClusterConnectionCreate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/resaleclusterconnection/create`,\r\n createResaleClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteResaleClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastResaleClusterConnectionDelete(deleteResaleClusterConnectionCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterConnectionDelete(deleteResaleClusterConnectionCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastResaleClusterConnectionDelete(deleteResaleClusterConnectionCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastResaleClusterConnectionDelete(deleteResaleClusterConnectionCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (deleteResaleClusterConnectionCommand === null || deleteResaleClusterConnectionCommand === undefined) {\r\n throw new Error('Required parameter deleteResaleClusterConnectionCommand was null or undefined when calling forecastResaleClusterConnectionDelete.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/resaleclusterconnection/delete`,\r\n deleteResaleClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateResaleClusterConnectionCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastResaleClusterConnectionUpdate(updateResaleClusterConnectionCommand: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterConnectionUpdate(updateResaleClusterConnectionCommand: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastResaleClusterConnectionUpdate(updateResaleClusterConnectionCommand: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastResaleClusterConnectionUpdate(updateResaleClusterConnectionCommand: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (updateResaleClusterConnectionCommand === null || updateResaleClusterConnectionCommand === undefined) {\r\n throw new Error('Required parameter updateResaleClusterConnectionCommand was null or undefined when calling forecastResaleClusterConnectionUpdate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/resaleclusterconnection/update`,\r\n updateResaleClusterConnectionCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param createResaleClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastResaleClusterCreate(createResaleClusterCommand: CreateResaleClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastResaleClusterCreate(createResaleClusterCommand: CreateResaleClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterCreate(createResaleClusterCommand: CreateResaleClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterCreate(createResaleClusterCommand: CreateResaleClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (createResaleClusterCommand === null || createResaleClusterCommand === undefined) {\r\n throw new Error('Required parameter createResaleClusterCommand was null or undefined when calling forecastResaleClusterCreate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/resalecluster/create`,\r\n createResaleClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param deleteResaleClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastResaleClusterDelete(deleteResaleClusterCommand: DeleteResaleClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastResaleClusterDelete(deleteResaleClusterCommand: DeleteResaleClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterDelete(deleteResaleClusterCommand: DeleteResaleClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterDelete(deleteResaleClusterCommand: DeleteResaleClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (deleteResaleClusterCommand === null || deleteResaleClusterCommand === undefined) {\r\n throw new Error('Required parameter deleteResaleClusterCommand was null or undefined when calling forecastResaleClusterDelete.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/resalecluster/delete`,\r\n deleteResaleClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param resaleClusterRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastResaleClusterGet(resaleClusterRequest: ResaleClusterRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterGet(resaleClusterRequest: ResaleClusterRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastResaleClusterGet(resaleClusterRequest: ResaleClusterRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;\r\n public forecastResaleClusterGet(resaleClusterRequest: ResaleClusterRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (resaleClusterRequest === null || resaleClusterRequest === undefined) {\r\n throw new Error('Required parameter resaleClusterRequest was null or undefined when calling forecastResaleClusterGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post>(`${this.configuration.basePath}/forecast/resalecluster/get`,\r\n resaleClusterRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateResaleClusterCommand \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastResaleClusterUpdate(updateResaleClusterCommand: UpdateResaleClusterCommand, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;\r\n public forecastResaleClusterUpdate(updateResaleClusterCommand: UpdateResaleClusterCommand, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterUpdate(updateResaleClusterCommand: UpdateResaleClusterCommand, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;\r\n public forecastResaleClusterUpdate(updateResaleClusterCommand: UpdateResaleClusterCommand, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {\r\n if (updateResaleClusterCommand === null || updateResaleClusterCommand === undefined) {\r\n throw new Error('Required parameter updateResaleClusterCommand was null or undefined when calling forecastResaleClusterUpdate.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/resalecluster/update`,\r\n updateResaleClusterCommand,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastTriggerForecastDownloadTrigger(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable;\r\n public forecastTriggerForecastDownloadTrigger(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public forecastTriggerForecastDownloadTrigger(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public forecastTriggerForecastDownloadTrigger(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/triggerforecastdownload/trigger`,\r\n null,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @param updateForecastsInLegacyRequest \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public forecastUpdateForecastInLegacyGet(updateForecastsInLegacyRequest: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable;\r\n public forecastUpdateForecastInLegacyGet(updateForecastsInLegacyRequest: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public forecastUpdateForecastInLegacyGet(updateForecastsInLegacyRequest: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public forecastUpdateForecastInLegacyGet(updateForecastsInLegacyRequest: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable {\r\n if (updateForecastsInLegacyRequest === null || updateForecastsInLegacyRequest === undefined) {\r\n throw new Error('Required parameter updateForecastsInLegacyRequest was null or undefined when calling forecastUpdateForecastInLegacyGet.');\r\n }\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarCredential: string | undefined;\r\n // authentication (JWTBearerAuth) required\r\n localVarCredential = this.configuration.lookupCredential('JWTBearerAuth');\r\n if (localVarCredential) {\r\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\r\n }\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.post(`${this.configuration.basePath}/forecast/forecastinlegacy/update`,\r\n updateForecastsInLegacyRequest,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \r\n } from '@angular/common/http';\r\nimport { CustomHttpParameterCodec } from '../encoder';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n// @ts-ignore\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HelloService {\r\n\r\n protected basePath = 'https://minimalapi.nieuwestroom.nl/trading/forecast';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n public encoder: HttpParameterCodec;\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (configuration) {\r\n this.configuration = configuration;\r\n }\r\n if (typeof this.configuration.basePath !== 'string') {\r\n if (typeof basePath !== 'string') {\r\n basePath = this.basePath;\r\n }\r\n this.configuration.basePath = basePath;\r\n }\r\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\r\n }\r\n\r\n\r\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\r\n if (typeof value === \"object\" && value instanceof Date === false) {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\r\n } else {\r\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\r\n }\r\n return httpParams;\r\n }\r\n\r\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\r\n if (value == null) {\r\n return httpParams;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n if (Array.isArray(value)) {\r\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\r\n } else if (value instanceof Date) {\r\n if (key != null) {\r\n httpParams = httpParams.append(key,\r\n (value as Date).toISOString().substr(0, 10));\r\n } else {\r\n throw Error(\"key may not be null if value is Date\");\r\n }\r\n } else {\r\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\r\n httpParams, value[k], key != null ? `${key}.${k}` : k));\r\n }\r\n } else if (key != null) {\r\n httpParams = httpParams.append(key, value);\r\n } else {\r\n throw Error(\"key may not be null if value is not object or array\");\r\n }\r\n return httpParams;\r\n }\r\n\r\n /**\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public baseGetHello(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable;\r\n public baseGetHello(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public baseGetHello(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable>;\r\n public baseGetHello(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable {\r\n\r\n let localVarHeaders = this.defaultHeaders;\r\n\r\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\r\n if (localVarHttpHeaderAcceptSelected === undefined) {\r\n // to determine the Accept header\r\n const httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json'\r\n ];\r\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n }\r\n if (localVarHttpHeaderAcceptSelected !== undefined) {\r\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\r\n }\r\n\r\n let localVarHttpContext: HttpContext | undefined = options && options.context;\r\n if (localVarHttpContext === undefined) {\r\n localVarHttpContext = new HttpContext();\r\n }\r\n\r\n\r\n let responseType_: 'text' | 'json' | 'blob' = 'json';\r\n if (localVarHttpHeaderAcceptSelected) {\r\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\r\n responseType_ = 'text';\r\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\r\n responseType_ = 'json';\r\n } else {\r\n responseType_ = 'blob';\r\n }\r\n }\r\n\r\n return this.httpClient.get(`${this.configuration.basePath}/hello`,\r\n {\r\n context: localVarHttpContext,\r\n responseType: responseType_,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: localVarHeaders,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport interface ConfigurationParameters {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials?: {[ key: string ]: string | (() => string | undefined)};\r\n}\r\n\r\nexport class Configuration {\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n /**\r\n * @deprecated Since 5.0. Use credentials instead\r\n */\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n encoder?: HttpParameterCodec;\r\n /**\r\n * The keys are the names in the securitySchemes section of the OpenAPI\r\n * document. They should map to the value used for authentication\r\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\r\n */\r\n credentials: {[ key: string ]: string | (() => string | undefined)};\r\n\r\n constructor(configurationParameters: ConfigurationParameters = {}) {\r\n this.apiKeys = configurationParameters.apiKeys;\r\n this.username = configurationParameters.username;\r\n this.password = configurationParameters.password;\r\n this.accessToken = configurationParameters.accessToken;\r\n this.basePath = configurationParameters.basePath;\r\n this.withCredentials = configurationParameters.withCredentials;\r\n this.encoder = configurationParameters.encoder;\r\n if (configurationParameters.credentials) {\r\n this.credentials = configurationParameters.credentials;\r\n }\r\n else {\r\n this.credentials = {};\r\n }\r\n\r\n // init default JWTBearerAuth credential\r\n if (!this.credentials['JWTBearerAuth']) {\r\n this.credentials['JWTBearerAuth'] = () => {\r\n return typeof this.accessToken === 'function'\r\n ? this.accessToken()\r\n : this.accessToken;\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Select the correct content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param contentTypes - the array of content types that are available for selection\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\r\n if (contentTypes.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return contentTypes[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Select the correct accept content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param accepts - the array of content types that are available for selection.\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderAccept(accepts: string[]): string | undefined {\r\n if (accepts.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const type = accepts.find((x: string) => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return accepts[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Check if the given MIME is a JSON MIME.\r\n * JSON MIME examples:\r\n * application/json\r\n * application/json; charset=UTF8\r\n * APPLICATION/JSON\r\n * application/vnd.company+json\r\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\r\n * @return True if the given MIME is JSON, false otherwise.\r\n */\r\n public isJsonMime(mime: string): boolean {\r\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\r\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\r\n }\r\n\r\n public lookupCredential(key: string): string | undefined {\r\n const value = this.credentials[key];\r\n return typeof value === 'function'\r\n ? value()\r\n : value;\r\n }\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\n/**\r\n * Custom HttpParameterCodec\r\n * Workaround for https://github.com/angular/angular/issues/18261\r\n */\r\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\r\n encodeKey(k: string): string {\r\n return encodeURIComponent(k);\r\n }\r\n encodeValue(v: string): string {\r\n return encodeURIComponent(v);\r\n }\r\n decodeKey(k: string): string {\r\n return decodeURIComponent(k);\r\n }\r\n decodeValue(v: string): string {\r\n return decodeURIComponent(v);\r\n }\r\n}\r\n","export * from './api/api';\r\nexport * from './model/models';\r\nexport * from './variables';\r\nexport * from './configuration';\r\nexport * from './api.module';","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface AcceptClusterConnectionRecommendationCommand { \r\n id?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface AggregationProgressRequestAllOf { \r\n id?: string | null;\r\n groupId?: string | null;\r\n subType?: string | null;\r\n historicallyCorrect?: boolean | null;\r\n aggregationDateFrom?: string | null;\r\n aggregationDateUntil?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface AggregationProgressResponse { \r\n id?: string;\r\n groupId?: string;\r\n subType?: string;\r\n aggregationDate?: string;\r\n progressDate?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface BaseRequestCondition { \r\n skip?: number | null;\r\n take?: number | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type BoundaryType = 'Open' | 'Closed';\r\n\r\nexport const BoundaryType = {\r\n Open: 'Open' as BoundaryType,\r\n Closed: 'Closed' as BoundaryType\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ClusterGroupRequestAllOf { \r\n id?: string | null;\r\n name?: string | null;\r\n includeClusters?: boolean;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ClusterManagementReportRequest { \r\n referenceDate?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateClusterConnectionCommand { \r\n clusterId?: string;\r\n connectionId?: number;\r\n from?: string;\r\n until?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateClusterConnectionRecommendationCommand { \r\n connectionId?: number;\r\n currentClusterId?: string;\r\n recommendedClusterId?: string;\r\n from?: string;\r\n until?: string | null;\r\n reason?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateClusterGroupCommand { \r\n name?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateClusterPortfolioCommand { \r\n clusterId?: string;\r\n portfolioId?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateForecasterCommand { \r\n name?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreatePortfolioCommand { \r\n name?: string;\r\n forecasterId?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface CreateResaleClusterConnectionCommand { \r\n resaleClusterId?: string;\r\n connectionId?: number;\r\n from?: string;\r\n until?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteClusterCommand { \r\n id?: string | null;\r\n name?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteClusterConnectionCommand { \r\n id?: string | null;\r\n clusterId?: string | null;\r\n connectionId?: number | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteClusterConnectionRecommendationCommand { \r\n id?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteClusterGroupCommand { \r\n id?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteForecasterCommand { \r\n id?: string | null;\r\n name?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeletePortfolioCommand { \r\n id?: string | null;\r\n name?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteResaleClusterCommand { \r\n id?: string | null;\r\n name?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DeleteResaleClusterConnectionCommand { \r\n id?: string | null;\r\n resaleClusterId?: string | null;\r\n connectionId?: number | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type EnappsysCurrency = 'EUR';\r\n\r\nexport const EnappsysCurrency = {\r\n Eur: 'EUR' as EnappsysCurrency\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type EnappsysFileType = 'csv';\r\n\r\nexport const EnappsysFileType = {\r\n Csv: 'csv' as EnappsysFileType\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type EnappsysForecastType = 'solar';\r\n\r\nexport const EnappsysForecastType = {\r\n Solar: 'solar' as EnappsysForecastType\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type EnappsysGranularity = 'hourly';\r\n\r\nexport const EnappsysGranularity = {\r\n Hourly: 'hourly' as EnappsysGranularity\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface EnappsysResponseCommand { \r\n stringContent?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type EnappsysTimeZone = 'CET';\r\n\r\nexport const EnappsysTimeZone = {\r\n Cet: 'CET' as EnappsysTimeZone\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ForecastActualDataType = 'AssetCount' | 'ConsumptionLow' | 'ProductionLow' | 'ProsumptionLow' | 'ConsumptionNormal' | 'ProductionNormal' | 'ProsumptionNormal' | 'Allocation' | 'PeakLow' | 'PeakHigh' | 'Asset';\r\n\r\nexport const ForecastActualDataType = {\r\n AssetCount: 'AssetCount' as ForecastActualDataType,\r\n ConsumptionLow: 'ConsumptionLow' as ForecastActualDataType,\r\n ProductionLow: 'ProductionLow' as ForecastActualDataType,\r\n ProsumptionLow: 'ProsumptionLow' as ForecastActualDataType,\r\n ConsumptionNormal: 'ConsumptionNormal' as ForecastActualDataType,\r\n ProductionNormal: 'ProductionNormal' as ForecastActualDataType,\r\n ProsumptionNormal: 'ProsumptionNormal' as ForecastActualDataType,\r\n Allocation: 'Allocation' as ForecastActualDataType,\r\n PeakLow: 'PeakLow' as ForecastActualDataType,\r\n PeakHigh: 'PeakHigh' as ForecastActualDataType,\r\n Asset: 'Asset' as ForecastActualDataType\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ForecastClusterType = 'ClusterBased' | 'ConnectionBased' | 'Profile';\r\n\r\nexport const ForecastClusterType = {\r\n ClusterBased: 'ClusterBased' as ForecastClusterType,\r\n ConnectionBased: 'ConnectionBased' as ForecastClusterType,\r\n Profile: 'Profile' as ForecastClusterType\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ForecastConnectionClusterType = 'Untyped' | 'SMA' | 'SMA_Consumption' | 'SMA_Prosumption' | 'Profile' | 'Telemetric' | 'Consumption' | 'ConsumptionSubMeter' | 'Prosumption' | 'ProductionSubMeter' | 'Prosumption_Solar' | 'Production_Solar' | 'Prosumption_Solar_Weekend' | 'Prosumption_Solar_Summer' | 'Solar' | 'Wind';\r\n\r\nexport const ForecastConnectionClusterType = {\r\n Untyped: 'Untyped' as ForecastConnectionClusterType,\r\n Sma: 'SMA' as ForecastConnectionClusterType,\r\n SmaConsumption: 'SMA_Consumption' as ForecastConnectionClusterType,\r\n SmaProsumption: 'SMA_Prosumption' as ForecastConnectionClusterType,\r\n Profile: 'Profile' as ForecastConnectionClusterType,\r\n Telemetric: 'Telemetric' as ForecastConnectionClusterType,\r\n Consumption: 'Consumption' as ForecastConnectionClusterType,\r\n ConsumptionSubMeter: 'ConsumptionSubMeter' as ForecastConnectionClusterType,\r\n Prosumption: 'Prosumption' as ForecastConnectionClusterType,\r\n ProductionSubMeter: 'ProductionSubMeter' as ForecastConnectionClusterType,\r\n ProsumptionSolar: 'Prosumption_Solar' as ForecastConnectionClusterType,\r\n ProductionSolar: 'Production_Solar' as ForecastConnectionClusterType,\r\n ProsumptionSolarWeekend: 'Prosumption_Solar_Weekend' as ForecastConnectionClusterType,\r\n ProsumptionSolarSummer: 'Prosumption_Solar_Summer' as ForecastConnectionClusterType,\r\n Solar: 'Solar' as ForecastConnectionClusterType,\r\n Wind: 'Wind' as ForecastConnectionClusterType\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ForecastDownloadRequestAllOf { \r\n referenceDate?: string | null;\r\n portfolioId?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ForecastGetSubRequest { \r\n clusterId?: string;\r\n connectionIds?: Array | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ForecastValueResponse { \r\n consumptionProven?: number;\r\n consumptionMedian?: number;\r\n consumptionPossible?: number;\r\n productionProven?: number;\r\n productionMedian?: number;\r\n productionPossible?: number;\r\n clusterMemberCount?: number | null;\r\n from?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ForecasterRequestAllOf { \r\n id?: string | null;\r\n name?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Granularity = 'QuarterHour' | 'Hour' | 'Day' | 'Week' | 'Month' | 'QuarterYear' | 'Year';\r\n\r\nexport const Granularity = {\r\n QuarterHour: 'QuarterHour' as Granularity,\r\n Hour: 'Hour' as Granularity,\r\n Day: 'Day' as Granularity,\r\n Week: 'Week' as Granularity,\r\n Month: 'Month' as Granularity,\r\n QuarterYear: 'QuarterYear' as Granularity,\r\n Year: 'Year' as Granularity\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface IgnoreClusterConnectionRecommendationCommand { \r\n id?: string;\r\n reason?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type IntradayType = 'IDM' | 'DAM1' | 'DAM2' | 'DAM3' | 'DAM4' | 'DAM5' | 'DAM6' | 'DAM7';\r\n\r\nexport const IntradayType = {\r\n Idm: 'IDM' as IntradayType,\r\n Dam1: 'DAM1' as IntradayType,\r\n Dam2: 'DAM2' as IntradayType,\r\n Dam3: 'DAM3' as IntradayType,\r\n Dam4: 'DAM4' as IntradayType,\r\n Dam5: 'DAM5' as IntradayType,\r\n Dam6: 'DAM6' as IntradayType,\r\n Dam7: 'DAM7' as IntradayType\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type IntradayVersion = 'Version1' | 'Version1_1' | 'Version1_2' | 'Version1_3' | 'Version1_4' | 'Version1_5' | 'Version2' | 'Version2_1' | 'Version2_2' | 'Version2_3' | 'Version2_4' | 'Version2_5' | 'Version3' | 'Version3_1' | 'Version3_2' | 'Version3_3' | 'Version3_4' | 'Version3_5' | 'Version4' | 'Version4_1' | 'Version4_2' | 'Version4_3' | 'Version4_4' | 'Version4_5';\r\n\r\nexport const IntradayVersion = {\r\n Version1: 'Version1' as IntradayVersion,\r\n Version11: 'Version1_1' as IntradayVersion,\r\n Version12: 'Version1_2' as IntradayVersion,\r\n Version13: 'Version1_3' as IntradayVersion,\r\n Version14: 'Version1_4' as IntradayVersion,\r\n Version15: 'Version1_5' as IntradayVersion,\r\n Version2: 'Version2' as IntradayVersion,\r\n Version21: 'Version2_1' as IntradayVersion,\r\n Version22: 'Version2_2' as IntradayVersion,\r\n Version23: 'Version2_3' as IntradayVersion,\r\n Version24: 'Version2_4' as IntradayVersion,\r\n Version25: 'Version2_5' as IntradayVersion,\r\n Version3: 'Version3' as IntradayVersion,\r\n Version31: 'Version3_1' as IntradayVersion,\r\n Version32: 'Version3_2' as IntradayVersion,\r\n Version33: 'Version3_3' as IntradayVersion,\r\n Version34: 'Version3_4' as IntradayVersion,\r\n Version35: 'Version3_5' as IntradayVersion,\r\n Version4: 'Version4' as IntradayVersion,\r\n Version41: 'Version4_1' as IntradayVersion,\r\n Version42: 'Version4_2' as IntradayVersion,\r\n Version43: 'Version4_3' as IntradayVersion,\r\n Version44: 'Version4_4' as IntradayVersion,\r\n Version45: 'Version4_5' as IntradayVersion\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface LatestForecastRequest { \r\n portfolioIds?: Array;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface LatestForecastResponse { \r\n portfolioId?: string;\r\n portfolioName?: string;\r\n clusterId?: string;\r\n clusterName?: string;\r\n forecasterId?: string;\r\n forecasterName?: string;\r\n intradayVersionDb?: string | null;\r\n intradayTypeDb?: string | null;\r\n intradayVersionApi?: string | null;\r\n intradayTypeApi?: string | null;\r\n modifiedDatabase?: string | null;\r\n modifiedForecaster?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type LogLevel = 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical' | 'None';\r\n\r\nexport const LogLevel = {\r\n Trace: 'Trace' as LogLevel,\r\n Debug: 'Debug' as LogLevel,\r\n Information: 'Information' as LogLevel,\r\n Warning: 'Warning' as LogLevel,\r\n Error: 'Error' as LogLevel,\r\n Critical: 'Critical' as LogLevel,\r\n None: 'None' as LogLevel\r\n};\r\n\r\n","export * from './acceptClusterConnectionRecommendationCommand';\r\nexport * from './aggregationProgressRequest';\r\nexport * from './aggregationProgressRequestAllOf';\r\nexport * from './aggregationProgressResponse';\r\nexport * from './baseRequestCondition';\r\nexport * from './boundaryOfDateTimeOffset';\r\nexport * from './boundaryType';\r\nexport * from './clusterConnectionRecommendationRequest';\r\nexport * from './clusterConnectionRecommendationRequestAllOf';\r\nexport * from './clusterConnectionRecommendationResponse';\r\nexport * from './clusterConnectionResponse';\r\nexport * from './clusterGroupRequest';\r\nexport * from './clusterGroupRequestAllOf';\r\nexport * from './clusterGroupResponse';\r\nexport * from './clusterManagementClusterReportResponse';\r\nexport * from './clusterManagementProcessReportResponse';\r\nexport * from './clusterManagementReportRequest';\r\nexport * from './clusterManagementReportResponse';\r\nexport * from './clusterManagementResultResponse';\r\nexport * from './clusterPortfolioResponse';\r\nexport * from './clusterRequest';\r\nexport * from './clusterRequestAllOf';\r\nexport * from './clusterResponse';\r\nexport * from './collectedForecastDataQueryCommand';\r\nexport * from './collectedForecastDataResponse';\r\nexport * from './connectionGroupConsumptionQueryCommand';\r\nexport * from './connectionGroupConsumptionResponse';\r\nexport * from './createClusterCommand';\r\nexport * from './createClusterConnectionCommand';\r\nexport * from './createClusterConnectionRecommendationCommand';\r\nexport * from './createClusterGroupCommand';\r\nexport * from './createClusterPortfolioCommand';\r\nexport * from './createForecasterCommand';\r\nexport * from './createPortfolioCommand';\r\nexport * from './createResaleClusterCommand';\r\nexport * from './createResaleClusterConnectionCommand';\r\nexport * from './deleteClusterCommand';\r\nexport * from './deleteClusterConnectionCommand';\r\nexport * from './deleteClusterConnectionRecommendationCommand';\r\nexport * from './deleteClusterGroupCommand';\r\nexport * from './deleteClusterPortfolioCommand';\r\nexport * from './deleteForecasterCommand';\r\nexport * from './deletePortfolioCommand';\r\nexport * from './deleteResaleClusterCommand';\r\nexport * from './deleteResaleClusterConnectionCommand';\r\nexport * from './enappsysCurrency';\r\nexport * from './enappsysFileType';\r\nexport * from './enappsysForecastType';\r\nexport * from './enappsysGranularity';\r\nexport * from './enappsysRequestCommand';\r\nexport * from './enappsysResponseCommand';\r\nexport * from './enappsysTimeZone';\r\nexport * from './forecastActualDataType';\r\nexport * from './forecastClusterType';\r\nexport * from './forecastConnectionClusterType';\r\nexport * from './forecastDownloadRequest';\r\nexport * from './forecastDownloadRequestAllOf';\r\nexport * from './forecastGetRequest';\r\nexport * from './forecastGetRequestAllOf';\r\nexport * from './forecastGetSubRequest';\r\nexport * from './forecastResponse';\r\nexport * from './forecastValueResponse';\r\nexport * from './forecasterRequest';\r\nexport * from './forecasterRequestAllOf';\r\nexport * from './forecasterResponse';\r\nexport * from './granularity';\r\nexport * from './iMonitorResult';\r\nexport * from './ignoreClusterConnectionRecommendationCommand';\r\nexport * from './intradayType';\r\nexport * from './intradayVersion';\r\nexport * from './latestForecastRequest';\r\nexport * from './latestForecastResponse';\r\nexport * from './logLevel';\r\nexport * from './moveClusterCommand';\r\nexport * from './mutationState';\r\nexport * from './portfolioRequest';\r\nexport * from './portfolioRequestAllOf';\r\nexport * from './portfolioResponse';\r\nexport * from './process';\r\nexport * from './processDirective';\r\nexport * from './productType';\r\nexport * from './queuedAssetDataRequest';\r\nexport * from './queuedAssetDataRequestAllOf';\r\nexport * from './queuedAssetDataResponse';\r\nexport * from './queuedAssetProgressRequest';\r\nexport * from './queuedAssetProgressRequestAllOf';\r\nexport * from './queuedAssetProgressResponse';\r\nexport * from './queuedForecastDataRequest';\r\nexport * from './queuedForecastDataRequestAllOf';\r\nexport * from './queuedForecastDataResponse';\r\nexport * from './queuedForecastProgressRequest';\r\nexport * from './queuedForecastProgressRequestAllOf';\r\nexport * from './queuedForecastProgressResponse';\r\nexport * from './rangeOfDateTimeOffset';\r\nexport * from './resaleClusterConnectionResponse';\r\nexport * from './resaleClusterRequest';\r\nexport * from './resaleClusterRequestAllOf';\r\nexport * from './resaleClusterResponse';\r\nexport * from './tenant';\r\nexport * from './tradingPlatform';\r\nexport * from './updateClusterCommand';\r\nexport * from './updateClusterConnectionCommand';\r\nexport * from './updateClusterConnectionRecommendationCommand';\r\nexport * from './updateClusterGroupCommand';\r\nexport * from './updateForecasterCommand';\r\nexport * from './updateForecastsInLegacyRequest';\r\nexport * from './updatePortfolioCommand';\r\nexport * from './updateResaleClusterCommand';\r\nexport * from './updateResaleClusterConnectionCommand';\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface MoveClusterCommand { \r\n id?: string;\r\n clusterGroupId?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type MutationState = 'Estimated' | 'DistributedQuantityEstimate' | 'DistributedQuantity' | 'Distributed' | 'MeasuredQuantityEstimate' | 'MeasuredVolume' | 'Measured' | 'CorrectedQuantityEstimate' | 'CorrectedQuantity' | 'Corrected';\r\n\r\nexport const MutationState = {\r\n Estimated: 'Estimated' as MutationState,\r\n DistributedQuantityEstimate: 'DistributedQuantityEstimate' as MutationState,\r\n DistributedQuantity: 'DistributedQuantity' as MutationState,\r\n Distributed: 'Distributed' as MutationState,\r\n MeasuredQuantityEstimate: 'MeasuredQuantityEstimate' as MutationState,\r\n MeasuredVolume: 'MeasuredVolume' as MutationState,\r\n Measured: 'Measured' as MutationState,\r\n CorrectedQuantityEstimate: 'CorrectedQuantityEstimate' as MutationState,\r\n CorrectedQuantity: 'CorrectedQuantity' as MutationState,\r\n Corrected: 'Corrected' as MutationState\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface PortfolioRequestAllOf { \r\n id?: string | null;\r\n name?: string | null;\r\n forecasterId?: string | null;\r\n includeClusterPortfolios?: boolean;\r\n includeClusters?: boolean;\r\n includeForecaster?: boolean;\r\n includeClusterIds?: Array;\r\n filterClusterIds?: Array;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Process = 'MeasurementCollection' | 'ConsolidationCorrection' | 'ConsolidationDistribution' | 'ConsolidationLargeCapacityDistribution' | 'ConsolidationDataCompletion' | 'ConsolidationDataCompletionEstimation' | 'ConsolidationDataCompletionFallback' | 'ConsolidationEstimation' | 'AggregationConsumption' | 'AggregationClusterConsumption' | 'AggregationAllocation' | 'AggregationReconciliation' | 'MeasurementCorrection' | 'MeasurementEstimation' | 'MeasurementDistribution' | 'ConsumptionMoneyDetermination' | 'ConsumptionAggregation' | 'MeasurementCollectionStartOfDay' | 'MeasurementCollectionSmallestGranularity' | 'AreaTemperatureCollection' | 'MeasurementCollectionTmtSync' | 'MeasurementCollectionRequest' | 'MeasurementCollectionResponse' | 'MeasurementCollectionP4Registration' | 'MeasurementCollectionMeterReading' | 'MeasurementCollectionMeterReadingIssue' | 'MeasurementCollectionMeterReadingDispute' | 'MeasurementCommunication' | 'MeasurementCommunicationReminder' | 'MeasurementCommunicationWithoutRespond' | 'MeasurementsToSubmitDetermination' | 'PriceCollectionApx' | 'PriceCollectionLeba' | 'AllocationBySupplierCalculation' | 'ForecastActualsDexter' | 'PriceCollectionFinalizedReconciliationElectricity' | 'PriceEstimationReconciliationElectricity' | 'PriceCollectionFinalizedReconciliationGas' | 'PriceEstimationReconciliationGas' | 'PriceCollectionImbalance' | 'ProfileFractionsCollection' | 'MeasuringErrorCorrectionFactorCollection' | 'CalorificCorrectionFactorCollection' | 'AdminProcess' | 'ReconciliationBySupplierCalculation' | 'TaxCollection' | 'ContactCollection' | 'InvoiceDeadline' | 'ConnectionUpdate' | 'ConnectionUpdateHistorically' | 'MissingMasterData' | 'ReconciliationBySupplierEstimation' | 'ForecastCollectionDexterCluster' | 'ForecastCollectionDexterConnection' | 'PriceCollectionConnectionCapacity' | 'InvoiceTriggerProcess' | 'MeasureCorrection' | 'ConsumptionPerGranularityIntervalToConnectionConsumptionSync' | 'InvoicingQueueProcess' | 'InvoicingQueueEnqueuer' | 'InvoicingQueueFirstAdvance' | 'InvoicingQueueMonth' | 'InvoicingQueueYear' | 'InvoicingQueueEnd' | 'ConnectionUpdateLegacyStaging' | 'ConnectionGainLegacyStaging' | 'CalorificCorrectionFactorsStaging' | 'P4CollectedDataBatchResultStaging' | 'MeterReadingExchangeStaging' | 'AllocationDataOutlier' | 'PriceStagingSync' | 'PricePerGroupStagingSync' | 'GridAreaCorrectionFactorStagingSync' | 'MarketPurchasesStagingSyncer' | 'EnergySystemStagingSyncer' | 'MeasurementEnvironmentSyncer' | 'ConsumptionEnvironmentSyncer' | 'MeterInvoiceSettingsEnvironmentSync' | 'CustomerInvoiceSettingsEnvironmentSync' | 'ContractInvoiceSettingsEnvironmentSync' | 'InvoiceSettingsEnvironmentSync' | 'PeakSupplyPurchaseFractionsEnvironmentSync' | 'PeakSupplyFactorEnvironmentSync' | 'PriceEnvironmentSync' | 'ProfileFractionEnvironmentSync' | 'ProfileProsumptionEnvironmentSync' | 'Gain' | 'Loss' | 'GainHistorically' | 'LossHistorically' | 'OpenWeatherMapSyncService' | 'AeolisWeatherSyncService' | 'OnboardingActivationsInitiateGroupActivation' | 'OnboardingActivationsRequestMinimalStartDateMarketForGroup' | 'OnboardingConnectionActivationsFollowupPlanner' | 'OnboardingConnectionActivationsFollowUp' | 'OnboardingConnectionActivationsUpdateMinimalStartDateMarket' | 'OnboardingConnectionActivationsMinimalStartDateMarketUpdated' | 'OnboardingDirectDebitMandatesSendMandateInvite' | 'OnboardingDirectDebitMandatesProcessCustomerMandateUpdate' | 'OnboardingCustomerConnectionDebtorsSynchronizePaymentPreference' | 'OnboardingThirdPartySalesProcessNewSale' | 'OnboardingThirdPartySalesEnrichQuote' | 'OnboardingThirdPartySalesCompleteQuote' | 'OnboardingThirdPartySalesApproveQuote' | 'TradingExecutor' | 'TradingCreator' | 'ImbalanceCurtailmentCreator' | 'ProbabilityEvaluatorExecuting' | 'TradingDealExpiredExecuting' | 'KinectDealExecuting' | 'KinectDealValidating' | 'SpectralDealExecuting' | 'TennetMessageReception' | 'TennetMessageSubmission' | 'CommunicationHandling' | 'WeatherChangeAlerting' | 'KNMIWeatherSynchronizeService' | 'CustomerAssetsEpvValidator' | 'AllocationConsolidation' | 'HeavyConsolidation' | 'LightConsolidation' | 'DocumentCheckerService' | 'DocumentPollingService' | 'InvoiceClearanceCompletionService' | 'InvoiceCompletionService' | 'InvoiceSmartMeterCompletionService' | 'InvoiceToCorrectService' | 'InvoiceToCreditService' | 'InvoiceToRecalucateService' | 'InvoiceSendStartDeliveryLetterService' | 'InvoiceSendWelcomeLetterService' | 'SendInvoiceMailService' | 'BusinessCentralInvoiceSync' | 'BusinessCentralCustomerSync' | 'ConsumptionsByCertificateService' | 'InvoicingQueueBatch' | 'ConnectionValidation' | 'ConnectionIssue' | 'InvoiceDropoutProcess' | 'CampinaDealExecuting' | 'ConnectionEnvironmentSyncer' | 'EnvironmentSyncQueue' | 'MeasurementCollectionMeterReadingHistorically' | 'MeteringPointEvaluation' | 'ForecastClusterDetermination' | 'ForecastClusterDeterminationDeletedConnections' | 'ForecastConnectionConsumptionDetermination' | 'ForecastConnectionCorrelationDetermination' | 'ForecastActualCollection' | 'QueueForecastDataProcess' | 'QueueAssetDataProcess' | 'QueuePortfolioDataProcess' | 'SendForecastDataProcess' | 'SendAssetDataProcess' | 'DownloadForecastProcess' | 'DeleteForecastProcess' | 'ConnectionGroupConsumptionAggregationProcess' | 'ReceiveTenneTMessageList' | 'ReceiveTenneTAllocationMessages' | 'ProcessTenneTAllocationMessages' | 'StoreAllocationMessages' | 'ReReadAllocationMessages' | 'EnAppSysSolarPredictionSyncService' | 'MeteringCompanyMeterSync' | 'MeteringCompanyMeterConsumptionsSync' | 'ConsolidationMessageEnqueueing' | 'LightConsolidationPriority' | 'CronProcessHandler';\r\n\r\nexport const Process = {\r\n MeasurementCollection: 'MeasurementCollection' as Process,\r\n ConsolidationCorrection: 'ConsolidationCorrection' as Process,\r\n ConsolidationDistribution: 'ConsolidationDistribution' as Process,\r\n ConsolidationLargeCapacityDistribution: 'ConsolidationLargeCapacityDistribution' as Process,\r\n ConsolidationDataCompletion: 'ConsolidationDataCompletion' as Process,\r\n ConsolidationDataCompletionEstimation: 'ConsolidationDataCompletionEstimation' as Process,\r\n ConsolidationDataCompletionFallback: 'ConsolidationDataCompletionFallback' as Process,\r\n ConsolidationEstimation: 'ConsolidationEstimation' as Process,\r\n AggregationConsumption: 'AggregationConsumption' as Process,\r\n AggregationClusterConsumption: 'AggregationClusterConsumption' as Process,\r\n AggregationAllocation: 'AggregationAllocation' as Process,\r\n AggregationReconciliation: 'AggregationReconciliation' as Process,\r\n MeasurementCorrection: 'MeasurementCorrection' as Process,\r\n MeasurementEstimation: 'MeasurementEstimation' as Process,\r\n MeasurementDistribution: 'MeasurementDistribution' as Process,\r\n ConsumptionMoneyDetermination: 'ConsumptionMoneyDetermination' as Process,\r\n ConsumptionAggregation: 'ConsumptionAggregation' as Process,\r\n MeasurementCollectionStartOfDay: 'MeasurementCollectionStartOfDay' as Process,\r\n MeasurementCollectionSmallestGranularity: 'MeasurementCollectionSmallestGranularity' as Process,\r\n AreaTemperatureCollection: 'AreaTemperatureCollection' as Process,\r\n MeasurementCollectionTmtSync: 'MeasurementCollectionTmtSync' as Process,\r\n MeasurementCollectionRequest: 'MeasurementCollectionRequest' as Process,\r\n MeasurementCollectionResponse: 'MeasurementCollectionResponse' as Process,\r\n MeasurementCollectionP4Registration: 'MeasurementCollectionP4Registration' as Process,\r\n MeasurementCollectionMeterReading: 'MeasurementCollectionMeterReading' as Process,\r\n MeasurementCollectionMeterReadingIssue: 'MeasurementCollectionMeterReadingIssue' as Process,\r\n MeasurementCollectionMeterReadingDispute: 'MeasurementCollectionMeterReadingDispute' as Process,\r\n MeasurementCommunication: 'MeasurementCommunication' as Process,\r\n MeasurementCommunicationReminder: 'MeasurementCommunicationReminder' as Process,\r\n MeasurementCommunicationWithoutRespond: 'MeasurementCommunicationWithoutRespond' as Process,\r\n MeasurementsToSubmitDetermination: 'MeasurementsToSubmitDetermination' as Process,\r\n PriceCollectionApx: 'PriceCollectionApx' as Process,\r\n PriceCollectionLeba: 'PriceCollectionLeba' as Process,\r\n AllocationBySupplierCalculation: 'AllocationBySupplierCalculation' as Process,\r\n ForecastActualsDexter: 'ForecastActualsDexter' as Process,\r\n PriceCollectionFinalizedReconciliationElectricity: 'PriceCollectionFinalizedReconciliationElectricity' as Process,\r\n PriceEstimationReconciliationElectricity: 'PriceEstimationReconciliationElectricity' as Process,\r\n PriceCollectionFinalizedReconciliationGas: 'PriceCollectionFinalizedReconciliationGas' as Process,\r\n PriceEstimationReconciliationGas: 'PriceEstimationReconciliationGas' as Process,\r\n PriceCollectionImbalance: 'PriceCollectionImbalance' as Process,\r\n ProfileFractionsCollection: 'ProfileFractionsCollection' as Process,\r\n MeasuringErrorCorrectionFactorCollection: 'MeasuringErrorCorrectionFactorCollection' as Process,\r\n CalorificCorrectionFactorCollection: 'CalorificCorrectionFactorCollection' as Process,\r\n AdminProcess: 'AdminProcess' as Process,\r\n ReconciliationBySupplierCalculation: 'ReconciliationBySupplierCalculation' as Process,\r\n TaxCollection: 'TaxCollection' as Process,\r\n ContactCollection: 'ContactCollection' as Process,\r\n InvoiceDeadline: 'InvoiceDeadline' as Process,\r\n ConnectionUpdate: 'ConnectionUpdate' as Process,\r\n ConnectionUpdateHistorically: 'ConnectionUpdateHistorically' as Process,\r\n MissingMasterData: 'MissingMasterData' as Process,\r\n ReconciliationBySupplierEstimation: 'ReconciliationBySupplierEstimation' as Process,\r\n ForecastCollectionDexterCluster: 'ForecastCollectionDexterCluster' as Process,\r\n ForecastCollectionDexterConnection: 'ForecastCollectionDexterConnection' as Process,\r\n PriceCollectionConnectionCapacity: 'PriceCollectionConnectionCapacity' as Process,\r\n InvoiceTriggerProcess: 'InvoiceTriggerProcess' as Process,\r\n MeasureCorrection: 'MeasureCorrection' as Process,\r\n ConsumptionPerGranularityIntervalToConnectionConsumptionSync: 'ConsumptionPerGranularityIntervalToConnectionConsumptionSync' as Process,\r\n InvoicingQueueProcess: 'InvoicingQueueProcess' as Process,\r\n InvoicingQueueEnqueuer: 'InvoicingQueueEnqueuer' as Process,\r\n InvoicingQueueFirstAdvance: 'InvoicingQueueFirstAdvance' as Process,\r\n InvoicingQueueMonth: 'InvoicingQueueMonth' as Process,\r\n InvoicingQueueYear: 'InvoicingQueueYear' as Process,\r\n InvoicingQueueEnd: 'InvoicingQueueEnd' as Process,\r\n ConnectionUpdateLegacyStaging: 'ConnectionUpdateLegacyStaging' as Process,\r\n ConnectionGainLegacyStaging: 'ConnectionGainLegacyStaging' as Process,\r\n CalorificCorrectionFactorsStaging: 'CalorificCorrectionFactorsStaging' as Process,\r\n P4CollectedDataBatchResultStaging: 'P4CollectedDataBatchResultStaging' as Process,\r\n MeterReadingExchangeStaging: 'MeterReadingExchangeStaging' as Process,\r\n AllocationDataOutlier: 'AllocationDataOutlier' as Process,\r\n PriceStagingSync: 'PriceStagingSync' as Process,\r\n PricePerGroupStagingSync: 'PricePerGroupStagingSync' as Process,\r\n GridAreaCorrectionFactorStagingSync: 'GridAreaCorrectionFactorStagingSync' as Process,\r\n MarketPurchasesStagingSyncer: 'MarketPurchasesStagingSyncer' as Process,\r\n EnergySystemStagingSyncer: 'EnergySystemStagingSyncer' as Process,\r\n MeasurementEnvironmentSyncer: 'MeasurementEnvironmentSyncer' as Process,\r\n ConsumptionEnvironmentSyncer: 'ConsumptionEnvironmentSyncer' as Process,\r\n MeterInvoiceSettingsEnvironmentSync: 'MeterInvoiceSettingsEnvironmentSync' as Process,\r\n CustomerInvoiceSettingsEnvironmentSync: 'CustomerInvoiceSettingsEnvironmentSync' as Process,\r\n ContractInvoiceSettingsEnvironmentSync: 'ContractInvoiceSettingsEnvironmentSync' as Process,\r\n InvoiceSettingsEnvironmentSync: 'InvoiceSettingsEnvironmentSync' as Process,\r\n PeakSupplyPurchaseFractionsEnvironmentSync: 'PeakSupplyPurchaseFractionsEnvironmentSync' as Process,\r\n PeakSupplyFactorEnvironmentSync: 'PeakSupplyFactorEnvironmentSync' as Process,\r\n PriceEnvironmentSync: 'PriceEnvironmentSync' as Process,\r\n ProfileFractionEnvironmentSync: 'ProfileFractionEnvironmentSync' as Process,\r\n ProfileProsumptionEnvironmentSync: 'ProfileProsumptionEnvironmentSync' as Process,\r\n Gain: 'Gain' as Process,\r\n Loss: 'Loss' as Process,\r\n GainHistorically: 'GainHistorically' as Process,\r\n LossHistorically: 'LossHistorically' as Process,\r\n OpenWeatherMapSyncService: 'OpenWeatherMapSyncService' as Process,\r\n AeolisWeatherSyncService: 'AeolisWeatherSyncService' as Process,\r\n OnboardingActivationsInitiateGroupActivation: 'OnboardingActivationsInitiateGroupActivation' as Process,\r\n OnboardingActivationsRequestMinimalStartDateMarketForGroup: 'OnboardingActivationsRequestMinimalStartDateMarketForGroup' as Process,\r\n OnboardingConnectionActivationsFollowupPlanner: 'OnboardingConnectionActivationsFollowupPlanner' as Process,\r\n OnboardingConnectionActivationsFollowUp: 'OnboardingConnectionActivationsFollowUp' as Process,\r\n OnboardingConnectionActivationsUpdateMinimalStartDateMarket: 'OnboardingConnectionActivationsUpdateMinimalStartDateMarket' as Process,\r\n OnboardingConnectionActivationsMinimalStartDateMarketUpdated: 'OnboardingConnectionActivationsMinimalStartDateMarketUpdated' as Process,\r\n OnboardingDirectDebitMandatesSendMandateInvite: 'OnboardingDirectDebitMandatesSendMandateInvite' as Process,\r\n OnboardingDirectDebitMandatesProcessCustomerMandateUpdate: 'OnboardingDirectDebitMandatesProcessCustomerMandateUpdate' as Process,\r\n OnboardingCustomerConnectionDebtorsSynchronizePaymentPreference: 'OnboardingCustomerConnectionDebtorsSynchronizePaymentPreference' as Process,\r\n OnboardingThirdPartySalesProcessNewSale: 'OnboardingThirdPartySalesProcessNewSale' as Process,\r\n OnboardingThirdPartySalesEnrichQuote: 'OnboardingThirdPartySalesEnrichQuote' as Process,\r\n OnboardingThirdPartySalesCompleteQuote: 'OnboardingThirdPartySalesCompleteQuote' as Process,\r\n OnboardingThirdPartySalesApproveQuote: 'OnboardingThirdPartySalesApproveQuote' as Process,\r\n TradingExecutor: 'TradingExecutor' as Process,\r\n TradingCreator: 'TradingCreator' as Process,\r\n ImbalanceCurtailmentCreator: 'ImbalanceCurtailmentCreator' as Process,\r\n ProbabilityEvaluatorExecuting: 'ProbabilityEvaluatorExecuting' as Process,\r\n TradingDealExpiredExecuting: 'TradingDealExpiredExecuting' as Process,\r\n KinectDealExecuting: 'KinectDealExecuting' as Process,\r\n KinectDealValidating: 'KinectDealValidating' as Process,\r\n SpectralDealExecuting: 'SpectralDealExecuting' as Process,\r\n TennetMessageReception: 'TennetMessageReception' as Process,\r\n TennetMessageSubmission: 'TennetMessageSubmission' as Process,\r\n CommunicationHandling: 'CommunicationHandling' as Process,\r\n WeatherChangeAlerting: 'WeatherChangeAlerting' as Process,\r\n KnmiWeatherSynchronizeService: 'KNMIWeatherSynchronizeService' as Process,\r\n CustomerAssetsEpvValidator: 'CustomerAssetsEpvValidator' as Process,\r\n AllocationConsolidation: 'AllocationConsolidation' as Process,\r\n HeavyConsolidation: 'HeavyConsolidation' as Process,\r\n LightConsolidation: 'LightConsolidation' as Process,\r\n DocumentCheckerService: 'DocumentCheckerService' as Process,\r\n DocumentPollingService: 'DocumentPollingService' as Process,\r\n InvoiceClearanceCompletionService: 'InvoiceClearanceCompletionService' as Process,\r\n InvoiceCompletionService: 'InvoiceCompletionService' as Process,\r\n InvoiceSmartMeterCompletionService: 'InvoiceSmartMeterCompletionService' as Process,\r\n InvoiceToCorrectService: 'InvoiceToCorrectService' as Process,\r\n InvoiceToCreditService: 'InvoiceToCreditService' as Process,\r\n InvoiceToRecalucateService: 'InvoiceToRecalucateService' as Process,\r\n InvoiceSendStartDeliveryLetterService: 'InvoiceSendStartDeliveryLetterService' as Process,\r\n InvoiceSendWelcomeLetterService: 'InvoiceSendWelcomeLetterService' as Process,\r\n SendInvoiceMailService: 'SendInvoiceMailService' as Process,\r\n BusinessCentralInvoiceSync: 'BusinessCentralInvoiceSync' as Process,\r\n BusinessCentralCustomerSync: 'BusinessCentralCustomerSync' as Process,\r\n ConsumptionsByCertificateService: 'ConsumptionsByCertificateService' as Process,\r\n InvoicingQueueBatch: 'InvoicingQueueBatch' as Process,\r\n ConnectionValidation: 'ConnectionValidation' as Process,\r\n ConnectionIssue: 'ConnectionIssue' as Process,\r\n InvoiceDropoutProcess: 'InvoiceDropoutProcess' as Process,\r\n CampinaDealExecuting: 'CampinaDealExecuting' as Process,\r\n ConnectionEnvironmentSyncer: 'ConnectionEnvironmentSyncer' as Process,\r\n EnvironmentSyncQueue: 'EnvironmentSyncQueue' as Process,\r\n MeasurementCollectionMeterReadingHistorically: 'MeasurementCollectionMeterReadingHistorically' as Process,\r\n MeteringPointEvaluation: 'MeteringPointEvaluation' as Process,\r\n ForecastClusterDetermination: 'ForecastClusterDetermination' as Process,\r\n ForecastClusterDeterminationDeletedConnections: 'ForecastClusterDeterminationDeletedConnections' as Process,\r\n ForecastConnectionConsumptionDetermination: 'ForecastConnectionConsumptionDetermination' as Process,\r\n ForecastConnectionCorrelationDetermination: 'ForecastConnectionCorrelationDetermination' as Process,\r\n ForecastActualCollection: 'ForecastActualCollection' as Process,\r\n QueueForecastDataProcess: 'QueueForecastDataProcess' as Process,\r\n QueueAssetDataProcess: 'QueueAssetDataProcess' as Process,\r\n QueuePortfolioDataProcess: 'QueuePortfolioDataProcess' as Process,\r\n SendForecastDataProcess: 'SendForecastDataProcess' as Process,\r\n SendAssetDataProcess: 'SendAssetDataProcess' as Process,\r\n DownloadForecastProcess: 'DownloadForecastProcess' as Process,\r\n DeleteForecastProcess: 'DeleteForecastProcess' as Process,\r\n ConnectionGroupConsumptionAggregationProcess: 'ConnectionGroupConsumptionAggregationProcess' as Process,\r\n ReceiveTenneTMessageList: 'ReceiveTenneTMessageList' as Process,\r\n ReceiveTenneTAllocationMessages: 'ReceiveTenneTAllocationMessages' as Process,\r\n ProcessTenneTAllocationMessages: 'ProcessTenneTAllocationMessages' as Process,\r\n StoreAllocationMessages: 'StoreAllocationMessages' as Process,\r\n ReReadAllocationMessages: 'ReReadAllocationMessages' as Process,\r\n EnAppSysSolarPredictionSyncService: 'EnAppSysSolarPredictionSyncService' as Process,\r\n MeteringCompanyMeterSync: 'MeteringCompanyMeterSync' as Process,\r\n MeteringCompanyMeterConsumptionsSync: 'MeteringCompanyMeterConsumptionsSync' as Process,\r\n ConsolidationMessageEnqueueing: 'ConsolidationMessageEnqueueing' as Process,\r\n LightConsolidationPriority: 'LightConsolidationPriority' as Process,\r\n CronProcessHandler: 'CronProcessHandler' as Process\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ProcessDirective = 'Create' | 'Update' | 'Delete';\r\n\r\nexport const ProcessDirective = {\r\n Create: 'Create' as ProcessDirective,\r\n Update: 'Update' as ProcessDirective,\r\n Delete: 'Delete' as ProcessDirective\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ProductType = 'Electricity' | 'Gas';\r\n\r\nexport const ProductType = {\r\n Electricity: 'Electricity' as ProductType,\r\n Gas: 'Gas' as ProductType\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QueuedAssetProgressRequestAllOf { \r\n id?: string | null;\r\n clusterId?: string | null;\r\n portfolioIds?: Array;\r\n connectionIds?: Array;\r\n withSendDate?: boolean | null;\r\n queuedFrom?: string | null;\r\n queuedUntil?: string | null;\r\n sendFrom?: string | null;\r\n sendUntil?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QueuedAssetProgressResponse { \r\n id?: string;\r\n clusterId?: string;\r\n connectionId?: number;\r\n portfolioId?: string | null;\r\n modifiedFrom?: string;\r\n modifiedUntil?: string;\r\n queuedDate?: string | null;\r\n sendDate?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QueuedForecastProgressRequestAllOf { \r\n id?: string | null;\r\n overrideIds?: Array;\r\n clusterId?: string | null;\r\n portfolioIds?: Array;\r\n connectionIds?: Array;\r\n withSendDate?: boolean | null;\r\n withQueueDate?: boolean | null;\r\n queuedFrom?: string | null;\r\n queuedUntil?: string | null;\r\n sendFrom?: string | null;\r\n sendUntil?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface QueuedForecastProgressResponse { \r\n id?: string;\r\n overrideId?: string | null;\r\n clusterId?: string;\r\n connectionId?: number;\r\n portfolioId?: string | null;\r\n modifiedFrom?: string;\r\n modifiedUntil?: string;\r\n collectedDate?: string;\r\n queuedDate?: string | null;\r\n sendDate?: string | null;\r\n parent?: QueuedForecastProgressResponse | null;\r\n overrides?: Array;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type Tenant = 'NieuweStroom' | 'EasyEnergy';\r\n\r\nexport const Tenant = {\r\n NieuweStroom: 'NieuweStroom' as Tenant,\r\n EasyEnergy: 'EasyEnergy' as Tenant\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type TradingPlatform = 'Kinect' | 'Campina' | 'InHouse' | 'Curtailment' | 'Etpa';\r\n\r\nexport const TradingPlatform = {\r\n Kinect: 'Kinect' as TradingPlatform,\r\n Campina: 'Campina' as TradingPlatform,\r\n InHouse: 'InHouse' as TradingPlatform,\r\n Curtailment: 'Curtailment' as TradingPlatform,\r\n Etpa: 'Etpa' as TradingPlatform\r\n};\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateClusterCommand { \r\n id?: string;\r\n name?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateClusterConnectionCommand { \r\n id?: string;\r\n until?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateClusterConnectionRecommendationCommand { \r\n id?: string;\r\n fromTimeStamp?: string | null;\r\n untilTimeStamp?: string | null;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateClusterGroupCommand { \r\n id?: string;\r\n name?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateForecasterCommand { \r\n id?: string;\r\n name?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateForecastsInLegacyRequest { \r\n portfolioId?: string;\r\n clusterId?: Array;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdatePortfolioCommand { \r\n id?: string;\r\n name?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateResaleClusterCommand { \r\n id?: string;\r\n name?: string;\r\n}\r\n\r\n","/**\r\n * NieuweStroom.Trading.Forecast.Api\r\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * \r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface UpdateResaleClusterConnectionCommand { \r\n id?: string;\r\n until?: string;\r\n}\r\n\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const BASE_PATH = new InjectionToken('basePath');\r\nexport const COLLECTION_FORMATS = {\r\n 'csv': ',',\r\n 'tsv': ' ',\r\n 'ssv': ' ',\r\n 'pipes': '|'\r\n}\r\n","export interface ITradingDealsUiConfigurationOptions {\r\n basePath: string;\r\n}\r\n\r\nexport class TradingDealsUiConfiguration {\r\n public basePath: string;\r\n\r\n constructor(options: ITradingDealsUiConfigurationOptions) {\r\n this.basePath = options.basePath;\r\n }\r\n}\r\n","export interface ITradingForecastUiConfigurationOptions {\r\n basePath: string;\r\n}\r\n\r\nexport class TradingForecastUiConfiguration {\r\n public basePath: string;\r\n\r\n constructor(options: ITradingForecastUiConfigurationOptions) {\r\n this.basePath = options.basePath;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'asDate',\r\n})\r\nexport class AsDatePipe implements PipeTransform {\r\n transform(value: string): Date {\r\n return new Date(value as string);\r\n }\r\n}\r\n","export * from './as-date.pipe';\r\nexport * from './is-active.pipe';\r\nexport * from './is-actives.pipe';\r\nexport * from './not-active.pipe';\r\nexport * from './product-type-factor.pipe';\r\nexport * from './string-or-json.pipe';\r\n","import moment from 'moment-timezone';\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isActive',\r\n})\r\nexport class IsActivePipe implements PipeTransform {\r\n transform(value: any, ...args: unknown[]): any {\r\n return value.filter((v) => v.until === null || v.Until === null);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n/*\r\n * Raise the value exponentially\r\n * Takes an exponent argument that defaults to 1.\r\n * Usage:\r\n * value | exponentialStrength:exponent\r\n * Example:\r\n * {{ 2 | exponentialStrength:10 }}\r\n * formats to: 1024\r\n */\r\n@Pipe({ name: 'exponentialStrength' })\r\nexport class ExponentialStrengthPipe implements PipeTransform {\r\n transform(value: number, exponent = 1): number {\r\n return Math.pow(value, exponent);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'notActive',\r\n})\r\nexport class NotActivePipe implements PipeTransform {\r\n transform(value: any, ...args: unknown[]): any {\r\n return value.filter((v) => (v.until && v.until !== null) || (v.Until && v.Until !== null));\r\n }\r\n}\r\n","import { ProductType } from '../modules/operations-api/model/productType';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'productTypeFactor',\r\n})\r\nexport class ProductTypeFactorPipe implements PipeTransform {\r\n transform(value: number, productType?: ProductType): string {\r\n let factor = 1;\r\n let unit = ''; \r\n switch (productType)\r\n {\r\n case ProductType.Gas:\r\n factor = 1000000;\r\n unit = ' m3';\r\n break;\r\n case ProductType.Electricity:\r\n factor = 1000;\r\n unit = ' kWh';\r\n break;\r\n default:\r\n factor = 1;\r\n unit = '';\r\n break; \r\n }\r\n\r\n return (value / factor).toString() + unit;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'stringOrJson',\r\n})\r\nexport class StringOrJsonPipe implements PipeTransform {\r\n transform(value: any): string {\r\n return value instanceof Object ? JSON.stringify(value) : value;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ErrorService {\r\n private errors = [];\r\n constructor() {}\r\n addError(errorString: string) {\r\n this.errors.push(errorString);\r\n setTimeout(() => {\r\n this.errors.splice(this.errors.indexOf(errorString));\r\n }, 3000);\r\n }\r\n\r\n getErrors() {\r\n return this.errors;\r\n }\r\n}\r\n","import moment from 'moment';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { AcmReport, ObjectParser } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\nimport { ErrorService } from './ErrorService';\r\nimport { TenantService } from './tenant.service';\r\n\r\nconst URL = '/market/sales/Acm';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AcmService {\r\n constructor(private http: HttpClient, private tenantService: TenantService, private errorService: ErrorService) { }\r\n\r\n async getInvoiceDeadlines(invoiceTypes: string[], tenant?: any, csv?: boolean): Promise {\r\n const endPoint = '/InvoiceDeadlines/Get';\r\n const params = {};\r\n\r\n if (tenant) {\r\n params['tenant'] = tenant;\r\n } else {\r\n const tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length === 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 1) {\r\n params['tenant'] = 'NieuweStroom';\r\n }\r\n }\r\n\r\n params['invoiceType'] = invoiceTypes;\r\n\r\n if (csv) {\r\n return this.http\r\n .get(DEFINE_URL() + URL + endPoint + '/csv', {\r\n params,\r\n responseType: 'blob',\r\n observe: 'response',\r\n })\r\n .toPromise();\r\n }\r\n\r\n const result = await this.http.get(DEFINE_URL() + URL + endPoint, { params }).toPromise();\r\n\r\n return ObjectParser.readObject('AcmDeadlines', result);\r\n }\r\n\r\n getAcmReport(invoiceTypes: string[], tenant?: any, csv?: boolean): Promise {\r\n return new Promise((resolve, reject) => {\r\n const endPoint = csv ? '/AcmReport/Get/csv' : '/AcmReport/Get';\r\n const params = {};\r\n\r\n if (tenant) {\r\n params['tenant'] = tenant;\r\n } else {\r\n const tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length === 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 1) {\r\n }\r\n }\r\n\r\n params['invoiceType'] = invoiceTypes;\r\n\r\n this.http.get(DEFINE_URL() + URL + endPoint, { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('AcmReport', result)),\r\n (error) => reject(this.errorService.addError(error.message)),\r\n );\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { isEmptyObject } from '../helpers/ArrayHelper';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CachingService {\r\n constructor() {}\r\n\r\n public put(key: string, data: any, lifetimeInDays?: number, maxItems?: number): void {\r\n // key e.g. translation, data e.g. current in memory model of translation which holds multiple lists.\r\n if (!data) return;\r\n\r\n const msinDay = 86400 * 1000;\r\n const lifetime = lifetimeInDays !== undefined ? lifetimeInDays * msinDay : 30 * msinDay; // else thirty day\r\n const timestamp = Date.now(); //in ms\r\n\r\n if (maxItems && Array.isArray(data) && (data as []).length > maxItems) {\r\n data.shift();\r\n }\r\n\r\n const cache: CacheObject = {\r\n key,\r\n data,\r\n timestamp,\r\n lifetime,\r\n maxItems,\r\n };\r\n localStorage[key] = JSON.stringify(cache);\r\n }\r\n\r\n public clear = (key: string) => localStorage.removeItem(key);\r\n\r\n public get(key: string): T {\r\n const cache = JSON.parse(localStorage.getItem(key));\r\n\r\n return cache == null || isEmptyObject(cache) || !cacheTypeCheck(cache) || this.lifeTimeExceeded(cache) ? null : (cache.data as T);\r\n }\r\n\r\n public addDataToCachedObject(key: string, data: any, lifetimeInDaysOverride?: number, maxItems?: number) {\r\n // Get localstrorage\r\n const currentCache: any = this.get(key);\r\n const updatedCacheData = currentCache ? [...currentCache, ...data] : data;\r\n\r\n this.put(key, updatedCacheData, lifetimeInDaysOverride, maxItems);\r\n }\r\n\r\n addItemInArrayCachedData = (key: string, data: any, lifetimeInDaysOverride?: number, maxItems?: number) => {\r\n const currentCache: any = this.get(key);\r\n const updatedCacheData = currentCache ? [...currentCache, data] : [data];\r\n this.put(key, updatedCacheData, lifetimeInDaysOverride, maxItems);\r\n };\r\n\r\n removeChildElementFromObject(childName, key) {\r\n const currentCache: any = this.get(key);\r\n if (currentCache === null) return;\r\n const filteredCacheData = currentCache.filter((child) => child.name !== childName);\r\n this.put(key, filteredCacheData);\r\n }\r\n\r\n private maxItemsReached = (cache: CacheObject): boolean => Array.isArray(cache.data) && cache.data.length >= cache.maxItems;\r\n private lifeTimeExceeded = (cache: CacheObject): boolean => Date.now() - cache.timestamp > cache.lifetime;\r\n}\r\n\r\nexport interface CacheObject {\r\n key: string;\r\n data: any;\r\n timestamp: number;\r\n lifetime?: number;\r\n maxItems?: number;\r\n}\r\n\r\nexport enum CacheTypes {\r\n Translations = 'translations',\r\n Tenants = 'tenants',\r\n Searchhistory = 'searchhistory',\r\n ErrorMessages = 'errormessages',\r\n}\r\n\r\nconst cacheTypeCheck = (data: any): data is CacheObject =>\r\n (data as CacheObject).key !== undefined &&\r\n (data as CacheObject).data !== undefined &&\r\n (data as CacheObject).timestamp !== undefined &&\r\n (data as CacheObject).lifetime !== undefined;\r\n","import { Observable } from 'rxjs';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst URL: string = '/assets/connectionevaluator';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConnectionEvaluatorService {\r\n constructor(private http: HttpClient) { }\r\n\r\n isRunning(): Observable {\r\n return this.http.get(DEFINE_URL() + URL + '/isRunning');\r\n }\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nimport { HttpClient, HttpEvent, HttpResponse, HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Connection, ConnectionContract, ObjectParser } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\nimport { CreateOverrideConsumptionIntervalCommand } from './Commands/Consumptions/createConsumptionOverrideIntervalCommand';\r\nimport { DeleteOverrideConsumptionIntervalCommand } from './Commands/Consumptions/deleteConsumptionOverrideIntervalCommand';\r\nimport { ErrorService } from './ErrorService';\r\nimport { TenantService } from './tenant.service';\r\n\r\n\r\nconst URL = '/assets/connection';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConnectionService {\r\n constructor(private http: HttpClient, private tenantService: TenantService, private errorService: ErrorService) { }\r\n\r\n /**\r\n * @deprecated This method is currently not used and should be removed.\r\n */\r\n getAll(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = { connectionId: id };\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n }\r\n this.http.get(DEFINE_URL() + URL, { params }).subscribe((result) => {\r\n //Apparantly we chose not to make it an error is an empty array 'object' is returned.\r\n //But to create an errorlogging, we check for the empty object and return an error if empty === true.\r\n if (Object.keys(result).length === 0) {\r\n this.errorService.addError('Geen connectie gevonden, staat EE of NS verkeerd?');\r\n }\r\n resolve((result as any[]).map((r) => Connection.readObject(r))), (error) => reject(error);\r\n });\r\n });\r\n }\r\n\r\n getByConnectionId(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = { connectionId: id };\r\n\r\n this.http.get(DEFINE_URL() + URL + '/connectionId', { params }).subscribe(\r\n (result) => resolve(Connection.readObject(result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n getByContractId(contractId: string[]): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = {};\r\n if (contractId.length == 0) {\r\n reject('Geen geldige contract id');\r\n } else {\r\n if (contractId) {\r\n params['contractId'] = contractId;\r\n }\r\n\r\n this.http.get(DEFINE_URL() + URL + '/contract', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('ConnectionContracts', result)),\r\n (error) => reject(error),\r\n );\r\n }\r\n });\r\n }\r\n\r\n getContractsBySearchString(searchString?: String): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = {};\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n // No tenant parameter, else we map it\r\n // params[\"tenant\"] = tenants.map(t => Tenant[t]);\r\n }\r\n\r\n if (searchString && searchString != undefined) {\r\n params['searchString'] = searchString;\r\n }\r\n\r\n this.http.get(DEFINE_URL() + URL + '/contract', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Contracts', result)),\r\n (error) => reject(this.errorService.addError('Geen connectie gevonden')),\r\n );\r\n });\r\n }\r\n\r\n GetContracts(customerIds: string[], contractIds: string[], switchNotificationSend?: boolean, searchString?: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = {};\r\n if (\r\n customerIds.length == 0 &&\r\n contractIds.length == 0 &&\r\n switchNotificationSend !== false &&\r\n (searchString == null || searchString == undefined)\r\n ) {\r\n return resolve([]);\r\n }\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n // FIXME currently has a bug in the API side if you give a tenant, even the good one, you get no result.\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n // No tenant parameter, else we map it\r\n // params[\"tenant\"] = tenants.map(t => Tenant[t]);\r\n }\r\n if (customerIds.length > 0) {\r\n params['customerId'] = customerIds;\r\n }\r\n if (contractIds.length > 0) {\r\n params['contractId'] = contractIds;\r\n }\r\n if (switchNotificationSend !== null && switchNotificationSend !== undefined) {\r\n params['switchNotificationSend'] = switchNotificationSend;\r\n }\r\n if (searchString !== null && searchString !== undefined) {\r\n params['searchString'] = searchString;\r\n }\r\n this.http\r\n .get(DEFINE_URL() + URL + '/contract', { params })\r\n .subscribe((result) => resolve(ObjectParser.readObject('ConnectionContracts', result)));\r\n });\r\n }\r\n\r\n getByCustomerId(customerId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = {};\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n }\r\n if (customerId == null || customerId == undefined) {\r\n reject('Geen geldig customer id');\r\n }\r\n if (customerId) {\r\n params['customerId'] = customerId;\r\n }\r\n\r\n this.http.get(DEFINE_URL() + URL + '/GetByCustomerId', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Connections', result)),\r\n (error) => reject(this.errorService.addError('Geen connectie gevonden')),\r\n );\r\n });\r\n }\r\n\r\n syncConnectionFromLegacyAsync(connectionId: string) {\r\n var params = {\r\n connectionId: connectionId,\r\n };\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '/SyncConnectionFromLegacy', { params }).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n /**\r\n * @deprecated This method is deprecated and will be removed soon.\r\n * It's replaced by {@link getByPartialConnectionId}.\r\n */\r\n getBySearchString(searchString?: String): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = {};\r\n // params[\"tenant\"] = localStorage[\"tenants\"]\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n // Return no tenant, which is currently how we handle multitenant for these calls else this should work.\r\n // params[\"tenant\"] = tenants.map(t => t);\r\n }\r\n\r\n if (searchString) {\r\n params['searchString'] = searchString;\r\n }\r\n if (searchString == null || searchString == '' || searchString == undefined) {\r\n reject('vul een zoekterm in');\r\n } else {\r\n this.http.get(DEFINE_URL() + URL, { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Connections', result)),\r\n (error) => reject(this.errorService.addError('Geen connectie gevonden')),\r\n );\r\n }\r\n });\r\n }\r\n\r\n getByPartialConnectionId(partialConnectionId?: String): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = {};\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n // Return no tenant, which is currently how we handle multitenant for these calls else this should work.\r\n // params[\"tenant\"] = tenants.map(t => t);\r\n }\r\n\r\n if (partialConnectionId) {\r\n params['connectionId'] = partialConnectionId;\r\n }\r\n if (partialConnectionId == null || partialConnectionId == '' || partialConnectionId == undefined) {\r\n reject('vul een zoekterm in');\r\n } else {\r\n this.http.get(DEFINE_URL() + URL + '/search', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Connections', result)),\r\n (error) => reject(error.message),\r\n );\r\n }\r\n });\r\n }\r\n\r\n updateConnectionWithLatestMarketData(connectionId: string, tenant: string): Promise {\r\n var params = {\r\n connectionId: connectionId,\r\n };\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.post(DEFINE_URL() + URL + '/updateWithLatestMarketConnection', {}, { params }).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n public createOverrideConsumptionInterval(command: CreateOverrideConsumptionIntervalCommand): Observable;\r\n public createOverrideConsumptionInterval(command: CreateOverrideConsumptionIntervalCommand): Observable>;\r\n public createOverrideConsumptionInterval(command: CreateOverrideConsumptionIntervalCommand): Observable>;\r\n public createOverrideConsumptionInterval(command: CreateOverrideConsumptionIntervalCommand): Observable {\r\n if (command.connectionId === null || command.connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiAssetsConnectionUpdateWithLatestMarketConnectionPost.');\r\n }\r\n\r\n return this.http.post(DEFINE_URL() + URL + '/CreateOverrideConsumptionInterval', command);\r\n }\r\n\r\n public deleteOverrideConsumptionInterval(command: DeleteOverrideConsumptionIntervalCommand): Observable;\r\n public deleteOverrideConsumptionInterval(command: DeleteOverrideConsumptionIntervalCommand): Observable>;\r\n public deleteOverrideConsumptionInterval(command: DeleteOverrideConsumptionIntervalCommand): Observable>;\r\n public deleteOverrideConsumptionInterval(command: DeleteOverrideConsumptionIntervalCommand): Observable {\r\n if (command.connectionId === null || command.connectionId === undefined) {\r\n throw new Error('Required parameter connectionId was null or undefined when calling apiAssetsConnectionUpdateWithLatestMarketConnectionPost.');\r\n }\r\n\r\n return this.http.post(DEFINE_URL() + URL + '/DeleteOverrideConsumptionInterval', command);\r\n }\r\n}\r\n","\r\n\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Connection, Granularity, Interval } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst consumptionExportURL: string = '/consumptions/export';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConsumptionExportService {\r\n constructor(private http: HttpClient) { }\r\n\r\n getPerGranularityInterval(\r\n customerId: number,\r\n connections: Connection[],\r\n interval: Interval,\r\n granularity: Granularity,\r\n ): Promise> {\r\n let intervalThrough = new Interval(interval.From, interval.Until);\r\n\r\n var params = {\r\n customerId: customerId.toString(),\r\n connectionId: connections.map((c) => c.Id),\r\n dataInterval: intervalThrough.toDateRangeString(),\r\n };\r\n if (granularity != null) {\r\n params['granularity'] = granularity;\r\n }\r\n\r\n return this.http.get(DEFINE_URL() + consumptionExportURL, { params, responseType: 'blob', observe: 'response' }).toPromise();\r\n }\r\n}\r\n","import moment, { Moment } from 'moment';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Interval } from '../Connection';\r\n\r\nconst defaultInterval: Interval = new Interval(moment().subtract(12, 'month').startOf('year'), moment().add(2, 'month').startOf('month'));\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class ConsumptionPeriodService {\r\n private interval: Interval = new Interval(moment().subtract(12, 'month').startOf('year'), moment().add(2, 'month').startOf('month'));\r\n private intervalObservable: Subject = new Subject();\r\n constructor() {\r\n this.intervalObservable.next(this.interval);\r\n }\r\n\r\n public resetInterval() {\r\n\r\n this.interval = defaultInterval;\r\n this.intervalObservable.next(this.interval);\r\n }\r\n\r\n public SetFrom(from: Moment) {\r\n this.interval = new Interval(from, this.interval.Until);\r\n this.intervalObservable.next(this.interval);\r\n }\r\n\r\n public SetUntil(until: Moment) {\r\n this.interval = new Interval(this.interval.From, until);\r\n this.intervalObservable.next(this.interval);\r\n }\r\n\r\n public SetInterval(interval: Interval) {\r\n this.interval = interval;\r\n this.intervalObservable.next(this.interval);\r\n }\r\n\r\n public GetInterval(): Interval {\r\n return this.interval;\r\n }\r\n\r\n public GetIntervalAsObservable(): Observable {\r\n return this.intervalObservable.asObservable();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport {\r\n ConsumptionPerClosedDateRange,\r\n ConsumptionPerGranularityInterval,\r\n ConsumptionWithMeasurementsInterval,\r\n CustomerConnection,\r\n DateRange,\r\n Granularity,\r\n Interval,\r\n ObjectParser,\r\n QuantityWithCost,\r\n Tariff,\r\n Tenant,\r\n} from '../Connection';\r\nimport { DEFINE_URL, MOMENT_DATE_FORMAT, MOMENT_DATETIME_API_FORMAT } from '../constants';\r\nimport { ProductType } from '../modules/operations-api';\r\nimport { TimeTools } from './time-tools.service';\r\n\r\nconst consumptionURL = '/consumptions/Consumption';\r\n\r\nconst consumptionWithMeasurementsURL = '/consumptions/ConsumptionWithMeasurementsInterval';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConsumptionService {\r\n constructor(private http: HttpClient) { }\r\n\r\n getAllForGranularity(\r\n connectionId: string,\r\n dataInterval: DateRange,\r\n granularity: Granularity,\r\n customerId?: number,\r\n ): Promise {\r\n const params = {\r\n dataInterval: dataInterval.toRangeString(MOMENT_DATETIME_API_FORMAT), // Closed Open for now\r\n granularity: Granularity[granularity],\r\n };\r\n if (customerId != null) params['customerId'] = customerId;\r\n return new Promise((resolve, reject) => {\r\n this.http\r\n .get(DEFINE_URL() + consumptionURL + '/' + connectionId + '/GetAll', {\r\n params,\r\n })\r\n .subscribe(\r\n (result) => resolve(ObjectParser.readObject('ConsumptionPerGranularityIntervals', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n async postClosedDateRangeConsumption(consumptionPerClosedDateRangeCreateCommand: ConsumptionsPerClosedDateRangeCreateCommand[]) {\r\n return this.http.post(DEFINE_URL() + consumptionURL, consumptionPerClosedDateRangeCreateCommand).toPromise();\r\n }\r\n\r\n async getForClosedDateRange(connectionId: string, dataInterval: DateRange): Promise {\r\n const params = {\r\n connectionId,\r\n dataInterval: dataInterval.toRangeString(MOMENT_DATE_FORMAT), // Closed Open for now\r\n };\r\n\r\n const result = await this.http.get(DEFINE_URL() + consumptionURL, { params }).toPromise();\r\n const parsed = ObjectParser.readObject('ConsumptionPerClosedDateRanges', result);\r\n\r\n return parsed;\r\n }\r\n\r\n async getConsumptionWithMeasurementsIntervalForAllCustomerConnections(\r\n connectionId: string,\r\n granularity: Granularity,\r\n dataInterval: Interval,\r\n customerConnections: CustomerConnection[],\r\n ) {\r\n const requestScope = customerConnections\r\n .map((cc) => ({\r\n customerId: cc.Customer.Id as number,\r\n requestInterval: TimeTools.intersect(cc.Interval, dataInterval),\r\n }))\r\n .filter((iwi) => !!iwi.requestInterval);\r\n\r\n const requestsForAllCustomerConnections = requestScope.map((iwi) =>\r\n this.getConsumptionWithMeasurementsInterval(connectionId, granularity, iwi.requestInterval.ToDateRange(), iwi.customerId),\r\n );\r\n\r\n const retrieved = await Promise.all(requestsForAllCustomerConnections);\r\n const flattened = [].concat(...retrieved);\r\n\r\n return flattened;\r\n }\r\n\r\n async deleteConsumption(consumptionidJson) {\r\n consumptionidJson['From'] = consumptionidJson['From'].LocalDate;\r\n\r\n return this.http\r\n .request('delete', DEFINE_URL() + consumptionURL, {\r\n body: consumptionidJson,\r\n })\r\n .toPromise();\r\n }\r\n\r\n private async getConsumptionWithMeasurementsInterval(connectionId: string, granularity: Granularity, dataInterval: DateRange, customerId: number) {\r\n const url = `${DEFINE_URL()}${consumptionWithMeasurementsURL}/${connectionId}/GetAll`;\r\n const params = {\r\n connectionId,\r\n dataInterval: dataInterval.toRangeString(MOMENT_DATETIME_API_FORMAT),\r\n granularity: Granularity[granularity],\r\n customerId,\r\n };\r\n\r\n const response = await this.http.get(url, { params }).toPromise();\r\n\r\n return ObjectParser.readObject('ConsumptionWithMeasurementsIntervals', response) as ConsumptionWithMeasurementsInterval[];\r\n }\r\n}\r\n\r\nexport class ConsumptionsPerClosedDateRangeCreateCommand {\r\n public connectionId: string;\r\n public from: string;\r\n public through: string;\r\n public mutationState: string;\r\n public customerId: number;\r\n public productType: ProductType;\r\n public tenant: Tenant;\r\n public tariff?: Tariff;\r\n public consumption?: QuantityWithCost;\r\n public production?: QuantityWithCost;\r\n\r\n constructor(\r\n connectionId: string,\r\n from: string,\r\n through: string,\r\n mutationState: string,\r\n customerId: number,\r\n productType: ProductType,\r\n tenant: Tenant,\r\n tariff?: Tariff,\r\n consumption?: QuantityWithCost,\r\n production?: QuantityWithCost,\r\n ) {\r\n this.connectionId = connectionId;\r\n this.from = from;\r\n this.through = through;\r\n this.mutationState = mutationState;\r\n this.customerId = customerId;\r\n this.productType = productType;\r\n this.tenant = tenant;\r\n this.tariff = tariff;\r\n this.consumption = consumption;\r\n this.production = production;\r\n }\r\n}\r\n","import { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport {\r\n ContractMutationStateWithContractStateTransitions,\r\n ContractState,\r\n ContractStateCountPerContractMutationStateAndContractStateTransitionType,\r\n ContractStateId,\r\n ObjectParser,\r\n Page,\r\n} from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\nimport { TenantService } from './tenant.service';\r\n\r\nconst URL: string = '/admin/ConnectionContractState';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ContractStateService {\r\n constructor(private http: HttpClient, private tenantService: TenantService) {}\r\n\r\n getAll(\r\n offset?: number,\r\n limit?: number,\r\n connectionId?: string,\r\n contractMutationState?: string,\r\n contractStateTransitionType?: string,\r\n isActive?: boolean,\r\n assignee?: string,\r\n contractIds?: string[],\r\n ): Promise> {\r\n var params = {};\r\n if (offset) {\r\n params['offset'] = offset.toString();\r\n }\r\n if (offset == 0) {\r\n params['offset'] = '0';\r\n } // 0 tostring is nothing.\r\n if (limit) {\r\n params['limit'] = limit.toString();\r\n }\r\n\r\n if (assignee) {\r\n params['assignee'] = assignee;\r\n }\r\n if (connectionId) params['connectionId'] = connectionId;\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n // No tenant parameter, else we map it\r\n // params[\"tenant\"] = tenants.map(t => Tenant[t]);\r\n }\r\n if (contractMutationState) params['contractMutationState'] = contractMutationState;\r\n if (contractStateTransitionType) params['contractStateTransitionType'] = contractStateTransitionType;\r\n if (isActive != null) params['isActive'] = isActive;\r\n if (contractIds) params['contractId'] = contractIds;\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL, { params }).subscribe(\r\n (result) => {\r\n return resolve(Page.readPageObject(result, 'ContractState'));\r\n },\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n getContractMutationStatesWithContractStateTransitions(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '/ContractMutationStatesWithContractStateTransitions').subscribe(\r\n (result) => {\r\n return resolve(ObjectParser.readObject('ContractMutationStatesWithContractStateTransitions', result));\r\n },\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n getAllCountPerContractMutationStateAndContractStateTransitionType(\r\n isActive?: boolean,\r\n ): Promise {\r\n var params = {};\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n // No tenant parameter, else we map it\r\n // params[\"tenant\"] = tenants.map(t => Tenant[t]);\r\n }\r\n if (isActive != null) params['isActive'] = isActive;\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '/CountPerContractMutationStateAndContractStateTransitionType', { params }).subscribe(\r\n (result) => {\r\n return resolve(ObjectParser.readObject('ContractStateCountPerContractMutationStateAndContractStateTransitionTypes', result));\r\n },\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n async getAllForContractId(offset: number, limit: number, contractId: string): Promise> {\r\n var params = {\r\n offset: offset.toString(),\r\n limit: limit.toString(),\r\n contractId: contractId,\r\n };\r\n\r\n let result = await this.http.get(DEFINE_URL() + URL, { params }).toPromise();\r\n\r\n let parsed = Page.readPageObject(result, 'ContractState');\r\n\r\n return parsed;\r\n }\r\n\r\n getAllForConnectionId(offset: number, limit: number, connectionId: string): Promise> {\r\n var params = {\r\n offset: offset.toString(),\r\n limit: limit.toString(),\r\n connectionId: connectionId,\r\n };\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL, { params }).subscribe(\r\n (result) => {\r\n return resolve(Page.readPageObject(result, 'ContractState'));\r\n },\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n closeConnectionContractTransition(contractId: string, connectionId: string, contractMutationState) {\r\n const params = {\r\n contractId,\r\n connectionId,\r\n contractMutationState,\r\n };\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.put(DEFINE_URL() + URL + '/CloseConnectionContractTransition', {}, { params }).subscribe(\r\n (result) => {\r\n return resolve(result);\r\n // Page.readPageObject(result, \"ContractState\"));\r\n },\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n closeConnectionContract(contractId: string, connectionId: string, contractMutationState: string) {\r\n const params = {\r\n contractId,\r\n connectionId,\r\n contractMutationState,\r\n };\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.put(DEFINE_URL() + URL + '/CloseConnectionContract', {}, { params }).subscribe(\r\n (result) => {\r\n return resolve(result);\r\n },\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n async toggleBlockConnectionContract(id: ContractStateId, isBlocked: boolean) {\r\n const endPoint = isBlocked ? '/BlockConnectionContract' : '/UnblockConnectionContract';\r\n\r\n const params = {\r\n contractId: id.contractId,\r\n connectionId: id.connectionId,\r\n contractMutationState: id.contractMutationState,\r\n };\r\n\r\n return await this.http.put(DEFINE_URL() + URL + endPoint, {}, { params }).toPromise();\r\n }\r\n\r\n async selfAssignTransition(contractId: string, connectionId: string, contractMutationState: string, contractStateTransitionType: string) {\r\n const params = {\r\n contractId,\r\n connectionId,\r\n contractMutationState,\r\n contractStateTransitionType,\r\n };\r\n\r\n return await this.http.put(DEFINE_URL() + URL + '/SelfAssignTransition', {}, { params }).toPromise();\r\n }\r\n\r\n async appendTransitionRemarks(\r\n contractId: string,\r\n connectionId: string,\r\n contractMutationState: string,\r\n contractStateTransition: string,\r\n contractStateTransitionRemarks: string,\r\n ) {\r\n const params = {\r\n contractId,\r\n connectionId,\r\n contractMutationState,\r\n contractStateTransition,\r\n contractStateTransitionRemarks,\r\n };\r\n\r\n return await this.http.put(DEFINE_URL() + URL + '/AppendTransitionRemarks', {}, { params }).toPromise();\r\n }\r\n\r\n downloadWelcomeLetter(groupId: string): Promise> {\r\n const params = {\r\n groupId,\r\n };\r\n return this.http.get(DEFINE_URL() + URL + '/GetMostRecentlySentWelcomeLetter', { params, responseType: 'blob', observe: 'response' }).toPromise();\r\n }\r\n\r\n downloadStartDeliveryLetter(groupId: string): Promise> {\r\n const params = {\r\n groupId,\r\n };\r\n return this.http.get(DEFINE_URL() + URL + '/GetStartDeliveryLetter', { params, responseType: 'blob', observe: 'response' }).toPromise();\r\n }\r\n\r\n resendWelcomeLetter(groupId: string, shouldRecalculateAdvanceAmount: boolean): Promise> {\r\n const params = {\r\n groupId,\r\n shouldRecalculateAdvanceAmount: !!shouldRecalculateAdvanceAmount,\r\n };\r\n return this.http.put>(DEFINE_URL() + URL + '/ResendWelcomeLetter', { observe: 'response' }, { params }).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DragAndDropService {\r\n //// USAGE instructions below\r\n\r\n dragAndDropEventValue;\r\n\r\n constructor() {}\r\n\r\n setDragPayload = (payload) => (this.dragAndDropEventValue = payload);\r\n\r\n getDroppedPayload() {\r\n const payload = this.dragAndDropEventValue;\r\n this.clearPayload();\r\n return payload;\r\n }\r\n\r\n clearPayload = () => (this.dragAndDropEventValue = null);\r\n}\r\n\r\n// IN HTML\r\n// using the directive (from shared) like so [appDragAndDrop]=\"variableHere\"\r\n// (dragover)=\"highlightTarget($event)\"\r\n// (dragstart)=\"dragStart(timeserie)\"\r\n// (dragend)=\"dragend($event)\"\r\n// (drop)=\"highlightTarget($event)\"\r\n\r\n//// IN TS\r\n// allowDrop(e) {\r\n// e.preventDefault();\r\n// }\r\n\r\n// drag(e) {\r\n// e.dataTransfer.setData('timeseriesId', e.target.id);\r\n// this.dropState = true\r\n// }\r\n\r\n// dragStart(element) {\r\n// this.dragndropService.setDragPayload(element);\r\n// }\r\n\r\n// dragend(e) {\r\n// e.preventDefault();\r\n// this.dropState = false;\r\n// e.target.style.background = 'none';\r\n// }\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { EnumDescription, Enums, ObjectParser } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst URL = '/system/enums';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EnumsService {\r\n constructor(private http: HttpClient) {}\r\n\r\n getAll(enumName: Enums): Promise {\r\n const params = {};\r\n params['enumName'] = enumName;\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('EnumDescriptions', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { DEFINE_URL } from '../constants';\r\nimport { TenantService } from './tenant.service';\r\n\r\nconst URL: string = '/views/invoiceview';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InvoiceService {\r\n constructor(private http: HttpClient, private tenantService: TenantService) { }\r\n\r\n // Depricated?\r\n getInvoiceInfo(customerId: number, connectionId: number, sForm: any, sUntil: any, iFrom: any, iUntil: any) {\r\n var params = {};\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n }\r\n console.warn('Not yet tested with multitenant');\r\n return new Promise((resolve) => {\r\n this.http\r\n .get(\r\n DEFINE_URL() +\r\n URL +\r\n '/' +\r\n customerId +\r\n '/' +\r\n connectionId +\r\n // GetTenant no longer works?\r\n // \"?tenantName=\"+ Tenant[this.tenantService.getTenant()].toString() +\r\n '&suppliedFrom=' +\r\n sForm +\r\n '&suppliedUntil=' +\r\n sUntil +\r\n '&invoicedFrom=' +\r\n iFrom +\r\n '&invoicedUntil=' +\r\n iUntil,\r\n )\r\n .subscribe((result) => resolve(result));\r\n });\r\n }\r\n\r\n pad(number: number): string {\r\n if (number < 10) {\r\n return '0' + number;\r\n }\r\n return '' + number;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst URL: string = '/system/issueType';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IssueTypeService {\r\n private issueTypes: any = [];\r\n\r\n constructor(private http: HttpClient) {\r\n this.getIssueTypes();\r\n }\r\n\r\n getDisplayName(ENUM: string) {\r\n var rets = this.issueTypes.filter((i) => i.IssueType == ENUM);\r\n if (rets.length > 0) {\r\n return rets[0].Name;\r\n } else return ENUM;\r\n }\r\n\r\n getIssueTypes(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL).subscribe(\r\n (result) => {\r\n this.issueTypes = result;\r\n return resolve(result);\r\n },\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n}\r\n","import moment, { Moment } from 'moment';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Issue, IssueCountPerIssueTypeAndSubject, ObjectParser, Page } from '../Connection';\r\nimport { DEFINE_URL, MOMENT_DATE_FORMAT } from '../constants';\r\nimport { TenantService } from './tenant.service';\r\n\r\nconst BASE: string = '/admin';\r\nconst URL: string = '/issue';\r\nconst WITH_CONNECTION: string = '/withconnection';\r\nconst CountPerIssueTypeAndSubject: string = '/countPerIssueTypeAndSubject';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IssueService {\r\n constructor(private http: HttpClient, private tenantService: TenantService) { }\r\n\r\n getIssueCountPerIssueTypeAndSubject(\r\n open?: boolean,\r\n modifiedSince?: Moment,\r\n connectionId?: string,\r\n modifiedBefore?: Moment,\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n let params = {};\r\n if (open != null) {\r\n params['open'] = '' + open;\r\n } else {\r\n params['open'] = '';\r\n }\r\n if (connectionId) {\r\n params['connectionId'] = connectionId;\r\n }\r\n\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n }\r\n\r\n if (modifiedSince != null) {\r\n params['modifiedAfterTimestamp'] = modifiedSince.format(MOMENT_DATE_FORMAT);\r\n }\r\n if (modifiedBefore != null) {\r\n params['modifiedBeforeTimestamp'] = modifiedBefore.format(MOMENT_DATE_FORMAT);\r\n }\r\n\r\n this.http.get(DEFINE_URL() + BASE + URL + CountPerIssueTypeAndSubject, { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('IssueCountPerIssueTypeAndSubjects', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n getIssueOverview(open?: boolean, start?: Moment, end?: Moment, total?: boolean, openClosed?: boolean): Promise {\r\n return new Promise((resolve, reject) => {\r\n let params = {};\r\n open != null ? (params['open'] = '' + open) : params;\r\n\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n }\r\n\r\n if (open === true) {\r\n // From was set in this period.\r\n start ? (params['createdFrom'] = start.format(MOMENT_DATE_FORMAT)) : params;\r\n end ? (params['createdUntil'] = end.format(MOMENT_DATE_FORMAT)) : params;\r\n }\r\n if (open === false) {\r\n // Closed was set in this period, but the open can be everywhere.\r\n start ? (params['closedFrom'] = start.format(MOMENT_DATE_FORMAT)) : params;\r\n end ? (params['closedUntil'] = end.format(MOMENT_DATE_FORMAT)) : params;\r\n }\r\n if (openClosed === true) {\r\n // openClosed in period\r\n start ? (params['createdFrom'] = start.format(MOMENT_DATE_FORMAT)) : params;\r\n end ? (params['createdUntil'] = end.format(MOMENT_DATE_FORMAT)) : params;\r\n\r\n // Closed was set in this period, but the open can be everywhere.\r\n start ? (params['closedFrom'] = start.format(MOMENT_DATE_FORMAT)) : params;\r\n end ? (params['closedUntil'] = end.format(MOMENT_DATE_FORMAT)) : params;\r\n }\r\n\r\n if (total) {\r\n params = {};\r\n open != null ? (params['open'] = '' + open) : params;\r\n open == false && end ? (params['closedUntil'] = end.format(MOMENT_DATE_FORMAT)) : params;\r\n open != false && end ? (params['createdUntil'] = end.format(MOMENT_DATE_FORMAT)) : params;\r\n }\r\n\r\n this.http.get(DEFINE_URL() + BASE + URL + CountPerIssueTypeAndSubject, { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('IssueCountPerIssueTypeAndSubjects', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n getAll(\r\n offset: number,\r\n limit: number,\r\n connectionId?: string,\r\n open?: boolean,\r\n issueType?: string[],\r\n subject?: string,\r\n modifiedSince?: Moment,\r\n modifiedBefore?: Moment,\r\n issueId?: number[],\r\n ): Promise> {\r\n return new Promise((resolve, reject) => {\r\n var params = {\r\n offset: offset.toString(),\r\n limit: limit.toString(),\r\n };\r\n\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n }\r\n\r\n if (subject != null) {\r\n params['subject'] = subject;\r\n }\r\n if (connectionId) {\r\n params['connectionId'] = connectionId;\r\n }\r\n if (open != null) {\r\n params['open'] = '' + open;\r\n }\r\n if (modifiedSince != null) {\r\n params['modifiedAfterTimestamp'] = modifiedSince.format(MOMENT_DATE_FORMAT);\r\n }\r\n if (modifiedBefore != null) {\r\n params['modifiedBeforeTimestamp'] = modifiedBefore.format(MOMENT_DATE_FORMAT);\r\n }\r\n if (issueType && issueType.length > 0) {\r\n params['issueTypes'] = issueType.map((i) => i);\r\n }\r\n if (issueId && issueId.length > 0) {\r\n params['id'] = issueId.map((i) => i);\r\n }\r\n\r\n this.http.get(DEFINE_URL() + BASE + URL, { params }).subscribe(\r\n (result) => resolve(Page.readPageObject(result, 'Issue')),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n getAllForConnection(connectionId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = { connectionId: connectionId };\r\n\r\n this.http.get(DEFINE_URL() + BASE + URL, { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Issues', result['Data'])),\r\n // result => resolve(ObjectParser.readObject(\"Issues\", result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n processIssue(issueId: number) {\r\n return this.http.put(DEFINE_URL() + BASE + URL + '/' + issueId + '/process', {}).toPromise();\r\n }\r\n\r\n closeIssue(issueId: number) {\r\n let params;\r\n return new Promise((resolve, reject) => {\r\n this.http.put(DEFINE_URL() + BASE + URL + '/' + issueId + '/close', { params }).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Lock, ObjectParser } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst URL: string = '/lock';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LockService {\r\n constructor(private http: HttpClient) { }\r\n\r\n getLock(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '/' + id).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Lock', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n takeLock(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.put(DEFINE_URL() + URL + '/' + id, Math.floor(new Date().getTime() / 1000) + 15).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n}\r\n","import moment from 'moment-timezone';\r\nimport { Md5 } from 'ts-md5';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport {\r\n CustomerConnectionSendMeasurementCommunication,\r\n DateRange,\r\n MeasurementCommunication,\r\n MeasurementReadingMethod,\r\n ObjectParser,\r\n} from '../Connection';\r\nimport { DEFINE_URL, MOMENT_DATE_FORMAT } from '../constants';\r\nimport { TenantService } from './tenant.service';\r\n\r\n// import { Timestamp } from 'rxjs/internal-compatibility';\r\n\r\nconst CustomerURL: string = '/assets/CustomerConnectionSendMeasurementCommunication';\r\n\r\nconst MMCURL: string = '/assets/MeasurementCommunication';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MeasurementCommunicationService {\r\n constructor(private http: HttpClient, private tenantService: TenantService) { }\r\n\r\n async getConnectionMeasurementCommunication(connectionId: string): Promise {\r\n var params = {\r\n connectionId: connectionId,\r\n };\r\n\r\n let result = await this.http.get(DEFINE_URL() + CustomerURL, { params }).toPromise();\r\n let parsed = ObjectParser.readObject('CustomerConnectionSendMeasurementCommunication', result);\r\n\r\n return parsed;\r\n }\r\n\r\n async setConnectionMeasurementCommunication(\r\n connectionId: string,\r\n MeasurementCommunicationEnabled: boolean,\r\n blockedUntil?: string,\r\n ): Promise {\r\n var params;\r\n if (blockedUntil === null) {\r\n params = {\r\n connectionId: connectionId,\r\n MeasurementCommunicationEnabled: MeasurementCommunicationEnabled.toString(),\r\n };\r\n } else {\r\n params = {\r\n connectionId: connectionId,\r\n MeasurementCommunicationEnabled: MeasurementCommunicationEnabled.toString(),\r\n blockedUntil,\r\n };\r\n }\r\n\r\n let result = await this.http.post(DEFINE_URL() + CustomerURL, {}, { params }).toPromise();\r\n let parsed = ObjectParser.readObject('CustomerConnectionSendMeasurementCommunication', result);\r\n\r\n return parsed;\r\n }\r\n\r\n getAllMeasurementCommunication(connectionId: string, dataInterval: DateRange): Promise {\r\n // /api/assets/MeasurementCommunication/{connectionId}/GetAll\r\n var params = {\r\n dataInterval: dataInterval.toRangeString(MOMENT_DATE_FORMAT),\r\n };\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + MMCURL + '/' + connectionId + '/GetAll', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('MeasurementCommunications', result)),\r\n // result => console.log(result),\r\n // result => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n sendMeasurementCommunication(\r\n connectionId: string,\r\n measurementCommunicationType: string,\r\n localDate: string,\r\n sendMailToCustomer: boolean,\r\n ): Promise {\r\n var params = {\r\n connectionId: connectionId,\r\n measurementCommunicationType: measurementCommunicationType,\r\n localDate: localDate,\r\n sendMailToCustomer: JSON.stringify(sendMailToCustomer),\r\n };\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.post(DEFINE_URL() + MMCURL + '/sendMeasurementCommunication', {}, { params }).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n generateMMCLink(connectionId?, measurementCommunication?) {\r\n // create URL like so: baseUri + \"EAN=\" + connectionId + \"&h=\" + measurementCommunication.AuthenticationToken + \"&hh=\" + md5hashGuid of hashString(ean+token);\r\n // working URL: https://meterstanden.nieuwestroom.nl/meterstanden?EAN=871694840008661693&h=7e9c99d2-b87d-447e-98b1-b0081a47da0d&hh=57987195-c567-e8ec-cbfa-2c27070de842\r\n let baseuri = 'https://meterstanden.nieuwestroom.nl/meterstanden';\r\n\r\n let ean: string = '' + connectionId; // make string of connectionId, since a number or a toString() gives different results for hashing\r\n let token: string = '' + measurementCommunication.AuthenticationToken;\r\n\r\n let md5hash = Md5.hashStr(ean + token);\r\n // required to transform the md5 hash to a guid string, place hyphens after 8th, 12th, 16th and 20th character.\r\n var md5hashToGuid: string =\r\n md5hash.toString().substr(0, 8) +\r\n '-' +\r\n md5hash.toString().substr(8, 4) +\r\n '-' +\r\n md5hash.toString().substr(12, 4) +\r\n '-' +\r\n md5hash.toString().substr(16, 4) +\r\n '-' +\r\n md5hash.toString().substr(20, 12);\r\n // build the URL\r\n return baseuri + '?' + 'EAN=' + ean + '&h=' + token + '&hh=' + md5hashToGuid;\r\n }\r\n\r\n postMeasurementCustomer(measurement: any, shouldSubmitToGridOperator: boolean, measurementReadingMethod?: MeasurementReadingMethod): Promise {\r\n // for Customer the URL changes\r\n let postURL = MMCURL + '/MeterReadingCustomer';\r\n\r\n var params = {\r\n shouldSubmitToGridOperator: '' + shouldSubmitToGridOperator,\r\n };\r\n if (measurementReadingMethod != null) {\r\n params['measurementReadingMethod'] = measurementReadingMethod;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.post(DEFINE_URL() + postURL, measurement, { params }).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n blockContactMeasurementCommunication(contactMeasurementCommunication: any): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.put(DEFINE_URL() + MMCURL, contactMeasurementCommunication, {}).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { MeasurementSourceDetail, ObjectParser } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst URL: string = '/consumptions/MeasurementSourceDetail';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MeasurementSourceDetailService {\r\n constructor(private http: HttpClient) { }\r\n\r\n async getAllMeasureMentsourceDetailByConnectionId(id): Promise {\r\n const url = DEFINE_URL() + URL + '/GetAllMeasureMentsourceDetailByConnectionId';\r\n const params = {\r\n connectionId: id,\r\n };\r\n\r\n const result = await this.http.get(url, { params }).toPromise();\r\n const parsed = ObjectParser.readObject('MeasurementSourceDetails', result);\r\n return parsed;\r\n }\r\n}\r\n","import { BehaviorSubject } from 'rxjs';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport {\r\n DateRange,\r\n Interval,\r\n Measurement,\r\n MeasurementId,\r\n MeasurementMutationReason,\r\n MeasurementReadingMethod,\r\n MeasurementSource,\r\n ObjectParser,\r\n Page,\r\n Tariff,\r\n Timestamp,\r\n} from '../Connection';\r\nimport { DEFINE_URL, MOMENT_DATE_FORMAT, MOMENT_DATETIME_API_FORMAT } from '../constants';\r\nimport { TenantService } from './tenant.service';\r\n\r\n// import { Timestamp } from 'rxjs/internal-compatibility';\r\n\r\nconst URL: string = '/consumptions/Measurement';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MeasurementService {\r\n public deleteIntervalSubject: BehaviorSubject = new BehaviorSubject(null);\r\n public measurementIdsToDelete: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n constructor(private http: HttpClient, private tenantService: TenantService) { }\r\n\r\n GetMeasurementRange(connectionId: string, customerNumber: number, meterId: string) {\r\n return null;\r\n }\r\n\r\n getAllForDate(connectionId: string, interval: DateRange): Promise {\r\n var params = {\r\n dataInterval: interval.toRangeString(MOMENT_DATE_FORMAT),\r\n };\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '/' + connectionId + '/GetAllForDate', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Measurements', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n GetMeasurementEstimates(connectionId: string, instant: string): Promise {\r\n var params = {\r\n Instant: instant,\r\n };\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '/' + connectionId + '/GetMeasurementEstimates', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('MCMeasurement', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n async getMeasurementEstimate(connectionId: string, instant: string): Promise {\r\n var params = {\r\n Instant: instant,\r\n };\r\n\r\n let result = await this.http.get(DEFINE_URL() + URL + '/' + connectionId + '/GetMeasurementEstimates', { params }).toPromise();\r\n let parsed = ObjectParser.readObject('MCMeasurement', result);\r\n return parsed;\r\n }\r\n\r\n getAllForTimestamp(connectionId: string, interval: DateRange): Promise {\r\n var params = {\r\n dataInterval: interval.toRangeString(MOMENT_DATETIME_API_FORMAT),\r\n };\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '/' + connectionId + '/GetAllTimestamped', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Measurements', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n getAllHistoricallyForDate(connectionId: string, interval: DateRange): Promise {\r\n var params = {\r\n dataInterval: interval.toRangeString(MOMENT_DATE_FORMAT),\r\n };\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '/' + connectionId + '/GetAllHistoricallyForDate', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Measurements', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n getAllHistoricallyTimestamped(connectionId: string, interval: DateRange): Promise {\r\n var params = {\r\n dataInterval: interval.toRangeString(MOMENT_DATETIME_API_FORMAT),\r\n };\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL + '/' + connectionId + '/GetAllHistoricallyTimestamped', { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('Measurements', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n getAll(meterIds: string[], connectionId: string, measurementSource: MeasurementSource[]): Promise> {\r\n var params = {\r\n connectionId: connectionId,\r\n meterId: meterIds,\r\n measurementSource: measurementSource,\r\n };\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n params['tenant'] = tenants.map((t) => t);\r\n }\r\n if (tenants.length > 0) {\r\n }\r\n console.warn('Not yet tested with multitenant');\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL, { params }).subscribe(\r\n (result) => resolve(ObjectParser.readObject('MeasurementsPage', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n post(\r\n measurement: any,\r\n shouldSubmitToGridOperator: boolean,\r\n measurementReadingMethod: MeasurementReadingMethod,\r\n measurementMutationReason: MeasurementMutationReason,\r\n ): Promise {\r\n const postURL = URL + '/MeterReading'\r\n // Is the endpoint which handles the database multiplication factor for us \r\n // (and prior also the meter multiplicationfactor which was incorrect).\r\n\r\n const params = {\r\n shouldSubmitToGridOperator,\r\n measurementReadingMethod,\r\n measurementMutationReason,\r\n };\r\n\r\n return this.http.post(DEFINE_URL() + postURL, measurement, { params }).toPromise();\r\n }\r\n\r\n DeleteMeasurements(measurementIds: MeasurementId[]): Promise {\r\n console.log(measurementIds);\r\n let idsToRemove = measurementIds.map((measurementId) => {\r\n return {\r\n Tariff: measurementId.Tariff,\r\n Date: measurementId.Date.moment().format(MOMENT_DATE_FORMAT),\r\n ConnectionId: measurementId.ConnectionId,\r\n MeterId: measurementId.MeterId,\r\n MeasurementSource: measurementId.MeasurementSource,\r\n Timestamp:\r\n measurementId.Timestamp == null\r\n ? null\r\n : measurementId.Timestamp.moment.format(MOMENT_DATETIME_API_FORMAT) +\r\n '+' +\r\n ('0' + measurementId.Timestamp.moment.utcOffset() / 60).slice(-2) +\r\n ' Europe/Amsterdam',\r\n };\r\n });\r\n\r\n let params = {\r\n targetMeasurementSource: MeasurementSource.Supplier,\r\n };\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.put(DEFINE_URL() + URL + '/DeleteMeasurements', idsToRemove, { params }).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationService {\r\n constructor(public matNotification: MatSnackBar) {}\r\n\r\n showSuccess(message: string): void {\r\n const config = { panelClass: ['succes-mat-snackbar'], duration: 2000 };\r\n this.matNotification.open(message, 'X', config);\r\n }\r\n\r\n showError(message: string): void {\r\n const config = { panelClass: ['error-mat-snackbar'], duration: 3000 };\r\n // The second parameter is the text in the button.\r\n // In the third, we send in the css class for the snack bar.\r\n // this.matNotification.open(message, 'copy', config);\r\n this.matNotification.open(message, 'X', config);\r\n }\r\n\r\n showHttpError(err: HttpErrorResponse) {\r\n const config = { panelClass: ['error-mat-snackbar'], duration: 3000 };\r\n this.matNotification.open(this.getMessageFromHttpError(err), 'X', config);\r\n }\r\n\r\n showInfo(message: string): void {\r\n const config = { panelClass: ['info-mat-snackbar'], duration: 3000 };\r\n // The second parameter is the text in the button.\r\n // In the third, we send in the css class for the snack bar.\r\n // this.matNotification.open(message, 'copy', config);\r\n this.matNotification.open(message, 'X', config);\r\n }\r\n showDanger(message: string): void {\r\n const config = { panelClass: ['danger-mat-snackbar'], duration: 3000 };\r\n // The second parameter is the text in the button.\r\n // In the third, we send in the css class for the snack bar.\r\n // this.matNotification.open(message, 'copy', config);\r\n this.matNotification.open(message, 'X', config);\r\n }\r\n\r\n showNotificationOfType = (type: string, message: string) => {\r\n switch (type) {\r\n case 'info':\r\n this.showInfo(message);\r\n break;\r\n case 'error':\r\n this.showError(message);\r\n break;\r\n case 'danger':\r\n this.showError(message);\r\n break;\r\n case 'warning':\r\n this.showDanger(message);\r\n break;\r\n case 'succes':\r\n this.showSuccess(message);\r\n break;\r\n\r\n default:\r\n console.warn(`${type} is not recognized as type`);\r\n break;\r\n }\r\n };\r\n\r\n private getMessageFromHttpError(httpError: HttpErrorResponse): string {\r\n let message = httpError.message;\r\n\r\n if (httpError.error && httpError.error.errors) {\r\n message += ': ' + JSON.stringify(httpError.error.errors);\r\n } else if (httpError.error) {\r\n message += ': ' + JSON.stringify(httpError.error);\r\n }\r\n\r\n return message;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Tenant } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\nimport { ParameterValueR } from '../modules/operations-api';\r\n\r\nconst parameterValueURL = '/admin/ParameterValue/';\r\nconst getValidURL = 'GetValid';\r\nconst getAllURL = 'GetAll';\r\nconst createURL = 'Create';\r\nconst updateURL = 'Update';\r\nconst upsertURL = 'Upsert';\r\nconst deleteURL = 'Delete';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ParameterValueService {\r\n constructor(private http: HttpClient) { }\r\n\r\n async getAll(parameterValueName?, tenant?: Tenant[]): Promise {\r\n let params: any = {};\r\n params = parameterValueName ? (params.parameterValueName = parameterValueName) : params;\r\n params = tenant ? (params.Tenant = tenant) : params;\r\n return await this.http.get(DEFINE_URL() + parameterValueURL + getAllURL, { params }).toPromise();\r\n }\r\n\r\n async getAllValid(parameterValueName, tenant?: Tenant[]): Promise {\r\n let params: any = { parameterValueName };\r\n params = tenant ? (params.Tenant = tenant) : params;\r\n return await this.http.get(DEFINE_URL() + parameterValueURL + getValidURL, { params }).toPromise();\r\n }\r\n\r\n async createParameterValue(parameterValue: ParameterValueR): Promise {\r\n return await this.http.post(DEFINE_URL() + parameterValueURL + createURL, { ...parameterValue }).toPromise();\r\n }\r\n async updateParameterValue(parameterValue: ParameterValueR): Promise {\r\n return await this.http.put(DEFINE_URL() + parameterValueURL + updateURL, { ...parameterValue }).toPromise();\r\n }\r\n async upsertParameterValue(parameterValue: ParameterValueR): Promise {\r\n // When value does not exists, it creates, else it overrides\r\n return await this.http.put(DEFINE_URL() + parameterValueURL + upsertURL, { ...parameterValue }).toPromise();\r\n }\r\n async deleteParameterValue(parameterValue: ParameterValueR): Promise {\r\n return await this.http.request('DELETE', DEFINE_URL() + parameterValueURL + deleteURL, { body: parameterValue }).toPromise();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst URL: string = '/ping';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PingService {\r\n constructor(private http: HttpClient) { }\r\n\r\n getPing(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL, { responseType: 'text' }).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { ObjectParser, ProcessStatistics } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst URL: string = '/admin/ProcessStatistics/';\r\n\r\n// Rename to: ProcessStatisticsService -> check progressService too\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ProcessStatisticsService {\r\n constructor(private http: HttpClient) { }\r\n\r\n determineParameters(modifiedAfterTimestamp?, modifiedBeforeTimestamp?) {\r\n // console.log(modifiedAfterTimestamp);\r\n // console.log(modifiedBeforeTimestamp);\r\n let stringModifiedAfter = modifiedAfterTimestamp != null ? modifiedAfterTimestamp : null;\r\n let stringModifiedBefore = modifiedBeforeTimestamp != null ? modifiedBeforeTimestamp : null;\r\n var params;\r\n if (modifiedAfterTimestamp && modifiedBeforeTimestamp) {\r\n params = {\r\n modifiedAfterTimestamp: stringModifiedAfter,\r\n modifiedBeforeTimestamp: stringModifiedBefore,\r\n };\r\n }\r\n if (modifiedAfterTimestamp) {\r\n params = {\r\n modifiedAfterTimestamp: stringModifiedAfter,\r\n };\r\n }\r\n if (modifiedBeforeTimestamp) {\r\n params = {\r\n modifiedBeforeTimestamp: stringModifiedBefore,\r\n };\r\n }\r\n return params;\r\n }\r\n\r\n async getAll(process: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string): Promise {\r\n let params = this.determineParameters(modifiedAfterTimestamp, modifiedBeforeTimestamp);\r\n const result = await this.http.get(DEFINE_URL() + URL + process + '/GetAll', { params }).toPromise()\r\n const parsed = result ? ObjectParser.readObject('ProcessStatisticss', result) : []\r\n return parsed\r\n }\r\n\r\n async getLatest(\r\n // deze kan niet met readobjectparser\r\n process: string,\r\n modifiedAfterTimestamp?: string,\r\n modifiedBeforeTimestamp?: string,\r\n ): Promise {\r\n let params = this.determineParameters(modifiedAfterTimestamp, modifiedBeforeTimestamp);\r\n\r\n const result = await this.http.get(DEFINE_URL() + URL + process + '/latest', { params }).toPromise()\r\n const parsed = result ? ObjectParser.readObject('ProcessStatistics', result) : null\r\n return parsed\r\n }\r\n\r\n async getRunning(process: string, modifiedAfterTimestamp?: string, modifiedBeforeTimestamp?: string): Promise {\r\n let params = this.determineParameters(modifiedAfterTimestamp, modifiedBeforeTimestamp);\r\n const result = await this.http.get(DEFINE_URL() + URL + process + '/running', { params }).toPromise()\r\n const parsed = result ? ObjectParser.readObject('ProcessStatistics', result) : null\r\n return parsed\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { ObjectParser, Process } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\nimport { TenantService } from './tenant.service';\r\n\r\nconst URL = '/admin/processprogress';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ProgressService {\r\n constructor(private tenantService: TenantService, private http: HttpClient) { }\r\n\r\n determineParameters(modifiedAfterTimestamp?, modifiedBeforeTimestamp?) {\r\n console.log(modifiedAfterTimestamp);\r\n console.log(modifiedBeforeTimestamp);\r\n let stringModifiedAfter = modifiedAfterTimestamp != null ? modifiedAfterTimestamp : null;\r\n let stringModifiedBefore = modifiedBeforeTimestamp != null ? modifiedBeforeTimestamp : null;\r\n var params;\r\n if (modifiedAfterTimestamp && modifiedBeforeTimestamp) {\r\n params = {\r\n modifiedAfterTimestamp: stringModifiedAfter,\r\n modifiedBeforeTimestamp: stringModifiedBefore,\r\n };\r\n }\r\n if (modifiedAfterTimestamp) {\r\n params = {\r\n modifiedAfterTimestamp: stringModifiedAfter,\r\n };\r\n }\r\n if (modifiedBeforeTimestamp) {\r\n params = {\r\n modifiedBeforeTimestamp: stringModifiedBefore,\r\n };\r\n }\r\n return params;\r\n }\r\n\r\n resultsObj: string =\r\n '[{\"Tenant\":\"EasyEnergy\",\"Process\":\"MeasurementCollectionSmallestGranularity\",\"ConnectionId\":\"871687800000166695\",\"ModifiedTimestamp\":\"2020-08-24T22:01:49.3200924+02 Europe/Amsterdam\",\"ProgressedUntil\":\"2020-08-24T00:00:00+02 Europe/Amsterdam\",\"Context\":[{\"MeasurementTimestampRange\":\"2020-08-14T22:00:00Z : 2020-08-15T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-15T19:50:08.513792Z\"],\"ResponseTimestamps\":[\"2020-08-16T03:23:51.9285982Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-15T22:00:00Z : 2020-08-16T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-16T19:57:53.067875Z\"],\"ResponseTimestamps\":[\"2020-08-17T06:04:07.9660576Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-16T22:00:00Z : 2020-08-17T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-17T20:00:00.0071056Z\"],\"ResponseTimestamps\":[\"2020-08-18T05:56:12.406412Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-17T22:00:00Z : 2020-08-18T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-18T19:58:49.5631249Z\"],\"ResponseTimestamps\":[\"2020-08-18T22:59:56.664037Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-18T22:00:00Z : 2020-08-19T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-19T20:04:47.4122825Z\"],\"ResponseTimestamps\":[\"2020-08-20T01:04:01.9809936Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-19T22:00:00Z : 2020-08-20T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-20T20:07:25.0701612Z\"],\"ResponseTimestamps\":[\"2020-08-21T09:01:40.288028Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-20T22:00:00Z : 2020-08-21T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-21T20:00:32.3545733Z\"],\"ResponseTimestamps\":[\"2020-08-22T01:16:25.2398102Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-21T22:00:00Z : 2020-08-22T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-22T20:02:54.0642256Z\"],\"ResponseTimestamps\":[\"2020-08-22T23:00:35.827071Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-22T22:00:00Z : 2020-08-23T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-23T19:56:17.3695686Z\"],\"ResponseTimestamps\":[\"2020-08-24T09:03:10.2087695Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-23T22:00:00Z : 2020-08-24T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-24T20:01:49.3202651Z\"],\"ResponseTimestamps\":[],\"ResponseType\":\"None\"}],\"ContextType\":\"Newtonsoft.Json.Linq.JArray, Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed\"},{\"Tenant\":\"EasyEnergy\",\"Process\":\"MeasurementCollectionStartOfDay\",\"ConnectionId\":\"871687800000166695\",\"ModifiedTimestamp\":\"2020-08-24T23:12:12.5848091+02 Europe/Amsterdam\",\"ProgressedUntil\":\"2020-08-25T00:00:00+02 Europe/Amsterdam\",\"Context\":[{\"MeasurementTimestampRange\":\"2020-08-14T22:00:00Z : 2020-08-15T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-15T19:50:08.3701024Z\"],\"ResponseTimestamps\":[\"2020-08-15T21:13:19.9414801Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-15T22:00:00Z : 2020-08-16T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-16T19:57:52.8933599Z\"],\"ResponseTimestamps\":[\"2020-08-16T21:09:37.6321831Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-16T22:00:00Z : 2020-08-17T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-17T19:59:59.9293782Z\"],\"ResponseTimestamps\":[\"2020-08-17T21:10:44.3274146Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-17T22:00:00Z : 2020-08-18T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-18T19:58:49.3559705Z\"],\"ResponseTimestamps\":[\"2020-08-18T21:12:12.2350633Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-18T22:00:00Z : 2020-08-19T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-19T20:04:47.0898602Z\"],\"ResponseTimestamps\":[\"2020-08-19T21:10:40.3640021Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-19T22:00:00Z : 2020-08-20T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-20T20:07:24.8727596Z\"],\"ResponseTimestamps\":[\"2020-08-21T11:01:14.3741305Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-20T22:00:00Z : 2020-08-21T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-21T20:00:32.3109109Z\"],\"ResponseTimestamps\":[\"2020-08-21T21:17:36.8868123Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-21T22:00:00Z : 2020-08-22T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-22T20:02:53.7695587Z\"],\"ResponseTimestamps\":[\"2020-08-22T21:15:55.4094193Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-22T22:00:00Z : 2020-08-23T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-23T19:56:17.1838096Z\"],\"ResponseTimestamps\":[\"2020-08-23T21:16:39.9278315Z\"],\"ResponseType\":\"Complete\"},{\"MeasurementTimestampRange\":\"2020-08-23T22:00:00Z : 2020-08-24T22:00:00Z\",\"GridOperatorId\":\"8716878999996\",\"Requester\":\"Supplier\",\"RequestTimestamps\":[\"2020-08-24T20:01:49.0350376Z\"],\"ResponseTimestamps\":[\"2020-08-24T21:12:12.5847811Z\"],\"ResponseType\":\"Complete\"}],\"ContextType\":\"Newtonsoft.Json.Linq.JArray, Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed\"},{\"Tenant\":\"EasyEnergy\",\"Process\":\"MeasurementCorrection\",\"ConnectionId\":\"871687800000166695\",\"ModifiedTimestamp\":\"2020-07-17T02:02:50.626138+02 Europe/Amsterdam\",\"ProgressedUntil\":\"2020-07-10T00:00:00+02 Europe/Amsterdam\",\"Context\":null,\"ContextType\":null}]';\r\n\r\n getAll(processes: Process[] | string[], connectionIds: string[]): Promise {\r\n // WARNING: This call fails when entering a too large list of processes.\r\n var params = {};\r\n // If undefined?\r\n // does not work.\r\n // params[\"process\"] = processes.map(p => Process[p].toString());\r\n params['process'] = processes;\r\n params['connectionId'] = connectionIds;\r\n // The parameter that defines a client's process (tenant specific)\r\n let tenants = this.tenantService.getCurrentTenantsFromLocalStorage();\r\n if (tenants.length == 1) {\r\n // This results in wanted, yet unwanted behavior, namelijk only limits the results to processes of the tenant. Which for EE are 2,\r\n // due to inconsistency we removed the tenants in query in total\r\n // params[\"tenant\"] = tenants.map(t => t);\r\n }\r\n if (tenants.length > 0) {\r\n }\r\n return new Promise((resolve, reject) => {\r\n this.http.get(DEFINE_URL() + URL, { params }).subscribe(\r\n // result => resolve(result),\r\n // result => resolve(ObjectParser.readObject(\"ProcessProgresss\", JSON.parse(this.resultsObj))), // Mock\r\n (result) => resolve(ObjectParser.readObject('ProcessProgresss', result)),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n advanceProgress(connectionId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.put(DEFINE_URL() + URL + '/' + connectionId, '').subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n\r\n deleteProgress(connectionId: string, processes: Process[]): Promise {\r\n var params = {};\r\n params['process'] = processes;\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.delete(DEFINE_URL() + URL + '/' + connectionId, { params }).subscribe(\r\n (result) => resolve(result),\r\n (error) => reject(error),\r\n );\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RouterService {\r\n constructor() {}\r\n\r\n getQueryParams(route: ActivatedRoute): Array {\r\n let parameters = [];\r\n route.queryParamMap.subscribe((paramsAsMap) => {\r\n let asMap: any = paramsAsMap;\r\n if (paramsAsMap == undefined || paramsAsMap == undefined || Object.keys(paramsAsMap).length === 0) {\r\n return null;\r\n }\r\n for (const [key, value] of Object.entries(asMap.params)) {\r\n let paramAsObj = { parameter: key, value: value };\r\n parameters.push(paramAsObj);\r\n }\r\n });\r\n return parameters;\r\n }\r\n\r\n getQueryParameters(route: ActivatedRoute) {\r\n let parameters;\r\n route.queryParamMap.subscribe((params) => {\r\n parameters = params;\r\n });\r\n return parameters;\r\n }\r\n\r\n updateParameters(route: ActivatedRoute, router: Router, queryParams: Params) {\r\n router.navigate([], {\r\n relativeTo: route,\r\n queryParams,\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n replaceUrl: true,\r\n });\r\n }\r\n\r\n clearAllParameters(route: ActivatedRoute, router: Router) {\r\n router.navigate([], {\r\n relativeTo: route,\r\n queryParams: {},\r\n replaceUrl: true,\r\n });\r\n }\r\n\r\n setParameters(route: ActivatedRoute, router: Router, queryParams: Params, clearCurrentParams?: boolean) {\r\n if (clearCurrentParams) {\r\n this.clearAllParameters(route, router);\r\n }\r\n router.navigate([], {\r\n relativeTo: route,\r\n queryParams,\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n replaceUrl: true,\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SearchHistoryService {\r\n constructor() {}\r\n\r\n public setSearcHistoryItems(searchstring: String) {\r\n // Get localstrorage\r\n let history = JSON.parse(localStorage.getItem('searchhistory'));\r\n // Check if undefined\r\n if (history == undefined) {\r\n history = [];\r\n }\r\n // Check if the same / then don't add\r\n if (history.includes(searchstring)) {\r\n // Do nothing\r\n return;\r\n }\r\n // Check if more less than 10, than push, more than 10, remove oldest and push new.\r\n if (history.length == 11) {\r\n // Remove the first item\r\n history.shift();\r\n }\r\n history.push(searchstring);\r\n localStorage.setItem('searchhistory', JSON.stringify(history));\r\n }\r\n\r\n public getSearcHistoryItems(): String[] {\r\n // Serialize object in localstorage\r\n if (localStorage['searchhistory'] == undefined) {\r\n localStorage.setItem('searchhistory', JSON.stringify([]));\r\n return [];\r\n }\r\n let searchhistory = JSON.parse(localStorage.getItem('searchhistory'));\r\n\r\n return searchhistory;\r\n }\r\n\r\n public clearSearchHistoryItems() {\r\n localStorage.setItem('searchhistory', JSON.stringify([]));\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { DEFINE_URL } from '../constants';\r\nimport { SBMessageRequest, SBMessageTargetType } from '../modules/operations-api';\r\n\r\nconst serviceBusEndpoint = '/SBPassthrough';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ServiceBusService {\r\n // FIXME ID -> postToServiceBus can become an openApi call.\r\n constructor(\r\n private http: HttpClient,\r\n ) { }\r\n\r\n async triggerSyncForecasts() {\r\n return Promise.all([\r\n this.postToServiceBus(forecastCollectionDexterClusterCommand),\r\n this.postToServiceBus(forecastCollectionDexterConnectionCommand),\r\n ])\r\n }\r\n\r\n async triggerConsolidationCorrectorForConnections(connectionIds: Array) {\r\n const consolidatorServiceBusTargetName = 'consolidation_priority';\r\n const processesToRun = Array(\r\n \"ConsolidationCorrection\", \r\n \"ConsolidationLargeCapacityDistribution\",\r\n \"ConsolidationDataCompletion\", \r\n \"ConsolidationEstimation\");\r\n\r\n const TargetName = consolidatorServiceBusTargetName\r\n const Message = JSON.stringify({ ConnectionIds: connectionIds, ProcessesToRun: processesToRun })\r\n const TargetType = SBMessageTargetType.Queue;\r\n\r\n const sbMessage: SBMessageRequest = {\r\n TargetName,\r\n Message,\r\n TargetType\r\n }\r\n return await this.postToServiceBus(sbMessage)\r\n }\r\n\r\n async postToServiceBus(sBMessageRequest: SBMessageRequest) {\r\n return await this.http.post(DEFINE_URL() + serviceBusEndpoint, sBMessageRequest, {}).toPromise();\r\n }\r\n\r\n async triggerProccesses() {\r\n // for each process call a servicebus?\r\n // One endpoint that does it for me (hey, trigger process endpoint again!)\r\n }\r\n\r\n async triggerProcess(processingMessage) {\r\n // FIXME ID DELETE if ServiceBus is the new standard -> The OLD endpoint for triggering processes\r\n const triggerURL = '/admin/ManualProcess/TriggerProcess';\r\n console.log(processingMessage);\r\n return await this.http.put(DEFINE_URL() + triggerURL, { ...processingMessage }).toPromise();\r\n }\r\n}\r\n\r\n\r\n\r\nexport const forecastCollectionDexterClusterCommand = {\r\n \"TargetName\": \"ForecastCollectionDexterClusterCommand\",\r\n \"Message\": \"{}\",\r\n \"TargetType\": SBMessageTargetType.Queue\r\n}\r\n\r\nexport const forecastCollectionDexterConnectionCommand = {\r\n \"TargetName\": \"ForecastCollectionDexterConnectionCommand\",\r\n \"Message\": \"{}\",\r\n \"TargetType\": SBMessageTargetType.Queue\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Interval } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst URL = '/admin/Sync/SyncForConnection';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SyncService {\r\n constructor(private http: HttpClient) {}\r\n\r\n sync(syncerTypes: string[], connectionId: string, interval?: Interval) {\r\n let params: any = {\r\n syncerTypes,\r\n connectionId,\r\n };\r\n params = interval ? { interval: interval?.toDateRangeString(), ...params } : params;\r\n\r\n return this.http.post(DEFINE_URL() + URL, {}, { params }).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Enums, Tenant } from '../Connection';\r\nimport { EnumsService } from './enum.service';\r\nimport { ErrorService } from './ErrorService';\r\n\r\nconst URL: string = '/issues';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantService {\r\n constructor(\r\n private enumsService: EnumsService,\r\n private errorService: ErrorService\r\n ) { }\r\n\r\n setCurrentTenantsToLocalStorage(tenant: Tenant[]) {\r\n localStorage.setItem('tenants', JSON.stringify(tenant));\r\n }\r\n\r\n setDefaultTenants() {\r\n // All tenants\r\n this.setAllTenantsAsDefaultTenants()\r\n }\r\n\r\n async setAllTenantsAsDefaultTenants() {\r\n // All tenants\r\n const allTenantEnums = await this.enumsService.getAll(Enums.Tenant)\r\n const allTenants: Tenant[] = allTenantEnums.map((r) => r.Value as Tenant)\r\n localStorage.setItem('tenants', JSON.stringify(allTenants));\r\n return allTenants;\r\n }\r\n\r\n getCurrentTenantsFromLocalStorage(): Tenant[] {\r\n const localStorageTenants = localStorage.getItem('tenants');\r\n\r\n this.getTenantsFromLocalStorage();\r\n\r\n if (localStorageTenants === undefined || localStorageTenants === null) {\r\n console.warn('No tenant was set, defaulting to NS en EE');\r\n this.setDefaultTenants(); // Sets all Tenant to the localstorage\r\n // werkt met return statement omdat nog niet is overgezet naar functie hieronder.. wegens vele afhankelijkheden\r\n return [Tenant.NieuweStroom, Tenant.EasyEnergy];\r\n }\r\n\r\n if (!localStorageTenants.startsWith('[') && !localStorageTenants.endsWith(']')) {\r\n this.setDefaultTenants()\r\n return [Tenant.NieuweStroom, Tenant.EasyEnergy];\r\n }\r\n\r\n const parsedTenants: Tenant[] = JSON.parse(localStorageTenants);\r\n\r\n if (parsedTenants.every(t => t === Tenant[t])) {\r\n return parsedTenants\r\n } else {\r\n this.setDefaultTenants()\r\n return [Tenant.NieuweStroom, Tenant.EasyEnergy];\r\n }\r\n }\r\n\r\n // FIXME ID -> change all dependencies on getcurrenttenant and change to this async function (probably also loading has to be implemented?)\r\n async getTenantsFromLocalStorage(): Promise {\r\n // FIXME ID Techdebt, not clean code (pre async await knowledge.)\r\n const localStorageTenants = localStorage.getItem('tenants');\r\n // Check if set in localstorage\r\n if (localStorageTenants === undefined || localStorageTenants === null) {\r\n console.warn('No tenant was set, defaulting to NS en EE');\r\n return await this.setAllTenantsAsDefaultTenants(); // Sets all Tenant to the localstorage\r\n }\r\n // check for invalid variable(read a previously stored variable, which was not an array made the frondend crash, due to JSON parse)\r\n if (!localStorageTenants.startsWith('[') && !localStorageTenants.endsWith(']')) {\r\n return await this.setAllTenantsAsDefaultTenants();\r\n }\r\n\r\n const parsedTenants: Tenant[] = JSON.parse(localStorageTenants);\r\n return parsedTenants.every(t => t === Tenant[t])\r\n ? parsedTenants\r\n : await this.setAllTenantsAsDefaultTenants()\r\n }\r\n\r\n getCurrentTenantFromConnection(connection): Tenant {\r\n if (connection === undefined) throw new Error('Geen aansluiting gevonden.')\r\n if (connection.CustomerConnections === undefined || connection.CustomerConnections.length === 0) throw new Error('Geen klant gevonden voor deze aansluiting')\r\n return connection.CustomerConnections[connection.CustomerConnections.length - 1].Customer.Tenant;\r\n }\r\n}\r\n","import * as moment from 'moment-timezone';\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Granularity, Interval } from '../Connection';\r\nimport { MOMENT_DATE_FORMAT, MOMENT_TIME_FORMAT } from '../constants';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TimeTools {\r\n constructor() { }\r\n\r\n public static utcDateTimeObjectToMoment(dateTimeObject?: any): moment.Moment | null {\r\n if (dateTimeObject == null) return null;\r\n return moment.utc(dateTimeObject.UtcDateTime).local();\r\n }\r\n\r\n public static intersect(a: Interval, b: Interval): Interval | null {\r\n if ((!!b.From && !!a.Until && b.From > a.Until) || (!!a.From && !!b.Until && a.From > b.Until)) {\r\n return null;\r\n }\r\n\r\n const from = !!a.From && !!b.From ? moment.max(a.From, b.From) : a.From ?? b.From;\r\n\r\n const until = !!a.Until && !!b.Until ? moment.min(a.Until, b.Until) : a.Until ?? b.Until;\r\n\r\n return new Interval(from, until);\r\n }\r\n\r\n public static makeIntervalsArrayOf(interval: Interval, granularity: Granularity) {\r\n let rangeArray: Interval[] = [];\r\n const conditionToContinue = granularity && interval.From && interval.Until && interval.Until.diff(interval.From, granularity as any) > 1;\r\n if (!conditionToContinue) {\r\n return null;\r\n } // or throwError due to user interface logic\r\n\r\n const start = interval.From.set({ hours: 0, minutes: 0 }).format(MOMENT_DATE_FORMAT);\r\n // until is set to 0:00 else it gets an interval up until now. That should be done using an Until of a next day for consistency\r\n const until = interval.Until.set({ hours: 0, minutes: 0 });\r\n\r\n if (granularity === Granularity.QuarterHour) {\r\n for (let m = moment(start); m.diff(until, 'minutes') < 0; m.add(15, 'minutes')) {\r\n const end = moment(m.format(MOMENT_TIME_FORMAT)).add(15, 'minutes');\r\n const cleanFrom = moment(m.format(MOMENT_TIME_FORMAT));\r\n const cleanUntil = moment(end.format(MOMENT_TIME_FORMAT));\r\n rangeArray.push(new Interval(cleanFrom, cleanUntil));\r\n }\r\n }\r\n\r\n if (granularity !== Granularity.QuarterHour) {\r\n // thus day and beyond.\r\n for (let m = moment(start); m.diff(until, 'days') < 0; m.add(1, granularity as any)) {\r\n const end = moment(m.format(MOMENT_TIME_FORMAT)).add(1, granularity as any);\r\n const cleanFrom = moment(m.format(MOMENT_TIME_FORMAT));\r\n const cleanUntil = moment(end.format(MOMENT_TIME_FORMAT));\r\n rangeArray.push(new Interval(cleanFrom, cleanUntil));\r\n }\r\n }\r\n return rangeArray;\r\n }\r\n\r\n intervalToMoment(interval: any): moment.Moment[] {\r\n return [TimeTools.utcDateTimeObjectToMoment(interval.From), TimeTools.utcDateTimeObjectToMoment(interval.Until)];\r\n }\r\n}\r\n","\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Tenant } from '../Connection';\r\nimport { DEFINE_URL } from '../constants';\r\n\r\nconst URL: string = '/views/energybalanceview';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TotalBalanceService {\r\n constructor(private http: HttpClient) { }\r\n\r\n getLatest(company: Tenant[]): Promise {\r\n return new Promise((resolve) => {\r\n this.http.get(DEFINE_URL() + URL + '/latest?tenantName=' + company).subscribe((result) => {\r\n console.log(result);\r\n resolve(result);\r\n });\r\n });\r\n }\r\n\r\n getAll(company: Tenant[], sForm: any, sUntil: any, iFrom: any, iUntil: any): Promise {\r\n return new Promise((resolve) => {\r\n this.http\r\n .get(\r\n DEFINE_URL() +\r\n URL +\r\n '?tenantName=' +\r\n company +\r\n '&suppliedFrom=' +\r\n sForm +\r\n '&suppliedUntil=' +\r\n sUntil +\r\n '&invoicedFrom=' +\r\n iFrom +\r\n '&invoicedUntil=' +\r\n iUntil,\r\n )\r\n .subscribe((result) => resolve(result));\r\n });\r\n }\r\n\r\n get(company: Tenant[], customerId: number, connectionId: number, sForm: any, sUntil: any, iFrom: any, iUntil: any) {\r\n return new Promise((resolve) => {\r\n this.http\r\n .get(\r\n DEFINE_URL() +\r\n URL +\r\n '/' +\r\n customerId +\r\n '/' +\r\n connectionId +\r\n '?tenantName=' +\r\n company +\r\n '&suppliedFrom=' +\r\n sForm +\r\n '&suppliedUntil=' +\r\n sUntil +\r\n '&invoicedFrom=' +\r\n iFrom +\r\n '&invoicedUntil=' +\r\n iUntil,\r\n )\r\n .subscribe((result) => resolve(result));\r\n });\r\n }\r\n\r\n pad(number: number): string {\r\n if (number < 10) {\r\n return '0' + number;\r\n }\r\n return '' + number;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { ITranslation, ITranslationCategory, TranslationCategory } from '../Dashboards/TranslationDashboard/TranslationCategory';\r\nimport { CacheTypes, CachingService } from './caching.service';\r\nimport { TranslationService } from './translation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslationFromMemoryOrApiService {\r\n private inMemoryTranslations: null | TranslationCategory[]; // { FrontendIssues (domain + category): { ITranslationCategory }\r\n private language = 'NL';\r\n private initialized = false;\r\n\r\n constructor(private translationService: TranslationService, private cachingService: CachingService) {}\r\n\r\n // haveInMemory? get translation / no set it\r\n // get the object to set from cache, is there and active use, if not get from api.\r\n // Set in memory\r\n // getTranslation returns this memory list\r\n\r\n // TODO ID\r\n // In the future, dynamically build that currentInMemoryTranslation for the extra categorries we request.\r\n // but take in account caching then too, should be per category of we could hold states very long theoritically.\r\n initializeTranslations = async () => (this.inMemoryTranslations = await this.getTranslationFromSource());\r\n // Can be improved using Lock\r\n\r\n getTranslationFromSource = async () => {\r\n const cache = this.getCache();\r\n const emptyCache = cache === null || (cache as any).length === 0 || !translationCategoryTypeCheck(cache);\r\n const translations = emptyCache ? await this.translationService.getTranslations() : cache;\r\n\r\n if (emptyCache) {\r\n this.setCache(translations);\r\n }\r\n return translations;\r\n };\r\n\r\n getCache = () => this.cachingService.get(CacheTypes.Translations);\r\n setCache = (listOfTranslations) => this.cachingService.put(CacheTypes.Translations, listOfTranslations, 1);\r\n clearCache = () => this.cachingService.clear(CacheTypes.Translations);\r\n\r\n getTranslationList = () => this.inMemoryTranslations;\r\n\r\n getTranslationListByName = (name) => this.inMemoryTranslations.find((l) => l.Id.Name === name);\r\n\r\n getTranslation(translationDomain, translationCategoryName, translationName): string {\r\n if (!this.inMemoryTranslations) {\r\n console.error('No translation list in memory');\r\n }\r\n const translation = this.getTranslationFromListOrDefault({ translationDomain, translationCategoryName, translationName });\r\n return translation;\r\n }\r\n\r\n updateTranslationCategory = (updatedCategory: ITranslationCategory) => {\r\n // update database\r\n this.translationService.update(updatedCategory);\r\n // Update memory and cache\r\n this.inMemoryTranslations = this.inMemoryTranslations.map((t) => (updatedCategory.Id.Name === t.Id.Name ? updatedCategory : t));\r\n this.setCache(this.inMemoryTranslations);\r\n };\r\n\r\n getTranslationFromListOrDefault(parameters): string {\r\n // translationElement\r\n const matchedCategory: ITranslationCategory = this.inMemoryTranslations?.find(\r\n (list) => list.Id.TranslationDomainName === parameters.translationDomain && list.Id.Name === parameters.translationCategoryName,\r\n );\r\n const matchedTranslation: ITranslation = matchedCategory?.Translations?.find((t) => t.Name === parameters.translationName);\r\n const translation: string | undefined = matchedTranslation?.TranslationValues.find((v) => v.Language === this.language)?.Value;\r\n return translation ?? parameters.translationName;\r\n }\r\n}\r\n\r\nexport const translationCategoryTypeCheck = (variableToCheck: any): variableToCheck is TranslationCategory[] =>\r\n (variableToCheck[0] as TranslationCategory).Id !== undefined && (variableToCheck[0] as TranslationCategory).Translations !== undefined;\r\n","\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { DEFINE_URL } from '../constants';\r\nimport { ITranslationCategory } from '../Dashboards/TranslationDashboard/TranslationCategory';\r\n\r\nconst URL = '/admin/TranslationCategory';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslationService {\r\n\r\n translations;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n ) { }\r\n\r\n getTranslations = async () => this.translations ? this.translations : await this.initializeTranslations();\r\n\r\n initializeTranslations = async (): Promise => this.translations = this.getAll();\r\n\r\n getAll = async (): Promise => await this.http.get(DEFINE_URL() + URL + '/Ids').toPromise();\r\n\r\n get = async (translationDomainName: string, name: string): Promise => await this.http.get(DEFINE_URL() + URL + `/${translationDomainName}/${name}`).toPromise();\r\n\r\n update = async (translationCategory: ITranslationCategory): Promise => await this.http.put(DEFINE_URL() + URL + '/' + translationCategory.Id.TranslationDomainName + '/' + translationCategory.Id.Name, translationCategory).toPromise();\r\n\r\n create = async (translationCategory: ITranslationCategory): Promise => await this.http.post(DEFINE_URL() + URL, translationCategory).toPromise();\r\n\r\n}\r\n","interface IUrlPerEnvironment {\r\n localUrl: string;\r\n stagingUrl: string;\r\n productionUrl: string;\r\n}\r\n\r\ninterface IApiConfig extends IUrlPerEnvironment {\r\n defaultAuthScope: string;\r\n}\r\n\r\ninterface IApiConfigWithLocalAndStagingAuth extends IApiConfig {\r\n localAuthScope: string;\r\n stagingAuthScope: string;\r\n}\r\n\r\nexport const redirectUrls = {\r\n localUrl: 'http://localhost:4200/login',\r\n stagingUrl: 'https://operations-stage.nieuwestroom.nl/login',\r\n productionUrl: 'https://operations.nieuwestroom.nl/login',\r\n} as IUrlPerEnvironment;\r\n\r\nexport const operationsApi = {\r\n localUrl: 'https://localhost:44323',\r\n stagingUrl: 'https://api-stage.nieuwestroom.nl',\r\n productionUrl: 'https://api.nieuwestroom.nl',\r\n defaultAuthScope: 'https://nieuwestroomapiservice-staging.azurewebsites.net/user_impersonation',\r\n} as IApiConfig;\r\n\r\nexport const onboardingApi = {\r\n localUrl: 'https://localhost:56950',\r\n stagingUrl: 'https://minimalapi-stage.nieuwestroom.nl/onboarding',\r\n productionUrl: 'https://minimalapi.nieuwestroom.nl/onboarding',\r\n defaultAuthScope: 'api://minimalapi/.default',\r\n} as IApiConfig;\r\n\r\nexport const onboardingWelcomeLettersApi = {\r\n localUrl: 'https://localhost:62079',\r\n stagingUrl: 'https://minimalapi-stage.nieuwestroom.nl/onboarding/welcomeletters',\r\n productionUrl: 'https://minimalapi.nieuwestroom.nl/onboarding/welcomeletters',\r\n defaultAuthScope: 'api://minimalapi/.default',\r\n} as IApiConfig;\r\n\r\nexport const supplyingApi = {\r\n localUrl: 'https://localhost:53107',\r\n stagingUrl: 'https://minimalapi-stage.nieuwestroom.nl/supplying',\r\n productionUrl: 'https://minimalapi.nieuwestroom.nl/supplying',\r\n defaultAuthScope: 'api://minimalapi/.default',\r\n} as IApiConfig;\r\n\r\nexport const tradingApi = {\r\n localUrl: 'https://localhost:52462',\r\n stagingUrl: 'https://minimalapi-stage.nieuwestroom.nl/trading',\r\n productionUrl: 'https://minimalapi.nieuwestroom.nl/trading',\r\n defaultAuthScope: 'api://minimalapi/.default',\r\n} as IApiConfig;\r\n\r\nexport const reconciliationApi = {\r\n localUrl: 'https://localhost:7112/api',\r\n stagingUrl: 'https://reconciliation-stage.nieuwestroom.nl/api',\r\n productionUrl: 'https://reconciliation.nieuwestroom.nl/api',\r\n defaultAuthScope: 'api://reconciliation.dashboard/dashboard',\r\n localAuthScope: 'api://reconciliation-dev.dashboard/dashboard',\r\n stagingAuthScope: 'api://reconciliation-stage.dashboard/dashboard',\r\n} as IApiConfigWithLocalAndStagingAuth;\r\n\r\nexport const tradingForecastUi = {\r\n localUrl: 'https://localhost:60747',\r\n stagingUrl: 'https://forecast-acc.nieuwestroom.nl/',\r\n productionUrl: 'https://forecast.nieuwestroom.nl/',\r\n} as IUrlPerEnvironment;\r\n\r\nexport const tradingDealsUi = {\r\n localUrl: 'https://localhost:60747',\r\n stagingUrl: 'https://deals-acc.nieuwestroom.nl/',\r\n productionUrl: 'https://deals.nieuwestroom.nl/',\r\n} as IUrlPerEnvironment;\r\n\r\nexport const protectedResourceMap = new Map([\r\n ['https://graph.microsoft-ppe.com/v1.0/me', ['user.read']],\r\n\r\n [operationsApi.localUrl, [operationsApi.defaultAuthScope]],\r\n [operationsApi.stagingUrl, [operationsApi.defaultAuthScope]],\r\n [operationsApi.productionUrl, [operationsApi.defaultAuthScope]],\r\n\r\n [onboardingApi.localUrl, [onboardingApi.defaultAuthScope]],\r\n [onboardingApi.stagingUrl, [onboardingApi.defaultAuthScope]],\r\n [onboardingApi.productionUrl, [onboardingApi.defaultAuthScope]],\r\n\r\n [onboardingWelcomeLettersApi.localUrl, [onboardingWelcomeLettersApi.defaultAuthScope]],\r\n [onboardingWelcomeLettersApi.stagingUrl, [onboardingWelcomeLettersApi.defaultAuthScope]],\r\n [onboardingWelcomeLettersApi.productionUrl, [onboardingWelcomeLettersApi.defaultAuthScope]],\r\n\r\n [supplyingApi.localUrl, [supplyingApi.defaultAuthScope]],\r\n [supplyingApi.stagingUrl, [supplyingApi.defaultAuthScope]],\r\n [supplyingApi.productionUrl, [supplyingApi.defaultAuthScope]],\r\n\r\n [tradingApi.localUrl, [tradingApi.defaultAuthScope]],\r\n [tradingApi.stagingUrl, [tradingApi.defaultAuthScope]],\r\n [tradingApi.productionUrl, [tradingApi.defaultAuthScope]],\r\n\r\n [reconciliationApi.localUrl, [reconciliationApi.localAuthScope]],\r\n [reconciliationApi.stagingUrl, [reconciliationApi.stagingAuthScope]],\r\n [reconciliationApi.productionUrl, [reconciliationApi.defaultAuthScope]],\r\n]);\r\n\r\nconst isLocal = localStorage['target-enviroment'] === 'local';\r\nconst isProduction = window.location.href.startsWith('https://operations.nieuwestroom.nl');\r\nconst isStaging = window.location.href.startsWith('https://operations-stage.nieuwestroom.nl');\r\n\r\nexport const environment = {\r\n production: isProduction,\r\n\r\n msal: {\r\n clientId: '121623cd-fdc8-4272-9206-8e07bf6b1742',\r\n authority: 'https://login.microsoftonline.com/b65f2e69-e0ed-4835-896a-2e51e05f5da2',\r\n protectedResourceMap,\r\n scopes: ['user.read'],\r\n },\r\n\r\n redirectUrl: isProduction ? redirectUrls.productionUrl : isStaging ? redirectUrls.stagingUrl : redirectUrls.localUrl,\r\n\r\n getOperationsApiUrl: () =>\r\n isProduction ? operationsApi.productionUrl : localStorage['target-enviroment'] === 'local' ? operationsApi.localUrl : operationsApi.stagingUrl,\r\n\r\n getOnboardingApiUrl: () =>\r\n isProduction ? onboardingApi.productionUrl : localStorage['target-enviroment'] === 'local' ? onboardingApi.localUrl : onboardingApi.stagingUrl,\r\n\r\n getOnboardingWelcomeLettersApiUrl: () =>\r\n isProduction\r\n ? onboardingWelcomeLettersApi.productionUrl\r\n : localStorage['target-enviroment'] === 'local'\r\n ? onboardingWelcomeLettersApi.localUrl\r\n : onboardingWelcomeLettersApi.stagingUrl,\r\n\r\n getSupplyingApiUrl: () =>\r\n isProduction ? supplyingApi.productionUrl : localStorage['target-enviroment'] === 'local' ? supplyingApi.localUrl : supplyingApi.stagingUrl,\r\n\r\n getTradingApiUrl: () =>\r\n isProduction ? tradingApi.productionUrl : localStorage['target-enviroment'] === 'local' ? tradingApi.localUrl : tradingApi.stagingUrl,\r\n\r\n getReconciliationApiUrl: () =>\r\n isProduction ? reconciliationApi.productionUrl : isLocal ? reconciliationApi.localUrl : reconciliationApi.stagingUrl,\r\n\r\n getTradingForecastUiUrl: () =>\r\n isProduction\r\n ? tradingForecastUi.productionUrl\r\n : localStorage['target-enviroment'] === 'local'\r\n ? tradingForecastUi.localUrl\r\n : tradingForecastUi.stagingUrl,\r\n\r\n getTradingDealsUiUrl: () =>\r\n isProduction ? tradingDealsUi.productionUrl : localStorage['target-enviroment'] === 'local' ? tradingDealsUi.localUrl : tradingDealsUi.stagingUrl,\r\n};\r\n","import { environment as defaultEnvironment } from './environment.defaults';\r\n\r\nexport const environment = {\r\n ...defaultEnvironment,\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from '@environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic()\r\n .bootstrapModule(AppModule)\r\n .catch((err) => console.error(err));\r\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["EventEmitter","i0","AcmFilterComponent","constructor","enumsService","errorService","tenantService","acmService","ngOnInit","selectedFilterObject","Object","assign","filters","inSelected","value","key","selected","includes","clearvalues","filter","filterOnValue","removeValueFromArray","push","emitFilters","array","index","indexOf","splice","selectedFilters","emit","selectors","inputs","outputs","decls","vars","consts","template","Chart","AcmGraphComponent","ngOnChanges","changes","grouped","createChart","distinct","data","flags","entry","createACMSeries","groupedReport","series","forEach","report","serieobj","seriesname","productType","invoiceType","mutationReason","seriesstack","seriesdata","list","map","stat","onTimePercentage","undefined","from","moment","valueOf","name","chart","type","animation","zooming","time","useUTC","tooltip","enabled","boost","useGPUTranslations","title","text","subtitle","xAxis","yAxis","min","max","legend","credits","ngOnDestroy","features","AcmReportStatistic","MeasurementMutationReason","asList","groupBy","BlobCreateHelper","Acm","AcmReportTableComponent","filteredAcmReport","length","newACMreport","console","log","reportDates","getDates","reports","perProductType","thisIsTheReportYouAreLookingFor","product","makeACMReport","acmReport","regularInvoiceRuns","listOfstats","regular","regularOnDate","mapReportStatisticOnDate","start","end","first","reduce","a","b","last","format","dates","m","diff","add","listOfStatistics","listByMonth","populate","reportForMonth","statForL32","processMonth","subtract","l32processMonth","listofl11","MOVEIN","finalmoveinandout","MOVEOUT","listofl13","combineToTotal","MOVETOT","listofl21","SWITCHLV","finalswitchlveo","EOSUPPLY","listofl23","SWITCHTOT","listofl31","l11","l13","l21","l23","l31","l32","l33","AcmSectionL1","AcmSectionL11","AcmSectionL12","AcmSectionL13","AcmSectionL14","AcmSectionL2","AcmSectionL21","AcmSectionL22","AcmSectionL23","AcmSectionL24","AcmSectionL3","AcmSectionL31","AcmSectionL32","AcmSectionL33","reportperproduct","singleACMReportOf","event","selectedDate","reportOfSingleMonth","acmReportOfDateDate","process","L32","acmReportOfDate","showPercentageAndTotal","subsection","sectionsToShowOnlyNumber","sectionsToShowNumberAndPercentages","some","el","showOnlyTotal","showAcmL32","showAcmL33","resetSingleACMReportPopup","acmstats","combinedList","until","combined","setOfStatistics","creditperc","ontimeperc","tot","totCredit","totOnTime","total","totalOnTime","totalCredit","mutation","toString","openDeadlines","openInvoices","flat","missedDeadlines","missedDeadline","closedInvoices","closedInvoicesInValidRange","totOpenOf12","sort","totalOpenInvoiceDeadlinesOfLast12Months","isLargeCapacity","setAcmPopup","clickedACMstat","setDeadlinesPopup","deadlines","deadlinesToView","downloadCurrentList","commatype","month","From","InvoiceType","reason","MutationReason","filename","makeCSVData","downloadCSV","comma","breakcsv","csvData","deadline","ConnectionId","CustomerId","InvoiceNumber","reportDate","ctx","Enums","AcmCreateReportComponent","originalAcmReport","getStatistics","getMutationReasons","setUniqueValues","groupForTable","anicenumber","groupy","getReport","resetFilters","selectedMutationReasons","selectedInvoiceTypes","selectedReport","getMoveInAndOutReport","getAll","then","result","enumdescription","Value","concat","mutationReasons","yearsList","years","Array","Set","invoiceList","invoiceTypes","removeUnusedReasons","acmReportStatistics","listOfAcmReport","numberOfTotal","applyFilters","selectedYears","invoicetype","selectedProductTypes","producttype","newListOfAcmReport","acm","inSelectedYears","inSelectedInvoiceType","inSelectedProductType","inSelectedMutationReason","getAmountOfAcmItemsOfYear","active","getAmountOfAcmItemsOfInvoiceType","getAmountOfAcmItemsOfProductType","getAmountOfAcmItemsOfMutationReason","createdOnDate","Tenant","AcmReportTabComponent","NieuweStroom","EasyEnergy","initialize","addError","combineFinalSettlementMoveinandmoveout","p","acmreport","currentACMreport","firstFilter","moveinandout","moveTotal","moveCombined","groupedReports","ungroupedReports","newGrouped","typeOfReport","fill","getMonths","startdate","endOf","arrayOfMonths","createReportDates","listOfDates","combineReportData","listOfReports","listOfDatesForReport","groupedListOfReports","setAcmSpecificationOnOff","acmreportstatistic","acmReportSpecification","showSpecification","selectedTenants","tenant","inSelectedTenants","getAmountOfAcmItemsOfTenant","BlobResponseHelper","AcmSpecificationTabComponent","router","backup","acmInvoiceDeadlines","originalDeadlines","onSearchChange","searchValue","searchableACMdeadlines","connectionId","onFilterChange","downloadPeriodicInvoiceDeadlinesCSV","downloadInvoiceDeadlinesCSV","downloadFile","getInvoiceDeadlines","allInvoiceTypes","catch","e","error","message","goTo","uri","tabnumber","navigateByUrl","skipLocationChange","location","pathname","tab","BillingCompletenessComponent","makeReport","completeReport","filterDeadlines","transform","setSelectedInvoiceType","setSelectedTenant","keyPeriodic","keyOneVS","keyTotal","listperiodic","listonevs","per","onevs","combineLists","one","two","combino","num","newCombined","invoiceDeadlines","actualInvoiceDateTime","filteredDeadlines","BaseComponent","navigate","environment","ConnectionComponent","activatedRoute","connectionService","consumptionPeriodService","issueService","routerService","production","resetInterval","isLoading","snapshot","params","connectionid","queryParams","Number","parseInt","initializedList","getByConnectionId","connection","currenttenant","getCurrentConnectionTenant","noConnectionError","Error","getAllForConnection","Id","issues","setDeleteMeasurements","deleteMeasurements","loadConsumptionMeasurements","consumptionMeasurements","CustomerConnections","ConnectionMeters","Customer","selectTab","tabWasInitialized","history","pushState","substring","updateParameters","tabNumber","isInitialized","i","goToIssue","issue","updateConnectionWithLatestMarketData","formatDate","HistoryModel","asEnumerable","ConnectionInfoComponent","notificationService","modalService","translation","handleTimestamp","getInfoFromConnectionMeter","connectionInfo","Ean","ProductType","ConnectionType","getLastConnectionCluster","connectionLocation","Address","getLastConnectionLocation","Legislation","connectionCapacity","getLastCapacity","connectionAllocationMethod","getAllocationMethod","connectionGridOperator","getLastGridOperator","connectionGridArea","getLastGridArea","connectionProfileCode","getLastProfileCode","connectionTarifSwitch","getTariffSwitch","connectionPhysicalState","getLastPhysicalState","connectionSupplyType","getLastSupplyType","ConnectionLocations","showError","activeConnectionMeter","getActiveConnectionMeter","activeMeter","mId","ExternalId","mIsTelemeter","Meter","IsTelemeter","mIsOperational","TelemetryIsOperational","mMultiplicationFactor","MeasurementDisplays","MultiplicationFactor","noConnectionMeter","c","Interval","Until","getInfoFromCurrentConnectionCustomer","lastCustomer","getLastCustomer","connectionCustomer","Name","ConnectionSupplyTypes","connectionSupplyTypeHistory","ConnectionPhysicalStates","connectionPhysicalStateHistory","ConnectionClusters","edsnMarketSegment","ct","clusterId","clusterType","getSelectedClusterId","connectionCluster","ConnectionConnectionCapacities","connectionCapacityHistory","getLastConnectionContacts","ConnectionContacts","ConnectionTariffSwitches","connectionTarifSwitchHistory","ConnectionGridOperators","gridOperator","gridOperatorTranslated","getTranslation","gridOperatorId","grid","date","interval","ConnectionGridAreas","area","id","gridAreaId","connectionProfileCodeHistory","ConnectionProfiles","profileCode","profileDate","x","ProfileId","code","openModal","open","ConnectionAllocationMethods","connectionAllocationHistory","lastAllocationMethod","allocationMethod","icon","document","getElementById","style","color","mapToHistoryModel","keyName","mapped","element","openEnd","model","orderByDescending","ts","toArray","getconnectionAllocationHistory","getProfileCodeHistory","getTarifSwitchHistory","getCapacityHistory","getPhysicalStateHistory","getSupplyTypeHistory","ConsumptionTabComponent","productTypeToRender","BoundaryType","ByTariff","DateRange","Tariff","Timestamp","entries","compareAscendingByDateOrTimestamp","getValueForComparison","MeasurementMomentType","makeConsumptionListViewModel","makeMeasurementListViewModel","MarketMeasurementsTabComponent","measurementService","consumptionService","fetchData","varClosedDateRangeCons","getForClosedDateRange","Closed","originalClosedDateRangeConsumptions","groupedCons","groupConsPerByDate","closedDateRangeConsumptions","toConsumptionViewModel","varMeasurementsForDate","getAllForDate","groupedMeas","groupMeasurementsPerByDate","sortedMeas","sortIntervalGroups","eventMeasurementsViewModel","toViewModel","consumptions","groups","consumption","ClosedDateRange","measurements","MeterId","getByTariff","any","consumptionsByDateInterval","viewConsumptions","consumptionNormal","find","cpertariff","normal","consumptionLow","low","viewConsumption","IdNormal","MutationState","ModifiedTimestamp","IdLow","ProsumptionLow","Prosumption","ProsumptionNormal","makeConsumptionViewModel","measurementsByTariff","viewMeasurements","viewMeasurement","Normal","Date","MeasurementSource","Low","editConsumption","cons","listOfEdits","both","deleteConsumption","deleteNormalConsumption","deleteLowConsumption","getBaseJson","jsonDelete","jsonDeleteNormal","jsonDeleteLow","UntypedFormControl","MeasurementCommunicationTabComponent","measurementCommunicationService","MMCdate","getConnectionMMCstatus","getAllMeasurementCommunications","setMMCdate","getCurrentCustomerId","isMMCEnabled","MMCstate","mmcEnabled","getConnectionMeasurementCommunication","blockedUntil","setConnectionMMCstatus","invertedState","untilBlockDate","setConnectionMeasurementCommunication","sendMCRequest","selectedType","stringOfSelectedType","localDate","sendMeasurementCommunication","sendMailToCustomer","resultType","resultMessage","sendMessage","getConnectionId","showIssueContextCheck","showIssueContextList","blockMeasurementCommunication","block","allMeasurementCommunication","_obj","replace","blockContactMeasurementCommunication","isActive","measurementCommunication","BlockedSince","showIssueContext","showCreateMeasurementButton","measurementsReceived","openMeasurementCommunicationRequest","mmcURL","generateMMCLink","window","allMeasurementCommunications","getAllMeasurementCommunication","Open","errorOccurred","ContactMeasurementCommunicationId","measurementCommunicationItem","measurementReceived","MeasurementCommunicationMeasurements","isReminderSend","ReminderTimestamp","isBlocked","status","timestamp","expirationDate","measurementAdded","succesfullBoolean","measurementSuccesfullyCreated","setTimeout","blockDate","untilDate","clearDate","stopPropagation","ConsumptionWithMeasurementsInterval","uniqueItemsOfArray","getMoment","inferDeletedFromMeasurements","ctx_r34","ctx_r39","MeasurementsTabComponent","measurementSourceDetailService","measurementSourceDetails","getAllMeasurementsourceDetails","days","setMeasurementSourceDetails","GetInterval","GetIntervalAsObservable","subscribe","currentValue","timestampedMeasurements","getFilteredTelemeterMeasurements","buttonTimestamped","filterTelemeter","getTimestampedMeasurements","getMeasurements","measurementsWithSourceDetails","addMeasurementSourceDetails","groupPerInterval","sorted","convertToConsumptionMeasurements","measurementsForDate","measurementsForTimestamp","Promise","all","dayMeasurements","getAllHistoricallyForDate","ToDateRange","resolve","validInterval","getAllHistoricallyTimestamped","getAllForTimestamp","combinedresults","detectMeterChange","byTariffs","byTariff","timeStampMoment","measurementsWithInferredDeletions","foundMeasurementSourceDetail","msd","compareIds","measurmentsourcedetailId","measurement","cond1","cond2","getAllMeasureMentsourceDetailByConnectionId","listOfMeterIds","unique","meterOne","meterTwo","meterChangeDetected","MonitoringTabComponent","setFrom","picker","src","inputFrom","inputUntil","pickerButton","limit","duration","y","TransactionsTabComponent","Granularity","UntypedFormGroup","ctx_r17","ConsumptionWithMeasurementsTabComponent","route","range","startOf","togglePeriodGraphSize","isPeriodGraphBig","initialQueryParams","getQueryParameters","dateRange","patchValue","setNewInterval","updateIntervalBasedOnInterval","granularityControl","granularity","fetchGranularityEnums","setGranularity","granularityOptions","errorHandlingForGranularity","getConsumptionWithMeasurementsIntervalForAllCustomerConnections","cwm","combineConsumptionWithMeasurementsPerInterval","consumptionwithmeasurement","transformToViewModel","getTransformAndSumValues","consumptionWithMeasurements","addClosedDateRangeConsumptionsAsCWM","next","periodInterval","differenceInDays","Electricity","go","QuarterHour","Hour","Day","Week","Month","setNewIntervalByPeriodButton","periodOption","SetInterval","changeGranularity","totalConsumption","totalProduction","Consumption","Quantity","Production","unit","Math","round","get","SetFrom","SetUntil","updateRouterInterval","setValue","updatedQueryParameters","cdrc","LocalDate","asCWM","cwmPerInterval","create","flatMap","combinedCWM","consumptionsWithMeasurements","toggleDeleteMeasurements","ContractStateTabEntryComponent","connectionContractStateService","zonedDateTimeParser","contractStatesOverviewTemplate$","apiAdminConnectionContractStateContractMutationStatesWithContractStateTransitionsGet","contractStates","contractStatesForGroupId","select","cs","contractMutationState","ContractMutationState","groupId","contractId","ContractId","allContractStateTimestampsOrdered","selectMany","where","orderBy","parse","throwError","catchError","ContractStateTabComponent","contractStateProvidingService","contractStatesByGroupId$","apiAdminContractStateGetPost","HavingConnectionId","pipe","err","showHttpError","response","ContractStates","states","GroupId","runCorrectionButton","iconToggled","textToggled","runConnectionSyncFromLegacyButton","advanceProgressButton","archivedIssuesButton","showContextButton","deleteProgressButton","IssuesProgressTabComponent","progressService","serviceBusService","processes","Process","getProcessProgress","processIssue","advanceProgress","progressAdvanced","connectionIds","triggerConsolidationCorrectorForConnections","consolidatorTickled","showSuccess","connectionSyncFromLegacyTickled","syncConnectionFromLegacyAsync","processList","batchIndex","batchAmount","ceil","batch","processprogress","progresses","closeThisIssue","closeIssue","_","alert","deleteProcessProgress","processProgress","deleteProgress","deleted","triggerConsolidatorForConnection","ConnectionHistoryComponent","setMeterInfo","getConnectionInfo","typeOfMeter","MeterDumbSmart","MeterOperational","MeterIDHistory","MeterDigits","Digits","MeterMultiplicationFactor","ConnectionAllocationsMethodHistory","CurrentMeter","Telemeter","ConnectionTariffSwitch","TariffSwitch","Profielcode","HistoryObject","ConsumptionExportComponent","consumptionExportService","Enum","Description","Translation","unshift","minimumGranularity","searchConnections","isSearchingConnections","connectionOptions","getByCustomerId","customerId","download","isDownloading","intervalFrom","intervalUntil","consumptionExportResponse","getPerGranularityInterval","connections","reset","resetConnections","toggleSelectedConnections","preventDefault","isCustomerIdEnabled","isSearchConnectionsEnabled","areExportParametersVisible","isConnectionsCheckBoxChecked","isConnectionsCheckBoxIndeterminate","isDownloadEnabled","isResetEnabled","ConsumptionsTableComponent","listOfConsumptions","setOptions","SupplyType","ConsumptionPeriodGraphComponent","groupData","determineGraphLegenda","setPeriodGraphSizeToBig","removePlotBand","setPlotXMinMax","flattenConsumptions","cv","createGranularityChart","firstChange","getGranularitySerie","consumptionPerGranularityInterval","getGranularityStack","getSerieKeyWithSupplyType","supplyType","getSerieKey","createGranularitySeries","groupedByKey","allowPointSelect","lastProcessed","keyValue","sum","QuantityMeasured","Cost","values","xAxisPeriodStart","xAxisPeriodEnd","getSelectedPeriod","unix","target","addPlotBand","to","d","deleteIntervalSubject","getXaxisValuesFromZoom","consumptionPerGranularityIntervals","GranularityChart","yaxisLabel","events","selection","bind","opposite","tickInterval","plotOptions","marker","radius","stacking","lineWidth","hover","threshold","connectNulls","CreateOverrideConsumptionIntervalCommand","DeleteOverrideConsumptionIntervalCommand","consumption_r34","consumption_r60","ClosedDateRangeConsumptionComponent","isConnectionGV","hasConnectionClusterGV","dbfactor","initializeProfiledRanges","closedDateRangeConsumptionsByDateAndTariff","groupedByDate","consumptionsPerDate","groupedConsumptionsByDate","openOrCloseEdit","isShowEditConsumption","updateData","showEdit","None","consumptionbyTarif","validateConsumptionsByTarif","editThisConsumption","cancelEditOfconsumptionId","consumptionIdFrom","Gas","profiledRanges","ConnectionContextValues","hasOwnProperty","ContextValueName","rangeContainedInProfiledRanges","toRangeString","rangeContainedInContextValues","consumptionMarkAsProfiled","command","createOverrideConsumptionInterval","refreshConnectionInformation","consumptionRemoveAsProfiled","deleteOverrideConsumptionInterval","cc","ConsumptionWithMeasurementsTableComponent","originalTableData","showClosedDateRangeConsumptionsInTableData","showClosedDateConsumptions","filterMarketClosedDateRangeConsumptions","bool","ProsumptionQuantitiesWithMeasured","QuantityWithCost","readConnection","ConsumptionsPerClosedDateRangeCreateCommand","EditClosedDateRangeConsumptionComponent","elecNormalConsumptionQuantity","elecLowConsumptionQuantity","elecNormalProductionQuantity","elecLowProductionQuantity","gasQuantityMeasured","gasQuantity","createNewClosedDateRangeConsumption","dbFactor","setDefaultCustomerId","elecProsumption","gasProsumption","customerIdGroup","activeCustomerIdsForDate","save","deleteConsumptions","createConsumptions","actionCompleted","setClosedDateRangeInterval","cancel","cancelEdit","consumptionIds","getConsumptionIds","makeConsumptionsPerClosedDateRange","postClosedDateRangeConsumption","setProsumptionPerTarif","tariff","createApiObject","tariffs","connectionForDate","prosumption","determineCustomerId","activeTenantsForDate","customerIdFromInputForm","ContractStateComponent","companyService","issueTypeService","contractstateid","paramMap","ContractOverviewComponent","contractStateService","setInterval","checkDocGenCache","getAllContractsStatesForContractId","getContractById","getConnectionContracts","updateUiState","contractsofContractIdWithState","getAllForContractId","currentPage","pageSize","contractid","isLoading1","getByContractId","contractConnections","isLoading2","connectionContracts","GetContracts","connectionContract","firstContractState","isDownloadStartDeliveryLetterEnabled","isDownloadWelcomeLetterEnabled","isResendWelcomeLetterEnabled","goToConnectionId","cancelContract","contractStatesWithoutUntil","contractStateId","closeConnectionContract","contractCanceledButtonState","downloadWelcomeLetter","firstOrDefault","welcomeLetterResponse","downloadStartDeliveryLetter","startDeliveryLetterResponse","resendWelcomeLetter","shouldRecalculateAdvanceAmount","isWelcomeLetterResent","isResent","setDocGenCache","currentCache","getDocGenCache","filteredCache","filterDocGenCache","canSendRequest","canSendDocGenRequest","cache","JSON","localStorage","getItem","currentCustomer","sameCustomerIdsIncache","item","withinTimeLimit","items","filtereditems","listOfitems","setItem","stringify","updatedCachce","toggleMutationStateBlocked","contractState","ms","toggleBlockConnectionContract","blocked","ContractStatesAssignee","selectEmployees","nameEmployee","assignee","listOfAssignees","ContractStateTransitionUrgency","ContractStatesResults","pageLimit","sortDataByUrgency","getAllContractStates","currentPageNumber","getCurrentContractStateTransitionUrgency","contractStateTransitions","contractStateTransitionUrgency","urgencyA","urgencyB","priority","Medium","High","getCurrentContractStateTransitionType","contractStateTransitionType","checkHasContext","MutationOrTransitionState","context","showMoreCheck","showMoreList","showMore","selfAssignTransition","contract","transition","makeEmitterObject","selfAssign","skipStepResult","skipStep","appendTransitionRemarks","remarks","transitionRemarks","contractms","contractst","rem","goToContractId","goToContractIdConnection","getTenant","contractIdWithTenant","getCurrentContractStateTransitionAssignee","page","goToNumber","newPageNumber","ContractStatesStatus","changeStatus","isActiveStatus","ctx_r23","ContractStatesStepper","infoBox","getContractStatesOverview","toggleTT","selectedContractState","clickCategory","newPathString","count","activeTransitionType","showPath","showTransitionTypes","initialInfo","getValueMS","contractMS","getValueTT","contractTT","ttToggle","showContractState","showContractStateCount","navigateToTabAll","transitionType","objectToEmit","navigationStatesAndTypes","resetContracts","contractTransitionType","statesAndTypes","ListParameter","CreateConsumptionComponent","formBuilder","closeDateRangeFrom","closeDateRangeUntill","setReadConnection","getListsFromConnection","inputForm","group","elekNormalConsumption","elekNormalProduction","elekLowConsumption","elekLowProduction","gasConsumption","gasConsumptionCalgos","closedDateRangeStart","closedDateRangeEnd","initialized","updateValuesFromConnectionOnDate","changeDateFrom","changeDateUntill","listOfAll","customerIds","getTotalListOf","tenants","submitNewConsumptionPerClosedDateRange","createConsumption","setConsumption","normalProsumption","lowProsumption","consumptionByDateAndTarif","MeasurementId","MeasurementReadingMethod","Validators","CreateMeasurementComponent","Supplier","GridOperator","measurementDate","PERMTR","BULKPV","MTRUPD","PHYSMTR","ALLMTCHG","MONTHMTR","getMeasurementMutationReasons","getMeasurementReadingMethod","isMeterReadingControl","isMeterReading","required","setParametersForDate","setDefaultParameters","changeView","selectedView","filterMutationReasonsForBusiness","changeDate","databaseToBusinessFactor","selectedMeasurementSource","selectedReadingMethod","Calculated","selectedMutationReason","getEstimations","estimation","getMeasurementEstimate","estimationMeasurement","transformEstimationToMeterreading","isAfter","listOfMeasurementSources","DataEstimator","source","useEstimation","inputProsumptions","saveNewMeasurement","validationErrors","validateInput","createMeasurement","postMeasurement","post","shouldSubmitToGridOperatorBoolean","measurementCreated","setProsumptionFromInput","t","selectedInput","measurementToPost","normalId","meterId","SubmittedToGridOperator","newMeasurementProsumption","lowId","inputProsumption","validateDataEstimator","cond3","cond4","measurementMutationReasonDescriptions","setMutationReasonTranslation","listOfMeasurementMutationReasonsEnums","measurementReadingMethodDescriptions","setReadingMethodTranslation","activeMeterIdsForDate","meterIds","filteredList","mmrd","requiredMutationReasonsForBusiness","mrmd","ReadingMethodTranslations","MutationReasonTranslations","CreateMeasurementCustomerComponent","EventDate","measurementDateControl","RecordedByCustomer","postMeasurementCustomer","CustomerComponent","lastContractState","CustomersListComponent","DatePickerComponent","sticky","Charts","Boost","require","noData","More","certificaten","mockAantalCertificaten","stack","GraphComponent","column","borderRadius","categories","allowDecimals","InfoMessageComponent","match","configs","config","FeedbackType","IssueComponent","lockService","getLock","ConsolidationCorrection","res","clearInterval","contextKeys","keys","parseContext","onWindowScroll","pageYOffset","documentElement","scrollTop","body","windowScrolled","scrollToTop","smoothscroll","currentScroll","requestAnimationFrame","scrollTo","hostBindings","LoadingComponent","MeasurementsGraphComponent","getAPIdata","createAnotherChart","allMeasurementsArray","doneLoading","measProductionLow","measConsumptionLow","measProductionNormal","measConsumptionNormal","measProductionSum","measConsumptionSum","unavailabe","typedMeasurements","firstMeasurementWithoutTariffOrNull","firstLowMeasurementOrNull","lowConsumption","lowProduction","firstNormalMeasurementOrNull","normalConsumption","normalProduction","setMeasurementSource","measurementSourceString","measurementSource","hour","minute","getData","newResult","measList","mapFunction","measurementsByGridOperator","measurementsByDate","reverseMeaslist","reverse","prosumptionLow","prosumptionNormal","prosumptionSum","timeStamp","corrected","modifiedTimestamp","LastOfTimestamp","is","ProsumptionSum","hasBeenCorrected","Delete","showMeasurementsOfDate","measurementdata","MeasurementsGroupedByTariff","compareDescendingByModifiedTimestamp","ctx_r58","ctx_r60","ctx_r70","ctx_r72","ctx_r76","ctx_r78","ctx_r148","ctx_r151","ctx_r175","ctx_r178","ctx_r189","ctx_r192","ctx_r201","MeasurementsTableComponent","displaychoice","showMeterId","showConsumptions","showMeasurements","onDeleteSelection","mapMeasurementSourceDetailsOnMeasurements","viewHistoryList","cm","selectMeasurements","selectAllTelemeter","allTelemeterMeasurementsForDeletion","getAllTelemeter","getCurrentMeasurementsForDeletion","isAllTelemeterSelected","measurementsToDelete","containsEventMeasurements","confirmation","confirm","removeEventMeasurementsFromDeleteList","deleteResult","DeleteMeasurements","checkDeleteResult","isDeleteSuccessMessageVisible","measurementIds","eventMeasurementIds","f","allowDelete","isBetween","setViewHistoryOfThisMeasurement","checkViewHistoryOfThisMeasurement","getHistory","consumptionMeasurement","anyMeasurement","measurementHistory","getMeasurementHistoryByDate","getMeasurementHistoryByTimestamp","historyWithInferredDeletions","filteredHistory","sortedHistory","historyOfTimestamp","readObject","reference","setPeriod","getCurrentMeasurementForDisplay","eligibleMeasurements","Deleted","nonDeletedMeasurements","firstTariff","measurementsOfOtherTariff","measurementSourceDetailLow","compareId","measurementSourceDetailNormal","addMeasurentSourceDetailToTariff","returnObject","measurementSourceDetail","sourcedetailId","byTariffId","cond5","cond6","quarterHourMeasurements","getAllQuarterHoursOfId","MOMENT_DATETIME_API_FORMAT","EditParameterValueComponent","parameterValueService","parameterValueForm","createNewParameter","parameter","setFutureFrom","setAFutureFrom","validJson","parameterToUpdate","ParameterValueName","updateParameterValue","completed","deleteParameter","deleteParameterValue","setCurrentDateAndTime","dateTime","showTimeForm","split","set","addTime","ParameterValuesTableComponent","parameterValues","edit","editList","editMode","showHistory","currentParameterValueName","createNewParameterValue","createParameterValue","ParameterValuesComponent","ProcessesComponent","TriggerProcessComponent","triggerProcessMessageGroup","issueIds","contractStateIds","allProcessesEnums","allProcesses","processEnum","triggerProcess","processingMessage","makeProcessingMessage","ConnectionIds","IssueIds","ContractStateIds","ProcessesToRun","$event","ConnectionCapacityListComponent","hasHistory","connectionCapacities","foundIdx","findIndex","toggleHistory","isToggled","ConnectionEstimatedAnnualProsumptionListComponent","connectionEstimatedAnnualProsumptions","connectionEstimatedAnnualProsumptionLow","orderConnectionEstimatedAnnualProsumption","connectionEstimatedAnnualProsumptionNormal","connectionProductType","ConnectionMeterListComponent","orderedList","connectionMeters","groupedMeters","counter","prototype","call","orderedElements","foundIndex","toggledIndices","displayMeasurementModal","ConnectionStagingSyncComponent","syncService","syncerTypes","sync","connectionIdIsVisible","intervalIsVisible","ContractStateTableComponent","getCurrentContractStateTransition","contracts","checkIfActive","blockingInfo","contractmutationstate","closeConnectionContractTransition","showContextCheck","showContextList","showContext","calcPages","pageNumbers","totalCount","previous","CustomerContractStateStepperComponent","contractStatesUntilNow","allPassedStates","checkIfActiveOrPassed","state","contractStatesOverviewTemplate","TemplateRef","DropdownButtonComponent","viewQuery","merge","Subscription","TemplatePortal","DropdownTriggerForDirective","overlay","elementRef","viewContainerRef","EMPTY","toggleDropdown","isDropdownOpen","destroyDropdown","openDropdown","overlayRef","dispose","hasBackdrop","backdropClass","scrollStrategy","scrollStrategies","close","positionStrategy","position","flexibleConnectedTo","withPositions","originX","originY","overlayX","overlayY","offsetY","offsetX","templatePortal","dropdownPanel","templateRef","attach","dropdownClosingActionsSub","dropdownClosingActions","backdropClick$","backdropClick","detachment$","detachments","dropdownClosed","closed","unsubscribe","detach","ExternalDossierComponent","getExternalDossier","connectionObject","externalDossiers","ExternalDossiers","eventTimestamp","finalize","DEFINE_URL","HttpEventType","FileUploadComponent","http","onFileSelected","endPoint","sendToEndPoint","file","files","fileName","formData","FormData","append","parameterName","upload$","reportProgress","observe","handleUpload","uploadSub","ev","UploadProgress","uploadProgress","loaded","cancelUpload","showInfo","handleError","unsuccedfullEvent","succesEvent","requiredFileType","HistoryTableComponent","Title","Headers","History","Key","IconMappingConstants","IconComponent","iconMapping","iconTooltip","iconName","matchIcon","matIconName","matIcon","LoginComponent","getAccessToken","login","MeasurementDisplayTableComponent","measurementDisplays","take","tap","MinimalApiTestComponent","onboardingConnectionActivationsService","supplyingPricesService","tradingDealsService","connectionActivationsReadGroup","pricesGetPrices","prices","dealsGetDeals","deals","NotFoundComponent","NotificationCenterComponent","createElement","url","appendChild","execCommand","removeChild","errors","getTime","closeNotificationCenter","PeriodSelectorComponent","PeriodsWithGranularitySteps","default","selectedPeriod","makeListOfMonths","pickerFrom","pickerUntil","datePickerGroup","dateFrom","dateUntil","period","step","steps","listOfMonths","changePeriod","showCustomPeriod","makeCustomPeriod","pickerfrom","pickeruntil","custom","Year","ctx_r5","SearchComponent","searchHistoryService","getSearcHistoryItems","searchForm","searchString","minLength","detectKeyboardInput","eventToEmit","shortcut","ctrlKey","search","createdEventToEmit","toEmit","searchEvent","setSearcHistoryItems","updateSearchHistory","searchFromHistory","searchhistory","deleteHistory","clearSearchHistoryItems","placeholder","validate","TranslationComponent","translationFromMemoryOrApiService","domain","category","MOMENT_DATE_FORMAT","MOMENT_TIME_FORMAT","StringToEnum","TimeTools","ObjectParser","isNaN","eval","fillOrRead","isArray","readArray","fillObject","obj","retObj","parsed","filled","Connection","Page","offset","readPageObject","pageType","TotalCount","Offset","Data","readArrayObject","MeasurementsPage","zoned","retValue","tz","toNodaZonedDateTimeString","lowerBoundType","upperBoundType","LowerBoundType","UpperBoundType","inputString","startsWith","endsWith","bounds","isMoment","UtcDateTime","Zone","utc","dr","utcDateTimeObjectToMoment","toDateRangeString","toDateTimeRangeString","local","toClosedDateRangeString","durationInGranularity","PersonalName","ConnectionLocation","ExternalDossier","operatorDossierId","Mutation","OperatorDossierId","Event","ConnectionProfile","mp","Cluster","clusterName","clusterTypeName","tenantName","ConnectionCluster","ClusterName","ClusterType","ClusterTypeName","TenantName","ConnectionIdWithInterval","ClusterId","TransactionDossierStepId","transactionDossierId","TransactionDossierId","ConnectionContact","FromDb","UntilDb","Contact","ConnectionContactContact","ConnectionContactContactAddress","ConnectionEstimatedAnnualProsumption","Location","CustomerLocation","ConnectionSupplyType","ConnectionMeter","MeasurementDisplay","ConnectionGridOperator","GridOperatorId","ConnectionGridArea","GridAreaId","ConnectionTariffSwitche","ConnectionConnectionCapacitie","ConnectionCapacity","ConnectionPhysicalState","CustomerConnection","MarketType","ConnectionForecast","ForecastDay","InvoiceContact","PurchaseContact","AuthorizedRepresentative","ConnectionAllocationMethod","AllocationMethod","CorrectForEnergyPerVolumeDueToTemperature","EstimatedAnnualProsumption","Profile","PhysicalState","AllocationType","CustomerConnectionSendMeasurementCommunication","boolean","MMCEnabled","BlockedUntil","MeasurementMutationReasonClass","Lock","Issue","Context","Message","archivedIssue","contextInterval","ContextFrom","ContextUntil","returnValue","IssueType","Subject","ContextInterval","Assignee","Urgency","IssueCountPerIssueTypeAndSubject","IssueWithConnection","prod","quantityMeasured","quantity","cost","Quantities","ConsumptionPerGranularityInterval","ConsumptionPerGranularityIntervalId","tarif","ConsumptionPerClosedDateRange","closedDateRange","mutationState","ConsumptionPerClosedDateRangeId","consumptionByTariff","Measurements","Measurement","consumptionsByTariff","MCMeasurement","lowMeasurement","normalMeasurement","ProsumptionValue","ConsumptionByTariff","EnumDescription","IntValue","ProcessStatistics","ProgressedUntilMax","ProgressedUntilMin","ProcessStatisticsId","AdditionalStatistics","FailedElementCount","ProcessedElementCount","ProgressedElementCount","RetriedElementCount","RunDuration","SkippedElementCount","TotalElementCount","TotalProgressDuration","ProcessProgress","ProgressedUntil","progUntil","ProgressedDataUntil","isValidCheck","isValid","warn","appInstanceDescription","appInstancePartition","ranFrom","AppInstanceDescription","AppInstancePartition","MeasurementCommunicationType","MeasurementCommunication","AuthenticationToken","ContactId","IsEnum","theEnumValue","theEnum","ContractStateId","ContractState","connectionContractStart","connectionContractEnd","switchNotificationDate","ContractStateTransitions","IsActive","Blocked","IsDownloadWelcomeLetterEnabled","IsDownloadStartDeliveryLetterEnabled","IsResendWelcomeLetterEnabled","ConnectionContractStart","ConnectionContractEnd","SwitchNotificationDate","ContractStateTransition","isActiveTask","urgency","Remarks","remark","listOfcomments","commentListObjects","comment","timeToMoment","slice","author","ContractStateTransitionType","ContractMutationStateWithContractStateTransitions","ContractStateTransitionTypes","ContractStateCountPerContractMutationStateAndContractStateTransitionType","contractStateTransitionTypeCounts","Count","ContractStateTransitionTypeCounts","ConnectionContract","complex","residental","skipReflectionTime","contractDate","startDate","endDate","isSwitch","anualEstimatedProsumption","Complex","Residental","SkipReflectionTime","ContractDate","StartDate","EndDate","Switch","AnualEstimatedProsumption","AllocationSavings","Savings","AllocationMethodComparison","TelemetricAllocation","Allocation","Reconcilliation","ProfileAllocation","ReconcilliationPrice","AcmReport","runDate","RunDate","AcmReportStatistics","creditPercentage","CreditPercentage","OnTimePercentage","Total","TotalCredit","TotalOnTime","TotalOpenInvoiceDeadlinesOfLast12Months","ClosedInvoicesInValidRange","OpenInvoices","MissedDeadline","AcmDeadlines","InvoiceDeadlines","InvoiceDeadline","invoiceNumber","hasBeenCredited","daysLeadTime","leadtime","ActualInvoiceDateTime","daysToInvoice","HasBeenCredited","IsLargeCapacity","ParameterValue","parameterValueName","PricePerInterval","money","Money","ImbalancePricePerInterval","moneyShort","moneyLong","MoneyShort","MoneyLong","Purchase","ConnectionBaseAsset","longitude","latidtude","powerKwAc","ConnectionWindAsset","NumberOfTurbines","TurbineType","CutOutMs","TurbineManufacturer","Longitude","Latidtude","PowerKwAc","MeasurementSourceDetail","measurementSourceMethod","MeasurementSourceMethod","reconciliationsDashboardSections","sectionsGeneric","path","sectionsReconciliations","sectionsTrading","sectionsOnboarding","sectionsSupplying","sectionsStaging","AcmDashboard","getAcmReport","invoicesTypes","selectedTenant","filterAcmReport","makeListOfFilters","acmDeadlines","createdDeadlinesOnDate","currentInvoiceDeadlines","openInvoiceDeadlines","isBefore","missedInvoiceDeadlines","createdReportOnDate","setFilters","filterAcmReportOnValues","AcmFilterObject","fetchReport","uniqueYears","tenantlist","producttypelist","allFilters","productTypes","defaultFilters","originalAcmReportStatistics","newFilteredAcmStatistics","BaseDashboard","onUpdateSearch","ContractStateDashboard","enumService","fetchStepperData","getContractsForAssigneeList","allContracts","getAssignedEmployees","contractStatesTransitionsArray","DataContracts","newContractStatesTransitionsArray","assigneesArray","cst","setAssignee","resetParameters","changeCurrentPage","contractsWithState","getContractStateCountsAndOverview","getAllContractsStates","fetchStatesWithTransitions","contractStateCountIsToggled","contractStateIsActive","setIsActive","statusBoolean","filterOnContractMutationState","filterOnContractStateTransitionType","ContractStatesOverviewTemplate","getContractMutationStatesWithContractStateTransitions","counts","getAllCountPerContractMutationStateAndContractStateTransitionType","ContractStatesOverview","s","stateMatch","stateCount","contractStateTransitionTypes","typeMatch","typeCount","setContractStateAndTransitionType","navigateFromStepper","CustomerDashboard","ConnectionService","switchNotificationSend","searchEventlistener","switchNotificationNotSend","TranslationCategory","TranslationValue","ctx_r18","IssuesUrlButtonComponent","translationService","fb","createForm","translationCategory","getTranslationListByName","setParameters","urlProcess","inputUrlProcess","urlSubject","inputUrlSubject","goToDocumentation","issueTypeSubject","issueTypeSubjectMutation","translationName","activeModal","cancelUrl","saveUrl","translationUrl","TranslationDomainName","newTranslation","TranslationValues","Translations","updateTranslationCategory","checkIfIssueURLExists","checkIfIssueAndSubjectURLExists","sub","goToUrl","getUrl","openUrl","reg","form","pattern","NEWLINE","ctx_r14","IssueOverviewComponent","timeTools","setClickedRow","selectedRow","modifiedSinceControl","modifiedSince","checkRouterParams","checkTenants","compareToYesterday","queryParamMap","paramsMap","selectedIssues","getIssues","subject","modifiedBefore","getIssueCountAndEnums","getCurrentTenantsFromLocalStorage","tenantWarning","issueIsSelected","issueTypeSubjectIsToggled","issueType","openIssueTypes","searchIssueTypeAndSubject","addToRouter","addIssueIdToURL","issueId","issueIdsForRouter","queryPath","join","isSelectedIssueId","issueTypes","toggleIssueTypeSubject","toggleIssue","changeOnSelect","issueCounts","getIssueOverview","startPeriod","endPeriod","apiResult","current","issueCountsTotal","issueCountsOfYesterday","newIssueCounts","ic","yesterdaysIssueCount","goToConnection","createUrlTree","changeissueTrendPeriod","showFilters","isShowFilters","amountOfEans","prompt","showDownloadExplanation","numberOfEans","fetchIssuesForExport","selectedIssue","pageddata","MultipleIssueTypesSelected","issueTypesTranslated","documentIntro","documentHeader","rows","issueFrom","issueUntil","issueModifiedTimestamp","issueTypeTranslated","ctxFrom","ctxUntil","ean","IssuesDashboard","IssuesReportComponent","ViewType","simple","advanced","issueTrendPeriod","getDataOfIssueCounts","clearReport","periodService","periodStart","periodEnd","stepSize","amountOfSteps","periods","before","periodObj","issueCountSeriesSimple","newReport","newAdvancedReport","issueReport","getIssuesCountForReport","advancedReport","makeAdvancedTable","listOfAllIssues","makeSeries","issueCountSeriesAdvanced","makeAdvanceSeries","issueReportList","keyOpenedIssues","keyOpenedClosedIssues","keyClosedIssues","keyAllOpenIssues","keyAllClosedIssues","reportFromApi","allIssues","periodWithSteps","returnList","transformedList","uniqueListOfIssueTypesOfType","issuesOfIssueTypeOfType","issuetype","issuesOfType","issuesOfTypeForDates","issuefordate","countOfIssues","issuesForIssueType","defaultVisibleSetting","seriesData","dateInUnix","visible","stackName","transformedSeries","nameOfIssueType","csvSeperatorType","issueTrendView","makeCSVHeaders","issueTypeKey","translatedIssueType","header","promisesReport","keyOfStatus","doApiCallForType","issueStatus","openClosed","promisesForTotal","totalCounts","withMetaData","makeMetaObject","promises","issueCount","metaObject","GraphSeries","extraProperties","getSimpleSeries","IssuesReportGraphComponent","makeChart","formatter","localSeries","point","userOptions","simpleTooltip","toDateString","advancedTooltip","stackTotal","rangeSelector","navigator","IssuesReportTableComponent","setIssuePopup","input","specification","resetIssuePopup","granularityOfPeriod","ProcessDashboard","processStatisticsService","apiSystemEnumsGet","toPromise","processEnums","fetchEnums","allProcessesEnumValues","selectedProcesses","listWithselection","choseSelection","listOfProcesses","processesList","promiseAllProcessStatistics","getProcessStatistics","processStatistics","flattenAndGroupAllProcesses","transformAndCreateSummary","getPromiseAllProcessStatistics","processEnumValues","modifiedAfterTimestamp","newlist","processlist","groupedbyInstancePartition","addStatistics","processbycategory","statistics","instancelist","lastelement","pop","appdescriptionname","appdescriptionrunning","statusCheck","appdescriptioncompleted","appdescriptionwarning","appdescriptioncrashed","applastUpdatedProcess","appdescriptionlastupdate","instancelistwithstatistics","processesperinstancepartition","apppartitionnname","apppartitionrunning","apppartitioncompleted","apppartitionwarning","apppartitioncrashed","lastUpdatedProcess","apppartitionlastupdate","running","warning","crashed","lastUpdated","instances","processesByCategory","sortProcessesByCategory","thisProcess","now","lastmodifiedmoment","timeBetween","asMinutes","sinceLast","timeout","asHours","showMoreInstanceCheck","showMoreInstance","showMoreOfInstance","showInstanceCheck","showInstanceList","showInstance","showProcessesCheck","showProcessesList","showProcesses","showDetailsCheck","showDetailsList","showDetails","warningProcesses","filterStatus","ProcessStatus","crashedProcesses","completedProcesses","runningProcesses","summary","processStatistic","processStatus","setList","typeOflist","summaryList","RECONCILATIONS_CONFIG","definitions","allocationProgress","externalReferenceMaxLength","processedConnectionByVVV","pagesizes","overview","details","volumes","roles","readRole","writeRole","baseApiUrls","processedConnectionsByVVV","allValid","allocationProgresses","base","valid","externalReference","isCorrected","allocationProgressLVDetailSeriesVVV","policyGroups","reconciliationReader","reconciliationWriter","BehaviorSubject","ReconciliationsDashboardComponent","reconciliationAllocationService","truncatePipe","datePipe","detailIdFromStorage","detailId$","connectionEanFromStorage","connectionEan$","initialiseData","onpopstate","reload","subscriptions","detailId","getAllocationProgressById","gridOperatorName","processedDate","truncatedGridOperatorName","formattedProcessedDate","detailsTabTitle$","volumesTabTitle$","connectionEan","detailIdStored","cleanStorage","removeItem","noOverviewData","isEmpty","openDetail","openTab","openVolume","connectionEanStored","tabInUrlIsDifferent","URL","href","searchParams","has","delete","isNotSet","trim","ReconciliationsDetailsComponent","itemsPerPage","totalItems","isLoadingData","isLoadingParentData","maxPage","dataCountIsLargerThenMinimumPageSize","minimumPageSize","pageSizes","determineQueryPath","detailIdFromRoute","checkPage","goToPage","initialisePage","checkPageSize","size","setPageSize","openVolumeEvent","determinedDetailId","getDataFromApi","parentData","getAllValidProcessedConnectionsByVVVByValidAllocationProgressId","results","pagedData","consumptionEndDateTime","localeCompare","paginateConfig","pageInUrlIsDifferent","pageNumber","pageSizeInUrlIsDifferent","pageSizeValue","onPageSizeChange","ReconciliationsOverviewComponent","msalBasedAuthorizationService","formDataGroup","initFormArray","isEditingAllowed","hasReconciliationRole","isEditingAnyExternalReference","isEditingExternalReference","getRows","controls","isCorrectedFilter","getFormExternalReference","setFormExternalReference","rowCount","clear","createFormData","getPageData","currentIndex","endIndex","fillPageFormArray","openDetailEvent","changeSelectionIsCorrectedFilter","getAllValidAllocationProgressesForVVV","initFormData","noDataEvent","cancelAllExternalReferences","getRequestParams","searchTitle","maxRowCount","fillPageFormData","editExternalReference","dataItem","cancelEditExternalReference","saveExternalReference","showMessage","updateAllocationProgressExternalReferenceById","saveAllExternalReferences","fillWithSpaces","numberOfSpaces","repeat","RECONCILIATIONS_ROLES","reconciliationsOverview","reconciliationsDetails","reconciliationsVolumes","lastValueFrom","DatePipe","ReconciliationsVolumesComponent","firstDataItem","formExternalReference","formIsCorrected","onChangeExternalReference","wasOrginallyCorrectedTrue","isExternalReferenceFilled","downloadJson","allocationProgressDetailSeries","getAllocationProgressDetailSeriesVVVByAllocationProgressId","allocationProgressLVId","json","detail_Series_Json","showDanger","gridOperatorFileNamePart","determineGridOperatorFilePart","transformToValidFileName","processDate","gridOperatorEan","initFormParentData","isDataChanged","cancelChanges","saveChanges","updateProcessedConnectionsByVVVExternalReferenceByAllocationProgressConnectionEan","updateProcessedConnectionsByVVVIsCorrectedByAllocationProgressConnectionEan","updateExternalReferenceAndIsCorrected","allocationProgressById","MsalGuard","reconciliationsRoutes","component","canActivate","Empty","translationCategoryId","language","Language","TranslationDashboard","translationFromApiOrMemory","clearTranslationCache","clearCache","translations","getTranslations","goToTranslationList","relativeTo","createList","isEmptyObject","TranslationDashboardEdit","translationMemApiService","startPageBasedOnRoute","createNewTranslation","paramObserver","parameters","translationDomainName","isCreate","submitNewListName","newTranslationCategoryFormGroup","getRawValue","row","submit","translationToAdd","listTranslationRow","clickAddRow","clickAdjustRow","clickAdd","clickAdjust","goBackToList","goBackToDomain","changesForm","valueToAdd","nameChanges","nameId","valueChanges","valueId","descriptionChanges","descriptionId","languageChanges","languageId","AdminDashboardComponent","cachingService","paramsAsMap","warningAdmin","adminConfirmation","confimation","put","EdmDashboardComponent","startWith","switchMap","EdsnRegistryEvaluatorComponent","connectionEvaluatorSerivice","isRunning","subscription","ExternalDossierDashboardComponent","HomeDashboardComponent","isLocal","checked","staging","sections","allowedSections","copyToken","ie","getMinimalApiMsalToken","getReconciliationApiMsalToken","getOperationsApiMsalToken","display","environmentChanged","SearchDashboard","getFirstCustomer","fetchConnections","fetchContracts","show","searchStringTrimmed","getByPartialConnectionId","ResetLoadingState","getContractsBySearchString","zipcode","fetchCustomers","goToConnectionFromId","goToContract","contractIds","getAllForConnectionId","currentContractId","goToContractFromId","goToCustomer","goToCustomerFromId","StyleguideComponent","test","test1","test2","test3","disabled","TruncatePipe","args","trail","pure","AllocationProgressLV","AllocationProgressLVDetailSeriesVVV","ProcessedConnectionByVVV","StackTrace","ErrorService","getClientMessage","onLine","getClientStack","getServerMessage","statusText","detail","getServerStack","fromError","stackframes","stringifiedStack","sf","makeLogForServiceDesk","addSilentError","errorMessage","archivedErrors","getRecentErrors","getAllErrors","factory","providedIn","of","EventType","domainApis","trading","apis","getTradingApiUrl","onboarding","reconciliation","getReconciliationApiUrl","supplying","MsalBasedAuthorizationService","broadcastService","isAuthorized","getRolesFromMinimalApi","getRolesFromReconciliationApi","moduleName","r","toLowerCase","role","hasRole","decodedJwt","isOnboardingAuthorized","isTradingAuthorized","isReconciliationAuthorized","authorizationListener$","msalSubject$","msg","eventType","LOGIN_SUCCESS","ACQUIRE_TOKEN_SUCCESS","storeMinimalApiToken","payload","storeOperationsApiToken","storeReconciliationApiToken","isMinimalApiToken","scopes","accessToken","isOperationApiToken","isReconciliationApiToken","token","base64Url","base64","jsonPayload","decodeURIComponent","atob","charCodeAt","HttpHeaders","RECONCILIATION_API_URL","ALL_PROCESSED_CONNECTIONS_BY_VVV_BY_ALLOCATION_PROGRESS_ID_URL","ALL_VALID_PROCESSED_CONNECTIONS_BY_VVV_BY_VALID_ALLOCATION_PROGRESS_ID_URL","SINGLE_PROCESSED_CONNECTION_BY_VVV_URL","SINGLE_PROCESSED_CONNECTION_BY_VVV_EXTERNAL_REFERENCE_BY_ALLOCATION_PROGRESS_CONNECTION_EAN_URL","SINGLE_PROCESSED_CONNECTION_BY_VVV_IS_PROCESSED_BY_ALLOCATION_PROGRESS_CONNECTION_EAN_URL","ALL_ALLOCATION_PROGRESSES_URL","ALL_VALID_ALLOCATION_PROGRESSES_URL","SINGLE_ALLOCATION_PROGRESS_URL","SINGLE_ALLOCATION_PROGRESS_EXTERNAL_REFERENCE_URL","SINGLE_ALLOCATION_PROGRESS_DETAIL_SERIES_VVV_BY_ALLOCATION_PROGRESS_ID_URL","ReconciliationAllocationService","headers","accept","options","getService","handleServiceError","getSearchService","updateService","updateServiceWithParam","param","allocationProgressId","getAllProcessedConnectionsByVVVByAllocationProgressId","responseItem","getAllAllocationProgressesForVVV","getProcessedConnectionVVVById","statusMessage","generalErrors","errMsg","RouterModule","routes","redirectTo","pathMatch","loadChildren","ContractStateTransitioningModule","TimeserieModule","TradingModule","CustomerPortalHelperModule","AppRoutingModule","forRoot","useHash","imports","exports","Settings","LuxonSettings","takeUntil","OverlayConfig","registerLocaleData","localeNl","MSAL_GUARD_CONFIG","MsalCustomNavigationClient","InteractionStatus","DEFAULT_TIMEZONE","defaultLocale","AppComponent","msalGuardConfig","authService","msalBroadcastService","legacyErrorService","pingService","adapter","notification","isIframe","parent","opener","setLoginDisplay","inProgress$","destroying$","setDefault","connectionTimeout","checkConnection","initializeRequiredServices","setDefaultAppTenants","initializeTranslations","requiredServicesInitialized","showNavtext","width","marginLeft","customNavigationClient","instance","setNavigationClient","setLocale","init","authorizationAndRights$","initializeMinimalApis","loginDisplay","getAllAccounts","loginRedirect","authRequest","loginPopup","setActiveAccount","account","logout","popup","logoutPopup","mainWindowRedirectUri","logoutRedirect","complete","clearTimeout","refresh","changeTenant","setCurrentTenantsToLocalStorage","suggestRefresh","selectedtenants","getErrormessages","toggleNotificationCenter","showNotificationCenter","getPing","connectionError","openWithTemplate","tpl","height","global","centerVertically","centerHorizontally","ChartModule","NgxPaginationModule","OverlayModule","HTTP_INTERCEPTORS","HttpClientModule","ErrorHandler","FormsModule","ReactiveFormsModule","MAT_MOMENT_DATE_ADAPTER_OPTIONS","MomentDateAdapter","MatButtonModule","MatCheckboxModule","MatChipsModule","DateAdapter","MAT_DATE_FORMATS","MAT_DATE_LOCALE","MatNativeDateModule","MatOptionModule","MatDatepickerModule","MatFormFieldModule","MatIconModule","MatInputModule","MatMenuModule","MatPaginatorModule","MatSelectModule","MatSlideToggleModule","MatSnackBarModule","MatTableModule","MatTooltipModule","BrowserModule","BrowserAnimationsModule","MSAL_INSTANCE","MSAL_INTERCEPTOR_CONFIG","MsalBroadcastService","MsalInterceptor","MsalModule","MsalRedirectComponent","MsalService","BrowserCacheLocation","InteractionType","LogLevel","PublicClientApplication","GlobalErrorHandler","BlobErrorHttpInterceptor","HttpErrorInterceptor","ApiModule","OnboardingApiModule","Configuration","OnboardingApiConfiguration","OnboardingWelcomeLettersApiConfiguration","OperationsApiModule","OperationsApiConfiguration","SharedModule","SupplyingApiModule","SupplyingApiConfiguration","TradingApiModule","TradingApiConfiguration","TradingDealsUiConfiguration","TradingForecastUiConfiguration","AsDatePipe","IsActivePipe","NotActivePipe","ProductTypeFactorPipe","StringOrJsonPipe","AcmService","ContractStateService","InvoiceService","IssueTypeService","IssueService","SearchHistoryService","TotalBalanceService","MY_FORMATS","dateInput","monthYearLabel","dateA11yLabel","monthYearA11yLabel","isIE","userAgent","loggerCallback","logLevel","msalInstanceFactory","auth","clientId","msal","authority","navigateToLoginRequestUrl","redirectUri","redirectUrl","postLogoutRedirectUri","cacheLocation","LocalStorage","storeAuthStateInCookie","system","loggerOptions","Info","piiLoggingEnabled","msalInterceptorConfigFactory","interactionType","Redirect","protectedResourceMap","msalGuardConfigFactory","scope","AppModule","bootstrap","provide","useClass","multi","useFactory","useValue","useUtc","deps","basePath","getOperationsApiUrl","withCredentials","getOnboardingApiUrl","getOnboardingWelcomeLettersApiUrl","getSupplyingApiUrl","getTradingForecastUiUrl","getTradingDealsUiUrl","declarations","DateTime","MOMENT_ZONED_DATETIME_API_FORMAT","LUXON_DATE_FORMAT","LUXON_DATETIME_FORMAT","FROM_FORMAT_API_ZONED","FROM_FORMAT_API","FROM_FORMAT_API_S","FROM_FORMAT_API_SZ","TODAY_DATE","toFormat","TODAY_DATETIME","HEADER_FILETYPE","XLSX","XML","TRADING_API_URL","SEPERATOR_COMMA","SEPERATOR_SEMILCOLON","HttpErrorResponse","stackTrace","userMessage","fromConnection","getMeterAndMultiplicationFactors","meter","meterDisplayFactors","meterHasOneFactor","every","val","arr","factor","meterInfo","dateIsInTheFuture","getForDate","hasMultipleMetersForDate","hasMultipleCustomersForDate","hasMultipleTenantsForDate","changeDetected","debug","getId","getProductType","getMeter","getMeterId","getCustomerId","customer","groupByAndMap","func","mapper","tempMap","rv","funcResult","retMap","retList","mergeObjectsInUnique","property","newArray","Map","propertyValue","v","concatNotNullArrays","arrays","groupbykey","xs","acc","blob","Blob","dwldLink","createObjectURL","isSafariBrowser","setAttribute","visibility","click","jsonData","intercept","req","handle","reject","reader","FileReader","onload","errmsg","onerror","readAsText","saveAs","contentDisposition","getFileNameFromContentDisposition","n","str","groupByTariff","momentType","compare","ascending","hasEncounteredDeletedMeasurement","measurementsDescendingByModifiedTimestamp","DbToBusinessFactor","request","configurationFactory","ngModule","providers","parentModule","ConnectionActivationsService","ThirdPartySalesService","APIS","HttpContext","CustomHttpParameterCodec","BASE_PATH","httpClient","configuration","encoder","addToHttpParams","httpParams","addToHttpParamsRecursive","elem","toISOString","substr","k","localVarHeaders","defaultHeaders","localVarCredential","lookupCredential","localVarHttpHeaderAcceptSelected","httpHeaderAccept","httpHeaderAccepts","selectHeaderAccept","localVarHttpContext","responseType_","isJsonMime","encodeURIComponent","String","responseType","thirdPartySalesPublishNewSale","saleId","configurationParameters","apiKeys","username","password","credentials","selectHeaderContentType","contentTypes","accepts","mime","jsonMime","RegExp","encodeKey","encodeValue","decodeKey","decodeValue","Lead","Prospect","Contracted","RevocationTermExpired","PreActivation","Active","Leaving","Inactive","ContractStateTransitionSchemeType","NieuweStroomKv","NieuweStroomGv","ContractStateTransitionState","New","Working","Finished","Skipped","Cancelled","Failed","Crashed","IdleOnIssue","StopLegacyTransitioningTask","MarketLeadInfoCollectorTask","ContractDetailsValidatorTask","SendContractNotificationForInfoCollectionTask","MarketConnectionInfoCollectorTask","ResumeLegacyTransitioningTask","SendContractNotificationForInfoValidationTask","MarketConnectionInfoValidatorTask","WaitingForConnectionValidationSameContractTask","MarketContractCancellationTask","WaitingForDirectDebitMandateTask","SendWelcomeLetterTask","WaitingForRevocationTermTask","WaitingForApprovedAdvanceInvoiceTask","WaitingForMarketSwitchTermTask","SendMarketSwitchOrMoveInTask","WaitingForActivationDateTask","SendStartDeliveryLetterTask","WaitingForContractCancellationTask","CreateLegacyFollowUpSendAdvanceInvoiceTask","WaitingForStartDeliveryLetterSentTask","InjectionToken","COLLECTION_FORMATS","GetAllService","GetMostRecentlySentService","HelloService","SendService","nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetAllEndpoint","onboardingId","nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesGetMostRecentlySentEndpoint","baseGetHello","nieuweStroomOnboardingWelcomeLettersEndpointsFeaturesSendEndpoint","HttpParams","apiMarketSalesAcmAcmReportGetCsvGet","localVarQueryParameters","apiMarketSalesAcmAcmReportGetGet","apiMarketSalesAcmInvoiceDeadlineStatisticsCsvPost","invoiceDeadlineType","consumes","httpContentTypeSelected","apiMarketSalesAcmInvoiceDeadlineStatisticsPost","apiMarketSalesAcmInvoiceDeadlinesCsvPost","apiMarketSalesAcmInvoiceDeadlinesGetCsvGet","apiMarketSalesAcmInvoiceDeadlinesGetGet","apiMarketSalesAcmInvoiceDeadlinesPost","AggregationProgressService","apiForecastAggregationProgressGetPost","aggregationProgressRequest","apiForecastAggregationProgressHelloGet","AllocationService","apiMarketAllocationsAllocationAllocationTypeProductTypeGet","allocationType","profileId","nett","AllocationMethodComparisonService","apiMarketAllocationsAllocationMethodComparisonGet","AreaTemperatureService","CertificateOfOriginService","CertificateOfOriginConsumptionService","ClusterService","ClusterConnectionService","ClusterConnectionRecommendationService","ClusterGroupService","ClusterManagementReportService","ClusterPortfolioService","CollectedForecastDataService","ConditionService","ConditionSunService","ConditionWindService","ConnectionActivationContractService","ConnectionClusterService","ConnectionContractStateService","ConnectionEvaluatorService","ConnectionGroupConsumptionService","ConnectionSubMeterService","ConsumptionService","ConsumptionExportService","ConsumptionWithMeasurementsIntervalService","ContactService","ContractStateProvidingService","CurtailmentPartyService","CurtailmentPartyProbabilityService","CustomerConnectionSendMeasurementCommunicationService","CustomerProvidingService","DataTransferMessageService","DealService","DealTradingPartyService","EasyEnergyCustomerService","EnumsService","ExceptionService","ExternalDossierService","ExtraMileService","ForecastService","ForecasterService","LocationService","LockService","MeasurementService","MeasurementCommunicationService","MeasurementSourceDetailService","MiddlewareService","ParameterValueService","PortalServiceService","PortfolioService","PreliminaryPurchaseService","PriceService","ProcessProgressService","ProcessStatisticsService","ProfileService","PurchaseService","QueuedAssetDataService","QueuedAssetProgressService","QueuedForecastDataService","QueuedForecastProgressService","ReconciliationService","ResaleClusterService","ResaleClusterConnectionService","SBPassthroughService","SalesDockService","SolarAssetService","SustainableMeterDetailService","SyncService","TimeService","TimeSerieService","TransactionService","TranslationCategoryService","TwikeyWebhookService","WindAssetService","XtraMileService","apiSystemAreaTemperatureGet","canConsumeForm","consume","apiMarketPurchasesCertificateOfOriginCertiQFilePost","localVarFormParams","localVarUseForm","localVarConvertFormParamsToString","apiMarketPurchasesCertificateOfOriginGet","typeOfSourceUsed","countryWhereTheCOOIsProduced","kindOfFuelUsed","formOfTheFuel","originOfTheFuel","detailsAboutTheOriginOfTheFuel","dateOnWhichTheCOOShouldBeProduced","dateOnWhichTheCOOShouldBeValid","statusOfTheCertificate","apiMarketPurchasesCertificateOfOriginConsumptionGet","theIDOfTheCertificate","dataInterval","apiMarketPurchasesCertificateOfOriginConsumptionXMLGet","year","apiAssetsClusterGetPost","requestCluster","apiAssetsClusterHelloGet","apiForecastClusterCreatePost","createClusterCommand","apiForecastClusterDeletePost","deleteClusterCommand","apiForecastClusterGetPost","clusterRequest","apiForecastClusterHelloGet","apiForecastClusterMovePost","moveClusterCommand","apiForecastClusterUpdatePost","updateClusterCommand","apiForecastClusterConnectionCreatePost","createClusterConnectionCommand","apiForecastClusterConnectionDeletePost","deleteClusterConnectionCommand","apiForecastClusterConnectionHelloGet","apiForecastClusterConnectionUpdatePost","updateClusterConnectionCommand","apiForecastClusterConnectionRecommendationAcceptPost","acceptClusterConnectionRecommendationCommand","apiForecastClusterConnectionRecommendationCreatePost","createClusterConnectionRecommendationCommand","apiForecastClusterConnectionRecommendationDeletePost","deleteClusterConnectionRecommendationCommand","apiForecastClusterConnectionRecommendationGetPost","clusterConnectionRecommendationRequest","apiForecastClusterConnectionRecommendationHelloGet","apiForecastClusterConnectionRecommendationIgnorePost","ignoreClusterConnectionRecommendationCommand","apiForecastClusterConnectionRecommendationUpdatePost","updateClusterConnectionRecommendationCommand","apiForecastClusterGroupCreatePost","createClusterGroupCommand","apiForecastClusterGroupDeletePost","deleteClusterGroupCommand","apiForecastClusterGroupGetPost","clusterGroupRequest","apiForecastClusterGroupHelloGet","apiForecastClusterGroupUpdatePost","updateClusterGroupCommand","apiForecastClusterManagementReportGetPost","clusterManagementReportRequest","apiForecastClusterManagementReportHelloGet","apiForecastClusterPortfolioCreatePost","createClusterPortfolioCommand","apiForecastClusterPortfolioDeletePost","deleteClusterPortfolioCommand","apiForecastClusterPortfolioHelloGet","apiForecastCollectedForecastDataHelloGet","apiForecastCollectedForecastDataPost","collectedForecastDataQueryCommand","apiWeatherConditionByDeltaPost","weatherResponseQueryCommand","apiWeatherConditionByIntervalPost","apiWeatherConditionByLocationPost","apiWeatherConditionHelloHelloGet","apiWeatherConditionSunByDeltaPost","apiWeatherConditionSunByIntervalPost","apiWeatherConditionSunByLocationPost","apiWeatherConditionSunHelloHelloGet","apiWeatherConditionWindByDeltaPost","apiWeatherConditionWindByIntervalPost","apiWeatherConditionWindByLocationPost","apiWeatherConditionWindHelloHelloGet","apiAssetsConnectionConnectionIdGet","queryParameters","credential","httpHeaderAcceptSelected","apiAssetsConnectionContractGet","apiAssetsConnectionGet","apiAssetsConnectionLeadGet","postalCode","buildingNumber","houseNumberAddition","externalCategory","apiAssetsConnectionProspectGet","apiAssetsConnectionPut","connectionR","apiAssetsConnectionUpdateWithLatestMarketConnectionPost","apiOnboardingActivationsConnectionActivationContractGet","apiOnboardingActivationsConnectionActivationContractHelloGet","apiAssetsConnectionClusterCreatePost","connectionClusterCreateCommand","apiAssetsConnectionClusterHelloGet","apiAssetsConnectionClusterUpdatePost","connectionClusterUpdateCommand","apiAdminConnectionContractStateAppendTransitionRemarksPut","contractStateTransitionRemarks","apiAdminConnectionContractStateBlockConnectionContractPut","apiAdminConnectionContractStateCloseConnectionContractPut","apiAdminConnectionContractStateCloseConnectionContractTransitionPut","apiAdminConnectionContractStateCountPerContractMutationStateAndContractStateTransitionTypeGet","apiAdminConnectionContractStateGet","apiAdminConnectionContractStateGetMostRecentlySentWelcomeLetterGet","apiAdminConnectionContractStateGetStartDeliveryLetterGet","apiAdminConnectionContractStateHelloGet","apiAdminConnectionContractStateResendWelcomeLetterPut","apiAdminConnectionContractStateSelfAssignTransitionPut","apiAdminConnectionContractStateUnblockConnectionContractPut","apiAssetsConnectionEvaluatorEvaluateMeteringPointExtractXmlPost","meteringPointExtractEnvelopeXml","apiAssetsConnectionEvaluatorIsRunningGet","apiForecastConnectionGroupConsumptionGetPost","connectionGroupConsumptionQueryCommand","apiForecastConnectionGroupConsumptionHelloGet","apiAssetsConnectionSubMeterGetPost","connectionSubMeterRequest","apiAssetsConnectionSubMeterHelloGet","apiConsumptionsConsumptionConnectionIdGetAllGet","apiConsumptionsConsumptionConnectionIdGetAllModifiedGet","apiConsumptionsConsumptionDelete","consumptionPerNullableWithModifiedTimestampTariffPerClosedDateRangeIdR","apiConsumptionsConsumptionGet","modifiedInterval","apiConsumptionsConsumptionGetAllHistoricallyGet","apiConsumptionsConsumptionGetAllModifiedGet","apiConsumptionsConsumptionPost","consumptionPerClosedDateRangeCreateCommand","apiConsumptionsExportGet","apiConsumptionsConsumptionWithMeasurementsIntervalConnectionIdGetAllGet","apiAssetsContactGet","contactId","apiAssetsContactGetByConnectionIdGet","apiAdminContractStateCountPost","contractStateRequest","apiAdminContractStateExistsPost","apiAdminContractStateHelloGet","apiDealsCurtailmentPartyCreatePost","curtailmentPartyCreateCommand","apiDealsCurtailmentPartyDeletePost","curtailmentPartyDeleteCommand","apiDealsCurtailmentPartyGetPost","curtailmentPartyRequest","apiDealsCurtailmentPartyHelloGet","apiDealsCurtailmentPartyUpdatePost","curtailmentPartyUpdateCommand","apiDealsCurtailmentPartyProbabilityCreatePost","curtailmentPartyProbabilityCreateCommand","apiDealsCurtailmentPartyProbabilityDeletePost","curtailmentPartyProbabilityDeleteCommand","apiDealsCurtailmentPartyProbabilityHelloGet","apiDealsCurtailmentPartyProbabilityUpdatePost","curtailmentPartyProbabilityUpdateCommand","apiAssetsCustomerConnectionSendMeasurementCommunicationGet","apiAssetsCustomerConnectionSendMeasurementCommunicationPost","measurementCommunicationEnabled","apiCustomerassetsCustomerCountPost","customerRequest","apiCustomerassetsCustomerExistsPost","apiCustomerassetsCustomerGetPost","apiCustomerassetsCustomerHelloGet","apiAdminDataTransferMessageGetAllGet","concernsIdType","concernsId","apiAdminDataTransferMessageGetAllModifiedGet","dataTransferMessageType","dataTransferMessageDirection","apiAdminDataTransferMessageGetGet","apiDealsDealConfirmationStateUpdatePost","confirmationStateUpdateCommand","apiDealsDealDayAheadCreatePost","forecastFile","apiDealsDealDealStateUpdatePost","dealStateUpdateCommand","apiDealsDealGetPost","dealRequest","apiDealsDealHelloGet","apiDealsDealReEvaluateTradereportPost","apiDealsDealSendEprogramAgainPost","apiDealsDealSubmitDayAheadFromForecastPost","submitDayAheadFromForecastCommand","apiDealsDealSubmitNordPoolPost","nordpoolExcel","apiDealsDealValidationStateUpdatePost","validationStateUpdateCommand","apiDealsDealTradingPartyCreatePost","dealTradingPartyCreateCommand","apiDealsDealTradingPartyGetPost","dealTradingPartyRequest","apiDealsDealTradingPartyHelloGet","apiDealsDealTradingPartyUpdatePost","dealTradingPartyUpdateCommand","apiAssetsEasyEnergyCustomerSalesdockCreatePost","contractR","apiAssetsEasyEnergyCustomerVendorCreatePost","enumName","apiAdminExceptionCreateAlreadyExistsWithSubjectExceptionPost","apiAdminExceptionCreateExceptionPost","apiAdminExceptionCreateFluentValidationExceptionPost","apiAdminExceptionCreateHavingNoneFilterExceptionPost","apiAdminExceptionCreateNotFoundWithSubjectExceptionPost","apiAdminExceptionCreateNullValueExceptionPost","apiAdminExceptionCreateRangeEmptyFilterExceptionPost","apiAdminExceptionCreateSingleResultExceptionPost","apiAdminExceptionCreateTimeOutExceptionWithSubjectPost","apiAdminExceptionHelloGet","apiAssetsExternalDossierGetAllGet","apiAssetsExternalDossierGetGet","apiAssetsExtraMileXtraMilePost","apiForecastForecastExcelDownloadPost","forecastDownloadRequest","apiForecastForecastGetLatestForecastAvailablePost","latestForecastRequest","apiForecastForecastGetPost","forecastGetRequest","apiForecastForecastHelloGet","apiForecastForecastTriggerForecastDownloadPost","apiForecastForecastUpdateForecastsInLegacyPost","updateForecastsInLegacyRequest","apiForecastForecasterCreatePost","createForecasterCommand","apiForecastForecasterDeletePost","deleteForecasterCommand","apiForecastForecasterGetPost","forecasterRequest","apiForecastForecasterHelloGet","apiForecastForecasterUpdatePost","updateForecasterCommand","apiMarketSalesInvoiceInvoiceTypeProductTypeGet","invoicedFrom","invoicedUntil","apiMarketSalesInvoiceSummedInvoiceTypeProductTypeGet","suppliedFrom","suppliedUntil","apiAdminIssueCountPerIssueTypeAndSubjectGet","from2","until2","modifiedBeforeTimestamp","createdFrom","createdUntil","closedFrom","closedUntil","apiAdminIssueGet","apiAdminIssueIdClosePut","apiAdminIssueIdProcessPut","apiAdminIssuePut","issueR","apiSystemIssueTypeGet","apiWeatherLocationClosestGroupPost","locationNearestGroupQuery","apiWeatherLocationClosestPost","locationCoordinates","apiWeatherLocationQueryPost","locationQueryCommand","apiLockIdGet","apiLockIdPut","apiConsumptionsMeasurementConnectionIdGetAllForDateGet","apiConsumptionsMeasurementConnectionIdGetAllGet","apiConsumptionsMeasurementConnectionIdGetAllHistoricallyForDateGet","apiConsumptionsMeasurementConnectionIdGetAllHistoricallyGet","apiConsumptionsMeasurementConnectionIdGetAllHistoricallyModifiedGet","apiConsumptionsMeasurementConnectionIdGetAllHistoricallyTimestampedGet","apiConsumptionsMeasurementConnectionIdGetAllModifiedGet","apiConsumptionsMeasurementConnectionIdGetAllTimestampedGet","apiConsumptionsMeasurementConnectionIdGetMeasurementEstimatesGet","instant","apiConsumptionsMeasurementDeleteMeasurementsPut","targetMeasuremsentSource","measurementIdR","apiConsumptionsMeasurementGetAllHistoricallyModifiedGet","apiConsumptionsMeasurementGetAllModifiedGet","apiConsumptionsMeasurementLimitsGet","shouldSubmitToGridOperator","apiConsumptionsMeasurementMeterReadingPost","measurementReadingMethod","measurementMutationReason","inlineObject5","apiConsumptionsMeasurementPost","inlineObject4","apiConsumptionsMeasurementRangesGet","apiAssetsMeasurementCommunicationConnectionIdGetAllGet","apiAssetsMeasurementCommunicationContactIdGetAllByContactGet","withMeasurements","apiAssetsMeasurementCommunicationContactIdGetAllForDateGet","apiAssetsMeasurementCommunicationGet","measurementCommunicationType","apiAssetsMeasurementCommunicationGetAllGet","apiAssetsMeasurementCommunicationMeterReadingCustomerPost","inlineObject6","apiAssetsMeasurementCommunicationPut","contactMeasurementCommunicationR","apiAssetsMeasurementCommunicationSendMeasurementCommunicationPost","apiAssetsMeasurementCommunicationWebsiteGet","eAN","hashedID","expireNumberOfDays","apiAssetsMeasurementCommunicationWebsitePost","normCons","lowCons","normProd","lowProd","apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByConnectionIdGet","apiConsumptionsMeasurementSourceDetailGetAllMeasureMentsourceDetailByMeasurementIdHistoricallyGet","withoutTariff","apiAdminMiddlewareDelayCountResponseHeaderPost","delayCountRequest","apiAdminMiddlewareHelloGet","apiAdminParameterValueCreatePost","parameterValueR","apiAdminParameterValueDeleteDelete","parameterValueId","apiAdminParameterValueGetAllGet","apiAdminParameterValueGetAllValidGet","apiAdminParameterValueGetValidGet","apiAdminParameterValueUpdatePut","apiAdminParameterValueUpsertPut","apiToolsPortalServiceCredentialManagementPost","customerPortalUserRequestCommand","apiToolsPortalServiceHelloGet","apiForecastPortfolioCreatePost","createPortfolioCommand","apiForecastPortfolioDeletePost","deletePortfolioCommand","apiForecastPortfolioGetPost","portfolioRequest","apiForecastPortfolioHelloGet","apiForecastPortfolioUpdatePost","updatePortfolioCommand","apiForecastPreliminaryPurchaseCalculatePost","preliminaryPurchaseCalculateRequest","apiForecastPreliminaryPurchaseCreatePost","preliminaryPurchaseCreateRequest","apiForecastPreliminaryPurchaseFinalizePost","preliminaryPurchaseTradeGroupFinalizeRequest","apiForecastPreliminaryPurchaseGenerateAdjustmentPost","preliminaryPurchasePartGenerationRequest","apiForecastPreliminaryPurchaseGetAdjustmentTypesPost","apiForecastPreliminaryPurchaseGetCalculationTypesPost","apiForecastPreliminaryPurchaseGetClusterOptionsPost","apiForecastPreliminaryPurchaseGetDateTypesPost","apiForecastPreliminaryPurchaseGetPost","preliminaryPurchaseRequest","apiForecastPreliminaryPurchaseGetQuarterHoursPost","preliminaryPurchaseQuarterRequest","apiForecastPreliminaryPurchaseGetRoundTypesPost","apiForecastPreliminaryPurchaseGetTemplatePost","preliminaryPurchaseCollectionRequest","apiForecastPreliminaryPurchaseHelloGet","apiMarketPurchasesPriceImbalanceProductTypeGet","apiMarketPurchasesPriceMarketTypeProductTypeGet","marketType","apiAdminProcessProgressConnectionIdDelete","apiAdminProcessProgressConnectionIdPut","apiAdminProcessProgressGet","apiAdminProcessStatisticsProcessGetAllGet","apiAdminProcessStatisticsProcessLatestGet","apiAdminProcessStatisticsProcessRunningGet","apiAdminProcessStatisticsPut","processStatisticsId","apiSystemProfileGet","apiMarketPurchasesPurchasePurchaseTypeProductTypeGet","purchaseType","apiForecastQueuedAssetDataGetPost","queuedAssetDataRequest","apiForecastQueuedAssetDataHelloGet","apiForecastQueuedAssetProgressGetPost","queuedAssetProgressRequest","apiForecastQueuedAssetProgressHelloGet","apiForecastQueuedForecastDataGetPost","queuedForecastDataRequest","apiForecastQueuedForecastDataHelloGet","apiForecastQueuedForecastProgressGetPost","queuedForecastProgressRequest","apiForecastQueuedForecastProgressHelloGet","apiMarketAllocationsReconciliationProductTypeGet","apiForecastResaleClusterCreatePost","createResaleClusterCommand","apiForecastResaleClusterDeletePost","deleteResaleClusterCommand","apiForecastResaleClusterGetPost","resaleClusterRequest","apiForecastResaleClusterHelloGet","apiForecastResaleClusterUpdatePost","updateResaleClusterCommand","apiForecastResaleClusterConnectionCreatePost","createResaleClusterConnectionCommand","apiForecastResaleClusterConnectionDeletePost","deleteResaleClusterConnectionCommand","apiForecastResaleClusterConnectionHelloGet","apiForecastResaleClusterConnectionUpdatePost","updateResaleClusterConnectionCommand","apiSBPassthroughPost","sBMessageRequest","apiOnboardingThirdpartysalesSalesDockHelloHelloGet","apiOnboardingThirdpartysalesSalesDockPublishNewSaleSaleIdPost","apiAssetsSolarAssetCreatePost","solarAssetCreateCommand","apiAssetsSolarAssetGetPost","solarAssetRequest","apiAssetsSolarAssetHelloGet","apiAssetsSolarAssetUpdatePost","solarAssetUpdateCommand","apiAssetsSustainableMeterDetailCreatePost","sustainableMeterDetailCreateRequest","apiAssetsSustainableMeterDetailDeletePost","sustainableMeterDetailDeleteRequest","apiAssetsSustainableMeterDetailHelloGet","apiAssetsSustainableMeterDetailUpdatePost","sustainableMeterDetailUpdateRequest","apiAdminSyncSyncForConnectionPost","apiAdminTimeGetTimeFromDateTimeOffsetPost","apiAdminTimeGetTimeFromZonedDateTimePost","apiAdminTimeHelloGet","apiTimeSeriesTimeSerieGetTimeSerieValuesPost","timeSerieValueRequest","apiTimeSeriesTimeSerieGetTimeSeriesPost","timeSerieRequest","apiTimeSeriesTimeSerieHelloGet","apiTransactionsTransactionConnectionIdUploadCurtailmentPost","apiTransactionsTransactionHelloGet","apiAdminTranslationCategoryGet","apiAdminTranslationCategoryIdsGet","apiAdminTranslationCategoryPost","translationCategoryR","apiAdminTranslationCategoryTranslationDomainNameNameGet","apiAdminTranslationCategoryTranslationDomainNameNamePut","apiOnboardingDirectdebitmandatesTwikeywebhookGet","mandateNumber","apiOnboardingDirectdebitmandatesTwikeywebhookHelloGet","apiAssetsWindAssetCreatePost","windAssetCreateCommand","apiAssetsWindAssetGetPost","windAssetRequest","apiAssetsWindAssetHelloGet","apiAssetsWindAssetUpdatePost","windAssetUpdateCommand","xtraMileCreatePost","Telemetric","EdsnTelemetric","EdsnProfile","EdsnTotal","ConnectionAllocationCalculatedBySupplier","ConnectionHypotheticalAllocationBySupplier","ConnectionTelemetricAllocationBySupplier","ConnectionAssigned","ConnectionTelemetricAllocationByGridOperator","ConnectionAllocationAssignedByGridOperator","CertificateOfOriginProduct","NieuweStroomBiomassNl","NieuweStroomWindEu","NieuweStroomWindNl","NieuweStroomSolarNl","NieuweStroomFullFlexRenewable","NieuweStroomFullFlexFossil","NieuweStroomGasNl","EasyEnergyWindEu","CertificateOfOriginType","GoDisclosureCertificate","GoRenewableElectricity","EconomicSector","EdsnMarketSegment","Unknown","ElectricityZeroTariff","ElectricitySingle6ASwitchingNotMetered","ElectricitySingle6ASwitching","ElectricitySingle10ANotMetered","ElectricitySingle10A","ElectricityTriple25AAndSingle80ANotMetered","ElectricityTriple25AAndSingle80A","ElectricityTriple35A","ElectricityTriple50A","ElectricityTriple63A","ElectricityTriple80A","ElectricityLowVoltage","ElectricityYearly100Kw","ElectricityYearly160Kw","ElectricityYearly630Kw","ElectricityYearly1Mw","ElectricityYearly2Mw","ElectricityYearly5Mw","ElectricityYearly10Mw","ElectricityYearlyInfinite","GasZeroTariff","GasNotMetered","GasHourly10M3Yearly500M3","GasHourly10M3Yearly7500M3","GasHourly10M3YearlyInfinite","GasHourly16M3YearlyInfinite","GasHourly25M3YearlyInfinite","GasHourly40M3YearlyInfinite","GasHourly40M3YearlyInfiniteEvci","GasHourly65M3YearlyInfinite","GasHourly65M3YearlyInfiniteEvci","GasHourly100M3YearlyInfinite","GasHourly100M3YearlyInfiniteEvci","GasHourly160M3YearlyInfinite","GasHourly160M3YearlyInfiniteEvci","GasHourly250M3YearlyInfinite","GasHourly250M3YearlyInfiniteEvci","GasHourly400M3YearlyInfinite","GasHourly400M3YearlyInfiniteEvci","GasHourly650M3YearlyInfinite","GasHourly650M3YearlyInfiniteEvci","GasHourly1000M3YearlyInfinite","GasHourly1000M3YearlyInfiniteEvci","GasHourly1600M3YearlyInfinite","GasHourly1600M3YearlyInfiniteEvci","GasHourly2500M3YearlyInfinite","GasHourly2500M3YearlyInfiniteEvci","GasHourlyInfiniteYearlyInfinite","GasHourlyInfiniteYearlyInfiniteEvci","ContactType","BalanceResponsibleParty","MeteringResponsibleParty","Operator","SubMeterResponsibleParty","WaitingForAdvanceInvoiceCreatedTask","TriggerAdvanceInvoiceTask","ConversionDetail","ClassicSilicon","ThinFilm","Onshore","Offshore","NonChp","Chp","ConversionTechnology","Photovoltaic","Concentration","RunOfRiverHeadInstallation","StorageHeadInstallation","PurePumpedStorageHeadInstallation","MixedPumpedStorageHeadInstallation","Tidal","Wave","Currents","Pressure","CombinedCycleGasTurbineWithHeatRecovery","SteamTurbineWithBackPressureTurbine","SteamTurbineWithCondensationTurbine","GasTurbineWithHeatRecovery","InternalCombustionEngine","MicroTurbine","StirlingEngine","FuelCell","SteamEngine","OrganicRankineCycle","GasTurbineWithoutHeatRecovery","HeavyWaterReactor","LightWaterReactor","Breeder","GraphiteReactor","Country","Austria","Belguim","Bulgaria","Switzerland","Cyprus","CzechRepublic","Germany","Denmark","Estonia","Spain","Finland","France","UnitedKingdom","Greece","Croatie","Hungary","Ireland","Italy","Iceland","Lithuania","Luxembourg","Latvia","Malta","Netherlands","Norway","Poland","Portugal","Romania","Sweden","Slovakia","Slovenia","CurtailmentCalculationType","SummedChanche","BucketMeanPrice","CurtailmentType","CurtailmentKw","CustomerType","Company","Consumer","DataTransferMessageDirection","Request","Response","DataTransferMessageType","EdsnCaloricCorrectionFactors","EdsnChangeOfAllocationMethod","EdsnChangeOfPv","EdsnChangeOfSupplier","EdsnNoticeContractAcknowledgement","EdsnContractCancellation","EdsnContractCancellationRejectionResult","EdsnContractCancellationResult","EdsnContractData","EdsnContractDataBatch","EdsnContractDataRejectionResult","EdsnContractDataResult","EdsnContractLossResult","EdsnContractRenewal","EdsnCreateCk","EdsnEchPortal","EdsnEndOfSupply","EdsnGainResult","EdsnGetMeteringPoint","EdsnGetMpInformation","EdsnGetScmpInformation","EdsnGetTransactionDossiers","EdsnGetTransactionDossierStepMessage","EdsnGetTransactionDossierSteps","EdsnHistoricalData","EdsnHistoricalMeteringData","EdsnHistoricalMeteringDataRejection","EdsnLossResult","EdsnMasterData","EdsnMasterDataUpdate","EdsnMeterReadingDispute","EdsnMeterReadingDisputeNotification","EdsnMeterReadingDisputeResult","EdsnMeterReadingDisputeResultNotification","EdsnMeterReadingExchange","EdsnMeterReadingExchangeNotification","EdsnMoveIn","EdsnMoveOut","EdsnNoticeContractNotification","EdsnNoticeEos","EdsnNoticeEosNotification","EdsnP4CollectedDataBatch","EdsnP4CollectedDataBatchResult","EdsnPreMutationMd","EdsnRejectionResult","EdsnSearchMeteringPoints","EdsnUpdateResult","EdsnMasterDataGain","EdsnMeasureCorrection","EdsnMeasureCorrectionResultNotification","EdsnTariffs","NameChangeBatch","NameChange","DealConfirmationState","DoesNotApply","Defined","ReadyToConfirm","Confirming","ConfirmationReceived","Confirmed","DealState","Accepted","Executing","Executed","Verified","Rejected","Expired","Revised","DealValidationState","ReadyToValidate","Validating","Validated","EnergyMeterReadingMethod","RecordedByBalanceSupplier","CalculatedByBalanceSupplier","Recorded","P4","Estimated","BestEstimation","Agreed","RecordedByMeteringResponsibleParty","CalculatedByMeteringResponsibleParty","RecordedByGridOperator","CalculatedByGridOperator","E01","E02","EstimationType","Flat","Dynamic","ForecastActualDataType","AssetCount","ConsumptionLow","ProductionLow","ConsumptionNormal","ProductionNormal","PeakLow","PeakHigh","Asset","ForecastAdjustmentCalculationType","Add","Percentage","ForecastAdjustmentType","Custom","All","Solar","BusinessHours","MinForHour","MaxForHour","RampUpDown","RoundForHour","AvgForHour","ForecastClusterType","ClusterBased","ConnectionBased","ForecastConnectionClusterType","Untyped","Sma","SmaConsumption","SmaProsumption","ConsumptionSubMeter","ProductionSubMeter","ProsumptionSolar","ProductionSolar","ProsumptionSolarWeekend","ProsumptionSolarSummer","Wind","FractionType","ConstantFraction","TemperatureFraction","PeakHourSupply","FuelForm","Solid","Liquid","Gaseous","HeatingAndCooling","MechanicalSourceOrOther","Heat","FurnaceGas","ByproductInIndustrialInstallation","ByproductInPowerGeneration","ByproductInTertiarySector","FuelKind","Renewable","Fossil","Nuclear","GasSynthesis","WasteHeatAndCold","FuelOrigin","MunicipalWaste","IndustrialAndCommercialWaste","Wood","AnimalFats","BiomassFromAgriculture","MunicipalBiodegradableWaste","BlackLiquor","PurePlantOil","WastePlantOil","RefinedVegetableOil","LandfillGas","SewageGas","AgriculturalGas","GasFromOrganicWasteDigestion","ProcessGas","OtherGasSources","Geothermal","Aerothermal","Hydrothermal","ProcessHeat","HydroAndMarine","HardCoal","BrownCoal","Peat","CrudeOil","NaturalGasLiquids","PetroleumProducts","NaturalGas","CoalDerivedGas","MunicipalGasPlant","RadioactiveFuel","FuelOriginDetail","Biogenic","ForestryProducts","ForestryByproductsAndWaste","SawProductsByproductsAndWaste","AgriculturalProducts","AgriculturalByproductsAndWaste","Rapeseed","Sunflower","OilPalm","Coconut","Jatropha","Biodiesel","Biogasoline","PigManure","CowManure","ChickenManure","UnspecifiedManure","EnergyCrops","DigestionOfPureManure","DigestionOfManureWithEnergyCrops","OrganicWaste","AgriculturalWaste","AgriculturalWasteFromFarmFertiliser","AgriculturalWasteFromStraw","WasteFromFoodIndustry","ManureWithOrganicWaste","ManureWithOrganicWasteAndEnergyCrops","OtherBiogenicWaste","ConventionalGeothermalHeat","EnhancedDryBedGeothermalHeat","ShallowGeothermalHeatOrCold","River","Lake","Anthracite","BituminousCoal","CokingCoal","CokeOvenCoke","LigniteCoke","SubbituminousCoal","Lignite","BrownCoalBriquette","PeatBriquette","NonRenewable","ShaleOil","Ethane","Naphtha","AviationGasoline","MotorGasoline","AviationTurbineFuel","OtherKerosene","GasOrDieselOil","FuelOilLowSulphur","FuelOilHighSulphur","LiquidPetroleumGas","Orimulsion","Bitumen","Lubricants","PetroleumCoke","RefineryFeedstock","BlastFurnaceGas","CokeOvenGas","Propane","Butane","RefineryGas","ChemicalWasteGas","CarbonMonoxide","Methane","HydrogenFossilSourced","PhosphorGas","OxyGas","Uox","Agr","Mox","QuarterYear","GroupType","One","Any","IdType","SupplierId","IntradayType","Idm","Dam1","Dam2","Dam3","Dam4","Dam5","Dam6","Dam7","IntradayVersion","Version1","Version11","Version12","Version13","Version14","Version15","Version2","Version21","Version22","Version23","Version24","Version25","Version3","Version31","Version32","Version33","Version34","Version35","Version4","Version41","Version42","Version43","Version44","Version45","InvoiceDeadlineType","InitialAdvanceInvoice","Periodic","MonthlySettlement","YearlySettlement","FinalSettlement","Settlement","InvoiceTypeR","PrePayed","ConsumptionMeasurementCorrection","MeasurementCollection","Consolidation","ConsolidationEstimation","ConsolidationDistribution","ConsolidationLargeCapacityDistribution","ConsolidationDataCompletion","ConsolidationDataCompletionClosedConsumption","ConsolidationDataCompletionClosedConsumptionQuantitiesMismatch","AggregationConsumption","AggregationAllocation","AggregationReconciliation","MeasurementCollectionSync","MeasurementCollectionP4","MeasurementCollectionMeterReading","MeasurementCollectionMeterReadingNegativeVolume","MeasurementCollectionDispute","AllocationBySupplierCalculation","MeasurementCollectionWebsite","MeasurementCommunicationFailedToSend","MeasurementCommunicationFailedToUpdateEntity","MeasurementCommunicationNoMeasurementReceived","MeasurementCommunicationMissingData","MeasurementCommunicationFailedToCreateEntity","MeasurementCommunicationWithoutRespond","MeasurementsToSubmitDetermination","ReconciliationBySupplierCalculation","ReconciliationBySupplierEstimation","MeasuringErrorCorrectionFactorCollection","CalorificCorrectionFactorCollection","PriceCollectionConnectionCapacity","XtraMileContractService","AdminProcess","XtraMileMeterInSystem","XtraMileAnnualConsumptionDifference","ForecastActualsDexter","ConnectionContractStateTransitioning","ConnectionContractStateTransitioningException","ConnectionContractStateTransitioningInformational","TaxCollection","ConnectionUpdate","ConnectionUpdateHistorically","ForecastCollectionDexterCluster","ForecastCollectionDexterConnection","MeasureCorrection","ConsumptionPerGranularityIntervalToConnectionConsumptionSync","PriceCollectionApx","PriceCollectionLeba","AreaTemperatureCollection","PriceCollectionImbalance","PriceCollectionFinalizedReconciliationElectricity","PriceEstimationReconciliationElectricity","PriceCollectionFinalizedReconciliationGas","PriceEstimationReconciliationGas","ProfileFractionsCollection","MeteringPointExtract","InvoicingQueueProcess","CustomerProviderEpvMapping","AllocationDataOutlier","AllocationDataOutlierProcessUnexpectedError","Processing","MarketPurchasesStagingSyncer","EnergySystemStagingSyncer","MeasurementEnvironmentSyncer","ConsumptionEnvironmentSyncer","MeterInvoiceSettingsEnvironmentSync","CustomerInvoiceSettingsEnvironmentSync","ContractInvoiceSettingsEnvironmentSync","InvoiceSettingsEnvironmentSync","PeakSupplyPurchaseFractionsEnvironmentSync","PeakSupplyFactorEnvironmentSync","PriceEnvironmentSync","ProfileFractionEnvironmentSync","ProfileProsumptionEnvironmentSync","Loss","LossNotification","Gain","ExternalDossierMapping","MeasurementSourceDetailsSync","ConnectionValidation","ConnectionIssue","StoreAllocationMessages","ConnectionEnvironmentSyncer","IssueUrgency","Nl","Trace","Debug","Information","Warning","Critical","LossReason","UnjustifiedSwitch","Apx","Leba","PeakHourConsumptionPerMonth","PeakHourConsumptionTransportPerYear","PeakHourConsumptionTransportPerQuarterYear","PeakHourConsumptionTransportPerMonth","PeakHourProductionTransportPerMonth","Reconciliation","Imbalance","AnnualInvoiceRequest","AnnualTransitionRequest","TransactionDossierStepRequest","TransactionDossierStepRequestLoss","PeriodicRequest","TelemetryNotOperationalRequest","DataTariffSplitter","DataCorrector","DataDistributor","MultiYearPropositionR","OneYear","ThreeYear","MutationReasonCode","Bulkpv","Connact","Connchg","Conncre","Conndact","Connend","Connupd","Consmtr","Dispute","Dstrconn","Dstrmstr","Endofmv","Eosupply","Histmtr","Movein","Moveout","Mtrend","Mtrinst","Mtrupd","Namechg","Nmcrscmp","Permtr","Physmtr","Rescomp","Switchlv","Switchmv","Switchpv","Swtchupd","Allmtchg","Monthmtr","Indhse","Indhsh","Mdmd","Mdppmd","Onrqst","Contrcan","Contrdat","Contrmov","Cercancellation","DistributedQuantityEstimate","DistributedQuantity","Distributed","MeasuredQuantityEstimate","MeasuredVolume","Measured","CorrectedQuantityEstimate","CorrectedQuantity","Corrected","ParameterDataType","EnumDataType","StringDataType","NaturalNumberDataType","NonNaturalNumberDataType","ZonedDateTimeDataType","GuidDataType","GuidCollectionDataType","BoolDataType","UnderConstruction","Operational","Dismantled","NotOperational","PrecipitationType","Rain","Snow","Other","ConsolidationDataCompletionEstimation","ConsolidationDataCompletionFallback","AggregationClusterConsumption","MeasurementCorrection","MeasurementEstimation","MeasurementDistribution","ConsumptionMoneyDetermination","ConsumptionAggregation","MeasurementCollectionStartOfDay","MeasurementCollectionSmallestGranularity","MeasurementCollectionTmtSync","MeasurementCollectionRequest","MeasurementCollectionResponse","MeasurementCollectionP4Registration","MeasurementCollectionMeterReadingIssue","MeasurementCollectionMeterReadingDispute","MeasurementCommunicationReminder","ContactCollection","MissingMasterData","InvoiceTriggerProcess","InvoicingQueueEnqueuer","ConnectionUpdateLegacyStaging","ConnectionGainLegacyStaging","CalorificCorrectionFactorsStaging","P4CollectedDataBatchResultStaging","MeterReadingExchangeStaging","PriceStagingSync","PricePerGroupStagingSync","GridAreaCorrectionFactorStagingSync","GainHistorically","LossHistorically","OpenWeatherMapSyncService","AeolisWeatherSyncService","OnboardingActivationsInitiateGroupActivation","OnboardingActivationsRequestMinimalStartDateMarketForGroup","OnboardingConnectionActivationsFollowupPlanner","OnboardingConnectionActivationsFollowUp","OnboardingConnectionActivationsUpdateMinimalStartDateMarket","OnboardingConnectionActivationsMinimalStartDateMarketUpdated","OnboardingDirectDebitMandatesSendMandateInvite","OnboardingDirectDebitMandatesProcessCustomerMandateUpdate","OnboardingThirdPartySalesProcessNewSale","OnboardingThirdPartySalesEnrichQuote","OnboardingThirdPartySalesCompleteQuote","OnboardingThirdPartySalesApproveQuote","TradingExecutor","TradingCreator","ImbalanceCurtailmentCreator","ProbabilityEvaluatorExecuting","TradingDealExpiredExecuting","KinectDealExecuting","KinectDealValidating","SpectralDealExecuting","TennetMessageReception","TennetMessageSubmission","CommunicationHandling","WeatherChangeAlerting","KnmiWeatherSynchronizeService","CustomerAssetsEpvValidator","AllocationConsolidation","HeavyConsolidation","LightConsolidation","DocumentCheckerService","DocumentPollingService","InvoiceClearanceCompletionService","InvoiceCompletionService","InvoiceSmartMeterCompletionService","InvoiceToCorrectService","InvoiceToCreditService","InvoiceToRecalucateService","InvoiceSendStartDeliveryLetterService","InvoiceSendWelcomeLetterService","SendInvoiceMailService","BusinessCentralInvoiceSync","BusinessCentralCustomerSync","ConsumptionsByCertificateService","InvoicingQueueBatch","InvoiceDropoutProcess","CampinaDealExecuting","EnvironmentSyncQueue","MeasurementCollectionMeterReadingHistorically","MeteringPointEvaluation","ForecastClusterDetermination","ForecastClusterDeterminationDeletedConnections","ForecastConnectionConsumptionDetermination","ForecastConnectionCorrelationDetermination","ForecastActualCollection","QueueForecastDataProcess","QueueAssetDataProcess","QueuePortfolioDataProcess","SendForecastDataProcess","SendAssetDataProcess","DownloadForecastProcess","DeleteForecastProcess","ConnectionGroupConsumptionAggregationProcess","ReceiveTenneTAllocationMessages","ReReadAllocationMessages","EnAppSysSolarPredictionSyncService","MeteringCompanyMeterSync","MeteringCompanyMeterConsumptionsSync","ConsolidationMessageEnqueueing","LightConsolidationPriority","CronProcessHandler","ProcessDirective","Create","Update","ProductSource","HydroElectricHeadInstallations","Marine","Thermal","ProsumptionType","AnnualEstimate","ReservedPeak","PurchaseType","EProgram","VProgram","SBMessageTargetType","Queue","Topic","Status","Valid","Exported","Withdrawn","ExportInProgress","OwnConsumption","SwitchMoveInR","MoveIn","SwitchType","ChangeOfSupplier","SystemOperator","Edsn","Evening","Night","TimeSerieCategory","Generic","Weather","Forecast","Program","Price","CollectedForecast","PreliminaryPurchase","TimeSerieStorage","Private","Public","TradingPlatform","Kinect","Campina","InHouse","Curtailment","Etpa","TransferMedium","UtilizationType","Residential","NonResidential","ValueType","Decimal","DateTimeOffset","Boolean","Short","Int","WeatherSource","OpenWeatherMap","Aeolis","Knmi","EnAppSys","Combined","AlertComponent","BackButtonComponent","back","ButtonWithFeedbackComponent","button","setup","ButtonAction","DefaultButtonComponent","loading","DropdownButtonWrapperComponent","DropdownWrapTriggerDirective","option","selectedOption","CollapsableContentComponent","showContent","ngContentSelectors","CopyTextComponent","clipboard","writeText","feedbackMessage","feedback","uploadMessages","State","fail","succes","fileUploadForm","fileInputLabel","myfile","onFileSelect","onFormSubmit","uploadingInProgress","statusCode","uploadFileInput","nativeElement","LoaderComponent","ModalComponent","isOpen","handleKeyboardEvent","selfClose","handleKeyboardEvent2","pressedEnter","addEventListener","className","remove","classList","modalClosed","ModalService","modals","modal","periodPickerPeriods","referenceDate","PeriodPickerComponent","period$","defaultPeriod","goingReactive","checkSelectedValue","periodPickerGroup","NG_VALIDATORS","NG_VALUE_ACCESSOR","SearchBarComponent","change","writeValue","string","registerOnChange","onChange","registerOnTouched","onTouched","markAsTouched","touched","setDisabledState","control","minChar","useMoreThan3Characters","useExisting","SimpleTableComponent","getActionViewContext","action","$implicit","originalDataSource","dataSource","columsToShow","direction","isAsc","columnName","columsToShowFiltered","customTemplateRefs","contentQueries","TableFiltersComponent","filterForm","label","quickFilter","newFilters","colum","createFormGroup","TableComponent","actions","DragAndDropDirective","onmouseDown","mouseDown","onmouseUp","mouseUp","dragAndDropService","asObservable","destroy$","setDragPayload","draggedItem","clearPayload","invalidInput","ZonedDateTimeParser","fromISO","zone","BoolToWordPipe","DateTimePresetPipe","preset","DATETIME_SHORT","toLocaleString","DateTimeRelativePipe","onlyIfWithinHours","abs","diffNow","hours","toRelative","MomentFormatPipe","useFromNowIfWithinHours","locale","isBeforeThreshold","isAfterThreshold","fromNow","StringToDateTimeFormatPipe","splitOnMs","DATE_SHORT","day","dateTimeWithZone","noZone","fromFormat","TranslatePipe","TranslationPipe","NgxJsonViewerModule","CommonModule","MatPaginator","MatProgressBarModule","MatSortModule","PricesService","intervalStart","intervalEnd","DealsService","whereGroupIdIsNull","whereAggressorIdIsNull","skip","whereOverrideIdIsNull","includeStatusses","includeTradingParties","includeVolumes","fullFamily","includePreceedingOverrides","includeSucceedingOverrides","creator","initiatorId","aggressorId","forecastFrom","forecastUntil","tradingPlatform","groupType","createdDateTimeFrom","createdDateTimeUntil","executionDayFrom","executionDayUntil","modifiedDateTimeFrom","modifiedDateTimeUntil","hasDealState","currentDealState","hasDealValidationState","currentDealValidationState","hasDealConfirmationState","currentDealConfirmationState","statusIncludes","modifier","modifierIncludes","orderByExecutionDay","overrideId","isStatusActive","forecastAggregationProgressGet","forecastClusterConnectionCreate","forecastClusterConnectionDelete","forecastClusterConnectionRecommendationAccept","forecastClusterConnectionRecommendationCreate","forecastClusterConnectionRecommendationDelete","forecastClusterConnectionRecommendationGet","forecastClusterConnectionRecommendationIgnore","forecastClusterConnectionRecommendationUpdate","forecastClusterConnectionUpdate","forecastClusterCreate","forecastClusterDelete","forecastClusterGet","forecastClusterGroupCreate","forecastClusterGroupDelete","forecastClusterGroupGet","forecastClusterGroupUpdate","forecastClusterManagementReportGet","forecastClusterMove","forecastClusterPortfolioCreate","forecastClusterPortfolioDelete","forecastClusterUpdate","forecastCollectedForecastDataGet","forecastConnectionGroupConsumptionGet","forecastDownloadForecastGet","forecastEnappsysForecastGet","enappsysRequestCommand","forecastForecastGet","forecastForecasterCreate","forecastForecasterDelete","forecastForecasterGet","forecastForecasterUpdate","forecastLatestForecastGet","forecastPortfolioCreate","forecastPortfolioDelete","forecastPortfolioGet","forecastPortfolioUpdate","forecastQueuedAssetDataGet","forecastQueuedAssetProgressGet","forecastQueuedForecastDataGet","forecastQueuedForecastProgressGet","forecastResaleClusterConnectionCreate","forecastResaleClusterConnectionDelete","forecastResaleClusterConnectionUpdate","forecastResaleClusterCreate","forecastResaleClusterDelete","forecastResaleClusterGet","forecastResaleClusterUpdate","forecastTriggerForecastDownloadTrigger","forecastUpdateForecastInLegacyGet","EnappsysCurrency","Eur","EnappsysFileType","Csv","EnappsysForecastType","EnappsysGranularity","Hourly","EnappsysTimeZone","Cet","InvoicingQueueFirstAdvance","InvoicingQueueMonth","InvoicingQueueYear","InvoicingQueueEnd","OnboardingCustomerConnectionDebtorsSynchronizePaymentPreference","ReceiveTenneTMessageList","ProcessTenneTAllocationMessages","ExponentialStrengthPipe","exponent","pow","errorString","getErrors","csv","CachingService","lifetimeInDaysOverride","maxItems","updatedCacheData","lifetime","lifetimeInDays","msinDay","shift","cacheTypeCheck","lifeTimeExceeded","addDataToCachedObject","removeChildElementFromObject","childName","filteredCacheData","child","CacheTypes","getBySearchString","partialConnectionId","consumptionExportURL","intervalThrough","defaultInterval","ConsumptionPeriodService","intervalObservable","consumptionURL","consumptionWithMeasurementsURL","getAllForGranularity","customerConnections","requestScope","requestInterval","intersect","iwi","requestsForAllCustomerConnections","getConsumptionWithMeasurementsInterval","retrieved","flattened","consumptionidJson","through","contractStateTransition","DragAndDropService","dragAndDropEventValue","getDroppedPayload","getInvoiceInfo","sForm","sUntil","iFrom","iUntil","pad","number","getIssueTypes","getDisplayName","ENUM","rets","BASE","WITH_CONNECTION","CountPerIssueTypeAndSubject","getIssueCountPerIssueTypeAndSubject","takeLock","floor","Md5","CustomerURL","MMCURL","MeasurementCommunicationEnabled","baseuri","md5hash","hashStr","md5hashToGuid","postURL","contactMeasurementCommunication","GetMeasurementRange","customerNumber","GetMeasurementEstimates","Instant","idsToRemove","measurementId","utcOffset","targetMeasurementSource","NotificationService","matNotification","panelClass","getMessageFromHttpError","httpError","parameterValueURL","getValidURL","getAllURL","createURL","updateURL","upsertURL","deleteURL","getAllValid","parameterValue","upsertParameterValue","PingService","determineParameters","stringModifiedAfter","stringModifiedBefore","getLatest","getRunning","ProgressService","RouterService","getQueryParams","asMap","paramAsObj","queryParamsHandling","replaceUrl","clearAllParameters","clearCurrentParams","searchstring","serviceBusEndpoint","ServiceBusService","triggerSyncForecasts","postToServiceBus","forecastCollectionDexterClusterCommand","forecastCollectionDexterConnectionCommand","consolidatorServiceBusTargetName","processesToRun","TargetName","TargetType","sbMessage","triggerProccesses","triggerURL","TenantService","setDefaultTenants","setAllTenantsAsDefaultTenants","allTenantEnums","allTenants","localStorageTenants","getTenantsFromLocalStorage","parsedTenants","getCurrentTenantFromConnection","dateTimeObject","makeIntervalsArrayOf","rangeArray","conditionToContinue","minutes","cleanFrom","cleanUntil","intervalToMoment","company","TranslationFromMemoryOrApiService","inMemoryTranslations","getTranslationFromSource","getCache","emptyCache","translationCategoryTypeCheck","setCache","listOfTranslations","l","updatedCategory","update","translationDomain","translationCategoryName","getTranslationFromListOrDefault","matchedCategory","matchedTranslation","variableToCheck","TranslationService","redirectUrls","localUrl","stagingUrl","productionUrl","operationsApi","defaultAuthScope","onboardingApi","onboardingWelcomeLettersApi","supplyingApi","tradingApi","reconciliationApi","localAuthScope","stagingAuthScope","tradingForecastUi","tradingDealsUi","isProduction","isStaging","defaultEnvironment","enableProdMode","__NgCli_bootstrap_1","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[718]}