{"version":3,"file":"main.fd4d1b1b4115d5b0.js","mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;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;;;;;;;AAGO,MAAMwS,OAAO,GAAqD,IAAlE;AAED,SAAUC,WAAV,GAAqB;EACzB,OAAOlU,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAP;AACD;AAMDwH,qEAAkB,CAACC,oEAAD,EAAW,IAAX,EAAiBC,0EAAjB,CAAlB;AAEAkM,+DAAS,GAAGna,SAAZ;AAiUO,IAAMya,SAAb;EAAM,MAAOA,SAAP,CAAgB;;;qBAATA;EAAS;;;UAATA;IAASC,YAHR3S,wDAGQ,EAHMyN,2FAGN;;;eAzBT,CACT;MAAEmF,OAAO,EAAErQ,sDAAX;MAAsBsQ,QAAQ,EAAE;IAAhC,CADS,EAET;MACED,OAAO,EAAE3P,qEADX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","sources":["de.js","./src/app/abstracts/component-base.ts","./src/app/abstracts/dialog/dialog-content.ts","./src/app/abstracts/entities/create-entity.ts","./src/app/abstracts/entities/edit-entity.ts","./src/app/abstracts/entities/entities-table.ts","./src/app/abstracts/entities/show-entity.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/abstract/badges/charging-power-profile-badge/charging-power-profile-badge.component.html","./src/app/components/abstract/badges/charging-power-profile-badge/charging-power-profile-badge.component.ts","./src/app/components/abstract/badges/charging-station-combined-status-badge/charging-station-combined-status-badge.component.ts","./src/app/components/abstract/badges/charging-station-combined-status-badge/charging-station-combined-status-badge.component.html","./src/app/components/abstract/badges/transaction-status-badge/transaction-status-badge.component.ts","./src/app/components/abstract/badges/transaction-status-badge/transaction-status-badge.component.html","./src/app/components/abstract/message/message.component.html","./src/app/components/abstract/message/message.component.ts","./src/app/components/abstract/svg/svg.component.html","./src/app/components/abstract/svg/svg.component.ts","./src/app/components/abstract/table/filter/table-filter.component.ts","./src/app/components/abstract/table/filter/table-filter.component.html","./src/app/components/abstract/table/table.component.ts","./src/app/components/abstract/table/table.component.html","./src/app/components/abstract/toast/toast.component.html","./src/app/components/abstract/toast/toast.component.ts","./src/app/components/abstract/upvoty/upvoty.component.ts","./src/app/components/abstract/upvoty/upvoty.component.html","./src/app/components/authentication/agb/agb.component.ts","./src/app/components/authentication/agb/agb.component.html","./src/app/components/authentication/authentication.module.ts","./src/app/components/authentication/claim-autochargeId/claim-autochargeId.component.ts","./src/app/components/authentication/claim-autochargeId/claim-autochargeId.component.html","./src/app/components/authentication/datasecurity/datasecurity.component.ts","./src/app/components/authentication/datasecurity/datasecurity.component.html","./src/app/components/authentication/email-change-confirmation/email-change-confirmation.component.ts","./src/app/components/authentication/email-change-confirmation/email-change-confirmation.component.html","./src/app/components/authentication/email-confirmation/email-confirmation.component.ts","./src/app/components/authentication/email-confirmation/email-confirmation.component.html","./src/app/components/authentication/forgot-password-success/forgot-password-success.component.ts","./src/app/components/authentication/forgot-password-success/forgot-password-success.component.html","./src/app/components/authentication/forgot-password/forgot-password.component.ts","./src/app/components/authentication/forgot-password/forgot-password.component.html","./src/app/components/authentication/login/login.component.ts","./src/app/components/authentication/login/login.component.html","./src/app/components/authentication/logout-callback/logout-callback.component.html","./src/app/components/authentication/logout-callback/logout-callback.component.ts","./src/app/components/authentication/register-user-success-with-invite/register-user-success-with-invite.component.ts","./src/app/components/authentication/register-user-success-with-invite/register-user-success-with-invite.component.html","./src/app/components/authentication/register-user-success/register-user-success.component.ts","./src/app/components/authentication/register-user-success/register-user-success.component.html","./src/app/components/authentication/register-user/register-user.component.ts","./src/app/components/authentication/register-user/register-user.component.html","./src/app/components/authentication/reset-password/reset-password.component.ts","./src/app/components/authentication/reset-password/reset-password.component.html","./src/app/components/authentication/used-token-feedback/used-token-feedback.component.ts","./src/app/components/authentication/used-token-feedback/used-token-feedback.component.html","./src/app/components/authentication/welcome-user/welcome-user.component.ts","./src/app/components/authentication/welcome-user/welcome-user.component.html","./src/app/components/charts/energy-consumption-chart.component.ts","./src/app/components/charts/energy-consumption-chart.component.html","./src/app/components/charts/energy-distribution-chart.component.ts","./src/app/components/charts/energy-distribution-chart.component.html","./src/app/components/charts/energy-flow-chart.component.ts","./src/app/components/charts/energy-flow-chart.component.html","./src/app/components/charts/energy-history-chart.component.ts","./src/app/components/charts/energy-history-chart.component.html","./src/app/components/charts/energy-production-chart.component.ts","./src/app/components/charts/energy-production-chart.component.html","./src/app/components/dashboard/dashboard-charging-points/dashboard-charging-points.component.ts","./src/app/components/dashboard/dashboard-charging-points/dashboard-charging-points.component.html","./src/app/components/dashboard/dashboard-power-chart/dashboard-power-chart.component.ts","./src/app/components/dashboard/dashboard-power-chart/dashboard-power-chart.component.html","./src/app/components/dashboard/dashboard-profile/dashboard-profile.component.ts","./src/app/components/dashboard/dashboard-profile/dashboard-profile.component.html","./src/app/components/dashboard/dashboard-running-transactions/dashboard-running-transactions.component.ts","./src/app/components/dashboard/dashboard-running-transactions/dashboard-running-transactions.component.html","./src/app/components/dashboard/dashboard-running-transactions/running-transaction-popup/running-transaction-popup.component.ts","./src/app/components/dashboard/dashboard-running-transactions/running-transaction-popup/running-transaction-popup.component.html","./src/app/components/dashboard/dashboard-transactions/dashboard-transactions.component.ts","./src/app/components/dashboard/dashboard-transactions/dashboard-transactions.component.html","./src/app/components/dashboard/dashboard.component.ts","./src/app/components/dashboard/dashboard.component.html","./src/app/components/dialog/cancel-subscription-dialog-content/cancel-subscription-dialog-content.component.ts","./src/app/components/dialog/cancel-subscription-dialog-content/cancel-subscription-dialog-content.component.html","./src/app/components/dialog/change-password-dialog-content/change-password-dialog-content.component.ts","./src/app/components/dialog/change-password-dialog-content/change-password-dialog-content.component.html","./src/app/components/dialog/change-password-for-customer-dialog-content/change-password-for-customer-dialog-content.component.ts","./src/app/components/dialog/change-password-for-customer-dialog-content/change-password-for-customer-dialog-content.component.html","./src/app/components/dialog/change-password-success-dialog-content/change-password-success-dialog-content.component.ts","./src/app/components/dialog/change-password-success-dialog-content/change-password-success-dialog-content.component.html","./src/app/components/dialog/charging-park-subscription-dialog/charging-park-subscription-dialog-content/charging-park-subscription-dialog-content.component.ts","./src/app/components/dialog/charging-park-subscription-dialog/charging-park-subscription-dialog-content/charging-park-subscription-dialog-content.component.html","./src/app/components/dialog/charging-park-subscription-dialog/charging-park-subscription-dialog.component.ts","./src/app/components/dialog/create-charging-station-assistent-dialog/create-charging-station-assistent-dialog-content/create-charging-station-assistent-dialog-content.component.ts","./src/app/components/dialog/create-charging-station-assistent-dialog/create-charging-station-assistent-dialog-content/create-charging-station-assistent-dialog-content.component.html","./src/app/components/dialog/create-charging-station-assistent-dialog/create-charging-station-assistent-dialog.component.ts","./src/app/components/dialog/create-charging-station-dialog/create-charging-station-dialog-content/create-charging-station-dialog-content.component.ts","./src/app/components/dialog/create-charging-station-dialog/create-charging-station-dialog-content/create-charging-station-dialog-content.component.html","./src/app/components/dialog/create-charging-station-dialog/create-charging-station-dialog.component.ts","./src/app/components/dialog/create-chargingstationprofile-dialog/create-chargingstationprofile-dialog-content/create-chargingstationprofile-dialog-content.component.ts","./src/app/components/dialog/create-chargingstationprofile-dialog/create-chargingstationprofile-dialog-content/create-chargingstationprofile-dialog-content.component.html","./src/app/components/dialog/create-chargingstationprofile-dialog/create-chargingstationprofile-dialog.component.ts","./src/app/components/dialog/create-customer-dialog/create-customer-dialog-content/create-customer-dialog-content.component.ts","./src/app/components/dialog/create-customer-dialog/create-customer-dialog-content/create-customer-dialog-content.component.html","./src/app/components/dialog/create-customer-dialog/create-customer-dialog.component.ts","./src/app/components/dialog/create-delivery-csv-dialog-content/create-delivery-csv-dialog-content.component.ts","./src/app/components/dialog/create-delivery-csv-dialog-content/create-delivery-csv-dialog-content.component.html","./src/app/components/dialog/create-delivery-note-dialog-content/create-delivery-note-dialog-content.component.ts","./src/app/components/dialog/create-delivery-note-dialog-content/create-delivery-note-dialog-content.component.html","./src/app/components/dialog/create-invoice-dialog/create-invoice-dialog-content/create-invoice-dialog-content.component.ts","./src/app/components/dialog/create-invoice-dialog/create-invoice-dialog-content/create-invoice-dialog-content.component.html","./src/app/components/dialog/create-invoice-dialog/create-invoice-dialog.component.ts","./src/app/components/dialog/create-manufacturer-dialog/create-manufacturer-dialog-content/create-manufacturer-dialog-content.component.ts","./src/app/components/dialog/create-manufacturer-dialog/create-manufacturer-dialog-content/create-manufacturer-dialog-content.component.html","./src/app/components/dialog/create-manufacturer-dialog/create-manufacturer-dialog.component.ts","./src/app/components/dialog/create-pricing-dialog/create-pricing-dialog-content/create-pricing-dialog-content.component.ts","./src/app/components/dialog/create-pricing-dialog/create-pricing-dialog-content/create-pricing-dialog-content.component.html","./src/app/components/dialog/create-pricing-dialog/create-pricing-dialog.component.ts","./src/app/components/dialog/create-public-pricing-dialog/create-public-pricing-dialog-content/create-public-pricing-dialog-content.component.ts","./src/app/components/dialog/create-public-pricing-dialog/create-public-pricing-dialog-content/create-public-pricing-dialog-content.component.html","./src/app/components/dialog/create-rfid-card-dialog/create-rfid-card-dialog-content/create-rfid-card-dialog-content.component.ts","./src/app/components/dialog/create-rfid-card-dialog/create-rfid-card-dialog-content/create-rfid-card-dialog-content.component.html","./src/app/components/dialog/create-rfid-card-dialog/create-rfid-card-dialog.component.ts","./src/app/components/dialog/create-user-dialog/create-user-dialog-content/create-user-dialog-content.component.ts","./src/app/components/dialog/create-user-dialog/create-user-dialog-content/create-user-dialog-content.component.html","./src/app/components/dialog/create-user-dialog/create-user-dialog.component.ts","./src/app/components/dialog/credit-statements-dialog/credit-statements-dialog-content/credit-statements-dialog-content.component.ts","./src/app/components/dialog/credit-statements-dialog/credit-statements-dialog-content/credit-statements-dialog-content.component.html","./src/app/components/dialog/credit-statements-dialog/credit-statements-dialog.component.ts","./src/app/components/dialog/delete-charging-station-dialog/delete-charging-station-dialog-content/delete-charging-station-dialog-content.component.ts","./src/app/components/dialog/delete-charging-station-dialog/delete-charging-station-dialog-content/delete-charging-station-dialog-content.component.html","./src/app/components/dialog/delete-charging-station-dialog/delete-charging-station-dialog.component.ts","./src/app/components/dialog/delete-delivery-note-dialog-content/delete-delivery-note-dialog-content.ts","./src/app/components/dialog/delete-delivery-note-dialog-content/delete-delivery-note-dialog-content.html","./src/app/components/dialog/delete-group-dialog/delete-group-dialog-content/delete-group-dialog-content.component.ts","./src/app/components/dialog/delete-group-dialog/delete-group-dialog-content/delete-group-dialog-content.component.html","./src/app/components/dialog/delete-group-dialog/delete-group-dialog.component.ts","./src/app/components/dialog/delete-pricing-dialog/delete-pricing-dialog-content/delete-pricing-dialog-content.component.ts","./src/app/components/dialog/delete-pricing-dialog/delete-pricing-dialog-content/delete-pricing-dialog-content.component.html","./src/app/components/dialog/delete-pricing-dialog/delete-pricing-dialog.component.ts","./src/app/components/dialog/delete-rfid-card-for-customer-dialog-content/delete-rfid-card-for-customer-dialog-content.component.ts","./src/app/components/dialog/delete-rfid-card-for-customer-dialog-content/delete-rfid-card-for-customer-dialog-content.component.html","./src/app/components/dialog/delete-user-dialog/delete-user-dialog-content/delete-user-dialog-content.component.ts","./src/app/components/dialog/delete-user-dialog/delete-user-dialog-content/delete-user-dialog-content.component.html","./src/app/components/dialog/delete-user-dialog/delete-user-dialog.component.ts","./src/app/components/dialog/delete-user-for-customer-dialog-content/delete-user-for-customer-dialog-content.component.ts","./src/app/components/dialog/delete-user-for-customer-dialog-content/delete-user-for-customer-dialog-content.component.html","./src/app/components/dialog/delete-user-profile-dialog-content/delete-user-profile-dialog-content.component.ts","./src/app/components/dialog/delete-user-profile-dialog-content/delete-user-profile-dialog-content.component.html","./src/app/components/dialog/delivery-note-actions-dialog/delivery-note-actions-dialog-content/delivery-note-actions-dialog-content.component.ts","./src/app/components/dialog/delivery-note-actions-dialog/delivery-note-actions-dialog-content/delivery-note-actions-dialog-content.component.html","./src/app/components/dialog/delivery-note-actions-dialog/delivery-note-actions-dialog.component.ts","./src/app/components/dialog/details-charging-station-dialog/details-charging-station-dialog-content/details-charging-station-dialog-content.component.ts","./src/app/components/dialog/details-charging-station-dialog/details-charging-station-dialog-content/details-charging-station-dialog-content.component.html","./src/app/components/dialog/details-charging-station-dialog/details-charging-station-dialog.component.ts","./src/app/components/dialog/details-running-transaction-dialog/details-running-transaction-dialog-content/details-running-transaction-dialog-content.component.ts","./src/app/components/dialog/details-running-transaction-dialog/details-running-transaction-dialog-content/details-running-transaction-dialog-content.component.html","./src/app/components/dialog/details-running-transaction-dialog/details-running-transaction-dialog.component.ts","./src/app/components/dialog/details-transaction-dialog/details-transaction-dialog-content/details-transaction-dialog-content.component.ts","./src/app/components/dialog/details-transaction-dialog/details-transaction-dialog-content/details-transaction-dialog-content.component.html","./src/app/components/dialog/details-transaction-dialog/details-transaction-dialog.component.ts","./src/app/components/dialog/diagnostic-charging-station-dialog/diagnostic-charging-station-dialog-content/diagnostics-charging-station-dialog-content.component.ts","./src/app/components/dialog/diagnostic-charging-station-dialog/diagnostic-charging-station-dialog-content/diagnostics-charging-station-dialog-content.component.html","./src/app/components/dialog/diagnostic-charging-station-dialog/diagnostics-charging-station-dialog-component.ts","./src/app/components/dialog/edit-chargingstationprofiles-dialog/edit-chargingstationprofile-dialog-content/edit-chargingstationprofile-dialog-content.component.ts","./src/app/components/dialog/edit-chargingstationprofiles-dialog/edit-chargingstationprofile-dialog-content/edit-chargingstationprofile-dialog-content.component.html","./src/app/components/dialog/edit-chargingstationprofiles-dialog/edit-chargingstationprofile-dialog.component.ts","./src/app/components/dialog/edit-delivery-notes-settings-dialog/edit-delivery-notes-settings-dialog-content/edit-delivery-notes-settings-dialog-content.component.ts","./src/app/components/dialog/edit-delivery-notes-settings-dialog/edit-delivery-notes-settings-dialog-content/edit-delivery-notes-settings-dialog-content.component.html","./src/app/components/dialog/edit-delivery-notes-settings-dialog/edit-delivery-notes-settings-dialog.component.ts","./src/app/components/dialog/edit-email-dialog/edit-email-dialog-content/edit-email-dialog-content.component.ts","./src/app/components/dialog/edit-email-dialog/edit-email-dialog-content/edit-email-dialog-content.component.html","./src/app/components/dialog/edit-email-dialog/edit-email-dialog.component.ts","./src/app/components/dialog/edit-group-dialog/edit-group-dialog.component.ts","./src/app/components/dialog/edit-invoice-settings-dialog/edit-invoice-settings-dialog-content/edit-invoice-settings-dialog-content.component.ts","./src/app/components/dialog/edit-invoice-settings-dialog/edit-invoice-settings-dialog-content/edit-invoice-settings-dialog-content.component.html","./src/app/components/dialog/edit-invoice-settings-dialog/edit-invoice-settings-dialog.component.ts","./src/app/components/dialog/edit-pricing-dialog/edit-pricing-dialog-content/edit-pricing-dialog-content.component.ts","./src/app/components/dialog/edit-pricing-dialog/edit-pricing-dialog-content/edit-pricing-dialog-content.component.html","./src/app/components/dialog/edit-pricing-dialog/edit-pricing-dialog.component.ts","./src/app/components/dialog/edit-rfid-card-dialog/edit-rfid-card-dialog-content/edit-rfid-card-dialog-content.component.ts","./src/app/components/dialog/edit-rfid-card-dialog/edit-rfid-card-dialog-content/edit-rfid-card-dialog-content.component.html","./src/app/components/dialog/edit-rfid-card-dialog/edit-rfid-card-dialog.component.ts","./src/app/components/dialog/edit-user-dialog/edit-user-dialog-content/edit-user-dialog-content.component.ts","./src/app/components/dialog/edit-user-dialog/edit-user-dialog-content/edit-user-dialog-content.component.html","./src/app/components/dialog/edit-user-dialog/edit-user-dialog.component.ts","./src/app/components/dialog/enable-free-charge-dialog-content/enable-free-charge-dialog-content.component.ts","./src/app/components/dialog/enable-free-charge-dialog-content/enable-free-charge-dialog-content.component.html","./src/app/components/dialog/enable-private-charge-dialog-content/enable-private-charge-dialog-content.component.ts","./src/app/components/dialog/enable-private-charge-dialog-content/enable-private-charge-dialog-content.component.html","./src/app/components/dialog/enable-public-charge-dialog-content/enable-public-charge-dialog-content.component.ts","./src/app/components/dialog/enable-public-charge-dialog-content/enable-public-charge-dialog-content.component.html","./src/app/components/dialog/enter-confirmation-code-dialog/enter-confirmation-code-dialog-content/enter-confirmation-code-dialog-content.component.ts","./src/app/components/dialog/enter-confirmation-code-dialog/enter-confirmation-code-dialog-content/enter-confirmation-code-dialog-content.component.html","./src/app/components/dialog/invite-customer-dialog/invite-customer-dialog-content/invite-customer-dialog-content.component.ts","./src/app/components/dialog/invite-customer-dialog/invite-customer-dialog-content/invite-customer-dialog-content.component.html","./src/app/components/dialog/invite-customer-dialog/invite-customer-dialog.component.ts","./src/app/components/dialog/payment-method-added-dialog-content/payment-method-added-dialog-content.component.ts","./src/app/components/dialog/payment-method-added-dialog-content/payment-method-added-dialog-content.component.html","./src/app/components/dialog/payout-statements-dialog/payout-statements-dialog-content/payout-statements-dialog-content.component.ts","./src/app/components/dialog/payout-statements-dialog/payout-statements-dialog-content/payout-statements-dialog-content.component.html","./src/app/components/dialog/payout-statements-dialog/payout-statements-dialog.component.ts","./src/app/components/dialog/print-invoice-dialog/print-invoice-dialog-content/print-invoice-dialog-content.component.ts","./src/app/components/dialog/print-invoice-dialog/print-invoice-dialog-content/print-invoice-dialog-content.component.html","./src/app/components/dialog/print-invoice-dialog/print-invoice-dialog.component.ts","./src/app/components/dialog/release-notes-dialog/release-notes-dialog.component.ts","./src/app/components/dialog/release-notes-dialog/release-notes-dialog.component.html","./src/app/components/dialog/remote-start-stop-dialog-content/remote-start-stop-dialog-content.component.ts","./src/app/components/dialog/remote-start-stop-dialog-content/remote-start-stop-dialog-content.component.html","./src/app/components/dialog/remove-pricing-dialog/remove-pricing-dialog-content/remove-pricing-dialog-content.component.ts","./src/app/components/dialog/remove-pricing-dialog/remove-pricing-dialog-content/remove-pricing-dialog-content.component.html","./src/app/components/dialog/remove-rfid-assignment-dialog-content/remove-rfid-assignment-dialog-content.component.ts","./src/app/components/dialog/remove-rfid-assignment-dialog-content/remove-rfid-assignment-dialog-content.component.html","./src/app/components/dialog/request-support/request-support-popup.component.ts","./src/app/components/dialog/request-support/request-support-popup.component.html","./src/app/components/dialog/reset-charging-station-password-dialog-content/reset-charging-station-password-dialog-content.component.ts","./src/app/components/dialog/reset-charging-station-password-dialog-content/reset-charging-station-password-dialog-content.component.html","./src/app/components/dialog/reset-charging-station-password-warning-dialog-content/reset-charging-station-password-warning-dialog-content.component.ts","./src/app/components/dialog/reset-charging-station-password-warning-dialog-content/reset-charging-station-password-warning-dialog-content.component.html","./src/app/components/dialog/restart-charging-station-dialog-content/restart-charging-station-dialog-component.ts","./src/app/components/dialog/restart-charging-station-dialog-content/restart-charging-station-dialog-content.component.ts","./src/app/components/dialog/restart-charging-station-dialog-content/restart-charging-station-dialog-content.component.html","./src/app/components/dialog/restart-charging-station-warning-dialog-content/restart-charging-station-warning-dialog-content.component.ts","./src/app/components/dialog/restart-charging-station-warning-dialog-content/restart-charging-station-warning-dialog-content.component.html","./src/app/components/dialog/rfid-scan-dialog-content/rfid-scan-dialog-content.component.ts","./src/app/components/dialog/rfid-scan-dialog-content/rfid-scan-dialog-content.component.html","./src/app/components/dialog/setup-blackbox-dialog/setup-blackbox-dialog-content/setup-blackbox-dialog-content.component.ts","./src/app/components/dialog/setup-blackbox-dialog/setup-blackbox-dialog-content/setup-blackbox-dialog-content.component.html","./src/app/components/dialog/setup-blackbox-dialog/setup-blackbox-dialog.component.ts","./src/app/components/dialog/update-charging-station-dialog/update-charging-station-dialog-content/update-charging-stations-dialog-content.ts","./src/app/components/dialog/update-charging-station-dialog/update-charging-station-dialog-content/update-charging-stations-dialog-content.html","./src/app/components/dialog/update-charging-station-dialog/update-charging-station-dialog.component.ts","./src/app/components/energy/bidi-charging/bidi-charging.component.ts","./src/app/components/energy/bidi-charging/bidi-charging.component.html","./src/app/components/energy/bidi-charging/bidi-select-charging-station/bidi-select-charging-station.component.html","./src/app/components/energy/bidi-charging/bidi-select-charging-station/bidi-select-charging-station.component.ts","./src/app/components/energy/bidi-charging/dual-range-slider/dual-range-slider.component.ts","./src/app/components/energy/bidi-charging/dual-range-slider/dual-range-slider.component.html","./src/app/components/energy/bidi-charging/range-slider/range-slider.component.ts","./src/app/components/energy/bidi-charging/range-slider/range-slider.component.html","./src/app/components/energy/energy-monitor/energy-monitor.component.ts","./src/app/components/energy/energy-monitor/energy-monitor.component.html","./src/app/components/energy/energy-monitor/energy-tab-navigation/energy-tab-navigation.component.html","./src/app/components/energy/energy-monitor/energy-tab-navigation/energy-tab-navigation.component.ts","./src/app/components/energy/energy-monitor/evaluation.module.ts","./src/app/components/energy/energy.component.ts","./src/app/components/energy/energy.component.html","./src/app/components/energy/energy.module.ts","./src/app/components/entities/blackboxes/blackbox-setup/blackbox-setup.component.ts","./src/app/components/entities/blackboxes/blackbox-setup/blackbox-setup.component.html","./src/app/components/entities/blackboxes/blackboxes-table/blackboxes-table.component.ts","./src/app/components/entities/blackboxes/blackboxes-table/blackboxes-table.component.html","./src/app/components/entities/blackboxes/blackboxes.component.ts","./src/app/components/entities/blackboxes/blackboxes.component.html","./src/app/components/entities/blackboxes/blackboxes.module.ts","./src/app/components/entities/charging-stations-profile/create-chargingstation-profile/create-chargingstationprofile.component.ts","./src/app/components/entities/charging-stations-profile/create-chargingstation-profile/create-chargingstationprofile.component.html","./src/app/components/entities/charging-stations/charging-station-dlm/dlm-charging-station.component.ts","./src/app/components/entities/charging-stations/charging-station-dlm/dlm-charging-station.component.html","./src/app/components/entities/charging-stations/charging-station-info/charging-station-info.component.ts","./src/app/components/entities/charging-stations/charging-station-info/charging-station-info.component.html","./src/app/components/entities/charging-stations/charging-station-rfid-auth/charging-station-rfid-auth.component.ts","./src/app/components/entities/charging-stations/charging-station-rfid-auth/charging-station-rfid-auth.component.html","./src/app/components/entities/charging-stations/charging-station-system/system-charging-station.component.ts","./src/app/components/entities/charging-stations/charging-station-system/system-charging-station.component.html","./src/app/components/entities/charging-stations/charging-stations-status-history-table/charging-stations-status-history-table.component.ts","./src/app/components/entities/charging-stations/charging-stations-status-history-table/charging-stations-status-history-table.component.html","./src/app/components/entities/charging-stations/charging-stations-table/charging-stations-table.component.ts","./src/app/components/entities/charging-stations/charging-stations-table/charging-stations-table.component.html","./src/app/components/entities/charging-stations/charging-stations.component.ts","./src/app/components/entities/charging-stations/charging-stations.component.html","./src/app/components/entities/charging-stations/charging-stations.module.ts","./src/app/components/entities/charging-stations/create-charging-station-assistent/create-charging-station-assistent.component.ts","./src/app/components/entities/charging-stations/create-charging-station-assistent/create-charging-station-assistent.component.html","./src/app/components/entities/charging-stations/create-charging-station/create-charging-station.component.ts","./src/app/components/entities/charging-stations/create-charging-station/create-charging-station.component.html","./src/app/components/entities/charging-stations/details-charging-station/details-charging-station.component.ts","./src/app/components/entities/charging-stations/details-charging-station/details-charging-station.component.html","./src/app/components/entities/credit-statements/credit-statements.component.ts","./src/app/components/entities/credit-statements/credit-statements.component.html","./src/app/components/entities/customers/create-customer/create-customer.component.ts","./src/app/components/entities/customers/create-customer/create-customer.component.html","./src/app/components/entities/customers/customer-history/customer-history.component.ts","./src/app/components/entities/customers/customer-history/customer-history.component.html","./src/app/components/entities/customers/customer-overview/customer-overview.component.ts","./src/app/components/entities/customers/customer-overview/customer-overview.component.html","./src/app/components/entities/customers/customer-permissions/customer-permissions.component.ts","./src/app/components/entities/customers/customer-permissions/customer-permissions.component.html","./src/app/components/entities/customers/customers-table/customers-table.component.ts","./src/app/components/entities/customers/customers-table/customers-table.component.html","./src/app/components/entities/customers/customers.module.ts","./src/app/components/entities/delivery-notes/create-delivery-csv/create-delivery-csv.component.ts","./src/app/components/entities/delivery-notes/create-delivery-csv/create-delivery-csv.component.html","./src/app/components/entities/delivery-notes/create-delivery-note/create-delivery-note.component.ts","./src/app/components/entities/delivery-notes/create-delivery-note/create-delivery-note.component.html","./src/app/components/entities/invoices/invoices-table/invoices-table.component.ts","./src/app/components/entities/invoices/invoices-table/invoices-table.component.html","./src/app/components/entities/invoices/invoices.component.ts","./src/app/components/entities/invoices/invoices.component.html","./src/app/components/entities/invoices/invoices.module.ts","./src/app/components/entities/invoices/open-invoices-table/open-invoices-table.component.ts","./src/app/components/entities/invoices/open-invoices-table/open-invoices-table.component.html","./src/app/components/entities/invoices/payout-preview/payout-preview.component.ts","./src/app/components/entities/invoices/payout-preview/payout-preview.component.html","./src/app/components/entities/manufacturer/create-manufacturer/create-manufacturer.component.ts","./src/app/components/entities/manufacturer/create-manufacturer/create-manufacturer.component.html","./src/app/components/entities/payment-receipts/payment-receipts-table/payment-receipts-table.component.ts","./src/app/components/entities/payment-receipts/payment-receipts-table/payment-receipts-table.component.html","./src/app/components/entities/payment-receipts/payment-receipts.component.ts","./src/app/components/entities/payment-receipts/payment-receipts.component.html","./src/app/components/entities/payment-receipts/payment-receipts.module.ts","./src/app/components/entities/payout-statements/payout-statements.component.ts","./src/app/components/entities/payout-statements/payout-statements.component.html","./src/app/components/entities/pricings/create-pricing/create-pricing.component.ts","./src/app/components/entities/pricings/create-pricing/create-pricing.component.html","./src/app/components/entities/pricings/create-public-pricing/create-public-pricing.component.ts","./src/app/components/entities/pricings/create-public-pricing/create-public-pricing.component.html","./src/app/components/entities/pricings/pricings-table/pricings-table.component.ts","./src/app/components/entities/pricings/pricings-table/pricings-table.component.html","./src/app/components/entities/pricings/pricings.component.ts","./src/app/components/entities/pricings/pricings.component.html","./src/app/components/entities/pricings/pricings.module.ts","./src/app/components/entities/rfid-cards/create-rfid-card/create-rfid-card.component.ts","./src/app/components/entities/rfid-cards/create-rfid-card/create-rfid-card.component.html","./src/app/components/entities/rfid-cards/rfid-cards-table/rfid-cards-table.component.ts","./src/app/components/entities/rfid-cards/rfid-cards-table/rfid-cards-table.component.html","./src/app/components/entities/rfid-cards/rfid.component.ts","./src/app/components/entities/rfid-cards/rfid.component.html","./src/app/components/entities/rfid-cards/rfid.module.ts","./src/app/components/entities/rfid-cards/unassigned-rfid-cards-table/unassigned-rfid-cards-table.component.ts","./src/app/components/entities/rfid-cards/unassigned-rfid-cards-table/unassigned-rfid-cards-table.component.html","./src/app/components/entities/transactions/chargingstation-transactions-table/chargingstation-transactions-table.component.ts","./src/app/components/entities/transactions/chargingstation-transactions-table/chargingstation-transactions-table.component.html","./src/app/components/entities/transactions/details-transaction/details-transaction.component.ts","./src/app/components/entities/users/create-user/create-user.component.ts","./src/app/components/entities/users/create-user/create-user.component.html","./src/app/components/entities/users/edit-user/edit-user.component.ts","./src/app/components/entities/users/edit-user/edit-user.component.html","./src/app/components/entities/users/user-overview/user-overview.component.ts","./src/app/components/entities/users/user-overview/user-overview.component.html","./src/app/components/entities/users/users-table/users-table.component.ts","./src/app/components/entities/users/users-table/users-table.component.html","./src/app/components/entities/users/users.component.ts","./src/app/components/entities/users/users.component.html","./src/app/components/entities/users/users.module.ts","./src/app/components/evaluation/charging-statistics/charging-statistics.component.ts","./src/app/components/evaluation/charging-statistics/charging-statistics.component.html","./src/app/components/evaluation/delivery-notes/delivery-notes.component.ts","./src/app/components/evaluation/delivery-notes/delivery-notes.component.html","./src/app/components/evaluation/evaluation.component.ts","./src/app/components/evaluation/evaluation.component.html","./src/app/components/evaluation/evaluation.module.ts","./src/app/components/evaluation/transactions/transactions.component.ts","./src/app/components/evaluation/transactions/transactions.component.html","./src/app/components/manage/groups/create-groups/create-groups.component.ts","./src/app/components/manage/groups/create-groups/create-groups.component.html","./src/app/components/manage/groups/edit-groups/edit-groups.component.ts","./src/app/components/manage/groups/edit-groups/edit-groups.component.html","./src/app/components/manage/groups/groups.component.ts","./src/app/components/manage/groups/groups.component.html","./src/app/components/manage/manage.component.ts","./src/app/components/manage/manage.component.html","./src/app/components/manage/manage.module.ts","./src/app/components/manage/profile/charging-park-subscription/charging-park-subscription.component.ts","./src/app/components/manage/profile/charging-park-subscription/charging-park-subscription.component.html","./src/app/components/manage/profile/profile.component.ts","./src/app/components/manage/profile/profile.component.html","./src/app/components/navigation/about-us/about-us-dialog.component.ts","./src/app/components/navigation/about-us/about-us-dialog.component.html","./src/app/components/navigation/change-customer/change-customer.component.html","./src/app/components/navigation/change-customer/change-customer.component.ts","./src/app/components/navigation/footer/footer.component.ts","./src/app/components/navigation/footer/footer.component.html","./src/app/components/navigation/nav-menu/nav-menu.component.ts","./src/app/components/navigation/nav-menu/nav-menu.component.html","./src/app/components/operator/chargingstationprofiles/chargingstationprofiles.component.ts","./src/app/components/operator/chargingstationprofiles/chargingstationprofiles.component.html","./src/app/components/operator/chargingstationprofiles/delete-chargingstationprofiles/delete-chargingstationprofiles.component.ts","./src/app/components/operator/chargingstationprofiles/delete-chargingstationprofiles/delete-chargingstationprofiles.component.html","./src/app/components/operator/chargingstationprofiles/edit-chargingstationprofiles/edit-chargingstationprofiles.component.ts","./src/app/components/operator/chargingstationprofiles/edit-chargingstationprofiles/edit-chargingstationprofiles.component.html","./src/app/components/operator/dashboard-offlineSince/dashboard-offlineSince.component.ts","./src/app/components/operator/dashboard-offlineSince/dashboard-offlineSince.component.html","./src/app/components/operator/manufacturer/manufacturer.component.ts","./src/app/components/operator/manufacturer/manufacturer.component.html","./src/app/components/operator/operator.component.ts","./src/app/components/operator/operator.component.html","./src/app/components/operator/operator.module.ts","./src/app/components/operator/register-user-operator/register-user-operator.component.ts","./src/app/components/operator/register-user-operator/register-user-operator.component.html","./src/app/components/operator/statusnotifications/statusnotifications.component.ts","./src/app/components/operator/statusnotifications/statusnotifications.component.html","./src/app/components/operator/subscription-types/subscription-types.component.ts","./src/app/components/operator/subscription-types/subscription-types.component.html","./src/app/components/pages/forbidden/forbidden.component.ts","./src/app/components/pages/forbidden/forbidden.component.html","./src/app/components/pages/home/home.component.html","./src/app/components/pages/home/home.component.ts","./src/app/components/pages/support/support.component.ts","./src/app/components/pages/support/support.component.html","./src/app/components/pages/upgrade/upgrade.component.ts","./src/app/components/pages/upgrade/upgrade.component.html","./src/app/components/payments/payment-canceled/payment-canceled.component.ts","./src/app/components/payments/payment-canceled/payment-canceled.component.html","./src/app/components/payments/payment-success/payment-success.component.ts","./src/app/components/payments/payment-success/payment-success.component.html","./src/app/components/pdf/delivery-note-template/delivery-note-template.component.ts","./src/app/components/pdf/delivery-note-template/delivery-note-template.component.html","./src/app/components/pdf/invoice-pdf/invoice-pdf.component.ts","./src/app/components/pdf/invoice-pdf/invoice-pdf.component.html","./src/app/components/public-charge/public-charge-canceled/public-charge-canceled.component.ts","./src/app/components/public-charge/public-charge-canceled/public-charge-canceled.component.html","./src/app/components/public-charge/public-charge-plans/public-charge-plans.component.ts","./src/app/components/public-charge/public-charge-plans/public-charge-plans.component.html","./src/app/components/public-charge/public-charge/public-charge.component.ts","./src/app/components/public-charge/public-charge/public-charge.component.html","./src/app/directives/autofocus.directive.ts","./src/app/directives/if-roles.directive.ts","./src/app/directives/sortable.directive.ts","./src/app/dto/bidiConfigurationDto.ts","./src/app/dto/blackboxSetup.ts","./src/app/dto/chargingParkSubscriptionDto.ts","./src/app/dto/chargingStationByGroupDto.ts","./src/app/dto/chargingStationDto.ts","./src/app/dto/chargingStationStatusHistoryDto.ts","./src/app/dto/chargingStationTableDto.ts","./src/app/dto/checkoutDto.ts","./src/app/dto/chragingstationGroupDto.ts","./src/app/dto/confirmationCodeDto.ts","./src/app/dto/deletePricingRequest.ts","./src/app/dto/deliveryNoteSettingsDto.ts","./src/app/dto/energyMonitorData.ts","./src/app/dto/invoiceDto.ts","./src/app/dto/invoiceItemDto.ts","./src/app/dto/invoiceSettingsDto.ts","./src/app/dto/masterUserOfCustomer.ts","./src/app/dto/modelDto.ts","./src/app/dto/ocpp/ChangeAvailabilityRequest.ts","./src/app/dto/paymentReceiptDto.ts","./src/app/dto/pricingDto.ts","./src/app/dto/publicChargeSubscriptionDto.ts","./src/app/dto/removePricingRequest.ts","./src/app/dto/rfidCardDto.ts","./src/app/dto/statusNotificationDto.ts","./src/app/dto/stripeInfoDto.ts","./src/app/dto/supportTicketRequest.ts","./src/app/dto/transactionDto.ts","./src/app/dto/userDto.ts","./src/app/dto/userEditDto.ts","./src/app/dto/userTableEntry.ts","./src/app/enums/AvailabilityType.enum.ts","./src/app/enums/EnergyMeterConnectedDeviceType.enum.ts","./src/app/enums/billingMethodEnum.enum.ts","./src/app/enums/changeScanModeResponse.enum.ts","./src/app/enums/chargingPointStatus.enum.ts","./src/app/enums/deliveryNoteTemplateType.enum.ts","./src/app/enums/dlmMode.enum.ts","./src/app/enums/invoicePDFType.enum.ts","./src/app/enums/openItemsActionEnum.enum.ts","./src/app/enums/roles.enum.ts","./src/app/enums/subscriptionTypeEnum.ts","./src/app/enums/transaction-success.enum.ts","./src/app/guards/auth/auth.guard.ts","./src/app/guards/role/role.guard.ts","./src/app/http-interceptors/auth.interceptor.ts","./src/app/models/address.ts","./src/app/models/bankDetails.ts","./src/app/models/bidiConfiguration.ts","./src/app/models/blackbox.ts","./src/app/models/charging-station.ts","./src/app/models/chargingPowerProfile.ts","./src/app/models/customer.ts","./src/app/models/customerNote.ts","./src/app/models/deliveryNote.ts","./src/app/models/deliveryNotes.ts","./src/app/models/identity/role.ts","./src/app/models/identity/user.ts","./src/app/models/identity/userRole.ts","./src/app/models/manufacturer.ts","./src/app/models/operator.ts","./src/app/models/pricing.ts","./src/app/models/profile.ts","./src/app/models/rfidCard.ts","./src/app/models/stripeInfo.ts","./src/app/models/subscription.ts","./src/app/models/tableFilter.ts","./src/app/models/tag.ts","./src/app/pipes/datediff.pipe.ts","./src/app/pipes/de-date-short.pipe.ts","./src/app/pipes/de-date.pipe.ts","./src/app/pipes/kwh.pipe.ts","./src/app/pipes/thousand.pipe.ts","./src/app/pipes/week.pipe.ts","./src/app/services/authentication/authentication.service.ts","./src/app/services/component-settings/component-settings.service.ts","./src/app/services/configuration/configuration.service.ts","./src/app/services/custom-encoder.ts","./src/app/services/custom-validators/password-confirm-validator.service.ts","./src/app/services/dashboard/dashboard.service.ts","./src/app/services/dto/dto.service.ts","./src/app/services/entity/bidi-configuration.service.ts","./src/app/services/entity/blackbox.service.ts","./src/app/services/entity/charging-stations.service.ts","./src/app/services/entity/chargingPowerProfiles.service.ts","./src/app/services/entity/credit-statements.service.ts","./src/app/services/entity/customers.service.ts","./src/app/services/entity/delivery-notes.service.ts","./src/app/services/entity/energyMeterRecordsService.ts","./src/app/services/entity/energyMeterTyp.service.ts","./src/app/services/entity/entity.service.ts","./src/app/services/entity/invoices.service.ts","./src/app/services/entity/manufacturer.services.ts","./src/app/services/entity/models.services.ts","./src/app/services/entity/operators.service.ts","./src/app/services/entity/payout-statements.service.ts","./src/app/services/entity/pricings.service.ts","./src/app/services/entity/rfidCards.service.ts","./src/app/services/entity/select-entities.service.ts","./src/app/services/entity/statusNotifications.services.ts","./src/app/services/entity/stripe-infos.service.ts","./src/app/services/entity/subscriptions.service.ts","./src/app/services/entity/tags.service.ts","./src/app/services/entity/transactions.service.ts","./src/app/services/entity/users.service.ts","./src/app/services/error-handler/error-handler.service.ts","./src/app/services/event/event.service.ts","./src/app/services/files/files.service.ts","./src/app/services/form/form.service.ts","./src/app/services/map/map.service.ts","./src/app/services/message/message.service.ts","./src/app/services/payments/payments.service.ts","./src/app/services/permissions/permissions.service.ts","./src/app/services/route-data/route-data.service.ts","./src/app/services/table/table-functions.service.ts","./src/app/services/toast/toast.service.ts","./src/environments/environment.ts","./src/main.ts","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/authentication/claim-autochargeId|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/authentication/forgot-password|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/dashboard/dashboard-power-chart|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/dialog/details-charging-station-dialog/details-charging-station-dialog-content|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/dialog/update-charging-station-dialog/update-charging-station-dialog-content|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/energy|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/blackboxes/blackbox-setup|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/blackboxes/blackboxes-table|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/charging-stations/charging-stations-table|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/customers/customer-overview|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/customers/customers-table|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/invoices|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/payment-receipts|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/pricings|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/rfid-cards/rfid-cards-table|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/rfid-cards/unassigned-rfid-cards-table|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/rfid-cards|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/transactions/chargingstation-transactions-table|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/users/edit-user|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/users/user-overview|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/users/users-table|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/entities/users|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/evaluation/charging-statistics|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/evaluation/delivery-notes|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/evaluation/transactions|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/evaluation|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/manage/groups|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/manage/profile|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/manage|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/operator/chargingstationprofiles|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/operator/manufacturer|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src/app/components/operator|@angular/localize/init","ignored|/home/vsts/work/1/s/cubOS/ClientApp/src|@angular/localize/init"],"sourcesContent":["\"use strict\";(function(global){global.ng=global.ng||{};global.ng.common=global.ng.common||{};global.ng.common.locales=global.ng.common.locales||{};const u=undefined;function plural(val){const n=val,i=Math.floor(Math.abs(val)),v=val.toString().replace(/^[^.]*\\.?/,\"\").length;if(i===1&&v===0)return 1;return 5}global.ng.common.locales[\"de\"]=[\"de\",[[\"AM\",\"PM\"],u,u],u,[[\"S\",\"M\",\"D\",\"M\",\"D\",\"F\",\"S\"],[\"So.\",\"Mo.\",\"Di.\",\"Mi.\",\"Do.\",\"Fr.\",\"Sa.\"],[\"Sonntag\",\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\"],[\"So.\",\"Mo.\",\"Di.\",\"Mi.\",\"Do.\",\"Fr.\",\"Sa.\"]],[[\"S\",\"M\",\"D\",\"M\",\"D\",\"F\",\"S\"],[\"So\",\"Mo\",\"Di\",\"Mi\",\"Do\",\"Fr\",\"Sa\"],[\"Sonntag\",\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\"],[\"So.\",\"Mo.\",\"Di.\",\"Mi.\",\"Do.\",\"Fr.\",\"Sa.\"]],[[\"J\",\"F\",\"M\",\"A\",\"M\",\"J\",\"J\",\"A\",\"S\",\"O\",\"N\",\"D\"],[\"Jan.\",\"Feb.\",\"M\\xE4rz\",\"Apr.\",\"Mai\",\"Juni\",\"Juli\",\"Aug.\",\"Sept.\",\"Okt.\",\"Nov.\",\"Dez.\"],[\"Januar\",\"Februar\",\"M\\xE4rz\",\"April\",\"Mai\",\"Juni\",\"Juli\",\"August\",\"September\",\"Oktober\",\"November\",\"Dezember\"]],[[\"J\",\"F\",\"M\",\"A\",\"M\",\"J\",\"J\",\"A\",\"S\",\"O\",\"N\",\"D\"],[\"Jan\",\"Feb\",\"M\\xE4r\",\"Apr\",\"Mai\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Okt\",\"Nov\",\"Dez\"],[\"Januar\",\"Februar\",\"M\\xE4rz\",\"April\",\"Mai\",\"Juni\",\"Juli\",\"August\",\"September\",\"Oktober\",\"November\",\"Dezember\"]],[[\"v. Chr.\",\"n. Chr.\"],u,u],1,[6,0],[\"dd.MM.yy\",\"dd.MM.y\",\"d. MMMM y\",\"EEEE, d. MMMM y\"],[\"HH:mm\",\"HH:mm:ss\",\"HH:mm:ss z\",\"HH:mm:ss zzzz\"],[\"{1}, {0}\",u,\"{1} 'um' {0}\",u],[\",\",\".\",\";\",\"%\",\"+\",\"-\",\"E\",\"\\xB7\",\"\\u2030\",\"\\u221E\",\"NaN\",\":\"],[\"#,##0.###\",\"#,##0\\xA0%\",\"#,##0.00\\xA0\\xA4\",\"#E0\"],\"EUR\",\"\\u20AC\",\"Euro\",{\"ATS\":[\"\\xF6S\"],\"AUD\":[\"AU$\",\"$\"],\"BGM\":[\"BGK\"],\"BGO\":[\"BGJ\"],\"BYN\":[u,\"\\u0440.\"],\"CUC\":[u,\"Cub$\"],\"DEM\":[\"DM\"],\"FKP\":[u,\"Fl\\xA3\"],\"GHS\":[u,\"\\u20B5\"],\"GNF\":[u,\"F.G.\"],\"KMF\":[u,\"FC\"],\"PHP\":[u,\"\\u20B1\"],\"RON\":[u,\"L\"],\"RUR\":[u,\"\\u0440.\"],\"RWF\":[u,\"F.Rw\"],\"SYP\":[],\"THB\":[\"\\u0E3F\"],\"TWD\":[\"NT$\"],\"XXX\":[],\"ZMW\":[u,\"K\"]},\"ltr\",plural,[[[\"Mitternacht\",\"morgens\",\"vorm.\",\"mittags\",\"nachm.\",\"abends\",\"nachts\"],u,[\"Mitternacht\",\"morgens\",\"vormittags\",\"mittags\",\"nachmittags\",\"abends\",\"nachts\"]],[[\"Mitternacht\",\"Morgen\",\"Vorm.\",\"Mittag\",\"Nachm.\",\"Abend\",\"Nacht\"],u,[\"Mitternacht\",\"Morgen\",\"Vormittag\",\"Mittag\",\"Nachmittag\",\"Abend\",\"Nacht\"]],[\"00:00\",[\"05:00\",\"10:00\"],[\"10:00\",\"12:00\"],[\"12:00\",\"13:00\"],[\"13:00\",\"18:00\"],[\"18:00\",\"24:00\"],[\"00:00\",\"05:00\"]]]]})(typeof globalThis!==\"undefined\"&&globalThis||typeof global!==\"undefined\"&&global||typeof window!==\"undefined\"&&window);","import { ChangeDetectorRef, Component, Inject, Injector, OnInit } from '@angular/core';\nimport { CustomerPermission } from '@models/customerPermission';\nimport { SubscriptionTypePermission } from '@models/subscriptionTypePermission';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { ComponentSettingsService } from '@services/component-settings/component-settings.service';\nimport { ConfigurationService } from '@services/configuration/configuration.service';\nimport { EventService } from '@services/event/event.service';\nimport { MessageService } from '@services/message/message.service';\nimport { PermissionsService } from '@services/permissions/permissions.service';\n\n@Component({\n selector: 'app-component-base',\n template: '',\n providers: [ConfigurationService]\n})\nexport abstract class ComponentBase implements OnInit {\n\n public abstract className: string;\n\n @Inject(ConfigurationService)\n public configurationService: ConfigurationService;\n\n @Inject(PermissionsService)\n public permissionsService: PermissionsService;\n\n @Inject(EventService)\n public eventService: EventService;\n\n @Inject(MessageService)\n public messageService: MessageService;\n\n @Inject(AuthenticationService)\n public authenticationService: AuthenticationService;\n\n @Inject(ComponentSettingsService)\n public componentSettings: ComponentSettingsService;\n\n public config;\n public permissions = {} as any;\n\n constructor(injector: Injector) {\n this.configurationService = injector.get(ConfigurationService);\n this.permissionsService = injector.get(PermissionsService);\n this.eventService = injector.get(EventService);\n this.messageService = injector.get(MessageService);\n this.authenticationService = injector.get(AuthenticationService);\n this.componentSettings = injector.get(ComponentSettingsService);\n\n this.eventService.filesLoaded$.subscribe(result => {\n this.getConfig();\n });\n\n this.authenticationService.currentUserLoaded$.subscribe(result => {\n this.getConfig();\n this.getPermissions();\n });\n }\n\n public ngOnInit() {\n this.setDefaultSettings();\n this.getConfig();\n this.getPermissions();\n }\n\n private setDefaultSettings() {\n //this.componentSettings.footerVisible = false;\n }\n\n private getConfig() {\n var rolesOfCurrentUser = this.authenticationService.getRolesOfCurrentUser();\n if (rolesOfCurrentUser) {\n this.configurationService.getConfiguration(this.className, rolesOfCurrentUser).then(config => {\n this.config = config;\n });\n }\n }\n\n private getPermissions() {\n var currentUser = this.authenticationService.getLoggedInUser();\n if (currentUser) {\n this.permissionsService.getPermissionsOfCurrentCustomer().then(permissions => {\n permissions.forEach(permissionObject => {\n this.permissions[permissionObject.permission.name] = permissionObject.value;\n })\n });\n }\n }\n}\n","import { ComponentBase } from \"@abstracts/component-base\";\nimport { Component, Inject, Injector, OnInit } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { MessageService } from \"@services/message/message.service\";\n\n@Component({\n selector: 'app-dialog',\n template: ''\n})\nexport abstract class AbstractDialogContent extends ComponentBase implements OnInit {\n\n @Inject(Router)\n public router: Router;\n\n @Inject(MessageService)\n public messageService: MessageService;\n\n constructor(public activeModal: NgbActiveModal, injector: Injector) {\n super(injector);\n this.router = injector.get(Router);\n this.messageService = injector.get(MessageService);\n }\n\n public onConfirmClick(): void {\n this.activeModal.close();\n }\n\n public onCancelClick(): void {\n this.activeModal.close();\n }\n}\n","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, EventEmitter, Inject, Injector, OnInit, Output } from '@angular/core';\nimport { IEntity } from '@interfaces/entity';\nimport { IDto } from '@interfaces/dto';\nimport { EntityService } from '@services/entity/entity.service';\nimport { FormService } from '@services/form/form.service';\nimport { MessageService } from '@services/message/message.service';\nimport { ToastService } from '@services/toast/toast.service';\n\n@Component({\n selector: 'app-create-entity',\n template: ''\n})\nexport abstract class AbstractCreateEntityComponent extends ComponentBase implements OnInit {\n\n @Output() newEntityEvent = new EventEmitter();\n @Output() newDtoEvent = new EventEmitter();\n\n @Inject(FormService)\n public formService: FormService;\n\n @Inject(MessageService)\n public messageService: MessageService;\n\n @Inject(MessageService)\n public toastService: ToastService;\n\n constructor(private entitiesService: EntityService, injector: Injector) {\n super(injector);\n this.formService = injector.get(FormService);\n this.messageService = injector.get(MessageService);\n }\n\n abstract createForm();\n abstract onSubmit(formValue);\n\n public ngOnInit() {\n super.ngOnInit();\n this.createForm();\n }\n\n public createEntity(entity: IEntity, params?) {\n this.entitiesService.createEntity(entity, params).subscribe(data => {\n this.newEntityEvent.emit(entity);\n }, error => {\n this.messageService.setError(error);\n });\n }\n}\n","import { Component, EventEmitter, Inject, Injector, OnInit, Output } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IDto } from '@interfaces/dto';\nimport { IEntity } from '@interfaces/entity';\nimport { EntityService } from '@services/entity/entity.service';\nimport { FormService } from '@services/form/form.service';\nimport { DtoService } from '@services/dto/dto.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { MessageService } from '@services/message/message.service';\nimport { ComponentBase } from '@abstracts/component-base';\n\n@Component({\n selector: 'app-edit-entity',\n template: ''\n})\nexport abstract class AbstractEditEntityComponent extends ComponentBase implements OnInit {\n\n public primaryKey: string | number;\n private valuesAtInit;\n\n public abstract entity: IEntity;\n\n @Output() entityLoadedEvent = new EventEmitter();\n\n @Inject(FormService)\n public formService: FormService;\n\n @Inject(MessageService)\n public messageService: MessageService;\n\n @Inject(DtoService)\n public dtoService: DtoService;\n\n @Inject(RouteDataService)\n public routeDataService: RouteDataService;\n\n @Inject(Router)\n public router: Router;\n\n @Inject(ActivatedRoute)\n public activatedRoute: ActivatedRoute;\n\n\n constructor(private entityService: EntityService, injector: Injector) {\n super(injector);\n this.formService = injector.get(FormService);\n this.messageService = injector.get(MessageService);\n this.dtoService = injector.get(DtoService);\n this.router = injector.get(Router);\n this.activatedRoute = injector.get(ActivatedRoute);\n this.routeDataService = injector.get(RouteDataService);\n }\n\n abstract createForm();\n abstract onSubmit(formValue);\n abstract initializeEntity(entity);\n afterInit() { }\n getAdditionalEntities() { }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.primaryKey = this.activatedRoute.snapshot.params.key;\n\n if (!this.primaryKey) {\n this.primaryKey = this.routeDataService?.params?.key;\n }\n\n this.loadEntity();\n this.getAdditionalEntities();\n }\n\n public loadEntity() {\n this.entityService.getEntity(this.primaryKey).subscribe(result => {\n this.initializeEntity(result);\n this.initializeForm();\n this.entityLoadedEvent.emit(this.entity);\n this.afterInit();\n }, error => {});\n }\n\n public initializeForm() {\n this.createForm();\n this.valuesAtInit = this.formService.form?.getRawValue();\n }\n\n updateEntity(entity) {\n this.entityService.updateEntity(entity).subscribe(data => {\n this.ngOnInit();\n }, error => {});\n }\n\n updateWithDto(dto: IDto, id: string | number) {\n this.dtoService.update(this.entityService.entityRoute, dto, id).subscribe(data => {\n this.ngOnInit();\n }, error => {});\n }\n}\n","import { Component, Inject, Injector, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { IDto } from '@interfaces/dto';\nimport { IEntity } from '@interfaces/entity';\nimport { DtoService } from '@services/dto/dto.service';\nimport { EntityService } from '@services/entity/entity.service';\nimport { FormService } from '@services/form/form.service';\nimport { EventService } from '@services/event/event.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { Subscription } from 'rxjs';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { SelectEntitiesService } from '@services/entity/select-entities.service';\nimport { Table } from '@models/table';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableOptions } from '@models/tableOptions';\nimport { ComponentBase } from '@abstracts/component-base';\n\n@Component({\n template: '',\n providers: [TableFunctionsService]\n})\nexport abstract class AbstractEntitiesTableComponent extends ComponentBase implements OnInit, OnDestroy {\n\n public table: Table;\n public tableColumns: TableColumn[];\n public tableOptions: TableOptions;\n public entities: IEntity[] | IDto[];\n\n public routerSubscription: Subscription;\n public tableReady: boolean = false;\n public noPagination: boolean;\n\n\n @Inject(TableFunctionsService)\n public tableFunctions: TableFunctionsService;\n\n @Inject(Router)\n public router: Router;\n\n @Inject(EventService)\n public eventService: EventService;\n\n @Inject(ActivatedRoute)\n public activatedRoute: ActivatedRoute;\n\n\n @ViewChild('actionsTemplate') actionsTemplate: TemplateRef;\n\n constructor(public entityService: EntityService, injector: Injector) {\n super(injector);\n this.tableFunctions = injector.get(TableFunctionsService);\n this.router = injector.get(Router);\n this.eventService = injector.get(EventService);\n this.activatedRoute = injector.get(ActivatedRoute);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.initializeEntities();\n\n this.routerSubscription = this.router.events.subscribe(\n (event) => {\n if (event instanceof NavigationEnd) {\n this.initializeEntities();\n }\n });\n\n this.eventService.entityRefresh$.subscribe(result => {\n this.initializeEntities();\n });\n\n this.tableFunctions.sortColumn = '';\n this.tableFunctions.searchTerm = '';\n this.tableFunctions.searchTermMap = new Map();\n this.tableFunctions.page = 1;\n this.tableFunctions.pageSize = this.getPageSizeFromLocalStorage();\n this.tableFunctions.selectedEntities = [];\n }\n\n getPageSizeFromLocalStorage(): number {\n const lastSegment = this.getLastSegmentIfCustomer(this.router.url);\n let size: number | null = null;\n\n if (lastSegment != null) {\n const storedSize = localStorage.getItem(`Operator${lastSegment}PageSize`);\n size = storedSize ? parseInt(storedSize, 10) : null;\n } else {\n const storedSize = localStorage.getItem(`${this.className}PageSize`);\n size = storedSize ? parseInt(storedSize, 10) : null;\n }\n\n return size || 10;\n }\n\n getLastSegmentIfCustomer(url: string): string | null {\n if (url.includes('customer')) {\n const segments = url.split('/');\n return segments.pop() || '';\n }\n return null;\n }\n\n ngOnDestroy(): void {\n if (this.routerSubscription) this.routerSubscription.unsubscribe();\n }\n\n setupTable() {\n this.table = {\n entityService: this.entityService,\n tableData: this.entities,\n tableFunctions: this.tableFunctions,\n tableColumns: this.tableColumns,\n tableOptions: this.tableOptions,\n actionsTemplate: this.actionsTemplate,\n matchFunction: this.matches\n }\n\n if (this.entities?.length == 0) {\n this.noPagination = true;\n } else {\n this.noPagination = false;\n }\n\n if (this.entities.length > 10) {\n this.componentSettings.footerVisible = true;\n }\n else {\n this.componentSettings.footerVisible = false;\n }\n\n this.tableReady = true;\n }\n\n abstract matches(entity, term);\n abstract initializeEntities();\n}\n","import { Component, EventEmitter, Inject, Injector, OnInit, Output } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IDto } from '@interfaces/dto';\nimport { IEntity } from '@interfaces/entity';\nimport { EntityService } from '@services/entity/entity.service';\nimport { DtoService } from '@services/dto/dto.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { MessageService } from '@services/message/message.service';\nimport { ComponentBase } from '@abstracts/component-base';\n\n@Component({\n selector: 'app-show-entity',\n template: ''\n})\nexport abstract class AbstractShowEntityComponent extends ComponentBase implements OnInit {\n\n public primaryKey: string | number;\n private valuesAtInit;\n\n public abstract entity: IEntity;\n\n @Output() entityLoadedEvent = new EventEmitter();\n\n @Inject(MessageService)\n public messageService: MessageService;\n\n @Inject(DtoService)\n public dtoService: DtoService;\n\n @Inject(RouteDataService)\n public routeDataService: RouteDataService;\n\n @Inject(Router)\n public router: Router;\n\n @Inject(ActivatedRoute)\n public activatedRoute: ActivatedRoute;\n\n\n constructor(private entityService: EntityService, injector: Injector) {\n super(injector);\n this.messageService = injector.get(MessageService);\n this.dtoService = injector.get(DtoService);\n this.router = injector.get(Router);\n this.activatedRoute = injector.get(ActivatedRoute);\n this.routeDataService = injector.get(RouteDataService);\n }\n\n abstract initializeEntity(entity);\n afterInit() { }\n getAdditionalEntities() { }\n\n ngOnInit() {\n super.ngOnInit();\n\n this.primaryKey = this.activatedRoute.snapshot.params.key;\n\n if (!this.primaryKey) {\n this.primaryKey = this.routeDataService?.params?.key;\n }\n\n this.loadEntity();\n this.getAdditionalEntities();\n }\n\n public loadEntity() {\n this.entityService.getEntity(this.primaryKey).subscribe(result => {\n this.initializeEntity(result);\n this.entityLoadedEvent.emit(this.entity);\n this.afterInit();\n }, error => {});\n }\n\n updateEntity(entity) {\n this.entityService.updateEntity(entity).subscribe(data => {\n this.ngOnInit();\n }, error => {});\n }\n\n updateWithDto(dto: IDto, id: string | number) {\n this.dtoService.update(this.entityService.entityRoute, dto, id).subscribe(data => {\n this.ngOnInit();\n }, error => {});\n }\n}\n","import { AfterContentChecked, AfterViewInit, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { FilesService } from '@services/files/files.service';\n\ndeclare let gtag: Function;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit, AfterContentChecked, AfterViewInit {\n \n title = 'app'\n public currentVersion: string\n public latestVersion: string\n public hideReleaseNotes: boolean\n public isNavCollapsed: boolean = false\n public whitelabel: string = \"default\"\n\n constructor(\n private authenticationService: AuthenticationService,\n private cdref: ChangeDetectorRef,\n private router: Router,\n private dialog: NgbModal,\n private filesService: FilesService,\n private spinner: NgxSpinnerService\n ) {\n this.spinner.show();\n this.sendNavigationEventsToGoogleAnalytics();\n this.getWhiteLabel();\n this.isNavCollapsed = localStorage.getItem('isNavCollapsed') === 'true'\n }\n\n ngOnInit(): void {\n console.log(`Welcome to`);\n console.log(`%c\n ██████╗██╗ ██╗██████╗ ██████╗ ███████╗ ██████╗ ██████╗ ███╗ ██╗███╗ ██╗███████╗ ██████╗████████╗\n██╔════╝██║ ██║██╔══██╗██╔═══██╗██╔════╝ ██╔════╝██╔═══██╗████╗ ██║████╗ ██║██╔════╝██╔════╝╚══██╔══╝\n██║ ██║ ██║██████╔╝██║ ██║███████╗ ██║ ██║ ██║██╔██╗ ██║██╔██╗ ██║█████╗ ██║ ██║ \n██║ ██║ ██║██╔══██╗██║ ██║╚════██║ ██║ ██║ ██║██║╚██╗██║██║╚██╗██║██╔══╝ ██║ ██║ \n╚██████╗╚██████╔╝██████╔╝╚██████╔╝███████║██╗╚██████╗╚██████╔╝██║ ╚████║██║ ╚████║███████╗╚██████╗ ██║ \n ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═╝\n`, `color: #f6a500`);\n \n if (this.authenticationService.isUserAuthenticated()) {\n this.authenticationService.sendAuthStateChangeNotification(true);\n } else {\n this.authenticationService.tryRefreshingTokens();\n }\n }\n\n ngAfterViewInit() {\n this.spinner.hide();\n }\n\n getWhiteLabel() {\n const subdomain = window.location.host.split('.')[0]\n if (subdomain && !subdomain.includes('localhost')) {\n this.filesService.whitelabelExists(subdomain).subscribe(isExisting => {\n if (isExisting) {\n this.whitelabel = subdomain\n localStorage.setItem('whitelabel', this.whitelabel)\n document.getElementsByTagName('body')[0].setAttribute('data-whitelabel', this.whitelabel)\n this.appendWhiteLabel()\n } else {\n localStorage.removeItem('whitelabel')\n }\n })\n } else {\n localStorage.removeItem('whitelabel')\n }\n }\n \n appendWhiteLabel() {\n const head = document.getElementsByTagName('head')[0]\n const link = document.createElement('link')\n const href = `https://cubosgeneralstorage.blob.core.windows.net/whitelabel-storage/${this.whitelabel}/styles.css`\n link.setAttribute('rel', 'stylesheet')\n link.setAttribute('href', href)\n link.setAttribute('whitelabel', this.whitelabel)\n head.append(link)\n }\n\n ngAfterContentChecked() {\n // this.cdref?.detectChanges(); what does this do?\n }\n\n sendNavigationEventsToGoogleAnalytics() {\n if (document.cookie.includes('cookie_consent=all_cookies')) {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n gtag('config', 'G-8HDWDWPV32', { 'page_path': event.urlAfterRedirects });\n }\n })\n }\n }\n}\n","
\n \n
\n \n
\n \n \n
\n\n","import { LOCALE_ID, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { BrowserModule, Meta } from '@angular/platform-browser';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { RouterModule } from '@angular/router';\nimport { ErrorHandlerService } from '@services/error-handler/error-handler.service';\nimport { AuthInterceptor } from './http-interceptors/auth.interceptor';\nimport { AppComponent } from './app.component';\nimport { NavMenuComponent } from '@components/navigation/nav-menu/nav-menu.component';\nimport { HomeComponent } from '@components/pages/home/home.component';\nimport { RegisterUserComponent } from '@components/authentication/register-user/register-user.component';\nimport { LoginComponent } from '@components/authentication/login/login.component';\nimport { JwtModule } from \"@auth0/angular-jwt\";\nimport { AuthenticationModule } from '@components/authentication/authentication.module';\nimport { SelectEntitiesService } from '@services/entity/select-entities.service';\nimport { CommonModule, DatePipe, DecimalPipe } from '@angular/common';\nimport { UsersTableComponent } from '@components/entities/users/users-table/users-table.component';\nimport { ForbiddenComponent } from '@components/pages/forbidden/forbidden.component';\nimport { ForgotPasswordComponent } from '@components/authentication/forgot-password/forgot-password.component';\nimport { ResetPasswordComponent } from '@components/authentication/reset-password/reset-password.component';\nimport { EmailConfirmationComponent } from '@components/authentication/email-confirmation/email-confirmation.component';\nimport { IfRolesDirective } from './directives/if-roles.directive';\nimport { EditUserComponent } from '@components/entities/users/edit-user/edit-user.component';\nimport { DashboardComponent } from './components/dashboard/dashboard.component';\nimport { LogoutCallbackComponent } from './components/authentication/logout-callback/logout-callback.component';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { TableComponent } from '@components/abstract/table/table.component';\nimport { CreateUserComponent } from './components/entities/users/create-user/create-user.component';\nimport { CreateUserDialogComponent } from './components/dialog/create-user-dialog/create-user-dialog.component';\nimport { CreateUserDialogContentComponent } from './components/dialog/create-user-dialog/create-user-dialog-content/create-user-dialog-content.component';\nimport { DeleteUserDialogComponent } from './components/dialog/delete-user-dialog/delete-user-dialog.component';\nimport { DeleteUserDialogContentComponent } from './components/dialog/delete-user-dialog/delete-user-dialog-content/delete-user-dialog-content.component';\nimport { NgbdSortableHeader } from './directives/sortable.directive';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { ChargingStationsTableComponent } from './components/entities/charging-stations/charging-stations-table/charging-stations-table.component';\nimport { ChargingStationsComponent } from './components/entities/charging-stations/charging-stations.component';\nimport { ChargingStationsModule } from '@components/entities/charging-stations/charging-stations.module';\nimport { BlackboxesModule } from '@components/entities/blackboxes/blackboxes.module';\nimport { CreateChargingStationComponent } from './components/entities/charging-stations/create-charging-station/create-charging-station.component';\nimport { CreateChargingStationDialogComponent } from '@components/dialog/create-charging-station-dialog/create-charging-station-dialog.component';\nimport { CreateChargingStationDialogContentComponent } from '@components/dialog/create-charging-station-dialog/create-charging-station-dialog-content/create-charging-station-dialog-content.component';\nimport { CreateChargingStationAssistentComponent } from '@components/entities/charging-stations/create-charging-station-assistent/create-charging-station-assistent.component';\nimport { CreateChargingStationAssistentDialogComponent } from '@components/dialog/create-charging-station-assistent-dialog/create-charging-station-assistent-dialog.component';\nimport { CreateChargingStationAssistentDialogContentComponent } from '@components/dialog/create-charging-station-assistent-dialog/create-charging-station-assistent-dialog-content/create-charging-station-assistent-dialog-content.component';\nimport { DetailsChargingStationComponent } from './components/entities/charging-stations/details-charging-station/details-charging-station.component';\nimport { DetailsChargingStationDialogComponent } from './components/dialog/details-charging-station-dialog/details-charging-station-dialog.component';\nimport { DetailsChargingStationDialogContentComponent } from './components/dialog/details-charging-station-dialog/details-charging-station-dialog-content/details-charging-station-dialog-content.component';\nimport { ForgotPasswordSuccessComponent } from './components/authentication/forgot-password-success/forgot-password-success.component';\nimport { DashboardRunningTransactionsComponent } from '@components/dashboard/dashboard-running-transactions/dashboard-running-transactions.component';\nimport { registerLocaleData } from '@angular/common';\nimport localeDe from '@angular/common/locales/de';\nimport localeDeExtra from '@angular/common/locales/extra/de';\nimport { UpgradeComponent } from './components/pages/upgrade/upgrade.component';\nimport { ManageComponent } from './components/manage/manage.component';\nimport { ManageModule } from './components/manage/manage.module';\nimport { RfidCardsTableComponent } from './components/entities/rfid-cards/rfid-cards-table/rfid-cards-table.component';\nimport { UnassignedRfidCardsTableComponent } from './components/entities/rfid-cards/unassigned-rfid-cards-table/unassigned-rfid-cards-table.component';\nimport { RemoveRfidAssignmentDialogContentComponent } from './components/dialog/remove-rfid-assignment-dialog-content/remove-rfid-assignment-dialog-content.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { EnableFreeChargeDialogContentComponent } from './components/dialog/enable-free-charge-dialog-content/enable-free-charge-dialog-content.component';\nimport { EnablePublicChargeDialogContentComponent } from './components/dialog/enable-public-charge-dialog-content/enable-public-charge-dialog-content.component';\nimport { EnablePrivateChargeDialogContentComponent } from './components/dialog/enable-private-charge-dialog-content/enable-private-charge-dialog-content.component';\nimport { LeafletModule } from '@asymmetrik/ngx-leaflet';\nimport { RemoteStartStopDialogContentComponent } from './components/dialog/remote-start-stop-dialog-content/remote-start-stop-dialog-content.component';\nimport { EditUserDialogComponent } from './components/dialog/edit-user-dialog/edit-user-dialog.component';\nimport { EditUserDialogContentComponent } from './components/dialog/edit-user-dialog/edit-user-dialog-content/edit-user-dialog-content.component';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { ChargingstationTransactionsTableComponent } from './components/entities/transactions/chargingstation-transactions-table/chargingstation-transactions-table.component';\nimport { ThousandPipe } from './pipes/thousand.pipe';\nimport { KwhPipe } from './pipes/kwh.pipe';\nimport { SubstractDatePipe } from './pipes/datediff.pipe';\nimport { ProfileComponent } from './components/manage/profile/profile.component';\nimport { DeleteChargingStationDialogComponent } from './components/dialog/delete-charging-station-dialog/delete-charging-station-dialog.component';\nimport { DeleteChargingStationDialogContentComponent } from './components/dialog/delete-charging-station-dialog/delete-charging-station-dialog-content/delete-charging-station-dialog-content.component';\nimport { DashboardChargingPointsComponent } from './components/dashboard/dashboard-charging-points/dashboard-charging-points.component';\nimport { CustomerGuard } from './guards/customer/customer.guard';\nimport { ChargingStationRfidAuthComponent } from './components/entities/charging-stations/charging-station-rfid-auth/charging-station-rfid-auth.component';\nimport { DlmChargingStationComponent } from './components/entities/charging-stations/charging-station-dlm/dlm-charging-station.component';\nimport { SysChargingStationComponent } from './components/entities/charging-stations/charging-station-system/system-charging-station.component';\nimport { DashboardPowerChartComponent } from './components/dashboard/dashboard-power-chart/dashboard-power-chart.component';\nimport { DashboardProfileComponent } from './components/dashboard/dashboard-profile/dashboard-profile.component';\nimport { DashboardTransactionsComponent } from './components/dashboard/dashboard-transactions/dashboard-transactions.component';\nimport { GroupsComponent } from './components/manage/groups/groups.component';\nimport { DEDatePipe } from './pipes/de-date.pipe';\nimport { DEDatePipeShort } from './pipes/de-date-short.pipe';\nimport { ChangePasswordDialogContentComponent } from './components/dialog/change-password-dialog-content/change-password-dialog-content.component';\nimport { DeleteUserProfileDialogContentComponent } from './components/dialog/delete-user-profile-dialog-content/delete-user-profile-dialog-content.component';\nimport { EvaluationComponent } from './components/evaluation/evaluation.component';\nimport { EvaluationModule } from './components/evaluation/evaluation.module';\nimport { DeliveryNotesComponent } from './components/evaluation/delivery-notes/delivery-notes.component';\nimport { CreateGroupsComponent } from './components/manage/groups/create-groups/create-groups.component';\nimport { EditGroupsComponent } from './components/manage/groups/edit-groups/edit-groups.component';\nimport { ChargingStatisticsComponent } from './components/evaluation/charging-statistics/charging-statistics.component';\nimport { TransactionsComponent } from './components/evaluation/transactions/transactions.component';\nimport { AGBComponent } from './components/authentication/agb/agb.component';\nimport { DatasecurityComponent } from './components/authentication/datasecurity/datasecurity.component';\nimport { EmailChangeConfirmationComponent } from './components/authentication/email-change-confirmation/email-change-confirmation.component';\nimport { CustomersTableComponent } from './components/entities/customers/customers-table/customers-table.component';\nimport { CustomersModule } from './components/entities/customers/customers.module';\nimport { MessageComponent } from './components/abstract/message/message.component';\nimport { OperatorGuard } from '@guards/operator/operator.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\nimport { CustomerOverviewComponent } from './components/entities/customers/customer-overview/customer-overview.component';\nimport { RegisterUserSuccessComponent } from './components/authentication/register-user-success/register-user-success.component';\nimport { RegisterUserSuccessWithInviteComponent } from './components/authentication/register-user-success-with-invite/register-user-success-with-invite.component';\nimport { CreateRfidCardComponent } from './components/entities/rfid-cards/create-rfid-card/create-rfid-card.component';\nimport { CreateRfidCardDialogComponent } from './components/dialog/create-rfid-card-dialog/create-rfid-card-dialog.component';\nimport { CreateRfidCardDialogContentComponent } from './components/dialog/create-rfid-card-dialog/create-rfid-card-dialog-content/create-rfid-card-dialog-content.component';\nimport { InvoicesModule } from './components/entities/invoices/invoices.module';\nimport { PricingsModule } from './components/entities/pricings/pricings.module';\nimport { PricingsComponent } from './components/entities/pricings/pricings.component';\nimport { PricingsTableComponent } from './components/entities/pricings/pricings-table/pricings-table.component';\nimport { CreatePricingComponent } from './components/entities/pricings/create-pricing/create-pricing.component';\nimport { CreatePublicPricingComponent } from './components/entities/pricings/create-public-pricing/create-public-pricing.component';\nimport { CreatePricingDialogContentComponent } from './components/dialog/create-pricing-dialog/create-pricing-dialog-content/create-pricing-dialog-content.component';\nimport { CreatePublicPricingDialogContentComponent } from './components/dialog/create-public-pricing-dialog/create-public-pricing-dialog-content/create-public-pricing-dialog-content.component';\nimport { EditPricingDialogContentComponent } from './components/dialog/edit-pricing-dialog/edit-pricing-dialog-content/edit-pricing-dialog-content.component';\nimport { DeletePricingDialogContentComponent } from './components/dialog/delete-pricing-dialog/delete-pricing-dialog-content/delete-pricing-dialog-content.component';\nimport { UsedTokenFeedbackComponent } from './components/authentication/used-token-feedback/used-token-feedback.component';\nimport { WeekPipe } from './pipes/week.pipe';\nimport { ChangePasswordDialogForCustomerContentComponent } from './components/dialog/change-password-for-customer-dialog-content/change-password-for-customer-dialog-content.component';\nimport { DeleteUserForCustomerDialogContentComponent } from './components/dialog/delete-user-for-customer-dialog-content/delete-user-for-customer-dialog-content.component';\nimport { DeleteRFIDCardForCustomerDialogContentComponent } from './components/dialog/delete-rfid-card-for-customer-dialog-content/delete-rfid-card-for-customer-dialog-content.component';\nimport { CustomerHistoryComponent } from './components/entities/customers/customer-history/customer-history.component';\nimport { RestartChargingStationDialogContentComponent } from '@components/dialog/restart-charging-station-dialog-content/restart-charging-station-dialog-content.component';\nimport { UsersModule } from '@components/entities/users/users.module';\nimport { ResetChargingStationPasswordDialogContentComponent } from './components/dialog/reset-charging-station-password-dialog-content/reset-charging-station-password-dialog-content.component';\nimport { ChangeCustomerComponent } from './components/navigation/change-customer/change-customer.component';\nimport { CustomerPermissionsComponent } from './components/entities/customers/customer-permissions/customer-permissions.component';\nimport { OperatorComponent } from './components/operator/operator.component';\nimport { SubscriptionTypesComponent } from './components/operator/subscription-types/subscription-types.component';\nimport { OperatorModule } from '@components/operator/operator.module';\nimport { ChangePasswordSuccessContentComponent } from './components/dialog/change-password-success-dialog-content/change-password-success-dialog-content.component';\nimport { RfidScanDialogContentComponent } from './components/dialog/rfid-scan-dialog-content/rfid-scan-dialog-content.component';\nimport { DeliveryNoteTemplateComponent } from './components/pdf/delivery-note-template/delivery-note-template.component';\nimport { SupportComponent } from './components/pages/support/support.component';\nimport { AngularIbanModule } from 'angular-iban';\nimport { DeleteGroupDialogComponent } from './components/dialog/delete-group-dialog/delete-group-dialog.component';\nimport { FooterComponent } from './components/navigation/footer/footer.component';\nimport { AboutUsDialogComponent } from './components/navigation/about-us/about-us-dialog.component';\nimport { CreateDeliveryNoteDialogContentComponent } from './components/dialog/create-delivery-note-dialog-content/create-delivery-note-dialog-content.component';\nimport { CreateDeliveryCSVDialogContentComponent } from './components/dialog/create-delivery-csv-dialog-content/create-delivery-csv-dialog-content.component';\nimport { CreateDeliveryNoteComponent } from './components/entities/delivery-notes/create-delivery-note/create-delivery-note.component';\nimport { CreateDeliveryCSVComponent } from './components/entities/delivery-notes/create-delivery-csv/create-delivery-csv.component';\nimport { ToastsComponent } from '@components/abstract/toast/toast.component';\nimport { RestartChargingStationWarningDialogContentComponent } from './components/dialog/restart-charging-station-warning-dialog-content/restart-charging-station-warning-dialog-content.component';\nimport { ResetPasswordWarningDialogContentComponent } from './components/dialog/reset-charging-station-password-warning-dialog-content/reset-charging-station-password-warning-dialog-content.component';\nimport { PaymentSuccessComponent } from './components/payments/payment-success/payment-success.component';\nimport { PaymentCanceledComponent } from './components/payments/payment-canceled/payment-canceled.component';\nimport { ChargingStationsStatusHistoryTableComponent } from './components/entities/charging-stations/charging-stations-status-history-table/charging-stations-status-history-table.component';\nimport { CancelSubscriptionDialogContentComponent } from './components/dialog/cancel-subscription-dialog-content/cancel-subscription-dialog-content.component';\nimport { EditGroupDialogComponent } from './components/dialog/edit-group-dialog/edit-group-dialog.component';\nimport { EditRfidCardDialogComponent } from './components/dialog/edit-rfid-card-dialog/edit-rfid-card-dialog.component';\nimport { EditRfidCardDialogContentComponent } from '@components/dialog/edit-rfid-card-dialog/edit-rfid-card-dialog-content/edit-rfid-card-dialog-content.component';\nimport { DeliveryNoteActionsDialogComponent } from './components/dialog/delivery-note-actions-dialog/delivery-note-actions-dialog.component';\nimport { DeliveryNoteActionsDialogContentComponent } from './components/dialog/delivery-note-actions-dialog/delivery-note-actions-dialog-content/delivery-note-actions-dialog-content.component';\nimport { EditDeliveryNotesSettingsDialogComponent } from './components/dialog/edit-delivery-notes-settings-dialog/edit-delivery-notes-settings-dialog.component';\nimport { EditDeliveryNotesSettingsDialogContentComponent } from './components/dialog/edit-delivery-notes-settings-dialog/edit-delivery-notes-settings-dialog-content/edit-delivery-notes-settings-dialog-content.component';\nimport { PublicChargePlansComponent } from '@components/public-charge/public-charge-plans/public-charge-plans.component';\nimport { PublicChargeComponent } from '@components/public-charge/public-charge/public-charge.component';\nimport { PublicChargeCanceledComponent } from '@components/public-charge/public-charge-canceled/public-charge-canceled.component';\nimport { CreateCustomerComponent } from './components/entities/customers/create-customer/create-customer.component';\nimport { CreateCustomerDialogComponent } from './components/dialog/create-customer-dialog/create-customer-dialog.component';\nimport { CreateCustomerDialogContentComponent } from './components/dialog/create-customer-dialog/create-customer-dialog-content/create-customer-dialog-content.component';\nimport { DetailsTransactionDialogComponent } from './components/dialog/details-transaction-dialog/details-transaction-dialog.component';\nimport { DetailsTransactionDialogContentComponent } from './components/dialog/details-transaction-dialog/details-transaction-dialog-content/details-transaction-dialog-content.component';\nimport { DetailsRunningTransactionDialogComponent } from './components/dialog/details-running-transaction-dialog/details-running-transaction-dialog.component';\nimport { DetailsRunningTransactionDialogContentComponent } from './components/dialog/details-running-transaction-dialog/details-running-transaction-dialog-content/details-running-transaction-dialog-content.component';\nimport { DetailsTransactionComponent } from './components/entities/transactions/details-transaction/details-transaction.component';\nimport { DeleteDeliveryNoteDialogContentComponent } from './components/dialog/delete-delivery-note-dialog-content/delete-delivery-note-dialog-content';\nimport { UpdateChargingStationsDialogContentComponent } from './components/dialog/update-charging-station-dialog/update-charging-station-dialog-content/update-charging-stations-dialog-content';\nimport { SVGComponent } from '@components/abstract/svg/svg.component';\nimport { UpvotyComponent } from '@components/abstract/upvoty/upvoty.component';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport { ChargingParkSubscriptionDialogContentComponent } from './components/dialog/charging-park-subscription-dialog/charging-park-subscription-dialog-content/charging-park-subscription-dialog-content.component';\nimport { ChargingParkSubscriptionDialogComponent } from './components/dialog/charging-park-subscription-dialog/charging-park-subscription-dialog.component';\nimport { ChargingParkSubscriptionComponent } from './components/manage/profile/charging-park-subscription/charging-park-subscription.component';\nimport { InvoicesComponent } from '@components/entities/invoices/invoices.component';\nimport { InvoicesTableComponent } from '@components/entities/invoices/invoices-table/invoices-table.component';\nimport { OpenInvoicesTableComponent } from '@components/entities/invoices/open-invoices-table/open-invoices-table.component';\nimport { CreateInvoiceDialogContentComponent } from '@components/dialog/create-invoice-dialog/create-invoice-dialog-content/create-invoice-dialog-content.component';\nimport { PrintInvoiceDialogContentComponent } from '@components/dialog/print-invoice-dialog/print-invoice-dialog-content/print-invoice-dialog-content.component';\nimport { InvoicePDFComponent } from '@components/pdf/invoice-pdf/invoice-pdf.component';\nimport { EditInvoiceSettingsDialogComponent } from '@components/dialog/edit-invoice-settings-dialog/edit-invoice-settings-dialog.component';\nimport { EditInvoiceSettingsDialogContentComponent } from '@components/dialog/edit-invoice-settings-dialog/edit-invoice-settings-dialog-content/edit-invoice-settings-dialog-content.component';\nimport { ManufacturerTableComponent } from '@components/operator/manufacturer/manufacturer.component';\nimport { ChargingStationProfilesComponent } from '@components/operator/chargingstationprofiles/chargingstationprofiles.component';\nimport { CreateChargingStationProfileComponent } from '@components/entities/charging-stations-profile/create-chargingstation-profile/create-chargingstationprofile.component'\nimport { CreateChargingStationProfileDialogComponent } from '@components/dialog/create-chargingstationprofile-dialog/create-chargingstationprofile-dialog.component'\nimport { CreateChargingStationProfileDialogContentComponent } from '@components/dialog/create-chargingstationprofile-dialog/create-chargingstationprofile-dialog-content/create-chargingstationprofile-dialog-content.component'\nimport { StatusNotificationsTableComponent } from '@components/operator/statusnotifications/statusnotifications.component';\nimport { CreateManufacturerComponent } from '@components/entities/manufacturer/create-manufacturer/create-manufacturer.component';\nimport { CreateManufacturerDialogComponent } from '@components/dialog/create-manufacturer-dialog/create-manufacturer-dialog.component'\nimport { CreateManufacturerDialogContentComponent } from './components/dialog/create-manufacturer-dialog/create-manufacturer-dialog-content/create-manufacturer-dialog-content.component';\nimport { DiagnosticChargingStationDialogComponent } from './components/dialog/diagnostic-charging-station-dialog/diagnostics-charging-station-dialog-component'\nimport { DiagnosticChargingStationDialogContentComponent } from './components/dialog/diagnostic-charging-station-dialog/diagnostic-charging-station-dialog-content/diagnostics-charging-station-dialog-content.component'\nimport { UsersComponent } from '@components/entities/users/users.component';\nimport { UserOverviewComponent } from '@components/entities/users/user-overview/user-overview.component';\nimport { QRCodeModule } from 'angularx-qrcode';\nimport { NgxMaskModule, IConfig } from 'ngx-mask';\nimport { PaymentReceiptsTableComponent } from '@components/entities/payment-receipts/payment-receipts-table/payment-receipts-table.component';\nimport { PaymentReceiptsComponent } from '@components/entities/payment-receipts/payment-receipts.component';\nimport { PaymentReceiptsModule } from '@components/entities/payment-receipts/payment-receipts.module';\nimport { InviteCustomerDialogComponent } from '@components/dialog/invite-customer-dialog/invite-customer-dialog.component';\nimport { InviteCustomerDialogContentComponent } from '@components/dialog/invite-customer-dialog/invite-customer-dialog-content/invite-customer-dialog-content.component';\nimport { WelcomeUserComponent } from '@components/authentication/welcome-user/welcome-user.component';\nimport { TableFilterComponent } from '@components/abstract/table/filter/table-filter.component';\nimport { DashboardOfflineSinceComponent } from '@components/operator/dashboard-offlineSince/dashboard-offlineSince.component';\nimport { BlackboxesTableComponent } from '@components/entities/blackboxes/blackboxes-table/blackboxes-table.component';\nimport { BlackboxesComponent } from '@components/entities/blackboxes/blackboxes.component';\nimport { EnergyMonitorModule } from '@components/energy/energy-monitor/evaluation.module';\nimport { EnergyMonitorComponent } from '@components/energy/energy-monitor/energy-monitor.component';\nimport { EnergyDistributionChartComponent } from '@components/charts/energy-distribution-chart.component';\nimport { EnergyProductionChartComponent } from '@components/charts/energy-production-chart.component';\nimport { EnergyConsumptionChartComponent } from '@components/charts/energy-consumption-chart.component';\nimport { EnergyHistoryChartComponent } from '@components/charts/energy-history-chart.component';\nimport { EnergyFlowChartComponent } from '@components/charts/energy-flow-chart.component';\nimport { BlackboxSetupComponent } from '@components/entities/blackboxes/blackbox-setup/blackbox-setup.component';\nimport { SetupBlackboxDialogComponent } from '@components/dialog/setup-blackbox-dialog/setup-blackbox-dialog.component';\nimport { SetupBlackboxDialogContentComponent } from '@components/dialog/setup-blackbox-dialog/setup-blackbox-dialog-content/setup-blackbox-dialog-content.component';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { ClaimAutochargeIdComponent } from '@components/authentication/claim-autochargeId/claim-autochargeId.component';\nimport { RegisterUserFromOperatorComponent } from '@components/operator/register-user-operator/register-user-operator.component'\nimport { ChargingPowerProfileBadge } from '@components/abstract/badges/charging-power-profile-badge/charging-power-profile-badge.component';\nimport { TransactionStatusBadge } from '@components/abstract/badges/transaction-status-badge/transaction-status-badge.component';\nimport { RunningTransactionPopupComponent } from '@components/dashboard/dashboard-running-transactions/running-transaction-popup/running-transaction-popup.component';\nimport { RequestSupportPopupComponent } from '@components/dialog/request-support/request-support-popup.component';\nimport { PaymentMethodAddedDialogContentComponent } from '@components/dialog/payment-method-added-dialog-content/payment-method-added-dialog-content.component';\nimport { PayoutStatementsComponent } from '@components/entities/payout-statements/payout-statements.component';\nimport { PayoutPreviewComponent } from '@components/entities/invoices/payout-preview/payout-preview.component';\nimport { PayoutStatementsDialogComponent } from '@components/dialog/payout-statements-dialog/payout-statements-dialog.component';\nimport { PayoutStatementsDialogContentComponent } from '@components/dialog/payout-statements-dialog/payout-statements-dialog-content/payout-statements-dialog-content.component';\nimport { CreditStatementsDialogComponent } from '@components/dialog/credit-statements-dialog/credit-statements-dialog.component';\nimport { CreditStatementsDialogContentComponent } from '@components/dialog/credit-statements-dialog/credit-statements-dialog-content/credit-statements-dialog-content.component';\nimport { CreditStatementsComponent } from '@components/entities/credit-statements/credit-statements.component';\nimport { EditEmailDialogComponent } from './components/dialog/edit-email-dialog/edit-email-dialog.component';\nimport { EditEmailDialogContentComponent } from './components/dialog/edit-email-dialog/edit-email-dialog-content/edit-email-dialog-content.component';\nimport { RemovePricingDialogContentComponent } from '@components/dialog/remove-pricing-dialog/remove-pricing-dialog-content/remove-pricing-dialog-content.component';\nimport { ChargingStationInfo } from '@components/entities/charging-stations/charging-station-info/charging-station-info.component';\nimport { ChargingStationCombinedStatusBadge } from '@components/abstract/badges/charging-station-combined-status-badge/charging-station-combined-status-badge.component';\nimport { RfidModule } from './components/entities/rfid-cards/rfid.module';\nimport { EnergyModule } from './components/energy/energy.module';\nimport { RfidComponent } from './components/entities/rfid-cards/rfid.component';\nimport { BidiChargingComponent } from './components/energy/bidi-charging/bidi-charging.component';\nimport { DualRangeSliderComponent } from './components/energy/bidi-charging/dual-range-slider/dual-range-slider.component';\nimport { RangeSliderComponent } from './components/energy/bidi-charging/range-slider/range-slider.component';\nimport { NgxScannerQrcodeModule, LOAD_WASM } from 'ngx-scanner-qrcode';\nimport { BidiSelectChargingStationComponent } from './components/energy/bidi-charging/bidi-select-charging-station/bidi-select-charging-station.component';\nimport { EnergyTabNavigationComponent } from '@components/energy/energy-monitor/energy-tab-navigation/energy-tab-navigation.component';\nimport { EnergyComponent } from './components/energy/energy.component';\n\n\nexport const options: Partial | (() => Partial) = null;\n\nexport function tokenGetter() {\n return localStorage.getItem(\"token\");\n}\n\ninterface NgxSpinnerConfig {\n type?: string;\n}\n\nregisterLocaleData(localeDe, 'de', localeDeExtra);\n\nLOAD_WASM().subscribe();\n\n@NgModule({\n declarations: [\n AppComponent,\n TableComponent,\n NavMenuComponent,\n HomeComponent,\n RegisterUserComponent,\n LoginComponent,\n WelcomeUserComponent,\n UsersTableComponent,\n EditUserComponent,\n ForgotPasswordComponent,\n ForgotPasswordSuccessComponent,\n ResetPasswordComponent,\n EmailConfirmationComponent,\n IfRolesDirective,\n DashboardComponent,\n LogoutCallbackComponent,\n CreateUserComponent,\n CreateUserDialogComponent,\n CreateUserDialogContentComponent,\n CreateCustomerComponent,\n CreateCustomerDialogComponent,\n CreateCustomerDialogContentComponent,\n DeleteUserDialogComponent,\n DeleteUserDialogContentComponent,\n NgbdSortableHeader,\n ChargingStationsTableComponent,\n ChargingStationsComponent,\n CreateChargingStationComponent,\n CreateChargingStationDialogComponent,\n CreateChargingStationDialogContentComponent,\n CreateChargingStationAssistentComponent,\n CreateChargingStationAssistentDialogComponent,\n CreateChargingStationAssistentDialogContentComponent,\n DetailsChargingStationComponent,\n DetailsChargingStationDialogComponent,\n DetailsChargingStationDialogContentComponent,\n UpgradeComponent,\n ManageComponent,\n RfidCardsTableComponent,\n UnassignedRfidCardsTableComponent,\n RemoveRfidAssignmentDialogContentComponent,\n EditRfidCardDialogContentComponent,\n ClaimAutochargeIdComponent,\n EnableFreeChargeDialogContentComponent,\n EnablePublicChargeDialogContentComponent,\n EnablePrivateChargeDialogContentComponent,\n DiagnosticChargingStationDialogComponent,\n DiagnosticChargingStationDialogContentComponent,\n RemoteStartStopDialogContentComponent,\n EditUserDialogComponent,\n EditUserDialogContentComponent,\n ChargingstationTransactionsTableComponent,\n ThousandPipe,\n KwhPipe,\n DeleteChargingStationDialogComponent,\n DeleteChargingStationDialogContentComponent,\n ChargingStationRfidAuthComponent,\n DlmChargingStationComponent,\n SysChargingStationComponent,\n ProfileComponent,\n InviteCustomerDialogComponent,\n InviteCustomerDialogContentComponent,\n DashboardChargingPointsComponent,\n DashboardPowerChartComponent,\n DashboardProfileComponent,\n DashboardTransactionsComponent,\n GroupsComponent,\n DEDatePipe,\n DEDatePipeShort,\n WeekPipe,\n ChangePasswordDialogContentComponent,\n DeleteUserProfileDialogContentComponent,\n EvaluationComponent,\n DeliveryNotesComponent,\n CreateGroupsComponent,\n EditGroupsComponent,\n ChargingStatisticsComponent,\n TransactionsComponent,\n EmailChangeConfirmationComponent,\n AGBComponent,\n DatasecurityComponent,\n CustomersTableComponent,\n MessageComponent,\n CustomerOverviewComponent,\n RegisterUserSuccessComponent,\n RegisterUserSuccessWithInviteComponent,\n CreateRfidCardComponent,\n CreateRfidCardDialogComponent,\n CreateRfidCardDialogContentComponent,\n\n InvoicesComponent,\n InvoicesTableComponent,\n OpenInvoicesTableComponent,\n CreateInvoiceDialogContentComponent,\n PrintInvoiceDialogContentComponent,\n InvoicePDFComponent,\n EditInvoiceSettingsDialogComponent,\n EditInvoiceSettingsDialogContentComponent,\n PaymentReceiptsComponent,\n PaymentReceiptsTableComponent,\n \n PricingsComponent,\n PricingsTableComponent,\n CreatePricingComponent,\n CreatePricingDialogContentComponent,\n CreatePublicPricingComponent,\n CreatePublicPricingDialogContentComponent,\n EditPricingDialogContentComponent,\n DeletePricingDialogContentComponent,\n RemovePricingDialogContentComponent,\n\n UsedTokenFeedbackComponent,\n ChangePasswordDialogForCustomerContentComponent,\n DeleteUserForCustomerDialogContentComponent,\n DeleteRFIDCardForCustomerDialogContentComponent,\n CustomerHistoryComponent,\n RestartChargingStationDialogContentComponent,\n ResetChargingStationPasswordDialogContentComponent,\n ChangeCustomerComponent,\n CustomerPermissionsComponent,\n OperatorComponent,\n SubscriptionTypesComponent,\n ChangePasswordSuccessContentComponent,\n RfidScanDialogContentComponent,\n DeliveryNoteTemplateComponent,\n SupportComponent,\n DeleteGroupDialogComponent,\n FooterComponent,\n AboutUsDialogComponent,\n CreateDeliveryNoteDialogContentComponent,\n CreateDeliveryNoteComponent,\n CreateDeliveryCSVDialogContentComponent,\n CreateDeliveryCSVComponent,\n ToastsComponent,\n RestartChargingStationWarningDialogContentComponent,\n ResetPasswordWarningDialogContentComponent,\n PaymentSuccessComponent,\n PaymentCanceledComponent,\n ChargingStationsStatusHistoryTableComponent,\n CancelSubscriptionDialogContentComponent,\n EditGroupDialogComponent,\n EditRfidCardDialogComponent,\n DeliveryNoteActionsDialogComponent,\n DeliveryNoteActionsDialogContentComponent,\n PublicChargePlansComponent,\n PublicChargeComponent,\n PublicChargeCanceledComponent,\n DetailsTransactionDialogComponent,\n DetailsTransactionDialogContentComponent,\n DetailsTransactionComponent,\n DeleteDeliveryNoteDialogContentComponent,\n SVGComponent,\n UpvotyComponent,\n DashboardRunningTransactionsComponent,\n RunningTransactionPopupComponent,\n RequestSupportPopupComponent,\n DetailsRunningTransactionDialogComponent,\n DetailsRunningTransactionDialogContentComponent,\n StatusNotificationsTableComponent,\n ManufacturerTableComponent,\n CreateManufacturerComponent,\n CreateManufacturerDialogComponent,\n CreateManufacturerDialogContentComponent,\n\n ChargingStationProfilesComponent,\n CreateChargingStationProfileComponent,\n CreateChargingStationProfileDialogComponent,\n CreateChargingStationProfileDialogContentComponent,\n\n UpdateChargingStationsDialogContentComponent,\n ChargingParkSubscriptionDialogContentComponent,\n ChargingParkSubscriptionDialogComponent,\n ChargingParkSubscriptionComponent,\n EditDeliveryNotesSettingsDialogComponent,\n EditDeliveryNotesSettingsDialogContentComponent,\n TableFilterComponent,\n DashboardOfflineSinceComponent,\n BlackboxesComponent,\n BlackboxesTableComponent,\n EnergyMonitorComponent,\n EnergyTabNavigationComponent,\n EnergyDistributionChartComponent,\n EnergyProductionChartComponent,\n EnergyConsumptionChartComponent,\n EnergyHistoryChartComponent,\n EnergyFlowChartComponent,\n BlackboxSetupComponent,\n SetupBlackboxDialogComponent,\n SetupBlackboxDialogContentComponent,\n ChargingPowerProfileBadge,\n TransactionStatusBadge,\n ChargingStationCombinedStatusBadge,\n PaymentMethodAddedDialogContentComponent,\n PayoutStatementsComponent,\n PayoutPreviewComponent,\n PayoutStatementsDialogComponent,\n PayoutStatementsDialogContentComponent,\n CreditStatementsComponent,\n CreditStatementsDialogComponent,\n CreditStatementsDialogContentComponent,\n UsersComponent,\n UserOverviewComponent,\n RegisterUserFromOperatorComponent,\n AutofocusDirective,\n EditEmailDialogComponent,\n EditEmailDialogContentComponent,\n ChargingStationInfo,\n RfidComponent,\n BidiChargingComponent,\n DualRangeSliderComponent,\n RangeSliderComponent,\n BidiSelectChargingStationComponent,\n EnergyComponent\n ],\n imports: [\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\n BrowserAnimationsModule,\n NgxSpinnerModule.forRoot({ type: 'ball-scale-multiple' }),\n ClipboardModule,\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n NgbModule,\n ScrollingModule,\n NgSelectModule,\n AuthenticationModule,\n ChargingStationsModule,\n BlackboxesModule,\n ManageModule,\n InvoicesModule,\n PaymentReceiptsModule,\n PricingsModule,\n CustomersModule,\n UsersModule,\n OperatorModule,\n EvaluationModule,\n AngularIbanModule,\n QRCodeModule,\n EnergyModule,\n RfidModule,\n RouterModule.forRoot([\n {\n path: '', component: DashboardComponent,\n pathMatch: 'full',\n canActivate: [AuthGuard, RoleGuard],\n data: {\n roles: ['User', 'Customer', 'Operator']\n }\n },\n { path: 'bidi-charging', component: BidiChargingComponent },\n { path: 'energy', component: EnergyComponent },\n { path: 'pricings', component: PricingsComponent },\n { path: 'invoices', component: InvoicesComponent },\n { path: 'support', component: SupportComponent },\n {\n path: 'profil',\n component: ProfileComponent,\n children: [\n {\n path: 'email',\n component: EditEmailDialogComponent\n }\n ]\n },\n { path: 'payment-success', component: PaymentSuccessComponent },\n { path: 'payment-canceled', component: PaymentCanceledComponent },\n { path: 'public-charge-plans', component: PublicChargePlansComponent },\n { path: 'pc', component: PublicChargePlansComponent },\n { path: 'public-charge', component: PublicChargeComponent },\n { path: 'public-charge-canceled', component: PublicChargeCanceledComponent },\n { path: 'logout-callback', component: LogoutCallbackComponent },\n { path: 'forbidden', component: ForbiddenComponent },\n { path: 'upgrade', component: UpgradeComponent },\n { path: 'pdf', component: DeliveryNoteTemplateComponent },\n { path: '**', redirectTo: '' },\n \n ], { relativeLinkResolution: 'legacy', anchorScrolling: 'enabled' }),\n JwtModule.forRoot({\n config: {\n tokenGetter: tokenGetter,\n allowedDomains: [\"localhost:44371\"],\n disallowedRoutes: []\n }\n }),\n LayoutModule,\n LeafletModule,\n ImageCropperModule,\n EnergyMonitorModule,\n NgxMaskModule.forRoot(),\n NgxScannerQrcodeModule\n ],\n providers: [\n { provide: LOCALE_ID, useValue: 'de-DE' },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorHandlerService,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true,\n },\n Meta,\n DecimalPipe,\n ThousandPipe,\n KwhPipe,\n DatePipe,\n DEDatePipe,\n WeekPipe,\n SubstractDatePipe,\n SelectEntitiesService\n ],\n bootstrap: [AppComponent, UpvotyComponent],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\n})\nexport class AppModule { }\n","\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n {{ caption }}\n","import { Component, Injector, Input, OnChanges, OnInit } from '@angular/core';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { ChargingPowerProfile } from '@models/chargingPowerProfile';\n\n@Component({\n selector: 'charging-power-profile-badge',\n templateUrl: './charging-power-profile-badge.component.html',\n styleUrls: ['./charging-power-profile-badge.component.scss'],\n})\nexport class ChargingPowerProfileBadge implements OnInit, OnChanges {\n\n public className: string;\n\n public caption: string\n public tooltip: string\n @Input() profile: ChargingPowerProfile\n @Input() isCaptioned: boolean = true\n @Input() isColored: boolean = true\n @Input() isTooltipped: boolean = true\n\n constructor() {}\n\n ngOnInit(): void {\n this.setCaption()\n }\n\n ngOnChanges(): void {\n this.setCaption()\n }\n\n setCaption() {\n switch (this.profile.key) {\n\n case 'now':\n this.caption = 'mit Standard'\n this.tooltip = 'Höchste verfügbare Ladeleistung. Drosselt die Ladeleistung nur bei hoher Auslastung.'\n break\n\n case 'minpv':\n this.caption = 'mit Netz und Sonne'\n this.tooltip = 'Garantiert 4 kW Ladeleistung aus Netzenergie. Erhöht die Ladeleistung mit verfügbarer Sonnenenergie.'\n break\n\n case 'pv':\n this.caption = 'nur mit Sonne'\n this.tooltip = 'Ohne Ladeleistung aus Netzenergie. Ladeleistung ist abhängig von verfügbarer Sonnenenergie.'\n break\n\n default: this.caption = 'undefiniert'; break\n }\n }\n}\n","import { Component, Inject, Injector, Input, OnInit, Optional } from '@angular/core';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { ChargingPoint } from '@models/chargingPoint';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\nimport { ChargingStationTableDto } from '@dto/chargingStationTableDto';\nimport { ChargingPointStatusEnum } from '@enums/chargingPointStatus.enum';\n\n@Component({\n selector: 'charging-station-combined-status-badge',\n templateUrl: './charging-station-combined-status-badge.component.html',\n styleUrls: ['./charging-station-combined-status-badge.component.scss'],\n})\nexport class ChargingStationCombinedStatusBadge implements OnInit {\n\n /** the charging station to display */\n @Input() chargingStation: ChargingStationTableDto;\n\n public unregistered: boolean;\n public offlineSinceText: string = '';\n\n /** Max number of extended pills. If above, everything will be shown as small circles. */\n private MAX_LARGE_PILLS: number = 2;\n\n constructor() { }\n\n ngOnInit(): void {\n this.unregistered = (this.chargingStation.statusId == ChargingPointStatusEnum.Unregistered);\n if (this.chargingStation.statusId == ChargingPointStatusEnum.Offline && this.chargingStation.offlineSince) {\n var datePipe = new DEDatePipe();\n // '\\u00A0' is a unicode non-breaking space, aka  \n this.offlineSinceText = \"\\u00A0seit\\u00A0\" + datePipe.transform(this.chargingStation.offlineSince);\n }\n }\n\n getPillContent(chargingPoint: ChargingPoint): string {\n if (this.chargingStation.chargingPoints.length <= this.MAX_LARGE_PILLS) {\n return `${chargingPoint.status?.name}`;\n }\n return `${chargingPoint.connectorId}`;\n }\n\n getTooltip(chargingPoint: ChargingPoint): string {\n return ChargingStationsService.mapStatusTooltip(chargingPoint.statusId);\n }\n\n getBadgeClasses(chargingPoint: ChargingPoint): string {\n const badgeColorClass = this.getColorClassForStatus(chargingPoint.statusId)\n const connectorClass = `connector-id-${chargingPoint.connectorId}`;\n const pillStyleClasses = this.chargingStation.chargingPoints.length <= this.MAX_LARGE_PILLS\n ? 'rounded-pill'\n : 'rounded-circle me-1';\n return `badge p-2 ${pillStyleClasses} ${badgeColorClass} ${connectorClass}`;\n }\n\n getChargingStationBadgeClasses(): string {\n const badgeColorClass = this.getColorClassForStatus(this.chargingStation.statusId);\n return `badge p-2 rounded-pill ${badgeColorClass}`;\n }\n\n getColorClassForStatus(status: ChargingPointStatusEnum): string {\n switch (status) {\n case ChargingPointStatusEnum.Unregistered: return 'bg-primary';\n case ChargingPointStatusEnum.Available: return 'bg-success';\n case ChargingPointStatusEnum.Charging: return 'bg-warning';\n case ChargingPointStatusEnum.Faulted: return 'bg-danger';\n case ChargingPointStatusEnum.Finishing: return 'bg-info';\n case ChargingPointStatusEnum.Preparing: return 'bg-info';\n case ChargingPointStatusEnum.Reserved: return 'bg-reserved';\n case ChargingPointStatusEnum.SuspendedEV: return 'bg-info';\n case ChargingPointStatusEnum.SuspendedEVSE: return 'bg-info';\n case ChargingPointStatusEnum.Unavailable: return 'bg-danger';\n case ChargingPointStatusEnum.Offline: return 'bg-secondary';\n default: return 'bg-secondary';\n }\n }\n}\n","\n\n • • •\n\n\n\n
\n \n \n \n \n\n \n \n \n \n {{chargingStation.status?.name}}{{this.offlineSinceText}}\n \n \n\n \n \n \n \n {{getPillContent(chargingPoint)}}\n \n \n \n
\n
\n","import { Component, Injector, Input, OnInit } from '@angular/core';\nimport { ChargingStationStatus } from '@models/chargingStationStatus';\nimport { ChargingPowerProfile } from '@models/chargingPowerProfile';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\n\n@Component({\n selector: 'transaction-status-badge',\n templateUrl: './transaction-status-badge.component.html',\n styleUrls: ['./transaction-status-badge.component.scss'],\n})\nexport class TransactionStatusBadge implements OnInit {\n\n public className: string;\n\n public caption: string\n public tooltip: string\n @Input() status: ChargingStationStatus\n @Input() isCaptioned: boolean = true\n @Input() profile: ChargingPowerProfile\n @Input() isShowingProfile: boolean = true\n\n constructor( ) { }\n\n ngOnInit(): void {\n this.setToolTip()\n }\n ngOnChanges(): void {\n this.setToolTip()\n }\n\n setToolTip(): void {\n this.tooltip = ChargingStationsService.mapStatusTooltip(this.status?.id)\n }\n}\n","\n\n \n • • •\n \n\n {{status?.name}}\n\n \n \n\n","
\n
\n \n
\n
\n
\n \n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { MessageService } from '@services/message/message.service';\n\n@Component({\n selector: 'app-message',\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.scss']\n})\nexport class MessageComponent implements OnInit {\n\n @Input() service: MessageService;\n\n constructor() { }\n\n ngOnInit(): void {\n this.service.clearErrors();\n this.service.clearSuccess();\n }\n\n}\n","\n","import { Component, ElementRef, Injector, Input, OnInit } from '@angular/core';\nimport { FilesService } from '@services/files/files.service';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-svg',\n templateUrl: './svg.component.html',\n styleUrls: ['./svg.component.scss'],\n})\nexport class SVGComponent implements OnInit {\n \n public className: string;\n\n public svg: any\n public size: number\n\n @Input() source: string\n @Input() height: number\n @Input() width: number\n\n constructor(\n private filesService: FilesService,\n private sanitizer: DomSanitizer\n ) {\n }\n\n ngOnInit(): void {\n if (this.width >= 0) {\n this.size = this.width;\n } else {\n this.size = this.height;\n }\n this.filesService.getSVG(this.source).subscribe(result => {\n result = result.replace(\"width=\\\"24\\\"\", \"width=\\\"\" + this.size + \"\\\"\");\n result = result.replace(\"height=\\\"24\\\"\", \"height=\\\"\" + this.size+\"\\\"\");\n this.svg = this.sanitizer.bypassSecurityTrustHtml(result)\n\n }, error => {})\n }\n}\n","import { Component, Input, ViewChild, OnInit, Output, EventEmitter } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { TableFilter } from '@models/tableFilter';\nimport { NgbDate, NgbDatepicker, NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-table-filter',\n templateUrl: './table-filter.component.html',\n styleUrls: ['./table-filter.component.scss'],\n})\nexport class TableFilterComponent implements OnInit { \n @Input() defaultFilter: TableFilter; // default values comming from html\n @Output() setFilterEvent = new EventEmitter();\n\n public filter: TableFilter = new TableFilter(); //used for conditions in SQL-Statement\n public filterOptions: any = {};\n\n public hoveredDate: NgbDate;\n public fromDate: NgbDate;\n public toDate: NgbDate;\n\n public mobileView: boolean = false;\n\n @ViewChild('filterOptionsDrop') filterOptionsDrop: NgbDropdown;\n @ViewChild('dp') datePicker: NgbDatepicker;\n\n constructor(public formService: FormService){}\n\n ngOnInit(): void {\n window.screen.width >= 574 ? this.mobileView = false : this.mobileView = true;\n this.createForm()\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n filterForNumberOfEntries: new UntypedFormControl(),\n numberOfEntries: new UntypedFormControl(),\n filterForTimeSpan: new UntypedFormControl(),\n timeSpan: new UntypedFormControl(),\n filterSignalWeek: new UntypedFormControl(),\n filterDLM: new UntypedFormControl()\n });\n\n this.setDefaultValues()\n this.formService.formCreated = true\n }\n\n setDefaultValues() {\n var fromDate: NgbDate;\n var toDate: NgbDate;\n this.formService.form.get('filterDLM').setValue(true);\n this.formService.form.get('filterSignalWeek').setValue(true);\n\n\n if(this.defaultFilter.entries != null) \n {\n this.formService.form.get('filterForNumberOfEntries').setValue(true)\n this.formService.form.get('numberOfEntries').setValue(this.defaultFilter.entries)\n }\n else \n {\n this.formService.form.get('filterForNumberOfEntries').setValue(false)\n this.formService.form.get('numberOfEntries').setValue(1000)\n this.formService.form.get('numberOfEntries').disable()\n }\n\n if(this.defaultFilter.fromDate != null && this.defaultFilter.toDate != null)\n {\n var fromDateArray = this.defaultFilter.fromDate.split('-')\n fromDate = new NgbDate(parseInt(fromDateArray[0]), parseInt(fromDateArray[1]), parseInt(fromDateArray[2]))\n\n var toDateArray = this.defaultFilter.toDate.split('-')\n toDate = new NgbDate(parseInt(toDateArray[0]), parseInt(toDateArray[1]), parseInt(toDateArray[2]))\n\n this.formService.form.get('filterForTimeSpan').setValue(false)\n this.formService.form.get('timeSpan').setValue(this.formatTimeSpan(fromDate, toDate))\n }\n else\n {\n let today = new Date()\n let thirtyDaysAgo = new Date(today.getTime() - 2592000000)\n toDate = new NgbDate(today.getFullYear(), today.getMonth()+1, today.getDate())\n fromDate = new NgbDate(thirtyDaysAgo.getFullYear(), thirtyDaysAgo.getMonth()+1, thirtyDaysAgo.getDate())\n \n this.formService.form.get('filterForTimeSpan').setValue(true)\n this.formService.form.get('timeSpan').setValue(this.formatTimeSpan(fromDate, toDate))\n }\n\n this.setupFilter()\n }\n\n setupFilter() {\n this.filter.entries = this.formService.form.get('filterForNumberOfEntries').value ? this.formService.form.get('numberOfEntries').value : null;\n\n if(this.formService.form.get('filterForTimeSpan').value) {\n var dates = this.formService.form.get('timeSpan').value.split(' - ');\n \n if(this.parseDate(dates[0]) <= this.parseDate(dates[1])) {\n var dateFrom = dates[0].split('.');\n var dateTo = dates[1].split('.');\n } else {\n var dateFrom = dates[1].split('.');\n var dateTo = dates[0].split('.'); \n }\n\n this.filter.fromDate = dateFrom[2] +'-'+ dateFrom[1] +'-'+ dateFrom [0] +' 00:00:00.0000000'\n this.filter.toDate = dateTo[2] +'-'+ dateTo[1] +'-'+ dateTo [0] +' 23:59:59.9999999'\n } else {\n this.filter.fromDate = null;\n this.filter.toDate = null;\n }\n\n this.filter.showDLM = this.formService.form.get('filterDLM').value;\n this.filter.showSignal = this.formService.form.get('filterSignalWeek').value;\n this.updateTable()\n }\n \n parseDate(date) {\n date = date.split('.');\n return new Date(date[2], date[1]-1, date[0]);\n }\n\n updateFilter() { // enables/disables filteroptions wether their Checkboxes are checked or not\n this.formService.form.get('filterForNumberOfEntries').value ? this.formService.form.get('numberOfEntries').enable() : this.formService.form.get('numberOfEntries').disable()\n this.formService.form.get('filterForTimeSpan').value ? this.formService.form.get('timeSpan').enable() : this.formService.form.get('timeSpan').disable()\n this.formService.form.get('filterForTimeSpan').value ? document.getElementById('filterTimeSpanDropdown').removeAttribute('disabled') : document.getElementById('filterTimeSpanDropdown').setAttribute('disabled', 'true')\n }\n\n applyFilters() {\n this.setupFilter()\n this.filterOptionsDrop.close()\n }\n\n updateTable() {\n this.setFilterEvent.emit(this.filter);\n }\n\n\n // Functions for Datepicker:\n onInputChange(event) {\n this.changeFromToDate(event);\n }\n\n changeFromToDate(event) {\n this.filterOptions.fromDate = null;\n this.filterOptions.toDate = null;\n\n var fromToSplit = event.target.value.split(\" - \");\n var fromParts = fromToSplit[0].split(\".\");\n var toParts = fromToSplit[1].split(\".\");\n\n var FromDay = Number(fromParts[0]);\n var FromMonth = Number(fromParts[1]);\n var FromYear = Number(fromParts[2]);\n\n this.filterOptions.fromDate = new NgbDate(FromYear, FromMonth, FromDay);\n\n var ToDay = Number(toParts[0]);\n var ToMonth = Number(toParts[1]);\n var ToYear = Number(toParts[2]);\n\n this.filterOptions.toDate = new NgbDate(ToYear, ToMonth, ToDay);\n\n this.formService.form.get(\"timeSpan\").setValue(this.formatTimeSpan(this.filterOptions.fromDate, this.filterOptions.toDate));\n }\n\n isHovered(date: NgbDate) {\n return this.filterOptions.fromDate && !this.filterOptions.toDate && this.filterOptions.hoveredDate && (date.after(this.filterOptions.fromDate) && date.before(this.filterOptions.hoveredDate) || date.after(this.filterOptions.hoveredDate) && date.before(this.filterOptions.fromDate));\n }\n\n isInside(date: NgbDate) {\n return date.after(this.filterOptions.fromDate) && date.before(this.filterOptions.toDate);\n }\n\n isRange(date: NgbDate) {\n return date.equals(this.filterOptions.fromDate) || date.equals(this.filterOptions.toDate) || this.isInside(date) || this.isHovered(date);\n }\n\n formatTimeSpan(fromDate: NgbDate, toDate: NgbDate) {\n return (fromDate ? '' + ('00' + fromDate.day).slice(-2) + \".\" + ('00' + fromDate.month).slice(-2) + \".\" + fromDate.year : \"\")\n + \" - \" +\n (toDate ? '' + ('00' + toDate.day).slice(-2) + \".\" + ('00' + toDate.month).slice(-2) + \".\" + toDate.year : \"\")\n }\n\n onDateSelection(date: NgbDate, drop: any) {\n this.onDateSelectionOwn(date, drop);\n }\n\n onDateSelectionOwn(date: NgbDate, drop: NgbDropdown) {\n if (!this.filterOptions.fromDate && !this.filterOptions.toDate) {\n this.filterOptions.fromDate = date;\n } else if (this.filterOptions.fromDate && !this.filterOptions.toDate) {\n if (date.after(this.filterOptions.fromDate)) {\n this.filterOptions.toDate = date;\n }\n else if (date.before(this.filterOptions.fromDate)) {\n this.filterOptions.toDate = this.filterOptions.fromDate;\n this.filterOptions.fromDate = date;\n }\n else if (date.equals(this.filterOptions.fromDate)) {\n this.filterOptions.toDate = date;\n }\n drop.close();\n } else {\n this.filterOptions.toDate = null;\n this.filterOptions.fromDate = date;\n }\n\n this.formService.form.get(\"timeSpan\").setValue(this.formatTimeSpan(this.filterOptions.fromDate, this.filterOptions.toDate));\n\n if (this.filterOptions.fromDate && this.filterOptions.toDate) {\n }\n }\n}\n","
\n \n\n
\n
\n
\n \n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n \n
\n
\n
\n\n\n \n {{ date.day }}\n \n","import { Component, EventEmitter, Inject, Injector, Input, OnDestroy, OnInit, Output, QueryList, TemplateRef, ViewChild, ViewChildren } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { IEntity } from '@interfaces/entity';\nimport { EntityService } from '@services/entity/entity.service';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { FilesService } from '@services/files/files.service';\n\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/sortable.directive';\nimport { TableColumnOptions } from '@models/tableColumnOptions';\nimport { TableOptions } from '@models/tableOptions';\nimport { Table } from '@models/table';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'app-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n})\nexport class TableComponent implements OnInit, OnDestroy {\n\n public routerSubscription: Subscription;\n\n @Inject(Router)\n public router: Router;\n\n @Inject(ActivatedRoute)\n public activatedRoute: ActivatedRoute;\n\n public entities$: Observable;\n\n @Input() set table(table: Table) {\n this.tableFunctions = table.tableFunctions;\n this.tableFunctions.matches = table.matchFunction;\n\n this.entityService = table.entityService;\n this.tableColumns = table.tableColumns;\n this.tableOptions = table.tableOptions;\n this.actionsTemplate = table.actionsTemplate;\n\n this.initializeData(table.tableData);\n }\n\n @Output() sorted = new EventEmitter();\n\n entityService: EntityService;\n tableColumns: TableColumn[];\n tableOptions: TableOptions;\n actionsTemplate: TemplateRef;\n\n public tableFunctions: TableFunctionsService;\n\n public isAnyCheckBoxClicked: boolean;\n public isCheckboxAllClicked: boolean = false;\n public fileExists: boolean;\n\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList;\n\n @ViewChild('defaultColumnTemplate') defaultColumnTemplate: TemplateRef;\n @ViewChild('linkColumnTemplate') linkColumnTemplate: TemplateRef;\n @ViewChild('htmlColumnTemplate') htmlColumnTemplate: TemplateRef;\n\n constructor(injector: Injector, private filesService: FilesService) {\n this.tableFunctions = injector.get(TableFunctionsService);\n this.router = injector.get(Router);\n this.activatedRoute = injector.get(ActivatedRoute);\n }\n\n ngOnInit(): void {\n }\n\n ngOnDestroy(): void {\n }\n\n initializeData(data: any) {\n if (this.tableOptions?.showNumbering) {\n var data = this.addNumbering(data);\n }\n\n this.tableFunctions.entities = data;\n this.tableFunctions.setupFilter();\n\n this.entities$ = this.tableFunctions.entities$;\n }\n\n addNumbering(data: any) {\n for (var i = 0; i < data.length; i++) {\n data[i].index = i + 1;\n }\n return data;\n }\n\n checkIfFileExists(entity: any) {\n var fileName = 'signedMeterValues/' + entity.id + '-signedMeterValue.xml';\n\n this.filesService.fileExists(fileName).subscribe(result => {\n this.fileExists = result;\n })\n }\n\n getModelPicture(entity: any) {\n let image = 'background-image:none;';\n if (entity.model?.pictureUri != null) {\n image = 'background-image:url(' + this.resolveProperty(entity, 'model.pictureUri', null) + ');';\n }\n return image;\n }\n\n getClasses(entity: any) {\n let classes = ''\n if (this.tableOptions?.rowRouterLink) {\n classes += 'linkTableRow'\n }\n if (this.resolveProperty(entity, 'manufacturer.name', null) != null) {\n classes += ' manufacturer-' + this.resolveProperty(entity, 'manufacturer.name', null).toLowerCase()\n }\n if (this.resolveProperty(entity, 'MeterStart', null) != null) {\n this.checkIfFileExists(entity);\n if (this.fileExists) {\n classes += ' signed '\n }\n }\n return classes\n }\n\n resolveProperty(entity: IEntity, property: string, options: TableColumnOptions) {\n if (options) {\n return this.tableFunctions.resolveProperty(entity, property, options);\n } else {\n return this.tableFunctions.resolveProperty(entity, property);\n }\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column) {\n header.direction = '';\n }\n });\n\n this.tableFunctions.sortColumn = column;\n this.tableFunctions.sortDirection = direction;\n this.sorted.emit(column);\n this.tableFunctions.page = 1;\n }\n\n determineHeaderSortClass(columnProperty: string) {\n var sortClass = \"align-middle sortable pe-4\";\n if (columnProperty == this.tableFunctions.sortColumn) {\n return sortClass + \" \" + this.tableFunctions.sortDirection;\n }\n return sortClass;\n }\n\n checkboxClicked(entity) {\n if (this.checkIfSelected(entity)) {\n const index = this.tableFunctions.selectedEntities.findIndex(x => x.getPrimaryKey() == entity.getPrimaryKey());\n this.tableFunctions.selectedEntities.splice(index, 1);\n if (this.tableFunctions.selectedEntities.length >= 1) {\n this.isAnyCheckBoxClicked = true;\n\n } else {\n this.isAnyCheckBoxClicked = false;\n }\n }\n else {\n this.tableFunctions.selectedEntities.push(entity);\n }\n this.checkIfAllSelected();\n }\n\n checkboxAllClicked(checked: boolean) {\n this.tableFunctions.entities$.pipe(take(1)).subscribe(currentEntities => {\n if (checked) {\n this.isCheckboxAllClicked = true;\n this.tableFunctions.selectedEntities = [];\n currentEntities.forEach(e => {\n this.tableFunctions.selectedEntities.push(e);\n })\n } else {\n this.isCheckboxAllClicked = false;\n this.tableFunctions.selectedEntities = [];\n this.isAnyCheckBoxClicked = false;\n }\n this.checkIfAllSelected();\n })\n }\n\n checkIfSelected(entity) {\n this.checkIfAllSelected();\n if (this.tableFunctions.selectedEntities.includes(entity)) {\n return true;\n }\n return false;\n }\n\n checkIfAllSelected() {\n this.tableFunctions.entities$.pipe(take(1)).subscribe(currentEntities => {\n if (this.tableFunctions.selectedEntities.length < currentEntities.length) {\n this.isCheckboxAllClicked = false;\n } else {\n this.isCheckboxAllClicked = true;\n }\n })\n }\n\n determineRouterLink(routerLink: string, entity) {\n var propertyToReplaceRegex = /{([^}]+)}/g;\n var propertyToReplaceMatch = routerLink.match(propertyToReplaceRegex);\n var propertyToReplace = propertyToReplaceMatch[0].replace(/[{}]/g, '');\n var replaceRegex = propertyToReplaceMatch[0];\n\n return routerLink.replace(replaceRegex, entity[propertyToReplace]);\n }\n}\n","\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n\n\n\n \n\n\n\n \n \n \n\n\n\n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n\n\n\n
\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n 0; else noRecords\">\n \n \n \n\n \n \n\n \n \n\n \n \n \n \n \n
\n
\n \n \n
\n Pos.\n \n {{ column.columnDescription }}\n Optionen
\n \n
\n
\n \n \n
\n {{ entity.index }}\n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n
\n
\n
\n\n\n \n \n \n \n \n\n \n \n\n \n
\n Keine Einträge vorhanden.\n \n \n \n
\n
\n","
\n \n \n {{ toast.content }}\n \n\n \n \n \n\n \n \n \n\n \n \n \n \n
\n\n
\n \n \n {{ toast.content }}\n \n\n \n \n \n\n \n \n \n\n \n \n \n \n
\n","import { Component } from '@angular/core';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { FilesService } from '@services/files/files.service';\nimport { ToastService } from '@services/toast/toast.service';\n\n@Component({\n selector: 'app-toasts',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss']\n})\nexport class ToastsComponent {\n public notifications: any = {}\n public timeout = 3000;\n\n constructor(\n public toastService: ToastService,\n public filesService: FilesService,\n private authenticationService: AuthenticationService\n ) {\n this.authenticationService.authChanged$.subscribe(result => {\n if (result) {\n window.setTimeout(() => {\n this.loadNotifications()\n }, this.timeout)\n }\n })\n }\n\n async loadNotifications() {\n this.notifications = await this.filesService.getNotifications()\n\n if (!this.notifications) return;\n\n const today = new Date().getTime();\n \n for (const notificaton of this.notifications) {\n const from = new Date(notificaton.from).getTime()\n const to = new Date(notificaton.to).getTime()\n\n if (from <= today && to >= today) {\n const id = this.getToastId(notificaton.message);\n let isHidden = localStorage.getItem(`notification_${id}`) == 'hide';\n if (isHidden) return;\n\n this.toastService.clear('all');\n this.toastService.note(notificaton.message, false, 'bottomright')\n }\n }\n }\n\n clear(position: string = 'topcenter') {\n this.toastService.clear(position);\n // this.toastService.askToHidePrevious(\"Nicht mehr anzeigen?\");\n }\n\n hidePrevious() {\n const content = this.toastService.history[this.toastService.history.length - 2];\n const id = this.getToastId(content);\n localStorage.setItem(`notification_${id}`, 'hide');\n this.toastService.clear();\n }\n\n getToastId(content) {\n return content.trim().toLowerCase().replace(/ /g, '').substring(0, 24);\n }\n}","import { Component, ComponentFactoryResolver, ElementRef, Injector, OnInit } from '@angular/core';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { UserDto } from '@dto/userDto';\nimport { UsersService } from '@services/entity/users.service';\n\n@Component({\n selector: 'upvoty-widget',\n templateUrl: './upvoty.component.html',\n styleUrls: ['./upvoty.component.scss'],\n})\nexport class UpvotyComponent extends ComponentBase implements OnInit {\n\n public className: string\n public isVisible: boolean = true\n private widget: any\n private user: UserDto\n private token: string\n private timeout: any\n private timer: number = 0\n\n constructor(\n private elementRef: ElementRef,\n private usersService: UsersService,\n injector: Injector\n ) {\n super(injector)\n }\n\n public ngOnInit(): void {\n if (document.cookie.includes('cookie_consent=all_cookies')) {\n window.onload = () => {\n var script = document.createElement(\"script\")\n script.type = \"text/javascript\"\n script.src = 'https://cubosconnect.upvoty.com/javascript/upvoty.embed.js'\n \n this.elementRef.nativeElement.appendChild(script)\n this.widget = this.elementRef.nativeElement.children[0]\n \n this.initWidget()\n }\n }\n }\n \n initWidget() {\n if (window['upvoty'] === undefined && this.timer < 5) {\n this.timeout = window.setTimeout(() => {\n this.timer++\n this.initWidget()\n }, 5000)\n } else {\n this.createWidget()\n }\n }\n\n checkVisibilityForRoute() {\n const path = window.location.pathname\n if (\n path.includes('/public-charge')\n || path.includes('/auth')\n ) {\n return false\n }\n return true\n }\n\n createWidget() {\n this.isVisible = this.checkVisibilityForRoute()\n\n if (!this.isVisible) return\n if (!this.authenticationService.isUserAuthenticated()) return\n\n this.usersService.getLoggedInUser().subscribe(user => {\n this.user = user\n this.usersService.getUpvotyToken(\n 'cedb7f13f3d09a3b9316c8c12e140859',\n this.user.id,\n this.user.fullName,\n this.user.email\n ).subscribe(jwt => {\n this.token = jwt.token\n if (window['upvoty']) {\n window['upvoty'].init('render', {\n 'boardHash': 'ef8e31bf360f38e1a4b8b4973f2e4c972f1477b572ba89ead4534c41bb5c9aac',\n 'ssoToken': this.token,\n 'baseUrl': 'cubosconnect.upvoty.com'\n })\n this.fixFrameHeight()\n } else {\n this.isVisible = false\n }\n }, error => {\n this.isVisible = false\n })\n }, error => {\n this.isVisible = false\n })\n }\n\n toggleAppearance(button) {\n if (button) button.blur()\n\n this.widget.scrollTo(0, this.widget.offsetHeight)\n this.widget.classList.toggle('show')\n }\n\n fixFrameHeight() {\n window.setTimeout(() => {\n this.widget.classList.toggle('show')\n window.setTimeout(() => {\n this.widget.removeAttribute('style')\n }, 500)\n }, 1000)\n }\n}\n","
\n \n
","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { DOCUMENT } from '@angular/common';\nimport { Component, Inject, Injector, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { RfidCardsService } from '@services/entity/rfidCards.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\n\n@Component({\n selector: 'app-agb',\n templateUrl: './agb.component.html',\n styleUrls: ['./agb.component.scss']\n})\nexport class AGBComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'AGBComponent';\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(\n public activeModal: NgbActiveModal,\n private rfidCardService: RfidCardsService,\n private usersService: UsersService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n createForm() {\n\n }\n\n onSubmit(formValue) {\n }\n}\n","
\n AGB\n \n
\n
\n\n
\n
\n
\n","import { InjectionToken, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { RegisterUserComponent } from './register-user/register-user.component';\nimport { LoginComponent } from './login/login.component';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\nimport { EmailConfirmationComponent } from './email-confirmation/email-confirmation.component';\nimport { ForgotPasswordSuccessComponent } from './forgot-password-success/forgot-password-success.component';\nimport { RegisterUserSuccessWithInviteComponent } from './register-user-success-with-invite/register-user-success-with-invite.component';\nimport { EmailChangeConfirmationComponent } from './email-change-confirmation/email-change-confirmation.component';\nimport { AGBComponent } from './agb/agb.component';\nimport { RegisterUserSuccessComponent } from './register-user-success/register-user-success.component';\nimport { UsedTokenFeedbackComponent } from './used-token-feedback/used-token-feedback.component';\nimport { WelcomeUserComponent } from './welcome-user/welcome-user.component';\nimport { ClaimAutochargeIdComponent } from './claim-autochargeId/claim-autochargeId.component';\n\n\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'auth', children: [\n {\n path: 'register',\n component: RegisterUserComponent\n },\n {\n path: 'register-success',\n component: RegisterUserSuccessComponent\n },\n {\n path: 'login',\n component: LoginComponent\n },\n {\n path: 'forgotpassword',\n component: ForgotPasswordComponent\n },\n {\n path: 'forgotpasswordsuccess',\n component: ForgotPasswordSuccessComponent\n },\n {\n path: 'resetpassword',\n component: ResetPasswordComponent\n },\n {\n path: 'emailconfirmation',\n component: EmailConfirmationComponent\n },\n {\n path: 'emailChangeConfirm',\n component: EmailChangeConfirmationComponent\n },\n {\n path: 'agb',\n component: AGBComponent\n },\n {\n path: 'used-token-feedback',\n component: UsedTokenFeedbackComponent\n },\n {\n path: 'register-success-with-invite',\n component: RegisterUserSuccessWithInviteComponent\n },\n {\n path: 'welcome/:key',\n component: WelcomeUserComponent\n },\n {\n path: 'claim-autochargeId',\n component: ClaimAutochargeIdComponent\n }\n ]\n },\n ]\n )\n ],\n providers: [\n\n ],\n})\nexport class AuthenticationModule { }\n","import { Component, OnInit } from '@angular/core';\nimport '@angular/localize/init';\nimport { ActivatedRoute } from '@angular/router';\nimport { RfidCardDto } from '@dto/rfidCardDto';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { ClaimRfidCardRequest } from '@dto/claimRfidCardRequest';\n\n@Component({\n selector: 'app-claim-autochargeId',\n templateUrl: './claim-autochargeId.component.html',\n styleUrls: ['./claim-autochargeId.component.scss']\n})\nexport class ClaimAutochargeIdComponent implements OnInit {\n \n public whitelabel: string\n public whitelabelURL: string = 'https://cubosgeneralstorage.blob.core.windows.net/whitelabel-storage/'\n\n private userId: string\n private rfidCardId: number\n private token: string\n\n public rfidCard: RfidCardDto\n\n public isConfirmed: boolean = false;\n public isSuccess: boolean\n\n constructor(\n private route: ActivatedRoute,\n private authService: AuthenticationService\n ) { }\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n ngOnInit(): void {\n this.userId = this.route.snapshot.queryParams['userId'];\n this.rfidCardId = this.route.snapshot.queryParams['rfidCardId'];\n this.token = this.route.snapshot.queryParams['token'];\n this.token = this.token.split(' ').join('+') // Decode the Uri-Parameter\n\n \n \n // this.claimRfidCard();\n }\n \n ngAfterViewInit() {\n this.whitelabel = localStorage.getItem('whitelabel');\n }\n\n claimRfidCard() {\n const request: ClaimRfidCardRequest = {\n rfidCardId: this.rfidCardId,\n userId: this.userId,\n token: this.token\n }\n this.authService.claimRfidCard(request).subscribe(result => {\n this.isSuccess = true;\n this.isConfirmed = true\n }, error => {\n this.isSuccess = false;\n this.isConfirmed = true\n console.error(error);\n })\n }\n}","\n
\n
\n
\n
\n
\n \"\" \n \n
\n

Nur noch ein Klick um Autocharge zu aktivieren!

\n
\n\n
\n

Sie haben Autocharge für Ihr Fahrzeug aktiviert!

\n
\n
\n \n \n
\n
\n
\n
\n
\n\n
\n

Der Link ist abgelaufen!

\n
\n \n \n \n \n
\n \n Um dennoch Autocharge für Ihr Fahrzeug zu aktivieren, kontaktieren Sie bitte die Verwaltung der Ladeinfrastruktur.\n Die dafür benötigte Fahrzeug-ID finden Sie oben rechts in Ihrer E-Mail.\n \n
\n\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n
\n
\n
\n
\n\n\n\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RfidCardsService } from '@services/entity/rfidCards.service';\nimport { UsersService } from '@services/entity/users.service';\n\n@Component({\n selector: 'app-datasecurity',\n templateUrl: './datasecurity.component.html',\n styleUrls: ['./datasecurity.component.scss']\n})\nexport class DatasecurityComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DatasecurityComponent';\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(\n public activeModal: NgbActiveModal,\n private rfidCardService: RfidCardsService,\n private usersService: UsersService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n createForm() {\n\n }\n\n onSubmit(formValue) {\n }\n}\n","
\n
Datenschutzerklärung
\n \n
\n
\n
\n

VERANTWORTLICHER

\n

\n Verantwortlicher im Sinne der Datenschutzgesetze, insbesondere der EU-Datenschutzgrundverordnung (DSGVO), ist:
\n
\n CUBOS Service GmbH
\n Brand­gehaege 16
\n 38444 Wolfsburg
\n Telefon: +49 (0)53 08 – 52 11 22 55
\n E-Mail: info@cubos.com\n

\n

\n Geschäfts­führer: Dipl.-Oec. Marc Wille
\n Prokura: Uta Weinert-Göbel
\n Regis­ter­ge­richt: Amtsge­richt Braun­schweig
\n Regis­ter­nummer: HRB 207126
\n Umsatz­steuer-Identi­fi­ka­ti­ons­nummer: DE 317053026\n

\n

 

\n

Ihre Betroffenenrechte

\n

\n Unter den angegebenen Kontaktdaten unseres Datenschutzbeauftragten können Sie jederzeit folgende Rechte ausüben:
\n
\n -Auskunft über Ihre bei uns gespeicherten Daten und deren Verarbeitung (Art. 15 DSGVO),
\n -Berichtigung unrichtiger personenbezogener Daten (Art. 16 DSGVO),
\n -Löschung Ihrer bei uns gespeicherten Daten (Art. 17 DSGVO),
\n -Einschränkung der Datenverarbeitung, sofern wir Ihre Daten aufgrund gesetzlicher Pflichten noch nicht löschen dürfen (Art. 18 DSGVO),
\n -Widerspruch gegen die Verarbeitung Ihrer Daten bei uns (Art. 21 DSGVO) und
\n -Datenübertragbarkeit, sofern Sie in die Datenverarbeitung eingewilligt haben oder einen Vertrag mit uns abgeschlossen haben (Art. 20 DSGVO).
\n
\n Sofern Sie uns eine Einwilligung erteilt haben, können Sie diese jederzeit mit Wirkung für die Zukunft widerrufen.
\n
\n Sie können sich jederzeit mit einer Beschwerde an eine Aufsichtsbehörde wenden, z. B. an die zuständige Aufsichtsbehörde des Bundeslands Ihres Wohnsitzes oder an die für uns als verantwortliche Stelle zuständige Behörde.
\n
\n Eine Liste der Aufsichtsbehörden (für den nichtöffentlichen Bereich) mit Anschrift finden Sie unter: https://www.bfdi.bund.de/DE/Service/Anschriften/Laender/Laender-node.html
\n

\n

 

\n

Erfassung allgemeiner Informationen beim Besuch unserer Website

\n

 

\n

Art und Zweck der Verarbeitung:

\n

\n Wenn Sie auf unsere Website zugreifen, d.h., wenn Sie sich nicht registrieren oder anderweitig Informationen übermitteln, werden automatisch Informationen allgemeiner Natur erfasst. Diese Informationen (Server-Logfiles) beinhalten etwa die Art des Webbrowsers, das verwendete Betriebssystem, den Domainnamen Ihres Internet-Service-Providers, Ihre IP-Adresse und ähnliches.
\n
\n Sie werden insbesondere zu folgenden Zwecken verarbeitet:
\n
\n -Sicherstellung eines problemlosen Verbindungsaufbaus der Website,
\n -Sicherstellung einer reibungslosen Nutzung unserer Website,
\n -Auswertung der Systemsicherheit und -stabilität sowie
\n -zur Optimierung unserer Website.
\n
\n Wir verwenden Ihre Daten nicht, um Rückschlüsse auf Ihre Person zu ziehen. Informationen dieser Art werden von uns ggfs. anonymisiert statistisch ausgewertet, um unseren Internetauftritt und die dahinterstehende Technik zu optimieren.
\n

\n

Rechtsgrundlage und berechtigtes Interesse:

\n

\n Die Verarbeitung erfolgt gemäß Art. 6 Abs. 1 lit. f DSGVO auf Basis unseres berechtigten Interesses an der Verbesserung der Stabilität und Funktionalität unserer Website.\n

\n

Empfänger:

\n

\n Empfänger der Daten sind ggf. technische Dienstleister, die für den Betrieb und die Wartung unserer Webseite als Auftragsverarbeiter tätig werden.\n

\n

Speicherdauer:

\n

\n Die Daten werden gelöscht, sobald diese für den Zweck der Erhebung nicht mehr erforderlich sind. Dies ist für die Daten, die der Bereitstellung der Website dienen, grundsätzlich der Fall, wenn die jeweilige Sitzung beendet ist.
\n
\n Im Falle der Speicherung der Daten in Logfiles ist dies nach spätestens 14 Tagen der Fall. Eine darüberhinausgehende Speicherung ist möglich. In diesem Fall werden die IP-Adressen der Nutzer anonymisiert, sodass eine Zuordnung des aufrufenden Clients nicht mehr möglich ist.
\n

\n

Bereitstellung vorgeschrieben oder erforderlich:

\n

\n Die Bereitstellung der vorgenannten personenbezogenen Daten ist weder gesetzlich noch vertraglich vorgeschrieben. Ohne die IP-Adresse ist jedoch der Dienst und die Funktionsfähigkeit unserer Website nicht gewährleistet. Zudem können einzelne Dienste und Services nicht verfügbar oder eingeschränkt sein. Aus diesem Grund ist ein Widerspruch ausgeschlossen.\n

\n

Drittlandtransfer:

\n

\n Die erhobenen Daten werden ggfs. in folgende Drittländer übertragen:
\n
\n Anbieter: Microsoft, Hostname: cubos-connect.azurewebsites.net, Name: ARRAffinity, Cookie-Kategorie: technisch erforderliches Cookie, Funktion: Wird von Webseiten gesetzt, die auf der Microsoft Azure-Cloud-Plattform laufen. Es wird für den Auslastungsausgleich verwendet, um sicherzustellen, dass die Seitenanfragen der Besucher in jeder Browser-Sitzung an denselben Server geleitet werden, Dauer: Schließen des Browsers.
\n
\n Folgende Datenschutzgarantien liegen vor:\n

\n

 

\n

Registrierung auf unserer Website

\n

 

\n

Art und Zweck der Verarbeitung:

\n

\n Für die Registrierung auf unserer Website benötigen wir einige personenbezogene Daten, die über eine Eingabemaske an uns übermittelt werden.
\n
\n Zum Zeitpunkt der Registrierung werden zusätzlich folgende Daten erhoben:
\n
\n IP- Adresse\n
\n Ihre Registrierung ist für das Bereithalten bestimmter Inhalte und Leistungen auf unserer Website erforderlich.
\n

\n

Rechtsgrundlage und berechtigtes Interesse:

\n

\n Die Verarbeitung der bei der Registrierung eingegebenen Daten erfolgt auf Grundlage einer Einwilligung des Nutzers (Art. 6 Abs. 1 lit. a DSGVO).\n

\n

Empfänger:

\n

\n Empfänger der Daten sind ggf. technische Dienstleister, die für den Betrieb und die Wartung unserer Website als Auftragsverarbeiter tätig werden.\n

\n

Speicherdauer:

\n

\n Daten werden in diesem Zusammenhang nur verarbeitet, solange die entsprechende Einwilligung vorliegt.\n

\n

Bereitstellung vorgeschrieben oder erforderlich:

\n

\n Die Bereitstellung Ihrer personenbezogenen Daten erfolgt freiwillig, allein auf Basis Ihrer Einwilligung. Ohne die Bereitstellung Ihrer personenbezogenen Daten können wir Ihnen keinen Zugang auf unsere angebotenen Inhalte gewähren.\n

\n

 

\n

Erbringung kostenpflichtiger Leistungen

\n

 

\n

Art und Zweck der Verarbeitung:

\n

\n Zur Erbringung kostenpflichtiger Leistungen werden von uns zusätzliche Daten erfragt, wie z.B. Zahlungsangaben, um Ihre Bestellung ausführen zu können.\n

\n

Rechtsgrundlage und berechtigtes Interesse:

\n

\n Die Verarbeitung der Daten, die für den Abschluss des Vertrages erforderlich ist, basiert auf Art. 6 Abs. 1 lit. b DSGVO.\n

\n

Empfänger:

\n

\n Empfänger der Daten sind ggf. Auftragsverarbeiter.\n

\n

Speicherdauer:

\n

\n Wir speichern diese Daten in unseren Systemen bis die gesetzlichen Aufbewahrungsfristen abgelaufen sind. Diese betragen grundsätzlich 6 oder 10 Jahre aus Gründen der ordnungsmäßigen Buchführung und steuerrechtlichen Anforderungen.\n

\n

Bereitstellung vorgeschrieben oder erforderlich:

\n

\n Die Bereitstellung Ihrer personenbezogenen Daten erfolgt freiwillig. Ohne die Bereitstellung Ihrer personenbezogenen Daten können wir Ihnen keinen Zugang auf unsere angebotenen Inhalte und Leistungen gewähren.\n

\n

 

\n

Newsletter

\n

 

\n

Art und Zweck der Verarbeitung:

\n

\n Für die Zustellung unseres Newsletters erheben wir personenbezogene Daten, die über eine Eingabemaske an uns übermittelt werden.
\n
\n Für eine wirksame Registrierung benötigen wir eine valide E-Mail-Adresse. Um zu überprüfen, dass eine Anmeldung tatsächlich durch den Inhaber einer E-Mail-Adresse erfolgt, setzen wir das „Double-Opt-in“-Verfahren ein. Hierzu protokollieren wir die Anmeldung zum Newsletter, den Versand einer Bestätigungsmail und den Eingang der hiermit angeforderten Antwort. Weitere Daten werden nicht erhoben.
\n

\n

Rechtsgrundlage und berechtigtes Interesse:

\n

\n Auf Grundlage Ihrer ausdrücklich erteilten Einwilligung (Art. 6 Abs. 1 lit. a DSGVO), übersenden wir Ihnen regelmäßig unseren Newsletter bzw. vergleichbare Informationen per E-Mail an Ihre angegebene E-Mail-Adresse.
\n
\n Die Einwilligung zur Speicherung Ihrer persönlichen Daten und ihrer Nutzung für den Newsletterversand können Sie jederzeit mit Wirkung für die Zukunft widerrufen. In jedem Newsletter findet sich dazu ein entsprechender Link. Außerdem können Sie sich jederzeit auch direkt auf dieser Website abmelden oder uns Ihren Widerruf über die am Ende dieser Datenschutzhinweise angegebene Kontaktmöglichkeit mitteilen.
\n

\n

Empfänger:

\n

\n Empfänger der Daten sind ggf. Auftragsverarbeiter.\n

\n

Speicherdauer:

\n

\n Die Daten werden in diesem Zusammenhang nur verarbeitet, solange die entsprechende Einwilligung vorliegt. Danach werden sie gelöscht.\n

\n

Bereitstellung vorgeschrieben oder erforderlich:

\n

\n Die Bereitstellung Ihrer personenbezogenen Daten erfolgt freiwillig, allein auf Basis Ihrer Einwilligung. Ohne bestehende Einwilligung können wir Ihnen unseren Newsletter leider nicht zusenden.\n

\n

Widerruf der Einwilligung:

\n

\n Die Einwilligung zur Speicherung Ihrer persönlichen Daten und ihrer Nutzung für den Newsletterversand können Sie jederzeit mit Wirkung für die Zukunft widerrufen. Die Abmeldung kann über den in jeder E-Mail enthaltenen Link oder beim unten aufgeführten Datenschutzbeauftragten bzw. der für den Datenschutz zuständigen Person beantragt werden.\n

\n

 

\n\n

Kontaktformular

\n

 

\n

Art und Zweck der Verarbeitung:

\n

\n Die von Ihnen eingegebenen Daten werden zum Zweck der individuellen Kommunikation mit Ihnen gespeichert. Hierfür ist die Angabe einer validen E-Mail-Adresse sowie Ihres Namens erforderlich. Diese dient der Zuordnung der Anfrage und der anschließenden Beantwortung derselben. Die Angabe weiterer Daten ist optional.\n

\n

Rechtsgrundlage und berechtigtes Interesse:

\n

\n Die Verarbeitung der in das Kontaktformular eingegebenen Daten erfolgt auf der Grundlage eines berechtigten Interesses (Art. 6 Abs. 1 lit. f DSGVO).\n\n Durch Bereitstellung des Kontaktformulars möchten wir Ihnen eine unkomplizierte Kontaktaufnahme ermöglichen. Ihre gemachten Angaben werden zum Zwecke der Bearbeitung der Anfrage sowie für mögliche Anschlussfragen gespeichert.
\n
\n Sofern Sie mit uns Kontakt aufnehmen, um ein Angebot zu erfragen, erfolgt die Verarbeitung der in das Kontaktformular eingegebenen Daten zur Durchführung vorvertraglicher Maßnahmen (Art. 6 Abs. 1 lit. b DSGVO).
\n

\n

Empfänger:

\n

\n Empfänger der Daten sind ggf. Auftragsverarbeiter.\n

\n

Speicherdauer:

\n

\n Daten werden spätestens 6 Monate nach Bearbeitung der Anfrage gelöscht.
\n
\n Sofern es zu einem Vertragsverhältnis kommt, unterliegen wir den gesetzlichen Aufbewahrungsfristen nach HGB und löschen Ihre Daten nach Ablauf dieser Fristen.\n

\n

Bereitstellung vorgeschrieben oder erforderlich:

\n

\n Die Bereitstellung Ihrer personenbezogenen Daten erfolgt freiwillig. Wir können Ihre Anfrage jedoch nur bearbeiten, sofern Sie uns Ihren Namen, Ihre E-Mail-Adresse und den Grund der Anfrage mitteilen.\n

\n

 

\n

Verwendung von Google Analytics

\n

\n Soweit Sie ihre Einwilligung gegeben haben, wird auf dieser Website Google Analytics eingesetzt, ein Webanalysedienst der Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043 USA (nachfolgend: „Google“). Google Analytics verwendet sog. „Cookies“, also Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Webseite durch Sie ermöglichen. Die durch das Cookie erzeugten Informationen über Ihre Benutzung dieser Webseite werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert. Aufgrund der Aktivierung der IP-Anonymisierung auf diesen Webseiten, wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.
\n\n Nähere Informationen zu Nutzungsbedingungen und Datenschutz finden Sie unter https://www.google.com/analytics/terms/de.html und unter https://policies.google.com/?hl=de.
\n\n Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Webseite auszuwerten, um Reports über die Webseitenaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Webseitenbetreiber zu erbringen.
\n\n Die von uns gesendeten und mit Cookies, Nutzerkennungen (z. B. User-ID) oder Werbe-IDs verknüpften Daten werden nach 14 Monaten automatisch gelöscht. Die Löschung von Daten, deren Aufbewahrungsdauer erreicht ist, erfolgt automatisch einmal im Monat.
\n\n

\n

Widerruf der Einwilligung:

\n

\n Sie können das Tracking durch Google Analytics auf unserer Website unterbinden, indem Sie diesen Link anklicken. Dabei wird ein Opt-out-Cookie auf Ihrem Gerät installiert. Damit wird die Erfassung durch Google Analytics für diese Website und für diesen Browser zukünftig verhindert, solange das Cookie in Ihrem Browser installiert bleibt.
\n\n Sie können darüber hinaus die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können.
\n\n Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Webseite bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: Browser Add On zur Deaktivierung von Google Analytics.
\n

\n

 

\n

Eingebettete YouTube-Videos

\n

\n Auf unserer Website betten wir YouTube-Videos ein. Betreiber der entsprechenden Plugins ist die YouTube, LLC, 901 Cherry Ave., San Bruno, CA 94066, USA (nachfolgend „YouTube“). Die YouTube, LLC ist einer Tochtergesellschaft der Google LLC, 1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA (nachfolgend „Google“). Wenn Sie eine Seite mit dem YouTube-Plugin besuchen, wird eine Verbindung zu Servern von YouTube hergestellt. Dabei wird YouTube mitgeteilt, welche Seiten Sie besuchen. Wenn Sie in Ihrem YouTube-Account eingeloggt sind, kann YouTube Ihr Surfverhalten Ihnen persönlich zuzuordnen. Dies verhindern Sie, indem Sie sich vorher aus Ihrem YouTube-Account ausloggen.
\n\n Wird ein YouTube-Video gestartet, setzt der Anbieter Cookies ein, die Hinweise über das Nutzerverhalten sammeln.
\n\n Weitere Informationen zu Zweck und Umfang der Datenerhebung und ihrer Verarbeitung durch YouTube erhalten Sie in den Datenschutzerklärungen des Anbieters, Dort erhalten Sie auch weitere Informationen zu Ihren diesbezüglichen Rechten und Einstellungsmöglichkeiten zum Schutze Ihrer Privatsphäre (https://policies.google.com/privacy).
\n

\n

Widerruf der Einwilligung:

\n

\n Vom Anbieter wird derzeit keine Möglichkeit für einen einfachen Opt-out oder ein Blockieren der Datenübertragung angeboten. Wenn Sie eine Nachverfolgung Ihrer Aktivitäten auf unserer Website verhindern wollen, widerrufen Sie bitte im Cookie-Consent-Tool Ihre Einwilligung für die entsprechende Cookie-Kategorie oder alle technisch nicht notwendigen Cookies und Datenübertragungen. In diesem Fall können Sie unsere Website jedoch ggfs. nicht oder nur eingeschränkt nutzen.\n

\n

 

\n

Einsatz von Google Remarketing

\n

\n Diese Website verwendet die Remarketing-Funktion der Google Inc. Betreibergesellschaft der Dienste von Google Remarketing ist die Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA (nachfolgend „Google“).
\n\n Die Funktion dient dazu, Websitebesuchern innerhalb des Google-Werbenetzwerks interessenbezogene Werbeanzeigen zu präsentieren. Im Browser des Websitebesuchers wird ein sog. „Cookie“ gespeichert, der es ermöglicht, den Besucher wiederzuerkennen, wenn dieser Webseiten aufruft, die dem Werbenetzwerk von Google angehören. Auf diesen Seiten können dem Besucher Werbeanzeigen präsentiert werden, die sich auf Inhalte beziehen, die der Besucher zuvor auf Webseiten aufgerufen hat, die die Remarketing Funktion von Google verwenden.
\n\n Nähere Informationen über die Datenverarbeitung durch Google können Sie den Google-Datenschutzhinweisen entnehmen: https://policies.google.com/privacy. Dort können Sie im Datenschutzcenter auch Ihre persönlichen Datenschutz-Einstellungen verändern.
\n

\n

Widerruf der Einwilligung:

\n

\n Vom Anbieter wird derzeit keine Möglichkeit für einen einfachen Opt-out oder ein Blockieren der Datenübertragung angeboten. Wenn Sie eine Nachverfolgung Ihrer Aktivitäten auf unserer Website verhindern wollen, widerrufen Sie bitte im Cookie-Consent-Tool Ihre Einwilligung für die entsprechende Cookie-Kategorie oder alle technisch nicht notwendigen Cookies und Datenübertragungen. In diesem Fall können Sie unsere Website jedoch ggfs. nicht oder nur eingeschränkt nutzen.\n

\n

 

\n

SSL-Verschlüsselung

\n

\n Um die Sicherheit Ihrer Daten bei der Übertragung zu schützen, verwenden wir dem aktuellen Stand der Technik entsprechende Verschlüsselungsverfahren (z. B. SSL) über HTTPS.\n

\n

 

\n

Information über Ihr Widerspruchsrecht nach Art. 21 DSGVO

\n

 

\n

Einzelfallbezogenes Widerspruchsrecht

\n

\n Sie haben das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung Sie betreffender personenbezogener Daten, die aufgrund Art. 6 Abs. 1 lit. f DSGVO (Datenverarbeitung auf der Grundlage einer Interessenabwägung) erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmung gestütztes Profiling im Sinne von Art. 4 Nr. 4 DSGVO.
\n\n Legen Sie Widerspruch ein, werden wir Ihre personenbezogenen Daten nicht mehr verarbeiten, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.\n

\n

Empfänger eines Widerspruchs

\n

\n CUBOS Service GmbH
\n Brand­gehaege 16
\n 38444 Wolfsburg
\n
\n E-Mail: info@cubos.com
\n Geschäftsführer/ Inhaber: Dipl.-Oec. Marc Wille
\n Link zum Impressum: www.cubos.com/impressum
\n Kontakt Daten­schutz­be­auf­tragter: datenschutz@cubos.com
\n

\n

 

\n

Änderung unserer Datenschutzbestimmungen

\n

\n Wir behalten uns vor, diese Datenschutzerklärung anzupassen, damit sie stets den aktuellen rechtlichen Anforderungen entspricht oder um Änderungen unserer Leistungen in der Datenschutzerklärung umzusetzen, z.B. bei der Einführung neuer Services. Für Ihren erneuten Besuch gilt dann die neue Datenschutzerklärung.\n

\n

 

\n

Fragen an den Datenschutzbeauftragten

\n

\n Wenn Sie Fragen zum Datenschutz haben, schreiben Sie uns bitte eine E-Mail oder wenden Sie sich direkt an die für den Datenschutz verantwortliche Person in unserer Organisation:
\n
\n CUBOS Service GmbH
\n Brand­gehaege 16
\n 38444 Wolfsburg
\n
\n E-Mail: info@cubos.com\n Geschäftsführer/ Inhaber: Dipl.-Oec. Marc Wille
\n Link zum Impressum: www.cubos.com/impressum
\n Kontakt Daten­schutz­be­auf­tragter: datenschutz@cubos.com
\n

\n
\n
\n\n\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { MessageService } from '@services/message/message.service';\n\n@Component({\n selector: 'app-email-change-confirmation',\n templateUrl: './email-change-confirmation.component.html',\n styleUrls: ['./email-change-confirmation.component.scss']\n})\nexport class EmailChangeConfirmationComponent implements OnInit {\n\n @ViewChild('successMessage') successMessage: TemplateRef;\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(private authenticationService: AuthenticationService, private route: ActivatedRoute, public messageService: MessageService) { }\n\n ngOnInit(): void {\n this.confirmEmail();\n }\n\n confirmEmail() {\n const token = this.route.snapshot.queryParams['token'];\n const email = this.route.snapshot.queryParams['email'];\n const newEmail = this.route.snapshot.queryParams['newEmail'];\n\n this.authenticationService.confirmEmailChange(token, email, newEmail)\n .subscribe(_ => {\n this.messageService.setSuccess(this.successMessage);\n },\n error => {\n this.messageService.setError(error);\n })\n }\n}\n","\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { MessageService } from '@services/message/message.service';\n\n@Component({\n selector: 'app-email-confirmation',\n templateUrl: './email-confirmation.component.html',\n styleUrls: ['./email-confirmation.component.scss']\n})\nexport class EmailConfirmationComponent implements OnInit {\n\n @ViewChild('successMessage') successMessage: TemplateRef;\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(private authenticationService: AuthenticationService, private route: ActivatedRoute, public messageService: MessageService) { }\n\n ngOnInit(): void {\n this.confirmEmail();\n }\n\n confirmEmail() {\n const token = this.route.snapshot.queryParams['token'];\n const email = this.route.snapshot.queryParams['email'];\n\n this.authenticationService.confirmEmail(token, email)\n .subscribe(_ => {\n this.messageService.setSuccess(this.successMessage);\n },\n error => {\n this.messageService.setError(error);\n })\n }\n}\n","\n
\n\n
\n
\n
\n
\n \"\" \n
\n

Ihre E-Mail-Adresse wurde erfolgreich bestätigt.

\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, Inject, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-forgot-password-success',\n templateUrl: './forgot-password-success.component.html',\n styleUrls: ['./forgot-password-success.component.scss']\n})\nexport class ForgotPasswordSuccessComponent {\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor() { }\n}\n","\n
\n\n
\n
\n
\n
\n \"\" \n
\n

Passwort vergessen?

\n

\n Wir haben Ihnen eine E-Mail zugesandt. Bitte klicken Sie auf den darin\n enthaltenden Link um ein neues Passwort vergeben zu können.\n

\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ForgotPasswordRequest } from '@dto/forgotPasswordRequest';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ForgotPasswordSuccessComponent } from '../forgot-password-success/forgot-password-success.component';\nimport { MessageService } from '@services/message/message.service';\nimport '@angular/localize/init';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n public forgotPasswordForm: UntypedFormGroup\n\n private _returnUrl: string;\n \n public whitelabel: string\n public whitelabelURL: string = 'https://cubosgeneralstorage.blob.core.windows.net/whitelabel-storage/'\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(@Inject('BASE_URL') private baseUrl: string,\n private authenticationService: AuthenticationService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n public messageService: MessageService) { }\n\n ngOnInit(): void {\n this.forgotPasswordForm = new UntypedFormGroup({\n email: new UntypedFormControl(\"\", [Validators.required])\n })\n }\n \n ngAfterViewInit() {\n this.whitelabel = localStorage.getItem('whitelabel')\n }\n\n validateControl(controlName: string) {\n return this.forgotPasswordForm.controls[controlName].invalid && this.forgotPasswordForm.controls[controlName].touched\n }\n\n hasError(controlName: string, errorName: string) {\n return this.forgotPasswordForm.controls[controlName].hasError(errorName)\n }\n\n forgotPassword(forgotPasswordFormValue) {\n const forgotPass = { ...forgotPasswordFormValue };\n\n const forgotPasswordRequest: ForgotPasswordRequest = {\n email: forgotPass.email,\n clientURI: this.baseUrl + 'auth/resetpassword' \n }\n\n this.authenticationService.forgotPassword(forgotPasswordRequest)\n .subscribe(result => {\n this.messageService.setSuccess($localize`:@@LinkHasBeenSendMessage:The link has been sent, please check your email to reset your password.`)\n this.router.navigate(['auth/forgotpasswordsuccess']);\n }, error => {\n this.messageService.setError(error);\n this.router.navigate(['auth/forgotpasswordsuccess']);\n })\n }\n\n}\n","\n \n
\n
\n
\n
\n\n \n\n
\n \n \"CUBOS.Connect\"\n \n \n \n \n\n
\n

Passwort vergessen?

\n

\n Kein Problem. Bitte tragen Sie Ihre E-Mail in das Feld ein und fordern Sie ein neues Passwort an.\n

\n
\n
\n
\n\n
\n
\n
\n
\n \n\n \n\n
\n E-Mail wird benötigt\n
\n
\n\n
\n
\n
\n
\n
\n \n \n
\n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AuthRequest } from '@dto/authRequest';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { FormService } from '@services/form/form.service';\nimport { MessageService } from '@services/message/message.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ReleaseNotesDialogComponent } from '../../dialog/release-notes-dialog/release-notes-dialog.component';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { StripeInfo } from '@models/stripeInfo';\nimport { Roles } from '../../../enums/roles.enum';\nimport { isEmpty } from 'rxjs/operators';\nimport { isNullOrUndefined } from 'is-what';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n\n private _returnUrl: string;\n public _message: string;\n\n public currentVersion: string\n public latestVersion: string\n public hideReleaseNotes: boolean\n public deliveryNote: boolean\n\n public whitelabel: string\n public whitelabelURL: string = 'https://cubosgeneralstorage.blob.core.windows.net/whitelabel-storage/'\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private authenticationService: AuthenticationService,\n private stripeInfosService: StripeInfosService,\n public formService: FormService,\n public messageService: MessageService,\n public customersService: CustomersService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private spinner: NgxSpinnerService,\n private dialog: NgbModal\n ) { }\n\n ngOnInit(): void {\n this.formService.form = new UntypedFormGroup({\n username: new UntypedFormControl(\"\", [Validators.required]),\n password: new UntypedFormControl(\"\", [Validators.required])\n })\n\n this._returnUrl = '/';\n this._message = this.activatedRoute.snapshot.queryParams['message'] || '';\n }\n\n ngAfterViewInit() {\n this.whitelabel = localStorage.getItem('whitelabel')\n }\n\n public loginUser(loginFormValue) {\n this.spinner.show();\n this.messageService.clearErrors();\n const login = { ...loginFormValue };\n\n const authRequest: AuthRequest = {\n email: login.username,\n password: login.password,\n //clientURI: this.baseUrl + 'auth/forgotpassword',\n }\n\n this.authenticationService.loginUser(authRequest).subscribe(result => {\n localStorage.setItem(\"accessToken\", result.accessToken);\n localStorage.setItem(\"refreshToken\", result.refreshToken);\n localStorage.setItem(\"userId\", result.userId);\n localStorage.setItem(\"customerId\", result.customerId.toString());\n this.authenticationService.sendAuthStateChangeNotification(result.isAuthSuccessful);\n\n if (this.authenticationService.userHasRole(Roles.Operator)) {\n localStorage.setItem(\"pool-url\", \"\");\n this.customersService.getCustomerByName('CUBOS-Pool').then(pool =>\n localStorage.setItem(\"pool-url\", '/pool/' + pool.id.toString())\n )\n this._returnUrl = '/operator';\n }\n this.router.navigate([this._returnUrl]);\n this.spinner.hide();\n this.checkVersion();\n }, error => {\n console.log(error);\n if (isNullOrUndefined(error)) {\n this.messageService.setError(\"Das hat nicht funktioniert... Bitte prüfen Sie Ihre Internetverbindung.\");\n } else {\n this.messageService.setError(error);\n }\n this.spinner.hide();\n })\n }\n\n checkVersion() {\n this.latestVersion = '2.7.7'\n this.currentVersion = localStorage.getItem('appVersion')\n this.hideReleaseNotes = localStorage.getItem('hideReleaseNotes') === 'true'\n\n if (this.currentVersion == null || this.currentVersion === 'undefined') {\n localStorage.setItem('appVersion', this.latestVersion)\n return;\n }\n\n let cl = this.currentVersion.split('.')\n let lv = this.latestVersion.split('.')\n if (cl[0] >= lv[0]) {\n if (cl[1] >= lv[1]) {\n if (cl[2] >= lv[2]) {\n console.log(`CUBOS.Connect version ${this.currentVersion} is up-to-date.`);\n if (!this.hideReleaseNotes) {\n this.openReleaseNotesDialog()\n }\n } else {\n this.openReleaseNotesDialog()\n }\n } else {\n this.openReleaseNotesDialog()\n }\n } else {\n this.openReleaseNotesDialog()\n }\n }\n\n openReleaseNotesDialog() {\n console.log(`CUBOS.Connect was updated from ${this.currentVersion} to version ${this.latestVersion}.`);\n this.currentVersion = this.latestVersion\n localStorage.setItem('appVersion', this.latestVersion)\n localStorage.setItem('hideReleaseNotes', 'true')\n\n window.setTimeout(() => {\n const dialogRef = this.dialog.open(ReleaseNotesDialogComponent, { centered: true, size: 'xl', backdrop: 'static' });\n }, 2000)\n }\n}\n","\n\n
\n \n
\n
\n
\n
\n \"CUBOS\"
\n Gewerbliche Ladeinfrastruktur
und Photovoltaik-Anlagen\n
\n
\n\n
\n
\n \n \"CUBOS.Connect\"\n \n \n \n \n
\n
{{_message}}
\n
\n \n \n
\n E-Mail-Adresse wird benötigt\n
\n
\n\n
\n \n \n
\n Passwort wird benötigt\n
\n
\n\n \n
\n\n
\n\n \n
\n\n
\n\n\n\n","\n\n
\n
\n
\n
\n
\n \n \"CUBOS.Connect\"\n \n \n \n \n
\n

\n Auf Wiedersehen!

\n
Sie haben sich erfolgreich abgemeldet.
\n
\n
\n
\n
\n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n\n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-logout-callback',\n templateUrl: './logout-callback.component.html',\n styleUrls: ['./logout-callback.component.scss']\n})\nexport class LogoutCallbackComponent implements OnInit {\n \n public whitelabel: string\n public whitelabelURL: string = 'https://cubosgeneralstorage.blob.core.windows.net/whitelabel-storage/'\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n \n ngAfterViewInit() {\n this.whitelabel = localStorage.getItem('whitelabel')\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-register-user-success-with-invite',\n templateUrl: './register-user-success-with-invite.component.html',\n styleUrls: ['./register-user-success-with-invite.component.scss']\n})\nexport class RegisterUserSuccessWithInviteComponent implements OnInit {\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n\n
\n
\n
\n
\n \"\" \n
\n

Registrierung abgeschlossen

\n

\n Sie können sich sofort mit Ihrem Konto anmelden.\n

\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-register-user-success',\n templateUrl: './register-user-success.component.html',\n styleUrls: ['./register-user-success.component.scss']\n})\nexport class RegisterUserSuccessComponent implements OnInit {\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n\n
\n
\n
\n
\n \"\" \n
\n

Registrierung abgeschlossen

\n

\n Wir haben Ihnen eine Bestätigungs-E-Mail zugesandt. Bitte klicken Sie auf den darin\n enthaltenden Link um ihr Konto zu aktivieren.\n

\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, Inject, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RegistrationRequest } from '@dto/registrationRequest';\nimport { Address } from '@models/address';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { User } from '@models/identity/user';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { PasswordConfirmationValidatorService } from '@services/custom-validators/password-confirm-validator.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AGBComponent } from '../agb/agb.component';\nimport { DatasecurityComponent } from '../datasecurity/datasecurity.component';\nimport { MessageService } from '@services/message/message.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { Observable } from 'rxjs';\nimport { UpdateAcceptAdRequestDto } from '../../../dto/updateAcceptAdRequestDto';\nimport { UserDto } from '@dto/userDto';\n\n\n@Component({\n selector: 'app-register-user',\n templateUrl: './register-user.component.html',\n styleUrls: ['./register-user.component.scss']\n})\nexport class RegisterUserComponent implements OnInit {\n\n private token: string;\n public user: UserDto;\n public isOperatorView: boolean = false;\n public navigationUrl: string;\n public formCreated: boolean;\n\n public passwordHasUpperCase: boolean = false\n public passwordHasLowerCase: boolean = false;\n public passwordHasDigit: boolean = false\n public passwordHasLength: boolean = false\n public passwordHasSpecialCharacter: boolean = false\n public passwordQuality: number = 0\n public passwordIsMatching: boolean = false\n public passwordRating: string = ''\n public passwordRatings: Array = [\n '', 'Sehr Schwach', 'Schwach', 'Ausreichend', 'Gut', 'Stark', 'Sehr Stark', 'Super Stark', 'Stark wie Krupp Stahl'\n ]\n\n public whitelabel: string\n public whitelabelURL: string = 'https://cubosgeneralstorage.blob.core.windows.net/whitelabel-storage/'\n public emailExists: boolean;\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private authenticationService: AuthenticationService,\n public formService: FormService,\n public messageService: MessageService,\n private passwordConfirmValidator: PasswordConfirmationValidatorService,\n private router: Router,\n private spinner: NgxSpinnerService,\n private activatedRoute: ActivatedRoute,\n private usersService: UsersService,\n private toastService: ToastService,\n private dialog: NgbModal,\n injector: Injector) { }\n\n ngOnInit(): void {\n this.token = this.activatedRoute.snapshot.queryParams['token'];\n\n if (!this.isOperatorView) {\n\n if (this.token) {\n var email = this.authenticationService.getTokenNameClaim(this.token);\n\n this.authenticationService.getUserByEmailForRegistration(email, this.token).subscribe(result => {\n this.user = result;\n this.createForm();\n }, error => {\n this.router.navigate(['/auth/used-token-feedback']);\n });\n }\n else {\n this.createForm();\n }\n } else {\n this.CreateOperatorForm();\n }\n }\n\n ngAfterViewInit() {\n this.whitelabel = localStorage.getItem('whitelabel')\n }\n\n private CreateOperatorForm() {\n this.formService.validators = {\n postalCode: [Validators.required, Validators.pattern('^[0-9]*$'), Validators.maxLength(5), Validators.minLength(5)],\n city: [Validators.required],\n street: [Validators.required],\n houseNumber: [Validators.required],\n email: [Validators.required, Validators.email],\n firstName: [Validators.required, Validators.maxLength(50)],\n lastName: [Validators.required, Validators.maxLength(50)],\n gender: [Validators.required],\n type: [Validators.required],\n company: [],\n phone: [Validators.required],\n acceptTos: [Validators.requiredTrue],\n acceptPrivacy: [Validators.requiredTrue],\n acceptAd: []\n }\n\n\n var addressGroup = new UntypedFormGroup({\n postalCode: new UntypedFormControl('', this.formService.validators['postalCode']),\n city: new UntypedFormControl('', this.formService.validators['city']),\n street: new UntypedFormControl('', this.formService.validators['street']),\n houseNumber: new UntypedFormControl('', this.formService.validators['houseNumber']),\n });\n\n this.formService.form = new UntypedFormGroup({\n email: new UntypedFormControl('', this.formService.validators['email']),\n firstName: new UntypedFormControl('', this.formService.validators['firstName']),\n lastName: new UntypedFormControl('', this.formService.validators['lastName']),\n gender: new UntypedFormControl('', this.formService.validators['gender']),\n type: new UntypedFormControl('private', this.formService.validators['type']),\n company: new UntypedFormControl('', this.formService.validators['company']),\n phone: new UntypedFormControl('', this.formService.validators['phone']),\n address: addressGroup,\n\n password: new UntypedFormControl('newCustomer2022'),\n confirm: new UntypedFormControl('newCustomer2022'),\n acceptTos: new UntypedFormControl(false),\n acceptPrivacy: new UntypedFormControl(false),\n acceptAd: new UntypedFormControl(false)\n });\n\n this.formService.form.get('confirm').setValidators(\n [Validators.required,\n this.passwordConfirmValidator.validateConfirmPassword(this.formService.form.get('password'))\n ]\n );\n\n this.formService.formMap = new Map();\n this.formService.formMap.set(\"address\", addressGroup);\n\n this.formCreated = true;\n }\n\n private createForm() {\n this.formService.validators = {\n agbConfirm: [Validators.requiredTrue],\n wrbConfirm: [Validators.requiredTrue],\n dsbConfirm: [Validators.requiredTrue],\n\n postalCode: [Validators.required, Validators.pattern('^[0-9]*$'), Validators.maxLength(5), Validators.minLength(5)],\n // city: [Validators.required, Validators.pattern('^[\\u00C0-\\u017Fa-zA-Z]+(?:[\\\\s-][\\u00C0-\\u017Fa-zA-Z]+)*$')],\n city: [Validators.required],\n // street: [Validators.required, Validators.pattern('^[\\u00C0-\\u017Fa-zA-Z.]+(?:[\\\\s-][\\u00C0-\\u017Fa-zA-Z.]+)*$')],\n street: [Validators.required],\n houseNumber: [Validators.required],\n email: [Validators.required, Validators.email],\n // firstName: [Validators.required, Validators.pattern('^[\\u00C0-\\u017Fa-zA-Z]+(?:[\\\\s-][\\u00C0-\\u017Fa-zA-Z]+)*$'), Validators.maxLength(50)],\n firstName: [Validators.required, Validators.maxLength(50)],\n // lastName: [Validators.required, Validators.pattern('^[\\u00C0-\\u017Fa-zA-Z]+(?:[\\\\s-][\\u00C0-\\u017Fa-zA-Z]+)*$'), Validators.maxLength(50)],\n lastName: [Validators.required, Validators.maxLength(50)],\n gender: [Validators.required],\n type: [Validators.required],\n company: [],\n // phone: [Validators.required, Validators.pattern('^([+](\\\\d{1,3})\\\\s?)?((\\\\(\\\\d{3,5}\\\\)|\\\\d{3,5})(\\\\s)?)\\\\d{3,8}$'), Validators.minLength(6)],\n phone: [Validators.required, Validators.pattern('[- +()0-9]+'), Validators.minLength(6)],\n\n password: [Validators.required, Validators.pattern(/(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)/g), Validators.minLength(10), this.passwordConfirmValidator.validateMatch('confirm', true)],\n confirm: [Validators.required, Validators.pattern(/(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)/g), Validators.minLength(10), this.passwordConfirmValidator.validateMatch('password')],\n\n\n }\n\n var addressGroup = new UntypedFormGroup({\n postalCode: new UntypedFormControl('', this.formService.validators['postalCode']),\n city: new UntypedFormControl('', this.formService.validators['city']),\n street: new UntypedFormControl('', this.formService.validators['street']),\n houseNumber: new UntypedFormControl('', this.formService.validators['houseNumber']),\n });\n\n this.formService.form = new UntypedFormGroup({\n email: new UntypedFormControl(this.user?.email, this.formService.validators['email']),\n firstName: new UntypedFormControl(this.user?.firstName, this.formService.validators['firstName']),\n lastName: new UntypedFormControl(this.user?.lastName, this.formService.validators['lastName']),\n gender: new UntypedFormControl('', this.formService.validators['gender']),\n type: new UntypedFormControl('private', this.formService.validators['type']),\n company: new UntypedFormControl('', this.formService.validators['company']),\n phone: new UntypedFormControl('', this.formService.validators['phone']),\n address: addressGroup,\n\n password: new UntypedFormControl('', this.formService.validators['password']),\n confirm: new UntypedFormControl('', this.formService.validators['confirm']),\n\n agbConfirm: new UntypedFormControl('', this.formService.validators['agbConfirm']),\n wrbConfirm: new UntypedFormControl('', this.formService.validators['wrbConfirm']),\n dsbConfirm: new UntypedFormControl('', this.formService.validators['dsbConfirm']),\n infoConfirm: new UntypedFormControl('')\n });\n\n // this.formService.form.get('confirm').setValidators([\n // Validators.required,\n // this.passwordConfirmValidator.validateConfirmPassword(this.formService.form.get('password'))\n // ]);\n\n this.formService.formMap = new Map();\n this.formService.formMap.set(\"address\", addressGroup);\n\n this.formCreated = true;\n }\n\n public isTypeCompany() {\n if (this.formService.form.controls['type'].value == 'company') {\n this.formService.form.get('company').setValidators([Validators.required]);\n this.formService.form.get('company').updateValueAndValidity();\n return true;\n }\n this.formService.form.get('company').clearValidators();\n this.formService.form.get('company').updateValueAndValidity();\n return false;\n }\n\n public onCancelClick(): void {\n this.dialog.dismissAll();\n }\n\n validateAllFormFields(formGroup: UntypedFormGroup) { //{1}\n Object.keys(formGroup.controls).forEach(field => { //{2}\n const control = formGroup.get(field); //{3}\n if (control instanceof UntypedFormControl) { //{4}\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof UntypedFormGroup) { //{5}\n this.validateAllFormFields(control); //{6}\n }\n });\n }\n\n public registerUser(registerFormValue) {\n this.spinner.show();\n\n this.messageService.clearErrors();\n const formValues = { ...registerFormValue };\n\n if (this.isOperatorView) {\n this.token = null;\n }\n\n const registrationRequest: RegistrationRequest = {\n email: formValues.email,\n firstName: formValues.firstName,\n lastName: formValues.lastName,\n gender: formValues.gender,\n type: formValues.type,\n company: formValues.company,\n phoneNumber: formValues.phone,\n address: new Address(formValues.address),\n acceptAd: formValues.acceptAd ? formValues.acceptAd : false,\n password: formValues.password,\n confirmPassword: formValues.confirm,\n clientURI: this.baseUrl + 'auth/emailconfirmation',\n\n token: this.token\n };\n\n if (this.token) {\n this.authenticationService.registerUserWithInvite(registrationRequest).subscribe(result => {\n this.router.navigate([\"/auth/register-success-with-invite\"]);\n this.usersService.updateAcceptAd({ UserId: this.user.id, AcceptAd: this.formService.form.get('infoConfirm')?.value } as UpdateAcceptAdRequestDto).subscribe(result => {\n this.spinner.hide();\n }, error => {\n this.spinner.hide();\n console.error(error);\n });\n },\n error => {\n if (error.isRedirectError) {\n this.router.navigate([\"/auth/register-success-with-invite\"]);\n }\n this.messageService.setError(error);\n window.scroll(0, 0);\n this.spinner.hide();\n })\n } else {\n if (this.isOperatorView) {\n this.navigationUrl = \"/customer\";\n } else {\n this.navigationUrl = \"/auth/register-success\";\n }\n this.authenticationService.registerUser(registrationRequest).subscribe(result => {\n this.router.navigate([this.navigationUrl]);\n this.usersService.updateAcceptAd({ UserId: this.user.id, AcceptAd: this.formService.form.get('infoConfirm')?.value } as UpdateAcceptAdRequestDto).subscribe(result => {\n this.spinner.hide();\n }, error => {\n this.spinner.hide();\n console.error(error);\n });\n },\n error => {\n if (error.isRedirectError) {\n this.router.navigate([\"/\"]);\n }\n this.messageService.setError(error);\n window.scroll(0, 0);\n this.spinner.hide();\n });\n if (this.isOperatorView) {\n this.navigationUrl = \"/customer\";\n this.router.navigate([\"/customer\"]);\n this.dialog.dismissAll();\n this.spinner.hide();\n }\n }\n }\n\n public registerUserFromOperator(registerFormValue) {\n this.validateAllFormFields(this.formService.form); \n\n this.spinner.show();\n\n this.messageService.clearErrors();\n const formValues = { ...registerFormValue };\n\n if (this.isOperatorView) {\n this.token = null;\n }\n\n const registrationRequest: RegistrationRequest = {\n email: formValues.email,\n firstName: formValues.firstName,\n lastName: formValues.lastName,\n gender: formValues.gender,\n type: formValues.type,\n company: formValues.company,\n phoneNumber: formValues.phone,\n address: new Address(formValues.address),\n acceptAd: formValues.acceptAd ? formValues.acceptAd : false,\n password: formValues.password,\n confirmPassword: formValues.confirm,\n clientURI: this.baseUrl + 'auth/emailconfirmation',\n\n token: this.token\n };\n\n if (this.token) {\n this.authenticationService.registerUserWithInvite(registrationRequest).subscribe(result => {\n this.router.navigate([\"/auth/register-success-with-invite\"]);\n this.spinner.hide();\n },\n error => {\n if (error.isRedirectError) {\n this.router.navigate([\"/auth/register-success-with-invite\"]);\n }\n this.messageService.setError(error);\n window.scroll(0, 0);\n this.spinner.hide();\n })\n } else {\n if (this.isOperatorView) {\n this.navigationUrl = \"/customer\";\n } else {\n this.navigationUrl = \"/auth/register-success\";\n }\n this.authenticationService.registerUserFromOperator(registrationRequest).subscribe(result => {\n this.router.navigate([this.navigationUrl]);\n this.spinner.hide();\n this.toastService.success($localize`:@@CustomerCreatedSuccessfulMessage:Der neue Kunde wurde erfolgreich angelegt!`);\n this.dialog.dismissAll();\n },\n error => {\n if (error.isRedirectError) {\n this.router.navigate([\"/\"]);\n }\n this.messageService.setError(error);\n window.scroll(0, 0);\n this.spinner.hide();\n });\n }\n }\n\n navigateToLogin() {\n this.router.navigate(['/auth/login']);\n }\n\n\n openAGBDialog() {\n const dialogRef = this.dialog.open(AGBComponent, { centered: true, backdrop: true });\n\n dialogRef.result.then((result) => {\n //this.ngOnInit();\n }, (backdrop) => {\n\n });\n }\n\n openDSDialog() {\n const dialogRef = this.dialog.open(DatasecurityComponent, { centered: true, backdrop: true });\n\n dialogRef.result.then((result) => {\n //this.ngOnInit();\n }, (backdrop) => {\n\n });\n }\n\n checkEmail() {\n var email = this.formService.form.get('email').value;\n if (email != \"\") {\n this.usersService.checkIfEmailExists(email).subscribe(result => {\n this.emailExists = result;\n if (this.emailExists) {\n this.formService.form.setErrors({ emailExists: 'E-Mail existiert bereits' });\n return false;\n }\n }, error => {\n console.error(error);\n })\n } else {\n this.emailExists = false;\n return true;\n }\n }\n\n checkPassword(p) {\n // This regex will enforce these rules:\n // At least one upper case English letter, (?=.*?[A-Z])\n // At least one lower case English letter, (?=.*?[a-z])\n // At least one digit, (?=.*?[0-9])\n // At least one special character, (?=.*?[#?!@$%^&*-])\n // Minimum ten in length. {10,}\n\n // let requirements = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d){10,}$/\n\n this.passwordQuality = 0\n\n let upperCase = /^(?=.*[A-Z])/g\n this.passwordHasUpperCase = upperCase.test(p)\n if (upperCase.test(p) && p.match(upperCase) && p.length > this.passwordQuality * 2) this.passwordQuality += 1\n\n let lowerCase = /^(?=.*[a-z])/g\n this.passwordHasLowerCase = lowerCase.test(p)\n if (lowerCase.test(p) && p.match(lowerCase) && p.length > this.passwordQuality * 2) this.passwordQuality += 1\n\n let digit = /^(?=.*\\d)/g\n this.passwordHasDigit = digit.test(p)\n if (digit.test(p) && p.match(digit) && p.length > this.passwordQuality * 2) this.passwordQuality += 1\n\n this.passwordHasLength = p.length >= 10\n this.passwordQuality += parseInt(Math.abs(p.length / 10).toFixed(0))\n\n let specialCharacter = /^(?=.*?[#?!@$%^&*-])/\n this.passwordHasSpecialCharacter = specialCharacter.test(p)\n if (specialCharacter.test(p)) this.passwordQuality += 1\n\n if (this.passwordQuality > this.passwordRatings.length - 1) {\n this.passwordRating = this.passwordRatings[this.passwordRatings.length]\n } else {\n this.passwordRating = this.passwordRatings[this.passwordQuality]\n }\n\n this.passwordIsMatching = this.formService.form.get('password').value == this.formService.form.get('confirm').value\n }\n\n trimValue(event) {\n const value = event.target.value.trim()\n event.target.value = value\n const formControlName = event.target.getAttribute('formControlName')\n let formControl = this.formService.form.get(formControlName)\n if (!formControl) {\n formControl = this.formService.form.get(`address.${formControlName}`)\n }\n formControl.setValue(value)\n formControl.updateValueAndValidity({ onlySelf: true })\n }\n}\n","\n \n \n
\n
\n
\n
\n \n
\n \n \"CUBOS.Connect\"\n \n \n \n \n
\n

\n Registrierungsformular\n

\n
\n
\n
\n\n
\n
\n
\n
\n
\n \n \n
\n\n
\n \n \n\n
\n Unternehmen wird benötigt\n
\n
\n\n
\n
\n
\n\n
\n\n
\n \n \n
\n Anrede wird benötigt\n
\n
\n\n
\n \n \n
\n \n Vorname wird benötigt\n \n \n Falsche Eingabe\n \n \n Die Eingabe darf maximal 50 Zeichen lang sein\n \n
\n
\n\n
\n \n \n
\n \n Nachname wird benötigt\n \n \n Falsche Eingabe\n \n \n Die Eingabe darf maximal 50 Zeichen lang sein\n \n
\n
\n\n\n
\n
\n
\n
\n
\n
\n \n \n
\n \n Straße wird benötigt\n \n \n Falsche Eingabe\n \n
\n
\n\n
\n \n \n
\n \n Hausnummer wird benötigt\n \n
\n
\n
\n
\n
\n
\n
\n \n \n
\n \n PLZ wird benötigt\n \n \n Falsche Eingabe\n \n \n Die Eingabe darf maximal 5 Zeichen lang sein\n \n \n PLZ zu kurz\n \n\n
\n
\n\n
\n \n \n
\n \n Ort wird benötigt\n \n \n Falsche Eingabe\n \n
\n
\n
\n
\n
\n
\n
\n \n \n
\n \n Telefonnummer wird benötigt\n \n \n Falsche Eingabe\n \n \n Telefonnummer zu kurz\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n \n E-Mail wird benötigt\n \n \n Keine gültige E-Mail eingegeben\n \n \n Diese Email existiert bereits\n \n
\n
\n
\n
\n
\n \n \n \n
\n Großbuchstabe\n Kleinbuchstabe\n Ziffer\n 10 Zeichen lang\n Sonderzeichen\n
\n
\n \n Passwort wird benötigt\n \n
\n
\n\n
\n \n \n
\n Stimmt überein\n
\n
\n \n Passwörter müssen übereinstimmen\n \n
\n
\n
\n\n
\n
\n
\n \n
\n \n
\n \n \n
\n\n \n
\n \n \n
\n\n \n
\n \n \n
\n\n \n
\n \n \n
\n
\n
\n

Mit * gekennzeichnete Felder sind Pflichtfelder.

\n
\n\n
\n
\n
\n \n
\n
\n
\n\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"\"\n \n
\n

\n Sie sind bereits registriert. Sie können sich direkt anmelden.\n

\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n\n \n
\n
\n
\n
\n
\n \"\" \n
\n

Keine Rechte für diese Seite

\n

\n Sie haben keine Rechte diese Seite aufzurufen.\n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n
\n
\n
\n
\n \n\n
\n\n\n
\n
Neuen Kunden anlegen
\n \n
\n
\n
\n
\n
\n \n
\n\n
\n
\n
\n
\n
\n\n \n \n
\n\n
\n \n \n\n
\n Unternehmen wird benötigt\n
\n\n
\n\n
\n
\n
\n
\n \n \n
\n Anrede wird benötigt\n
\n
\n\n
\n \n \n
\n Vorname wird benötigt\n
\n
\n Falsche Eingabe\n
\n
\n Die Eingabe darf maximal 50 Zeichen lang sein\n
\n
\n\n
\n \n \n
\n Nachname wird benötigt\n
\n
\n Falsche Eingabe\n
\n
\n Die Eingabe darf maximal 50 Zeichen lang sein\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n \n
\n Straße wird benötigt\n
\n
\n Falsche Eingabe\n
\n
\n\n
\n \n \n
\n Hausnummer wird benötigt\n
\n
\n Falsche Eingabe\n
\n
\n
\n
\n
\n \n \n\n
\n PLZ wird benötigt\n
\n
\n Falsche Eingabe\n
\n
\n PLZ zu lang\n
\n
\n PLZ zu kurz\n
\n
\n\n
\n \n \n
\n Ort wird benötigt\n
\n
\n Falsche Eingabe\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n
\n Telefonnummer wird benötigt\n
\n
\n Falsche Eingabe\n
\n
\n Telefonnummer zu kurz\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n E-Mail wird benötigt\n
\n
\n Falsche Eingabe\n
\n
\n
\n
\n
\n \n \n \n
\n Passwort wird benötigt\n
\n
\n
\n
\n
\n
\n Großbuchstabe\n Kleinbuchstabe\n Ziffer\n 10 Zeichen lang\n Sonderzeichen\n
\n
\n
\n
\n
\n \n \n
\n Passwörter müssen übereinstimmen\n
\n
\n\n
\n\n
\n\n
\n
\n
\n
\n \n \n
\n AGB Bestätigung wird benötigt\n
\n
\n\n
\n \n \n
\n Datenschutz Bestätigung wird benötigt\n
\n
\n\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n \n
\n
\n
\n","import { Component, Inject, Injector, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute} from '@angular/router';\nimport { ResetPasswordRequest } from '@dto/resetPasswordRequest';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { PasswordConfirmationValidatorService } from '@services/custom-validators/password-confirm-validator.service';\nimport { MessageService } from '@services/message/message.service';\n\n@Component({\n selector: 'app-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.scss']\n})\nexport class ResetPasswordComponent implements OnInit {\n public resetPasswordForm: UntypedFormGroup;\n \n private token: string;\n private email: string;\n\n @ViewChild('successMessage') successMessage: TemplateRef;\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private authenticationService: AuthenticationService,\n private passwordConfirmValidator: PasswordConfirmationValidatorService,\n private route: ActivatedRoute,\n public messageService: MessageService,\n injector: Injector) { }\n\n ngOnInit(): void {\n this.resetPasswordForm = new UntypedFormGroup({\n password: new UntypedFormControl('', [Validators.required]),\n confirm: new UntypedFormControl('')\n });\n\n this.resetPasswordForm.get('confirm').setValidators([Validators.required,\n this.passwordConfirmValidator.validateConfirmPassword(this.resetPasswordForm.get('password'))]);\n\n this.token = this.route.snapshot.queryParams['token'];\n this.email = this.route.snapshot.queryParams['email'];\n }\n\n validateControl(controlName: string) {\n return this.resetPasswordForm.controls[controlName].invalid && this.resetPasswordForm.controls[controlName].touched\n }\n\n hasError (controlName: string, errorName: string) {\n return this.resetPasswordForm.controls[controlName].hasError(errorName)\n }\n\n resetPassword(resetPasswordFormValue) {\n const resetPass = { ...resetPasswordFormValue };\n\n const resetPasswordRequest: ResetPasswordRequest = {\n password: resetPass.password,\n confirmPassword: resetPass.confirm,\n token: this.token,\n email: this.email\n }\n\n this.authenticationService.resetPassword(resetPasswordRequest).subscribe(result => {\n this.messageService.setSuccess(this.successMessage);\n }, error => {\n this.messageService.setError(error);\n })\n }\n\n}\n","\n
\n
\n
\n
\n\n \n\n
\n \"\"\n
\n

Neues Passwort setzen.

\n

\n Hier können Sie ein neues Passwort für Ihr Konto vergeben.\n

\n
\n
\n
\n\n
\n
\n
\n \n
\n \n
\n Passwort wird benötigt\n
\n
\n
\n
\n \n
\n \n
\n Bestätigung des Passworts ist erforderlich\n Passwörter müssen übereinstimmen\n
\n
\n
\n
\n
\n
\n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n mit * gekennzeichnete Felder sind Pflichtfelder\n
\n
\n
\n\n\n\n Ihr Passwort wurde zurückgesetzt. Bitte klicken Sie hier, um sich einzuloggen.\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-used-token-feedback',\n templateUrl: './used-token-feedback.component.html',\n styleUrls: ['./used-token-feedback.component.scss']\n})\nexport class UsedTokenFeedbackComponent implements OnInit {\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n\n
\n
\n
\n
\n \"\" \n
\n

\n Dieser Invite Link wurde bereits benutzt.\n

\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n
\n

© {{currentYearLong()}} CUBOS Service GmbH

\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PasswordConfirmationValidatorService } from '@services/custom-validators/password-confirm-validator.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { UserProfile } from '@dto/userProfile';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { User } from '@models/identity/user';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { ResetPasswordRequest } from '@dto/resetPasswordRequest';\nimport { DatasecurityComponent } from '../datasecurity/datasecurity.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { SubscriptionDetailDto } from '@dto/subscriptionDetailDto';\nimport { UpdateAcceptAdRequestDto } from '../../../dto/updateAcceptAdRequestDto';\n\n@Component({\n selector: \"app-welcome-user\",\n templateUrl: \"./welcome-user.component.html\",\n styleUrls: [\"./welcome-user.component.scss\"],\n})\nexport class WelcomeUserComponent implements OnInit {\n public page: number;\n @ViewChild(\"customerView\") customerView: TemplateRef;\n\n private pwResetToken: string;\n\n public user: User;\n public userProfile: UserProfile;\n public permissions = {} as any;\n\n public passwordHasUpperCase: boolean = false;\n public passwordHasLowerCase: boolean = false;\n public passwordHasDigit: boolean = false;\n public passwordHasLength: boolean = false;\n public passwordHasSpecialCharacter: boolean = false;\n public passwordQuality: number = 0;\n public passwordIsMatching: boolean = false;\n public passwordRating: string = \"\";\n public passwordRatings: Array = [\n \"\",\n \"Sehr Schwach\",\n \"Schwach\",\n \"Ausreichend\",\n \"Gut\",\n \"Stark\",\n \"Sehr Stark\",\n \"Super Stark\",\n \"Stark wie Krupp Stahl\",\n ];\n public subscriptionDetails: SubscriptionDetailDto;\n public loadingSubscriptionDetails: boolean;\n\n constructor(\n private router: Router,\n private activatedRoute: ActivatedRoute,\n public authenticationService: AuthenticationService,\n public customersService: CustomersService,\n public usersService: UsersService,\n public formService: FormService,\n public pricingsService: PricingsService,\n private passwordConfirmValidator: PasswordConfirmationValidatorService,\n public dialog: NgbModal\n ) {}\n\n //Test#123456\n\n ngOnInit(): void {\n this.loadingSubscriptionDetails = true;\n this.page = 1;\n this.getUser();\n this.createForm();\n }\n\n createForm() {\n this.formService.validators = {\n newPassword: [\n Validators.required,\n Validators.pattern(/(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)/g),\n Validators.minLength(10),\n ],\n newPasswordConfirm: [\n Validators.required,\n Validators.pattern(/(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)/g),\n Validators.minLength(10),\n ],\n agbConfirm: [Validators.requiredTrue],\n wrbConfirm: [Validators.requiredTrue],\n dsbConfirm: [Validators.requiredTrue],\n };\n\n this.formService.form = new UntypedFormGroup({\n newPassword: new UntypedFormControl(\n \"\",\n this.formService.validators[\"newPassword\"]\n ),\n newPasswordConfirm: new UntypedFormControl(\n \"\",\n this.formService.validators[\"newPasswordConfirm\"]\n ),\n agbConfirm: new UntypedFormControl(\n \"\",\n this.formService.validators[\"agbConfirm\"]\n ),\n wrbConfirm: new UntypedFormControl(\n \"\",\n this.formService.validators[\"wrbConfirm\"]\n ),\n dsbConfirm: new UntypedFormControl(\n \"\",\n this.formService.validators[\"dsbConfirm\"]\n ),\n infoConfirm: new UntypedFormControl(\"\"),\n });\n\n this.formService.form\n .get(\"newPasswordConfirm\")\n .setValidators([\n Validators.required,\n this.passwordConfirmValidator.validateConfirmPassword(\n this.formService.form.get(\"newPassword\")\n ),\n ]);\n }\n\n getUser() {\n var userEmail = this.activatedRoute.snapshot.queryParams.email;\n this.pwResetToken = this.activatedRoute.snapshot.queryParams.token;\n this.usersService.getUserByEmail(userEmail).subscribe((user) => {\n this.user = user;\n this.usersService.getUserProfileById(user.id).subscribe((userProfile) => {\n this.userProfile = userProfile;\n });\n // this.customersService.getCustomerPermissions(user.selectedCustomerId).subscribe(permissions => {\n // permissions.forEach(permissionObject => {\n // this.permissions[permissionObject.permission.name] = permissionObject.value;\n // })\n // });\n this.customersService\n .getSubscriptionDetailsOfCustomer(user.selectedCustomerId)\n .subscribe((subscriptionDetails) => {\n this.subscriptionDetails = subscriptionDetails;\n this.loadingSubscriptionDetails = false;\n });\n });\n }\n\n onSubmit(formValue) {\n const resetPasswordRequest: ResetPasswordRequest = {\n password: formValue.newPassword,\n confirmPassword: formValue.newPasswordConfirm,\n token: this.pwResetToken,\n email: this.user.email,\n };\n\n this.authenticationService.resetPassword(resetPasswordRequest).subscribe(\n (result) => {\n this.authenticationService\n .confirmEmailFromOnboarding(this.user.id)\n .subscribe(\n (result) => {\n this.usersService\n .updateAcceptAd({\n UserId: this.user.id,\n AcceptAd: this.formService.form.get(\"infoConfirm\")?.value,\n } as UpdateAcceptAdRequestDto)\n .subscribe(\n (result) => {},\n (error) => {\n console.error(error);\n }\n );\n },\n (error) => {\n console.error(error);\n }\n );\n },\n (error) => {\n console.error(error);\n }\n );\n\n this.nextPage();\n }\n\n nextPage() {\n this.page++;\n }\n\n previousPage() {\n this.page--;\n }\n\n openDSDialog() {\n const dialogRef = this.dialog.open(DatasecurityComponent, {\n centered: true,\n backdrop: true,\n });\n\n dialogRef.result.then(\n (result) => {\n //this.ngOnInit();\n },\n (backdrop) => {}\n );\n }\n\n checkPassword(p) {\n // This regex will enforce these rules:\n // At least one upper case English letter, (?=.*?[A-Z])\n // At least one lower case English letter, (?=.*?[a-z])\n // At least one digit, (?=.*?[0-9])\n // At least one special character, (?=.*?[#?!@$%^&*-])\n // Minimum ten in length. {10,}\n\n // let requirements = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d){10,}$/\n\n this.passwordQuality = 0;\n\n let upperCase = /^(?=.*[A-Z])/g;\n this.passwordHasUpperCase = upperCase.test(p);\n if (\n upperCase.test(p) &&\n p.match(upperCase) &&\n p.length > this.passwordQuality * 2\n )\n this.passwordQuality += 1;\n\n let lowerCase = /^(?=.*[a-z])/g;\n this.passwordHasLowerCase = lowerCase.test(p);\n if (\n lowerCase.test(p) &&\n p.match(lowerCase) &&\n p.length > this.passwordQuality * 2\n )\n this.passwordQuality += 1;\n\n let digit = /^(?=.*\\d)/g;\n this.passwordHasDigit = digit.test(p);\n if (digit.test(p) && p.match(digit) && p.length > this.passwordQuality * 2)\n this.passwordQuality += 1;\n\n this.passwordHasLength = p.length >= 10;\n this.passwordQuality += parseInt(Math.abs(p.length / 10).toFixed(0));\n\n let specialCharacter = /^(?=.*?[#?!@$%^&*-])/;\n this.passwordHasSpecialCharacter = specialCharacter.test(p);\n if (specialCharacter.test(p)) this.passwordQuality += 1;\n\n if (this.passwordQuality > this.passwordRatings.length - 1) {\n this.passwordRating = this.passwordRatings[this.passwordRatings.length];\n } else {\n this.passwordRating = this.passwordRatings[this.passwordQuality];\n }\n\n this.passwordIsMatching =\n this.formService.form.get(\"newPassword\").value ==\n this.formService.form.get(\"newPasswordConfirm\").value;\n }\n\n sendToLogin() {\n this.router.navigate([\"/auth/login\"]);\n }\n}\n","\n\n
\n
\n
\n \n
\n
\n\n \n
\n
\n

Ihre Ladepark ist beinahe bereit

\n
\n
\n

Es fehlen noch ein Passwort und Ihre Zustimmung für die Nutzung von\n CUBOS.Connect.

\n
\n
\n
\n {{page}}/3\n
\n
\n \n
\n
\n
\n\n \n\n
\n
\n

Wählen Sie Ihr neues Passwort

\n
\n
\n
\n
\n \n \n
\n Neues Passwort wird benötigt\n
\n
\n Großbuchstabe\n Kleinbuchstabe\n Ziffer\n 10 Zeichen lang\n Sonderzeichen\n
\n
\n\n
\n \n \n
\n Neues Passwort muss wiederholt werden\n Passwörter müssen übereinstimmen\n
\n
\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n\n
\n
\n
\n
\n {{page}}/3\n
\n
\n \n
\n \n
\n
\n
\n
\n\n
\n
\n

Perfekt, das Lademanagement kann beginnen

\n
\n
\n

Nach der Anmeldung erstellen Sie die Tarife für das Laden in Ihrem Ladepark.

\n \n
    \n
  • \n
    \n \n Manuelle Abrechnung\n
    \n

    Wählen Sie Ladevorgänge eines Benutzers aus und erstellen Sie eine Rechnung

    \n
  • \n
  • \n
    \n \n Automatisierte Abrechnung\n
    \n

    Ihre Benutzer zahlen monatlich automatisch alle eigenen Ladevorgänge

    \n
  • \n
  • \n
    \n \n QR-Code-Laden\n
    \n

    Ermöglichen Sie Gästen das Laden und Bezahlen ganz ohne Registrierung

    \n
  • \n
\n
\n
\n
\n {{page}}/3\n
\n
\n \n
\n
\n
\n
\n\n","import { ComponentBase } from \"@abstracts/component-base\";\nimport {\n Component,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n AfterViewInit\n} from \"@angular/core\";\nimport { Chart, registerables } from \"chart.js\";\nimport ChartDataLabels from \"chartjs-plugin-datalabels\";\nimport AnnotationPlugin from \"chartjs-plugin-annotation\";\nimport { EnergyMonitorData } from \"@dto/energyMonitorData\";\nimport { KwhPipe } from '../../pipes/kwh.pipe';\n\n\nChart.register(...registerables);\n\n@Component({\n selector: \"energy-consumption-chart\",\n templateUrl: \"./energy-consumption-chart.component.html\",\n})\nexport class EnergyConsumptionChartComponent\n extends ComponentBase\n implements OnInit, OnChanges, OnDestroy, AfterViewInit\n{\n public className: string = \"EnergyConsumptionChart\";\n\n @Input() data: EnergyMonitorData;\n @Input() date: Date;\n @Input() isLoading: boolean = true;\n\n public chart: Chart;\n public canvas: any;\n public ctx: any;\n\n public totalAmount: number;\n public max: number;\n public min: number;\n public average: number;\n public maxShow: boolean = false;\n public minShow: boolean = false;\n public isReadyForChart: boolean = false;\n public isShowingAverage: boolean = false;\n public defaultRange: string;\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n ngAfterViewInit() {\n this.isReadyForChart = true\n }\n\n ngOnChanges(changes: any): void {\n if (!this.isReadyForChart) return;\n if (changes['data'] && this.data) {\n if (!this.chart) {\n this.createChart();\n } else {\n this.updateChart();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy();\n }\n\n private initDatasets() {\n this.chart.data.datasets = [];\n\n this.addDataset({\n label: ['Direktverbrauch', 'Netzbezug'],\n\n data: [this.data.directConsumptionInWh, this.data.totalDeliveredInWh],\n\n backgroundColor: [\n `rgba(245 184 51 / .3)`,\n `rgba(240 96 36 / .3)`,\n ],\n\n borderColor: [\n `rgb(245 184 51)`,\n `rgb(240 96 36)`,\n ]\n });\n }\n\n private addDataset(dataset) {\n if (!dataset[\"cubicInterpolationMode\"])\n dataset[\"cubicInterpolationMode\"] = \"monotone\";\n if (!dataset[\"borderWidth\"]) dataset[\"borderWidth\"] = 1;\n if (!dataset[\"tension\"]) dataset[\"tension\"] = 0.5;\n\n dataset[\"fill\"] = true;\n dataset[\"datalabels\"] = {};\n dataset[\"datalabels\"][\"color\"] = \"auto\";\n dataset[\"datalabels\"][\"formatter\"] = (value) => {\n if (isNaN(value)) return \"\";\n const pipe = new KwhPipe();\n return `${pipe.transform(value, 1)} kWh`;\n };\n\n this.chart.data.datasets.push(dataset);\n this.chart?.update();\n }\n\n private createChart() {\n this.canvas = document.getElementById(\"energy-consumption-chart-canvas\");\n this.ctx = this.canvas.getContext(\"2d\");\n\n Chart.register(AnnotationPlugin);\n\n this.chart = new Chart(this.ctx, {\n plugins: [ChartDataLabels],\n type: \"pie\",\n data: {\n datasets: [],\n },\n options: {\n plugins: {\n datalabels: {\n color: '#000000',\n font: {\n weight: 'bolder',\n size: 14,\n },\n formatter: (value) => {\n const pipe = new KwhPipe();\n return `${pipe.transform(value, 1)} kWh`;\n },\n },\n legend: {\n labels: {\n color: \"#212529\",\n font: {\n size: 14,\n family: \"Lato\",\n },\n },\n },\n tooltip: {\n enabled: false,\n },\n },\n },\n });\n\n this.updateChart();\n }\n\n private updateChart() {\n this.initDatasets();\n \n const pipe = new KwhPipe();\n this.chart.data.labels = [\n `${pipe.transform(this.data.directConsumptionInWh, 1)} kWh Direktverbrauch`,\n `${pipe.transform(this.data.totalDeliveredInWh, 1)} kWh Netzbezug`\n ];\n\n this.chart.update();\n }\n\n private getBackgroundColor(hex: string) {\n hex = hex.replace(/^#/, '');\n let bigint = parseInt(hex, 16);\n let r = (bigint >> 16) & 255;\n let g = (bigint >> 8) & 255;\n let b = bigint & 255;\n\n return `${r} ${g} ${b}`;\n }\n\n \n}\n","
\n
\n
\n Verbrauch\n
\n \n {{ (this.data.totalDeliveredInWh + this.data.directConsumptionInWh) | kwh:1 }} kWh\n \n
\n\n
\n
\n
\n \n Grafik wird generiert\n \n
\n
\n\n \n
","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, Injector, Input, OnChanges, OnDestroy, OnInit } from '@angular/core';\nimport { Chart, registerables } from 'chart.js';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport AnnotationPlugin from 'chartjs-plugin-annotation';\n\nChart.register(...registerables)\n\n@Component({\n selector: 'energy-distribution-chart',\n templateUrl: './energy-distribution-chart.component.html'\n})\nexport class EnergyDistributionChartComponent extends ComponentBase implements OnInit, OnChanges, OnDestroy {\n\n public className: string = \"EnergyDistributionChart\"\n\n @Input() data: any[]\n @Input() date: Date\n @Input() isLoading: boolean = true\n public availableData: {}[] = []\n\n public chart: Chart\n public canvas: any\n public ctx: any\n\n public totalAmount: number\n public max: number\n public min: number\n public average: number\n public maxShow: boolean = false\n public minShow: boolean = false\n public isShowingAverage: boolean = false\n public defaultRange: string\n\n constructor(\n injector: Injector\n ) {\n super(injector)\n }\n\n ngOnInit(): void {\n super.ngOnInit()\n }\n\n ngOnChanges() {\n if (!this.data) return\n\n if (!this.chart) this.createChart()\n else this.chart?.update()\n\n this.initDatasets()\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n\n private initDatasets() {\n this.chart.data.datasets = []\n\n this.addDataset({\n label: this.data.map(ed => ed.energyMeter.name),\n data: this.data.map(ed => ed.percentageOfTotal),\n backgroundColor: this.data.map(ed => `rgba(${this.getBackgroundColor(ed.energyMeter.energyMeterType.colorCodeInHex)} / .3)`),\n borderColor: this.data.map(ed => `rgb(${this.getBackgroundColor(ed.energyMeter.energyMeterType.colorCodeInHex)})`),\n order: this.data.map(ed => this.getOrder())\n })\n }\n\n private addDataset(dataset) {\n if (!dataset['cubicInterpolationMode']) dataset['cubicInterpolationMode'] = 'monotone'\n if (!dataset['borderWidth']) dataset['borderWidth'] = 1\n if (!dataset['tension']) dataset['tension'] = 0.5\n\n dataset['fill'] = true\n dataset['datalabels'] = {}\n dataset['datalabels']['color'] = 'auto'\n dataset['datalabels']['formatter'] = (value) => {\n if (isNaN(value)) return ''\n return `${value.toFixed(2)}%`\n },\n\n this.chart.data.datasets.push(dataset)\n this.chart?.update()\n }\n\n private createChart() {\n this.canvas = document.getElementById('energy-distribution-chart-canvas')\n this.ctx = this.canvas.getContext('2d')\n\n Chart.register(AnnotationPlugin)\n\n this.chart = new Chart(this.ctx, {\n plugins: [ChartDataLabels],\n type: 'pie',\n data: {\n labels: this.data.map(em => em.energyMeter.name),\n datasets: [],\n },\n options: {\n plugins: {\n legend: {\n labels: {\n color: '#212529',\n font: {\n size: 14,\n family: 'Lato',\n }\n }\n },\n tooltip: {\n enabled: false\n }\n }\n }\n })\n\n this.isLoading = false\n }\n\n private getBackgroundColor(hex: string) {\n hex = hex.replace(/^#/, '');\n let bigint = parseInt(hex, 16);\n let r = (bigint >> 16) & 255;\n let g = (bigint >> 8) & 255;\n let b = bigint & 255;\n\n return `${r} ${g} ${b}`;\n }\n\n private getOrder() {\n return 1;\n }\n}\n","
\n
\n
Nutzung der Energie in Prozent
\n
\n\n
\n
\n
\n Grafik zu Energieverteilung wird generiert\n
\n
\n\n \n
\n
\n","import { ComponentBase } from \"@abstracts/component-base\";\nimport {\n Component,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n AfterViewInit\n} from \"@angular/core\";\nimport { Chart, registerables } from \"chart.js\";\nimport ChartDataLabels from \"chartjs-plugin-datalabels\";\nimport AnnotationPlugin from \"chartjs-plugin-annotation\";\nimport { SankeyController, Flow } from 'chartjs-chart-sankey';\nimport { EnergyMonitorData } from \"@dto/energyMonitorData\";\nimport { KwhPipe } from '../../pipes/kwh.pipe';\nimport { EnergyMeterConnectedDeviceType } from '../../enums/EnergyMeterConnectedDeviceType.enum';\n\nChart.register(...registerables);\nChart.register(SankeyController, Flow);\n\n@Component({\n selector: \"energy-flow-chart\",\n templateUrl: \"./energy-flow-chart.component.html\",\n})\nexport class EnergyFlowChartComponent\n extends ComponentBase\n implements OnInit, OnChanges, OnDestroy, AfterViewInit\n{\n public className: string = \"EnergyFlowChart\";\n\n @Input() data: any;\n @Input() date: Date;\n @Input() isLoading: boolean = true;\n\n public chart: Chart;\n public canvas: any;\n public ctx: any;\n\n public totalAmount: number;\n public max: number;\n public min: number;\n public average: number;\n public maxShow: boolean = false;\n public minShow: boolean = false;\n public isReadyForChart: boolean = false;\n public isShowingAverage: boolean = false;\n public defaultRange: string;\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n ngAfterViewInit() {\n this.isReadyForChart = true;\n }\n\n ngOnChanges(changes: any): void {\n if (!this.isReadyForChart) return;\n\n if (changes['data'] && this.data) {\n if (!this.chart) {\n this.createChart();\n } else {\n this.updateChart();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy();\n }\n\n private initDatasets() {\n this.chart.data.datasets = [];\n console.log(this.data)\n\n // for (const data of this.data.flowData) {\n // const dataset = {\n // data: data.flow,\n // colorFrom: data.fromColor,\n // colorTo: data.toColor,\n // colorMode: 'gradient',\n // labels: data.labels,\n // column: {},\n // size: 'max'\n // }\n // this.addDataset(dataset);\n // }\n\n const data = this.prepareDataForSankey(this.data);\n\n const dataset = {\n data: data.flows,\n colorFrom: (c) => c.raw.fromColor,\n colorTo: (c) => c.raw.toColor,\n colorMode: 'gradient',\n labels: data.labels,\n priority: data.priorities,\n column: {},\n border: 'transparent',\n size: 'max'\n }\n \n this.addDataset(dataset);\n console.log(dataset);\n }\n\n private prepareDataForSankey(data) {\n const flows = [];\n const labels = {};\n const sizes = {};\n const priorities = {};\n \n const energySources = [];\n const energySinks = [];\n const energyStores = [];\n \n for (const meter of data.distributionData) {\n const type = meter.energyMeter.energyMeterType.connectedDeviceType;\n if (type === \"supply\" || type === \"pv\") {\n energySources.push(meter);\n } else if (type === \"chargingPark\") {\n energySinks.push(meter);\n } else if (type === \"battery\") {\n energySources.push(meter);\n energySinks.push(meter);\n }\n }\n \n for (const source of energySources) {\n const sourceName = source.energyMeter.name;\n labels[sourceName] = sourceName;\n sizes[sourceName] = Math.abs(source.wh);\n priorities[sourceName] = 1;\n }\n \n for (const sink of energySinks) {\n const sinkName = sink.energyMeter.name;\n labels[sinkName] = sinkName;\n sizes[sinkName] = Math.abs(sink.wh);\n priorities[sinkName] = 2;\n }\n \n for (const store of energyStores) {\n const storeName = store.energyMeter.name;\n labels[storeName] = storeName;\n sizes[storeName] = Math.abs(store.wh);\n priorities[storeName] = 3;\n }\n \n for (const sink of energySinks) {\n for (const source of energySources) {\n if (source.energyMeter.name === sink.energyMeter.name || Math.abs(sink.wh) === 0) continue;\n flows.push({\n from: source.energyMeter.name,\n to: sink.energyMeter.name,\n flow: Math.abs(source.wh) * Math.abs(sink.wh), \n fromColor: source.energyMeter.energyMeterType.colorCodeInHex,\n toColor: sink.energyMeter.energyMeterType.colorCodeInHex\n });\n\n if (source.energyMeter.connectedDeviceType === EnergyMeterConnectedDeviceType.PV) {\n flows.push({\n from: source.energyMeter.name,\n to: sink.energyMeter.name,\n flow: Math.abs(source.wh) * Math.abs(sink.wh), \n fromColor: source.energyMeter.energyMeterType.colorCodeInHex,\n toColor: sink.energyMeter.energyMeterType.colorCodeInHex\n });\n }\n }\n }\n \n for (const store of energyStores) {\n for (const source of energySources) {\n if (source.energyMeter.name === store.energyMeter.name || Math.abs(store.wh) === 0) continue;\n flows.push({\n from: source.energyMeter.name,\n to: store.energyMeter.name,\n flow: Math.abs(source.wh) * Math.abs(store.wh), \n fromColor: source.energyMeter.energyMeterType.colorCodeInHex,\n toColor: store.energyMeter.energyMeterType.colorCodeInHex\n });\n }\n }\n \n return { flows, labels, sizes, priorities };\n }\n\n private addDataset(dataset) {\n this.chart.data.datasets.push(dataset);\n this.chart?.update();\n }\n\n private createChart() {\n this.canvas = document.getElementById(\"energy-flow-chart-canvas\");\n this.ctx = this.canvas.getContext(\"2d\");\n \n Chart.register(AnnotationPlugin);\n Chart.register(SankeyController, Flow);\n \n this.chart = new Chart(this.ctx, {\n plugins: [ChartDataLabels],\n type: \"sankey\",\n data: {\n datasets: [],\n },\n options: {\n plugins: {\n datalabels: {\n color: '#000000',\n font: {\n weight: 'bolder',\n size: 14,\n },\n formatter: (value) => {\n if (isNaN(value)) return \"\";\n const pipe = new KwhPipe();\n return `${pipe.transform(value, 1)} kWh`;\n },\n },\n legend: {\n labels: {\n color: \"#212529\",\n font: {\n size: 14,\n family: \"Lato\",\n },\n },\n },\n tooltip: {\n enabled: false,\n },\n },\n },\n });\n\n this.updateChart();\n }\n\n private updateChart() {\n this.initDatasets();\n this.chart.update();\n }\n}\n","
\n
\n
\n
\n \n Grafik wird generiert\n \n
\n
\n\n \n
\n
","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, Injector, Input, OnChanges, OnDestroy, OnInit, AfterViewInit } from '@angular/core';\nimport { Chart, registerables } from 'chart.js';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport AnnotationPlugin from 'chartjs-plugin-annotation';\nimport 'chartjs-adapter-date-fns';\n\nChart.register(...registerables)\n\n@Component({\n selector: 'energy-history-chart',\n templateUrl: './energy-history-chart.component.html',\n styleUrls: ['./energy-history-chart.component.scss']\n\n})\nexport class EnergyHistoryChartComponent extends ComponentBase implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n\n public className: string = \"EnergySourcesChart\";\n\n @Input() isLoading: boolean = true;\n @Input() data: any\n @Input() dateSelected: Date\n\n public chart: Chart;\n public canvas: any;\n public ctx: any;\n public totalAmount: number;\n public max: number;\n public min: number;\n public average: number;\n public maxShow: boolean = false;\n public minShow: boolean = false;\n public isReadyForChart: boolean = false;\n public isShowingAverage: boolean = false;\n public defaultRange: string;\n\n constructor(\n injector: Injector\n ) {\n super(injector)\n }\n\n ngOnInit(): void {\n super.ngOnInit()\n }\n\n ngAfterViewInit() {\n this.isReadyForChart = true\n }\n\n ngOnChanges() {\n if (!this.data || !this.isReadyForChart) return\n\n if (!this.chart) this.createChart();\n else this.chart?.update();\n\n this.initDatasets();\n }\n\n ngOnDestroy() {\n this.chart?.destroy()\n }\n\n private initDatasets() {\n this.isLoading = true;\n\n try {\n this.chart.data.datasets = []\n if (!this.data || !this.data.some(entry => entry.dataPoints.length > 0)) {\n this.createEmptyChart();\n return;\n }\n\n console.log(\"this.data\", this.data);\n for (const entry of this.data) {\n if (entry.dataPoints.length < 1)\n continue;\n\n if (!this.isEnergyMeterAliveAt(entry.energyMeter, this.dateSelected))\n continue;\n\n this.createChartDataset(entry);\n this.createChartDatasetLimiter(entry);\n }\n\n this.chart?.update()\n } catch (e) {\n\n } finally {\n this.isLoading = false;\n }\n }\n\n private isEnergyMeterAliveAt(energyMeter: any, dateTime: Date) {\n let lifetimeStartDate = new Date(energyMeter.lifetimeStart);\n lifetimeStartDate.setHours(0, 0, 0, 0);\n\n let lifetimeEndDate = new Date(energyMeter.lifetimeEnd);\n lifetimeEndDate.setHours(0, 0, 0, 0);\n\n let selectedDate = new Date(dateTime);\n selectedDate.setHours(0, 0, 0, 0);\n\n let isAfterStartDate = lifetimeStartDate <= selectedDate;\n let isBeforeEndDate = lifetimeEndDate > selectedDate;\n let isMeterAlive = energyMeter.isAlive;\n\n let result = isAfterStartDate && (isBeforeEndDate || isMeterAlive);\n\n return result;\n }\n\n private createChart() {\n this.canvas = document.getElementById('distribution-chart-canvas')\n this.ctx = this.canvas.getContext('2d')\n\n Chart.register(AnnotationPlugin)\n\n this.chart = new Chart(this.ctx, {\n\n plugins: [ChartDataLabels],\n type: 'line',\n data: {\n labels: [],\n datasets: [],\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n x: {\n type: 'time',\n time: {\n unit: 'minute',\n stepSize: 10,\n tooltipFormat: 'HH:mm',\n displayFormats: {\n millisecond: 'HH:mm',\n second: 'HH:mm',\n minute: 'HH:mm',\n hour: 'HH:mm',\n day: 'HH:mm',\n week: 'HH:mm',\n month: 'HH:mm',\n quarter: 'HH:mm',\n year: 'HH:mm',\n }\n },\n },\n },\n elements: {\n point: {\n radius: 0\n }\n },\n plugins: {\n filler: {\n propagate: false,\n },\n legend: {\n labels: {\n color: '#212529',\n usePointStyle: true,\n font: {\n size: 14,\n family: 'Lato',\n },\n filter: function (item, chart) {\n return item.text != \"blind\"\n }\n },\n },\n tooltip: {\n enabled: false,\n external: this.externalTooltipHandler.bind(this),\n position: 'nearest',\n intersect: false,\n axis: 'x',\n padding: 10,\n backgroundColor: 'rgba(0, 0, 0, .9)',\n animation: {\n duration: .1\n }\n }\n }\n }\n })\n\n this.isLoading = false\n }\n\n private createChartDataset(entry) {\n const color = this.getBackgroundColor(entry.energyMeter.energyMeterType.colorCodeInHex);\n\n // Erklärung: 1/1000 = 0.001 (Watt zu kW), -0.001showInverted 0.001notInverted\n const multiplier = entry.energyMeter.showInverted ? -0.001 : 0.001;\n const data = entry.dataPoints.map(record => {\n if (record == null) return null;\n return { x: new Date(record.utcTimestamp), y: record.value * multiplier };\n });\n\n var dataset = {\n label: entry.energyMeter.name,\n data: data,\n backgroundColor: `rgba(${color} / .2)`,\n borderColor: `rgb(${color})`\n };\n\n this.addDataset(dataset)\n }\n\n private createChartDatasetLimiter(entry) {\n if (entry.energyMeter.powerLimitInKw <= 0) return;\n\n const color = this.getBackgroundColor(entry.energyMeter.energyMeterType.colorCodeInHex);\n const firstTimestamp = entry.dataPoints[0].utcTimestamp;\n const lastTimestamp = entry.dataPoints[entry.dataPoints.length - 1].utcTimestamp; `\n `\n const x = new Date(entry.dataPoints[0].utcTimestamp);\n const data = [\n {\n x: x.setHours(0, 0, 0, 0),\n y: entry.energyMeter.powerLimitInKw\n },\n {\n x: x.setHours(23, 59, 59, 999),\n y: entry.energyMeter.powerLimitInKw\n }\n ];\n\n var dataset = {\n label: entry.energyMeter.name + \"-Limit\",\n data: data,\n backgroundColor: `rgba(${color} / .0)`,\n borderColor: `rgb(${color})`,\n borderWidth: 1,\n borderDash: [5, 5],\n pointStyle: 'line',\n hidden: true\n };\n\n this.addDataset(dataset);\n }\n\n private createEmptyChart() {\n const data = [\n {\n x: new Date(new Date().setHours(0, 0, 0, 0)),\n y: 0\n },\n {\n x: new Date(new Date().setHours(23, 59, 59, 999)),\n y: 0\n }\n ];\n\n var dataset = {\n label: \"blind\",\n data: data,\n borderWidth: 0\n };\n\n this.addDataset(dataset);\n this.chart?.update();\n }\n\n private addDataset(dataset) {\n if (!dataset['cubicInterpolationMode']) dataset['cubicInterpolationMode'] = 'monotone'\n if (!dataset['borderWidth']) dataset['borderWidth'] = 1\n if (!dataset['tension']) dataset['tension'] = 0.5\n\n dataset['fill'] = true\n dataset['datalabels'] = {}\n dataset['datalabels']['color'] = 'transparent'\n dataset['datalabels']['formatter'] = (value) => {\n if (isNaN(value)) return 0\n return value.y / 1000\n }\n\n const x = new Date(dataset.data[0].x);\n dataset.data.unshift({ x: x.setHours(0, 0, 0, 0), y: null })\n dataset.data.push({ x: x.setHours(23, 59, 59, 999), y: null })\n\n this.chart.data.datasets.push(dataset)\n }\n\n\n private getBackgroundColor(hex: string) {\n hex = hex.replace(/^#/, '');\n let bigint = parseInt(hex, 16);\n let r = (bigint >> 16) & 255;\n let g = (bigint >> 8) & 255;\n let b = bigint & 255;\n\n return `${r} ${g} ${b}`;\n }\n\n private externalTooltipHandler(context) {\n let tooltipEl = document.getElementById('chartjs-tooltip');\n\n if (!tooltipEl) {\n tooltipEl = document.createElement('div');\n tooltipEl.id = 'chartjs-tooltip';\n tooltipEl.innerHTML = '
';\n document.body.appendChild(tooltipEl);\n }\n\n const tooltipModel = context.tooltip;\n if (tooltipModel.opacity === 0) {\n tooltipEl.style.opacity = '0';\n return;\n }\n\n tooltipEl.classList.remove('above', 'below', 'no-transform');\n if (tooltipModel.yAlign) {\n tooltipEl.classList.add(tooltipModel.yAlign);\n } else {\n tooltipEl.classList.add('no-transform');\n }\n\n function getBody(bodyItem) {\n return bodyItem.lines;\n }\n\n if (tooltipModel.body) {\n const titleLines = tooltipModel.title || [];\n const bodyLines = tooltipModel.body.map(getBody);\n\n let innerHtml = '';\n\n titleLines.forEach(function (title) {\n innerHtml += '' + title + '';\n });\n innerHtml += '';\n\n bodyLines.forEach(function (body, i) {\n const split = body.toString().split(': ');\n const colors = tooltipModel.labelColors[i];\n const style = 'background:' + colors.backgroundColor + '; border: 1px solid ' + colors.borderColor;\n const marker = '';\n const label = '' + split[0] + '';\n const value = '' + split[1] + ' kW';\n innerHtml += `${marker}${label}${value}`;\n });\n\n // Todo: Calculate self-sufficiency\n // const selfSufficiency = this.calculateSelfSufficiency(tooltipModel.dataPoints);\n // innerHtml += `Self-sufficiency: ${selfSufficiency}%`;\n\n innerHtml += '';\n\n const tableRoot = tooltipEl.querySelector('table');\n tableRoot.innerHTML = innerHtml;\n }\n\n const position = this.chart.canvas.getBoundingClientRect();\n\n tooltipEl.style.background = '#212529';\n tooltipEl.style.color = 'white';\n tooltipEl.style.borderRadius = '0.25rem';\n tooltipEl.style.opacity = '1';\n tooltipEl.style.position = 'absolute';\n tooltipEl.style.left = position.left + window.pageXOffset + tooltipModel.caretX + 'px';\n tooltipEl.style.top = position.top + window.pageYOffset + tooltipModel.caretY + 'px';\n tooltipEl.style.font = tooltipModel.options.bodyFont.string;\n tooltipEl.style.padding = tooltipModel.options.padding + 'px ' + tooltipModel.options.padding * 1.5 + 'px';\n tooltipEl.style.pointerEvents = 'none';\n }\n\n // Todo\n private calculateSelfSufficiency(dataPoints) {\n let totalProduction = 0;\n let totalConsumption = 0;\n\n dataPoints.forEach(point => {\n if (point.datasetIndex === 0) {\n totalProduction += point.raw.y;\n } else if (point.datasetIndex === 1) {\n totalConsumption += point.raw.y;\n }\n });\n\n if (totalConsumption === 0) return 0;\n\n return ((totalProduction / totalConsumption) * 100).toFixed(2);\n }\n}\n","
\n
\n
Leistung im Tagesverlauf in kW
\n
\n\n
\n
\n
\n Grafik zum Energiefluss wird generiert\n
\n
\n\n \n
\n
\n","import { ComponentBase } from \"@abstracts/component-base\";\nimport {\n Component,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n AfterViewInit\n} from \"@angular/core\";\nimport { Chart, registerables } from \"chart.js\";\nimport ChartDataLabels from \"chartjs-plugin-datalabels\";\nimport AnnotationPlugin from \"chartjs-plugin-annotation\";\nimport { EnergyMonitorData } from \"@dto/energyMonitorData\";\nimport { KwhPipe } from '../../pipes/kwh.pipe';\n\nChart.register(...registerables);\n\n@Component({\n selector: \"energy-production-chart\",\n templateUrl: \"./energy-production-chart.component.html\",\n})\nexport class EnergyProductionChartComponent\n extends ComponentBase\n implements OnInit, OnChanges, OnDestroy, AfterViewInit\n{\n public className: string = \"EnergyProductionChart\";\n\n @Input() data: EnergyMonitorData;\n @Input() date: Date;\n @Input() isLoading: boolean = true;\n\n public chart: Chart;\n public canvas: any;\n public ctx: any;\n\n public totalAmount: number;\n public max: number;\n public min: number;\n public average: number;\n public maxShow: boolean = false;\n public minShow: boolean = false;\n public isReadyForChart: boolean = false;\n public isShowingAverage: boolean = false;\n public defaultRange: string;\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n ngAfterViewInit() {\n this.isReadyForChart = true\n }\n\n ngOnChanges(changes: any): void {\n if (!this.isReadyForChart) return;\n\n if (changes['data'] && this.data) {\n if (!this.chart) {\n this.createChart();\n } else {\n this.updateChart();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy();\n }\n\n private initDatasets() {\n this.chart.data.datasets = [];\n const stripedPattern = this.createStripedPattern(\n `rgba(245 184 51 / .3)`,\n `rgba(240 96 36 / .3)`,\n );\n\n this.addDataset({\n label: ['Direktverbrauch', 'Netzeinspeisung'],\n\n data: [this.data.directConsumptionInWh, this.data.totalExportedInWh],\n\n backgroundColor: [\n `rgba(245 184 51 / .3)`,\n stripedPattern,\n // `rgba(${this.getBackgroundColor(EnergyMeterType.GRID)} / .3)`,\n ],\n\n borderColor: [\n `rgba(245 184 51 / .3)`,\n `rgba(240 96 36 / .3)`,\n ]\n });\n }\n\n private addDataset(dataset) {\n if (!dataset[\"cubicInterpolationMode\"])\n dataset[\"cubicInterpolationMode\"] = \"monotone\";\n if (!dataset[\"borderWidth\"]) dataset[\"borderWidth\"] = 1;\n if (!dataset[\"tension\"]) dataset[\"tension\"] = 0.5;\n\n dataset[\"fill\"] = true;\n dataset[\"datalabels\"] = {};\n dataset[\"datalabels\"][\"color\"] = \"auto\";\n dataset[\"datalabels\"][\"formatter\"] = (value) => {\n if (isNaN(value)) return \"\";\n const pipe = new KwhPipe();\n return `${pipe.transform(value, 1)} kWh`;\n };\n\n this.chart.data.datasets.push(dataset);\n this.chart?.update();\n }\n\n private createChart() {\n this.canvas = document.getElementById(\"energy-production-chart-canvas\");\n this.ctx = this.canvas.getContext(\"2d\");\n \n Chart.register(AnnotationPlugin);\n \n this.chart = new Chart(this.ctx, {\n plugins: [ChartDataLabels],\n type: \"pie\",\n data: {\n datasets: [],\n },\n options: {\n plugins: {\n datalabels: {\n color: '#000000',\n font: {\n weight: 'bolder',\n size: 14,\n },\n formatter: (value) => {\n if (isNaN(value)) return \"\";\n const pipe = new KwhPipe();\n return `${pipe.transform(value, 1)} kWh`;\n },\n },\n legend: {\n labels: {\n color: \"#212529\",\n font: {\n size: 14,\n family: \"Lato\",\n },\n },\n },\n tooltip: {\n enabled: false,\n },\n },\n },\n });\n\n this.updateChart();\n }\n\n private updateChart() {\n this.initDatasets();\n \n const pipe = new KwhPipe();\n this.chart.data.labels = [\n `${pipe.transform(this.data.directConsumptionInWh, 1)} kWh Direktverbrauch`,\n `${pipe.transform(this.data.totalExportedInWh, 1)} kWh Netzeinspeisung`,\n ];\n\n this.chart.update();\n }\n\n private getBackgroundColor(hex: string) {\n hex = hex.replace(/^#/, '');\n let bigint = parseInt(hex, 16);\n let r = (bigint >> 16) & 255;\n let g = (bigint >> 8) & 255;\n let b = bigint & 255;\n\n return `${r} ${g} ${b}`;\n }\n \n\n private createStripedPattern(color1: string, color2: string): CanvasPattern {\n const canvas = document.createElement('canvas');\n const size = 400; // Size of the canvas for the pattern\n canvas.width = size;\n canvas.height = size;\n const ctx = canvas.getContext('2d');\n \n if (ctx) {\n // Fill the background with color1\n ctx.fillStyle = color1;\n ctx.fillRect(0, 0, size, size);\n \n // Draw diagonal stripes with a seamless pattern\n ctx.strokeStyle = color2;\n ctx.lineWidth = 5;\n \n // Calculate the offset to ensure the stripes align perfectly\n const offset = ctx.lineWidth;\n \n // Draw stripes from top-left to bottom-right\n for (let i = -size; i < size + offset; i += ctx.lineWidth * 3) {\n ctx.beginPath();\n ctx.moveTo(i - offset, 0);\n ctx.lineTo(i + size, size);\n ctx.stroke();\n }\n }\n \n return ctx.createPattern(canvas, 'repeat')!;\n }\n}\n","
\n
\n
\n Erzeugung\n
\n \n {{ (this.data.generatedEnergyInWh) | kwh:1 }} kWh\n \n
\n\n
\n
\n
\n \n Grafik wird generiert\n \n
\n
\n\n \n
\n
","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { plainToClass } from 'class-transformer';\nimport { interval, Subscription } from 'rxjs';\nimport { ChargingStationStausForCustomerDto } from '../../../dto/chargingStationStausForCustomerDto';\nimport { ChargingStationsService } from '../../../services/entity/charging-stations.service';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-dashboard-charging-points',\n templateUrl: './dashboard-charging-points.component.html',\n styleUrls: ['./dashboard-charging-points.component.scss']\n})\nexport class DashboardChargingPointsComponent extends ComponentBase implements OnInit, OnDestroy {\n\n public className = 'DashboardChargingPointsComponent';\n\n private refreshEntity: Subscription;\n public chargingPointsStatus: ChargingStationStausForCustomerDto\n\n public isOperator: boolean;\n public max: number;\n\n constructor(\n private chargingStationsService: ChargingStationsService, \n private activatedRoute: ActivatedRoute,\n injector: Injector\n ) { \n super(injector) \n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n\n this.refreshStatus();\n this.setRefreshCC();\n }\n\n refreshStatus() {\n if(this.isOperator) {\n this.chargingStationsService.getChargingPointStatusOfCustomer(this.activatedRoute.parent.snapshot.params.key).subscribe(result => {\n this.chargingPointsStatus = result;\n this.max = this.calculateMax()\n }, error => {});\n } else {\n this.chargingStationsService.getChargingPointsStatus().subscribe(result => {\n this.chargingPointsStatus = result;\n this.max = this.calculateMax()\n }, error => {});\n }\n }\n\n calculateMax() {\n let max = this.chargingPointsStatus.online + this.chargingPointsStatus.charging + this.chargingPointsStatus.busy + this.chargingPointsStatus.offline\n return max;\n }\n\n setRefreshCC() {\n this.refreshEntity = interval(15000).subscribe(async (val) => {\n this.refreshStatus();\n })\n }\n ngOnDestroy() {\n this.refreshEntity.unsubscribe();\n }\n}\n","\n \n \n \n \n \n

{{ chargingPointsStatus.online }}

\n
Bereit
\n
\n
\n\n\n \n \n \n \n

{{ chargingPointsStatus.charging }}

\n
Lädt
\n
\n
\n\n\n \n \n \n \n \n \n

{{ chargingPointsStatus.busy }}

\n
Belegt
\n
\n
\n\n\n \n \n \n \n \n \n

{{ chargingPointsStatus.offline }}

\n
Offline
\n
\n
\n\n\n \n \n \n \n \n \n

{{ chargingPointsStatus.unregistered }}

\n
Unregistriert
\n
\n
\n\n\n
\n An diesen Ladepunkten sind Fahrzeuge angeschlossen, aber es fließt gerade kein Strom.\n
    \n
  • Entweder wurde der Ladevorgang noch nicht gestartet oder reserviert,
  • \n
  • das Fahrzeug ist voll geladen,
  • \n
  • lädt aufgrund einer Einstellung im Fahrzeug später,
  • \n
  • oder das Lastmanagement pausiert gerade die Ladung, weil nicht genügend Strom zur Verfügung steht.
  • \n
\n Die Details können Sie an den einzelnen Ladepunkten einsehen.\n
\n
\n\n
\n
\n
Ladepunkte
\n
\n\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n","import { ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { Chart, registerables } from 'chart.js';\nimport '@angular/localize/init';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { TransactionFilter } from '@models/transactionFilter';\nimport { ActivatedRoute } from '@angular/router';\nimport { endOfISOWeek, endOfMonth, startOfISOWeek, startOfMonth } from 'date-fns';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { plainToClass } from 'class-transformer';\n\nChart.register(...registerables);\n\n@Component({\n selector: 'app-dashboard-power-chart',\n templateUrl: './dashboard-power-chart.component.html',\n styleUrls: ['./dashboard-power-chart.component.scss']\n})\nexport class DashboardPowerChartComponent extends ComponentBase implements OnInit {\n\n public className = 'DashboardPowerChartComponent';\n\n public chart: Chart;\n public canvas: any;\n public ctx: any;\n public xAxisLabel: string;\n public labels: string[];\n public barChartData: number[];\n public totalAmount: number;\n public kwText = $localize`:@@KwText:Lademenge in kWh`\n public loading: boolean = true;\n public chartGradientA: string = '#f57e00';\n public chartGradientB: string = '#ffbf00';\n public transactions: TransactionDto[]\n public customerId?: number\n\n public date: Date;\n\n public isOperator: boolean = false;\n public isUser: boolean = false;\n\n constructor(\n private transactionsService: TransactionsService,\n private activatedRoute: ActivatedRoute,\n private ref: ChangeDetectorRef,\n injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n ngAfterViewInit() {\n this.getChartColor()\n this.setDefaultValues();\n\n if (this.authenticationService.userHasRole(\"Operator\")) {\n this.isOperator = true;\n this.customerId = this.activatedRoute.parent.snapshot.params.key\n }\n if (this.authenticationService.userHasRole(\"User\")) {\n this.isUser = true;\n }\n\n this.loadBarChartDataWeekly();\n }\n\n getChartColor() {\n var style = window.getComputedStyle(document.body)\n const chartGradientA = style.getPropertyValue('--chart-gradient-a')\n const chartGradientB = style.getPropertyValue('--chart-gradient-b')\n\n if (chartGradientA && chartGradientB) {\n this.chartGradientA = chartGradientA\n this.chartGradientB = chartGradientB\n }\n }\n\n setDefaultValues() {\n this.date = new Date();\n }\n\n private loadBarChartDataWeekly() {\n var transactionFilter: TransactionFilter = {\n from: startOfISOWeek(this.date).toISOString(),\n to: endOfISOWeek(this.date).toISOString(),\n customerId: this.customerId\n };\n this.loadTransactions(transactionFilter)\n }\n\n private loadBarChartDataMonthly() {\n var transactionFilter: TransactionFilter = {\n from: startOfMonth(this.date).toISOString(),\n to: endOfMonth(this.date).toISOString(),\n customerId: this.customerId\n }\n this.loadTransactions(transactionFilter)\n }\n\n loadTransactions(transactionFilter) {\n this.transactionsService.GetPowerConsumptionCustom(transactionFilter).subscribe(result => {\n this.transactions = plainToClass(TransactionDto, result);\n this.calculateData(transactionFilter)\n }, error => { })\n }\n\n calculateData(filter) {\n this.loading = true;\n const powerData = [];\n const labels = [];\n const from = new Date(filter.from);\n const to = new Date(filter.to);\n\n const numberOfIntervals = Math.ceil((to.getTime() - from.getTime()) / (1000 * 60 * 60 * 24));\n\n for (let i = 0; i <= (numberOfIntervals - 1); i++) {\n const currentDate = new Date(from);\n currentDate.setDate(from.getDate() + i);\n labels.push(currentDate.getDate());\n const nextInterval = new Date(currentDate);\n nextInterval.setDate(currentDate.getDate() + 1);\n const consumptionOfInterval = this.transactions\n .filter(t => new Date(t.startTimestamp) >= currentDate && new Date(t.startTimestamp) < nextInterval)\n .reduce((sum, t) => sum + t.meterAmount, 0);\n\n powerData.push(consumptionOfInterval / 1000.0);\n }\n\n this.setupChart(labels, powerData);\n }\n\n setupChart(labels: string[], powerData: number[]) {\n this.barChartData = powerData;\n this.labels = labels;\n this.xAxisLabel = 'Tag';\n this.totalAmount = this.barChartData.reduce((accumulator, current) => { return accumulator + current; }, 0)\n this.createChart(this.kwText);\n }\n\n public changeChart(type) {\n this.chart.destroy();\n this.loading = true;\n this.ref.detectChanges();\n\n switch (type) {\n case 'week':\n this.loadBarChartDataWeekly();\n break;\n case 'month':\n this.loadBarChartDataMonthly();\n break;\n }\n }\n\n private createChart(label: string) {\n this.canvas = document.getElementById('powerChartDashboard');\n this.ctx = this.canvas.getContext('2d');\n var background_2 = this.ctx.createLinearGradient(0, 0, 0, 600);\n background_2.addColorStop(0, this.chartGradientA);\n background_2.addColorStop(1, this.chartGradientB);\n\n this.chart = new Chart(this.ctx, {\n plugins: [ChartDataLabels],\n type: 'bar',\n data: {\n labels: this.labels,\n datasets: [{\n label: label,\n data: this.barChartData,\n backgroundColor: background_2,\n borderColor: '#f57e00',\n borderWidth: 0,\n barPercentage: 1,\n xAxisID: 'x',\n yAxisID: 'y'\n },\n {\n label: 'Gesamtlademenge in kWh: ' + this.totalAmount.toLocaleString(),\n data: null,\n backgroundColor: 'white',\n xAxisID: 'none',\n }]\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n 'y': {\n beginAtZero: true,\n title: { display: true, text: 'Lademenge in kWh' },\n },\n 'x': {\n title: { display: true, text: this.xAxisLabel },\n },\n 'none': {\n display: false\n }\n },\n plugins: {\n datalabels: {\n anchor: 'center',\n align: 'center',\n labels: {\n value: {\n color: 'white'\n }\n },\n display: function (context) {\n return null //context.dataset.data[context.dataIndex] !== 0;\n }\n },\n legend: {\n title: {\n display: true,\n },\n onClick: null\n },\n }\n }\n });\n this.loading = false;\n }\n\n}\n","
\n
\n
\n
Ladestatistik
\n
\n
\n\n
\n
\n
\n Statistik wird generiert...\n
\n
\n \n
\n \n
\n\n\n
\n
\n
\n
\n
Ladestatistik
\n
\n
\n \n \n \n
\n
\n
\n\n
\n
\n
\n Statistik wird generiert...\n
\n
\n \n
\n \n
\n","import { Component, Injector, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { FilesService } from '@services/files/files.service';\nimport { DashboardProfile } from '../../../dto/dashboardProfile';\nimport { DashboardService } from '../../../services/dashboard/dashboard.service';\nimport { UserDto } from '../../../dto/userDto';\nimport { CustomerDto } from '../../../dto/customerDto';\nimport { CashflowDto } from '@dto/cashflowDto';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { error } from 'console';\n\n@Component({\n selector: 'app-dashboard-profile',\n templateUrl: './dashboard-profile.component.html',\n styleUrls: ['./dashboard-profile.component.scss']\n})\nexport class DashboardProfileComponent implements OnInit {\n\n public dashboardProfile: DashboardProfile;\n public picture;\n public emission: any;\n public tree: any;\n public user: UserDto;\n public customers: CustomerDto[];\n\n public cashflow: CashflowDto;\n public qrCodeIncome: number;\n public qrCodeExpenses: number;\n public autoBillingIncome: number;\n public autoBillingExpenses: number;\n\n public isOperator: boolean\n\n constructor(\n private dashboardService: DashboardService,\n private authenticationService: AuthenticationService,\n private customerService: CustomersService,\n private userService: UsersService,\n private filesService: FilesService,\n public activatedRoute: ActivatedRoute,\n private sanitizer: DomSanitizer,\n public injector: Injector) { }\n\n ngOnInit(): void {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n\n if (this.isOperator){\n this.customerService.getMasterUserOfCustomer(this.activatedRoute.parent.snapshot.params.key).subscribe(masterUser => {\n this.userService.getUserDtoById(masterUser.id).subscribe(user => {\n this.user = user;\n this.dashboardService.getDashboardProfileOfCustomer(this.activatedRoute.parent.snapshot.params.key).subscribe(result => {\n this.dashboardProfile = result;\n this.dashboardProfile.subscriptionType = this.user.subscriptionTypeId;\n this.loadProfilePicture();\n this.getEmissionsData();\n this.getCashflow();\n }, error => {});\n }, error => {});\n })\n } else {\n this.dashboardService.getDashboardProfile().subscribe(result => {\n this.user = this.authenticationService.getLoggedInUser()\n this.dashboardProfile = result;\n this.dashboardProfile.subscriptionType = this.user.subscriptionTypeId;\n this.loadProfilePicture();\n this.getEmissionsData();\n this.getCashflow();\n }, error => {});\n } \n }\n\n getEmissionsData() {\n this.emission = ((this.dashboardProfile.powerData * 3.6 * 94.1) / 1000 / 1000) - ((this.dashboardProfile.powerData * 3.6 * 119 * 0.4) / 1000 / 1000);\n\n this.tree = Math.floor(this.emission / 12.5);\n this.emission = this.emission / 1000;\n }\n\n isOperatorView(): boolean {\n return this.authenticationService.userHasRole(\"Operator\");\n }\n\n isCustomerView(): boolean {\n return this.authenticationService.userHasRole(\"Customer\") || this.isOperatorView();\n }\n\n isUserView(): boolean {\n return this.authenticationService.userHasRole(\"User\");\n }\n\n loadProfilePicture() {\n if (this.dashboardProfile.pictureFileName) {\n this.filesService.getPicture(this.dashboardProfile.pictureFileName).subscribe(result => {\n var unsafeImageUrl = URL.createObjectURL(result);\n this.picture = this.sanitizer.bypassSecurityTrustUrl(unsafeImageUrl);\n }, error => {})\n } else {\n console.warn(`User has no profile picture.`)\n }\n }\n\n getCashflow() {\n if (this.isCustomerView()) {\n this.dashboardService.getCashflowOfCustomer(this.user.selectedCustomerId).subscribe(cash => {\n this.cashflow = cash\n }, error => { console.log(error) })\n \n } else if (this.isUserView()) {\n this.dashboardService.getCashflowOfUser(this.user.id).subscribe(cash => {\n this.cashflow = cash\n if (this.cashflow.autoBillingExpenses > 0 && this.cashflow.autoBillingExpenses < 100) {\n this.cashflow.autoBillingExpenses = 100;\n }\n }, error => {console.log(error) })\n }\n }\n}\n","
\n\n
\n
\n
\n
\n \n \n {{dashboardProfile.internalDescription}} ({{ dashboardProfile.firstName }})\n \n \n Hallo, {{ dashboardProfile.firstName }}!\n \n \n \n \n Enterprise\n Premium\n Standard\n Basic\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
{{dashboardProfile.firstName\n }} {{dashboardProfile.lastName}}\n
\n
\n
\n
{{dashboardProfile.firstName}} {{dashboardProfile.lastName}}
\n
\n
\n
{{dashboardProfile.firstName}} {{dashboardProfile.lastName}}
\n
\n
\n \n
\n

{{ dashboardProfile.powerData / 1000 | number:\"1.1-1\" }} kWh

Lademenge gesamt
\n

{{ dashboardProfile.monthlyPowerData / 1000 | number:\"1.1-1\" }} kWh

in diesem Monat
\n
\n\n \n
\n

0,000 kWh

Lademenge gesamt
\n

0,000 kWh

in diesem Monat
\n
\n
\n\n
\n

{{ dashboardProfile.totalNumberOfCharges }}

Ladevorgänge gesamt
\n

{{ dashboardProfile.averagePowerConsumption / 1000 | number:\"1.1-1\"}} kWh

im Durchschnitt
\n
\n\n \n
\n

0

Ladevorgänge gesamt
\n

0,000 kWh

im Durchschnitt
\n
\n
\n\n
\n

{{ cashflow.autoBillingExpenses / 100 | currency:'EUR' }}

Ausgaben durch Laden in diesem Monat
\n
\n
\n\n
\n

{{ cashflow.qrCodeIncome / 100 | currency:'EUR' }}

Einnahmen aus QR-Code-Laden in diesem Monat
\n

{{ cashflow.autoBillingIncome / 100 | currency:'EUR' }}

Einnahmen aus Autom. Abrechnung in diesem Monat
\n
\n\n
\n
\n

\n {{ this.emission | number:\"1.1-1\"}}t ≙ {{ this.tree }} \n \n \n \n \n \n \n \n \n \n \n

\n CO2 Ersparnis*\n
\n
*Der Wert steht für die Einsparung von CO2 Emissionen gegenüber herkömmlichen Kraftstoffen.
\n
\n
 
\n \n \n
\n
\n
\n
\n \n
\n","import { Component, OnInit, OnDestroy, Input } from '@angular/core';\nimport { TransactionDto } from '../../../dto/transactionDto';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { Subscription, interval } from 'rxjs';\nimport { RemoteStartStopDialogContentComponent } from '@components/dialog/remote-start-stop-dialog-content/remote-start-stop-dialog-content.component';\nimport { ChargingPowerProfile } from '@models/chargingPowerProfile';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { RunningTransactionDetails } from '@dto/runningTransactionDetails';\nimport * as _ from 'lodash-es';\nimport { ChargingPointStatusEnum } from '@enums/chargingPointStatus.enum';\n\n@Component({\n selector: 'app-dashboard-running-transactions',\n templateUrl: './dashboard-running-transactions.component.html',\n styleUrls: ['./dashboard-running-transactions.component.scss']\n})\nexport class DashboardRunningTransactionsComponent implements OnInit, OnDestroy {\n\n @Input() initialTransactions: TransactionDto[];\n public entities: TransactionDto[];\n public selectedTransaction: TransactionDto;\n private refreshEntity: Subscription;\n public isViewingSelectedTransaction: boolean = false;\n public isOperator: boolean;\n public force: boolean;\n public transactionTotalPower: number = 0;\n public loading: boolean = true\n public sortRunningTransaction: string;\n public sortDirection: string;\n\n constructor(\n private authenticationService: AuthenticationService,\n private activatedRoute: ActivatedRoute,\n private transactionsService: TransactionsService,\n private dialog: NgbModal) { }\n\n\n ngOnInit(): void {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n this.entities = this.initialTransactions\n\n this.updateEntities();\n this.setRefreshEntities();\n }\n\n ngOnDestroy(): void {\n this.refreshEntity.unsubscribe();\n }\n\n calcDiff(starttime: string) {\n var startTime = new Date(starttime);\n var difference = Date.now() - (startTime.getTime()); // This will give difference in milliseconds\n return this.humanReadableDuration(difference);\n }\n\n sortEntities(event) {\n if (event) {\n this.sortRunningTransaction = event.target.value;\n }\n if (this.sortRunningTransaction = \"status\") { \n if (this.sortDirection != 'asc') {\n this.entities.sort((a, b) => a.status.id > b.status.id ? 1 : -1);\n this.sortDirection = 'asc';\n } else {\n this.entities.sort((a, b) => a.status.id > b.status.id ? 1 : -1).reverse();\n this.sortDirection = \"desc\"\n }\n } else {\n if (this.sortDirection != 'asc') {\n this.entities.sort((a, b) => a.startTimestamp < b.startTimestamp ? 1 : -1);\n this.sortDirection = 'asc';\n } else {\n this.entities.sort((a, b) => a.startTimestamp > b.startTimestamp ? 1 : -1).reverse();\n this.sortDirection = \"desc\"\n }\n }\n //}\n }\n\n updateEntities() {\n if(this.isOperator) {\n this.transactionsService.getRunningTransactionsDetailOfCustomer(this.activatedRoute.parent.snapshot.params.key).subscribe(result => {\n this.mapDetails(result);\n }, error => {});\n } else {\n this.transactionsService.getRunningTransactionsDetail().subscribe(result => {\n this.mapDetails(result);\n }, error => {});\n }\n }\n\n trackBy(field: string): (_index: number, item: any) => string | number {\n return (_index: number, item: any) => {\n if (!item) {\n return null;\n }\n return item[field] as (string | number);\n };\n }\n\n setRefreshEntities() {\n this.refreshEntity = interval(30000).subscribe(async (val) => {\n this.updateEntities();\n })\n }\n\n humanReadableDuration(msDuration: number): string {\n const h = Math.floor(msDuration / 1000 / 60 / 60);\n const m = Math.floor((msDuration / 1000 / 60 / 60 - h) * 60);\n const s = Math.floor(((msDuration / 1000 / 60 / 60 - h) * 60 - m) * 60);\n\n const seconds: string = s < 10 ? `0${s}` : `${s}`;\n const minutes: string = m < 10 ? `0${m}` : `${m}`;\n const hours: string = h < 10 ? `0${h}` : `${h}`;\n\n if (hours == \"00\" || hours == \"0\") {\n return `${minutes} Minuten`;\n }\n if (hours == \"01\") {\n return `${hours} Stunde ${minutes} Minuten`;\n }\n return `${hours} Stunden ${minutes} Minuten`;\n }\n\n mapDetails(details: RunningTransactionDetails[]) {\n this.transactionTotalPower = 0;\n \n for (let entity of this.entities) {\n entity.duration = this.calcDiff(entity.startTimestamp.toString());\n \n const detail = details.find(d => d.id == entity.id);\n // only show charging point status, if charging station itself is ok\n entity.status = detail.chargingStationStatus.id == ChargingPointStatusEnum.Available ? detail.chargingPointStatus : detail.chargingStationStatus;\n entity.chargingPowerProfile = detail.chargingPowerProfile ? detail.chargingPowerProfile : new ChargingPowerProfile({ id: 1, name: 'Standard', key: 'now' });\n entity.currentMeter = detail.currentMeterValue;\n entity.currentPower = detail.currentPower;\n entity.currentSoC = detail.currentSoC;\n this.transactionTotalPower += Number.parseInt(detail.currentPower); //unit unknown\n }\n\n this.loading = false;\n }\n\n selectTransaction(id) {\n this.selectedTransaction = this.entities.find(t => t.id == id)\n if (this.selectedTransaction.currentMeter == null) {\n this.selectedTransaction.meterAmount = 0;\n } else {\n this.selectedTransaction.meterAmount = this.selectedTransaction.currentMeter - this.selectedTransaction.meterStart;\n }\n this.isViewingSelectedTransaction = true\n }\n\n closePopup() {\n this.isViewingSelectedTransaction = false\n }\n\n openRemoteStopDialog(transaction: TransactionDto, transactionId) {\n this.selectedTransaction = this.entities.find(t => t.id == transactionId)\n if (this.force) {\n this.transactionsService.closeTransaction(this.selectedTransaction.id).subscribe(res => {\n if (res) {\n this.updateEntities();\n }\n }, error => { })\n } else {\n const dialogRef = this.dialog.open(RemoteStartStopDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.transaction = transaction;\n }\n }\n\n getChargingPointPosition(transaction: TransactionDto) {\n if (!transaction) return ''\n if (!transaction.chargingStationNumberOfChargingPoints) return ''\n\n if (transaction.chargingStationNumberOfChargingPoints > 1) {\n return `(Ladepunkt ${transaction.connectorId})`\n }\n\n return ''\n }\n\n matches(entity: TransactionDto, term: string) {\n return TransactionsService.matches(entity, term);\n }\n}\n","
=1\" [ngStyle]=\"{'margin-bottom': (isOperator) ? '2em' : '0'}\">\n
\n
\n Aktive Ladevorgänge\n \n Gesamtladeleistung: {{ transactionTotalPower | kwh }} kW\n \n
\n
\n\n
\n \n \n
\n
\n
\n \n {{ transaction.chargingStationName }} {{ getChargingPointPosition(transaction) }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n \n Kostenlos\n \n \n Gast über QR-Code\n \n \n Gast über eRoaming\n \n \n Gast über Terminal\n \n \n {{ transaction.userFirstName }} {{ transaction.userLastName}}\n \n
\n\n
\n \n\n \n \n\n \n \n\n \n {{ transaction.currentPower | kwh }} kW\n \n
\n\n
\n\n \n {{ transaction.duration }}\n {{ transaction.currentSoC }}%\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n
\n\n\n\n","import {\n Component,\n Injector,\n Input,\n Output,\n EventEmitter,\n OnInit,\n} from \"@angular/core\";\nimport { TransactionDto } from \"../../../../dto/transactionDto\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DatePipe } from \"@angular/common\";\nimport { TransactionsService } from \"@services/entity/transactions.service\";\nimport { AuthenticationService } from \"@services/authentication/authentication.service\";\nimport { RemoteStartStopDialogContentComponent } from \"@components/dialog/remote-start-stop-dialog-content/remote-start-stop-dialog-content.component\";\nimport { ActivatedRoute } from \"@angular/router\";\n\n@Component({\n selector: \"running-transaction-popup\",\n templateUrl: \"./running-transaction-popup.component.html\",\n styleUrls: [\"./running-transaction-popup.component.scss\"],\n})\nexport class RunningTransactionPopupComponent implements OnInit {\n @Input() transaction: TransactionDto;\n @Input() isOpen: boolean = false;\n @Output() isClosing: EventEmitter = new EventEmitter();\n public isOperator: boolean;\n public isCustomer: boolean;\n public isUser: boolean;\n public isRequestingSupport: boolean = false;\n public customerId: string;\n\n constructor(\n private authenticationService: AuthenticationService,\n public datePipe: DatePipe,\n private dialog: NgbModal,\n public injector: Injector,\n private route: ActivatedRoute\n ) {}\n\n ngOnInit(): void {\n this.customerId = this.route.parent.snapshot.params.key;\n\n if (this.authenticationService.userHasRole(\"Operator\"))\n this.isOperator = true;\n if (this.authenticationService.userHasRole(\"Customer\"))\n this.isCustomer = true;\n if (this.authenticationService.userHasRole(\"User\")) this.isUser = true;\n }\n\n close() {\n this.isClosing.emit(true);\n }\n\n openRemoteStopDialog(transaction: TransactionDto) {\n const dialogRef = this.dialog.open(RemoteStartStopDialogContentComponent, {\n centered: true,\n backdrop: \"static\",\n });\n dialogRef.componentInstance.transaction = transaction;\n }\n\n getChargingPointPosition(transaction: TransactionDto) {\n if (!transaction) return \"\";\n if (!transaction.chargingStationNumberOfChargingPoints) return \"\";\n\n if (transaction.chargingStationNumberOfChargingPoints > 1) {\n return `(Ladepunkt ${transaction.connectorId})`;\n }\n\n return \"\";\n }\n\n matches(entity: TransactionDto, term: string) {\n return TransactionsService.matches(entity, term);\n }\n\n openSupportPopup() {\n this.isRequestingSupport = true;\n }\n\n closeSupportPopup() {\n this.isRequestingSupport = false;\n }\n}\n","
\n \n\n
\n
\n {{ transaction?.chargingStationName }} {{ getChargingPointPosition(transaction) }}\n\n \n
\n\n

\n {{transaction?.id}}\n \n Kostenloser Ladevorgang\n \n\n \n Gast über QR-Code-Laden\n \n\n \n Gast über eRoaming\n \n\n \n Gast über Terminal\n \n\n \n {{ transaction?.userFirstName }} {{ transaction?.userLastName}}\n \n

\n\n

\n \n \n \n

\n \n {{transaction?.meterAmount | kwh:1}} kWh\n \n \n — kWh\n \n\n
\n \n \n\n \n \n\n \n {{ transaction.currentPower | kwh }} kW\n \n \n
\n\n

\n \n Autorisierung mit RFID-Tag {{ transaction?.rfidCardIdTag }}\n \n\n \n Start am {{ transaction?.startTimestamp | dateDE }}\n \n\n \n Läuft seit {{ transaction?.duration }}\n \n\n \n Ladeleistung bei durchschnittlich {{ transaction?.chargeDiameter }} kW\n \n

\n\n
\n \n \n \n \n\n \n
\n
\n
\n\n\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { DecimalPipe } from '@angular/common';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { TransactionDto } from '../../../dto/transactionDto';\nimport { TransactionSuccess } from '../../../enums/transaction-success.enum';\nimport { TableColumn } from '../../../models/tableColumn';\nimport { TableOptions } from '../../../models/tableOptions';\nimport { DEDatePipe } from '../../../pipes/de-date.pipe';\nimport { KwhPipe } from '../../../pipes/kwh.pipe';\nimport { ThousandPipe } from '../../../pipes/thousand.pipe';\nimport { TransactionsService } from '../../../services/entity/transactions.service';\nimport { RouteDataService } from '../../../services/route-data/route-data.service';\n\n\n@Component({\n selector: 'app-dashboard-transactions',\n templateUrl: './dashboard-transactions.component.html',\n styleUrls: ['./dashboard-transactions.component.scss']\n})\nexport class DashboardTransactionsComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'DashboardTransactionsComponent';\n\n public entities: TransactionDto[];\n\n public tableColumns: TableColumn[] = [\n { columnDescription: 'Trans-ID', property: 'id' },\n { columnDescription: 'Status', property: 'successMessage' },\n { columnDescription: 'Ladestation', property: 'chargingStationName' },\n { columnDescription: 'Vorname', property: 'userFirstName' },\n { columnDescription: 'Nachname', property: 'userLastName' },\n { columnDescription: 'kWh', property: 'meterAmount', options: { columnPipe: { pipe: new KwhPipe } } },\n { columnDescription: 'Datum', property: 'startTimestamp', options: { columnPipe: { pipe: new DEDatePipe() } } },\n ];\n\n public tableOptions: TableOptions = { hideActions: true, hideSearch: true };\n\n public isUser: boolean = false;\n public isCustomer: boolean = false;\n public isOperator: boolean = false;\n public isSupporter: boolean = false;\n\n constructor(\n public transactionsService: TransactionsService, \n private routeDataService: RouteDataService, \n injector: Injector\n ) {\n super(transactionsService, injector);\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n }\n\n async initializeEntities() {\n this.getRoles();\n\n if (this.isOperator)\n {\n this.transactionsService.getTransactionsOfLast7DaysOfCustomer(this.activatedRoute.parent.snapshot.params.key).subscribe(result => {\n this.entities = result\n this.mapSuccessMessage();\n \n this.tableFunctions.sortColumn = 'startTimestamp';\n this.tableFunctions.sortDirection = 'desc';\n \n super.setupTable();\n }, error => {});\n }\n else\n {\n this.transactionsService.getTransactionsOfLast7Days().subscribe(result => {\n this.entities = result\n this.mapSuccessMessage();\n \n this.tableFunctions.sortColumn = 'startTimestamp';\n this.tableFunctions.sortDirection = 'desc';\n \n super.setupTable();\n }, error => {});\n }\n\n }\n\n mapSuccessMessage() {\n for (let lastTransactionsDto of this.entities) {\n lastTransactionsDto.successMessage = TransactionSuccess[lastTransactionsDto.success];\n }\n }\n\n matches(entity: TransactionDto, term: string) {\n return TransactionsService.matches(entity, term);\n }\n\n}\n","
\n
\n
\n
\n
Neueste abgeschlossene Ladevorgänge
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n Loading...\n
\n
\n
\n\n \n
\n\n
\n
\n
\n
\n
Neueste abgeschlossene Ladevorgänge
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n Loading...\n
\n
\n
\n\n \n
\n","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { UserDto } from '@dto/userDto';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { PricingDto } from '@dto/pricingDto';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { TransactionDto } from '@dto/transactionDto';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss']\n})\nexport class DashboardComponent extends ComponentBase implements OnInit {\n\n public className = 'DashboardComponent';\n public showRunningTransactions: boolean = false;\n public runningTransactions: TransactionDto[]\n private user: UserDto = this.authenticationService.getLoggedInUser();\n public pricing: PricingDto;\n public showAutoBillingNotification: boolean = false\n\n public isOperator: boolean\n public hasBlackbox: boolean = false;\n public customerId: number;\n\n public componentReady: boolean = false;\n\n constructor(\n private transactionsService: TransactionsService,\n private stripeInfosService: StripeInfosService,\n private pricingsService: PricingsService,\n private customerService: CustomersService,\n private userService: UsersService,\n public activatedRoute: ActivatedRoute,\n private router: Router,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isOperator = false\n this.checkRolesAndInitRequest()\n }\n\n checkRolesAndInitRequest() {\n if (this.authenticationService.userHasRole('Operator')) {\n this.isOperator = true;\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n if (this.customerId == null) this.router.navigateByUrl(\"/operator\");\n }\n this.checkRunningTransactions();\n if (this.isOperator) {\n if (this.customerId == null) return\n this.customerService.getMasterUserOfCustomer(this.customerId).subscribe(masterUser => {\n this.userService.getUserDtoById(masterUser.id).subscribe(user => {\n this.user = user\n if (this.user && this.user.pricingId) {\n this.getPricing()\n }\n })\n })\n } else {\n this.authenticationService.getLoggedInUserSubject().subscribe(user => {\n if (user == null) return\n this.user = user\n if (this.user && this.user.pricingId) {\n this.getPricing()\n }\n })\n }\n this.componentReady = true\n }\n\n getPricing() {\n if (this.user) {\n this.pricingsService.getPricing(this.user.pricingId).subscribe(pricing => {\n this.pricing = pricing;\n\n if (this.user && this.authenticationService.userHasRole(\"User\")) {\n this.getStripeInfoOfUser()\n }\n }, error => { });\n }\n }\n\n getStripeInfoOfUser() {\n this.stripeInfosService.getStripeInfoOfUser(this.user.id).subscribe(stripeInfo => {\n if (this.user.pricingId != null\n && this.pricing.billingMethod == BillingMethodEnum.Automatic\n && !stripeInfo.stripePaymentMethodId) {\n this.showAutoBillingNotification = true\n }\n })\n }\n\n checkRunningTransactions() {\n if (this.isOperator) {\n if (this.customerId == null) return\n this.transactionsService.getRunningTransactionsOfCustomer(this.customerId).subscribe(result => {\n if (result.length >= 1) {\n this.runningTransactions = result;\n this.showRunningTransactions = true;\n }\n }, error => { });\n } else {\n this.transactionsService.getRunningTransactions().subscribe(result => {\n if (result.length >= 1) {\n this.runningTransactions = result;\n this.showRunningTransactions = true;\n }\n }, error => { });\n }\n }\n}\n","
\n \n
\n
\n Loading...\n
\n
\n
\n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n Automatische monatliche Abrechnung Ihrer Ladevorgänge\n
\n \n
\n\n
\n
\n

Ihr Tarif in diesem Ladepark

\n

Um die Nutzung der Ladestationen zu erleichtern, verwendet dieser\n Ladepark die automatische monatliche Abrechnung.

\n

Bitte geben Sie eine Zahlungsmethode an, damit wir die anfallenden Kosten\n für das Laden Ihres Elektrofahrzeugs jeden Monat automatisch von Ihrem Konto abbuchen können.

\n
\n
\n

{{ pricing.name }}

\n

{{ pricing.price | currency:'EUR' }}

\n

{{ pricing.description }}

\n

pro geladener kWh. Monatlich abgerechnet je nach Nutzung. Die Berechnung erfolgt in Wh. 1 kWh\n entspricht 1000 Wh.

\n
\n
\n\n
\n \n
\n
\n
\n\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Injector } from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-cancel-subscription-dialog-content',\n templateUrl: './cancel-subscription-dialog-content.component.html',\n styleUrls: ['./cancel-subscription-dialog-content.component.scss']\n})\nexport class CancelSubscriptionDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CancelSubscriptionDialogContentComponent';\n\n constructor(\n public activeModal: NgbActiveModal,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n onConfirm() {\n this.activeModal.close({ confirmed: true });\n }\n\n}\n","
\n
Abonnement kündigen
\n \n
\n\n
\n
\n
!
\n
\n
Sind Sie sicher?
\n
\n\n
\n \n \n
\n","/// \nimport { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { ChangePasswordRequest } from '@dto/changePasswordRequest';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PasswordConfirmationValidatorService } from '@services/custom-validators/password-confirm-validator.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { ChangePasswordSuccessContentComponent } from '@components/dialog/change-password-success-dialog-content/change-password-success-dialog-content.component';\n\n@Component({\n selector: 'app-change-password-dialog-content',\n templateUrl: './change-password-dialog-content.component.html',\n styleUrls: ['./change-password-dialog-content.component.scss'],\n providers: [FormService]\n})\nexport class ChangePasswordDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'ChangePasswordDialogContentComponent';\n\n public form: UntypedFormGroup;\n\n public passwordHasUpperCase: boolean = false\n public passwordHasLowerCase: boolean = false;\n public passwordHasDigit: boolean = false\n public passwordHasLength: boolean = false\n public passwordHasSpecialCharacter: boolean = false\n public passwordQuality: number = 0\n public passwordIsMatching: boolean = false\n public passwordRating: string = ''\n public passwordRatings: Array = [\n '', 'Sehr Schwach', 'Schwach', 'Ausreichend', 'Gut', 'Stark', 'Sehr Stark', 'Super Stark', 'Stark wie Krupp Stahl'\n ]\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private usersService: UsersService,\n private dialog: NgbModal,\n private passwordConfirmValidator: PasswordConfirmationValidatorService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.validators = {\n currentPassword: [Validators.required],\n newPassword: [Validators.required, Validators.pattern(/(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)/g), Validators.minLength(10)],\n newPasswordConfirm: [Validators.required, Validators.pattern(/(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)/g), Validators.minLength(10)],\n }\n\n this.formService.form = new UntypedFormGroup({\n currentPassword: new UntypedFormControl('', this.formService.validators['currentPassword']),\n newPassword: new UntypedFormControl('', this.formService.validators['newPassword']),\n newPasswordConfirm: new UntypedFormControl('', this.formService.validators['newPasswordConfirm']),\n });\n\n this.formService.form.get('newPasswordConfirm').setValidators([Validators.required,\n this.passwordConfirmValidator.validateConfirmPassword(this.formService.form.get('newPassword'))]);\n }\n\n onSubmit(formValue) {\n const changePasswordRequest: ChangePasswordRequest = {\n currentPassword: formValue.currentPassword,\n newPassword: formValue.newPassword\n }\n\n this.usersService.changePasswordOfCurrentUser(changePasswordRequest).subscribe(result => {\n if (result.isSuccess) {\n this.openChangePasswordSuccessDialog();\n }\n }, error => {\n this.messageService.setError(error);\n });\n }\n\n openChangePasswordSuccessDialog() {\n const dialogRef = this.dialog.open(ChangePasswordSuccessContentComponent, { centered: true, backdrop: 'static' });\n this.activeModal.close();\n }\n\n checkPassword(p) {\n // This regex will enforce these rules:\n // At least one upper case English letter, (?=.*?[A-Z])\n // At least one lower case English letter, (?=.*?[a-z])\n // At least one digit, (?=.*?[0-9])\n // At least one special character, (?=.*?[#?!@$%^&*-])\n // Minimum ten in length. {10,}\n\n // let requirements = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d){10,}$/\n\n this.passwordQuality = 0\n\n let upperCase = /^(?=.*[A-Z])/g\n this.passwordHasUpperCase = upperCase.test(p)\n if (upperCase.test(p) && p.match(upperCase) && p.length > this.passwordQuality * 2) this.passwordQuality += 1\n\n let lowerCase = /^(?=.*[a-z])/g\n this.passwordHasLowerCase = lowerCase.test(p)\n if (lowerCase.test(p) && p.match(lowerCase) && p.length > this.passwordQuality * 2) this.passwordQuality += 1\n\n let digit = /^(?=.*\\d)/g\n this.passwordHasDigit = digit.test(p)\n if (digit.test(p) && p.match(digit) && p.length > this.passwordQuality * 2) this.passwordQuality += 1\n\n this.passwordHasLength = p.length >= 10\n this.passwordQuality += parseInt(Math.abs(p.length / 10).toFixed(0))\n\n let specialCharacter = /^(?=.*?[#?!@$%^&*-])/\n this.passwordHasSpecialCharacter = specialCharacter.test(p)\n if (specialCharacter.test(p)) this.passwordQuality += 1\n\n if (this.passwordQuality > this.passwordRatings.length - 1) {\n this.passwordRating = this.passwordRatings[this.passwordRatings.length]\n } else {\n this.passwordRating = this.passwordRatings[this.passwordQuality]\n }\n\n this.passwordIsMatching = this.formService.form.get('password').value == this.formService.form.get('confirm').value\n }\n}\n","
\n
Passwort ändern
\n \n
\n
\n \n\n
\n
\n \n \n
\n Aktuelles Passwort wird benötigt\n
\n
\n
\n \n \n \n
\n Neues Passwort wird benötigt\n
\n
\n Großbuchstabe\n Kleinbuchstabe\n Ziffer\n 10 Zeichen lang\n Sonderzeichen\n
\n
\n
\n \n \n
\n Neues Passwort muss wiederholt werden\n Passwörter müssen übereinstimmen\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n","/// \nimport { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PasswordConfirmationValidatorService } from '@services/custom-validators/password-confirm-validator.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { ChangePasswordRequest } from '../../../dto/changePasswordRequest';\n\n@Component({\n selector: 'app-change-password-for-customer-dialog-content',\n templateUrl: './change-password-for-customer-dialog-content.component.html',\n styleUrls: ['./change-password-for-customer-dialog-content.component.scss'],\n providers: [FormService]\n})\nexport class ChangePasswordDialogForCustomerContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'ChangePasswordDialogForCustomerContentComponent';\n\n public form: UntypedFormGroup;\n @Input() private customerId: number;\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private usersService: UsersService,\n private passwordConfirmValidator: PasswordConfirmationValidatorService,\n private activatedRoute: ActivatedRoute,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.form = new UntypedFormGroup({\n newPassword: new UntypedFormControl('', [Validators.required]),\n newPasswordConfirm: new UntypedFormControl(''),\n });\n\n this.formService.form.get('newPasswordConfirm').setValidators([Validators.required,\n this.passwordConfirmValidator.validateConfirmPassword(this.formService.form.get('newPassword'))]);\n }\n\n onSubmit(formValue) {\n const changePasswordRequest: ChangePasswordRequest = {\n newPassword: formValue.newPassword\n }\n\n this.usersService.changePasswordOfCustomer(changePasswordRequest, this.customerId).subscribe(result => {\n if (result.isSuccess) {\n this.messageService.setSuccess($localize`:@@ChangePasswordSuccess: Ihr Passwort wurde zurückgesetzt.`);\n }\n }, error => {\n this.messageService.setError(error);\n });\n \n }\n\n}\n","
\n
Passwort ändern
\n \n
\n
\n \n\n
\n
\n \n \n
\n Neues Passwort wird benötigt\n
\n
\n
\n \n \n
\n Neues Passwort muss wiederholt werden\n Passwörter müssen übereinstimmen\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-change-password-success-dialog-content',\n templateUrl: './change-password-success-dialog-content.component.html',\n styleUrls: ['./change-password-success-dialog-content.component.scss']\n})\nexport class ChangePasswordSuccessContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'ChangePasswordSuccessContentComponent';\n\n public form: UntypedFormGroup;\n\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.form = new UntypedFormGroup({\n });\n }\n\n onSubmit(formValue) {\n this.authenticationService.logout();\n this.router.navigate([\"logout-callback\"]);\n this.activeModal.close();\n }\n\n}\n","
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n\n

Ihr Passwort wurde geändert!

\n
\n
\n Ihr neues Passwort ist ab sofort gültig. Mit dem Klick auf \"Ok\" werden Sie automatisch abgemeldet und müssen sich mit ihrem neuen Passwort anmelden.\n
\n\n
\n
\n
\n \n
\n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { AfterViewInit, Component, Inject, Injector, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ChargingParkSubscriptionComponent } from '@components/manage/profile/charging-park-subscription/charging-park-subscription.component';\nimport { UserProfile } from '@dto/userProfile';\nimport { IEntity } from '@interfaces/entity';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-charging-park-subscription-dialog-content',\n templateUrl: './charging-park-subscription-dialog-content.component.html',\n styleUrls: ['./charging-park-subscription-dialog-content.component.scss']\n})\nexport class ChargingParkSubscriptionDialogContentComponent extends AbstractDialogContent implements OnInit, AfterViewInit {\n\n public className = 'ChargingParkSubscriptionDialogContentComponent';\n \n @Input() private stripeAccountId: string;\n @ViewChild('chargingParkSubscriptionComponent') chargingParkSubscriptionComponent: ChargingParkSubscriptionComponent;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n public activeModal: NgbActiveModal,\n public formService: FormService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngAfterViewInit() {\n this.chargingParkSubscriptionComponent.parkOwnerStripeAccountId = this.stripeAccountId;\n }\n\n newEntityEvent(entity: IEntity) {\n this.activeModal.close();\n }\n}","\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingParkSubscriptionDialogContentComponent } from './charging-park-subscription-dialog-content/charging-park-subscription-dialog-content.component';\n\n@Component({\n selector: 'app-charging-park-subscription-dialog',\n template: ''\n})\nexport class ChargingParkSubscriptionDialogComponent implements OnInit {\n\n constructor(\n public dialog: NgbModal,\n private router: Router,\n private activatedRoute: ActivatedRoute\n ) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(ChargingParkSubscriptionDialogContentComponent, { size: 'lg', centered: true, backdrop: 'static' });\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { IEntity } from '@interfaces/entity';\nimport { ChargingStation } from '@models/charging-station';\nimport { ChargingPoint } from '@models/chargingPoint';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport Swal from 'sweetalert2';\nimport { Address } from '../../../../models/address';\n\n@Component({\n selector: 'app-create-charging-station-assistent-dialog-content',\n templateUrl: './create-charging-station-assistent-dialog-content.component.html',\n styleUrls: ['./create-charging-station-assistent-dialog-content.component.scss']\n})\nexport class CreateChargingStationAssistentDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateChargingStationAssistentDialogContentComponent';\n\n public customerId: number;\n\n constructor(\n public activeModal: NgbActiveModal,\n public chargingStationsService: ChargingStationsService,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n onSubmit(formValue) {\n //console.log(formValue);\n var address = new Address();\n address.city = formValue.city;\n address.postalCode = formValue.postalCode;\n address.houseNumber = formValue.houseNumber;\n address.street = formValue.street;\n formValue.Address = address;\n formValue.location = formValue.street + \" \" + formValue.houseNumber + \", \" + formValue.postalCode + \" \" + formValue.city;\n var entity = new ChargingStation(formValue);\n //console.log(entity);\n\n if (this.customerId) {\n this.chargingStationsService.createChargingstationForCustomer(this.customerId, entity).subscribe(data => {\n this.activeModal.close();\n this.toastService.success($localize`:@@CreateDialogSaveSuccessHeader:Ladestation erfolgreich gespeichert.`);\n }, error => {});\n\n } else {\n this.chargingStationsService.createEntity(entity).subscribe(data => {\n this.activeModal.close();\n this.toastService.success($localize`:@@CreateDialogSaveSuccessHeader:Ladestation erfolgreich gespeichert.`);\n }, error => {});\n }\n }\n\n newEntityEvent(entity: IEntity) {\n this.activeModal.close();\n }\n\n onCancelClick() {\n this.activeModal.close();\n }\n}\n"," \n \n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CreateChargingStationAssistentDialogContentComponent } from './create-charging-station-assistent-dialog-content/create-charging-station-assistent-dialog-content.component';\n\n@Component({\n selector: 'app-create-chargingstation-assistent',\n template: ''\n})\nexport class CreateChargingStationAssistentDialogComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private router: Router, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n\n const dialogRef = this.dialog.open(CreateChargingStationAssistentDialogContentComponent, { centered: true, backdrop: 'static', size: 'lg' });\n\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { IEntity } from '@interfaces/entity';\nimport { ChargingStation } from '@models/charging-station';\nimport { ChargingPoint } from '@models/chargingPoint';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport Swal from 'sweetalert2';\nimport { Address } from '../../../../models/address';\n\n@Component({\n selector: 'app-create-charging-station-dialog-content',\n templateUrl: './create-charging-station-dialog-content.component.html',\n styleUrls: ['./create-charging-station-dialog-content.component.scss']\n})\nexport class CreateChargingStationDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateChargingStationDialogContentComponent';\n\n public customerId: number;\n\n constructor(\n public activeModal: NgbActiveModal,\n public chargingStationsService: ChargingStationsService,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n onSubmit(formValue) {\n //console.log(formValue);\n var address = new Address();\n address.city = formValue.city;\n address.postalCode = formValue.postalCode;\n address.houseNumber = formValue.houseNumber;\n address.street = formValue.street;\n formValue.Address = address;\n formValue.location = formValue.street + \" \" + formValue.houseNumber + \", \" + formValue.postalCode + \" \" + formValue.city;\n var entity = new ChargingStation(formValue);\n //console.log(entity);\n\n if (this.customerId) {\n this.chargingStationsService.createChargingstationForCustomer(this.customerId, entity).subscribe(data => {\n this.activeModal.close();\n this.toastService.success($localize`:@@CreateDialogSaveSuccessHeader:Ladestation erfolgreich gespeichert.`);\n }, error => {});\n\n } else {\n this.chargingStationsService.createEntity(entity).subscribe(data => {\n this.activeModal.close();\n this.toastService.success($localize`:@@CreateDialogSaveSuccessHeader:Ladestation erfolgreich gespeichert.`);\n }, error => {});\n }\n }\n\n newEntityEvent(entity: IEntity) {\n this.activeModal.close();\n }\n}\n","\n
\n
\n
Ladestation erstellen
\n \n
\n\n
\n \n
\n\n
\n Abbrechen\n
\n \n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CreateChargingStationDialogContentComponent } from './create-charging-station-dialog-content/create-charging-station-dialog-content.component';\n\n@Component({\n selector: 'app-create-user-dialog',\n template: ''\n})\nexport class CreateChargingStationDialogComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private router: Router, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n\n const dialogRef = this.dialog.open(CreateChargingStationDialogContentComponent, { centered: true, backdrop: 'static', size:'lg' });\n\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '../../../../abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { IEntity } from '../../../../interfaces/entity';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Manufacturer } from '../../../../models/manufacturer';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ManufacturersService } from '../../../../services/entity/manufacturer.services';\nimport { ModelsService } from '../../../../services/entity/models.services';\nimport { FormService } from '../../../../services/form/form.service';\nimport { ToastService } from '../../../../services/toast/toast.service';\nimport { FilesService } from '@services/files/files.service';\nimport Swal from 'sweetalert2';\nimport { Model } from '../../../../models/model';\nimport { Profile } from '../../../../models/profile';\nimport { ManufacturerDto } from '../../../../dto/manufacturerDto';\nimport { ModelDto } from '../../../../dto/modelDto';\nimport { PatchUserProfilePicture } from '../../../../dto/httpPatch/userProfile';\nimport { UploadResponse } from '../../../../dto/uploadResponse';\n\n@Component({\n selector: 'app-create-chargingstationprofile-dialog-content',\n templateUrl: './create-chargingstationprofile-dialog-content.component.html',\n styleUrls: ['./create-chargingstationprofile-dialog-content.component.scss'],\n})\n\nexport class CreateChargingStationProfileDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateChargingStationProfileDialogContentComponent';\n\n public customerId: number;\n\n public picture: File;\n public pictureUri: string;\n\n public manufacturer: ManufacturerDto[];\n\n selected: any;\n filtered: any;\n formCreated = false;\n \n\n constructor(\n public activeModal: NgbActiveModal,\n public manufacturerService: ManufacturersService,\n public modelsService: ModelsService,\n public formService: FormService,\n public toastService: ToastService,\n private filesService: FilesService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.manufacturerService.getAllManufacturer().subscribe(manu => {\n this.manufacturer = manu\n this.createForm();\n }, error => { })\n }\n\n createForm() {\n this.formService.validators = {\n manufacturerId: [Validators.required],\n model: [Validators.required],\n }\n\n this.formService.form = new FormGroup({\n manufacturerId: new FormControl('', this.formService.validators['manufacturerId']),\n model: new FormControl('', this.formService.validators['model']),\n pictureUri: new FormControl(''),\n isErk: new FormControl(0),\n numberOfConnectors: new FormControl(1),\n isOcpp16: new FormControl(0),\n isOcpp20: new FormControl(0),\n isOcpp201: new FormControl(0),\n isUpdatable: new FormControl(0),\n isMobile: new FormControl(0),\n isAc: new FormControl(0),\n isDc: new FormControl(0),\n isPnc: new FormControl(0),\n integrationAt: new FormControl(''),\n });\n this.formCreated = true;\n }\n\n\n showWrongFileTypeError() {\n Swal.fire({\n title: $localize`:@@ProfileWrongTypeTitel:Falsches Dateiformat`,\n text: $localize`:@@ProfileWrongTypeText:Die gewählte Datei hat das falsche Format. Erlaubt sind: jpg, jpeg, png.`,\n icon: 'error',\n showConfirmButton: false,\n showDenyButton: true,\n denyButtonText: $localize`:@@ProfileWrongTypeConfirm:Zurück`,\n focusDeny: false,\n })\n }\n\n showWrongFileSizeError() {\n Swal.fire({\n title: $localize`:@@ProfileWrongSizeTitel:Falsche Dateigröße`,\n text: $localize`:@@ProfileWrongSizeText:Die gewählte Datei ist zu groß. Erlaubt sind Dateien bis zu 2 MB.`,\n icon: 'error',\n confirmButtonText: $localize`:@@ProfileWrongSizeConfirm:Zurück`,\n })\n }\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@ChangeDialogSaveSuccessHeader:Einstellungen wurden gespeichert!`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n }).then((result) => {\n this.ngOnInit();\n });\n }\n\n openCancelSuccessDialog() {\n Swal.fire({\n title: $localize`:@@CancelSubscriptionSuccessHeader:Abo wurde erfolgreich gekündigt!`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n }).then((result) => {\n this.ngOnInit();\n });\n }\n\n async onFileSelect(event) {\n var picture: File = event.target.files.item(0);\n\n if (picture) {\n var fileAllowed = false;\n\n if (picture.type == 'image/jpeg' || picture.type == 'image/jpg' || picture.type == 'image/png') {\n fileAllowed = true;\n }\n else {\n fileAllowed = false;\n this.showWrongFileTypeError();\n }\n\n if (picture.size > 2000000) {\n fileAllowed = false;\n this.showWrongFileSizeError();\n }\n\n if (fileAllowed) {\n this.picture = picture;\n\n var fileExtension = this.picture.name.split('.').pop();\n var fileName = this.picture.name.split('.').shift()\n\n var blob = this.picture;\n var newFile = new File([blob], fileName + '.' + fileExtension, { type: this.picture.type });\n console.log(fileName);\n\n var uploadResult = await this.uploadFile(newFile);\n this.pictureUri = uploadResult[0].fileUri;\n console.log(this.pictureUri);\n this.formService.form.controls['pictureUri'].setValue(this.pictureUri);\n }\n }\n }\n\n async uploadFile(file: File): Promise {\n var formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"path\", \"chargepoint\");\n\n var result = await this.filesService.uploadAsync(formData, true);\n\n return result;\n }\n\n onSubmit(formValue) {\n\n console.log(formValue);\n var entity = new ModelDto({\n manufacturerId: formValue.manufacturerId,\n integrationDate: formValue.integrationAt,\n pictureUri: formValue.pictureUri,\n name: formValue.model,\n profile: new Profile(\n {\n isAc: formValue.isAc,\n isDc: formValue.isDc,\n isErk: formValue.isErk,\n numberOfConnectors: formValue.numberOfConnectors,\n isUpdatable: formValue.isUpdatable,\n isMobile: formValue.isMobile,\n isOcpp16: formValue.isOcpp16,\n isOcpp20: formValue.isOcpp20,\n isOcpp201: formValue.isOcpp201,\n isPnc: formValue.isPnc,\n name: formValue.model,\n }\n ),\n });\n\n this.modelsService.createModel(entity).subscribe(data => {\n this.activeModal.close();\n this.toastService.success($localize`:@@CreateDialogSaveSuccessHeader:Profil erfolgreich angelegt.`);\n \n }, error => {\n this.toastService.error($localize`:@@CreateDialogSaveSuccessHeader:Profil konnte nicht gespeichert werden.`);\n\n });\n }\n\n selectedTeam = '';\n\n onSelected(value: string): void {\n this.selectedTeam = value;\n this.formService.form.controls['manufacturerId'].setValue(this.selectedTeam);\n console.log(this.formService.form.controls['isErk'].value);\n\n }\n\n setPicture(value:string) {\n this.formService.form.controls['pictureUri'].setValue(this.pictureUri);\n }\n\n setModel(value: string){\n this.formService.form.controls['model'].setValue(value);\n }\n\n setDate(value: Date) {\n this.formService.form.controls['integrationAt'].setValue(value);\n console.log(this.formService.form.controls['integrationAt'].value)\n }\n\n setNumberOfConnectors(value: number) {\n this.formService.form.controls['numberOfConnectors'].setValue(value);\n }\n\n checked(event) {\n console.log(event);\n if (event.target.checked) {\n this.formService.form.controls[event.target.name].setValue(1);\n } else {\n this.formService.form.controls[event.target.name].setValue(0);\n\n }\n console.log(this.formService.form.controls[event.target.name].value)\n }\n\n newEntityEvent(entity: IEntity) {\n this.activeModal.close();\n }\n}\n","\n
\n
\n
\n
Neues Profil
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n Abbrechen\n \n
\n
\n\n
\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CreateChargingStationProfileDialogContentComponent } from './create-chargingstationprofile-dialog-content/create-chargingstationprofile-dialog-content.component';\n\n@Component({\n selector: 'app-create-chargingstationprofile-dialog',\n template: ''\n})\nexport class CreateChargingStationProfileDialogComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private router: Router, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n\n const dialogRef = this.dialog.open(CreateChargingStationProfileDialogContentComponent, { centered: true, backdrop: 'static' });\n\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { User } from '@models/identity/user';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-create-customer-dialog-content',\n templateUrl: './create-customer-dialog-content.component.html',\n styleUrls: ['./create-customer-dialog-content.component.scss']\n})\nexport class CreateCustomerDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateCustomerDialogContentComponent';\n\n @ViewChild('createCustomerComponent') createCustomerComponent;\n\n public inviteButtonActive: boolean = true;\n\n public customerId: number;\n\n constructor(public activeModal: NgbActiveModal, public formService: FormService, injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n newCustomerEvent(newUser: User) {\n this.inviteButtonActive = false;\n // this.openInviteSuccessDialog();\n }\n\n getButtonDisabled() {\n if (!this.formService.form.valid) {\n return true;\n }\n if (!this.inviteButtonActive) {\n return true;\n }\n return false;\n }\n\n openInviteSuccessDialog() {\n Swal.fire({\n title: $localize`:@@InviteUserSuccessHeader:Die Einladung wurde an den Benutzer versendet!`,\n text: $localize`:@@InviteUserSuccessBody:Sie können dem Benutzer ab sofort RFID-Karten zuweisen und ihn an Ladestationen autorisieren.`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green',\n }).then((result) => {\n if (result.isConfirmed) {\n this.activeModal.close();\n this.router.navigate(['/']);\n }\n })\n }\n}\n","
\n
\n
\n
Neuen Kunden anlegen
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CreateCustomerDialogContentComponent } from './create-customer-dialog-content/create-customer-dialog-content.component';\nimport { RegisterUserComponent } from '../../authentication/register-user/register-user.component';\n\n\n@Component({\n selector: 'app-create-customer-dialog',\n template: ''\n})\nexport class CreateCustomerDialogComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private router: Router, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(RegisterUserComponent, { size: 'lg', centered: true, backdrop: 'static', keyboard: false });\n dialogRef.componentInstance.isOperatorView = true;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { CreateDeliveryCSVComponent } from '@components/entities/delivery-notes/create-delivery-csv/create-delivery-csv.component';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { DeliveryNote } from '@models/deliveryNote';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-create-delivery-csv-dialog-content',\n templateUrl: './create-delivery-csv-dialog-content.component.html',\n styleUrls: ['./create-delivery-csv-dialog-content.component.scss']\n})\nexport class CreateDeliveryCSVDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateDeliveryCSVDialogContentComponent';\n\n public transactions: TransactionDto[];\n public userId: string;\n public customerId: number;\n\n @ViewChild('createDeliveryCSVComponent') createDeliveryCSVComponent: CreateDeliveryCSVComponent;\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit() {\n }\n\n newEntityEvent(deliveryNote: DeliveryNote) {\n this.activeModal.close();\n }\n\n}\n","
\n
CSV generieren
\n \n
\n\n
\n \n
\n\n
\n Abbrechen\n
\n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { CreateDeliveryNoteComponent } from '@components/entities/delivery-notes/create-delivery-note/create-delivery-note.component';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { DeliveryNote } from '@models/deliveryNote';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-create-delivery-note-dialog-content',\n templateUrl: './create-delivery-note-dialog-content.component.html',\n styleUrls: ['./create-delivery-note-dialog-content.component.scss']\n})\nexport class CreateDeliveryNoteDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateDeliveryNoteDialogContentComponent';\n\n public transactions: TransactionDto[];\n public userId: string;\n public customerId: number;\n\n @ViewChild('createDeliveryNoteComponent') createDeliveryNoteComponent: CreateDeliveryNoteComponent;\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit() {\n }\n\n newEntityEvent(deliveryNote: DeliveryNote) {\n this.toastService.success($localize`:@@CreateDeliveryNoteSuccessHeader:Lieferschein erfolgreich gespeichert.`);\n // this.openSuccessDialog();\n }\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@CreateDeliveryNoteSuccessHeader:Der Lieferschein wurde generiert!`,\n text: $localize`:@@CreateDeliveryNoteSuccessText:Der neue Lieferschein kann auf der Seite der Lieferscheine heruntergeladen oder per E-Mail versendet werden.`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n });\n }\n}\n","
\n
Lieferschein generieren
\n \n
\n\n
\n \n
\n\n
\n Abbrechen\n
\n \n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, EventEmitter, Injector, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { FormService } from '@services/form/form.service';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { UserDto } from '@dto/userDto';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { PricingDto } from '@dto/pricingDto';\nimport { InvoiceItemDto } from '@dto/invoiceItemDto';\nimport { plainToClass } from 'class-transformer';\nimport { Invoice } from '@models/invoice';\nimport { Transaction } from '@models/transaction';\nimport { InvoiceSettingsDto } from '@dto/invoiceSettingsDto';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\n\n@Component({\n selector: 'app-create-invoice-dialog-content',\n templateUrl: './create-invoice-dialog-content.component.html',\n styleUrls: ['./create-invoice-dialog-content.component.scss']\n})\nexport class CreateInvoiceDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateInvoiceDialogContentComponent';\n\n @Input() private userId: string;\n @Input() private customerId: number;\n\n public user: UserDto\n public recipient: UserDto\n public users?: UserDto[] = []\n public availableUsers?: UserDto[] = []\n public usersSelectEmpty: string = 'Keine Benutzer vorhanden'\n\n public invoiceSettings: InvoiceSettingsDto\n public invoices: InvoiceDto[] = []\n public invoiceItems: InvoiceItemDto[] = []\n public selectedInvoiceItems: InvoiceItemDto[] = []\n public pricings: PricingDto[] = []\n\n public isFormReady: boolean = false\n public isTableReady: boolean = false\n\n public isUser: boolean = false;\n public isCustomer: boolean = false;\n public isOperator: boolean = false;\n public isSupporter: boolean = false;\n\n @Output() newEntityEvent = new EventEmitter();\n\n constructor(\n public activeModal: NgbActiveModal,\n public pricingService: PricingsService,\n public spinnerService: NgxSpinnerService,\n public activatedRoute: ActivatedRoute,\n public usersService: UsersService,\n public customersService: CustomersService,\n public transactionsService: TransactionsService,\n public formService: FormService,\n public invoicesService: InvoicesService,\n public toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n public ngOnInit(): void {\n this.getRoles()\n this.getUser()\n this.getRecipient(this.userId)\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n }\n\n getRecipient(userId: string){\n this.usersService.getUserDtoById(userId).subscribe(recipient => {\n this.recipient = plainToClass(UserDto, recipient)\n this.initializeForm()\n })\n }\n\n getUser() {\n if (this.isOperator) {\n this.customersService.getMasterUserOfCustomer(this.customerId).subscribe(masterUser => {\n this.usersService.getUserDtoById(masterUser.id).subscribe(user => {\n this.user = user;\n this.getInvoiceSettings()\n this.getInvoices();\n })\n })\n } else {\n this.usersService.getLoggedInUser().subscribe(user => {\n this.user = plainToClass(UserDto, user)\n this.getInvoiceSettings()\n\n if (this.isCustomer) {\n this.getInvoices();\n }\n })\n }\n }\n\n getInvoiceSettings() {\n this.invoicesService.getInvoiceSettingsOfUser(this.user.id).subscribe(invoiceSettings => {\n this.invoiceSettings = plainToClass(InvoiceSettingsDto, invoiceSettings)\n }, error => {})\n }\n\n getInvoices() {\n if (!this.user) return false\n this.invoicesService.getInvoicesOfCustomer(this.user.id).subscribe(invoices => {\n this.invoices = plainToClass(InvoiceDto, invoices)\n this.getInvoiceItems()\n })\n }\n\n getInvoiceItems() {\n if (this.user.selectedCustomerId == undefined) return false\n this.invoicesService.getAllUnbilledInvoiceItemsOfRecipientForManualBillingAndAutoBilling(this.recipient.id).subscribe(invoiceItems => {\n const invoiceItem = plainToClass(InvoiceItemDto, invoiceItems)\n this.invoiceItems = invoiceItem\n this.selectedInvoiceItems = invoiceItem.filter(ii => ii.billingMethod == BillingMethodEnum.Manual)\n this.isTableReady = true\n })\n }\n\n toggleInvoiceItem(invoiceItemId) {\n var item = this.invoiceItems.find(ii => ii.id == invoiceItemId)\n if (item.billingMethod != BillingMethodEnum.Manual) return\n const index = this.selectedInvoiceItems.findIndex(ii => ii.id == invoiceItemId)\n if (index == -1) {\n const item = this.invoiceItems.find(ii => ii.id == invoiceItemId)\n this.selectedInvoiceItems.push(item)\n } else {\n this.selectedInvoiceItems.splice(index, 1)\n }\n }\n\n isChecked(invoiceItemId) {\n var item = this.selectedInvoiceItems.find(t => t.id == invoiceItemId)\n if (item == null) return false\n return item?.billingMethod == BillingMethodEnum.Manual\n }\n\n getInvoiceMeterAmount() {\n if (this.selectedInvoiceItems.length < 1) return 0\n const invoiceMeterAmount = this.selectedInvoiceItems\n .map(ii => ii.quantity)\n .reduce((previousValue, currentValue) => previousValue + currentValue, 0)\n return invoiceMeterAmount\n }\n\n getInvoiceAmount() {\n if (this.selectedInvoiceItems.length < 1) return 0\n const invoiceAmount = this.selectedInvoiceItems\n .map(ii => ii.total)\n .reduce((previousValue, currentValue) => previousValue + currentValue, 0)\n return invoiceAmount\n }\n\n private initializeForm() {\n this.formService.validators = {\n company: [],\n firstName: [Validators.required, Validators.maxLength(50)],\n lastName: [Validators.required, Validators.maxLength(50)],\n gender: [],\n street: [Validators.required],\n houseNumber: [Validators.required],\n postcode: [Validators.required, Validators.pattern('^[0-9]*$'), Validators.maxLength(5), Validators.minLength(5)],\n city: [Validators.required],\n email: [],\n }\n\n this.formService.form = new UntypedFormGroup({\n company: new UntypedFormControl(this.recipient.company, this.formService.validators['company']),\n firstName: new UntypedFormControl(this.recipient.firstName, this.formService.validators['firstName']),\n lastName: new UntypedFormControl(this.recipient.lastName, this.formService.validators['lastName']),\n gender: new UntypedFormControl(this.recipient.gender, this.formService.validators['gender']),\n street: new UntypedFormControl(this.recipient.street, this.formService.validators['street']),\n houseNumber: new UntypedFormControl(this.recipient.houseNumber, this.formService.validators['houseNumber']),\n postcode: new UntypedFormControl(this.recipient.postcode, this.formService.validators['postcode']),\n city: new UntypedFormControl(this.recipient.city, this.formService.validators['city']),\n email: new UntypedFormControl(this.recipient.email, this.formService.validators['email']),\n });\n\n this.formService.form.markAllAsTouched()\n if (this.isSupporter) this.formService.form.disable()\n this.isFormReady = true\n }\n\n public submit(download: boolean = false) {\n if (this.selectedInvoiceItems.length < 1) return false\n if (this.selectedInvoiceItems.some(item => item.billingMethod !== BillingMethodEnum.Manual)) return false\n\n const form = this.formService.form.value\n const invoice = new InvoiceDto()\n\n invoice.ownerUserId = this.user.id\n\n invoice.recipientUserId = this.userId\n invoice.recipientCity = form.city\n invoice.recipientCompany = form.company\n invoice.recipientFirstName = form.firstName\n invoice.recipientLastName = form.lastName\n invoice.recipientGender = form.gender\n invoice.recipientStreet = form.street\n invoice.recipientHouseNumber = form.houseNumber\n invoice.recipientPostcode = form.postcode\n invoice.recipientEmail = form.email\n\n invoice.invoiceItems = this.selectedInvoiceItems as InvoiceItemDto[]\n this.invoicesService.createInvoice(invoice).subscribe(newInvoice => {\n this.toastService.success(`Rechnung erfolgreich erstellt.`)\n if (download) {\n this.toastService.loading(`Rechnung wird heruntergeladen...`)\n this.invoicesService.getInvoicePdf(newInvoice.id).subscribe((response: any) => {\n const file = new Blob([response], { type: 'application/pdf' });\n const fileUrl = URL.createObjectURL(file);\n\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = this.getFilename(invoice) + '.pdf';\n a.click();\n\n window.URL.revokeObjectURL(fileUrl);\n this.activeModal.close();\n }, error => {\n console.error(error);\n this.toastService.error(`Rechnung konnte nicht heruntergeladen werden.`, 0, true)\n })\n // this.router.navigate([`invoices/print/${newInvoice.id}`])\n } else {\n this.activeModal.close()\n }\n }, error => {\n this.toastService.error(`Fehler beim Erstellen der Rechnung.`)\n this.messageService.setError(error)\n })\n }\n\n getFilename(invoice: InvoiceDto) {\n let filenameFirstVariable = 'invoiceNumber';\n if (localStorage.getItem('invoiceFilenameFirstVariable') != undefined) {\n filenameFirstVariable = localStorage.getItem('invoiceFilenameFirstVariable')\n }\n\n let filenameSecondVariable;\n if (localStorage.getItem('invoiceFilenameSecondVariable') != undefined) {\n filenameSecondVariable = localStorage.getItem('invoiceFilenameSecondVariable')\n }\n\n let filenameThirdVariable;\n if (localStorage.getItem('invoiceFilenameThirdVariable') != undefined) {\n filenameThirdVariable = localStorage.getItem('invoiceFilenameThirdVariable')\n }\n\n let name = invoice[filenameFirstVariable]\n let filename = this.isDate(name) ? this.parseDate(name) : name.replace(/ /g, '_')\n\n if (filenameSecondVariable) {\n let name = invoice[filenameSecondVariable]\n if (this.isDate(name)) name = this.parseDate(name)\n filename += `_${name.replace(/ /g, '_')}`\n }\n\n if (filenameThirdVariable) {\n let name = invoice[filenameThirdVariable]\n if (this.isDate(name)) name = this.parseDate(name)\n filename += `_${name.replace(/ /g, '_')}`\n }\n\n return filename += '.pdf';\n }\n\n public getDueDate(date, days) {\n var result = new Date(date)\n result.setDate(result.getDate() + days)\n return result\n }\n\n isDate(value: string) {\n if (!value || typeof value != 'string') return false\n return new RegExp(/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z*/).test(value.trim())\n }\n\n parseDate(date: Date) {\n if (!date) return false\n return new Date(date).toLocaleDateString()\n }\n\n getMonth(date: Date) {\n if (!date) return false\n const months = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']\n return months[new Date(date).getMonth()]\n }\n\n close() {\n this.activeModal.close();\n }\n}\n","
\n
Rechnung erstellen
\n \n
\n\n
\n
\n
Rechnungsempfänger
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
Ladevorgänge
\n
\n
\n Loading...\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 0\">\n \n \n \n \n \n \n \n \n \n
DatumLademenge in kWhPreis pro kWhBetrag
Dieser Benutzer hat keine offenen Ladevorgänge
{{ parseDate(invoiceItem.startTimestamp) }}{{ invoiceItem.quantity | kwh }}€ {{ invoiceItem.unitPrice | number: '1.2-2':'de-DE' }}€ {{ invoiceItem.total | number: '1.2-2':'de-DE' }}
{{ selectedInvoiceItems.length }}{{ getInvoiceMeterAmount() | kwh }}€ {{ getInvoiceAmount() | number: '1.2-2':'de-DE' }}
\n
\n
\n\n
\n \n \n \n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CreateInvoiceDialogContentComponent } from './create-invoice-dialog-content/create-invoice-dialog-content.component';\n\n@Component({\n selector: 'app-create-invoice-dialog',\n template: ''\n})\nexport class CreateInvoiceDialogComponent implements OnInit {\n\n constructor(\n public dialog: NgbModal,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n ) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(CreateInvoiceDialogContentComponent, { centered: true, backdrop: 'static', size: 'xl' });\n dialogRef.componentInstance.userId = this.activatedRoute.snapshot.params.key;\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { IEntity } from '@interfaces/entity';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Manufacturer } from '@models/manufacturer';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ManufacturersService } from '@services/entity/manufacturer.services';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-create-manufacturer-dialog-content',\n templateUrl: './create-manufacturer-dialog-content.component.html',\n styleUrls: ['./create-manufacturer-dialog-content.component.scss']\n})\nexport class CreateManufacturerDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateManufacturerDialogContentComponent';\n\n public customerId: number;\n\n constructor(\n public activeModal: NgbActiveModal,\n public manufacturerService: ManufacturersService,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n }\n\n this.formService.form = new FormGroup({\n name: new FormControl('', this.formService.validators['name']),\n });\n }\n\n onSubmit(formValue) {\n var entity = new Manufacturer(formValue);\n this.manufacturerService.createEntity(entity).subscribe(data => {\n this.activeModal.close();\n this.toastService.success($localize`:@@CreateDialogSaveSuccessHeader:Hersteller erfolgreich gespeichert.`);\n // this.openSuccessDialog();\n }, error => {\n this.toastService.error($localize`:@@CreateDialogSaveSuccessHeader:Hersteller konnte nicht gespeichert werden.`);\n\n });\n }\n\n newEntityEvent(entity: IEntity) {\n this.activeModal.close();\n }\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@CreateDialogSaveSuccessHeader:Hersteller wurde gespeichert!`,\n text: $localize`:@@CreateDialogSaveSuccessText:Der neue Hersteller wurde angelegt.`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n }).then((result) => {\n this.activeModal.close();\n });\n }\n}\n","\n
\n
\n
\n
Neuer Hersteller
\n \n
\n
\n \n
\n
\n\n Abbrechen\n \n
\n
\n\n
\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CreateManufacturerDialogContentComponent } from './create-manufacturer-dialog-content/create-manufacturer-dialog-content.component';\n\n@Component({\n selector: 'app-create-manufacturer-dialog',\n template: ''\n})\nexport class CreateManufacturerDialogComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private router: Router, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n\n const dialogRef = this.dialog.open(CreateManufacturerDialogContentComponent, { centered: true, backdrop: 'static' });\n\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { AfterViewInit, Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\nimport { IEntity } from '@interfaces/entity';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-create-pricing-dialog-content',\n templateUrl: './create-pricing-dialog-content.component.html',\n styleUrls: ['./create-pricing-dialog-content.component.scss']\n})\nexport class CreatePricingDialogContentComponent extends AbstractDialogContent implements OnInit, AfterViewInit {\n\n public className = 'CreatePricingDialogContentComponent';\n public customerId: number\n public isSupporter: boolean = false;\n\n @ViewChild('createPricingComponent') createPricingComponent;\n\n constructor(\n public activeModal: NgbActiveModal,\n public pricingsService: PricingsService,\n public formService: FormService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isSupporter = this.authenticationService.userHasRole('Supporter');\n }\n\n ngAfterViewInit() {\n }\n\n newEntityEvent(entity: IEntity) {\n this.activeModal.close();\n }\n}\n","
\n
\n
Tarif hinzufügen
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n","import { Component, HostListener, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { CreatePricingDialogContentComponent } from './create-pricing-dialog-content/create-pricing-dialog-content.component';\n\n@Component({\n selector: 'app-create-pricing-dialog',\n template: ''\n})\nexport class CreatePricingDialogComponent implements OnInit\n{\n private modal: NgbModalRef | null = null\n private customerId: string\n \n constructor(\n public modalService: NgbModal,\n private activatedRoute: ActivatedRoute,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n event.preventDefault();\n if (this.modal) this.modal.close()\n }\n\n ngAfterViewInit() {\n if (this.modalService.hasOpenModals()) return\n this.openDialog();\n }\n\n openDialog(): void {\n if (this.modal) {\n this.modal.close()\n }\n \n this.modal = this.modalService.open(\n CreatePricingDialogContentComponent,\n { centered: true, backdrop: 'static' }\n )\n\n this.modal.componentInstance.customerId = this.customerId;\n\n this.modal.result.then(toDashboard => {\n if (toDashboard) window.history.go(-2)\n else this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n }, (reason) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n })\n }\n\n ngOnDestroy() {\n if (this.modal) {\n this.modal.close()\n }\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { AfterViewInit, Component, Injector, Inject, Input, OnInit, ViewChild } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { CreatePublicPricingComponent } from '@components/entities/pricings/create-public-pricing/create-public-pricing.component';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { IEntity } from '@interfaces/entity';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-create-public-pricing-dialog-content',\n templateUrl: './create-public-pricing-dialog-content.component.html',\n styleUrls: ['./create-public-pricing-dialog-content.component.scss']\n})\nexport class CreatePublicPricingDialogContentComponent extends AbstractDialogContent implements OnInit, AfterViewInit {\n\n public className = 'CreatePublicPricingDialogContentComponent';\n\n public mapUrl: any\n private chargingStation: ChargingStationDto;\n\n @Input() private ownerUserId: string;\n @ViewChild('createPublicPricingComponent') createPublicPricingComponent: CreatePublicPricingComponent;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n public activeModal: NgbActiveModal,\n public pricingsService: PricingsService,\n public chargingStationsService: ChargingStationsService,\n public formService: FormService,\n private sanitizer: DomSanitizer,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngAfterViewInit() {\n this.createPublicPricingComponent.ownerUserId = this.ownerUserId;\n // this.setMapUrl()\n }\n\n newEntityEvent(entity: IEntity) {\n this.activeModal.close();\n }\n\n setMapUrl() {\n this.chargingStationsService.getChargingStationsOfCurrentCustomer().subscribe(chargingStations => {\n this.chargingStation = chargingStations.find(chargingStation => chargingStation.isPublicCharge)\n if (!this.chargingStation) this.chargingStation = chargingStations[0]\n this.mapUrl = `${this.baseUrl}public-charge-plans?cs=${this.chargingStation.id}`\n }, error => {\n console.error(error)\n })\n }\n}\n","\n\n
\n
\n
Öffentlichen Tarif hinzufügen
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { AfterViewInit, Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\nimport { CreateRfidCardComponent } from '@components/entities/rfid-cards/create-rfid-card/create-rfid-card.component';\nimport { IEntity } from '@interfaces/entity';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RfidCardsService } from '@services/entity/rfidCards.service';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-create-rfid-card-dialog-content',\n templateUrl: './create-rfid-card-dialog-content.component.html',\n styleUrls: ['./create-rfid-card-dialog-content.component.scss']\n})\nexport class CreateRfidCardDialogContentComponent extends AbstractDialogContent implements OnInit, AfterViewInit {\n\n public className = 'CreateRfidCardDialogContentComponent';\n\n @Input() private customerId: number;\n\n @ViewChild('createRfidCardComponent') createRfidCardComponent: CreateRfidCardComponent;\n\n constructor(\n public activeModal: NgbActiveModal,\n public rfidCardsService: RfidCardsService,\n public formService: FormService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngAfterViewInit() {\n this.createRfidCardComponent.customerId = this.customerId;\n }\n}\n","
\n
RFID-Karte hinzufügen
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CreateRfidCardDialogContentComponent } from './create-rfid-card-dialog-content/create-rfid-card-dialog-content.component';\n\n@Component({\n selector: 'app-create-rfid-card-dialog',\n template: ''\n})\nexport class CreateRfidCardDialogComponent implements OnInit {\n\n constructor(\n public dialog: NgbModal,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n ) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n\n const dialogRef = this.dialog.open(CreateRfidCardDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { User } from '@models/identity/user';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-create-user-dialog-content',\n templateUrl: './create-user-dialog-content.component.html',\n styleUrls: ['./create-user-dialog-content.component.scss']\n})\nexport class CreateUserDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateUserDialogContentComponent';\n\n @ViewChild('createUserComponent') createUserComponent;\n\n public inviteButtonActive: boolean = true;\n\n public customerId: number;\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n newUserEvent(newUser: User) {\n this.inviteButtonActive = false;\n this.openInviteSuccessDialog();\n }\n\n newAnonymousUserEvent(newUser: User) {\n this.inviteButtonActive = false;\n this.openAnonymousInviteSuccessDialog();\n }\n\n getButtonDisabled() {\n if (!this.formService.form.valid) {\n return true;\n }\n if (!this.inviteButtonActive) {\n return true;\n }\n return false;\n }\n\n openInviteSuccessDialog() {\n Swal.fire({\n title: $localize`:@@InviteUserSuccessHeader:Die Einladung wurde an den Benutzer versendet!`,\n text: $localize`:@@InviteUserSuccessBody:Sie können dem Benutzer ab sofort RFID-Karten zuweisen und ihn an Ladestationen autorisieren.`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green',\n }).then((result) => {\n if (result.isConfirmed) {\n this.activeModal.close();\n this.router.navigate(['manage/users']);\n }\n })\n }\n openAnonymousInviteSuccessDialog() {\n Swal.fire({\n title: $localize`:@@InviteUserSuccessHeader:Der Benutzer wurde angelegt!`,\n text: $localize`:@@InviteUserSuccessBody:Sie können dem Benutzer ab sofort RFID-Karten zuweisen und ihn an Ladestationen autorisieren.`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green',\n }).then((result) => {\n if (result.isConfirmed) {\n this.activeModal.close();\n this.router.navigate(['manage/users']);\n }\n })\n }\n}\n","
\n
Benutzer hinzufügen
\n \n
\n\n
\n \n
\n\n
\n \n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CreateUserDialogContentComponent } from './create-user-dialog-content/create-user-dialog-content.component';\n\n@Component({\n selector: 'app-create-user-dialog',\n template: ''\n})\nexport class CreateUserDialogComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private router: Router, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n\n const dialogRef = this.dialog.open(CreateUserDialogContentComponent, { centered: true, size: 'md', backdrop: 'static' });\n\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'credit-statements-dialog-content',\n templateUrl: './credit-statements-dialog-content.component.html',\n styleUrls: ['./credit-statements-dialog-content.component.scss']\n})\nexport class CreditStatementsDialogContentComponent extends AbstractDialogContent {\n\n public className = 'CreditStatementsDialogContentComponent';\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n close() {\n this.activeModal.close();\n }\n}\n","
\n
\n
\n Gutschriftbelege\n
\n\n \n
\n\n
\n \n
\n\n
\n \n\n \n
\n
","import { Component, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { CreditStatementsDialogContentComponent } from './credit-statements-dialog-content/credit-statements-dialog-content.component';\n\n@Component({\n selector: 'credit-statements-dialog',\n template: ''\n})\nexport class CreditStatementsDialogComponent implements OnDestroy {\n \n private modal: NgbModalRef | null = null\n\n constructor(\n public modalService: NgbModal,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n ) {}\n\n ngAfterViewInit() {\n if (this.modalService.hasOpenModals()) return\n this.openDialog();\n }\n\n openDialog(): void {\n if (this.modal) {\n this.modal.close()\n }\n\n this.modal = this.modalService.open(\n CreditStatementsDialogContentComponent,\n { centered: true, backdrop: 'static', size: 'xl' }\n )\n\n this.modal.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n }, (reason) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n })\n }\n\n ngOnDestroy() {\n if (this.modal) {\n this.modal.close()\n }\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, Output, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-delete-charging-station-dialog-content',\n templateUrl: './delete-charging-station-dialog-content.component.html',\n styleUrls: ['./delete-charging-station-dialog-content.component.scss']\n})\nexport class DeleteChargingStationDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DeleteChargingStationDialogContentComponent';\n\n @Input() private chargingStationId: string;\n\n @Input() public deleted: boolean;\n\n constructor(\n public activeModal: NgbActiveModal,\n private chargingStationsService: ChargingStationsService,\n private toastService: ToastService,\n private spinner: NgxSpinnerService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void { \n super.ngOnInit();\n }\n\n onConfirmClick() {\n this.spinner.show()\n this.chargingStationsService.deleteEntity(this.chargingStationId).subscribe(result => {\n this.toastService.success($localize`:@@DeletedDialogSuccessHeader:Ladestation erfolgreich gelöscht.`);\n this.spinner.hide()\n this.activeModal.close();\n this.deleted = true;\n \n }, error => {\n this.spinner.hide()\n this.toastService.error($localize`:@@DeletedDialogErrorHeader:Ladestation konnte nicht gelöscht werden.`);\n console.error(error)\n this.deleted = false;\n });\n }\n\n onCancelClick() {\n this.activeModal.close();\n this.deleted = false;\n }\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@DeletedDialogSuccessHeader:Gelöscht!`,\n text: $localize`:@@DeletedDialogSuccessText:Die Ladestation wurde gelöscht.`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n }).then((result) => {\n this.activeModal.close();\n });\n }\n}\n","
\n
\n
\n
!
\n
\n

Sind Sie sicher?

\n
\n
\n
Das Löschen der Station kann nicht rückgängig gemacht werden!
\n
\n
\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DeleteChargingStationDialogContentComponent } from './delete-charging-station-dialog-content/delete-charging-station-dialog-content.component';\n\n@Component({\n selector: 'app-delete-charging-station-dialog',\n template: ''\n})\nexport class DeleteChargingStationDialogComponent implements OnInit {\n\n private chargingStationId: string;\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n if (this.chargingStationId == null) {\n this.chargingStationId = params.get('key');\n }\n this.openDialog();\n });\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(DeleteChargingStationDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.chargingStationId = this.chargingStationId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { FormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\nimport { DeliveryNote } from '../../../models/deliveryNote';\nimport { DeliveryNotesService } from '../../../services/entity/delivery-notes.service';\n\n@Component({\n selector: 'app-delete-delivery-note-dialog-content',\n templateUrl: './delete-delivery-note-dialog-content.html',\n styleUrls: ['./delete-delivery-note-dialog-content.scss'],\n providers: [FormService]\n})\nexport class DeleteDeliveryNoteDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DeleteDeliveryNoteDialogContentComponent';\n @Input() private entity: DeliveryNote;\n public form: UntypedFormGroup;\n\n \n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private deliveryNotesService: DeliveryNotesService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n }\n\n deleteDeliveryNote() {\n this.deliveryNotesService.deleteEntity(this.entity.id).subscribe(result => {\n this.activeModal.close({ success: true });\n }, error => {\n this.messageService.setError(error);\n });\n }\n\n}\n","
\n
\n
\n
!
\n
\n

Sind Sie sicher?

\n
\n
\n \n
\n
\n
\n \n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\n\n@Component({\n selector: 'app-delete-group-dialog-content',\n templateUrl: './delete-group-dialog-content.component.html',\n styleUrls: ['./delete-group-dialog-content.component.scss']\n})\nexport class DeleteGroupDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DeleteGroupDialogContentComponent';\n\n @Input() private groupId: number;\n\n constructor(\n public activeModal: NgbActiveModal,\n private chargingStationsService: ChargingStationsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n onConfirmClick() {\n this.chargingStationsService.deleteChargingStationGroup(this.groupId).subscribe(result => {\n this.activeModal.close({success: true});\n }, error => {\n\n });\n }\n}\n","
\n
\n
\n
!
\n
\n

Sind Sie sicher?

\n
\n
\n
Das Löschen der Gruppe kann nicht rückgängig gemacht werden!
\n
\n
\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DeleteGroupDialogContentComponent } from './delete-group-dialog-content/delete-group-dialog-content.component';\n\n@Component({\n selector: 'app-delete-group-dialog',\n template: ''\n})\nexport class DeleteGroupDialogComponent implements OnInit {\n\n private groupId: number;\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n this.groupId = Number.parseInt(params.get('key'));\n this.openDialog();\n });\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(DeleteGroupDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.groupId = this.groupId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { PricingDto } from '@dto/pricingDto';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { ChargingStationByGroupDto } from '@dto/chargingStationByGroupDto';\nimport { UserDto } from '@dto/userDto';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\nimport { InvoiceItemDto } from '@dto/invoiceItemDto';\nimport { DeletePricingRequest } from '@dto/deletePricingRequest';\nimport { forkJoin } from 'rxjs';\nimport { OpenItemsActionEnum } from '@enums/openItemsActionEnum.enum';\n\n@Component({\n selector: 'app-delete-pricing-dialog-content',\n templateUrl: './delete-pricing-dialog-content.component.html',\n styleUrls: ['./delete-pricing-dialog-content.component.scss']\n})\nexport class DeletePricingDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DeletePricingDialogContentComponent';\n\n public invoiceItems: InvoiceItemDto[] = [];\n public influencedUsers: UserDto[] = [];\n public influencedUserNamesDisplay: string\n public openItemsAction: OpenItemsActionEnum = OpenItemsActionEnum.LaterBilling;\n public shouldKeepAuth: boolean = true;\n public isTableReady: boolean = false;\n\n private _step: number = 1\n private _executed = false\n set step(value: number) {\n this._step = value\n if(value === 3 && !this._executed)\n {\n this.submit()\n this._executed = true\n } else if (value === 2 && this.influencedUsers.length === 0)\n {\n this.step++\n }\n }\n\n get step() : number {\n return this._step\n }\n\n constructor(\n public activeModal: NgbActiveModal,\n public dialog: NgbModal,\n private pricingsService: PricingsService,\n private spinnerService: NgxSpinnerService,\n private toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n @Input() private pricingId: string;\n\n\n async ngOnInit() {\n super.ngOnInit();\n forkJoin({\n invoiceItems: this.pricingsService.getOpenInvoiceItemsOfPricing(this.pricingId),\n users: this.pricingsService.getUsersOfPricing(this.pricingId)\n }).subscribe({\n next: ({ invoiceItems, users }) => {\n this.invoiceItems = plainToClass(InvoiceItemDto, invoiceItems);\n this.isTableReady = true;\n\n this.influencedUsers = plainToClass(UserDto, users);\n const uniqueRecipientNames = [...new Set(this.influencedUsers.map(u => u.fullName))];\n this.influencedUserNamesDisplay = uniqueRecipientNames.join(', ');\n\n this.adjustInitialStep();\n },\n error: (error) => {\n this.isTableReady = true;\n console.error(error);\n }\n });\n }\n\n adjustInitialStep() {\n if (this.invoiceItems.length === 0 && this.influencedUsers.length > 0) {\n this.step = 2;\n } \n if (this.invoiceItems.length === 0 && this.influencedUsers.length === 0) {\n this.step = 0;\n }\n }\n\n instantBilling() {\n this.openItemsAction = OpenItemsActionEnum.InstantBilling;\n this.step++;\n }\n\n noMoreBilling() {\n this.openItemsAction = OpenItemsActionEnum.NoMoreBilling;\n this.step++;\n }\n\n laterBilling() {\n this.step++;\n }\n\n keepAuth() {\n this.step++;\n }\n removeAuth() {\n this.shouldKeepAuth = false\n this.step++;\n }\n\n submit() {\n this.spinnerService.show()\n const request = new DeletePricingRequest();\n request.openItemsAction = this.openItemsAction;\n request.shouldKeepAuth = this.shouldKeepAuth;\n\n this.pricingsService.deletePricing(this.pricingId, request).subscribe(result => {\n this.spinnerService.hide()\n this.activeModal.close();\n this.toastService.success(`Tarif erfolgreich gelöscht.`);\n }, error => {\n this.spinnerService.hide()\n this.toastService.error(`Tarif konnte nicht gelöscht werden.`);\n this.activeModal.close();\n });\n this.activeModal.close();\n this.dialog.dismissAll();\n }\n\n parseDate(date: Date) {\n if (!date) return false\n return new Date(date).toLocaleDateString()\n }\n\n close() {\n this.activeModal.close();\n }\n}\n","
\n
\n
\n
\n
!
\n
\n

Sind Sie sicher?

\n
\n
\n
\n Das Löschen des Tarifs kann nicht rückgängig gemacht werden!
\n
\n
\n
\n
\n
\n
!
\n
\n

Wie möchten Sie mit den ausstehenden Ladevorgänge verfahren?

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameDatumLademenge in kWhBetrag
{{ invoiceItem.recipientUserFullName }}{{ parseDate(invoiceItem.createdAt) }}{{ invoiceItem.quantity | kwh }}€ {{ invoiceItem.total | number: '1.2-2':'de-DE'}}
\n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
!
\n
\n

Sollen die\n Autorisierungen von folgenden Benutzer(n) bestehen bleiben?

\n
\n
\n
{{ influencedUserNamesDisplay }}\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { DeletePricingDialogContentComponent } from './delete-pricing-dialog-content/delete-pricing-dialog-content.component';\n\n@Component({\n selector: 'app-delete-pricing-dialog',\n template: ''\n})\nexport class DeletePricingDialogComponent implements OnInit {\n\n constructor(\n public dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n private router: Router\n ) { }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.openDialog();\n });\n }\n\n openDialog(): void {\n var pricingId = this.activatedRoute.snapshot.params.key;\n\n const dialogRef = this.dialog.open(DeletePricingDialogContentComponent, { centered: true, backdrop: 'static', size: 'lg' });\n dialogRef.componentInstance.pricingId = pricingId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { RfidCard } from '../../../models/rfidCard';\nimport { RfidCardsService } from '../../../services/entity/rfidCards.service';\n\n\n@Component({\n selector: 'app-delete-rfid-card-for-customer-dialog-content',\n templateUrl: './delete-rfid-card-for-customer-dialog-content.component.html',\n styleUrls: ['./delete-rfid-card-for-customer-dialog-content.component.scss'],\n providers: [FormService]\n})\nexport class DeleteRFIDCardForCustomerDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DeleteRFIDCardForCustomerDialogContentComponent';\n\n public form: UntypedFormGroup;\n @Input() private rfidCard: RfidCard;\n \n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private rfidCardsService: RfidCardsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.form = new UntypedFormGroup({\n });\n }\n\n onSubmit(formValue) {\n this.rfidCardsService.deleteEntity(this.rfidCard.id).subscribe(result => {\n this.activeModal.close();\n }, error => {\n this.messageService.setError(error);\n });\n }\n}\n","
\n
\n
\n
!
\n
\n

Sind Sie sicher?

\n
\n \n
\n
\n
\n \n
\n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { UserEditDto } from '../../../../dto/userEditDto';\n\n@Component({\n selector: 'app-delete-user-dialog-content',\n templateUrl: './delete-user-dialog-content.component.html',\n styleUrls: ['./delete-user-dialog-content.component.scss']\n})\nexport class DeleteUserDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n spinner1 = 'editSpinner';\n public className = 'DeleteUserDialogContentComponent';\n\n @Input() private userId: string;\n @Input() private user: UserEditDto;\n\n\n constructor(\n public activeModal: NgbActiveModal,\n private usersService: UsersService,\n private spinner: NgxSpinnerService,\n private toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n onConfirmClick() {\n this.spinner.show(this.spinner1);\n const userAction = this.isUserDummy() ? this.usersService.deleteEntity(this.userId) : this.usersService.DisinviteUser(this.userId);\n\n userAction.subscribe(result => {\n this.spinner.hide(this.spinner1);\n this.activeModal.close({ success: true });\n }, error => {\n this.toastService.error($localize`:@@DeletedDialogErrorHeader:Benutzer konnte nicht gelöscht werden.`);\n this.spinner.hide(this.spinner1);\n this.activeModal.close({ success: false, error: error });\n });\n}\n\n\n getDeleteText(): string {\n let nonDummy = \"Durch das Entfernen wird der Benutzer von Ihrem Ladepark getrennt. Er hat dadurch keine Zugriffe mehr auf Ihre Ladestationen. Sein Account bleibt aber weiterhin bestehen, damit der Benutzer Einsicht auf seine Ladevorgänge, Lieferscheine oder Rechnungen hat.\"\n let dummy = \"\";\n return this.isUserDummy() ? dummy : nonDummy;\n }\n\n getDelButtonText(): string {\n return this.isUserDummy() ? 'Benutzer löschen' : 'Benutzer ausladen';\n }\n\n isUserDummy():boolean{\n return !this.user?.email?.trim();\n }\n}\n","Autorisierung wird durchgeführt...\n
\n
\n
\n
!
\n
\n

Sind Sie sicher?

\n
\n\n
\n {{getDeleteText()}}\n
\n\n
\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DeleteUserDialogContentComponent } from './delete-user-dialog-content/delete-user-dialog-content.component';\n\n@Component({\n selector: 'app-delete-user-dialog',\n template: ''\n})\nexport class DeleteUserDialogComponent implements OnInit {\n\n private userId: string;\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n this.userId = params.get('key');\n this.openDialog();\n });\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(DeleteUserDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.userId = this.userId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['manage/users']);\n }, (backdrop) => {\n this.router.navigate(['manage/users']);\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { Observable } from 'rxjs';\nimport { ToastService } from '../../../services/toast/toast.service';\n\n@Component({\n selector: 'app-delete-user-for-customer-dialog-content',\n templateUrl: './delete-user-for-customer-dialog-content.component.html',\n styleUrls: ['./delete-user-for-customer-dialog-content.component.scss'],\n providers: [FormService]\n})\nexport class DeleteUserForCustomerDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DeleteUserForCustomerDialogContentComponent';\n\n public form: UntypedFormGroup;\n @Input() private customerId: number;\n @Input() private userId: string;\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private usersService: UsersService,\n private toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.form = new UntypedFormGroup({\n });\n }\n\n async onSubmit(formValue) {\n try {\n const isMasterUser = await this.usersService.checkIfMasterUser(this.userId).toPromise();\n\n if (isMasterUser) {\n this.deleteMasterUser();\n } else {\n this.deleteUser();\n }\n } catch (error) {\n this.toastService.error($localize`:@@DeletedDialogErrorHeader:Konto konnte nicht gelöscht werden.`);\n }\n }\n\n deleteUser() {\n this.usersService.deleteEntity(this.userId).subscribe(result => {\n this.toastService.success($localize`:@@DeletedDialogSuccessHeader:Benutzer wurde erfolgreich gelöscht.`);\n this.activeModal.close({ success: true, deleteMasterUser: false });\n }, error => {\n this.toastService.error($localize`:@@DeletedDialogErrorHeader:Benutzer konnte nicht gelöscht werden.`);\n this.activeModal.close({ success: false, error: error });\n });\n }\n deleteMasterUser() {\n this.usersService.deleteMasterUserOfCustomer(this.customerId).subscribe(result => {\n this.toastService.success($localize`:@@DeletedDialogSuccessHeader:Kunde wurde erfolgreich gelöscht.`);\n this.activeModal.close({ success: true, deleteMasterUser: true });\n\n }, error => {\n this.toastService.error($localize`:@@DeletedDialogErrorHeader:Kunde konnte nicht gelöscht werden.`);\n this.messageService.setError(error);\n });\n }\n}\n\nfunction firstValueFrom(arg0: Observable) {\n throw new Error('Function not implemented.');\n}\n","
\n
\n
\n
!
\n
\n

Sind Sie sicher?

\n
\n \n
\n
\n
\n \n
\n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { DeleteCurrentUserRequest } from '@dto/deleteCurrentUserRequest';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '../../../services/toast/toast.service';\n\n@Component({\n selector: 'app-delete-user-profile-dialog-content',\n templateUrl: './delete-user-profile-dialog-content.component.html',\n styleUrls: ['./delete-user-profile-dialog-content.component.scss'],\n providers: [FormService]\n})\nexport class DeleteUserProfileDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DeleteUserProfileDialogContentComponent';\n\n public form: UntypedFormGroup;\n public isWrongPassword: Boolean = false;\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private usersService: UsersService,\n private toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.form = new UntypedFormGroup({\n currentPassword: new UntypedFormControl('', [Validators.required])\n });\n }\n\n onSubmit(formValue) {\n const deleteUserProfileRequest: DeleteCurrentUserRequest = {\n currentPassword: formValue.currentPassword\n }\n\n this.usersService.deleteCurrentUser(deleteUserProfileRequest).subscribe(result => {\n if (result.isSuccess) {\n this.activeModal.close({ isSuccess: result.isSuccess });\n this.toastService.success($localize`:@@DeletedCustomerDialogSuccess:Kunde wurde erfolgreich gelöscht`);\n } else {\n this.isWrongPassword = true;\n }\n }, error => {\n this.toastService.error($localize`:@@DeletedCustomerDialogError:Kunde konnte nicht gelöscht werden`);\n this.messageService.setError(error);\n });\n }\n\n resetWrongPassword() {\n this.isWrongPassword = false;\n }\n}\n","
\n
\n
\n
!
\n
\n

Sind Sie sicher?

\n
\n
\n
Bitte geben Sie zur Bestätigung das aktuelle Passwort ein.
\n\n \n\n
\n
\n \n
\n Passwort wird benötigt\n Das eingegebene Passwort ist falsch\n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { ElementRef, Injector, ViewChild } from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { DeliveryNoteTemplateComponent } from '@components/pdf/delivery-note-template/delivery-note-template.component';\nimport { DeliveryNotesTableEntry } from '@dto/deliveryNotesTableEntry';\nimport { TransactionDeliveryNoteDto } from '@dto/transactionDeliveryNoteDto';\nimport { DeliveryNoteTemplateType } from '@enums/deliveryNoteTemplateType.enum';\nimport { DeliveryNote } from '@models/deliveryNote';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DeliveryNotesService } from '@services/entity/delivery-notes.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { plainToClass } from 'class-transformer';\nimport Swal from 'sweetalert2';\nimport { DeliveryNoteName } from '../../../../dto/deliveryNoteName';\nimport { Customer } from '../../../../models/customer';\nimport { FormService } from '../../../../services/form/form.service';\nimport { ToastService } from '../../../../services/toast/toast.service';\nimport { DeleteDeliveryNoteDialogContentComponent } from '../../delete-delivery-note-dialog-content/delete-delivery-note-dialog-content';\nimport { flatMap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-delivery-note-actions-dialog-content',\n templateUrl: './delivery-note-actions-dialog-content.component.html',\n styleUrls: ['./delivery-note-actions-dialog-content.component.scss']\n})\nexport class DeliveryNoteActionsDialogContentComponent extends AbstractDialogContent implements OnInit {\n @ViewChild('inputSendMail') inputElement: ElementRef;\n showEmail: boolean = false;\n isEmailValid: boolean = false;\n\n public className = 'DeliveryNoteActionsDialogContentComponent';\n\n public isOperatorView: boolean = false;\n\n @ViewChild('deliveryNoteActionsComponent') deliveryNoteActionsComponent;\n public entity: DeliveryNote;\n public customerId: number;\n public deliveryNoteId;\n public transactions: TransactionDeliveryNoteDto[];\n\n public form: UntypedFormGroup;\n public formCreated: boolean;\n\n public isValid: boolean = true;\n public validationIssue: string;\n\n constructor(\n public activeModal: NgbActiveModal,\n private deliveryNotesService: DeliveryNotesService,\n private usersService: UsersService,\n private toastService: ToastService,\n private dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.getDeliveryNote();\n }\n\n getDeliveryNote() {\n this.deliveryNotesService.getDeliveryNote(this.deliveryNoteId).subscribe(result => {\n this.entity = plainToClass(DeliveryNote, result);\n\n if (this.entity.user == null || this.entity.user.addressId == null) {\n this.isValid = false\n this.validationIssue = $localize`:@@DeliveryNoteValidationIssueUserAddress:Bitte beachten Sie, dass der „Empfänger“ des Lieferscheins immer der Benutzer ist, der geladen hat. Wenn im Benutzerprofil Name oder Adresse fehlen, wird der Lieferschein anonym ausgestellt.`\n }\n\n if (this.isValid) document.getElementById('download_pdf').focus()\n\n this.createForm();\n })\n }\n\n\n downloadCSV() {\n this.toastService.success(`CSV-Datei wird heruntergeladen...`, 2500, true)\n this.deliveryNotesService.getDeliveryNoteAsCSV(this.deliveryNoteId).subscribe((response: any) => {\n try {\n const file = new Blob([response], { type: 'text/csv' });\n const fileUrl = URL.createObjectURL(file);\n\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = this.entity.deliveryNoteNumber;\n a.click();\n } catch (error) {\n console.error(error);\n this.toastService.error(`CSV-Datei konnte nicht heruntergeladen werden.`, 0, true)\n } finally {\n this.toastService.clear()\n }\n }, error => {\n console.error(error);\n this.toastService.error(`CSV-Datei konnte nicht heruntergeladen werden.`, 0, true)\n })\n\n }\n\n async getTransactionData() {\n return await this.deliveryNotesService.getTransactionsOfDeliveryNoteAsync(this.deliveryNoteId);\n }\n\n createForm() {\n this.form = new UntypedFormGroup({\n deliveryNoteNumber: new UntypedFormControl(this.entity.deliveryNoteNumber),\n });\n\n this.formCreated = true;\n }\n\n changeDeliveryNoteName() {\n var deliveryNoteName: DeliveryNoteName = {\n deliveryNoteNumber: this.form.get('deliveryNoteNumber').value,\n };\n\n this.deliveryNotesService.updateDeliveryNoteName(deliveryNoteName, this.entity.id).subscribe(result => {\n this.toastService.success($localize`:@@ChangeDeliveryNoteNameSuccessHeader:Name des Lieferscheins erfolgreich gespeichert.`);\n }, error => {\n this.messageService.setError(error);\n });\n }\n\n async downloadPdf() {\n this.toastService.loading(`Lieferschein wird heruntergeladen...`)\n\n this.deliveryNotesService.getDeliveryNotePdf(this.deliveryNoteId).subscribe((response: any) => {\n try {\n const file = new Blob([response], { type: 'application/pdf' });\n const fileUrl = URL.createObjectURL(file);\n\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = this.form.get('deliveryNoteNumber').value + '.pdf';\n a.click();\n\n window.open(fileUrl);\n document.getElementById('x_close').focus()\n } catch (error) {\n console.error(error);\n this.toastService.error(`Lieferschein konnte nicht heruntergeladen werden.`, 0, true)\n } finally {\n this.toastService.clear()\n }\n }, error => {\n console.error(error);\n this.toastService.error(`Lieferschein konnte nicht heruntergeladen werden.`, 0, true)\n })\n }\n\n openSendPdfEmail() {\n this.showEmail = (!this.showEmail);\n\n if (this.showEmail) {\n setTimeout(() => {\n const inputElement = document.getElementById('input_sendMail') as HTMLInputElement;\n if (inputElement) {\n inputElement.value = this.entity.user?.email || \"\";\n this.setIsEmailValid();\n }\n }, 25);\n }\n }\n setIsEmailValid() {\n console.log(\"setIsEmailValid\");\n\n if (!this.showEmail) {\n this.isEmailValid = false;\n return;\n }\n\n\n const inputElement = document.getElementById('input_sendMail') as HTMLInputElement;\n const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\n console.log(\"regex\", emailRegex.test(inputElement.value));\n this.isEmailValid = emailRegex.test(inputElement.value);\n\n }\n\n async sendPdfEmail() {\n this.toastService.loading(`Lieferschein wird verschickt...`)\n\n const inputElement = document.getElementById('input_sendMail') as HTMLInputElement;\n const eMailOverwrite = inputElement.value;\n\n this.deliveryNotesService.sendDeliveryNoteMail(this.deliveryNoteId, eMailOverwrite).subscribe((response: any) => {\n this.toastService.success(`Lieferschein erfolgreich verschickt.`, 0, true)\n }, error => {\n console.error(error);\n this.toastService.error(`Lieferschein konnte nicht verschickt werden.`, 0, true)\n })\n // this.transactions = await this.getTransactionData();\n // var masterUserOfCustomer = await this.usersService.getMasterUserOfCurrentCustomerAsync();\n\n // const dialogRef = this.dialog.open(DeliveryNoteTemplateComponent, { centered: true, size: 'md', backdrop: 'static' });\n // dialogRef.componentInstance.type = DeliveryNoteTemplateType.Email;\n // dialogRef.componentInstance.deliveryNote = this.entity;\n // dialogRef.componentInstance.transactions = this.transactions;\n // dialogRef.componentInstance.masterUserOfCustomer = masterUserOfCustomer;\n\n // dialogRef.result.then((result) => {\n // var formData = new FormData();\n // formData.append(\"file\", result.pdf, this.entity.deliveryNoteNumber+ '.pdf');\n // formData.append(\"userId\", this.entity.userId);\n // formData.append(\"deliveryNoteNumber\", this.entity.deliveryNoteNumber);\n // formData.append(\"deliveryNoteId\", this.entity.id.toString());\n\n // this.deliveryNotesService.sendEmail(formData).subscribe(result => {\n // if (result) {\n // this.openSuccessDialog();\n // }\n // });\n // }, (backdrop) => {\n\n // });\n }\n\n openDeleteDialog(): void {\n const dialogRef = this.dialog.open(DeleteDeliveryNoteDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.entity = this.entity;\n\n dialogRef.result.then((result) => {\n if (result.success) {\n this.toastService.success($localize`:@@DeliveryNoteDialogDeleteSuccessHeader:Lieferschein wurde erfolgreich gelöscht.`);\n this.activeModal.close();\n }\n else {\n this.messageService.setError(result.error);\n }\n }, (backdrop) => {\n\n });\n }\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@DeliveryNoteSendedHeader:Versenden erfolgreich`,\n text: $localize`:@@DeliveryNoteSendedText:Die E-Mail wurde erfolgreich verschickt.`,\n icon: 'success',\n confirmButtonText: $localize`:@@OkButton:OK`,\n confirmButtonColor: 'green',\n }).then((result) => {\n //this.initializeEntities();\n });\n }\n}\n","
\n
\n Lieferschein {{ entity.deliveryNoteNumber }}\n
\n \n
\n\n
\n

\n \n {{ validationIssue }}\n

\n\n
\n \n
\n \n \n
\n
\n
\n\n
\n \n\n \n\n \n\n \n\n
\n
\n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DeliveryNoteActionsDialogContentComponent } from './delivery-note-actions-dialog-content/delivery-note-actions-dialog-content.component';\n\n@Component({\n selector: 'app-delivery-note-actions-dialog',\n template: ''\n})\nexport class DeliveryNoteActionsDialogComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n var deliveryNoteId = this.activatedRoute.snapshot.params.key;\n var isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n\n const dialogRef = this.dialog.open(DeliveryNoteActionsDialogContentComponent, { centered: true, size: 'md', backdrop: 'static' });\n dialogRef.componentInstance.deliveryNoteId = deliveryNoteId;\n dialogRef.componentInstance.customerId = customerId;\n dialogRef.componentInstance.isOperatorView = isOperatorView;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, LOCALE_ID, OnInit, ViewChild } from '@angular/core';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal, NgbDropdown, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { FormService } from '@services/form/form.service';\nimport '@angular/localize/init';\nimport { DeleteChargingStationDialogContentComponent } from '@components/dialog/delete-charging-station-dialog/delete-charging-station-dialog-content/delete-charging-station-dialog-content.component';\nimport { ActivatedRoute } from '@angular/router';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { SupportTicketRequest } from '@dto/supportTicketRequest';\nimport { RestartChargingStationDialogContentComponent } from '@components/dialog/restart-charging-station-dialog-content/restart-charging-station-dialog-content.component';\nimport { ResetChargingStationPasswordDialogContentComponent } from '@components/dialog/reset-charging-station-password-dialog-content/reset-charging-station-password-dialog-content.component';\nimport { ResetPasswordWarningDialogContentComponent } from '@components/dialog/reset-charging-station-password-warning-dialog-content/reset-charging-station-password-warning-dialog-content.component';\nimport { RestartChargingStationWarningDialogContentComponent } from '@components/dialog/restart-charging-station-warning-dialog-content/restart-charging-station-warning-dialog-content.component';\nimport { DiagnosticChargingStationDialogContentComponent } from '@components/dialog/diagnostic-charging-station-dialog/diagnostic-charging-station-dialog-content/diagnostics-charging-station-dialog-content.component';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ToastService } from '../../../../services/toast/toast.service';\nimport { UserDto } from '../../../../dto/userDto';\nimport { ChangeAvailabilityRequest } from '@dto/ocpp/ChangeAvailabilityRequest';\nimport { AvailabilityType } from '@enums/AvailabilityType.enum';\nimport { CustomersService } from '../../../../services/entity/customers.service';\nimport { UsersService } from '../../../../services/entity/users.service';\nimport { CustomerDto } from '../../../../dto/customerDto';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-details-charging-station-dialog-content',\n templateUrl: './details-charging-station-dialog-content.component.html',\n styleUrls: ['./details-charging-station-dialog-content.component.scss']\n})\nexport class DetailsChargingStationDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DetailsChargingStationDialogContentComponent';\n spinner1 = 'editSpinner';\n @ViewChild('settingsDropdown', { static: false }) settingsDropdown: NgbDropdown;\n @ViewChild('ChargingStationInfo') ChargingStationInfo;\n @ViewChild('detailsChargingStation') detailsChargingStation;\n @ViewChild('chargingStationDlm') chargingStationDlm;\n @ViewChild('chargingStationRfidAuth') chargingStationRfidAuth;\n @ViewChild('chargingStationSystem') chargingStationSystem;\n public entity: ChargingStation;\n\n public customerId: number;\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n public isSupporter: boolean = false;\n public isProduction: boolean = false;\n public isAvailable: boolean = true;\n public isHubjectCompatible: boolean = false;\n public activeTab = 1;\n public isManufacturerDLM: boolean;\n public showOfflineSince: boolean;\n public display: string = 'none';\n public diagnose: boolean = true;\n public ticket: SupportTicketRequest;\n public master: CustomerDto;\n\n public currentUser: UserDto;\n public offlineSince: Date;\n public unlockDisabled: boolean = false;\n public offlineTimes: number = 0;\n public offlineTimesRead: boolean = false;\n private statusUpdateSubscription: Subscription;\n showFreeChargeText: boolean;\n\n\n constructor(\n public activeModal: NgbActiveModal,\n public chargingStationsService: ChargingStationsService,\n public usersService: UsersService,\n public formService: FormService,\n public customerService: CustomersService,\n public userService: UsersService,\n private dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n private toastService: ToastService,\n private spinner: NgxSpinnerService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n onEntityLoadedEvent(entity: ChargingStation) {\n this.entity = entity;\n this.isAvailable = entity.chargingPoints[0].availability;\n this.isHubjectCompatible = entity.isHubjectCompatible;\n this.offlineSince = this.entity.offlineSince;\n this.ticket = new SupportTicketRequest();\n this.getRoles();\n this.isManufacturerDLM = entity.manufacturerId == 1 || entity.manufacturerId == 3 || entity.manufacturerId == 8\n this.unlockDisabled = (entity.chargingPoints[0].statusId == 1 || entity.chargingPoints[0].statusId == 11)\n if (!this.offlineTimesRead) {\n this.chargingStationsService.getOfflineTimesSince24h(this.entity.id).subscribe(res => {\n this.offlineTimes = res\n this.offlineTimesRead = true\n })\n }\n this.subscribeStatusUpdateEvent();\n }\n\n subscribeStatusUpdateEvent() {\n this.statusUpdateSubscription = this.chargingStationsService.subscribeStatusUpdateToStations([this.entity.id]).subscribe(event => {\n this.chargingStationsService.updateChargingPointsStatusThroughSSE(event, this.entity)\n }, error => { });\n }\n\n ngOnDestroy(): void {\n this.statusUpdateSubscription.unsubscribe();\n this.chargingStationsService.unsubscribeStatusUpdateToStations([this.entity.id]);\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n }\n this.authenticationService.getLoggedInUserSubject().subscribe(res => {\n if (res.email == \"technik@cubos.com\") {\n this.isProduction = true;\n } else {\n this.isProduction = false;\n }\n });\n if(this.authenticationService.userHasRole('Supporter')) {\n this.isSupporter = true;\n }\n }\n\n openDeleteDialog() {\n const dialogRef = this.dialog.open(DeleteChargingStationDialogContentComponent, { centered: true });\n dialogRef.componentInstance.chargingStationId = this.entity.id;\n dialogRef.componentInstance.deleted = false;\n\n dialogRef.result.then((result) => {\n if (dialogRef.componentInstance.deleted) {\n this.activeModal.close();\n }\n })\n }\n\n\n createTicket(id) {\n this.display = 'block';\n\n }\n\n onCloseHandled() {\n this.display = 'none';\n }\n\n diagnosedata() {\n this.diagnose = !this.diagnose\n }\n\n onValueChange(event: Event): void {\n const value = (event.target as any).value;\n this.ticket.customerEnteredText = value;\n }\n\n getUserOverCustomerId(id: number) {\n\n }\n\n buildTicket() {\n this.ticket.chargingStationID = this.entity.id;\n this.ticket.chargingStationSerialNo = this.entity.serialNumber;\n this.ticket.chargingStationName = this.entity.name;\n this.ticket.chargingStationFirmwareVersion = this.entity.firmware;\n this.ticket.chargingStationManufacturer = this.entity.manufacturer.name;\n this.ticket.chargingStationModel = this.entity.model.name;\n this.ticket.emailSubject = \"Fehleranalyse (von CUBOS.Connect generiert)\";\n this.ticket.senderName = this.authenticationService.getLoggedInUser().fullName;\n this.ticket.senderEmail = this.authenticationService.getLoggedInUser().email;\n this.toastService.loading('Daten für die Fehleranalyse werden gesammelt...', true);\n this.ticket.diagnostics = true;\n this.chargingStationsService.sendSupportTicket(this.ticket, this.entity.id).subscribe(result => {\n this.toastService.success('Ihre Support-Anfrage wurde versandt.',7500, true);\n this.ticket.customerEnteredText = \"\";\n }, error => {\n this.toastService.error('Support-Anfrage konnte nicht gesendet werden.', 7500, true);\n this.ticket.customerEnteredText = \"\";\n console.error(error)\n })\n }\n\n sendTicket() {\n this.buildTicket();\n this.onCloseHandled();\n }\n\n\n openResetDialog() {\n for (var cp of this.entity.chargingPoints) {\n if (cp.statusId == 3) {\n this.openRestartWarningDialog(this.entity);\n return;\n }\n }\n this.settingsDropdown.close()\n const dialogRef = this.dialog.open(RestartChargingStationDialogContentComponent, { centered: true });\n dialogRef.componentInstance.entity = this.entity.id;\n dialogRef.result.then((result) => {\n }, (backdrop) => {\n });\n\n }\n\n openDiagnosticsDialog() {\n const dialogRef = this.dialog.open(DiagnosticChargingStationDialogContentComponent, { centered: true });\n dialogRef.componentInstance.entity = this.entity.id;\n this.settingsDropdown.close()\n }\n\n openResetPasswordDialog() {\n for (var cp of this.entity.chargingPoints) {\n if (cp.statusId == 3) {\n this.openResetPasswordWarningDialog(this.entity);\n return\n }\n }\n this.settingsDropdown.close()\n\n const dialogRef = this.dialog.open(ResetChargingStationPasswordDialogContentComponent, { centered: true });\n dialogRef.componentInstance.entity = this.entity;\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.snapshot.params.key;\n\n dialogRef.result.then((result) => {\n }, (backdrop) => {\n\n });\n }\n\n openResetPasswordWarningDialog(entity: ChargingStationDto) {\n this.settingsDropdown.close()\n const dialogRef = this.dialog.open(ResetPasswordWarningDialogContentComponent, { centered: true });\n dialogRef.componentInstance.entity = entity;\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.snapshot.params.key;\n\n dialogRef.result.then((result) => {\n }, (backdrop) => {\n\n });\n }\n\n openRestartWarningDialog(entity: ChargingStationDto) {\n this.settingsDropdown.close()\n const dialogRef = this.dialog.open(RestartChargingStationWarningDialogContentComponent, { centered: true });\n dialogRef.componentInstance.entity = entity;\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.snapshot.params.key;\n\n dialogRef.result.then((result) => {\n }, (backdrop) => {\n\n });\n }\n\n enableHubjectERoaming(id) {\n this.settingsDropdown.close()\n this.toastService.loading(\"Roaming wird vorbereitet...\")\n this.chargingStationsService.enableHubjectERoaming(id).subscribe(result => {\n this.toastService.success('Roaming erfolgreich aktiviert.', 0, true)\n this.entity.isHubjectCompatible = true;\n this.isHubjectCompatible = true;\n }, error => {\n if (error.Message == 'charging station is not ERK') this.toastService.error('Die Ladestation ist nicht eichrechtskonform.', 0, true)\n else this.toastService.error('Unbekannter Fehler aufgetreten.', 0, true)\n console.error(error)\n });\n this.onEntityLoadedEvent(this.entity);\n\n }\n\n disableHubjectERoaming(id) {\n this.settingsDropdown.close()\n this.toastService.loading(\"Roaming wird deaktiviert...\")\n this.chargingStationsService.disableHubjectERoaming(id).subscribe(result => {\n this.toastService.success('Roaming erfolgreich deaktiviert.', 0, true)\n this.entity.isHubjectCompatible = false;\n this.isHubjectCompatible = false;\n }, error => {\n this.toastService.error('Unbekannter Fehler aufgetreten.', 0, true)\n console.error(error)\n });\n this.onEntityLoadedEvent(this.entity);\n }\n\n setAvailable() {\n this.settingsDropdown.close()\n this.toastService.loading(\"Ladestation wird entsperrt...\")\n var request = new ChangeAvailabilityRequest()\n request.connectorId = 0\n request.type = AvailabilityType.OPERATIVE\n this.chargingStationsService.changeAvailability(this.entity.id, request).subscribe(result => {\n this.isAvailable = true\n this.toastService.success('Ladestation erfolgreich entsperrt.', 0, true)\n }, error => {\n this.toastService.error('Ladestation konnte nicht entsperrt werden.', 0, true)\n console.error(error)\n });\n }\n\n setUnavailable() {\n this.settingsDropdown.close()\n this.toastService.loading(\"Ladestation wird gesperrt...\")\n var request = new ChangeAvailabilityRequest()\n request.connectorId = 0\n request.type = AvailabilityType.INOPERATIVE\n this.chargingStationsService.changeAvailability(this.entity.id, request).subscribe(result => {\n this.isAvailable = false\n this.toastService.success('Ladestation erfolgreich gesperrt.', 0, true)\n }, error => {\n this.toastService.error('Ladestation konnte nicht gesperrt werden.', 0, true)\n console.error(error)\n });\n }\n}\n","Autorisierung wird\n durchgeführt...\n
\n
\n
\n \n {{ entity.name }}\n\n \n
\n 1\" ngbTooltip=\"In den letzten 24 Stunden war diese Ladestation {{offlineTimes}} mal vom System getrennt.\">\n \n \n \n \n \n \n \n \n \n {{ offlineTimes }}\n \n \n
\n
\n
\n \n
\n\n
\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

Support & Feedback senden

\n
\n
\n \n
\n
\n
\n\n
\n \n \n
\n\n \n
\n
\n
\n
\n\n
\n \n
\n \n
\n \n \n \n \n \n \n \n
\n
\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { DetailsChargingStationDialogContentComponent } from './details-charging-station-dialog-content/details-charging-station-dialog-content.component';\n\n@Component({\n selector: 'app-details-charging-station-dialog',\n template: ''\n})\nexport class DetailsChargingStationDialogComponent implements OnInit {\n\n public isOperatorView: boolean;\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n public size: string = 'xl';\n private sortParam;\n\n constructor(\n public dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n private router: Router,\n private authenticationService: AuthenticationService\n ) { }\n\n ngOnInit() {\n this.getRoles();\n this.activatedRoute.paramMap.subscribe(params => {\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.openDialog();\n });\n\n this.activatedRoute.queryParams.subscribe(params => {\n this.sortParam = params.sort;\n });\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n // this.size = 'md';\n }\n }\n\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n const dialogRef = this.dialog.open(DetailsChargingStationDialogContentComponent, { size: this.size, backdrop: 'static', keyboard: false });\n // const dialogRef = this.dialog.open(DetailsChargingStationDialogContentComponent, { size: this.size, centered: true, backdrop: 'static', keyboard: false });\n\n dialogRef.componentInstance.customerId = customerId;\n\n if (this.operator) {\n this.isOperatorView = true;\n dialogRef.componentInstance.isOperatorView = true;\n }\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute, queryParams: { sort: this.sortParam } });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute, queryParams: { sort: this.sortParam } });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Injector } from '@angular/core';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Transaction } from '@models/transaction';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { TransactionSuccess } from '@enums/transaction-success.enum';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { FilesService } from '@services/files/files.service';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-details-running-transaction-dialog-content',\n templateUrl: './details-running-transaction-dialog-content.component.html',\n styleUrls: ['./details-running-transaction-dialog-content.component.scss']\n})\nexport class DetailsRunningTransactionDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DetailsRunningTransactionDialogContentComponent';\n\n @ViewChild('detailsRunningTransaction') detailsTransaction;\n\n public entity: TransactionDto;\n\n public customerId: number;\n\n public fileExists: boolean;\n\n constructor(\n public activeModal: NgbActiveModal,\n public transactionsService: TransactionsService,\n public formService: FormService,\n private filesService: FilesService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n onEntityLoadedEvent(entity: TransactionDto) {\n this.entity = entity;\n this.entity.successMessage = TransactionSuccess[entity.success];\n this.checkIfFileExists();\n }\n\n checkIfFileExists() {\n var fileName = 'signedMeterValues/' + this.entity.id + '-signedMeterValue.xml';\n\n this.filesService.fileExists(fileName).subscribe(result => {\n this.fileExists = result;\n })\n }\n\n downloadSignedMeterValues() {\n if (this.fileExists) {\n var fileName = 'signedMeterValues/' + this.entity.id + '-signedMeterValue.xml';\n var downloadFileName = this.entity.id + '-signedMeterValue.xml';\n this.filesService.download(fileName, downloadFileName);\n }\n }\n}\n","
\n
\n Details zum Ladevorgang {{ entity.transactionId }}\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
{{ entity.startTimestamp | date: 'short':'+0000'}}
\n
{{ entity.meterAmount | kwh }} kWh
\n
{{ entity.stopTimestamp | date: 'short':'+0000' }}
\n
\n
\n
\n
\n
\n {{ entity.successMessage }}\n
\n
\n
\n
\n
\n \n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { DetailsRunningTransactionDialogContentComponent } from './details-running-transaction-dialog-content/details-running-transaction-dialog-content.component';\n\n@Component({\n selector: 'app-details-transaction-dialog',\n template: ''\n})\nexport class DetailsRunningTransactionDialogComponent implements OnInit {\n\n public isOperatorView: boolean;\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private routeDataService: RouteDataService, private router: Router) { }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.openDialog();\n });\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n const dialogRef = this.dialog.open(DetailsRunningTransactionDialogContentComponent, { size: 'lg', centered: true, backdrop: 'static', keyboard: false });\n\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { AfterViewInit, Injector } from '@angular/core';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Transaction } from '@models/transaction';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { TransactionSuccess } from '@enums/transaction-success.enum';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { FilesService } from '@services/files/files.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { Chart, ChartConfiguration, ChartData, registerables } from 'chart.js';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { TransactionMeterValuesChartData } from '@models/TransactionMeterValuesChartData';\n\n@Component({\n selector: 'app-details-transaction-dialog-content',\n templateUrl: './details-transaction-dialog-content.component.html',\n styleUrls: ['./details-transaction-dialog-content.component.scss']\n})\nexport class DetailsTransactionDialogContentComponent extends AbstractDialogContent implements OnInit, AfterViewInit {\n\n public className = 'DetailsTransactionDialogContentComponent';\n\n @ViewChild('detailsTransaction') detailsTransaction;\n\n public entity: TransactionDto;\n\n public customerId: number;\n\n public fileExists: boolean;\n\n chartIsLoading = false;\n public chart: Chart;\n public canvas: any;\n public ctx: any;\n\n constructor(\n public activeModal: NgbActiveModal,\n private filesService: FilesService,\n private transactionsService: TransactionsService,\n public toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n\n ngOnInit() {\n super.ngOnInit();\n\n\n }\n\n ngAfterViewInit(): void {\n }\n\n\n\n async onEntityLoadedEvent(entity: TransactionDto) {\n if (!entity) return\n this.entity = entity;\n\n this.getTransactionMeterValuesChartDatas();\n\n this.entity.successMessage = TransactionSuccess[entity.success];\n this.checkIfFileExists();\n\n if (!this.entity?.meterAmount) {\n this.transactionsService.getKwhOfRunningTransaction(entity.transactionId).subscribe(kWh=>{\n this.entity.meterAmount = kWh;\n })\n }\n }\n\n getTransactionMeterValuesChartDatas(): Promise {\n return new Promise((resolve, reject) => {\n this.transactionsService.getTransactionMeterValuesChartDatas(this.entity.transactionId).subscribe(\n tmvcd => {\n if (tmvcd?.length) {\n document.getElementById('MeterValuesChart').style.display = 'block';\n this.createChartData(tmvcd);\n resolve(tmvcd);\n } else {\n document.getElementById('MeterValuesChart').style.display = 'none';\n resolve(null);\n }\n },\n error => {\n console.error('Fehler beim Abrufen oder Verarbeiten der Daten:', error);\n document.getElementById('MeterValuesChart').style.display = 'none';\n reject(error);\n }\n );\n });\n }\n\n setMeterAmountByChartDatas() {\n\n }\n\n\n\n\n checkIfFileExists() {\n var fileName = 'signedMeterValues/' + this.entity.id + '-signedMeterValue.xml';\n\n this.filesService.fileExists(fileName).subscribe(result => {\n this.fileExists = result;\n })\n }\n\n downloadSignedMeterValues() {\n if (this.fileExists) {\n var fileName = 'signedMeterValues/' + this.entity.id + '-signedMeterValue.xml';\n var downloadFileName = this.entity.id + '-signedMeterValue.xml';\n this.filesService.download(fileName, downloadFileName);\n this.toastService.success('Die signierte Datei wird erfolgreich heruntergeladen!')\n this.activeModal.close()\n }\n }\n\n\n createChartData(dataPoints: TransactionMeterValuesChartData[]) {\n dataPoints.forEach(item => {\n item.timestamp = new Date(item.timestamp);\n });\n\n dataPoints.sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());\n\n const transformedDataPoints = dataPoints.map(point => {\n\n let timestamp = point.timestamp;\n if (!(timestamp instanceof Date)) {\n timestamp = new Date(timestamp);\n }\n\n return {\n x: timestamp.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),\n y: point.powerInkW\n };\n });\n\n this.createChart(transformedDataPoints);\n }\n\n createChart(dataPoints: { x: string, y: number }[]): void {\n if (this.chart) {\n this.chart.destroy();\n }\n const ctx = document.getElementById('distribution-chart-canvas') as HTMLCanvasElement;\n\n const chartData: ChartData<'line', { x: string, y: number }[]> = {\n datasets: [\n {\n data: dataPoints,\n borderColor: 'rgba(7, 181, 245, 1)',\n backgroundColor: 'rgba(75, 192, 192, 0.2)',\n fill: false,\n pointRadius: 0 // Make data points invisible\n }\n ]\n };\n\n const config: ChartConfiguration<'line', { x: string, y: number }[]> = {\n type: 'line',\n data: chartData,\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n x: {\n type: 'category', // Use category scale since x values are strings\n title: {\n display: true,\n text: 'Uhrzeit'\n }\n },\n y: {\n beginAtZero: true,\n title: {\n display: true,\n text: 'Leistung in kW'\n }\n }\n },\n plugins: {\n legend: {\n display: false // Disable the legend\n }\n }\n }\n };\n\n this.chart = new Chart(ctx, config as any);\n }\n\n updateChart(newDataPoints: { x: string, y: number }[]): void {\n this.createChart(newDataPoints);\n }\n\n\n\n\n\n\n\n\n\n\n\n\n}\n","
\n
\n Details zum Ladevorgang {{ entity.transactionId }}\n
\n \n
\n
\n \n
\n
\n
\n {{ entity?.successMessage }}\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n
{{ entity?.startTimestamp | date: 'medium' }}
\n
{{ entity?.meterAmount | kwh }} kWh
\n
{{ entity?.stopTimestamp | date: 'medium' }}
\n
\n
\n\n
\n \n
\n\n
\n
\n
\n \n
\n
\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { RouteDataService } from \"@services/route-data/route-data.service\";\nimport { DetailsTransactionDialogContentComponent } from \"./details-transaction-dialog-content/details-transaction-dialog-content.component\";\n\n@Component({\n selector: \"app-details-transaction-dialog\",\n template: \"\",\n})\nexport class DetailsTransactionDialogComponent implements OnInit {\n public isOperatorView: boolean;\n\n constructor(\n public dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe((params) => {\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.openDialog();\n });\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n const dialogRef = this.dialog.open(\n DetailsTransactionDialogContentComponent,\n { size: \"lg\", centered: true, backdrop: \"static\", keyboard: false }\n );\n\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then(\n (result) => {\n this.router.navigate([\"../\"], { relativeTo: this.activatedRoute });\n },\n (backdrop) => {\n this.router.navigate([\"../\"], { relativeTo: this.activatedRoute });\n }\n );\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { FormService } from '@services/form/form.service';\nimport {DiagnosticsRequestDto} from '@dto/diagnosticsRequestDto';\nimport { ToastService } from '@services/toast/toast.service';\n\n@Component({\n selector: 'app-diagnostics-charging-station-dialog-content',\n templateUrl: './diagnostics-charging-station-dialog-content.component.html',\n styleUrls: ['./diagnostics-charging-station-dialog-content.component.scss']\n})\nexport class DiagnosticChargingStationDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'DiagnosticsChargingStationDialogContentComponent';\n public diagnosticsDto : DiagnosticsRequestDto\n public form: UntypedFormGroup;\n @Input() private entity: string;\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private chargingStationsService: ChargingStationsService,\n public toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.formService.form = new UntypedFormGroup({});\n }\n\n onSubmit() {\n this.diagnosticsDto = null;\n this.toastService.loading($localize`:@@OpenDiagnosticsSuccess:Diagnosedaten werden abgefragt...`);\n this.chargingStationsService.posttriggerAutomaticDiagnosticUpload(this.entity).subscribe(result => {\n this.toastService.success($localize`:@@OpenDiagnosticsSuccess:Diagnosedaten erfolgreich abgefragt.`, 0, true);\n window.setTimeout(() => {\n this.toastService.info($localize`:@@OpenDiagnosticsSuccess:Die Diagnosedatei kann in wenigen Minuten über einen FTP-Zugang heruntergeladen werden.`, 0, true);\n }, 3000)\n }, error => {\n this.messageService.setError(error);\n this.toastService.error($localize`:@@OpenDiagnosticsError:Fehler beim abfragen der Diagnosedaten:`+error);\n });\n this.activeModal.close(true);\n }\n\n}\n","
\n
\n
\n
!
\n
\n\n

Ihre Diagnosedaten abfragen?

\n
\n\n
\n
\n
\n \n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DiagnosticChargingStationDialogContentComponent } from './diagnostic-charging-station-dialog-content/diagnostics-charging-station-dialog-content.component';\n@Component({\n selector: 'app-diagnostics-charging-station-dialog',\n template: ''\n})\nexport class DiagnosticChargingStationDialogComponent implements OnInit {\n\n private chargingStationId: string;\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n if (this.chargingStationId == null) {\n this.chargingStationId = params.get('key');\n }\n this.openDialog();\n });\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(DiagnosticChargingStationDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.entity = this.chargingStationId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '../../../../abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ModelsService } from '@services/entity/models.services';\nimport { DEDatePipe } from '../../../../pipes/de-date.pipe';\nimport { FormService } from '@services/form/form.service';\nimport { FormControl, FormGroup, UntypedFormGroup, Validators, ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { ModelDto } from '../../../../dto/modelDto';\nimport { ToastService } from '../../../../services/toast/toast.service';\n\n@Component({\n selector: 'app-edit-chargingstationprofile-dialog-content',\n templateUrl: './edit-chargingstationprofile-dialog-content.component.html',\n styleUrls: ['./edit-chargingstationprofile-dialog-content.component.scss']\n})\nexport class EditChargingstationProfileDialogContentComponent extends AbstractDialogContent implements OnInit {\n public className: 'EditChargingStationProfileDialogContentComponent';\n\n datestring: string;\n public form: UntypedFormGroup;\n public formCreated: boolean;\n\n constructor(\n public activeModal: NgbActiveModal,\n private activatedRoute: ActivatedRoute,\n private modelsService: ModelsService,\n private toastService: ToastService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n public modell: ModelDto;\n public date;\n public datetimeLocal;\n public profileId;\n public customerId;\n\n\n \n ngOnInit(): void {\n this.modelsService.getModel(this.profileId.key).subscribe(model => {\n this.modell = model;\n this.createForm();\n }, error => { })\n }\n\n initialize() {\n let intDate = new Date(this.modell.integrationDate).toUTCString();\n this.datetimeLocal = this.formatDateToDatetimeLocal(intDate);\n this.date = this.datetimeLocal;\n }\n\n formatDateToDatetimeLocal(date: string): string {\n const utcDate = new Date(date);\n const year = utcDate.getFullYear();\n const month = String(utcDate.getMonth() + 1).padStart(2, '0');\n const day = String(utcDate.getDate()).padStart(2, '0');\n const hours = String(utcDate.getHours()).padStart(2, '0');\n const minutes = String(utcDate.getMinutes()).padStart(2, '0');\n\n return `${year}-${month}-${day}T${hours}:${minutes}`;\n }\n\n createForm() {\n\n this.form = new UntypedFormGroup({\n manufacturerId: new UntypedFormControl(this.modell.manufacturerId),\n manufacturerName: new UntypedFormControl(this.modell.manufacturer.name),\n modelname: new UntypedFormControl(this.modell.name),\n pictureUri: new UntypedFormControl(this.modell.pictureUri),\n isErk: new UntypedFormControl(this.modell.profile.isErk),\n numberOfConnectors: new UntypedFormControl(this.modell.profile.numberOfConnectors),\n isOcpp16: new UntypedFormControl(this.modell.profile.isOcpp16),\n isOcpp20: new UntypedFormControl(this.modell.profile.isOcpp20),\n isOcpp201: new UntypedFormControl(this.modell.profile.isOcpp201),\n isUpdatable: new UntypedFormControl(this.modell.profile.isUpdatable),\n isMobile: new UntypedFormControl(this.modell.profile.isMobile),\n isAc: new UntypedFormControl(this.modell.profile.isAc),\n isDc: new UntypedFormControl(this.modell.profile.isDc),\n isPnc: new UntypedFormControl(this.modell.profile.isPnc),\n isBidi: new UntypedFormControl(this.modell.profile.isBidi),\n });\n this.formCreated = true;\n }\n\n onSubmit(formValue) {\n this.modell.manufacturer.name = formValue['manufacturerName']\n this.modell.name = formValue['modelname'];\n this.modell.profile.isErk = formValue['isErk'];\n this.modell.profile.isOcpp16 = formValue['isOcpp16'];\n this.modell.profile.isOcpp20 = formValue['isOcpp20'];\n this.modell.profile.isOcpp201 = formValue['isOcpp201'];\n this.modell.profile.isUpdatable = formValue['isUpdatable'];\n this.modell.profile.isMobile = formValue['isMobile'];\n this.modell.profile.isPnc = formValue['isPnc'];\n this.modell.profile.isAc = formValue['isAc'];\n this.modell.profile.isDc = formValue['isDc'];\n this.modell.profile.isBidi = formValue['isBidi'];\n this.modell.profile.numberOfConnectors = formValue['numberOfConnectors'];\n this.modell.integrationDate = formValue['integrationDate'];\n\n this.modelsService.patchModel(this.modell).subscribe(res => {\n if (res) {\n this.toastService.success('Profil wurde erfolgreich gespeichert', 3000, true);\n this.activeModal.dismiss();\n\n } else {\n this.toastService.error('Profil konnte nicht gespeichert werden', 3000, true);\n\n }\n })\n }\n\n\n public onCancelClick(): void {\n this.activeModal.dismiss();\n }\n\n}\n","
\n
\n
\n
Modell bearbeiten
\n \n
\n
\n\n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n {{ this.datestring }}\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n
\n\n
\n
\n
\n \n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { EditChargingstationProfileDialogContentComponent } from './edit-chargingstationprofile-dialog-content/edit-chargingstationprofile-dialog-content.component';\nimport { RouteDataService } from '../../../services/route-data/route-data.service';\nimport { AuthenticationService } from '../../../services/authentication/authentication.service';\n\n@Component({\n selector: 'app-edit-chargingstationprofile-dialog',\n template: ''\n})\nexport class EditChargingStationProfileDialogComponent implements OnInit {\n\n public isOperatorView: boolean;\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n public size: string = 'xl';\n private sortParam;\n\n constructor(\n public dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n private router: Router,\n private authenticationService: AuthenticationService\n ) { }\n\n ngOnInit() {\n this.getRoles();\n this.activatedRoute.paramMap.subscribe(params => {\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.openDialog();\n });\n\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n // this.size = 'md';\n }\n }\n\n\n openDialog(): void {\n var profileId = this.routeDataService.params;\n const dialogRef = this.dialog.open(EditChargingstationProfileDialogContentComponent, { size: this.size, backdrop: 'static', keyboard: false });\n\n dialogRef.componentInstance.profileId = profileId;\n\n if (this.operator) {\n this.isOperatorView = true;\n dialogRef.componentInstance.isOperatorView = true;\n }\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute, queryParams: { sort: this.sortParam } });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute, queryParams: { sort: this.sortParam } });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { DeliveryNoteSettingsDto } from '@dto/deliveryNoteSettingsDto';\nimport { UserDto } from '@dto/userDto';\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { DeliveryNotesService } from '@services/entity/delivery-notes.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\n\n@Component({\n selector: 'app-delivery-notes-settings-dialog-content',\n templateUrl: './edit-delivery-notes-settings-dialog-content.component.html',\n styleUrls: ['./edit-delivery-notes-settings-dialog-content.component.scss'],\n})\nexport class EditDeliveryNotesSettingsDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'EditDeliveryNotesSettingsDialogContentComponent';\n\n public deliveryNoteSettings: DeliveryNoteSettingsDto;\n\n public fileName: string = \"\"\n public fileNameExample: any = {}\n\n public isUser: boolean = false\n public isCustomer: boolean = false\n public isOperator: boolean = false\n public isSupporter: boolean = false;\n public customerId: number\n\n constructor(\n public activeModal: NgbActiveModal,\n private activatedRoute: ActivatedRoute,\n public dialog: NgbModal,\n private deliveryNotesService: DeliveryNotesService,\n public customersService: CustomersService,\n public toastService: ToastService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n ngOnInit() {\n this.getRoles();\n \n if (this.isOperator) {\n this.customerId = this.activatedRoute.children[0].snapshot.params.key;\n } else {\n this.customerId = Number(localStorage.getItem('customerId'));\n }\n \n if (this.customerId == null) {\n this.toastService.error(\"Fehler beim Aufruf der Lieferscheineinstellungen\")\n this.activeModal.close();\n }\n\n this.setupExample()\n this.getDeliveryNotesSettings()\n super.ngOnInit()\n }\n \n setupExample() {\n this.fileNameExample.sequentialNumber = '123'\n this.fileNameExample.recipientFirstName = 'Max'\n this.fileNameExample.recipientLastName = 'Mustermann'\n this.fileNameExample.createdMonth = new Date().getMonth().toString()\n this.fileNameExample.createdYear = new Date().getFullYear().toString()\n }\n\n getDeliveryNotesSettings() {\n this.deliveryNotesService.getDeliveryNoteSettings(this.customerId).subscribe(deliveryNoteSettings => {\n this.deliveryNoteSettings = plainToClass(DeliveryNoteSettingsDto, deliveryNoteSettings)\n this.setFileName()\n }, error => {\n this.deliveryNotesService.createDeliveryNoteSettings(this.customerId).subscribe(deliveryNoteSettings => {\n this.deliveryNoteSettings = deliveryNoteSettings\n this.setFileName()\n })\n })\n }\n\n toggleFileNameVariable(variable, value) {\n if (this[variable] != '') this[variable] = value\n else this[variable] = ''\n this.setFileName()\n }\n\n setFileName() {\n let variable = this.fileNameExample[this.deliveryNoteSettings.fileNameFirstVariable]\n this.fileName = variable.replace(/ /g, '_')\n\n if (this.deliveryNoteSettings.fileNameSecondVariable) {\n let variable = this.fileNameExample[this.deliveryNoteSettings.fileNameSecondVariable]\n this.fileName += `_${variable.replace(/ /g, '_')}`\n }\n\n if (this.deliveryNoteSettings.fileNameThirdVariable) {\n let variable = this.fileNameExample[this.deliveryNoteSettings.fileNameThirdVariable]\n this.fileName += `_${variable.replace(/ /g, '_')}`\n }\n\n this.fileName += '.pdf'\n }\n\n isDate(value: string) {\n if (!value || typeof value != 'string') return false\n return new RegExp(/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z*/).test(value.trim())\n }\n\n parseDate(date: Date) {\n date = new Date(date)\n const y = date.getFullYear()\n const m = date.getMonth()\n const d = date.getDate()\n return `${y}-${m < 10 ? '0' + m : m}-${d < 10 ? '0' + d : d}`\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n }\n\n saveAndClose() {\n this.deliveryNotesService.patchDeliveryNoteSettings(this.customerId, this.deliveryNoteSettings).subscribe(deliveryNoteSettings => {\n this.deliveryNoteSettings = plainToClass(DeliveryNoteSettingsDto, deliveryNoteSettings)\n this.setFileName()\n this.toastService.success('Lieferscheineinstellungen erfolgreich gespeichert.')\n this.close()\n }, error => {\n console.error(error)\n this.toastService.error('Fehler beim Speichern der Lieferscheineinstellungen.')\n })\n }\n\n close() {\n this.activeModal.close();\n }\n}\n","
\n
Lieferscheineinstellungen
\n \n
\n\n
\n
Lieferscheinnummer:
\n\n \n\n
\n \n\n \n\n \n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n \n \n
\n
\n\n","import { Component, HostListener, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { EditDeliveryNotesSettingsDialogContentComponent } from './edit-delivery-notes-settings-dialog-content/edit-delivery-notes-settings-dialog-content.component';\n\n@Component({\n selector: 'app-edit-invoice-settings-dialog',\n template: ''\n})\nexport class EditDeliveryNotesSettingsDialogComponent implements OnInit {\n\n constructor(\n public dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n private router: Router\n ) { }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n event.preventDefault();\n }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.openDialog();\n });\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(EditDeliveryNotesSettingsDialogContentComponent, { centered: true, backdrop: 'static', size: 's' });\n\n dialogRef.result.then(toDashboard => {\n if (toDashboard) window.history.go(-2)\n else this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { AfterViewInit, Component, ElementRef, Injector, Input, ViewChild } from '@angular/core';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\nimport { UsersService } from '../../../../services/entity/users.service';\nimport { ToastService } from '../../../../services/toast/toast.service';\nimport { EnterConfirmationCodeDialogContentComponent } from '../../enter-confirmation-code-dialog/enter-confirmation-code-dialog-content/enter-confirmation-code-dialog-content.component';\n\n@Component({\n selector: 'edit-email-dialog-content',\n templateUrl: './edit-email-dialog-content.component.html',\n styleUrls: ['./edit-email-dialog-content.component.scss']\n})\nexport class EditEmailDialogContentComponent extends AbstractDialogContent implements AfterViewInit {\n\n public className = 'EditEmailDialogContentComponent';\n\n public userId: string;\n isConfirmBtnDisabled: boolean = true;\n @ViewChild('newEmailInput') newEmailInput: ElementRef;\n\n\n\n constructor(\n public activeModal: NgbActiveModal,\n public dialog: NgbModal,\n public formService: FormService,\n private usersService: UsersService,\n private toastService: ToastService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n ngAfterViewInit() {\n this.newEmailInput.nativeElement.focus();\n }\n\n onConfimClick() {\n if (!this.isEmailValid)\n return;\n\n this.usersService.existEmail(this.newEmailInput.nativeElement.value).subscribe(response => {\n\n if (response == true) {\n this.toastService.error($localize`:@@EmailExist:E-Mail-Adresse existiert bereits.`, 4500, true);\n return;\n }\n\n this.activeModal.close({ status: \"ok\", email: this.newEmailInput.nativeElement.value });\n }, error => {\n this.toastService.error($localize`:@@UnexpectedErrorCheckUniqueEmail:Unerwarteter Fehler beim Überprüfen der E-Mail-Adresse.`, 5000, true);\n this.activeModal.close({ status: \"error\", email: \"\" });\n });\n\n }\n onCancelClick() {\n this.activeModal.close({ status: \"canceled\", email: \"\" });\n\n }\n\n onInputChange(event: any) {\n this.isConfirmBtnDisabled = !this.isEmailValid();\n }\n\n isEmailValid(): boolean {\n return (/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/).test(this.newEmailInput.nativeElement.value);\n }\n}\n","
\n
\n
\n E-Mail ändern\n
\n\n \n
\n\n
\n
\n \n \n
\n
\n\n
\n \n \n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { EditEmailDialogContentComponent } from './edit-email-dialog-content/edit-email-dialog-content.component';\n\n@Component({\n selector: 'edit-email-dialog',\n template: ''\n})\nexport class EditEmailDialogComponent implements OnDestroy {\n \n private modal: NgbModalRef | null = null\n\n constructor(\n public modalService: NgbModal,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n ) {}\n\n ngAfterViewInit() {\n if (this.modalService.hasOpenModals()) return\n this.openDialog();\n }\n\n openDialog(): void {\n if (this.modal) {\n this.modal.close()\n }\n\n this.modal = this.modalService.open(\n EditEmailDialogContentComponent,\n { centered: true, backdrop: 'static', size: 'lg' }\n )\n\n this.modal.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n }, (reason) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n })\n }\n\n ngOnDestroy() {\n if (this.modal) {\n this.modal.close()\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { EditGroupsComponent } from '@components/manage/groups/edit-groups/edit-groups.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RouteDataService } from '@services/route-data/route-data.service';\n\n@Component({\n selector: 'app-edit-group-dialog',\n template: ''\n})\nexport class EditGroupDialogComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n var groupId = this.activatedRoute.snapshot.params.key;\n\n const dialogRef = this.dialog.open(EditGroupsComponent, { centered: true, size: 'lg', backdrop: 'static' });\n\n dialogRef.componentInstance.customerId = customerId;\n dialogRef.componentInstance.groupId = groupId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit, Input } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { InvoiceSettingsDto } from '@dto/invoiceSettingsDto';\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { UploadResponse } from '@dto/uploadResponse';\nimport { FilesService } from '@services/files/files.service';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { Transaction } from '@models/transaction';\nimport { UsersService } from '@services/entity/users.service';\nimport { UserDto } from '@dto/userDto';\nimport { FormService } from '@services/form/form.service';\nimport { ValidatorService } from 'angular-iban';\nimport { ActivatedRoute } from '@angular/router';\nimport { CustomersService } from '@services/entity/customers.service';\n\n@Component({\n selector: 'app-edit-invoice-settings-dialog-content',\n templateUrl: './edit-invoice-settings-dialog-content.component.html',\n styleUrls: ['./edit-invoice-settings-dialog-content.component.scss']\n})\nexport class EditInvoiceSettingsDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'EditInvoiceSettingsDialogContentComponent';\n\n public ownerUserId: string\n public user: UserDto\n public invoiceSettings: InvoiceSettingsDto = new InvoiceSettingsDto()\n public invoiceExample: InvoiceDto\n\n @Input() private customerId: number;\n\n public isUser: boolean = false\n public isCustomer: boolean = false\n public isOperator: boolean = false\n public isSupporter: boolean = false;\n \n public form: UntypedFormGroup\n public formReady: boolean = false\n\n public isHeaderHighlighted: boolean = false\n public isFooterHighlighted: boolean = false\n\n private file: File\n public filePreview: SafeUrl\n public customStationary: any\n\n constructor(\n public activeModal: NgbActiveModal,\n public dialog: NgbModal,\n private spinnerService: NgxSpinnerService,\n private toastService: ToastService,\n private filesService: FilesService,\n public formService: FormService,\n public activatedRoute: ActivatedRoute,\n private usersService: UsersService,\n private customersService: CustomersService,\n private sanitizer: DomSanitizer,\n private invoicesService: InvoicesService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n async ngOnInit() {\n super.ngOnInit();\n this.getRoles();\n\n if (this.isOperator) {\n this.customersService.getMasterUserOfCustomer(this.customerId).subscribe(masterUser => {\n this.ownerUserId = masterUser.id;\n this.getUser();\n })\n } else {\n this.ownerUserId = localStorage.getItem('userId');\n this.getUser();\n }\n }\n\n getUser() {\n this.usersService.getUserDtoById(this.ownerUserId).subscribe(user => {\n this.user = plainToClass(UserDto, user)\n this.getInvoiceSettings()\n })\n }\n\n getInvoiceSettings() {\n this.invoicesService.getInvoiceSettingsOfUser(this.ownerUserId).subscribe(invoiceSettings => {\n if (invoiceSettings) {\n this.invoiceSettings = plainToClass(InvoiceSettingsDto, invoiceSettings)\n this.getCustomStationary()\n } else if (!this.isSupporter){\n const newInvoiceSettings = new InvoiceSettingsDto()\n newInvoiceSettings.ownerUserId = this.user.id\n newInvoiceSettings.letterheadHeight = 70\n newInvoiceSettings.footnoteHeight = 20\n this.invoicesService.createInvoiceSettings(newInvoiceSettings).subscribe(createdInvoiceSettings => {\n this.invoiceSettings = plainToClass(InvoiceSettingsDto, createdInvoiceSettings)\n })\n }\n this.createForm()\n }, error => {\n console.error(error);\n })\n }\n\n getCustomStationary() {\n if (this.invoiceSettings.stationaryFileName) {\n this.filesService.getPublicImage(this.invoiceSettings.stationaryFileName, \"image/jpg\").subscribe(result => {\n var unsafeImageUrl = URL.createObjectURL(result);\n this.customStationary = this.sanitizer.bypassSecurityTrustUrl(unsafeImageUrl);\n }, error => {\n console.error(error);\n })\n }\n }\n\n createForm() {\n this.formService.validators = {\n ceo: [],\n vatId: [Validators.required],\n commercialRegister: [],\n commercialRegisterId: [],\n bank: [],\n iban: [Validators.minLength(22), Validators.maxLength(27), ValidatorService.validateIban],\n bic: [],\n }\n \n this.formService.form = new UntypedFormGroup({\n vatId: new UntypedFormControl(this.invoiceSettings?.vatId, this.formService.validators['vatId']),\n ceo: new UntypedFormControl(this.invoiceSettings?.ceo, this.formService.validators['ceo']),\n commercialRegister: new UntypedFormControl(this.invoiceSettings?.commercialRegister, this.formService.validators['commercialRegister']),\n commercialRegisterId: new UntypedFormControl(this.invoiceSettings?.commercialRegisterId, this.formService.validators['commercialRegisterId']),\n bank: new UntypedFormControl(this.invoiceSettings?.bank, this.formService.validators['bank']),\n iban: new UntypedFormControl(this.invoiceSettings?.iban, this.formService.validators['bank']),\n bic: new UntypedFormControl(this.invoiceSettings?.bic, this.formService.validators['bank']),\n isUsingStationery: new UntypedFormControl(this.invoiceSettings?.isUsingStationery),\n letterheadHeight: new UntypedFormControl(this.invoiceSettings?.letterheadHeight ? this.invoiceSettings?.letterheadHeight : 70),\n footnoteHeight: new UntypedFormControl(this.invoiceSettings?.footnoteHeight ? this.invoiceSettings?.footnoteHeight : 22),\n isUsingFootnote: new UntypedFormControl(this.invoiceSettings?.isUsingFootnote),\n });\n\n window.setTimeout(() => {\n document.getElementById('vatId').focus()\n }, 100)\n\n this.formService.formMap = new Map();\n this.formReady = true;\n this.refresh(); \n }\n\n async setCustomStationary(event: any) {\n if (event.target.files[0] == null) return;\n this.file = new File([event.target.files[0]], this.ownerUserId + '.jpg', { type: 'image/jpg' });\n this.filePreview = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(event.target.files[0]))\n }\n\n async uploadFile(file: File): Promise {\n var formData = new FormData()\n formData.append(\"file\", file)\n formData.append(\"path\", \"stationaries\")\n return await this.filesService.uploadAsync(formData, true)\n }\n\n async validateIBAN() {\n this.invoicesService.validateIBAN(this.formService.form.value.iban).subscribe(result => {\n if (result && result.bankData) {\n this.invoiceSettings.bank = result.bankData.name\n this.formService.form.patchValue({bank: this.invoiceSettings.bank})\n this.invoiceSettings.bic = result.bankData.bic\n this.formService.form.patchValue({bic: this.invoiceSettings.bic})\n this.refresh()\n }\n })\n }\n\n async patchAndClose() {\n if (this.formService.form.invalid) {\n this.toastService.error('Bitte füllen Sie alle Pflichtfelder aus.')\n return false\n }\n\n this.spinnerService.show();\n\n this.invoiceSettings.ceo = this.formService.form.value.ceo\n this.invoiceSettings.vatId = this.formService.form.value.vatId\n this.invoiceSettings.commercialRegister = this.formService.form.value.commercialRegister\n this.invoiceSettings.commercialRegisterId = this.formService.form.value.commercialRegisterId\n this.invoiceSettings.bank = this.formService.form.value.bank\n this.invoiceSettings.iban = this.formService.form.value.iban\n this.invoiceSettings.bic = this.formService.form.value.bic\n this.invoiceSettings.isUsingStationery = this.formService.form.value.isUsingStationery\n this.invoiceSettings.letterheadHeight = this.formService.form.value.letterheadHeight\n this.invoiceSettings.footnoteHeight = this.formService.form.value.footnoteHeight\n this.invoiceSettings.isUsingFootnote = this.formService.form.value.isUsingFootnote\n\n if (this.file != null) {\n const fileUpload = await this.uploadFile(this.file)\n this.invoiceSettings.stationaryFileUri = fileUpload[0].fileUri\n this.invoiceSettings.stationaryFileName = fileUpload[0].fileName\n }\n\n this.invoicesService.patchInvoiceSettings(this.invoiceSettings).subscribe(result => {\n this.spinnerService.hide()\n this.toastService.success(`Änderungen erfolgreich gespeichert.`)\n this.activeModal.close()\n }, error => {\n this.spinnerService.hide()\n this.toastService.error(`Änderungen konnten nicht gespeichert werden.`)\n this.activeModal.close();\n });\n }\n\n public getStopDate(date, hours) {\n var result = new Date(date)\n result.setDate(result.getHours() + hours)\n return result\n }\n\n public getDueDate(date, days) {\n var result = new Date(date)\n result.setDate(result.getDate() + days)\n return result\n }\n\n public highlightHeader(bool) {\n this.isHeaderHighlighted = bool;\n }\n \n public highlightFooter(bool) {\n this.isFooterHighlighted = bool;\n }\n\n close() {\n if (!this.invoiceSettings || !this.isInvoiceSettingsValid(this.invoiceSettings)) {\n this.activeModal.close(true);\n }\n this.activeModal.close();\n }\n\n private isInvoiceSettingsValid(settings) {\n if (settings.vatId) {\n return true\n }\n return false\n }\n \n refresh() {\n if (!this.invoiceSettings) return\n this.invoiceSettings.ceo = this.formService.form.value.ceo\n this.invoiceSettings.vatId = this.formService.form.value.vatId\n this.invoiceSettings.commercialRegister = this.formService.form.value.commercialRegister\n this.invoiceSettings.commercialRegisterId = this.formService.form.value.commercialRegisterId\n this.invoiceSettings.bank = this.formService.form.value.bank\n this.invoiceSettings.iban = this.formService.form.value.iban\n this.invoiceSettings.bic = this.formService.form.value.bic\n this.invoiceSettings.isUsingStationery = this.formService.form.value.isUsingStationery\n this.invoiceSettings.letterheadHeight = this.formService.form.value.letterheadHeight\n this.invoiceSettings.footnoteHeight = this.formService.form.value.footnoteHeight\n this.invoiceSettings.isUsingFootnote = this.formService.form.value.isUsingFootnote\n\n // Fixes the detection of ngOnChanges in invoice-pdf.components.ts\n this.invoiceExample = Object.assign({}, this.invoiceExample);\n }\n\n moveToAccount() {\n this.router.navigate(['../manage/profile'], { relativeTo: this.activatedRoute }).then(() => {\n this.activeModal.close()\n })\n }\n \n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n }\n\n async downloadPreview() {\n this.toastService.loading('Beispielrechnung wird heruntergeladen...')\n \n const previewSettings : InvoiceSettingsDto = new InvoiceSettingsDto()\n\n previewSettings.ceo = this.formService.form.value.ceo\n previewSettings.vatId = this.formService.form.value.vatId\n previewSettings.commercialRegister = this.formService.form.value.commercialRegister\n previewSettings.commercialRegisterId = this.formService.form.value.commercialRegisterId\n previewSettings.bank = this.formService.form.value.bank\n previewSettings.iban = this.formService.form.value.iban\n previewSettings.bic = this.formService.form.value.bic\n previewSettings.isUsingStationery = this.formService.form.value.isUsingStationery\n previewSettings.letterheadHeight = this.formService.form.value.letterheadHeight\n previewSettings.footnoteHeight = this.formService.form.value.footnoteHeight\n previewSettings.isUsingFootnote = this.formService.form.value.isUsingFootnote\n\n if (previewSettings.isUsingStationery && this.file != null) {\n const previewFile = new File([this.file], this.ownerUserId + '-preview.jpg', { type: 'image/jpg' });\n const fileUpload = await this.uploadFile(previewFile)\n previewSettings.stationaryFileUri = fileUpload[0].fileUri\n previewSettings.stationaryFileName = fileUpload[0].fileName\n }\n\n this.invoicesService.downloadPreview(this.ownerUserId, previewSettings).subscribe((response: any) => {\n const file = new Blob([response], { type: 'application/pdf' });\n const fileUrl = URL.createObjectURL(file);\n const fileName = `Beispielrechnung.pdf`\n\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = fileName;\n a.click();\n\n window.URL.revokeObjectURL(fileUrl);\n this.toastService.success('Beispielrechnung erfolgreich heruntergeladen.', 0, true)\n },\n error => {\n console.error(error);\n this.toastService.error(`Beispielrechnung konnte nicht heruntergeladen werden.`, 0, true)\n })\n }\n}\n","
\n
Rechnungseinstellungen
\n \n
\n\n
\n
\n
\n
\n \n \n
\n \n Steuernummer/Umsatzssteuer-ID wird benötigt\n \n
\n
\n\n
\n \n \n \n
\n \n
\n \n \n \n
\n \n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n \n

Die Addressdaten entsprechen den Angaben im Konto.

\n
\n\n
\n
\n \n \n \n
\n \n
\n \n \n \n
\n\n
\n \n
\n\n
\n \"Briefpapier\"\n \n \n \n
\n
\n
\n\n \n
\n\n
\n
\n \n \n
\n
\n","import { Component, HostListener, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { EditInvoiceSettingsDialogContentComponent } from './edit-invoice-settings-dialog-content/edit-invoice-settings-dialog-content.component';\n\n@Component({\n selector: 'app-edit-invoice-settings-dialog',\n template: ''\n})\nexport class EditInvoiceSettingsDialogComponent implements OnDestroy {\n\n private modal: NgbModalRef | null = null\n \n constructor(\n public modalService: NgbModal,\n private activatedRoute: ActivatedRoute,\n private router: Router\n ) { }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n event.preventDefault();\n }\n\n ngAfterViewInit() {\n if (this.modalService.hasOpenModals()) return\n this.openDialog();\n }\n\n openDialog(): void {\n if (this.modal) {\n this.modal.close()\n }\n \n this.modal = this.modalService.open(\n EditInvoiceSettingsDialogContentComponent,\n { centered: true, backdrop: 'static', size: 'xl' }\n )\n\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n this.modal.componentInstance.customerId = customerId;\n\n this.modal.result.then(toDashboard => {\n if (toDashboard) window.history.go(-2)\n else this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n }, (reason) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n })\n }\n\n ngOnDestroy() {\n if (this.modal) {\n this.modal.close()\n }\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { PricingDto } from '@dto/pricingDto';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { ChargingStationByGroupDto } from '@dto/chargingStationByGroupDto';\nimport { UserDto } from '@dto/userDto';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\nimport { RemovePricingDialogContentComponent } from '@components/dialog/remove-pricing-dialog/remove-pricing-dialog-content/remove-pricing-dialog-content.component';\nimport { InvoiceItemDto } from '@dto/invoiceItemDto';\n\n@Component({\n selector: 'app-edit-pricing-dialog-content',\n templateUrl: './edit-pricing-dialog-content.component.html',\n styleUrls: ['./edit-pricing-dialog-content.component.scss']\n})\nexport class EditPricingDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'EditPricingDialogContentComponent';\n\n public form: UntypedFormGroup;\n public formReady: boolean = false;\n public pricing: PricingDto;\n public chargingStations: ChargingStationByGroupDto[];\n public users: UserDto[] = [];\n public availableUsers: UserDto[] = [];\n public preselectedUsers: UserDto[] = [];\n public pristinePreselectedUsers: UserDto[] = [];\n public removedUsers: UserDto[] = [];\n public openInvoiceItems: InvoiceItemDto[] = [];\n public usersSelectPlaceholder: string = 'Benutzer mit diesem Tarif';\n public isSupporter: boolean = false;\n\n @Input() public pricingId: number;\n @Input() public customerId: number;\n @Input() public isOperatorView: boolean;\n @ViewChild('chargingStationSelect') chargingStationSelect: NgSelectComponent;\n\n constructor(\n public activeModal: NgbActiveModal,\n public dialog: NgbModal,\n private pricingsService: PricingsService,\n private spinnerService: NgxSpinnerService,\n private usersService: UsersService,\n private formService: FormService,\n private toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n async ngOnInit() {\n super.ngOnInit();\n this.isSupporter = this.authenticationService.userHasRole('Supporter');\n this.getPricing();\n }\n\n getPricing() {\n this.pricingsService.getPricing(this.pricingId).subscribe(result => {\n this.pricing = plainToClass(PricingDto, result)\n this.loadUsers();\n }, error => {\n console.error(error)\n })\n }\n\n async loadUsers() {\n const users = this.isOperatorView\n ? await this.usersService.getUsersOfCustomerAsync(this.customerId)\n : await this.usersService.getUsersOfCurrentCustomerAsync();\n\n users.forEach(user => {\n const u = plainToClass(UserDto, user);\n this.users.push(u);\n\n const isEligibleForAvailable = user.pricingId == null || user.pricingId == this.pricingId;\n const isAutomaticBilling = this.pricing.billingMethod == BillingMethodEnum.Automatic;\n const hasEmail = !!user.email;\n\n if (isEligibleForAvailable && (!isAutomaticBilling || hasEmail)) {\n this.availableUsers.push(u);\n }\n\n if (user.pricingId == this.pricingId) {\n this.preselectedUsers.push(u);\n }\n });\n\n this.pristinePreselectedUsers = this.preselectedUsers;\n\n if (this.availableUsers.length < 1) {\n this.usersSelectPlaceholder = \"Alle Benutzer haben bereits einen Tarif\";\n }\n\n\n\n this.availableUsers.sort((a, b) => a.fullName.localeCompare(b.fullName));\n\n\n this.createForm();\n }\n\n createForm() {\n this.form = new UntypedFormGroup({\n name: new UntypedFormControl(this.pricing.name),\n description: new UntypedFormControl(this.pricing.description),\n price: new UntypedFormControl({ value: this.pricing.price.toFixed(2), disabled: true }),\n priceDc: new UntypedFormControl({ value: this.pricing.priceDc.toFixed(2), disabled: true }),\n preselectedUsers: new UntypedFormControl(this.preselectedUsers),\n });\n\n window.setTimeout(() => {\n document.getElementById('name').focus()\n }, 100)\n\n if (this.isSupporter) this.form.disable();\n this.formReady = true;\n }\n\n deletePricing() {\n this.spinnerService.show();\n this.pricingsService.deleteEntity(this.pricing.id).subscribe(result => {\n this.spinnerService.hide();\n this.activeModal.close();\n this.toastService.success(`Tarif erfolgreich gelöscht.`);\n }, error => {\n this.spinnerService.hide();\n this.messageService.setError(error);\n this.toastService.error(`Tarif konnte nicht gelöscht werden.`);\n });\n }\n\n async updatePricing() {\n this.pricing.name = this.form.value.name;\n this.pricing.description = this.form.value.description;\n this.pricing.selectedUsers = this.form.value.preselectedUsers;\n\n this.removedUsers = this.findRemovedUsers(this.pristinePreselectedUsers, this.pricing.selectedUsers);\n if (this.removedUsers.length > 0) {\n this.pricingsService.getOpenInvoiceItemsOfRecipients(this.pricing.id, this.removedUsers.map(u => u.id)).subscribe(items => {\n this.openInvoiceItems = items;\n const dialogRef = this.dialog.open(RemovePricingDialogContentComponent, { centered: true, backdrop: 'static', size: 'lg' });\n dialogRef.componentInstance.removedUsers = this.removedUsers;\n dialogRef.componentInstance.billingMethod = this.pricing.billingMethod;\n dialogRef.componentInstance.invoiceItems = this.openInvoiceItems;\n if (this.openInvoiceItems.length == 0) {\n dialogRef.componentInstance.step = 2;\n }\n this.pricingsService.pricingUpdatePreparedEvent.subscribe(prepared => {\n if (prepared) this.patchPricing()\n else this.close()\n });\n }, error => {\n console.error(error)\n this.toastService.error($localize`:@@UpdatingPricingErrorToast:Tarif konnte nicht aktualisiert werden.`, 0, true);\n }\n )\n } else {\n this.patchPricing();\n }\n }\n\n patchPricing() {\n this.spinnerService.show()\n this.pricingsService.patchPricing(this.pricing).subscribe(patchedPricing => {\n this.spinnerService.hide()\n this.pricingsService.emitUpdated(patchedPricing);\n this.toastService.success(`Tarif erfolgreich aktualisiert.`);\n this.activeModal.close()\n }, error => {\n this.spinnerService.hide()\n if (error.Message.includes('active subscription')) {\n this.toastService.error($localize`:@@RemoveActivePricingErrorToast:Benutzer mit aktivem Abonnement müssen den Tarif benutzerseitig kündigen. Sie können dem Benutzer aber die Zugriffsrechte an den Ladestationen entziehen.`, 0, true);\n } else {\n this.toastService.error($localize`:@@UpdatingPricingErrorToast:Tarif konnte nicht aktualisiert werden.`, 0, true);\n }\n })\n }\n\n close() {\n this.activeModal.close();\n }\n\n findRemovedUsers(pristine: UserDto[], current: UserDto[]): UserDto[] {\n let removedUsers = pristine.filter(user => !current.includes(user));\n return removedUsers;\n }\n}\n","
\n
Tarif bearbeiten
\n \n
\n\n
\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n \n 0 || availableUsers.length > 0; else noUsersAvailable\"\n [items]=\"availableUsers\"\n id=\"user\"\n [placeholder]=\"usersSelectPlaceholder\"\n multiple=\"true\"\n [closeOnSelect]=\"false\" \n [clearSearchOnAdd]=\"true\"\n [hideSelected]=\"true\"\n appendTo=\"body\"\n bindLabel=\"fullName\"\n notFoundText=\"Keine Benutzer vorhanden\"\n formControlName=\"preselectedUsers\">\n \n \n \n \n
\n
\n
\n\n
\n
\n \n \n
\n
\n","import { Component, HostListener, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { EditPricingDialogContentComponent } from './edit-pricing-dialog-content/edit-pricing-dialog-content.component';\n\n@Component({\n selector: 'app-edit-pricing-dialog',\n template: ''\n})\nexport class EditPricingDialogComponent implements OnInit\n{\n private modal: NgbModalRef | null = null\n private isOperatorView: string\n private pricingId: string\n private customerId: string\n \n constructor(\n public modalService: NgbModal,\n private activatedRoute: ActivatedRoute,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.isOperatorView = this.activatedRoute.parent.snapshot.data['isOperatorView'];\n this.pricingId = this.activatedRoute.snapshot.params.key;\n\n if (this.isOperatorView) {\n this.customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n } else {\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n event.preventDefault();\n if (this.modal) this.modal.close()\n }\n\n ngAfterViewInit() {\n if (this.modalService.hasOpenModals()) return\n this.openDialog();\n }\n\n openDialog(): void {\n if (this.modal) {\n this.modal.close()\n }\n \n this.modal = this.modalService.open(\n EditPricingDialogContentComponent,\n { centered: true, backdrop: 'static' }\n )\n\n this.modal.componentInstance.customerId = this.customerId;\n this.modal.componentInstance.pricingId = this.pricingId;\n this.modal.componentInstance.isOperatorView = this.isOperatorView;\n\n this.modal.result.then(toDashboard => {\n if (toDashboard) window.history.go(-2)\n else this.router.navigate(['../../'], { relativeTo: this.activatedRoute })\n }, (reason) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute })\n })\n }\n\n ngOnDestroy() {\n if (this.modal) {\n this.modal.close()\n }\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Inject, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RfidCardDto } from '@dto/rfidCardDto';\nimport { UserDto } from '@dto/userDto';\nimport { User } from '@models/identity/user';\nimport { RfidCard } from '@models/rfidCard';\nimport { Tag } from '@models/tag';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RfidCardsService } from '@services/entity/rfidCards.service';\nimport { TagsService } from '@services/entity/tags.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport { DeleteRFIDCardForCustomerDialogContentComponent } from '../../delete-rfid-card-for-customer-dialog-content/delete-rfid-card-for-customer-dialog-content.component';\n\n\n@Component({\n selector: 'app-edit-rfid-card-dialog-content',\n templateUrl: './edit-rfid-card-dialog-content.component.html',\n styleUrls: ['./edit-rfid-card-dialog-content.component.scss']\n})\nexport class EditRfidCardDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'EditRfidCardDialogContentComponent';\n spinner1 = 'editSpinner';\n\n public form: UntypedFormGroup;\n public formCreated: boolean;\n\n public rfidCard: RfidCardDto;\n public users: UserDto[];\n public tags: Tag[];\n\n public addTagRef: (name) => void;\n\n @Input() public rfidCardId: number;\n @Input() public customerId: number;\n @Input() public isOperatorView: boolean;\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n public activeModal: NgbActiveModal,\n public dialog: NgbModal,\n private rfidCardService: RfidCardsService,\n private spinner: NgxSpinnerService,\n private usersService: UsersService,\n private tagsService: TagsService,\n private toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n this.addTagRef = this.addTagPromise.bind(this);\n\n }\n\n async ngOnInit() {\n super.ngOnInit();\n\n this.getRfidCard();\n this.getAdditionalEntities();\n this.getRoles();\n // this.checkDataReady();\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n }\n }\n\n getRfidCard() {\n this.rfidCardService.getRfidCard(this.rfidCardId).subscribe(result => {\n this.rfidCard = plainToClass(RfidCardDto, result);\n this.createForm();\n })\n }\n\n async getAdditionalEntities() {\n try {\n const usersPromise = this.isOperatorView ?\n this.usersService.getUsersOfCustomerAsync(this.customerId) :\n this.usersService.getUsersOfCurrentCustomerAsync();\n\n const tagsObservable = this.isOperatorView ?\n this.tagsService.getTagsOfCustomer(this.customerId) :\n this.tagsService.getEntities();\n\n this.users = await usersPromise;\n this.sortUsers();\n\n const tagsResult = await tagsObservable.toPromise();\n this.tags = this.sortTags(plainToClass(Tag, tagsResult));\n } catch (error) {\n console.error('Error fetching additional entities:', error);\n }\n }\n\n private sortUsers() {\n this.users.sort((a, b) => a.firstName.localeCompare(b.firstName));\n }\n\n private sortTags(tags: Tag[]) {\n return tags.sort((a, b) => a.name.localeCompare(b.name));\n }\n\n checkDataReady() {\n if (this.rfidCard && this.tags && this.users) {\n this.createForm();\n }\n }\n\n\n onDelete() {\n //this.spinner.show(this.spinner1);\n this.toastService.info($localize`:@@ChangeDialogSaveSuccessHeader:RFID-Karte wird gelöscht...`);\n this.rfidCardService.deleteEntity(this.rfidCard.id).subscribe(result => {\n this.activeModal.close();\n //this.spinner.hide(this.spinner1);\n this.toastService.success($localize`:@@ChangeDialogSaveSuccessHeader:RFID-Karte gelöscht.`, 3500, true);\n }, error => {\n this.toastService.error('RFID-Karte konnte nicht gelöscht werden.');\n //this.spinner.hide(this.spinner1);\n });\n }\n\n createForm() {\n this.form = new UntypedFormGroup({\n selectedUserId: new UntypedFormControl(this.rfidCard.userId),\n selectedTags: new UntypedFormControl(this.rfidCard.tags),\n note: new UntypedFormControl(this.rfidCard.note)\n });\n\n this.formCreated = true;\n }\n\n updateRfidCard() {\n //this.spinner.show(this.spinner1);\n this.toastService.info($localize`:@@ChangeDialogSaveSuccessHeader:Einstellungen werden gespeichert...`);\n\n this.rfidCard.userId = this.form.get('selectedUserId').value;\n this.rfidCard.tags = this.form.get('selectedTags').value;\n this.rfidCard.note = this.form.get('note').value;\n this.rfidCard.isOwnerChanged = this.form.get('selectedUserId').dirty;\n\n this.rfidCardService.updateEntity(this.rfidCard).subscribe(result => {\n //this.spinner.hide(this.spinner1);\n this.activeModal.close();\n this.toastService.success($localize`:@@ChangeDialogSaveSuccessHeader:Einstellungen gespeichert.`);\n }, error => {\n //this.spinner.hide(this.spinner1);\n this.toastService.error($localize`:@@ChangeDialogSaveSuccessHeader:Einstellungen konnten nicht gespeichert werden.`);\n\n });\n }\n\n\n addTagPromise(name) {\n return new Promise((resolve) => {\n //this.loading = true;\n setTimeout(() => {\n //this.loading = false;\n\n var tag = new Tag();\n tag.name = name;\n\n if (this.isOperatorView) {\n tag.customerId = this.customerId;\n }\n\n this.tagsService.createEntity(tag).subscribe(result => {\n this.getAdditionalEntities();\n resolve(result);\n }, error => {\n this.toastService.error('Neuer Tag konnte nicht gespeichert werden.');\n });\n\n //resolve(tag);\n }, 0);\n })\n }\n\n}\n","Autorisierung wird durchgeführt...\n
\n
RFID-Karte bearbeiten
\n \n
\n\n
\n\n
\n
\n
RFID-Kartennummer:
\n
\n
\n
{{ rfidCard?.idTag }}
\n
\n
\n\n
\n
\n Letzte Autorisierung:\n
\n
\n {{ rfidCard?.lastAuthorizationDate | dateDE }}\n
\n
\n\n
\n
\n Letzte genutzte Ladestation:\n
\n
\n {{ rfidCard?.lastUsedChargingStationName }}\n
\n
\n\n
\n\n
\n \n \n \n\n \n \n\n \n Tag anlegen: {{ search }}\n \n \n\n \n \n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { EditRfidCardDialogContentComponent } from './edit-rfid-card-dialog-content/edit-rfid-card-dialog-content.component';\n\n@Component({\n selector: 'app-edit-rfid-card-dialog',\n template: ''\n})\nexport class EditRfidCardDialogComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var isOperatorView = this.activatedRoute.parent.snapshot.data['isOperatorView'];\n var rfidCardId = this.activatedRoute.snapshot.params.key;\n\n const dialogRef = this.dialog.open(EditRfidCardDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.rfidCardId = rfidCardId;\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n dialogRef.componentInstance.isOperatorView = isOperatorView;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Inject, Injector, OnInit, ViewChild } from '@angular/core';\nimport { DeleteUserDialogContentComponent } from '@components/dialog/delete-user-dialog/delete-user-dialog-content/delete-user-dialog-content.component';\nimport { SendInviteRequest } from '@dto/sendInviteRequest';\nimport { UserEditDto } from '@dto/userEditDto';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport Swal from 'sweetalert2';\nimport { RfidCardDto } from '../../../../dto/rfidCardDto';\nimport { UpdateUserRequest } from '../../../../dto/updateUserRequest';\n\n@Component({\n selector: 'app-edit-user-dialog-content',\n templateUrl: './edit-user-dialog-content.component.html',\n styleUrls: ['./edit-user-dialog-content.component.scss']\n})\nexport class EditUserDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'EditUserDialogContentComponent';\n\n @ViewChild('editUserComponent') editUserComponent;\n\n public customerId: number;\n\n public user: UserEditDto;\n public rfidCards: RfidCardDto[];\n public isMasterUser: boolean;\n public isOperator: boolean;\n public isSupporter: boolean = false;\n\n public formCreated: boolean;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n public dialog: NgbModal,\n public activeModal: NgbActiveModal,\n public formService: FormService,\n public toastService: ToastService,\n public authenticationService: AuthenticationService,\n private customersService: CustomersService,\n private usersService: UsersService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n onEntityLoadedEvent(user: UserEditDto) {\n this.isOperator = this.authenticationService.userHasRole('Operator')\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n this.user = user;\n if (this.customerId) {\n this.customersService.checkIfMasterUserOfCustomer(this.customerId, user.id).subscribe(result => {\n this.isMasterUser = result;\n this.formCreated = true;\n })\n } else {\n this.usersService.checkIfMasterUser(user.id).subscribe(result => {\n this.isMasterUser = result;\n this.formCreated = true;\n })\n }\n }\n\n openDeleteDialog(): void {\n\n let toastText = (!this.user.email || this.user.email.trim().length === 0) ? 'Der Benutzer wurde gelöscht' : 'Der Benutzer wurde ausgeladen'\n const dialogRef = this.dialog.open(DeleteUserDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.userId = this.user.id;\n dialogRef.componentInstance.user = this.user;\n\n dialogRef.result.then((result) => {\n if (result.success) {\n //this.toastService.success($localize`:@@EditUserDialogDeleteSuccessHeader:${toastText}`);\n this.activeModal.close();\n } else {\n this.messageService.setError(result.error);\n this.activeModal.close();\n }\n }, (backdrop) => {});\n }\n\n\n sendInviteEmail() {\n const sendInviteRequest = this.getSendInviteRequest();\n\n this.authenticationService.sendInvite(sendInviteRequest).subscribe(result => {\n this.openReInviteSuccessDialog();\n }, error => { });\n }\n\n getSendInviteRequest(): SendInviteRequest{\n const sendInviteRequest: SendInviteRequest = {\n email: this.user.email,\n firstName: this.user.firstName,\n lastName: this.user.lastName,\n clientURI: this.baseUrl + 'auth/register',\n invitingCustomerId: this.customerId\n }\n\n return sendInviteRequest;\n }\n\n\n openReInviteSuccessDialog() {\n Swal.fire({\n title: $localize`:@@InviteUserSuccessHeader:Die Einladung wurde an den Benutzer erneut versendet!`,\n text: $localize`:@@InviteUserSuccessBody:`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green',\n }).then((result) => {\n if (result.isConfirmed) {\n this.activeModal.close();\n }\n })\n }\n\n openInviteSuccessDialog() {\n Swal.fire({\n title: $localize`:@@InviteUserSuccessHeader:Die Einladung wurde an den Benutzer versendet!`,\n text: $localize`:@@InviteUserSuccessBody:Sie können dem Benutzer ab sofort RFID-Karten zuweisen und ihn an Ladestationen autorisieren.`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green',\n }).then((result) => {\n if (result.isConfirmed) {\n this.activeModal.close();\n }\n })\n }\n\n sendInvitation() {\n this.usersService\n .invite(this.user.id, {baseUrl: `${this.baseUrl}auth/register`, customerId: this.user.selectedCustomerId})\n .subscribe((response: any) => {\n this.openReInviteSuccessDialog();\n this.activeModal.close();\n }, error => {\n console.error(error);\n this.toastService.error($localize`:@@EditUserDialogInviteErrorToast:Benutzer konnte nicht eingeladen werden.`)\n }\n )\n }\n\n onCancelClick() {\n this.formService.unsavedChanges = false;\n this.formService.valuesAtInit = undefined;\n this.activeModal.close();\n }\n\n getDelButtonText(): string {\n return (!this.user.email || this.user.email.trim().length === 0) ? 'Benutzer löschen' : 'Benutzer ausladen';\n }\n}\n","
\n
\n Benutzer \"{{ user.fullName }}\" bearbeiten\n
\n\n \n
\n\n
\n \n \n
\n\n
\n
\n \n\n \n\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { EditUserDialogContentComponent } from './edit-user-dialog-content/edit-user-dialog-content.component';\n\n@Component({\n selector: 'app-edit-user-dialog',\n template: ''\n})\nexport class EditUserDialogComponent implements OnInit {\n\n constructor(\n public dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n private router: Router\n ) { }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.openDialog();\n });\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.parent.parent.snapshot.params.key;\n\n const dialogRef = this.dialog.open(EditUserDialogContentComponent, { centered: true, size: 'lg', backdrop: 'static', keyboard: false });\n\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { ChargingStationFreeChargeRequest } from '@dto/ocpp/chargingStationFreeChargeRequest';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { HttpState } from 'src/app/types/HttpState';\n\n\n@Component({\n selector: 'app-enable-free-charge-dialog-content',\n templateUrl: './enable-free-charge-dialog-content.component.html',\n styleUrls: ['./enable-free-charge-dialog-content.component.css']\n})\nexport class EnableFreeChargeDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'EnableFreeChargeDialogContentComponent';\n\n @Input() private chargingStation: ChargingStation;\n @Input() private currentStatus: boolean;\n\n public isResetPressed: boolean = false;\n public state: HttpState = '';\n\n constructor(\n public activeModal: NgbActiveModal,\n private chargingStationService: ChargingStationsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n onConfirmClick() {\n this.isResetPressed = true;\n this.state = 'loading';\n\n var freeChargeRequest: ChargingStationFreeChargeRequest = {\n freeCharging: true\n }\n\n if (this.currentStatus == true) {\n freeChargeRequest.freeCharging = false;\n }\n\n this.chargingStationService.configureFreeCharge(this.chargingStation.id, freeChargeRequest).subscribe(result => {\n if (result.status == true) {\n this.state = 'success';\n }\n else {\n this.state = 'failure';\n }\n }, error => {\n this.state = 'failure';\n });\n return super.activeModal.close();\n }\n\n onCancelClick() {\n this.activeModal.close({ state: 'failure' });\n }\n\n onOkClick() {\n this.activeModal.close({ state: this.state });\n }\n\n}\n","
\n
\n
\n
\n
i
\n
\n \n

Kostenloses Laden aktivieren?

\n

Kostenloses Laden deaktivieren?

\n
\n
\n
Für diese Änderung wird ein Neustart erforderlich.
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n\n
\n
\n \n

Konfiguration der Ladestation wird geändert.

\n
\n
\n
Nach der Konfigurationsänderung findet ein Neustart der Ladestation statt.
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n

Konfiguration erfolgreich geändert.

\n
\n
\n
Die Ladestation wird nun neu gestartet.
\n
\n
\n\n
\n
\n
\n \n \n \n \n
\n

Fehler beim Ändern der Konfiguration.

\n
\n
\n
Beim Konfigurieren der Ladestation ist ein Fehler aufgetreten.
\n
\n
\n\n
\n
\n \n
\n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { ChargingStationPrivateChargeRequest } from '@dto/ocpp/chargingStationPrivateChargeRequest';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { HttpState } from 'src/app/types/HttpState';\n\n\n@Component({\n selector: 'app-enable-private-charge-dialog-content',\n templateUrl: './enable-private-charge-dialog-content.component.html',\n styleUrls: ['./enable-private-charge-dialog-content.component.css']\n})\nexport class EnablePrivateChargeDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'EnablePrivateChargeDialogContentComponent';\n\n @Input() private chargingStation: ChargingStation;\n @Input() private currentStatus: boolean;\n\n public isResetPressed: boolean = false;\n public state: HttpState = '';\n\n constructor(\n public activeModal: NgbActiveModal,\n private chargingStationService: ChargingStationsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n onConfirmClick() {\n this.isResetPressed = true;\n this.state = 'loading';\n\n var privateChargeRequest: ChargingStationPrivateChargeRequest = {\n PrivateCharging : true,\n }\n\n if (this.currentStatus == true) {\n privateChargeRequest.PrivateCharging = false;\n }\n\n this.chargingStationService.configurePrivateCharge(this.chargingStation.id, privateChargeRequest).subscribe(result => {\n if (result.status) {\n this.state = 'success';\n }\n else {\n this.state = 'failure';\n }\n }, error => {\n this.state = 'failure';\n });\n }\n\n onCancelClick() {\n this.activeModal.close({ state: 'failure' });\n }\n\n onOkClick() {\n this.activeModal.close({ state: this.state });\n }\n\n}\n","
\n
\n
\n
\n
i
\n
\n \n

Autorisiertes Laden aktivieren?

\n

Autorisiertes Laden deaktivieren?

\n
\n
\n
Für diese Änderung wird ein Neustart erforderlich.
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n\n
\n
\n \n

Konfiguration der Ladestation wird geändert.

\n
\n
\n
Nach der Konfigurationsänderung findet ein Neustart der Ladestation statt.
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n

Konfiguration erfolgreich geändert.

\n
\n
\n
Die Ladestation wird nun neu gestartet.
\n
\n
\n\n
\n
\n
\n \n \n \n \n
\n

Fehler beim Ändern der Konfiguration.

\n
\n
\n
Beim Konfigurieren der Ladestation ist ein Fehler aufgetreten.
\n
\n
\n\n
\n
\n \n
\n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { ChargingStationPublicChargeRequest } from '@dto/ocpp/chargingStationPublicChargeRequest';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { HttpState } from 'src/app/types/HttpState';\n\n\n@Component({\n selector: 'app-enable-public-charge-dialog-content',\n templateUrl: './enable-public-charge-dialog-content.component.html',\n styleUrls: ['./enable-public-charge-dialog-content.component.css']\n})\nexport class EnablePublicChargeDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'EnablePublicChargeDialogContentComponent';\n\n @Input() private chargingStation: ChargingStation;\n @Input() private currentStatus: boolean;\n\n public isResetPressed: boolean = false;\n public state: HttpState = '';\n\n constructor(\n public activeModal: NgbActiveModal,\n private chargingStationService: ChargingStationsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n onConfirmClick() {\n this.isResetPressed = true;\n this.state = 'loading';\n\n var publicChargeRequest: ChargingStationPublicChargeRequest = {\n publicCharging: true\n }\n\n if (this.currentStatus) {\n publicChargeRequest.publicCharging = false;\n }\n\n this.chargingStationService.configurePublicCharge(this.chargingStation.id, publicChargeRequest).subscribe(result => {\n if (result.status) {\n this.state = 'success';\n }\n else {\n this.state = 'failure';\n }\n }, error => {\n this.state = 'failure';\n });\n }\n\n onCancelClick() {\n this.activeModal.close({ state: 'failure' });\n }\n\n onOkClick() {\n this.activeModal.close({ state: this.state });\n }\n\n}\n","
\n
\n
\n
\n
i
\n
\n \n

Autorisiertes & QR-Code-Laden aktivieren?

\n

Autorisiertes & QR-Code-Laden deaktivieren?

\n
\n
\n
Für diese Änderung wird ein Neustart erforderlich.
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n\n
\n
\n \n

Konfiguration der Ladestation wird geändert.

\n
\n
\n
Nach der Konfigurationsänderung findet ein Neustart der Ladestation statt.
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n

Konfiguration erfolgreich geändert.

\n
\n
\n
Die Ladestation wird nun neu gestartet.
\n
\n
\n\n
\n
\n
\n \n \n \n \n
\n

Fehler beim Ändern der Konfiguration.

\n
\n
\n
Beim Konfigurieren der Ladestation ist ein Fehler aufgetreten.
\n
\n
\n\n
\n
\n \n
\n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { AfterViewInit, Component, ElementRef, Injector, Input, ViewChild } from '@angular/core';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\nimport { ConfirmationCodeDto } from '../../../../dto/confirmationCodeDto';\nimport { UsersService } from '../../../../services/entity/users.service';\nimport { ToastService } from '@services/toast/toast.service';\n\n\n\n@Component({\n selector: 'enter-confirmation-code-dialog-content',\n templateUrl: './enter-confirmation-code-dialog-content.component.html',\n styleUrls: ['./enter-confirmation-code-dialog-content.component.scss']\n})\nexport class EnterConfirmationCodeDialogContentComponent extends AbstractDialogContent implements AfterViewInit{\n\n public className = 'EnterConfirmationCodeDialogContentComponent';\n\n public confirmationCode: ConfirmationCodeDto;\n isConfirmBtnDisabled: boolean = true;\n @ViewChild('confirmationCodeInput') confirmationCodeInput: ElementRef;\n\n constructor(\n public activeModal: NgbActiveModal,\n private toastService: ToastService,\n public dialog: NgbModal,\n public formService: FormService,\n private usersService: UsersService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n ngAfterViewInit() {\n this.confirmationCodeInput.nativeElement.focus();\n }\n\n onConfimClick() {\n\n if (!this.isConfirmationCodeValid)\n return;\n\n this.confirmationCode.code = this.confirmationCodeInput.nativeElement.value;\n this.usersService.isConfirmationCodeValid(this.confirmationCode).subscribe(response =>\n {\n if (response !== true) {\n this.toastService.error(\"Die Eingabe ist falsch.\", 0, true);\n return;\n }\n\n this.toastService.info(\"Die Eingabe ist korrekt.\", 0, true);\n this.activeModal.close({ status: 'ok', code: this.confirmationCode.code });\n });\n }\n close() {\n this.activeModal.close();\n }\n ngOnDestroy() {\n }\n\n onInputChange(event: any) {\n this.isConfirmBtnDisabled = !this.isConfirmationCodeValid();\n }\n\n isConfirmationCodeValid(): boolean {\n return (/^\\d+$/).test(this.confirmationCodeInput.nativeElement.value) && this.confirmationCodeInput.nativeElement.value.length === 6\n }\n}\n","
\n
\n
\n Bestätigungscode eingeben\n
\n\n \n
\n\n
\n
\n \n \n
\n
\n\n
\n \n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Inject, Input, OnInit } from '@angular/core';\nimport { CustomerDto } from '@dto/customerDto';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { OnboardingRequest } from '@dto/onboardingRequest';\nimport { UserDto } from '@dto/userDto';\nimport { MasterUserOfCustomer } from '@dto/masterUserOfCustomer';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\n\n@Component({\n selector: 'app-invite-customer-dialog-content',\n templateUrl: './invite-customer-dialog-content.component.html',\n styleUrls: ['./invite-customer-dialog-content.component.scss'],\n providers: [FormService]\n})\nexport class InviteCustomerDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'InviteCustomerDialogContentComponent';\n\n @Input() public customerId: number;\n public customer: CustomerDto;\n public masterUser: MasterUserOfCustomer;\n\n public isUser: boolean = false;\n public isCustomer: boolean = false;\n public isOperator: boolean = false;\n public formCreated: boolean;\n public isButtonDisabled: boolean = false;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n public activeModal: NgbActiveModal,\n public dialog: NgbModal,\n public formService: FormService,\n private customersService: CustomersService,\n private usersService: UsersService,\n public toastService: ToastService,\n public authenticationService: AuthenticationService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n async ngOnInit() {\n this.getRoles();\n super.ngOnInit;\n this.customersService.getMasterUserOfCustomer(this.customerId).subscribe(masterUser => {\n this.masterUser = masterUser;\n })\n this.createForm();\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n confirmName: new UntypedFormControl(false, [Validators.requiredTrue]),\n confirmEmail: new UntypedFormControl(false, [Validators.requiredTrue]),\n confirmChargingStations: new UntypedFormControl(false, [Validators.requiredTrue]),\n confirmRfid: new UntypedFormControl(false, [Validators.requiredTrue]),\n });\n this.formCreated = true;\n }\n\n onSubmit() {\n this.sendInvitation();\n }\n\n sendInvitation() {\n this.toastService.loading(\"Einladung wird versendet...\", true);\n this.isButtonDisabled = true;\n\n this.customersService\n .invite(this.masterUser.customerId, { baseUrl: `${this.baseUrl}auth/welcome/${this.masterUser.id}` })\n .subscribe((response: any) => {\n this.toastService.clear();\n this.isButtonDisabled = false;\n\n this.toastService.success($localize`:@@InviteHasBeenSendMessage:Einladung wurde verschickt.`);\n this.close();\n }, error => {\n this.toastService.clear();\n this.isButtonDisabled = false;\n console.error(error);\n this.toastService.error($localize`:@@InviteCouldNotBeSendMessage:Einladung konnte nicht verschickt werden.`)\n })\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n }\n\n close() {\n this.activeModal.close();\n }\n}\n","
\n
Bitte überprüfen
\n \n
\n\n
\n
\n
\n \n
\n \n
\n Pflichtfeld\n
\n
\n\n
\n \n
\n Pflichtfeld\n
\n
\n\n
\n \n
\n Pflichtfeld\n
\n
\n\n
\n \n
\n Pflichtfeld\n
\n
\n\n
\n
\n
\n\n
\n
\n \n
\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { InviteCustomerDialogContentComponent } from './invite-customer-dialog-content/invite-customer-dialog-content.component';\n\n@Component({\n selector: 'app-invite-customer-dialog',\n template: ''\n})\nexport class InviteCustomerDialogComponent implements OnInit {\n\n constructor(\n public dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.openDialog();\n })\n }\n\n openDialog(): void {\n var customerId = this.activatedRoute.snapshot.params.key;\n\n const dialogRef = this.dialog.open(InviteCustomerDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.customerId = customerId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n}","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-payment-method-added-dialog-content',\n templateUrl: './payment-method-added-dialog-content.component.html',\n styleUrls: ['./payment-method-added-dialog-content.component.css']\n})\nexport class PaymentMethodAddedDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'PaymentMethodAddedDialogContentComponent';\n\n constructor(\n public activeModal: NgbActiveModal,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit() {\n super.ngOnInit\n }\n\n onConfirmClick() {\n this.activeModal.close();\n }\n}\n","
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n

Zahlungsmethode hinzugefügt.

\n
\n
\n
\n Bitte informieren Sie nun Ihren Ladepark-Verwalter, damit er Sie an den Ladestationen autorisiert.\n
\n
\n
\n\n
\n
\n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'payout-statements-dialog-content',\n templateUrl: './payout-statements-dialog-content.component.html',\n styleUrls: ['./payout-statements-dialog-content.component.scss']\n})\nexport class PayoutStatementsDialogContentComponent extends AbstractDialogContent {\n\n public className = 'PayoutStatementsDialogContentComponent';\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n close() {\n this.activeModal.close();\n }\n}\n","
\n
\n
\n Auszahlungsbelege\n
\n\n \n
\n\n
\n \n
\n\n
\n \n
\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { PayoutStatementsDialogContentComponent } from './payout-statements-dialog-content/payout-statements-dialog-content.component';\n\n@Component({\n selector: 'payout-statements-dialog',\n template: ''\n})\nexport class PayoutStatementsDialogComponent implements OnDestroy {\n \n private modal: NgbModalRef | null = null\n\n constructor(\n public modalService: NgbModal,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n ) {}\n\n ngAfterViewInit() {\n if (this.modalService.hasOpenModals()) return\n this.openDialog();\n }\n\n openDialog(): void {\n if (this.modal) {\n this.modal.close()\n }\n\n this.modal = this.modalService.open(\n PayoutStatementsDialogContentComponent,\n { centered: true, backdrop: 'static', size: 'lg' }\n )\n\n this.modal.result.then((result) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n }, (reason) => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute })\n })\n }\n\n ngOnDestroy() {\n if (this.modal) {\n this.modal.close()\n }\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\nimport { InvoicePDFComponent } from '@components/pdf/invoice-pdf/invoice-pdf.component';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { UserDto } from '@dto/userDto';\nimport { InvoicePDFType } from '@enums/invoicePDFType.enum';\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport { NgxSpinnerService } from 'ngx-spinner';\n\n@Component({\n selector: 'app-print-invoice-dialog-content',\n templateUrl: './print-invoice-dialog-content.component.html',\n styleUrls: ['./print-invoice-dialog-content.component.scss']\n})\nexport class PrintInvoiceDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'PrintInvoiceDialogContentComponent';\n\n public invoice: InvoiceDto;\n\n public filename: string\n public filenameFirstVariable: string = 'invoiceNumber'\n public filenameSecondVariable: string\n public filenameThirdVariable: string\n\n public user: UserDto;\n public isUser: boolean = false\n public isCustomer: boolean = false\n public isOperator: boolean = false\n\n @Input() public invoiceId: number;\n\n constructor(\n public activeModal: NgbActiveModal,\n public dialog: NgbModal,\n private invoicesService: InvoicesService,\n private spinner: NgxSpinnerService,\n public usersService: UsersService,\n public toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n async ngOnInit() {\n this.getRoles()\n\n if (this.isCustomer || this.isOperator) {\n this.getInvoice()\n } else if (this.isUser) {\n this.getInvoiceOfCurrentUser()\n }\n\n super.ngOnInit()\n }\n\n getInvoice() {\n this.invoicesService.getInvoice(this.invoiceId).subscribe(result => {\n this.invoice = plainToClass(InvoiceDto, result)\n this.getFilename()\n this.setFilename()\n }, error => {\n console.error(error)\n })\n }\n\n getInvoiceOfCurrentUser() {\n this.invoicesService.getInvoiceOfCurrentUser(this.invoiceId).subscribe(invoice => {\n this.invoice = plainToClass(InvoiceDto, invoice)\n this.getFilename()\n this.setFilename()\n }, error => console.error(error))\n }\n\n toggleFilenameVariable(variable, value) {\n if (this[variable] != '') this[variable] = value\n else this[variable] = ''\n this.setFilename()\n }\n\n setFilename() {\n let firstVariable = this.invoice[this.filenameFirstVariable]\n this.filename = this.isDate(firstVariable) ? this.parseDate(firstVariable) : firstVariable.replace(/ /g, '_')\n\n if (this.filenameSecondVariable && this.filenameSecondVariable != \"undefined\") {\n let variable = this.invoice[this.filenameSecondVariable]\n if (this.isDate(variable)) variable = this.parseDate(variable)\n this.filename += `_${variable.replace(/ /g, '_')}`\n }\n\n if (this.filenameThirdVariable && this.filenameThirdVariable != \"undefined\") {\n let variable = this.invoice[this.filenameThirdVariable]\n if (this.isDate(variable)) variable = this.parseDate(variable)\n this.filename += `_${variable.replace(/ /g, '_')}`\n }\n\n this.filename += '.pdf'\n\n localStorage.setItem('invoiceFilenameFirstVariable', this.filenameFirstVariable)\n \n if (this.filenameSecondVariable != null)\n localStorage.setItem('invoiceFilenameSecondVariable', this.filenameSecondVariable)\n if (this.filenameThirdVariable != null)\n localStorage.setItem('invoiceFilenameThirdVariable', this.filenameThirdVariable)\n }\n\n getFilename() {\n if (localStorage.getItem('invoiceFilenameFirstVariable'))\n this.filenameFirstVariable = localStorage.getItem('invoiceFilenameFirstVariable')\n if (localStorage.getItem('invoiceFilenameSecondVariable') != null)\n this.filenameSecondVariable = localStorage.getItem('invoiceFilenameSecondVariable')\n if (localStorage.getItem('invoiceFilenameThirdVariable') != null)\n this.filenameThirdVariable = localStorage.getItem('invoiceFilenameThirdVariable')\n }\n\n isDate(value: string) {\n if (!value || typeof value != 'string') return false\n return new RegExp(/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z*/).test(value.trim())\n }\n\n parseDate(date: Date) {\n date = new Date(date)\n const y = date.getFullYear()\n const m = date.getMonth()\n const d = date.getDate()\n return `${y}-${m < 10 ? '0' + m : m}-${d < 10 ? '0' + d : d}`\n }\n\n async downloadAsPDF() {\n this.toastService.loading(\"PDF wird erstellt, bitte warten...\", true);\n this.invoicesService.getInvoicePdf(this.invoiceId).subscribe((response: any) => {\n const file = new Blob([response], { type: 'application/pdf' });\n const fileUrl = URL.createObjectURL(file);\n\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = this.filename;\n a.click();\n this.toastService.clear();\n\n window.URL.revokeObjectURL(fileUrl);\n },\n error => {\n console.error(error);\n this.toastService.error(`Rechnung konnte nicht heruntergeladen werden.`)\n })\n\n this.close();\n }\n\n async sendPerEmail() {\n const dialogRef = this.dialog.open(InvoicePDFComponent, { centered: true, size: 'md', backdrop: 'static' });\n dialogRef.componentInstance.type = InvoicePDFType.Email;\n dialogRef.componentInstance.invoice = this.invoice;\n dialogRef.componentInstance.filename = this.filename;\n\n // Todo\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n }\n\n close() {\n this.activeModal.close();\n }\n}\n","
\n
Rechnung\n ____-____-________\n {{ invoice.invoiceNumber }}\n
\n \n
\n\n
\n
Dateiname:
\n \n
 
\n \n\n
\n
 
\n \n\n
 
\n \n\n
 
\n \n
\n
\n\n
\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { PrintInvoiceDialogContentComponent } from './print-invoice-dialog-content/print-invoice-dialog-content.component';\n\n@Component({\n selector: 'app-print-invoice-dialog',\n template: ''\n})\nexport class PrintInvoiceDialogComponent implements OnInit {\n\n constructor(\n public dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n private router: Router\n ) { }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.openDialog();\n });\n }\n\n openDialog(): void {\n var invoiceId = this.activatedRoute.snapshot.params.key;\n\n const dialogRef = this.dialog.open(PrintInvoiceDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.invoiceId = invoiceId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-release-notes-dialog',\n templateUrl: './release-notes-dialog.component.html',\n styleUrls: ['./release-notes-dialog.component.scss']\n})\nexport class ReleaseNotesDialogComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'ReleaseNotesDialogComponent';\n\n public version: string\n public isHidden: boolean = true\n\n constructor(\n public activeModal: NgbActiveModal,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.version = localStorage.getItem('appVersion')\n this.isHidden = localStorage.getItem('hideReleaseNotes') === 'true'\n \n setTimeout(() => {document.getElementById('release-notes-close').focus()}, 100)\n }\n\n toggleHidden() {\n this.isHidden = !this.isHidden\n localStorage.setItem('hideReleaseNotes', this.isHidden.toString())\n }\n}\n","
\n

CUBOS.Connect Version 2.7

\n
\n\n
\n
\n \"CUBOS\n
\n\n
\n
\n \n \n \n \n \n \n \n \n
\n
\n

Bidirektionales Laden

\n

\n Mit CUBOS.Connect 2.7 ist es möglich das bidirektionale Laden zwischen E-Auto und Gebäude zu steuern.\n Zum Beispiel können Sie Ihren Strom ins eigene Zuhause oder ins eigene Betriebsnetz einspeisen (V2H).\n Für die Einspeisung ins öffentliche Netz (V2G) müssen wir auf die staatliche Regulatorik warten.\n

\n

\n Sie benötigen eine Ladestation, die bidirektionales Laden unterstützt.
\n Mit unserer BC11 Ladestation und unserem CUBOS.Energy Gateway können Sie ab jetzt bidirektional Laden.\n

\n

\n \n Erfahren Sie mehr unsere BC11 Ladestation\n \n

\n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n

Intelligente Automatik mit CUBOS.Energy

\n

\n Im Automatik-Modus übernimmt CUBOS.Energy die Steuerung der Entlade- und Ladeleistung,\n so dass Ihr Strombezug aus dem öffentlichen Netz minimiert wird und gleichzeitig\n die PV-Eigennutzungsquote erhöht wird.\n

\n

\n Sie legen lediglich die Grenzen des Batteriestandes fest,\n in dem entladen und geladen werden darf, dann optimiert unser Gateway Ihren Stromverbrauch.\n Sie können die Lade- und Entladeleistung bei Bedarf auch manuell steuern.\n

\n

\n Kontaktieren Sie uns gerne unter support@cubos.com,\n wenn Sie wissen möchten, ob Ihr Fahrzeug das bidirektionale Laden unterstützt.\n

\n

\n \n Erfahren Sie mehr über unser CUBOS.Energy Gateway\n \n

\n
\n
\n
\n\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { ChargingStationRemoteTransactionRequest } from '@dto/chargingStationRemoteTransactionRequest';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { HttpState } from 'src/app/types/HttpState';\n\n@Component({\n selector: 'app-remote-start-stop-dialog-content',\n templateUrl: './remote-start-stop-dialog-content.component.html',\n styleUrls: ['./remote-start-stop-dialog-content.component.css']\n})\nexport class RemoteStartStopDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'RemoteStartStopDialogContentComponent';\n\n @Input() private chargingStation: ChargingStation;\n @Input() private chargingPointConnectorId: number = 1;\n @Input() private start: boolean;\n @Input() private transaction: TransactionDto;\n @Input() private chargingWillBeAssignedToUser: boolean;\n\n public state: HttpState = 'loading';\n\n constructor(\n public activeModal: NgbActiveModal,\n private chargingStationService: ChargingStationsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n if (this.start) {\n var remoteStartRequest: ChargingStationRemoteTransactionRequest = {\n start: true\n }\n\n this.chargingStationService.remoteStartTransaction(this.chargingStation.id, this.chargingPointConnectorId).subscribe(result => {\n if (result.status == 'Accepted') {\n this.state = 'success';\n } else {\n this.state = 'failure';\n }\n }, error => {\n this.state = 'failure';\n });\n\n } else {\n var remoteStopRequest: ChargingStationRemoteTransactionRequest = {\n start: false\n }\n\n if (this.transaction == null) {\n this.chargingStationService.remoteStopTransaction(this.chargingStation.id, this.chargingPointConnectorId).subscribe(result => {\n if (result.status == 'Accepted') {\n this.state = 'success';\n } else if (result.status == 'insufficientrights') {\n this.state = 'insufficientrights';\n } else {\n this.state = 'failure';\n }\n }, error => {\n this.state = 'failure';\n });\n } else {\n this.chargingStationService.remoteStopTransactionOfTransactionId(this.transaction.chargingStationId, this.transaction.id).subscribe(result => {\n if (result.status == 'Accepted') {\n this.state = 'success';\n } else if (result.status == 'insufficientrights') {\n this.state = 'insufficientrights';\n } else {\n this.state = 'failure';\n }\n }, error => {\n this.state = 'failure';\n });\n }\n }\n }\n\n onConfirmClick() {\n if (this.state == 'success') {\n this.activeModal.close({ success: true });\n } else {\n this.activeModal.close({ success: false });\n }\n }\n}\n","
\n\n
\n
\n \n

Der Ladevorgang wird gestartet.

\n

Der Ladevorgang wird gestoppt.

\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n

Ladevorgang gestartet.

\n

Ladevorgang gestoppt.

\n
\n
\n
\n Der Ladevorgang wurde manuell gestartet. Sie können den Ladevorgang jederzeit unterbrechen.
\n Hinweis: Der Ladevorgang wird keinem Benutzer zugeordnet und kann nicht abgerechnet werden!\n
\n
\n
\n\n\n
\n
\n
\n \n \n \n \n
\n

Ladevorgang konnte nicht gestartet werden.

\n

Ladevorgang konnte nicht gestoppt werden.

\n
\n
\n
\n Bitte prüfen Sie die folgenden Punkte und führen Sie anschließend erneut diese Funktion aus:\n
- Ist das Auto bereits mit der Ladestation verbunden?\n
- Ist das Auto bereits vollständig geladen?\n
- Ist die Ladestation erreichbar (Status: online)?\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n \n \n \n
\n

Ladevorgang konnte nicht gestartet werden.

\n

Ladevorgang konnte nicht gestoppt werden.

\n
\n
\n
\n Wie hast du das geschafft ?\n
\n
\n Der Ladevorgang konnte nicht gestoppt werden, da dieser von einem anderen Nutzer gestartet wurde.\n
\n
\n
\n\n
\n
\n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { PricingDto } from '@dto/pricingDto';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { ChargingStationByGroupDto } from '@dto/chargingStationByGroupDto';\nimport { UserDto } from '@dto/userDto';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\nimport { InvoiceItemDto } from '@dto/invoiceItemDto';\nimport { TableColumn } from '@models/tableColumn';\nimport { KwhPipe } from 'src/app/pipes/kwh.pipe';\nimport { CurrencyPipe } from '@angular/common';\nimport { RemovePricingRequest } from '@dto/removePricingRequest';\nimport { OpenItemsActionEnum } from '@enums/openItemsActionEnum.enum';\n\n@Component({\n selector: 'app-remove-pricing-dialog-content',\n templateUrl: './remove-pricing-dialog-content.component.html',\n styleUrls: ['./remove-pricing-dialog-content.component.scss']\n})\nexport class RemovePricingDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'RemovePricingDialogContentComponent';\n public recipientNamesDisplay: string;\n public openItemsAction: OpenItemsActionEnum = OpenItemsActionEnum.LaterBilling;\n public shouldKeepAuth: boolean = false;\n\n @Input() public step: number = 1;\n @Input() public invoiceItems: InvoiceItemDto[] = []\n @Input() public removedUsers: UserDto[] = []\n @Input() public billingMethod: BillingMethodEnum\n\n\n constructor(\n public activeModal: NgbActiveModal,\n public dialog: NgbModal,\n private pricingsService: PricingsService,\n private spinnerService: NgxSpinnerService,\n private usersService: UsersService,\n private formService: FormService,\n private toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n\n async ngOnInit() {\n super.ngOnInit();\n const uniqueRecipientNames = [...new Set(this.removedUsers.map(u => u.fullName))];\n this.recipientNamesDisplay = uniqueRecipientNames.join(', ');\n \n }\n\n instantBilling() {\n this.openItemsAction = OpenItemsActionEnum.InstantBilling;\n this.step++;\n }\n\n noMoreBilling() {\n this.openItemsAction = OpenItemsActionEnum.NoMoreBilling;\n this.step++;\n }\n\n laterBilling()\n {\n this.step++;\n }\n\n keepAuth()\n {\n this.shouldKeepAuth = true\n this.submit()\n }\n removeAuth()\n {\n this.submit()\n }\n\n submit()\n {\n \n const request = new RemovePricingRequest();\n request.openItemsAction = this.openItemsAction;\n request.shouldKeepAuth = this.shouldKeepAuth;\n request.invoiceItemIds = this.invoiceItems.map(ii => ii.id);\n request.userIds = this.removedUsers.map(u => u.id);\n request.BillingMethod = this.billingMethod;\n this.pricingsService.removePricingFromUsers(request).subscribe(result => {\n this.spinnerService.hide()\n this.pricingsService.emitPrepared(true)\n }, error => {\n this.spinnerService.hide()\n console.error(error)\n this.toastService.error(`Tarif könnte nicht von dem Benutzer entfernt werden!`, 0, true)\n })\n this.activeModal.close();\n\n }\n\n parseDate(date: Date) {\n if (!date) return false\n return new Date(date).toLocaleDateString()\n }\n\n close() {\n this.activeModal.close();\n }\n}\n","
\n
\n
\n
\n
!
\n
\n

Wie möchten Sie mit den ausstehenden Ladevorgänge verfahren?

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameDatumLademenge in kWhBetrag
{{ invoiceItem.recipientUserFullName }}{{ parseDate(invoiceItem.createdAt) }}{{ invoiceItem.quantity | kwh }}€ {{ invoiceItem.total | number: '1.2-2':'de-DE'}}
\n
\n
\n
\n
\n
\n
!
\n
\n

Sollen die\n Autorisierungen von folgenden Benutzer(n) bestehen bleiben?

\n
\n
\n
{{ recipientNamesDisplay }}
\n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { RfidCard } from '@models/rfidCard';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RfidCardsService } from '@services/entity/rfidCards.service';\n\n@Component({\n selector: 'app-remove-rfid-assignment-dialog-content',\n templateUrl: './remove-rfid-assignment-dialog-content.component.html',\n styleUrls: ['./remove-rfid-assignment-dialog-content.component.scss']\n})\nexport class RemoveRfidAssignmentDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'RemoveRfidAssignmentDialogContentComponent';\n\n @Input() private rfidCard: RfidCard;\n\n constructor(\n public activeModal: NgbActiveModal,\n private rfidCardService: RfidCardsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n onConfirmClick() {\n this.rfidCard.userId = null;\n\n this.rfidCardService.updateEntity(this.rfidCard).subscribe(result => {\n this.activeModal.close();\n }, error => {\n\n });\n }\n}\n","
\n
\n
\n
!
\n
\n \n

Sind Sie sicher?

\n \n
\n
\n
Das Löschen der Zuordnung kann nicht rückgängig gemacht werden!
\n
\n
\n
\n \n \n
\n
\n","import {\n Component,\n Injector,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n HostListener,\n} from \"@angular/core\";\nimport { DatePipe } from \"@angular/common\";\nimport { TransactionsService } from \"@services/entity/transactions.service\";\nimport { AuthenticationService } from \"@services/authentication/authentication.service\";\nimport { SupportTicketRequest } from \"@dto/supportTicketRequest\";\nimport { TransactionDto } from \"@dto/transactionDto\";\nimport { ToastService } from \"@services/toast/toast.service\";\nimport { ChargingStationsService } from \"@services/entity/charging-stations.service\";\n\n@Component({\n selector: \"request-support-popup\",\n templateUrl: \"./request-support-popup.component.html\",\n styleUrls: [\"./request-support-popup.component.scss\"],\n})\nexport class RequestSupportPopupComponent {\n @Input() transaction: TransactionDto;\n @Input() isOpen: boolean = false;\n @Output() isClosing: EventEmitter = new EventEmitter();\n\n @ViewChild(\"supportMessageTextarea\")\n supportMessage: ElementRef;\n\n public isOperator: boolean;\n public isCustomer: boolean;\n public isUser: boolean;\n public ticket: SupportTicketRequest;\n public isSending: boolean;\n\n constructor(\n private authenticationService: AuthenticationService,\n private toastService: ToastService,\n public chargingStationsService: ChargingStationsService,\n public datePipe: DatePipe,\n public injector: Injector\n ) {}\n\n ngOnInit(): void {\n this.isSending = false;\n this.ticket = new SupportTicketRequest();\n\n if (this.authenticationService.userHasRole(\"Operator\"))\n this.isOperator = true;\n if (this.authenticationService.userHasRole(\"Customer\"))\n this.isCustomer = true;\n if (this.authenticationService.userHasRole(\"User\")) this.isUser = true;\n\n this.supportMessage = null;\n }\n\n close() {\n this.isClosing.emit(true);\n }\n\n onValueChange(event: Event): void {\n const value = (event.target as any).value;\n this.ticket.customerEnteredText = value;\n }\n\n send() {\n this.isSending = true;\n\n this.createSupportTicket();\n this.close();\n }\n\n reset() {\n this.isSending = false;\n this.ticket = new SupportTicketRequest();\n\n if (this.supportMessage) {\n this.supportMessage.nativeElement.value = \"\";\n }\n }\n\n createSupportTicket() {\n this.ticket.chargingStationID = this.transaction.chargingStationId;\n this.ticket.chargingStationName = this.transaction.chargingStationName;\n this.ticket.emailSubject =\n \"Support und Feedback am Ladevorgang \" + this.transaction.id;\n this.ticket.senderName =\n this.authenticationService.getLoggedInUser().fullName;\n this.ticket.senderEmail =\n this.authenticationService.getLoggedInUser().email;\n this.toastService.loading(\n \"Daten für die Fehleranalyse werden gesammelt...\",\n true\n );\n this.ticket.diagnostics = true;\n\n this.sendSupportTicket();\n }\n\n sendSupportTicket() {\n this.chargingStationsService\n .sendSupportTicket(this.ticket, this.transaction.chargingStationId)\n .subscribe(\n (result) => {\n this.toastService.success(\"Ihre Anfrage wurde versandt.\", 7500, true);\n this.reset();\n },\n (error) => {\n this.toastService.error(\n \"Anfrage konnte nicht gesendet werden.\",\n 7500,\n true\n );\n this.reset();\n console.error(error);\n }\n );\n }\n\n matches(entity: TransactionDto, term: string) {\n return TransactionsService.matches(entity, term);\n }\n\n @HostListener(\"document:keydown\", [\"$event\"])\n handleKeyboardEvent(event: KeyboardEvent) {\n if (event.ctrlKey && event.key === \"Enter\") {\n this.send();\n }\n }\n}\n","
\n \n\n
\n
\n Support und Feedback\n\n \n
\n\n
\n \n
\n\n
\n \n\n \n
\n
\n
","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-reset-charging-station-password-dialog-content',\n templateUrl: './reset-charging-station-password-dialog-content.component.html',\n styleUrls: ['./reset-charging-station-password-dialog-content.component.scss']\n})\nexport class ResetChargingStationPasswordDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'ResetChargingStationPasswordDialogContentComponent';\n\n public form: UntypedFormGroup;\n @Input() private entity: ChargingStation;\n\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private chargingStationsService: ChargingStationsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.form = new UntypedFormGroup({\n });\n }\n\n onSubmit(formValue) {\n\n this.chargingStationsService.resetChargingstationPassword(this.entity.id).subscribe(result => {\n this.activeModal.close({ isSuccess: result });\n }, error => {\n this.messageService.setError(error);\n });\n }\n\n}\n","
\n
\n\n
\n
!
\n
\n\n

Sind Sie sicher?

\n
Die Ladestation muss neu gestartet werden um das Passwort zurücksetzen zu können!
\n
\n\n
\n
\n
\n \n
\n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-reset-charging-station-password-warning-dialog-content',\n templateUrl: './reset-charging-station-password-warning-dialog-content.component.html',\n styleUrls: ['./reset-charging-station-password-warning-dialog-content.component.scss']\n})\nexport class ResetPasswordWarningDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'ResetPasswordWarningDialogContentComponent';\n\n public form: UntypedFormGroup;\n @Input() private entity: ChargingStation;\n\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private chargingStationsService: ChargingStationsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.form = new UntypedFormGroup({\n });\n }\n\n onSubmit(formValue) {\n\n this.chargingStationsService.resetChargingstationPassword(this.entity.id).subscribe(result => {\n this.activeModal.close({ isSuccess: result });\n }, error => {\n this.messageService.setError(error);\n });\n }\n\n}\n","
\n
\n\n
\n
!
\n
\n\n

Achtung, Ladevorgang ist noch aktiv!

\n
Die Ladestation muss neu gestartet werden um das Passwort zurücksetzen zu können! Wenn die Ladestation jetzt neugestartet wird, muss der Ladevorgang danach erneut gestartet werden (außer die Ladestation ist auf FreeCharge eingstellt).
\n
\n\n
\n
\n
\n \n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RestartChargingStationDialogContentComponent } from './restart-charging-station-dialog-content.component';\n@Component({\n selector: 'app-restart-charging-station-dialog',\n template: ''\n})\nexport class RestartChargingStationDialogComponent implements OnInit {\n\n private chargingStationId: string;\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.activatedRoute.paramMap.subscribe(params => {\n if (this.chargingStationId == null) {\n this.chargingStationId = params.get('key');\n }\n this.openDialog();\n });\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(RestartChargingStationDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.entity = this.chargingStationId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '../../../services/toast/toast.service';\n\n@Component({\n selector: 'app-restart-charging-station-dialog-content',\n templateUrl: './restart-charging-station-dialog-content.component.html',\n styleUrls: ['./restart-charging-station-dialog-content.component.scss']\n})\nexport class RestartChargingStationDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'RestartChargingStationDialogContentComponent';\n\n public form: UntypedFormGroup;\n @Input() private entity: string;\n\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private chargingStationsService: ChargingStationsService,\n private toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.form = new UntypedFormGroup({\n });\n }\n\n onSubmit(formValue) {\n\n this.chargingStationsService.resetChargingstation(this.entity).subscribe(result => {\n this.toastService.warn('Die Ladestation wird neu gestartet...');\n this.activeModal.close({ isSuccess: result });\n }, error => {\n this.messageService.setError(error);\n });\n }\n\n}\n","
\n
\n
\n
!
\n
\n\n

Sind Sie sicher?

\n
\n\n
\n
\n
\n \n
\n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-restart-charging-station-warning-dialog-content',\n templateUrl: './restart-charging-station-warning-dialog-content.component.html',\n styleUrls: ['./restart-charging-station-warning-dialog-content.component.scss']\n})\nexport class RestartChargingStationWarningDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'RestartChargingStationWarningDialogContentComponent';\n\n public form: UntypedFormGroup;\n @Input() private entity: ChargingStation;\n\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n private chargingStationsService: ChargingStationsService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.formService.form = new UntypedFormGroup({\n });\n }\n\n onSubmit(formValue) {\n\n this.chargingStationsService.resetChargingstation(this.entity.id).subscribe(result => {\n this.activeModal.close({ isSuccess: result });\n }, error => {\n this.messageService.setError(error);\n });\n }\n\n}\n","
\n
\n
\n
!
\n
\n

Achtung, Ladevorgang ist noch aktiv!

\n
Wenn die Ladestation jetzt neugestartet wird, muss der Ladevorgang danach erneut gestartet werden (außer die Ladestation ist auf FreeCharge eingstellt).
\n
\n\n
\n
\n
\n \n
\n \n
\n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { HttpParams } from '@angular/common/http';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { ChangeScanModeResponse } from '@enums/changeScanModeResponse.enum';\nimport { RfidCard } from '@models/rfidCard';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { RfidCardsService } from '@services/entity/rfidCards.service';\nimport { ToastService } from '../../../services/toast/toast.service';\n\n@Component({\n selector: 'app-rfid-scan-dialog-content',\n templateUrl: './rfid-scan-dialog-content.component.html',\n styleUrls: ['./rfid-scan-dialog-content.component.scss']\n})\nexport class RfidScanDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'RfidScanDialogContentComponent';\n\n public form: UntypedFormGroup;\n public formCreated: boolean;\n public chargingStations: ChargingStationDto[];\n public customerId: number;\n public scannedRfidTag: string;\n private modalActive: boolean;\n private currentScanningChargingStationId: string;\n\n constructor(\n public activeModal: NgbActiveModal,\n private chargingStationsService: ChargingStationsService,\n private rfidCardsService: RfidCardsService,\n private toastService: ToastService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n this.modalActive = true;\n this.loadEntities();\n }\n\n loadEntities() {\n if (this.customerId) {\n this.chargingStationsService.getChargingStationsOfCustomer(this.customerId).subscribe(result => {\n this.chargingStations = result;\n this.chargingStationSortByName();\n this.createForm();\n }, error => { })\n }\n else {\n this.chargingStationsService.getChargingStationsOfCurrentCustomer().subscribe(result => {\n this.chargingStations = result;\n this.chargingStationSortByName();\n this.createForm();\n }, error => { })\n }\n }\n\n chargingStationSortByName() {\n this.chargingStations = this.chargingStations.sort((a, b) => {\n if (a.name < b.name) return -1;\n if (a.name > b.name) return 1;\n return 0;\n })\n }\n\n\n createForm() {\n this.form = new UntypedFormGroup({\n selectedChargingStationId: new UntypedFormControl(),\n isScanModeActive: new UntypedFormControl(false)\n });\n\n this.formCreated = true;\n }\n\n changeChargingStation(chargingStation: ChargingStationDto) {\n var isScanModeActive = this.chargingStations.find(c => c.id == chargingStation.id).isScanModeActive;\n this.form.get('isScanModeActive').setValue(isScanModeActive);\n\n if (isScanModeActive) {\n this.getScannerInput(chargingStation.id);\n }\n }\n\n scanActiveChanged() {\n var chargingStationId = this.form.get('selectedChargingStationId').value;\n var isScanModeActive = this.chargingStations.find(c => c.id == chargingStationId).isScanModeActive;\n var newMode = !isScanModeActive;\n\n this.chargingStationsService.changeScannerMode(chargingStationId, newMode).subscribe(result => {\n if (result == ChangeScanModeResponse.Success) {\n this.form.get('isScanModeActive').setValue(newMode);\n if (newMode == true) {\n this.getScannerInput(chargingStationId);\n }\n }\n }, error => {\n this.toastService.error('RFID Karte konnte nicht angelegt werden.');\n\n })\n }\n\n getScannerInput(id: string) {\n this.currentScanningChargingStationId = id;\n this.chargingStationsService.getScannerInput(id).subscribe(result => {\n this.messageService.clearSuccess();\n this.messageService.clearErrors();\n this.scannedRfidTag = result.idTag;\n\n var selectedChargingStationId = this.form.get('selectedChargingStationId').value;\n\n if (!result.idTag && this.modalActive && selectedChargingStationId == this.currentScanningChargingStationId) {\n this.getScannerInput(id);\n }\n }, error => {\n this.toastService.error('RFID Karte konnte nicht angelegt werden.');\n\n console.error(error);\n })\n }\n\n createRfidCard() {\n var rfidCard = new RfidCard();\n rfidCard.idTag = this.scannedRfidTag.replace(/\\s/g, \"\")\n .replace(/[':]+/g, '')\n .replace(/[^a-fA-F0-9]/g, '')\n .toLowerCase();\n\n if (this.customerId) {\n this.rfidCardsService.createRfidCardForCustomer(this.customerId, rfidCard).subscribe(result => {\n this.scannedRfidTag = undefined;\n var chargingStationId = this.form.get('selectedChargingStationId').value;\n this.getScannerInput(chargingStationId);\n this.toastService.success('RFID Karte wurde angelegt.');\n }, error => {\n this.toastService.error('RFID Karte konnte nicht angelegt werden.');\n });\n }\n else {\n this.rfidCardsService.createEntity(rfidCard).subscribe(result => {\n this.scannedRfidTag = undefined;\n var chargingStationId = this.form.get('selectedChargingStationId').value;\n this.getScannerInput(chargingStationId);\n this.toastService.success('RFID Karte wurde angelegt.');\n }, error => {\n this.toastService.error('RFID Karte konnte nicht angelegt werden.');\n });\n }\n\n }\n\n onCancelClick() {\n this.modalActive = false;\n\n this.chargingStations.forEach(c => {\n this.chargingStationsService.changeScannerMode(c.id, false).subscribe(result => {})\n })\n\n this.activeModal.close();\n }\n\n}\n","
\n
RFID-Karten anlernen
\n \n
\n
\n\n \n

Der Anlernmodus ermöglicht es, neue RFID-Karten hinzuzufügen, indem man sie einfach vor den Lesebereich der Ladestation hält.

\n
\n
\n \n \n \n
\n\n
\n
\n \n \n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { BlackboxSetupComponent } from '@components/entities/blackboxes/blackbox-setup/blackbox-setup.component';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormService } from '@services/form/form.service';\n\n@Component({\n selector: 'app-setup-blackbox-dialog-content',\n templateUrl: './setup-blackbox-dialog-content.component.html',\n styleUrls: ['./setup-blackbox-dialog-content.component.scss']\n})\nexport class SetupBlackboxDialogContentComponent extends AbstractDialogContent {\n\n public className = 'SetupBlackboxDialogContentComponent';\n\n @ViewChild(BlackboxSetupComponent) blackboxSetupComponent: BlackboxSetupComponent;\n\n public blackboxSerialNumber: string;\n public step: number = 1;\n public stepCaptions: string[] = [\n 'Blackbox',\n 'Kunde',\n 'Adresse',\n 'Ladestationen',\n 'Farben',\n 'Energiemeter',\n ];\n\n constructor(\n public activeModal: NgbActiveModal,\n public formService: FormService,\n injector: Injector\n ) {\n super(activeModal, injector);\n }\n\n close() {\n this.activeModal.close();\n }\n\n setStep(step) {this.step = step}\n previousStep() {this.step--}\n nextStep() {this.step++}\n}\n","
\n
\n
\n Blackbox einrichten\n
\n\n \n
\n \n \n\n
\n \n
\n\n
\n \n\n \n\n \n\n
\n \n
\n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { SetupBlackboxDialogContentComponent } from './setup-blackbox-dialog-content/setup-blackbox-dialog-content.component';\n\n@Component({\n selector: 'app-setup-blackbox-dialog',\n template: ''\n})\nexport class SetupBlackboxDialogComponent implements OnInit, OnDestroy {\n \n private modal: NgbModalRef | null = null\n private params: Params\n\n constructor(\n public modalService: NgbModal,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n ) { }\n\n ngOnInit() {\n this.params = this.activatedRoute.snapshot.params\n }\n \n ngAfterViewInit() {\n if (this.modalService.hasOpenModals()) return\n this.openDialog();\n }\n\n openDialog(): void {\n if (this.modal) {\n this.modal.close()\n }\n\n this.modal = this.modalService.open(\n SetupBlackboxDialogContentComponent,\n { centered: true, backdrop: 'static', size: 'lg' }\n )\n\n if (this.params.key) {\n this.modal.componentInstance.blackboxSerialNumber = this.params.key\n }\n\n this.modal.result.then((result) => {\n this.router.navigate(['/blackboxes'], { relativeTo: this.activatedRoute })\n }, (reason) => {\n this.router.navigate(['/blackboxes'], { relativeTo: this.activatedRoute })\n })\n }\n\n ngOnDestroy() {\n if (this.modal) {\n this.modal.close()\n }\n }\n}\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, EventEmitter, Injector, Input, OnDestroy, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { NgbActiveModal, NgbModal, NgbTooltip } from '@ng-bootstrap/ng-bootstrap';\nimport { UsersService } from '@services/entity/users.service';\nimport { plainToClass } from 'class-transformer';\nimport { empty, Observable, of, pipe } from 'rxjs';\nimport { map, filter, tap, finalize } from 'rxjs/operators'\nimport '@angular/localize/init';\nimport Swal from 'sweetalert2';\nimport { ChargingStationsService } from '../../../../services/entity/charging-stations.service';\nimport { ToastService } from '../../../../services/toast/toast.service';\nimport { ChargingStationDto } from '../../../../dto/chargingStationDto';\nimport { FilesService } from '../../../../services/files/files.service';\nimport { FormService } from '../../../../services/form/form.service';\n\n@Component({\n selector: 'update-charging-stations-dialog-content',\n templateUrl: './update-charging-stations-dialog-content.html',\n styleUrls: ['./update-charging-stations-dialog-content.scss']\n})\n\nexport class UpdateChargingStationsDialogContentComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'UpdateChargingStationsDialogContentComponent';\n public updateReady: boolean = false;\n public loading: boolean = false;\n public chargingStations: ChargingStationDto[];\n\n constructor(\n public activeModal: NgbActiveModal,\n private chargingStationsService: ChargingStationsService,\n private filesservice: FilesService,\n private formService: FormService,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n this.chargingStationsService.getAllChargingStations().subscribe(\n stations => {\n this.chargingStations = plainToClass(ChargingStationDto, stations)\n // this.chargingStations = stations.filter(x => x.status.id == 2).filter(k => k.firmware != null).sort(function (a, b) {\n // var textA = a.name.toUpperCase();\n // var textB = b.name.toUpperCase();\n // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;\n // });\n this.mapStatus()\n }\n ), error => {}\n super.ngOnInit();\n this.loading = true;\n }\n \n uploadChargingStationFirmware() {\n //this.filesservice.upload(this.formService.form.get(''))\n }\n\n createForm() {\n\n }\n\n updateChargingStations() {\n }\n\n closeModal() {\n this.activeModal.close();\n }\n\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@DeliveryNoteSendedHeader:Versenden erfolgreich`,\n text: $localize`:@@DeliveryNoteSendedText:Die E-Mail wurde erfolgreich verschickt.`,\n icon: 'success',\n confirmButtonText: $localize`:@@OkButton:OK`,\n confirmButtonColor: 'green',\n }).then((result) => {\n //this.initializeEntities();\n });\n }\n\n mapStatus() {\n this.chargingStations.forEach(e => {\n let displayStatus = \"\"\n for (const chargingPoint of e.chargingPoints) {\n const badgeColor = this.getBadgeColor(chargingPoint.statusId)\n displayStatus += `${chargingPoint.status.name}`\n }\n\n e.displayStatus = displayStatus;\n })\n }\n\n getBadgeColor(statusId) {\n switch (statusId) {\n case 1: return 'bg-primary';\n case 2: return 'bg-success';\n case 3: return 'bg-warning';\n case 4: return 'bg-danger';\n case 5: return 'bg-info';\n case 6: return 'bg-info';\n case 7: return 'bg-reserved';\n case 8: return 'bg-info';\n case 9: return 'bg-info';\n case 10: return 'bg-danger';\n case 11: return 'bg-secondary';\n default: return 'bg-secondary';\n }\n }\n}\n","
\n
\n    Update-Assistent\n
\n \n
\n
\n
\n

Bitte das gewünschte Firmware-Paket hier hochladen:

\n
\n \n \n
\n
alle Ladestationen die derzeit für ein Update verfügbar sind
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 NameFirmwareKundeStatusFortschritt
{{station.name}}{{station.firmware}}{{station.customer.name}}\n
\n
0%
\n
\n
\n
\n
\n\n
\n \n\n \n
\n\n \n\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { UpdateChargingStationsDialogContentComponent } from './update-charging-station-dialog-content/update-charging-stations-dialog-content';\n\n@Component({\n selector: 'app-update-charging-station-dialog',\n template: ''\n})\nexport class UpdateChargingStationDialogComponent implements OnInit {\n\n @Input() public chargingStations;\n\n constructor(public dialog: NgbModal, private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n const dialogRef = this.dialog.open(UpdateChargingStationsDialogContentComponent, { centered: true, size: 'lg', backdrop: 'static' });\n dialogRef.componentInstance.stations = this.chargingStations;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","import { AfterViewInit, Component, OnInit } from \"@angular/core\";\nimport { Blackbox } from \"@models/blackbox\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { BlackboxService } from \"@services/entity/blackbox.service\";\nimport { ToastService } from \"@services/toast/toast.service\";\nimport { ChargingStationDto } from \"@dto/chargingStationDto\";\nimport { BidiConfiguration } from \"@models/bidiConfiguration\";\nimport { BidiConfigurationService } from \"@services/entity/bidi-configuration.service\";\nimport { BidiConfigurationDto } from \"@dto/bidiConfigurationDto\";\nimport { ChargingStationsService } from \"@services/entity/charging-stations.service\";\nimport { BidiSelectChargingStationComponent } from \"./bidi-select-charging-station/bidi-select-charging-station.component\";\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\nimport { ActivatedRoute } from \"@angular/router\";\n\n@Component({\n selector: \"app-bidi-charging\",\n templateUrl: \"./bidi-charging.component.html\",\n styleUrls: [\"./bidi-charging.component.scss\"],\n})\nexport class BidiChargingComponent implements OnInit, AfterViewInit {\n selectedBidiModeId: number = 1;\n currentValues = { from: 30, to: 70 };\n targetPowerSliderValue: number = 0;\n saveDisabled: boolean = true;\n customerId: number | null = null;\n\n // Summe der ausgewählten Ladestationen\n maxBidiChargePowerSum: number = 0;\n minBidiChargePowerSum: number = 0;\n maxBidiDischargePowerSum: number = 0;\n minBidiDischargePowerSum: number = 0;\n\n chargingStations: ChargingStationDto[] = [];\n selectedChargingStations: ChargingStationDto[] = [];\n\n blackboxes: Blackbox[] = []; // Blackboxes (Gateways) für die Anzeige\n selectedBlackbox: Blackbox | null = null; // Ausgewählte Blackbox\n\n constructor(\n private blackboxService: BlackboxService,\n private chargingStationsService: ChargingStationsService,\n private toastService: ToastService,\n private bidiConfigurationService: BidiConfigurationService,\n private route: ActivatedRoute,\n public dialog: NgbModal\n ) {\n }\n\n\n async ngOnInit(): Promise {\n this.setCustomerId();\n\n this.blackboxes = await this.getBlackboxes();\n\n if (!this.blackboxes.length) {\n this.blackboxes = [\n {\n id: 1,\n serialNumber: \"1234567890\",\n } as Blackbox,\n ];\n }\n\n this.setPowerMinMaxAndSilder();\n }\n\n setCustomerId() {\n const id = this.route.parent.snapshot.params.key;\n if (id && !isNaN(Number(id))) {\n this.customerId = Number(id);\n } else {\n this.customerId = null;\n }\n }\n\n ngAfterViewInit(): void {\n }\n\n async getBlackboxes(): Promise {\n try {\n let data: Blackbox[] | null;\n\n if (!this.customerId) {\n // Wenn customerId nicht gesetzt ist\n data = await this.blackboxService.getAllByCurrentCustomer().toPromise();\n } else {\n // Wenn customerId gesetzt ist\n data = await this.blackboxService.getByCustomerId(this.customerId).toPromise();\n }\n\n return data;\n } catch (err) {\n console.error(\"Fehler beim Laden der Gateways:\", err);\n this.toastService.error(\"Fehler beim Laden der Gateways\", 5000, true);\n return null;\n }\n }\n\n\n setPowerMinMaxAndSilder() {\n this.minBidiChargePowerSum = this.roundDownToHalf(\n this.chargingStations\n .map(x => x.profile.minBidiChargePower)\n .reduce((sum, value) => sum + value, 0) / 1000\n );\n\n this.maxBidiChargePowerSum = this.roundDownToHalf(\n this.chargingStations\n .map(x => x.profile.maxBidiChargePower)\n .reduce((sum, value) => sum + value, 0) / 1000\n );\n\n this.minBidiDischargePowerSum = this.roundDownToHalf(\n -Math.abs(\n this.chargingStations\n .map(x => x.profile.minBidiDischargePower)\n .reduce((sum, value) => sum + value, 0) / 1000\n )\n );\n\n this.maxBidiDischargePowerSum = this.roundDownToHalf(\n -Math.abs(\n this.chargingStations\n .map(x => x.profile.maxBidiDischargePower)\n .reduce((sum, value) => sum + value, 0) / 1000\n )\n );\n\n\n if (this.targetPowerSliderValue > this.maxBidiChargePowerSum)\n this.targetPowerSliderValue = this.maxBidiChargePowerSum;\n else if (this.targetPowerSliderValue < this.maxBidiDischargePowerSum)\n this.targetPowerSliderValue = this.maxBidiDischargePowerSum;\n }\n private roundDownToHalf(value: number): number {\n return Math.floor(value * 2) / 2;\n }\n\n selectBlackbox(blackbox: Blackbox): void {\n this.selectedBlackbox = blackbox;\n }\n\n onSliderValueChange(event: { from: number; to: number }) {\n this.currentValues = event;\n }\n\n // NOTE: Load charging stations inside this component to feed ng-select\n openScsDialog(): void {\n const dialogRef = this.dialog.open(BidiSelectChargingStationComponent, {\n size: \"lg\",\n centered: true,\n backdrop: \"static\"\n });\n dialogRef.componentInstance.preSelectedStations = this.chargingStations;\n dialogRef.componentInstance.customerId = this.customerId;\n\n dialogRef.result\n .then((selectedStations: ChargingStationDto[]) => {\n console.log(\"dialogRef.result\", selectedStations);\n if (selectedStations) {\n this.chargingStations = selectedStations;\n this.setPowerMinMaxAndSilder();\n }\n })\n .catch((error) => { });\n }\n\n\n async loadSetting(gatewayId: number) {\n let bidiConfigDto;\n try {\n bidiConfigDto = await this.bidiConfigurationService\n .getBidiConfigurationDtoByGatewayId(gatewayId)\n .toPromise();\n } catch (error) {\n console.error('Fehler beim Abrufen der Bidi-Konfiguration:', error);\n // Fehlerbehandlung oder Rückgabe bei Fehlschlag\n this.saveDisabled = true;\n return;\n }\n\n this.chargingStations = bidiConfigDto.chargingStationDtos;\n this.setPowerMinMaxAndSilder();\n this.selectedBidiModeId = Number(bidiConfigDto.bidiModeId);\n this.targetPowerSliderValue = bidiConfigDto.targetPowerInWatt / 1000;\n this.currentValues = { from: bidiConfigDto.minSoc, to: bidiConfigDto.maxSoc };\n\n this.saveDisabled = false;\n }\n\n\n async saveSettings() {\n let bidiConfigurationDto: BidiConfigurationDto = new BidiConfigurationDto();\n\n bidiConfigurationDto.gatewayId = this.selectedBlackbox!.id;\n bidiConfigurationDto.bidiModeId = this.selectedBidiModeId.toString();\n bidiConfigurationDto.targetPowerInWatt = this.targetPowerSliderValue * 1000;\n bidiConfigurationDto.minSoc = this.currentValues.from;\n bidiConfigurationDto.maxSoc = this.currentValues.to;\n bidiConfigurationDto.chargingStationDtos = this.chargingStations;\n\n\n this.toastService.loading(\"Wird gespeichert...\", true);\n try {\n this.saveDisabled = true;\n await this.bidiConfigurationService\n .createUpdateBidiConfiguration(bidiConfigurationDto)\n .toPromise();\n this.toastService.success(\"Bidi-Konfiguration erfolgreich gespeichert.\", 4500, true);\n this.saveDisabled = false;\n } catch (error) {\n this.toastService.error(\"Fehler beim Speichern der Bidi-Konfiguration\", 6500, true);\n this.saveDisabled = false;\n }\n }\n\n onBlackboxSelected(event: any): void {\n if (Array.isArray(event)) {\n this.selectedBlackbox = event[0];\n } else {\n this.selectedBlackbox = event;\n }\n\n this.loadSetting(this.selectedBlackbox.id);\n }\n\n\n\n}\n","
\n
Einstellungen für Bidirektionales Laden
\n
\n
\n
\n \n Ausgewähltes Gateway\n
\n 0; else noBlackboxesAvailable\" [items]=\"blackboxes\" id=\"blackbox\"\n [placeholder]=\"blackboxSelectPlaceholder\" multiple=\"false\" [closeOnSelect]=\"false\" [clearSearchOnAdd]=\"true\"\n [hideSelected]=\"true\" appendTo=\"body\" bindLabel=\"serialNumber\" notFoundText=\"Kein Gateway vorhanden\"\n (change)=\"onBlackboxSelected($event)\">\n \n \n \n \n
\n
\n\n \n
\n
\n \n Steuerung \n
\n
\n \n \n\n \n \n\n \n \n
\n
\n\n \n
\n \n
\n \n \n Ausgewählte Ladestationen\n \n
\n \n
\n\n \n
\n
\n \n Ziel-Ladeleistung \n \n {{ targetPowerSliderValue | number : \"1.1-1\" }} kW\n \n
\n\n
\n \n
\n {{ maxBidiDischargePowerSum | number : \"1.1-1\" }} kW\n 0,0 kW\n {{ maxBidiChargePowerSum | number : \"1.1-1\" }} kW\n
\n
\n
\n\n \n
\n
\n \n SoC-Bereich \n \n {{ currentValues.from | number : \"1.0\" }}—{{\n currentValues.to | number : \"1.0\"\n }}%\n \n
\n\n
\n \n
\n
\n\n
\n \n
\n
\n","

Ladestationen zur Steuerung auswählen

\n
\n
    \n
  • \n \n \n {{ station.name }} ({{ station.location }})\n \n
  • \n \n
\n
\n
\n \n\n \n
","import { Component, OnInit } from '@angular/core';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { Roles } from '@enums/roles.enum';\nimport { ChargingStation } from '@models/charging-station';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\n\n@Component({\n selector: 'app-bidi-select-charging-station',\n templateUrl: './bidi-select-charging-station.component.html',\n styleUrls: ['./bidi-select-charging-station.component.scss']\n})\nexport class BidiSelectChargingStationComponent implements OnInit {\n\n chargingStationDtos: ChargingStationDto[] = [];\n selectedStations: ChargingStationDto[] = [];\n public preSelectedStations: ChargingStationDto[] = [];\n public customerId: number | null = null;\n\n role: Roles\n\n constructor(\n private chargingStationsService: ChargingStationsService,\n private authenticationService: AuthenticationService,\n public activeModal: NgbActiveModal\n ) { }\n\n async ngOnInit() {\n this.role = this.authenticationService.getRole();\n\n this.chargingStationDtos = await this.getBidiChargingStationDtos();\n\n this.selectedStations = this.chargingStationDtos.filter(dto =>\n this.preSelectedStations.some(pre => pre.id === dto.id)\n );\n }\n\n async getBidiChargingStationDtos(): Promise {\n let chargingStations: ChargingStationDto[] = [];\n\n try {\n if (this.role === 'Customer') {\n // Ladestationen für den aktuellen Kunden abrufen\n chargingStations = await this.chargingStationsService\n .getChargingStationsOfCurrentCustomer()\n .toPromise();\n } else {\n // Ladestationen für einen bestimmten Kunden (customerId) abrufen\n chargingStations = await this.chargingStationsService\n .getChargingStationsOfCustomer(this.customerId)\n .toPromise();\n }\n\n // Nur Ladestationen zurückgeben, deren Profil bidirektionales Laden ermöglicht\n return chargingStations.filter(cs => cs.profile.isBidi);\n } catch (error) {\n console.error('Fehler beim Abrufen der Ladestationen:', error);\n // Im Fehlerfall eine leere Liste zurückgeben\n return [];\n }\n }\n\n\n\n isStationSelected(station: ChargingStationDto): boolean {\n return this.selectedStations.some(s => s.id === station.id);\n }\n\n\n toggleSelection(station: ChargingStationDto, isChecked: boolean): void {\n if (isChecked && !this.selectedStations.some(s => s.id === station.id)) {\n this.selectedStations.push(station);\n }\n else if (!isChecked) {\n this.selectedStations = this.selectedStations.filter(\n s => s.id !== station.id\n );\n }\n console.log(\"this.selectedStations\", this.selectedStations);\n }\n\n\n saveSelection() {\n this.activeModal.close(this.selectedStations);\n }\n\n\n closeDialog() {\n this.activeModal.dismiss();\n }\n\n\n\n\n\n\n\n\n\n\n}\n\n\n\n\n","import { AfterViewInit, Component, EventEmitter, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-dual-range-slider',\n templateUrl: './dual-range-slider.component.html',\n styleUrls: ['./dual-range-slider.component.scss']\n})\nexport class DualRangeSliderComponent implements AfterViewInit {\n @Output() valueChange = new EventEmitter<{ from: number; to: number }>();\n\n ngAfterViewInit() {\n const COLOR_TRACK = \"#CBD5E1\";\n const COLOR_RANGE = \"#0EA5E9\";\n\n const fromSlider = document.querySelector('#fromSlider') as HTMLInputElement;\n const toSlider = document.querySelector('#toSlider') as HTMLInputElement;\n const fromTooltip = document.querySelector('#fromSliderTooltip') as HTMLElement;\n const toTooltip = document.querySelector('#toSliderTooltip') as HTMLElement;\n const scale = document.getElementById('scale') as HTMLElement;\n\n if (!fromSlider || !toSlider || !fromTooltip || !toTooltip || !scale) {\n console.error(\"One or more required elements are missing.\");\n return;\n }\n\n const MIN = parseInt(fromSlider.getAttribute('min') || '0', 10);\n const MAX = parseInt(fromSlider.getAttribute('max') || '100', 10);\n const STEPS = parseInt(scale.dataset['steps'] || '10', 10);\n\n fromSlider.oninput = () => {\n this.controlFromSlider(fromSlider, toSlider, fromTooltip, toTooltip, COLOR_TRACK, COLOR_RANGE);\n this.emitSliderValues(fromSlider, toSlider);\n };\n\n toSlider.oninput = () => {\n this.controlToSlider(fromSlider, toSlider, fromTooltip, toTooltip, COLOR_TRACK, COLOR_RANGE);\n this.emitSliderValues(fromSlider, toSlider);\n };\n\n this.fillSlider(fromSlider, toSlider, COLOR_TRACK, COLOR_RANGE, toSlider);\n this.setTooltip(fromSlider, fromTooltip);\n this.setTooltip(toSlider, toTooltip);\n this.createScale(MIN, MAX, STEPS, scale);\n }\n\n private emitSliderValues(fromSlider: HTMLInputElement, toSlider: HTMLInputElement) {\n const from = parseInt(fromSlider.value, 10);\n const to = parseInt(toSlider.value, 10);\n this.valueChange.emit({ from, to });\n }\n\n private controlFromSlider(\n fromSlider: HTMLInputElement,\n toSlider: HTMLInputElement,\n fromTooltip: HTMLElement,\n toTooltip: HTMLElement,\n trackColor: string,\n rangeColor: string\n ) {\n const [from, to] = this.getParsedValues(fromSlider, toSlider);\n this.fillSlider(fromSlider, toSlider, trackColor, rangeColor, toSlider);\n if (from > to) {\n fromSlider.value = to.toString();\n }\n this.setTooltip(fromSlider, fromTooltip);\n }\n\n private controlToSlider(\n fromSlider: HTMLInputElement,\n toSlider: HTMLInputElement,\n fromTooltip: HTMLElement,\n toTooltip: HTMLElement,\n trackColor: string,\n rangeColor: string\n ) {\n const [from, to] = this.getParsedValues(fromSlider, toSlider);\n this.fillSlider(fromSlider, toSlider, trackColor, rangeColor, toSlider);\n if (from <= to) {\n toSlider.value = to.toString();\n } else {\n toSlider.value = from.toString();\n }\n this.setTooltip(toSlider, toTooltip);\n }\n\n private getParsedValues(fromSlider: HTMLInputElement, toSlider: HTMLInputElement): [number, number] {\n const from = parseInt(fromSlider.value, 10);\n const to = parseInt(toSlider.value, 10);\n return [from, to];\n }\n\n private fillSlider(\n from: HTMLInputElement,\n to: HTMLInputElement,\n trackColor: string,\n rangeColor: string,\n controlSlider: HTMLInputElement\n ) {\n const rangeDistance = parseInt(to.max, 10) - parseInt(to.min, 10);\n const fromPosition = from.valueAsNumber - parseInt(to.min, 10);\n const toPosition = to.valueAsNumber - parseInt(to.min, 10);\n controlSlider.style.background = `linear-gradient(\n to right,\n ${trackColor} 0%,\n ${trackColor} ${(fromPosition / rangeDistance) * 100}%,\n ${rangeColor} ${(fromPosition / rangeDistance) * 100}%,\n ${rangeColor} ${(toPosition / rangeDistance) * 100}%, \n ${trackColor} ${(toPosition / rangeDistance) * 100}%, \n ${trackColor} 100%)`;\n }\n\n private setTooltip(slider: HTMLInputElement, tooltip: HTMLElement) {\n const value = slider.valueAsNumber;\n tooltip.textContent = `${value}%`;\n const percent = ((value - parseInt(slider.min, 10)) / (parseInt(slider.max, 10) - parseInt(slider.min, 10))) * 100;\n tooltip.style.left = `calc(${percent}% - 0px)`;\n }\n\n private createScale(min: number, max: number, step: number, scaleElement: HTMLElement) {\n const range = max - min;\n const steps = range / step;\n for (let i = 0; i <= steps; i++) {\n const value = min + i * step;\n const percent = ((value - min) / range) * 100;\n const marker = document.createElement('div');\n marker.style.left = `${percent}%`;\n marker.textContent = `${value}%`;\n scaleElement.appendChild(marker);\n }\n }\n}\n","
\n
\n
115
\n \n
120
\n \n
\n
\n
","import {\n Component,\n AfterViewInit,\n Output,\n EventEmitter,\n Input,\n OnChanges,\n SimpleChanges,\n} from \"@angular/core\";\n\n@Component({\n selector: \"app-range-slider\",\n templateUrl: \"./range-slider.component.html\",\n styleUrls: [\"./range-slider.component.scss\"],\n})\nexport class RangeSliderComponent implements AfterViewInit, OnChanges {\n @Input() disabled: boolean = false;\n\n /**\n * Die vom Parent kommenden Werte.\n * Sobald der Parent `this.currentValues` neu setzt, werden die Slider aktualisiert.\n */\n @Input() rangeValues: { from: number; to: number } = { from: 25, to: 75 };\n\n /**\n * Gibt Änderungen an den Parent zurück, wenn der Benutzer die Slider bewegt.\n */\n @Output() valueChange = new EventEmitter<{ from: number; to: number }>();\n\n // Referenzen auf die Slider und deren Tooltips\n private fromSlider!: HTMLInputElement;\n private toSlider!: HTMLInputElement;\n private fromTooltip!: HTMLElement;\n private toTooltip!: HTMLElement;\n private scale!: HTMLElement;\n\n // Farben für den Slider-Bereich\n private COLOR_TRACK = \"rgb(var(--secondary))\";\n private COLOR_RANGE = \"rgb(var(--primary))\";\n\n /**\n * Nach dem Rendern der View die DOM-Elemente ermitteln und Initialisierung vornehmen.\n */\n ngAfterViewInit(): void {\n this.fromSlider = document.querySelector(\"#fromSlider\") as HTMLInputElement;\n this.toSlider = document.querySelector(\"#toSlider\") as HTMLInputElement;\n this.fromTooltip = document.querySelector(\"#fromSliderTooltip\") as HTMLElement;\n this.toTooltip = document.querySelector(\"#toSliderTooltip\") as HTMLElement;\n this.scale = document.getElementById(\"scale\") as HTMLElement;\n\n // Initiale Slider-Werte setzen (basierend auf @Input() rangeValues)\n this.setSliderValues(this.rangeValues.from, this.rangeValues.to);\n\n // Event-Listener, wenn der Benutzer die Slider tatsächlich bewegt\n this.fromSlider.oninput = () => this.handleFromSliderChange();\n this.toSlider.oninput = () => this.handleToSliderChange();\n\n // Optional: Skala erzeugen, wenn du das in deinem Template willst\n this.createScale(\n parseInt(this.fromSlider.min, 10),\n parseInt(this.fromSlider.max, 10),\n parseInt(this.scale.dataset[\"steps\"] || \"10\", 10),\n this.scale\n );\n }\n\n /**\n * Wird aufgerufen, sobald sich @Input() Werte ändern. \n * -> Wenn der Parent \"bidi-charging.component.ts\" `this.currentValues = {...}` neu setzt.\n */\n ngOnChanges(changes: SimpleChanges): void {\n // Prüfen, ob rangeValues neu gesetzt wurde und die Slider schon existieren\n if (changes[\"rangeValues\"] && this.fromSlider && this.toSlider) {\n const { from, to } = changes[\"rangeValues\"].currentValue;\n this.setSliderValues(from, to);\n }\n }\n\n /**\n * Wenn der Nutzer den \"fromSlider\" bewegt\n */\n private handleFromSliderChange() {\n this.controlFromSlider(\n this.fromSlider,\n this.toSlider,\n this.fromTooltip,\n this.toTooltip,\n this.COLOR_TRACK,\n this.COLOR_RANGE\n );\n this.emitSliderValues(this.fromSlider, this.toSlider);\n }\n\n /**\n * Wenn der Nutzer den \"toSlider\" bewegt\n */\n private handleToSliderChange() {\n this.controlToSlider(\n this.fromSlider,\n this.toSlider,\n this.fromTooltip,\n this.toTooltip,\n this.COLOR_TRACK,\n this.COLOR_RANGE\n );\n this.emitSliderValues(this.fromSlider, this.toSlider);\n }\n\n /**\n * Aktualisiert die Slider auf bestimmte Werte (z.B. wenn Parent sie setzt).\n */\n private setSliderValues(fromValue: number, toValue: number) {\n this.fromSlider.value = fromValue.toString();\n this.toSlider.value = toValue.toString();\n\n // Fülle den Slider und aktualisiere Tooltips.\n // Du kannst \"controlFromSlider\" bzw. \"controlToSlider\" benutzen\n // oder einfach direkt \"fillSlider\" und \"setTooltip\" aufrufen, wie du magst.\n this.fillSlider(this.fromSlider, this.toSlider, this.COLOR_TRACK, this.COLOR_RANGE, this.toSlider);\n this.setTooltip(this.fromSlider, this.fromTooltip);\n this.setTooltip(this.toSlider, this.toTooltip);\n }\n\n /**\n * Emitter an den Parent: Gibt die aktuellen Slider-Werte zurück.\n */\n private emitSliderValues(fromSlider: HTMLInputElement, toSlider: HTMLInputElement) {\n const from = parseInt(fromSlider.value, 10);\n const to = parseInt(toSlider.value, 10);\n this.valueChange.emit({ from, to });\n }\n\n /**\n * Steuert den \"fromSlider\" – verhindert, dass er über den \"toSlider\"-Wert hinausgeht etc.\n */\n private controlFromSlider(\n fromSlider: HTMLInputElement,\n toSlider: HTMLInputElement,\n fromTooltip: HTMLElement,\n toTooltip: HTMLElement,\n trackColor: string,\n rangeColor: string\n ) {\n const [from, to] = this.getParsedValues(fromSlider, toSlider);\n this.fillSlider(fromSlider, toSlider, trackColor, rangeColor, toSlider);\n if (from > to) {\n fromSlider.value = to.toString();\n }\n this.setTooltip(fromSlider, fromTooltip);\n }\n\n /**\n * Steuert den \"toSlider\" – verhindert, dass er unter den \"fromSlider\"-Wert fällt etc.\n */\n private controlToSlider(\n fromSlider: HTMLInputElement,\n toSlider: HTMLInputElement,\n fromTooltip: HTMLElement,\n toTooltip: HTMLElement,\n trackColor: string,\n rangeColor: string\n ) {\n const [from, to] = this.getParsedValues(fromSlider, toSlider);\n this.fillSlider(fromSlider, toSlider, trackColor, rangeColor, toSlider);\n if (from <= to) {\n toSlider.value = to.toString();\n } else {\n toSlider.value = from.toString();\n }\n this.setTooltip(toSlider, toTooltip);\n }\n\n /**\n * Hilfsfunktion zum Auslesen der Slider-Werte als number-Tuple.\n */\n private getParsedValues(\n fromSlider: HTMLInputElement,\n toSlider: HTMLInputElement\n ): [number, number] {\n const from = parseInt(fromSlider.value, 10);\n const to = parseInt(toSlider.value, 10);\n return [from, to];\n }\n\n /**\n * Füllt den Slider-Hintergrund zwischen \"from\" und \"to\" – \n * für die visuelle Darstellung der Range.\n */\n private fillSlider(\n from: HTMLInputElement,\n to: HTMLInputElement,\n trackColor: string,\n rangeColor: string,\n controlSlider: HTMLInputElement\n ) {\n const rangeDistance = parseInt(to.max, 10) - parseInt(to.min, 10);\n const fromPosition = from.valueAsNumber - parseInt(to.min, 10);\n const toPosition = to.valueAsNumber - parseInt(to.min, 10);\n\n controlSlider.style.background = `linear-gradient(\n to right,\n ${trackColor} 0%,\n ${trackColor} ${(fromPosition / rangeDistance) * 100}%,\n ${rangeColor} ${(fromPosition / rangeDistance) * 100}%,\n ${rangeColor} ${(toPosition / rangeDistance) * 100}%, \n ${trackColor} ${(toPosition / rangeDistance) * 100}%, \n ${trackColor} 100%)`;\n }\n\n /**\n * Platziert und aktualisiert das Tooltip für einen bestimmten Slider.\n */\n private setTooltip(slider: HTMLInputElement, tooltip: HTMLElement) {\n const value = slider.valueAsNumber;\n tooltip.textContent = `${value}%`;\n\n const percent =\n ((value - parseInt(slider.min, 10)) /\n (parseInt(slider.max, 10) - parseInt(slider.min, 10))) *\n 100;\n tooltip.style.left = `calc(${percent}% - 0px)`;\n }\n\n /**\n * Erzeugt eine Skala (Ticks) unterhalb des Sliders.\n * (Optionale Funktion, falls du die Skala tatsächlich einsetzt.)\n */\n private createScale(\n min: number,\n max: number,\n step: number,\n scaleElement: HTMLElement\n ) {\n const range = max - min;\n const steps = range / step;\n for (let i = 0; i <= steps; i++) {\n const value = min + i * step;\n const percent = ((value - min) / range) * 100;\n\n const marker = document.createElement(\"div\");\n marker.style.left = `${percent}%`;\n marker.textContent = `${value}%`;\n scaleElement.appendChild(marker);\n }\n }\n}\n","
\n \n
115
\n \n
120
\n \n
\n
\n\n","import { ComponentBase } from \"@abstracts/component-base\";\nimport {\n AfterViewInit,\n Component,\n Injector,\n OnDestroy,\n OnInit,\n ViewChild,\n} from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Blackbox } from \"@models/blackbox\";\nimport { EnergyMeter } from \"@models/energyMeter\";\nimport { EnergyMonitorData } from \"@dto/energyMonitorData\";\nimport { NgbDate, NgbDatepicker } from \"@ng-bootstrap/ng-bootstrap\";\nimport { BlackboxService } from \"@services/entity/blackbox.service\";\nimport { EnergyMeterRecordsService } from \"@services/entity/energyMeterRecordsService\";\nimport { ToastService } from \"@services/toast/toast.service\";\nimport { Chart, registerables } from \"chart.js\";\nimport { plainToClass } from \"class-transformer\";\nimport { KwhPipe } from \"../../../pipes/kwh.pipe\";\nimport { EnergyMonitorHistoryData } from \"../../../dto/energyMonitorHistoryData\";\n\nChart.register(...registerables);\n\n@Component({\n selector: \"app-energy-monitor\",\n templateUrl: \"./energy-monitor.component.html\",\n styleUrls: [\"./energy-monitor.component.scss\"],\n})\nexport class EnergyMonitorComponent\n extends ComponentBase\n implements OnInit, OnDestroy\n{\n \n public className: string;\n\n public blackbox: Blackbox[];\n public data: EnergyMonitorData = new EnergyMonitorData();\n public groupDataByType: Record = {};\n public energyMeterTypeKeys = Object.keys;\n\n public today: Date = new Date();\n public dateSelected: Date;\n public loadingDistribution: boolean = true;\n public loadingHistory: boolean = true;\n public isOperatorView: boolean;\n public customerId: string;\n\n @ViewChild(\"datepicker\") datePicker: NgbDatepicker;\n\n public interval: any;\n\n constructor(\n public toastService: ToastService,\n public energyMeterRecordsService: EnergyMeterRecordsService,\n public blackboxService: BlackboxService,\n private activatedRoute: ActivatedRoute,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isOperatorView = this.activatedRoute.snapshot.data[\"isOperatorView\"];\n if (this.isOperatorView)\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n else this.customerId = localStorage.getItem(\"customerId\") || undefined;\n\n this.setDate();\n this.getData();\n }\n\n setDate(): void {\n const query = new URLSearchParams(document.location.search).get(\"d\");\n\n if (query) {\n const target = new Date(query);\n this.dateSelected = new Date(\n target.getFullYear(),\n target.getMonth(),\n target.getDate(),\n 0,\n 0,\n 0,\n 0\n );\n return;\n }\n\n const now = new Date();\n this.dateSelected = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n 0,\n 0,\n 0,\n 0\n );\n }\n\n getData(): void {\n this.getBlackbox();\n }\n\n startInterval(): void {\n this.interval = setInterval(() => this.getData(), 10000);\n }\n\n getBlackbox() {\n if (this.customerId == undefined) {\n this.toastService.warn(\n $localize`:@@EnergyMonitorCustomerNoBlackbox:Der Kunde ist kein Nutzer von CUBOS.Energy.`\n );\n return;\n }\n\n this.blackboxService\n .getByCustomerId(parseInt(this.customerId))\n .subscribe((result) => {\n this.blackbox = plainToClass(Blackbox, result);\n this.getEnergyMonitorData();\n });\n }\n\n getEnergyMonitorData() {\n const request = {\n utcStartDate: this.dateSelected ?? null,\n utcEndDate: new Date(this.dateSelected.getTime() + 86400000),\n blackboxId: this.blackbox[0]?.id,\n maxResult: 360,\n };\n\n this.energyMeterRecordsService.getEnergyMonitorData(request).subscribe(\n (data) => {\n this.data = data;\n this.loadingDistribution = false;\n this.loadingHistory = false;\n this.groupDataByType = this.groupByEnergyMeterTypeName(this.data);\n },\n (error) => {\n this.groupDataByType = {};\n this.data = new EnergyMonitorData();\n this.loadingDistribution = false;\n this.loadingHistory = false;\n }\n );\n }\n\n groupByEnergyMeterTypeName(\n data: EnergyMonitorData\n ): Record {\n return data.historyData.reduce((acc, history) => {\n const typeName = history.energyMeter.energyMeterType.name;\n if (!acc[typeName]) {\n acc[typeName] = [];\n }\n acc[typeName].push(history);\n return acc;\n }, {} as Record);\n }\n\n onDateSelection(date: NgbDate, drop: any) {\n this.loadingDistribution = true;\n this.loadingHistory = true;\n this.dateSelected = new Date(\n date.year,\n date.month - 1,\n date.day,\n 0,\n 0,\n 0,\n 0\n );\n this.getEnergyMonitorData();\n drop.close();\n }\n\n ngOnDestroy(): void {\n clearInterval(this.interval);\n }\n\n async download() {\n this.toastService.loading(\n $localize`:@@DatasetDownload:Datensatz wird heruntergeladen. Das kann einen Moment dauern.`\n );\n this.blackboxService.downloadCsv(this.blackbox[0].id, this.dateSelected.getFullYear()).subscribe(\n (response: any) => {\n const file = new Blob([response], { type: \"text/csv\" });\n const fileUrl = URL.createObjectURL(file);\n\n let fileName = `${this.getPrefix(\n this.dateSelected\n )}__${this.dateSelected.getFullYear()}_Energy_Monitor.csv`;\n var a = document.createElement(\"a\");\n document.body.appendChild(a);\n a.style.display = \"none\";\n a.href = fileUrl;\n a.download = fileName;\n a.click();\n\n window.URL.revokeObjectURL(fileUrl);\n this.toastService.success(\n $localize`:@@DatasetDownloadSuccess:Datensatz erfolgreich heruntergeladen.`,\n 0,\n true\n );\n },\n (error) => {\n console.error(error);\n this.toastService.error(\n $localize`:@@DatasetDownloadError:Datensatz konnte nicht heruntergeladen werden.`,\n 0,\n true\n );\n }\n );\n }\n\n async downloadX() {\n this.toastService.loading(\n $localize`:@@DatasetDownload:Datensatz wird heruntergeladen. Das kann mehrere Minuten dauern.`\n );\n this.blackboxService.downloadXlsx(this.blackbox[0].id, this.dateSelected.getFullYear()).subscribe(\n (response: any) => {\n const file = new Blob([response], { type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" });\n const fileUrl = URL.createObjectURL(file);\n\n let fileName = `${this.dateSelected.getFullYear()}_Energy_Monitor.xlsx`;\n var a = document.createElement(\"a\");\n document.body.appendChild(a);\n a.style.display = \"none\";\n a.href = fileUrl;\n a.download = fileName;\n a.click();\n\n window.URL.revokeObjectURL(fileUrl);\n this.toastService.success(\n $localize`:@@DatasetDownloadSuccess:Datensatz erfolgreich heruntergeladen.`,\n 0,\n true\n );\n },\n (error) => {\n console.error(error);\n this.toastService.error(\n $localize`:@@DatasetDownloadError:Datensatz konnte nicht heruntergeladen werden.`,\n 0,\n true\n );\n }\n );\n }\n\n getPrefix(date: Date) {\n const offset = date.getTimezoneOffset();\n date = new Date(date.getTime() - offset * 60 * 1000);\n return date.toISOString().split(\"T\")[0];\n }\n\n convertToPercentage(value: number) {\n return Math.round(value * 100) / 100;\n }\n\n convertToAbsolute(value: number) {\n return Math.abs(value);\n }\n\n calculateTotalEnergy(key: string): number {\n return this.convertToAbsolute(\n this.groupDataByType[key].reduce(\n (total, dataset) => total + dataset.energy,\n 0\n )\n );\n }\n\n calculateTotalEnergyNeg(key: string): number {\n return this.convertToAbsolute(\n this.groupDataByType[key].reduce(\n (total, dataset) => total + dataset.energyNeg,\n 0\n )\n );\n }\n\n calculateTotalEnergyPos(key: string): number {\n return this.convertToAbsolute(\n this.groupDataByType[key].reduce(\n (total, dataset) => total + dataset.energyPos,\n 0\n )\n );\n }\n}\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n  Energieübersicht\n \n
\n
\n
\n
\n\n
\n
\n
\n \n
\n \n\n
\n \n
\n
\n\n
\n \n \n
\n
\n
\n\n
\n
\n Autarkiegrad\n \n {{ convertToPercentage(data.autarkyInPercent).toLocaleString('de-DE') }} %\n \n
\n\n
\n Netzeinspeisung\n \n {{convertToAbsolute(data.totalExportedInWh ) |kwh:1}} kWh\n \n
\n
\n\n
\n
\n

\n \n

\n
\n
\n
    \n
  • \n
    \n\n
    \n {{\n dataset.energyMeter.name }}\n
    \n\n
    \n \n {{ convertToAbsolute(dataset.energyPos) | kwh:1 }} kWh\n \n
    \n\n
    \n \n {{ convertToAbsolute(dataset.energyNeg) > 0 ? '-' : '' }}{{\n convertToAbsolute(dataset.energyNeg) | kwh:1 }} kWh\n \n
    \n\n
    \n
  • \n
\n
\n
\n
\n
\n\n \n\n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n","
\n \n\n \n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-energy-tab-navigation',\n templateUrl: './energy-tab-navigation.component.html',\n styleUrls: ['./energy-tab-navigation.component.scss']\n})\nexport class EnergyTabNavigationComponent implements OnInit {\n activeTab: string = 'energy';\n\n public hasBidi: boolean = false;\n\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n onTabChange(tabId: string): void {\n console.log(`Switched to tab: ${tabId}`);\n this.activeTab = tabId;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\nimport { EnergyMonitorComponent } from './energy-monitor.component';\nimport { EnergyTabNavigationComponent } from './energy-tab-navigation/energy-tab-navigation.component';\n\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'energy-monitor', component: EnergyMonitorComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: ['Customer'] }\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class EnergyMonitorModule { }\n","import { Component, Injector, OnInit, AfterContentInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { BlackboxService } from '@services/entity/blackbox.service';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { Blackbox } from \"@models/blackbox\";\nimport { Subscription } from 'rxjs';\nimport '@angular/localize/init';\nimport { ComponentBase } from '../../abstracts/component-base';\nimport { ToastService } from \"@services/toast/toast.service\";\nimport { plainToClass } from \"class-transformer\";\nimport { UserDto } from '../../dto/userDto';\nimport { AuthenticationService } from '../../services/authentication/authentication.service';\n\n\n@Component({\n selector: 'app-energy',\n templateUrl: './energy.component.html',\n styleUrls: ['./energy.component.scss']\n})\nexport class EnergyComponent extends ComponentBase implements OnInit {\n\n public className = 'EnergyComponent';\n\n public activeTab = 'energy-monitor';\n\n public primaryKey;\n public hasBlackbox: boolean;\n public hasBidi: boolean;\n public blackbox: Blackbox[];\n\n public title = '';\n\n public routerSubscription: Subscription;\n\n public isProduction: boolean = false;\n public isSupporter: boolean = false;\n public customerId: string;\n public customer: UserDto;\n\n\n public activeComponentClassName: string;\n\n links = [\n {\n title: $localize`:@@EvaluationTitel1:Energymonitor`, route: 'energy-monitor'\n },\n {\n title: $localize`:@@EvaluationTitel2:Bidi-Laden`, route: 'bidi-charging'\n },\n ];\n\n constructor(\n public router: Router,\n public activatedRoute: ActivatedRoute,\n public tableFunctions: TableFunctionsService,\n private routeDataService: RouteDataService,\n public chargingStationsService: ChargingStationsService,\n public authenticationService: AuthenticationService,\n public customersService: CustomersService,\n public blackboxService: BlackboxService,\n public toastService: ToastService,\n injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.customerId = localStorage.getItem(\"customerId\")\n this.blackboxService\n .getByCustomerId(parseInt(this.customerId))\n .subscribe(result => {\n this.blackbox = plainToClass(Blackbox, result);\n console.log(result)\n if (result.length>=1) {\n this.hasBlackbox = true;\n } else {\n this.hasBlackbox = false\n }\n });\n this.chargingStationsService\n .checkChargingStationsOfCurrentCustomerHasBidi()\n .subscribe(res => {\n if (res) {\n this.hasBidi = true;\n } else {\n this.hasBidi = false;\n }\n });\n //console.log(this.blackbox);\n\n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n this.determineActiveTab()\n }\n\n determineActiveTab() {\n for (let link of this.links) {\n if (this.router.url.includes(link.route)) {\n this.activeTab = link.route;\n }\n }\n }\n}\n","\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n \n\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\nimport { EnergyComponent } from './energy.component';\nimport { EnergyMonitorComponent } from './energy-monitor/energy-monitor.component';\nimport { BidiChargingComponent } from './bidi-charging/bidi-charging.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'energy', component: EnergyComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: ['Customer', 'Operator'] },\n children: [\n {\n path: '',\n redirectTo: 'energy-monitor',\n pathMatch: 'full'\n },\n {\n path: 'energy-monitor',\n component: EnergyMonitorComponent\n },\n {\n path: 'bidi-charging',\n component: BidiChargingComponent,\n }\n ],\n }\n ]\n )\n ],\n providers: [\n ],\n})\nexport class EnergyModule { }\n","import { Component, Injector, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { BlackboxService } from '@services/entity/blackbox.service';\nimport { plainToClass } from 'class-transformer';\nimport '@angular/localize/init';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ToastService } from '@services/toast/toast.service';\nimport { Address } from '@models/address';\nimport { Customer } from '@models/customer';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { Operator } from '@models/operator';\nimport { OperatorsService } from '@services/entity/operators.service';\nimport { MasterUserOfCustomer } from '@dto/masterUserOfCustomer';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Blackbox } from '@models/blackbox';\nimport { EnergyMeter } from '@models/energyMeter';\n\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { ChargingStation } from '../../../../models/charging-station';\nimport { BlackboxSetup } from '@dto/blackboxSetup';\nimport { ChargingPointSignalColorDto } from '@dto/ChargingPointSignalColorDto';\nimport { EnergyMeterTypService } from '../../../../services/entity/energyMeterTyp.service';\nimport { EnergyMeterType } from '../../../../models/energyMeterType';\n\n@Component({\n selector: 'blackbox-setup',\n templateUrl: './blackbox-setup.component.html',\n styleUrls: ['./blackbox-setup.component.scss']\n})\nexport class BlackboxSetupComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'BlackboxSetupComponent'\n\n public isVisible: boolean = false\n public isOperatorView: boolean\n public operator: Operator\n\n public isUser: boolean = false\n public isCustomer: boolean = false\n public isOperator: boolean = false\n\n @Input() serialNumber?: string = ''\n @Input() step: number = 1\n @Output() stepping = new EventEmitter();\n\n public entity: Blackbox\n public entities: Blackbox[] = []\n public entitiesAvailable: Blackbox[] = []\n\n public addresses: Address[] = []\n public customerAddress: Address\n public isAddressDone: boolean = false;\n\n public energyMeterTypes: EnergyMeterType[] = [];\n public energyMetersSelected: EnergyMeter[] = [];\n\n public customersAvailable: Customer[]\n public customerUserSelected: MasterUserOfCustomer\n public isCustomerDone: boolean = false;\n\n public chargingStationsAvailable: ChargingStationDto[] = []\n public chargingStationsAvailableForInputs: ChargingStationDto[] = []\n public chargingStationsAtAddress: ChargingStationDto[] = []\n\n public defaultOuterColors: string[]\n public defaultInnerColors: string[]\n public colorsEditable: ChargingPointSignalColorDto[] = []\n public editingColor: ChargingPointSignalColorDto\n public editedStatusColors: ChargingPointSignalColorDto[] = []\n public feColorMatrix: string\n\n constructor(\n public chargingStationsService: ChargingStationsService,\n public operatorsService: OperatorsService,\n public customersService: CustomersService,\n public usersService: UsersService,\n public toastService: ToastService,\n public sanitizer: DomSanitizer,\n public blackboxesService: BlackboxService,\n public energyMeterTypService: EnergyMeterTypService,\n public activeModal: NgbActiveModal,\n injector: Injector\n ) {\n super(blackboxesService, injector);\n }\n\n ngOnInit() {\n super.ngOnInit()\n this.getEntities()\n this.getCustomers()\n }\n\n getEntities() {\n this.blackboxesService.getAll().subscribe(result => {\n this.entities = plainToClass(Blackbox, result);\n this.entitiesAvailable = this.entities.filter(bb => bb.customer == null);\n\n if (this.serialNumber != null) {\n this.entity = this.entities.find(bb => bb.serialNumber == this.serialNumber);\n this.createForm()\n this.editingColor = this.entity.chargingPointSignalColors[1]\n this.defaultOuterColors = this.entity.chargingPointSignalColors.map(i => i.insideColor.hex)\n this.defaultInnerColors = this.entity.chargingPointSignalColors.map(i => i.outsideColor.hex)\n this.colorsEditable = this.entity.chargingPointSignalColors\n .filter(i =>\n i.chargingPointSignal.toString() == 'Idle' ||\n i.chargingPointSignal.toString() == 'Authentication' ||\n i.chargingPointSignal.toString() == 'Reading' ||\n i.chargingPointSignal.toString() == 'Error' ||\n i.chargingPointSignal.toString() == 'Reserved'\n )\n\n this.formService.form.get('customer').patchValue(this.entity.customer);\n this.formService.form.get('address').patchValue(this.entity.address);\n\n for (const energyMeter of this.entity.energyMeters) {\n if (energyMeter.isAlive) {\n this.addEnergyMeter(energyMeter);\n }\n }\n\n this.getMasterUserAndChargingStations();\n }\n })\n\n this.energyMeterTypService.getEnergyMeterTyps().subscribe(result => {\n this.energyMeterTypes = result;\n });\n }\n\n selectEntity() {\n this.entity = this.entities.find(bb => bb.serialNumber == this.formService.form.get('serialNumber').value.serialNumber);\n }\n\n getCustomers() {\n this.usersService.getOperatorOfUser(this.usersService.getCurrentUserId()).subscribe(result => {\n this.operator = plainToClass(Operator, result);\n this.operatorsService.getCustomersTableOfOperator(this.operator.id).subscribe(result => {\n this.customersAvailable = plainToClass(Customer, result);\n this.customersAvailable.sort((a, b) => b.customerId - a.customerId)\n })\n })\n }\n\n getChargingStations() {\n if (!this.formService.form.get('customer').value) return\n let customerId = this.formService.form.get('customer').value.id\n this.chargingStationsService.getChargingStationsOfCustomer(customerId).subscribe(result => {\n const chargingStations = plainToClass(ChargingStation, result)\n\n this.getUniqueAddressesFromChargingStations(chargingStations)\n\n this.chargingStationsAvailable = chargingStations.filter(cs => cs.name != null)\n this.chargingStationsAtAddress = chargingStations.filter(cs => cs.address && cs.address.street == this.customerUserSelected.street)\n\n this.setChargingStationsFormArray()\n })\n }\n\n getUserAddress(userId: string) {\n this.usersService.getUserAddressById(userId).subscribe(result => {\n this.customerAddress = result;\n })\n }\n\n setChargingStationsFormArray() {\n const formGroup = this.formService.form.get('chargingStations') as FormGroup\n\n for (let i = 0; i < this.chargingStationsAvailable.length; i++) {\n const chargingStation = this.chargingStationsAvailable[i]\n const address = chargingStation.address\n let isPreselected = false\n\n if (this.entity.customerId == null) {\n isPreselected = address && address.street == this.customerUserSelected.street || false\n } else {\n isPreselected = this.entity.chargingStations.find(cs => cs.id == chargingStation.id) != null\n }\n\n formGroup.addControl(\n chargingStation.id,\n new FormControl(isPreselected)\n )\n }\n\n this.chargingStationsAvailableForInputs = this.chargingStationsAvailable\n this.chargingStationsAvailableForInputs.sort((a, b) => a.name.localeCompare(b.name));\n }\n\n getUniqueAddressesFromChargingStations(chargingStations: ChargingStationDto[]) {\n let uniqueAddresses: string[] = []\n this.addresses = []\n\n for (const station of chargingStations) {\n const address = station.address\n if (address == null || address.street == null) continue\n const line = `${address.street} ${address.houseNumber} ${address.postalCode} ${address.city}`\n if (uniqueAddresses.includes(line)) continue\n uniqueAddresses.push(line)\n this.addresses.push(station.address)\n }\n\n if (this.addresses.length == 0) this.addresses.push(this.customerAddress)\n\n this.formService.form.patchValue({\n address: this.addresses[0]\n })\n this.isAddressDone = this.formService.form.value.address?.id != null;\n }\n\n addEnergyMeter(energyMeter?: EnergyMeter) {\n const formGroup: FormGroup = new FormGroup({\n id: new FormControl(energyMeter?.id),\n name: new FormControl(energyMeter?.name),\n energyMeterType: new FormControl(energyMeter?.energyMeterType),\n ipAddress: new FormControl(energyMeter?.ipAddress),\n macAddress: new FormControl(energyMeter?.macAddress),\n showInverted: new FormControl(energyMeter?.showInverted ?? false),\n recordInverted: new FormControl(energyMeter?.recordInverted ?? false),\n powerLimitInKw: new FormControl(energyMeter?.powerLimitInKw ?? 0)\n });\n\n const energyMeters = this.formService.form.get('energyMeters') as FormArray;\n energyMeters.push(formGroup);\n }\n\n\n removeEnergyMeter(energyMeterIndex) {\n let energyMeters = this.formService.form.get('energyMeters') as FormArray\n energyMeters.removeAt(energyMeterIndex)\n }\n\n addStatusColor(color: ChargingPointSignalColorDto) {\n if (this.editedStatusColors.find(i => i.chargingPointSignal == this.editingColor.chargingPointSignal))\n return;\n\n color.blackboxId = this.entity.id;\n this.editedStatusColors.push(color)\n }\n\n resetStatusColor() {\n this.editedStatusColors = this.editedStatusColors\n .filter(i => i.chargingPointSignal != this.editingColor.chargingPointSignal)\n\n const index: number = this.entity.chargingPointSignalColors.indexOf(this.editingColor);\n\n this.editingColor.insideColor.hex = this.defaultOuterColors[index]\n this.editingColor.outsideColor.hex = this.defaultInnerColors[index]\n }\n\n createForm() {\n this.formService.validators = {\n serialNumber: [Validators.required],\n customer: [Validators.required],\n address: [Validators.required],\n chargingStations: [Validators.required],\n energyMeters: [Validators.required],\n chargingPointSignalColors: [],\n }\n\n this.formService.form = new FormGroup({\n serialNumber: new FormControl(this.serialNumber, this.formService.validators['serialNumber']),\n customer: new FormControl(this.entity?.customer, this.formService.validators['customer']),\n address: new FormControl(this.entity?.address, this.formService.validators['address']),\n chargingStations: new FormGroup({}, this.formService.validators['chargingStations']),\n energyMeters: new FormArray([], this.formService.validators['energyMeters']),\n })\n }\n\n get chargingStations() {\n return (this.formService.form.get(\"chargingStations\") as FormArray).controls\n }\n\n get energyMeters() {\n return (this.formService.form.get('energyMeters') as FormArray).controls\n }\n\n onSubmit() {\n const form = this.formService.form.value;\n\n console.log(\"form\", form)\n\n if (!form.customer) this.toastService.warn(`Bitte Kunde ausgewählen.`);\n if (!form.address) this.toastService.warn(`Bitte Adresse ausgewählen.`);\n if (form.energyMeters.length < 1) this.toastService.warn(`Bitte Energiemeter anlegen.`);\n\n form.energyMeters.forEach((meter: EnergyMeter) => {\n meter.energyMeterTypeId = meter.energyMeterType?.id;\n meter.energyMeterType = null;\n if(!meter.powerLimitInKw)\n meter.powerLimitInKw = 0;\n });\n\n let setup = new BlackboxSetup({\n serialNumber: form.serialNumber.serialNumber ?? this.serialNumber,\n customerId: form.customer.id,\n addressId: form.address.id,\n chargingStations: form.chargingStations,\n energyMeters: form.energyMeters,\n chargingPointSignalColors: this.editedStatusColors,\n });\n\n\n this.blackboxesService.setup(setup).subscribe(result => {\n this.toastService.success(`Blackbox erfolgreich eingerichtet.`);\n this.activeModal.close();\n }, error => {\n this.toastService.error(`Fehler beim einrichten der Blackbox.`);\n })\n }\n\n editColor(status: ChargingPointSignalColorDto) {\n this.editingColor = status\n }\n\n getMasterUserAndChargingStations() {\n if (!this.formService.form.get('customer').value) return\n let customerId = this.formService.form.get('customer').value.id;\n this.isCustomerDone = true;\n this.customersService.getMasterUserOfCustomer(customerId).subscribe(result => {\n this.customerUserSelected = plainToClass(MasterUserOfCustomer, result);\n this.getChargingStations();\n this.getUserAddress(this.customerUserSelected.id);\n })\n }\n\n public previousKeyCode: number = 0\n tabToStep(event) {\n if (this.previousKeyCode == 16 && event.keyCode == 9 && this.step > 1) {\n this.stepPrevious()\n } else if (event.keyCode == 9 && this.step < 5) {\n this.stepNext()\n }\n this.previousKeyCode = event.keyCode\n }\n\n tabToPreviousStep(event) {\n if (this.previousKeyCode == 16 && event.keyCode == 9 && this.step > 1) {\n this.stepPrevious()\n }\n this.previousKeyCode = event.keyCode\n }\n\n tabToNextStep(event) {\n if (this.previousKeyCode != 16 && event.keyCode == 9 && this.step < 5) {\n this.stepNext()\n }\n this.previousKeyCode = event.keyCode\n }\n\n stepPrevious() { this.step -= 1; this.stepping.emit(this.step) }\n stepNext() { this.step += 1; this.stepping.emit(this.step) }\n\n setStatusColor(part: string, event: any) {\n const value = event.target.value\n if (part == 'inside') this.editingColor.insideColor.hex = value\n if (part == 'outside') this.editingColor.outsideColor.hex = value\n if (part == 'both') {\n this.editingColor.outsideColor.hex = value\n this.editingColor.insideColor.hex = value\n }\n this.setFeColorMatrix(value)\n this.addStatusColor(this.editingColor)\n }\n\n setFeColorMatrix(hex) {\n let rgb: number[] = [];\n let matrix: number[] = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];\n\n for (let i = 0; i < hex.length; i += 2) {\n const firstDigit = parseInt(hex[i], 16);\n const firstDigitPartial = firstDigit * 16;\n\n let v = parseInt(hex[i + 1], 16) + firstDigitPartial;\n v = v / 255;\n rgb.push(parseInt(v.toFixed(2)));\n }\n\n const red = rgb[0];\n const green = rgb[1];\n const blue = rgb[2];\n\n matrix[0] = red * .1;\n matrix[6] = green * .1;\n matrix[12] = blue * .1;\n\n this.feColorMatrix = matrix.join(' ');\n };\n}\n","
\n
\n
\n \n
\n

Blackbox bestimmen

\n

Welche Blackbox ist einzurichten?

\n\n
\n \n\n \n \n
\n
\n\n \n
\n

Kunde auswählen

\n

Welcher Kunde ist mir dieser Blackbox ausgestattet?

\n\n
\n \n \n\n \n
\n {{ item.id }}\n {{\n item.company || item.name || item.firstName + ' ' + item.lastName }}\n {{ item.email\n }}\n
\n
\n\n \n
\n {{ item.id }}\n {{\n item.company || item.name || item.firstName + ' ' + item.lastName }}\n {{ item.email\n }}\n
\n
\n
\n
\n
\n\n \n
\n

Adresse der Blackbox bestätigen

\n

Welcher Standort hat diese Blackbox installiert?

\n\n
\n \n \n \n {{ item.street + ' ' + item.houseNumber + ' in ' + item.postalCode + ' ' + item.city }}\n \n\n \n {{ item.street + ' ' + item.houseNumber + ' in ' + item.postalCode + ' ' + item.city }}\n \n \n
\n\n

\n Adresse der Blackbox\n

\n
\n \n\n \n\n \n\n \n
\n
\n\n \n
\n

Ladestationen am Standort steuern

\n

Welche Ladestationen sind von der Blackbox zu steuern?

\n

Es sind Ladestationen vorausgewählt mit derselben Addresse der\n Blackbox (Schritt 3).

\n\n
\n \n \n \n \n \n \n \n \n \n
\n \n {{ chargingStation.name }}{{ chargingStation.manufacturer?.name }}{{ chargingStation.model?.name }}
\n
\n
\n\n \n
\n

Statusfarben gestalten

\n

Die Änderungen betreffen alle CUBOS-Ladestationen, die über die Blackbox gesteuert werden.

\n

Es ist unbedingt zu beachten, dass Farben eine Signalfunktion ausüben. Deshalb wird empfohlen,\n nur die Farben des Status \"Available\" zu verändern.

\n\n
\n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n \n \n\n \n\n \n
\n\n \n \n\n \n
\n
\n
\n
\n\n \n
\n

Energiemeter anlegen

\n

Welche Energiemeter messen die Energie welcher Einrichtungen?

\n

Der Typ des Energiemeters ist davon abhängig, wo das Energiemeter verbaut und welcher Strom zu messen ist.\n Eine Blackbox kann mehrere Energiemeter gleichzeitig messen.

\n\n
\n
\n \n \n\n \n \n \n \n \n \n \n \n  {{ item.name }}\n \n\n \n \n \n \n \n \n  {{ item.name }}\n \n \n\n \n \n\n \n
\n \n
\n\n \n
\n \n
\n\n \n \n\n \n \n\n \n
\n\n \n \n \n
\n
\n \n \n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { Component, Injector, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { TableColumn } from '@models/tableColumn';\nimport '@angular/localize/init';\nimport { TableOptions } from '@models/tableOptions';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ToastService } from '@services/toast/toast.service';\nimport { Customer } from '@models/customer';\nimport { Operator } from '@models/operator';\nimport { Blackbox } from '@models/blackbox';\nimport { plainToClass } from 'class-transformer';\nimport { BlackboxService } from '@services/entity/blackbox.service';\n\n@Component({\n selector: 'app-blackboxes-table',\n templateUrl: './blackboxes-table.component.html',\n styleUrls: ['./blackboxes-table.component.scss']\n})\nexport class BlackboxesTableComponent extends AbstractEntitiesTableComponent implements OnInit, OnDestroy {\n public className = 'BlackboxesTableComponent';\n\n @ViewChild('operatorView') operatorView: TemplateRef;\n public isOperatorView: boolean;\n public operator: Operator;\n \n public isUser: boolean = false;\n public isCustomer: boolean = false;\n public isOperator: boolean = false;\n\n public entities: Blackbox[] = []\n public entitiesAvailable: Blackbox[] = []\n public blackboxCustomersAvailable: Customer[] = []\n\n private sortParam: number;\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@BlackboxesTableColumn2:Seriennummer`, property: 'serialNumber' },\n { columnDescription: $localize`:@@BlackboxesTableColumn2:Kunde`, property: 'customer.name' },\n { columnDescription: $localize`:@@BlackboxesTableColumn5:PLZ`, property: 'address.postalCode' },\n { columnDescription: $localize`:@@BlackboxesTableColumn5:Ort`, property: 'address.city' },\n { columnDescription: $localize`:@@BlackboxesTableColumn4:Straße`, property: 'address.street' },\n { columnDescription: $localize`:@@BlackboxesTableColumn4:Hausnummer`, property: 'address.houseNumber' },\n ];\n\n public tableOptions: TableOptions = { hideActions: true, rowRouterLink: 'setup/{serialNumber}' };\n\n constructor(\n public toastService: ToastService,\n public sanitizer: DomSanitizer,\n public blackboxesService: BlackboxService,\n injector: Injector\n ) {\n super(blackboxesService, injector);\n }\n\n ngOnInit(): void {\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n\n if (!this.isOperatorView) return;\n \n this.activatedRoute.queryParams.subscribe(params => {\n this.sortParam = params.sort;\n });\n \n super.ngOnInit();\n\n if (!this.sortParam) {\n this.tableFunctions.sortColumn = 'serialNumber';\n this.tableFunctions.sortDirection = 'desc';\n }\n }\n\n async initializeEntities() {\n this.blackboxesService.getAll().subscribe(result => {\n this.entities = plainToClass(Blackbox, result);\n this.entitiesAvailable = this.entities.filter(bb => bb.customer == null)\n super.setupTable();\n this.tableReady = true\n })\n }\n \n onSort() {\n if (this.sortParam) {\n this.sortParam = undefined;\n this.router.navigate([], {\n queryParams: {\n 'sort': null,\n },\n queryParamsHandling: 'merge'\n })\n }\n }\n\n matches(entity: any, term: any) {\n throw new Error('Method not implemented.');\n }\n}\n","\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n\n\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n
\n\n\n\n\n","import { Component, Injector, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { ComponentBase } from '../../../abstracts/component-base';\n\n@Component({\n selector: 'app-blackboxes',\n templateUrl: './blackboxes.component.html',\n styleUrls: ['./blackboxes.component.scss']\n})\nexport class BlackboxesComponent extends ComponentBase implements OnInit {\n\n public className = 'ChargingStationsComponent';\n public activeTab = 'summary';\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n public showAll: boolean = false;\n public activeComponentClassName: string;\n\n public links = [\n { title: $localize`:@@ManageTitel1:Ladestationen`, route: 'summary' },\n { title: $localize`:@@ManageTitel2:Ladestationsgruppen`, route: 'groups' }\n ];\n\n constructor(\n public tableFunctions: TableFunctionsService,\n public router: Router,\n public activatedRoute: ActivatedRoute,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.showAll = this.activatedRoute.snapshot.data['showAll'];\n super.ngOnInit();\n this.determineActiveTab();\n this.getRoles();\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n }\n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n }\n\n determineActiveTab() {\n for (let link of this.links) {\n if (this.router.url.includes(link.route)) {\n this.activeTab = link.route;\n }\n }\n }\n}\n","
\n
\n
\n
\n
\n
\n \n \n  Blackboxen\n \n
\n
\n
\n
\n\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
{{tableFunctions.total$ | async}} Einträge\n gesamt
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthGuard } from '../../../guards/auth/auth.guard';\nimport { RouterModule } from '@angular/router';\nimport { RoleGuard } from '@guards/role/role.guard';\nimport { BlackboxesComponent } from './blackboxes.component';\nimport { SetupBlackboxDialogComponent } from '@components/dialog/setup-blackbox-dialog/setup-blackbox-dialog.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'blackboxes',\n component: BlackboxesComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {\n isOperatorView: true,\n roles: ['Operator'],\n showAll: true\n },\n children: [\n {\n path: 'setup',\n component: SetupBlackboxDialogComponent,\n data: {roles: ['Operator']},\n },\n {\n path: 'setup/:key',\n component: SetupBlackboxDialogComponent,\n data: {roles: ['Operator']},\n },\n ]\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class BlackboxesModule { }\n","import { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { HttpParams } from '@angular/common/http';\nimport { Component, Inject, Injector, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Manufacturer } from '@models/manufacturer';\nimport { ManufacturersService } from '@services/entity/manufacturer.services';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\n\n@Component({\n selector: 'app-create-chargingstationprofile',\n templateUrl: './create-chargingstationprofile.component.html',\n styleUrls: ['./create-chargingstationprofile.component.scss']\n})\nexport class CreateChargingStationProfileComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'CreateChargingStationProfileComponent';\n\n public customerId: number;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private manufacturersService: ManufacturersService,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector) {\n super(manufacturersService, injector);\n }\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n }\n\n this.formService.form = new FormGroup({\n name: new FormControl('', this.formService.validators['name']),\n });\n }\n \n\n onSubmit(formValue) {\n var manufacturer = new Manufacturer(formValue);\n this.manufacturersService.createEntity(manufacturer).subscribe(result => {\n this.newEntityEvent.emit(manufacturer);\n this.toastService.success('Profil wurde angelegt.');\n }, error => {\n this.toastService.error('Profil konnte nicht angelegt werden.');\n })\n }\n}\n","
\n\n
\n\n
\n \n \n\n
\n Herstellername wird benötigt\n
\n
\n\n
\n
\n","import { AbstractEditEntityComponent } from '@abstracts/entities/edit-entity';\nimport { formatDate } from '@angular/common';\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Injector, Input, NgZone, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { EnableFreeChargeDialogContentComponent } from '@components/dialog/enable-free-charge-dialog-content/enable-free-charge-dialog-content.component';\nimport { PatchDlmMode } from '@dto/httpPatch/patchDlmMode';\nimport { DlmMode } from '@enums/dlmMode.enum';\nimport { ChargingStation } from '@models/charging-station';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { FormService } from '@services/form/form.service';\nimport { plainToClass } from 'class-transformer';\nimport { RemoteStartStopDialogContentComponent } from '@components/dialog/remote-start-stop-dialog-content/remote-start-stop-dialog-content.component';\n// import { ValueConverter } from '@angular/compiler/src/render3/view/template';\nimport { ChargingPower } from '../../../../models/chargingPower';\nimport { ConnectorSystems } from '../../../../models/connectorSystems';\nimport { Manufacturer } from '../../../../models/manufacturer';\nimport { MessageService } from '@services/message/message.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { Subscription, interval } from 'rxjs';\nimport Swal from 'sweetalert2';\nimport { GetConfigurationRequest } from '@dto/ocpp/getConfigurationRequest';\nimport { ChargingStationDto } from '../../../../dto/chargingStationDto';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { KwhPipe } from '../../../../pipes/kwh.pipe';\nimport { compareVersions } from 'compare-versions';\nimport { profile } from 'console';\n\n@Component({\n selector: 'app-dlm-charging-station',\n templateUrl: './dlm-charging-station.component.html',\n styleUrls: ['./dlm-charging-station.component.scss'],\n})\nexport class DlmChargingStationComponent extends AbstractEditEntityComponent implements OnInit, AfterViewInit {\n\n public className = 'DlmChargingStationComponent';\n\n public entity: ChargingStation;\n public freeChargeStatus: boolean;\n public currentMeterValues: any[] = [];\n public currentMeterValuesSlave: any[] = [];\n public user: boolean = false;\n public customer: boolean = false;\n public MeterSupported: boolean = false;\n public operator: boolean = false;\n public statusClass: string = '';\n public isOperatorView: boolean;\n public isRestartNecessary: boolean = false;\n public dlmClearPersistentSlaves: boolean = false;\n public isDouble: boolean = false;\n\n // private refreshSub: Subscription;\n\n chargingPowers: ChargingPower[] = [];\n\n connectorSystems: ConnectorSystems[] = [];\n\n manufacturers: Manufacturer[] = [];\n\n dlmModes: [\n {\n id: 0,\n val: \"Deaktiviert\",\n name: \"Deaktiviert\"\n },\n {\n id: 1,\n val: \"DLMMasterWithInternalSlave\",\n name: \"DLM-Master (mit internem DLM-Slave)\"\n },\n {\n id: 2,\n val: \"Standalone\",\n name: \"DLM-Master (Standalone)\"\n },\n {\n id: 3,\n val: \"MasterAutoDiscovery\",\n name: \"DLM-Slave (Master-Auto-Discovery)\"\n },\n {\n id: 4,\n val: \"MasterFixedIP\",\n name: \"DLM-Slave (Master-Fixed-IP)\"\n }\n ];\n currentPower: number;\n currentPower_slave: number;\n MeterSupportedSlave: boolean;\n\n\n @Input() set entityData(data: ChargingStation) {\n this.entity = data;\n }\n\n constructor(\n private chargingStationsService: ChargingStationsService,\n private dialog: NgbModal,\n private toastService: ToastService,\n private spinner: NgxSpinnerService,\n public injector: Injector) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit() {\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n super.ngOnInit();\n this.chargingStationsService.UpdateDlmSettingsFromOcpp(this.primaryKey.toString()).subscribe(result => {\n this.loadEntity();\n }, error => {\n this.toastService.warn('DLM Einstellungen konnten nicht per OCPP abgefragt werden!');\n });\n this.getCurrentMeterValues();\n this.getRoles();\n }\n\n async SetStatus(statusId) {\n for (const chargingPoint of this.entity.chargingPoints) {\n this.chargingStationsService.SetStatus(this.primaryKey.toString(), chargingPoint.connectorId, statusId).subscribe(result => {\n }, error => {\n console.error(\"could not set Status for Chargingstation\");\n })\n }\n }\n\n getCurrentMeterValues() {\n this.chargingStationsService.getSecondMeterCurrent(this.primaryKey.toString(), 1).subscribe(rs => {\n this.currentMeterValues = rs.secondMeterCurrent.replace(/([()])/g, '').replace(/\\[A\\]/g, '').trim().split(' | ');\n this.currentMeterValues[0] = parseFloat(this.currentMeterValues[0]);\n this.currentMeterValues[1] = parseFloat(this.currentMeterValues[1]);\n this.currentMeterValues[2] = parseFloat(this.currentMeterValues[2]);\n this.currentPower = (this.currentMeterValues[0] * 230) + (this.currentMeterValues[1] * 230) + (this.currentMeterValues[2] * 230);\n this.MeterSupported = true;\n if (this.entity.profile.numberOfConnectors === 2) {\n this.chargingStationsService.getSecondMeterCurrent(this.primaryKey.toString(), 2).subscribe(rss => {\n this.currentMeterValuesSlave = rss.secondMeterCurrent.replace(/([()])/g, '').replace(/\\[A\\]/g, '').trim().split(' | ');\n this.currentMeterValuesSlave[0] = parseFloat(this.currentMeterValuesSlave[0]);\n this.currentMeterValuesSlave[1] = parseFloat(this.currentMeterValuesSlave[1]);\n this.currentMeterValuesSlave[2] = parseFloat(this.currentMeterValuesSlave[2]);\n this.currentPower_slave = (this.currentMeterValuesSlave[0] * 230) + (this.currentMeterValuesSlave[1] * 230) + (this.currentMeterValuesSlave[2] * 230);\n this.MeterSupportedSlave = true;\n })\n }\n }, error => {\n this.currentMeterValues[0] = parseFloat('0');\n this.currentMeterValues[1] = parseFloat('0');\n this.currentMeterValues[2] = parseFloat('0');\n this.currentPower = parseFloat('0');\n this.MeterSupported = false;\n this.MeterSupportedSlave = false;\n this.currentMeterValuesSlave[0] = parseFloat('0');\n this.currentMeterValuesSlave[1] = parseFloat('0');\n this.currentMeterValuesSlave[2] = parseFloat('0');\n this.currentPower_slave = parseFloat('0');\n\n });\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n }\n }\n\n\n ngAfterViewInit() {\n // window.dispatchEvent(new Event('resize'));\n }\n\n\n ngOnDestroy(): void {\n // this.refreshSub.unsubscribe();\n }\n\n\n getAdditionalEntities() {\n this.chargingStationsService.getChargingPower().subscribe(result => {\n this.chargingPowers = result;\n }, error => { });\n\n this.chargingStationsService.getManufacturer().subscribe(result => {\n this.manufacturers = result;\n }, error => { });\n\n this.chargingStationsService.getConnectorSystems().subscribe(result => {\n this.connectorSystems = result;\n }, error => { });\n }\n\n\n initializeEntity(entity) {\n this.entity = plainToClass(ChargingStation, entity);\n if (this.entity?.model.profile.numberOfConnectors === 2) {\n this.isDouble = true;\n } else {\n this.isDouble = false;\n }\n }\n\n\n\n createForm() {\n this.formService.validators = {\n chargingPower: [Validators.required],\n dlmMode: [Validators.required],\n dlmDiscoveryNetworkId: [Validators.required],\n DlmDisableDiscoveryBroadcast: [Validators.required],\n DlmRecalcInterval: [Validators.required],\n DlmMinCurrentRating: [Validators.required],\n DlmDisconnectedLimit: [Validators.required],\n DlmMasterIp: [],\n DlmAllowEVWakeup: [Validators.required],\n DlmPhase1Limit: [Validators.required],\n DlmPhase2Limit: [Validators.required],\n DlmPhase3Limit: [Validators.required],\n DlmOperatorPhase1Limit: [Validators.required],\n DlmOperatorPhase2Limit: [Validators.required],\n DlmOperatorPhase3Limit: [Validators.required],\n DlmInput1CurrOffsetCfg: [Validators.required],\n DlmInput1Polarity: [Validators.required],\n DlmInput1CurrOffsetPhase1: [Validators.required],\n DlmInput1CurrOffsetPhase2: [Validators.required],\n DlmInput1CurrOffsetPhase3: [Validators.required],\n DlmExtMeterEnabled: [Validators.required],\n SecondMeterType: [Validators.required],\n SecondMeterIPAddress: [Validators.required],\n SecondMeterTCPPortNumber: [Validators.required],\n DlmExtMeterMainDistributionLimitPhase1: [Validators.required],\n DlmExtMeterMainDistributionLimitPhase2: [Validators.required],\n DlmExtMeterMainDistributionLimitPhase3: [Validators.required],\n DlmExtLoadHeadroomPhase1: [Validators.required],\n DlmExtLoadHeadroomPhase2: [Validators.required],\n DlmExtLoadHeadroomPhase3: [Validators.required],\n DlmExtMeterLoadFallbackPhase1: [Validators.required],\n DlmExtMeterLoadFallbackPhase2: [Validators.required],\n DlmExtMeterLoadFallbackPhase3: [Validators.required],\n DlmExtMeterLocation: [Validators.required],\n DlmExtLoadAvgLen: [Validators.required],\n DlmCurrImbalancePreventionEnabled: [Validators.required],\n DlmCurrImbalanceLim: [Validators.required],\n DlmSlaveSolarEnabled: [],\n DlmSolarMode_dlm: []\n }\n\n this.formService.form = new UntypedFormGroup({\n chargingPower: new UntypedFormControl(this.entity.chargingPower?.ampere, this.formService.validators['chargingPower']),\n dlmMode: new UntypedFormControl(this.entity.chargingStationDlm?.dlmMode, this.formService.validators['dlmMode']),\n DlmDisableDiscoveryBroadcast: new UntypedFormControl(this.entity.chargingStationDlm?.dlmDisableDiscoveryBroadcast ? 1 : 0, this.formService.validators['DlmDisableDiscoveryBroadcast']),\n DlmRecalcInterval: new UntypedFormControl(this.entity.chargingStationDlm?.dlmRecalcInterval, this.formService.validators['DlmRecalcInterval']),\n DlmAllowEVWakeup: new UntypedFormControl(this.entity.chargingStationDlm?.dlmAllowEVWakeup ? 1 : 0, this.formService.validators['DlmAllowEVWakeup']),\n DlmPhase1Limit: new UntypedFormControl(this.entity.chargingStationDlm?.dlmPhase1Limit, this.formService.validators['DlmPhase1Limit']),\n DlmPhase2Limit: new UntypedFormControl(this.entity.chargingStationDlm?.dlmPhase2Limit, this.formService.validators['DlmPhase2Limit']),\n DlmPhase3Limit: new UntypedFormControl(this.entity.chargingStationDlm?.dlmPhase3Limit, this.formService.validators['DlmPhase3Limit']),\n DlmOperatorPhase1Limit: new UntypedFormControl(this.entity.chargingStationDlm?.dlmOperatorPhase1Limit, this.formService.validators['DlmOperatorPhase1Limit']),\n DlmOperatorPhase2Limit: new UntypedFormControl(this.entity.chargingStationDlm?.dlmOperatorPhase2Limit, this.formService.validators['DlmOperatorPhase2Limit']),\n DlmOperatorPhase3Limit: new UntypedFormControl(this.entity.chargingStationDlm?.dlmOperatorPhase3Limit, this.formService.validators['DlmOperatorPhase3Limit']),\n DlmInput1CurrOffsetCfg: new UntypedFormControl(this.entity.chargingStationDlm?.dlmInput1CurrOffsetCfg ? 1 : 0, this.formService.validators['DlmInput1CurrOffsetCfg']),\n DlmInput1Polarity: new UntypedFormControl(this.entity.chargingStationDlm?.dlmInput1Polarity ? 1 : 0, this.formService.validators['DlmInput1Polarity']),\n DlmInput1CurrOffsetPhase1: new UntypedFormControl(this.entity.chargingStationDlm?.dlmInput1CurrOffsetPhase1, this.formService.validators['DlmInput1CurrOffsetPhase1']),\n DlmInput1CurrOffsetPhase2: new UntypedFormControl(this.entity.chargingStationDlm?.dlmInput1CurrOffsetPhase2, this.formService.validators['DlmInput1CurrOffsetPhase2']),\n DlmInput1CurrOffsetPhase3: new UntypedFormControl(this.entity.chargingStationDlm?.dlmInput1CurrOffsetPhase3, this.formService.validators['DlmInput1CurrOffsetPhase3']),\n DlmExtMeterEnabled: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtMeterEnabled ? 1 : 0, this.formService.validators['DlmExtMeterEnabled']),\n SecondMeterType: new UntypedFormControl(this.entity.chargingStationDlm?.secondMeterType, this.formService.validators['SecondMeterType']),\n SecondMeterIPAddress: new UntypedFormControl(this.entity.chargingStationDlm?.secondMeterIPAddress, this.formService.validators['secondMeterIPAddress']),\n SecondMeterTCPPortNumber: new UntypedFormControl(this.entity.chargingStationDlm?.secondMeterTCPPortNumber, this.formService.validators['SecondMeterTCPPortNumber']),\n DlmExtMeterMainDistributionLimitPhase1: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtMeterMainDistributionLimitPhase1, this.formService.validators['DlmExtMeterMainDistributionLimitPhase1']),\n DlmExtMeterMainDistributionLimitPhase2: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtMeterMainDistributionLimitPhase2, this.formService.validators['DlmExtMeterMainDistributionLimitPhase2']),\n DlmExtMeterMainDistributionLimitPhase3: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtMeterMainDistributionLimitPhase3, this.formService.validators['DlmExtMeterMainDistributionLimitPhase3']),\n DlmExtLoadHeadroomPhase1: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtLoadHeadroomPhase1, this.formService.validators['DlmExtLoadHeadroomPhase1']),\n DlmExtLoadHeadroomPhase2: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtLoadHeadroomPhase2, this.formService.validators['DlmExtLoadHeadroomPhase1']),\n DlmExtLoadHeadroomPhase3: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtLoadHeadroomPhase3, this.formService.validators['DlmExtLoadHeadroomPhase1']),\n DlmExtMeterLoadFallbackPhase1: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtMeterLoadFallbackPhase1, this.formService.validators['DlmExtMeterLoadFallbackPhase1']),\n DlmExtMeterLoadFallbackPhase2: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtMeterLoadFallbackPhase2, this.formService.validators['DlmExtMeterLoadFallbackPhase2']),\n DlmExtMeterLoadFallbackPhase3: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtMeterLoadFallbackPhase3, this.formService.validators['DlmExtMeterLoadFallbackPhase3']),\n DlmExtMeterLocation: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtMeterLocation ? 1 : 0, this.formService.validators['DlmExtMeterLocation']), //(0) Inklusive Ladestations-Unterverteilung (1) Ohne Ladestations-Unterverteilung Def: Inklusive Ladestations-Unterverteilung\n DlmExtLoadAvgLen: new UntypedFormControl(this.entity.chargingStationDlm?.dlmExtLoadAvgLen, this.formService.validators['DlmExtLoadAvgLen']),\n DlmCurrImbalancePreventionEnabled: new UntypedFormControl(this.entity.chargingStationDlm?.dlmCurrImbalancePreventionEnabled ? 1 : 0, this.formService.validators['DlmExtMeterEnabled']),\n DlmCurrImbalanceLim: new UntypedFormControl(this.entity.chargingStationDlm?.dlmCurrImbalanceLim, this.formService.validators['DlmCurrImbalanceLim']),\n DlmMinCurrentRating: new UntypedFormControl(this.entity.chargingStationDlm?.dlmMinCurrentRating, this.formService.validators['DlmMinCurrentRating']),\n DlmDisconnectedLimit: new UntypedFormControl(this.entity.chargingStationDlm?.dlmDisconnectedLimit, this.formService.validators['DlmDisconnectedLimit']),\n dlmDiscoveryNetworkId: new UntypedFormControl(this.entity.chargingStationDlm?.dlmDiscoveryNetworkId, this.formService.validators['dlmDiscoveryNetworkId']),\n DlmMasterIp: new UntypedFormControl(this.entity.chargingStationDlm?.dlmMasterIp, this.formService.validators['DlmMasterIp']),\n DlmSlaveSolarEnabled: new UntypedFormControl(this.entity.chargingStationDlm?.dlmSlaveSolarEnabled ? 1 : 0, this.formService.validators['DlmSlaveSolarEnabled']),\n DlmSolarMode_dlm: new UntypedFormControl(this.entity.chargingStationDlm?.dlmSolarMode_dlm ? 1 : 0, this.formService.validators['DlmSolarMode_dlm']),\n });\n\n if (!this.isFirmwareSolarModeSuppoerted()) {\n this.formService.form.get('DlmSlaveSolarEnabled').disable();\n this.formService.form.get('DlmSolarMode_dlm').disable();\n }\n }\n public isNotDeactivated() {\n return this.formService.form.get('dlmMode') ? this.formService.form.get('dlmMode').value != 0 : false;\n\n }\n\n public isTypeMaster() {\n return this.formService.form.get('dlmMode') ? ((this.formService.form.get('dlmMode').value == 1) || (this.formService.form.get('dlmMode').value == 2)) : false;\n }\n\n public isNotStandAlone() {\n return this.formService.form.get('dlmMode') ? (this.formService.form.get('dlmMode').value != 2) : false;\n }\n\n public isMasterFixedIP() {\n return this.formService.form.get('dlmMode') ? this.formService.form.get('dlmMode').value == 4 : false;\n\n }\n\n public isSecondMeterEnable() {\n return this.formService.form.get('DlmExtMeterEnabled') ? this.formService.form.get('DlmExtMeterEnabled').value == 1 : false;\n }\n\n public isOptoActivated() {\n return this.formService.form.get('DlmInput1CurrOffsetCfg') ? this.formService.form.get('DlmInput1CurrOffsetCfg').value == 1 : false;\n }\n\n public isDlmCurrImbalancePreventionEnabled() {\n return this.formService.form.get('DlmCurrImbalancePreventionEnabled') ? this.formService.form.get('DlmCurrImbalancePreventionEnabled').value == 1 : false;\n }\n\n public isFirmwareSolarModeSuppoerted() {\n return compareVersions(this.entity.firmware, '5.31.0') > 0\n }\n\n onSubmit(formValue) {\n this.spinner.show()\n const patchDlmMode: PatchDlmMode = {\n chargingPower: formValue.chargingPower,\n dlmMode: formValue.dlmMode,\n dlmDiscoveryNetworkId: formValue.dlmDiscoveryNetworkId,\n dlmMasterIp: formValue.DlmMasterIp,\n dlmDisableDiscoveryBroadcast: (formValue.DlmDisableDiscoveryBroadcast == 1),\n dlmRecalcInterval: formValue.DlmRecalcInterval,\n dlmAllowEVWakeup: (formValue.DlmAllowEVWakeup == 1),\n dlmPhase1Limit: formValue.DlmPhase1Limit,\n dlmPhase2Limit: formValue.DlmPhase2Limit,\n dlmPhase3Limit: formValue.DlmPhase3Limit,\n dlmOperatorPhase1Limit: formValue.DlmOperatorPhase1Limit,\n dlmOperatorPhase2Limit: formValue.DlmOperatorPhase2Limit,\n dlmOperatorPhase3Limit: formValue.DlmOperatorPhase3Limit,\n dlmInput1CurrOffsetCfg: (formValue.DlmInput1CurrOffsetCfg == 1),\n dlmInput1Polarity: (formValue.DlmInput1Polarity == 1),\n dlmInput1CurrOffsetPhase1: formValue.DlmInput1CurrOffsetPhase1,\n dlmInput1CurrOffsetPhase2: formValue.DlmInput1CurrOffsetPhase2,\n dlmInput1CurrOffsetPhase3: formValue.DlmInput1CurrOffsetPhase3,\n dlmExtMeterEnabled: (formValue.DlmExtMeterEnabled == 1),\n secondMeterType: formValue.SecondMeterType,\n secondMeterIPAddress: formValue.SecondMeterIPAddress,\n secondMeterTCPPortNumber: formValue.SecondMeterTCPPortNumber,\n dlmExtMeterMainDistributionLimitPhase1: formValue.DlmExtMeterMainDistributionLimitPhase1,\n dlmExtMeterMainDistributionLimitPhase2: formValue.DlmExtMeterMainDistributionLimitPhase2,\n dlmExtMeterMainDistributionLimitPhase3: formValue.DlmExtMeterMainDistributionLimitPhase3,\n dlmExtLoadHeadroomPhase1: formValue.DlmExtLoadHeadroomPhase1,\n dlmExtLoadHeadroomPhase2: formValue.DlmExtLoadHeadroomPhase2,\n dlmExtLoadHeadroomPhase3: formValue.DlmExtLoadHeadroomPhase3,\n dlmExtMeterLoadFallbackPhase1: formValue.DlmExtMeterLoadFallbackPhase1,\n dlmExtMeterLoadFallbackPhase2: formValue.DlmExtMeterLoadFallbackPhase2,\n dlmExtMeterLoadFallbackPhase3: formValue.DlmExtMeterLoadFallbackPhase3,\n dlmExtMeterLocation: (formValue.DlmExtMeterLocation == 1),\n dlmExtLoadAvgLen: formValue.DlmExtLoadAvgLen,\n dlmCurrImbalancePreventionEnabled: (formValue.DlmCurrImbalancePreventionEnabled == 1),\n dlmCurrImbalanceLim: formValue.DlmCurrImbalanceLim,\n dlmMinCurrentRating: formValue.DlmMinCurrentRating,\n dlmDisconnectedLimit: formValue.DlmDisconnectedLimit,\n dlmClearPersistentSlaves: this.dlmClearPersistentSlaves,\n dlmSlaveSolarEnabled: (formValue.DlmSlaveSolarEnabled == 1),\n dlmSolarMode_dlm: (formValue.DlmSolarMode_dlm == 1)\n }\n this.chargingStationsService.configureDlmMode(this.entity.id, patchDlmMode).subscribe(result => {\n this.toastService.success('Änderungen im Lastmanagement erfolgreich gespeichert.');\n this.entityLoadedEvent.emit(this.entity);\n this.spinner.hide()\n if (this.isRestartNecessary) {\n this.chargingStationsService.resetChargingstation(this.entity.id).subscribe(result => {\n this.toastService.success('Ladestation wird neugestartet...');\n this.entityLoadedEvent.emit(this.entity);\n this.spinner.hide()\n }, error => {\n this.toastService.error('Ladestation könnte derzeit nicht neustarten');\n console.error(error);\n this.spinner.hide()\n });\n }\n }, error => {\n this.toastService.error('Änderungen konnten nicht gespeichert werden.');\n console.error(error);\n this.entityLoadedEvent.emit(this.entity);\n this.spinner.hide()\n });\n }\n\n showConfirmRestartDialog(formValue) {\n Swal.fire({\n title: 'Ladestation Neustarten?',\n text: 'Wollen Sie die DLM Einstellungen speichern und die Ladestation neustarten?',\n icon: 'question',\n confirmButtonText: 'Bestätigen',\n confirmButtonColor: '#212529',\n showCancelButton: true,\n cancelButtonText: 'Abbrechen',\n cancelButtonColor: '#212529'\n }).then((result) => {\n if (result.isConfirmed) {\n this.onSubmit(formValue);\n }\n })\n }\n\n afterInit() {\n this.DlmModeMapping();\n }\n\n DlmModeMapping() {\n switch (this.entity.chargingStationDlm?.dlmMode) {\n case DlmMode.Deaktiviert:\n this.entity.dlmMapping = 'Deaktiviert';\n break;\n case DlmMode.DLMMasterWithInternalSlave:\n this.entity.dlmMapping = 'DLM - Master(mit internem DLM - Slave)';\n break;\n case DlmMode.Standalone:\n this.entity.dlmMapping = 'DLM-Master (Standalone)';\n break;\n case DlmMode.MasterAutoDiscovery:\n this.entity.dlmMapping = 'DLM-Slave (Master-Auto-Discovery)';\n break;\n case DlmMode.MasterFixedIP:\n this.entity.dlmMapping = 'DLM-Slave (Master-Fixed-IP)';\n break;\n default:\n this.entity.dlmMapping = 'Test';\n break;\n }\n }\n\n changeOperatorPower(power: number) {\n var result = this.chargingStationsService.configureOperatorPower(this.entity.id, this.formService.form.get('operatorPower').value);\n }\n\n openRemoteStartStopDialog(start: boolean) {\n const dialogRef = this.dialog.open(RemoteStartStopDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.start = start;\n dialogRef.componentInstance.chargingStation = this.entity;\n\n dialogRef.result.then((result) => {\n if (result.success == true) {\n this.formService.form.get('isFreeCharge').disable();\n }\n }, (backdrop) => {\n });\n }\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@ChangeDialogSaveSuccessHeader:Einstellungen wurden gespeichert!`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n }).then((result) => {\n this.createForm();\n });\n }\n\n needRestart() {\n this.isRestartNecessary = true;\n }\n\n confirmDlmClearPersistentSlaves() {\n this.dlmClearPersistentSlaves = true;\n }\n}\n","\n\n
\n
\n
\n
\n
\n
Momentanleistung (kW)
\n
{{ currentPower | kwh }} kW
\n
\n \n
\n
Phase 1
\n
Phase 2
\n
Phase 3
\n
\n
\n
{{ currentMeterValues[0] +' A'}}
\n
{{ currentMeterValues[1] +' A'}}
\n
{{ currentMeterValues[2] +' A'}}
\n
\n
\n \n
\n
\n

Diese Funktion wird von der Ladestation derzeit nicht unterstützt.

\n
\n
\n
\n
\n
\n
\n
Momentanleistung Slave (kW)
\n
{{ currentPower_slave | kwh }} kW
\n
\n \n
\n
Phase 1
\n
Phase 2
\n
Phase 3
\n
\n
\n
{{ currentMeterValuesSlave[0] +' A'}}
\n
{{ currentMeterValuesSlave[1] +' A'}}
\n
{{ currentMeterValuesSlave[2] +' A'}}
\n
\n
\n \n
\n
\n

Diese Funktion wird von der Ladestation derzeit nicht unterstützt.

\n
\n
\n
\n
\n
\n
\n
\n
\n Statisches Lastmanagement\n
\n
\n
\n
\n
\n \n max. Ladeleistung (A)\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n Dynamisches Lastmanagement\n
\n
\n
\n
\n
\n \n Das Neustarten bei einem aktiven Ladevorgang könnte zu unerwarteten Problemen führen.\n
\n
\n
\n
\n \n Dynamisches Lastmanagement - DLM Master/Slave\n \n
\n
\n \n
\n
\n
\n
\n
\n \n DLM Netzwerk-ID\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n DLM Master IP und Port\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n Discovery Broadcasting deaktivieren\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Configure Solar Mode for DLM\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n DLM Algorithmus Abtastrate\n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Aufwecken des Elektrofahrzeugs zulassen\n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Unterverteilungsstrombegrenzung für den Ladepunktverbund (L1/L2/L3) [A]\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n Betreiber Unterverteilungsstrombegrenzung (L1/L2/L3) [A]\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n Status des externen Eingangs 1\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n Polarität des externen Eingangs 1\n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Externer Eingang 1 Stromoffset (L1/L2/L3) [A]\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n Externe Zählerunterstützung\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n Konfiguration Externer Zähler\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n IP-Adresse des externen Zählers\n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Portnummer des externen Zählers\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Netzanschlussstrombegrenzung (L1/L2/L3) [A]\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n Sicherheitsmarge bei externer Last (L1/L2/L3)[A]\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n Rückfallebene der externen Last (L1/L2/L3) [A]\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n Externe Zähler Topologie\n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Mittelwertbildung der externen Last Länge[sec]\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n Schieflastvermeidung\n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Maximal erlaubte Schieflast [A]\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n Solar Mode on this charger\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Minimaler-Strombegrenzungswert [A]\n \n \n \n
\n
\n \n
\n
\n
\n
\n \n Strombegrenzung bei Verbindungsausfall [A]\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n Löschen des persistenten DLM-Slave Datenbank\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n","import { AbstractShowEntityComponent } from '@abstracts/entities/show-entity';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { EnableFreeChargeDialogContentComponent } from '@components/dialog/enable-free-charge-dialog-content/enable-free-charge-dialog-content.component';\nimport { EnablePublicChargeDialogContentComponent } from '@components/dialog/enable-public-charge-dialog-content/enable-public-charge-dialog-content.component';\nimport { EnablePrivateChargeDialogContentComponent } from '@components/dialog/enable-private-charge-dialog-content/enable-private-charge-dialog-content.component';\nimport { DiagnosticChargingStationDialogContentComponent } from '@components/dialog/diagnostic-charging-station-dialog/diagnostic-charging-station-dialog-content/diagnostics-charging-station-dialog-content.component';\nimport { ChargingStation } from '@models/charging-station';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { plainToClass } from 'class-transformer';\nimport { RemoteStartStopDialogContentComponent } from '@components/dialog/remote-start-stop-dialog-content/remote-start-stop-dialog-content.component';\nimport { ChargingPower } from '../../../../models/chargingPower';\nimport { ConnectorSystems } from '../../../../models/connectorSystems';\nimport { Manufacturer } from '../../../../models/manufacturer';\nimport { ToastService } from '@services/toast/toast.service';\nimport { Subscription } from 'rxjs';\nimport { Model } from '../../../../models/model';\nimport { Profile } from '../../../../models/profile';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\nimport { QRCodeElementType } from 'angularx-qrcode';\nimport { CustomersTableEntry } from '../../../../dto/customersTableEntry';\nimport { RfidCard } from '../../../../models/rfidCard';\nimport { FormService } from '../../../../services/form/form.service';\nimport { ChargingPointDto } from '@dto/chargingPointDto';\nimport { statusUpdateEvent } from '@dto/statusUpdateEvent';\nimport { ChargingPoint } from '../../../../models/chargingPoint';\nimport { isEmpty } from 'rxjs/operators';\n\n@Component({\n selector: 'app-charging-station-info',\n templateUrl: './charging-station-info.component.html',\n styleUrls: ['./charging-station-info.component.scss'],\n})\nexport class ChargingStationInfo extends AbstractShowEntityComponent implements OnInit {\n\n public className = 'ChargingStationInfo';\n public entity: ChargingStation;\n public freeChargeStatus: boolean;\n public publicChargeStatus: boolean;\n public privateChargeStatus: boolean;\n public isOperator: boolean = false;\n public isCustomer: boolean = false;\n public isUser: boolean = false;\n public isSupporter: boolean = false;\n public qrCodeUrl: string = '';\n public elementType: QRCodeElementType = \"img\";\n public oldId: number;\n public currentChargeMode: any;\n private modes: string[] = [];\n public status: number[] = [];\n public reservation: string[] = [];\n public operatorId: string;\n public reservationLeft: string;\n public reservationRight: string;\n\n chargingPowers: ChargingPower[] = [];\n connectorSystems: ConnectorSystems[] = [];\n manufacturers: Manufacturer[] = [];\n customers: CustomersTableEntry[] = [];\n models: Model[] = [];\n model: Model[] = [];\n profile: Profile;\n profiles: Profile[] = [];\n chargingPoints: ChargingPointDto[] = [];\n\n\n showFreeChargeText: boolean;\n lat: string;\n lon: string;\n changeCustomer: boolean = false;\n oldCsId: number;\n rfidcard: RfidCard;\n freeCharge: boolean = false;\n authorizeCharge: boolean = false;\n publicCharge: boolean = false;\n canRemoteStart: boolean = true;\n\n ButtonText: string[] = [];\n ToolTipText: string[] = [];\n bgcolor: string[] = [];\n canCharging: boolean[] = [];\n showReservationBtn: boolean[] = [];\n showCancelReservationBtn: boolean[] = [];\n\n @Input() isAvailable: boolean;\n\n constructor(\n private chargingStationsService: ChargingStationsService,\n public formService: FormService,\n private usersService: UsersService,\n private dialog: NgbModal,\n private toastService: ToastService,\n public injector: Injector\n ) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit() {\n this.authenticationService.getLoggedInUserSubject().subscribe(res => {\n this.operatorId = res.id;\n });\n super.ngOnInit();\n }\n\n showReservationButton(cp: ChargingPoint) {\n if ((this.isUser) && cp?.reservedUntil == null && cp?.statusId == 2) {\n this.showReservationBtn[cp?.connectorId] = true;\n return true;\n } else {\n this.showReservationBtn[cp?.connectorId] = false;\n return false;\n }\n }\n\n showCancelReservationButton(cp: ChargingPoint) {\n if (cp?.reservedUntil != null) {\n this.showCancelReservationBtn[cp?.connectorId] = true;\n return true;\n } else {\n this.showCancelReservationBtn[cp?.connectorId] = false;\n return false;\n }\n }\n\n getAdditionalEntities() {\n this.chargingStationsService.statusUpdateEventEmitter.subscribe((event: statusUpdateEvent) => {\n this.initializeChargingPoints()\n });\n }\n\n initializeEntity(entity) {\n this.getRoles();\n this.entity = plainToClass(ChargingStation, entity);\n this.initializeChargingPoints();\n if (this.isUser) { this.checkCanRemoteStart() }\n this.getModus();\n this.qrCodeUrl = `${window.location.origin}/pc?cs=${this.entity.id}`\n this.oldId = this.entity.customerId;\n }\n\n initializeChargingPoints() {\n this.chargingStationsService.getChargingPointsOfChargingStation(this.primaryKey).subscribe(result => {\n this.chargingPoints = result\n this.updateButtonConditions()\n }, error => { console.error(error) })\n }\n\n afterInit() {\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.isCustomer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.isOperator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.isUser = true;\n }\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n }\n\n checkCanRemoteStart() {\n this.chargingStationsService.checkCanRemoteStart(this.entity.id).subscribe(result => {\n this.canRemoteStart = result;\n }, error => { });\n }\n\n getProfile() {\n this.chargingStationsService.getProfile(this.entity.model.profileId).subscribe(result => {\n this.profile = result;\n }, error => { });\n }\n\n NewUpateButtonConditions() {\n this.status = [];\n this.chargingPoints.forEach((chargingPoint: any, index: number) => {\n this.status.push(chargingPoint.connectorId);\n })\n }\n\n updateButtonConditions() {\n this.chargingPoints.forEach((chargingPoint: ChargingPoint, index: number) => {\n // if charging station is not available, display all points as n/a\n if (this.entity.status.id != ChargingPointStatusEnum.Available) {\n this.ButtonText[chargingPoint.connectorId] = 'Ladestation nicht verfügbar';\n this.bgcolor[chargingPoint.connectorId] = 'bg-secondary text-white disabled';\n return;\n }\n\n // if charging station is available show each point's status\n if (this.canRemoteStart) {\n this.showReservationButton(chargingPoint);\n this.showCancelReservationButton(chargingPoint);\n switch (chargingPoint.status.id) {\n case ChargingPointStatusEnum.Available: { this.ButtonText[chargingPoint.connectorId] = 'Ladevorgang freigeben'; this.bgcolor[chargingPoint.connectorId] = 'hero bg-primary'; this.canCharging[chargingPoint.connectorId] = true; return };\n case ChargingPointStatusEnum.Finishing: { this.ButtonText[chargingPoint.connectorId] = 'Ladevorgang freigeben'; this.bgcolor[chargingPoint.connectorId] = 'hero bg-primary'; this.canCharging[chargingPoint.connectorId] = true; return };\n case ChargingPointStatusEnum.Preparing: { this.ButtonText[chargingPoint.connectorId] = 'Ladevorgang freigeben'; this.bgcolor[chargingPoint.connectorId] = 'hero bg-primary'; this.canCharging[chargingPoint.connectorId] = true; return };\n case ChargingPointStatusEnum.Reserved: { this.ButtonText[chargingPoint.connectorId] = 'Ladepunkt ist reserviert'; this.bgcolor[chargingPoint.connectorId] = 'hero blue'; this.canCharging[chargingPoint.connectorId] = true; this.updateReservations(chargingPoint); return };\n case ChargingPointStatusEnum.Charging:\n case ChargingPointStatusEnum.SuspendedEV:\n case ChargingPointStatusEnum.SuspendedEVSE: { this.ButtonText[chargingPoint.connectorId] = 'Ladevorgang stoppen'; this.bgcolor[chargingPoint.connectorId] = ' hero bg-warning'; this.canCharging[chargingPoint.connectorId] = false; return };\n default: { this.ButtonText[chargingPoint.connectorId] = 'Ladepunkt nicht verfügbar'; this.bgcolor[chargingPoint.connectorId] = 'bg-secondary text-white disabled'; return };\n }\n } else {\n this.ToolTipText[chargingPoint.connectorId] = 'Ladepunkt ' + chargingPoint.connectorId + ' ist nicht erlaubt, entweder fehlt die RFID-Karte oder die Zahlungsmethode'; this.ButtonText[chargingPoint.connectorId] = 'Ladepunkt nicht verfügbar'; this.bgcolor[chargingPoint.connectorId] = 'bg-secondary text-white disabled';\n this.showReservationBtn[chargingPoint?.connectorId] = false;\n this.showCancelReservationBtn[chargingPoint?.connectorId] = false;\n return;\n }\n })\n }\n\n updateReservations(cp: ChargingPoint) {\n console.log(cp?.connectorId);\n const datePipe = new DEDatePipe();\n const reservationMessage = `reserviert bis ${datePipe.transform(cp.reservedUntil)}`\n this.ButtonText[cp.connectorId] = reservationMessage;\n console.log(this.ButtonText[cp.connectorId]);\n }\n\n getModus() {\n this.freeChargeStatus = this.entity.isFreeCharge;\n this.privateChargeStatus = this.entity.isPrivateCharge;\n this.publicChargeStatus = this.entity.isPublicCharge;\n\n if (this.entity?.chargingPoints[0].statusId != 1 && this.entity.chargingPoints[0].statusId != 10 && this.entity.chargingPoints[0].statusId != 11) {\n if (!this.isUser) {\n this.chargingStationsService.syncFreeChargeModeFromOcpp(this.primaryKey.toString()).subscribe(result => {\n if (result.isModeMismatched) {\n this.freeChargeStatus = result.isFreeCharge;\n if (result.isFreeCharge) {\n this.privateChargeStatus = false;\n this.publicChargeStatus = false;\n } else {\n this.privateChargeStatus = true;\n this.publicChargeStatus = false;\n }\n }\n }, error => {\n })\n }\n }\n\n this.modes = [];\n if (this.freeChargeStatus) {\n this.modes.push('free');\n this.currentChargeMode = 'free';\n this.freeCharge = true;\n }\n if (this.privateChargeStatus) {\n this.modes.push('authorize');\n this.currentChargeMode = 'authorize';\n this.authorizeCharge = true;\n }\n if (this.publicChargeStatus) {\n this.modes.push('public');\n this.currentChargeMode = 'public'\n this.publicCharge = true;\n }\n }\n\n openPrivateChargeDialog(mode: string) {\n const dialogRef = this.dialog.open(EnablePrivateChargeDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.chargingStation = this.entity;\n dialogRef.componentInstance.mode = mode;\n dialogRef.componentInstance.currentStatus = this.privateChargeStatus;\n\n dialogRef.result.then((result) => {\n }, (backdrop) => {\n });\n }\n\n openPublicChargeDialog(mode: string) {\n const dialogRef = this.dialog.open(EnablePublicChargeDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.chargingStation = this.entity;\n dialogRef.componentInstance.mode = mode;\n dialogRef.componentInstance.currentStatus = this.publicChargeStatus;\n\n dialogRef.result.then((result) => {\n }, (backdrop) => {\n });\n }\n\n openChangeFreeChargeDialog() {\n const dialogRef = this.dialog.open(EnableFreeChargeDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.chargingStation = this.entity;\n dialogRef.componentInstance.currentStatus = this.freeChargeStatus;\n\n dialogRef.result.then((result) => {\n if (result.state == 'failure') {\n this.getModus();\n }\n dialogRef.close();\n });\n }\n\n openRemoteStartStopDialog(start: boolean, connector?: number) {\n const dialogRef = this.dialog.open(RemoteStartStopDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.start = start;\n dialogRef.componentInstance.chargingPointConnectorId = connector;\n dialogRef.componentInstance.chargingStation = this.entity;\n dialogRef.componentInstance.chargingWillBeAssignedToUser = this.isUser;\n\n dialogRef.result.then((result) => {\n dialogRef.close();\n });\n }\n\n openDiagnosticsDialog(): void {\n const dialogRef = this.dialog.open(DiagnosticChargingStationDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.entity = this.entity;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n copysuccess(string) {\n this.toastService.success(string + ' wurde in die Zwischenablage kopiert.');\n }\n\n\n setChargingStationReserved(connectorId) {\n this.toastService.info('Reservierung wird angefragt...', 3500, true);\n let reservationDate = new Date();\n reservationDate.setMinutes(reservationDate.getMinutes() + 30);\n this.chargingStationsService.reserveChargingStation(this.entity.id, connectorId).subscribe(result => {\n if (Boolean(result)) {\n this.toastService.success('Reservierung erfolgreich.', 2000, true);\n this.initializeChargingPoints();\n } else {\n this.toastService.error('Reservierung fehlgeschlagen.', 2000, true);\n }\n }, error => {\n if (typeof error === 'string' && error.includes('The idTag parameter is required and cannot be null')) {\n this.toastService.error('Keine verfügbaren RFID-Karten vorhanden.', 2000, true);\n } else {\n this.toastService.error('Reservierung fehlgeschlagen.', 2000, true);\n }\n })\n }\n\n cancelChargingStationReservation(connectorId) {\n this.toastService.info('Reservierung wird storniert.', 3500, true);\n this.chargingStationsService.cancelReservationChargingStation(this.entity.id, connectorId).subscribe(\n result => {\n if (Boolean(result)) {\n this.initializeChargingPoints();\n this.toastService.info('Stornierung erfolgreich.', 2000, true);\n } else {\n this.toastService.error('Stornierung fehlgeschlagen.', 2000, true);\n }\n }, error => {\n this.toastService.error('Stornierung fehlgeschlagen.', 2000, true);\n })\n }\n\n getModel(manufacturerId) {\n this.model = this.models.filter(x => x.manufacturerId == manufacturerId);\n }\n\n\n downloadQrCode(parent: any) {\n let parentElement = null\n\n if (this.elementType === \"canvas\") {\n // fetches base 64 data from canvas\n parentElement = parent.qrcElement.nativeElement\n .querySelector(\"canvas\")\n .toDataURL(\"image/png\")\n } else if (this.elementType === \"img\" || this.elementType === \"url\") {\n // fetches base 64 data from image\n // parentElement contains the base64 encoded image src\n // you might use to store somewhere\n parentElement = parent.qrcElement.nativeElement.querySelector(\"img\").src\n } else {\n alert(\"Set elementType to 'canvas', 'img' or 'url'.\")\n }\n\n if (parentElement) {\n // converts base 64 encoded image to blobData\n let blobData = this.convertBase64ToBlob(parentElement)\n // saves as image\n const blob = new Blob([blobData], { type: \"image/png\" })\n const url = window.URL.createObjectURL(blob)\n const link = document.createElement(\"a\")\n link.href = url\n // name of the file\n link.download = \"QR-Code\"\n link.click()\n }\n }\n\n private convertBase64ToBlob(Base64Image: string) {\n // split into two parts\n const parts = Base64Image.split(\";base64,\")\n // hold the content type\n const imageType = parts[0].split(\":\")[1]\n // decode base64 string\n const decodedData = window.atob(parts[1])\n // create unit8array of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // insert all character code into uint8array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n // return blob image after conversion\n return new Blob([uInt8Array], { type: imageType })\n }\n\n changeMode(mode: string) {\n if (mode != null && mode != this.currentChargeMode) {\n switch (mode) {\n case 'free':\n this.openChangeFreeChargeDialog();\n break;\n case 'authorize':\n this.openPrivateChargeDialog('');\n break;\n case 'public':\n this.openPublicChargeDialog('');\n }\n }\n }\n\n doAllChargingPointsHavePublicKeys() {\n this.entity.chargingPoints.forEach(cp => {\n if (!cp.publicKey) return false;\n });\n return true;\n }\n\n getChargingPointCountText() {\n if (this.chargingPoints.length === 1) {\n return '1 Ladepunkt';\n } else {\n return `${this.chargingPoints.length} Ladepunkte`\n }\n }\n}\n\nenum ChargingPointStatusEnum {\n Unregistered = 1,\n Available = 2,\n Charging = 3,\n Faulted = 4,\n Finishing = 5,\n Preparing = 6,\n Reserved = 7,\n SuspendedEV = 8,\n SuspendedEVSE = 9,\n Unavailable = 10,\n Offline = 11\n}\n","\n\n\n
\n
\n
\n
\n
=1\" class=\"row card-body\">\n \n
\n
\n
\n \n\n
\n
\n
\n
\n \n Eichrechtskonform\n \n \n OCPP 1.6\n \n \n {{this.getChargingPointCountText()}}\n \n \n 4G\n \n \n Gesperrt\n \n
\n
\n
\n
\n
\n
\n
\n
\n Lademodus\n
\n
\n
\n
\n
\n \n  Kostenloses Laden\n
\n
\n \n  Autorisiertes Laden\n
\n
\n \n \n \n \n \n  Autorisiertes & QR-Code-Laden\n
\n
\n
\n
\n Kostenloses laden kann nur aktiviert werden, solange sich die Ladestation nicht im Status\n Lädt\n oder
nicht verfügbar/offline/Fehler befindet.\n
\n
\n Kostenloses Laden ist derzeit aktiviert, es wird keine Autorisierung benötigt.\n
\n
\n Zum Laden wird eine Autorisierung benötigt.\n
\n
\n
\n\n
\n
\n Kostenloses Laden\n
\n
\n Autorisiertes Laden\n
\n
\n Autorisiertes & QR-Code-Laden\n
\n
\n Kostenloses Laden ist derzeit aktiviert, es wird keine Autorisierung benötigt.\n
\n
\n Zum Laden wird eine Autorisierung benötigt.\n
\n
\n\n \n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
QR-Code-Link
\n
\n
\n \n \n \n \n \n \n \n
\n
\n

Für diese Ladestation wurde kein QR-Code erstellt.

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n \n
\n
\n\n
\n {{cp?.connectorId}}\n \n \n \n \n
\n
\n\n\n  \n\n\n\n Hinweis: \n Bei einem manuellem Freigeben eines Ladevorgangs können die kWh nicht in Rechnung gestellt werden.\n \n\n\n \n Hinweis: \n Bei einem manuellem Freigeben eines Ladevorgangs können die kWh nicht in Rechnung gestellt werden.\n \n\n\n\n Beendet den aktuellen Ladevorgang.\n\n\n\n \n Die Ladestation ist nicht registriert.\n \n \n Der Ladepunkt ist nicht bereit.\n \n \n Der Ladepunkt beendet den aktuellen Ladevorgang.\n \n \n Der Ladevorgang wurde vom Fahrzeug angehalten.\n \n \n Der Ladevorgang ist angehalten.\n \n \n Der Ladepunkt ist nicht verfügbar.\n \n \n Die Ladestation hat keine Verbindung.\n \n\n\n\n \n Die Ladestation ist nicht registriert.\n \n \n Der Ladepunkt ist nicht bereit.\n \n \n Der Ladepunkt beendet den aktuellen Ladevorgang.\n \n \n Der Ladevorgang wurde vom Fahrzeug angehalten.\n \n \n Der Ladevorgang ist angehalten.\n \n \n Der Ladepunkt ist nicht verfügbar.\n \n \n Die Ladestation hat keine Verbindung.\n \n\n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { PatchChargingStationAllowedUsers } from '@dto/httpPatch/patchChargingStationAllowedUsers';\nimport { UserForRfidAuth } from '@dto/userForRfidAuth';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\nimport { ChargingStationAuthorizationResponse } from '../../../../models/ChargingStationAuthorizationResponse';\nimport { isEqual } from 'lodash-es'\nimport { AbstractEditEntityComponent } from '@abstracts/entities/edit-entity';\nimport { IEntity } from '@interfaces/entity';\nimport { ChargingStation } from '@models/charging-station';\nimport { plainToClass } from 'class-transformer';\n\n@Component({\n selector: 'app-charging-station-rfid-auth',\n templateUrl: './charging-station-rfid-auth.component.html',\n styleUrls: ['./charging-station-rfid-auth.component.scss'],\n})\nexport class ChargingStationRfidAuthComponent extends AbstractEditEntityComponent implements OnInit {\n public entity: ChargingStation;\n public isSupporter: boolean = false;\n\n initializeEntity(entity: any) {\n this.entity = plainToClass(ChargingStation, entity);\n this.loadAllowedUsers();\n this.initializeUsers();\n this.loadResponse();\n }\n\n public className = 'ChargingStationRfidAuthComponent';\n spinner1 = 'editSpinner';\n\n private customerId: number;\n @Input() isOperator: boolean = false;\n\n\n public allUsers: UserForRfidAuth[];\n\n public allowedUsers: UserForRfidAuth[];\n\n public formReady: boolean = false;\n\n public ChargingStationAuthorizationResponse: ChargingStationAuthorizationResponse;\n\n constructor(\n private chargingStationsService: ChargingStationsService,\n private toastService: ToastService,\n private spinner: NgxSpinnerService,\n private usersService: UsersService,\n public injector: Injector) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n\n }\n\n loadAllowedUsers() {\n if (!this.primaryKey) {\n this.primaryKey = this.routeDataService.params.key;\n }\n\n this.chargingStationsService.getAllowedUsersAsync(this.primaryKey).subscribe(result => {\n this.allowedUsers = result\n this.allowedUsers = this.allowedUsers.sort((a, b) => a.fullName.localeCompare(b.fullName))\n this.createForm()\n });\n\n }\n\n loadResponse() {\n var datePipe = new DEDatePipe();\n this.chargingStationsService.getChargingStationAuthorizationResponse(this.primaryKey.toString()).subscribe(response => {\n this.ChargingStationAuthorizationResponse = response;\n if (response != null)\n this.ChargingStationAuthorizationResponse.updatedAt = datePipe.transform(response.updatedAt);\n }, error => {\n this.toastService.error('Status des letzten Autorisierungsversuchs konnte nicht geladen werden!')\n });\n }\n\n initializeUsers() {\n this.loadUsers(this.entity.customerId)\n }\n\n loadUsers(customerId: number) {\n if (this.isOperator) {\n this.usersService.getUsersOfCustomerForRfidAuth(customerId).subscribe(result => {\n this.allUsers = result;\n this.allUsers = this.allUsers.sort((a, b) => a.fullName.localeCompare(b.fullName))\n }, error => { });\n } else {\n this.usersService.getUsersForRfidAuth().subscribe(result => {\n this.allUsers = result;\n this.allUsers = this.allUsers.sort((a, b) => a.fullName.localeCompare(b.fullName))\n }, error => { });\n }\n }\n\n getAdditionalEntities() {\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n selectedAllowedUsers: new UntypedFormControl(this.allowedUsers),\n });\n // this.formService.form.get('selectedAllowedUsers').markAsDirty();\n if (this.isSupporter) this.formService.form.disable()\n this.formReady = true;\n }\n\n compareFn(item, selected) {\n return item.id === selected.id\n }\n\n onSubmit(formValue) {\n const patch: PatchChargingStationAllowedUsers = {\n userIds: formValue.selectedAllowedUsers.map(user => user.id)\n };\n this.spinner.show(this.spinner1);\n this.chargingStationsService.patchEntityWithEndpoint(this.primaryKey, 'allowedUsers', patch).subscribe(result => {\n this.toastService.success('Autorisierung erfolgreich gespeichert.');\n this.loadResponse()\n this.spinner.hide(this.spinner1);\n }, error => {\n this.toastService.error('Autorisierung konnte nicht gespeichert werden.')\n this.spinner.hide(this.spinner1);\n });\n }\n synchronWhitelistNow() {\n this.spinner.show(this.spinner1);\n this.chargingStationsService.updateChargingStationWhitelist(this.primaryKey.toString()).subscribe(result => {\n this.toastService.success('Autorisierungsanfrage wurde erfolgreich gesendet.');\n this.loadResponse()\n this.spinner.hide(this.spinner1);\n }, error => {\n this.toastService.error('Autorisierung fehlgeschlagen.')\n this.spinner.hide(this.spinner1);\n });\n }\n}\n","Autorisierung wird durchgeführt...\n\n
\n
\n
\n
\n Berechtigungen für diese Ladestation setzen\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n Status des letzten Autorisierungsversuchs\n
\n
\n
\n
\n
\n
\n
\n Status der Ladestation bei der Autorisierung:\n {{ ChargingStationAuthorizationResponse?.online ? 'Online' : 'Offline'}}\n
\n
\n Nachrichten von der Ladestation bei der Autorisierung:\n {{ ChargingStationAuthorizationResponse?.status? ChargingStationAuthorizationResponse.status : 'Nichts'}}\n
\n
\n Zeit des letzten Autorisierungsversuchs:\n {{ ChargingStationAuthorizationResponse?.updatedAt? ChargingStationAuthorizationResponse.updatedAt :'Nicht bekannt'}}\n
\n
\n
\n
\n Keine Einträge vorhanden.\n
\n
\n
\n
\n
\n
\n
\n
\n Whiteliste jetzt synchronisieren\n
\n \n
\n
\n
\n\n\n","import { AbstractEditEntityComponent } from '@abstracts/entities/edit-entity';\nimport { DatePipe } from '@angular/common';\nimport { AfterViewInit, Component, Injector, Input, OnInit } from '@angular/core';\nimport { ChargingStation } from '@models/charging-station';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { UpdateStatusFirmwareRequest } from '@dto/ocpp/UpdateStatusFirmwareRequest';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { plainToClass } from 'class-transformer';\nimport { ToastService } from '@services/toast/toast.service';\nimport { interval, Subscription } from 'rxjs';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { GetConfigurationRequest } from '@dto/ocpp/getConfigurationRequest';\nimport { ConfigurationRequest } from '@dto/ocpp/configurationRequest';\nimport { UpdateFirmwareRequest } from '@dto/ocpp/UpdateFirmwareRequest';\nimport { FilesService } from '@services/files/files.service';\n\n@Component({\n selector: 'app-sys-charging-station',\n templateUrl: './system-charging-station.component.html',\n styleUrls: ['./system-charging-station.component.scss'],\n})\nexport class SysChargingStationComponent extends AbstractEditEntityComponent implements OnInit, AfterViewInit {\n\n public className = 'SysChargingStationComponent';\n \n @Input() entity: ChargingStation;\n\n public freeChargeStatus: boolean;\n public statusClass: string = '';\n public isOperatorView: boolean;\n public firmware: string = '';\n public connectorId: number = 0;\n public command: string ='GET';\n public configurable : boolean = true;\n public lastTransactions: TransactionDto[] = [];\n public firmwareFiles: string[];\n public firmwareStatus: UpdateStatusFirmwareRequest;\n private datePipe: DatePipe;\n private refreshSub: Subscription;\n private getFwStatus: Subscription;\n private isUpdating: boolean = false;\n private date: Date;\n private fwVersion: any;\n \n constructor(\n private chargingStationsService: ChargingStationsService,\n private transactionsService: TransactionsService,\n private toastService: ToastService,\n private filesService: FilesService,\n public injector: Injector\n ) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit() {\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n super.ngOnInit();\n this.isUpdating = false;\n this.chargingStationsService.getFirmwareVersion(this.primaryKey.toString()).subscribe(result => {\n this.fwVersion = result;\n this.entity.firmware = this.fwVersion.firmwareVersion;\n }, error => {\n // this.toastService.error('Keine aktive Verbindung zur Ladestation.');\n // this.formService.form.disable()\n // this.configurable = false;\n });\n if (this.entity) {\n this.entity.chargingPoints.forEach(chargingPoint => {\n this.transactionsService.getLastTransactionOfChargingPoint(this.primaryKey.toString(), chargingPoint.connectorId).subscribe(result => {\n if(result) this.lastTransactions.push(result);\n })\n })\n }\n\n this.getFirmwareFiles()\n this.createForm()\n this.checkLastFirmwareStatus()\n }\n\n createForm() {\n this.formService.form = new FormGroup({\n command: new FormControl('GET'),\n keyInput: new FormControl(''),\n valueInput: new FormControl(''),\n response: new FormControl({ value: '', disabled: true }),\n firmware: new FormGroup({\n fw: new FormControl('none')\n })\n })\n\n this.formService.formCreated = true;\n }\n\n getFirmwareFiles() {\n this.filesService.getFileList('firmware').subscribe(fileList => {\n this.firmwareFiles = [...fileList.split(';')]\n })\n }\n\n selectFirmware(val: string) {\n this.firmware = val;\n }\n\n selectConnector(val: number) {\n this.connectorId= val;\n }\n\n startFirmwareUpdate() {\n if (this.firmware.length >= 10) {\n this.date = new Date();\n var firmwareRequest: UpdateFirmwareRequest = {\n location: 'https://cubosgeneralstorage.blob.core.windows.net/userapp-storage/' + this.firmware,\n retries: 2,\n retrieveDate: this.date,\n retryInterval: 120\n }\n } else {\n this.toastService.warn('Sie müssen eine Firmware-Datei auswählen.');\n }\n\n this.chargingStationsService.updateChargingStationFirmware(firmwareRequest, this.entity.id).subscribe(response => {\n this.isUpdating = true;\n this.setRefreshFwStatus();\n })\n }\n\n checkLastFirmwareStatus() {\n this.chargingStationsService.getChargingStationFirmwareUpdateStatus(this.entity.id).subscribe(result => {\n this.firmwareStatus = result;\n this.isUpdating = true;\n }, error => {\n this.isUpdating = false;\n });\n }\n\n setRefreshFwStatus() {\n this.getFwStatus = interval(5000).subscribe((val) => {\n this.chargingStationsService.getChargingStationFirmwareUpdateStatus(this.entity.id).subscribe(result => {\n this.firmwareStatus = result;\n this.isUpdating = true;\n }, error => {\n this.isUpdating = false;\n\n });\n })\n }\n\n async SetStatus(statusId) {\n for (const chargingPoint of this.entity.chargingPoints) {\n this.chargingStationsService.SetStatus(this.primaryKey.toString(), chargingPoint.connectorId, statusId).subscribe(result => {\n }, error => {\n console.error(\"could not set Status for Chargingstation\");\n })\n }\n }\n\n\n onSubmit(formValue) {\n if (this.formService.form.get('command').value == 'GET') {\n var getConfigurationRequest:GetConfigurationRequest = {\n keys: formValue.keyInput.split(';').map(str => str.trim())\n }\n if (formValue.keyInput.length >= 1) {\n this.chargingStationsService.getConfiguration(this.entity.id, getConfigurationRequest).subscribe(result => {\n this.formService.form.get('response').setValue(JSON.stringify(result))\n if (result == null) {\n this.toastService.warn('Konfigurationsschlüssel gab kein Wert zurück.')\n } else {\n this.toastService.success('Konfigurationsschlüssel wurde abgefragt.')\n }\n }, error => {\n this.toastService.error('Ladestation ist nicht erreichbar.');\n })\n\n } else {\n this.toastService.error('Es wurde kein Konfigurationsschlüssel übergeben.')\n }\n }\n\n if (this.formService.form.get('command').value == 'SET') {\n var configurationRequest : ConfigurationRequest = {\n rawKeys: formValue.keyInput,\n rawValues: formValue.valueInput\n }\n\n this.chargingStationsService.postConfiguration(this.entity.id, configurationRequest).subscribe(result =>{\n this.formService.form.get('response').setValue(JSON.stringify(result))\n this.toastService.success('Ladestation wurde erfolgreich konfiguriert.')\n },error => {\n this.toastService.error('Ladestation konnte nicht konfiguriert werden.');\n })\n }\n }\n\n onCommandChange(){\n this.command = this.formService.form.get('command').value;\n }\n\n ngAfterViewInit() {\n window.dispatchEvent(new Event('resize'));\n }\n\n ngOnDestroy(): void {\n if (this.refreshSub) this.refreshSub.unsubscribe();\n if (this.getFwStatus) this.getFwStatus.unsubscribe();\n }\n\n initializeEntity(entity) {\n this.entity = plainToClass(ChargingStation, entity);\n }\n}\n","
\n
\n
\n
\n
\n Systeminformationen\n
\n
\n
\n\n
\n
Letzter Ladevorgang
\n
0\">\n
\n \n
\n
\n
Transaktion ID:
\n
{{ transaction.transactionId }}
\n
Connector ID:
\n
{{ transaction.connectorId }}
\n
Startdatum:
\n
{{ transaction.startTimestamp | dateDE }}
\n
Enddatum:
\n
{{ transaction.stopTimestamp | dateDE }}
\n
Dauer
\n
{{ transaction.duration}}
\n
geladene kWh
\n
{{ transaction.meterAmount | kwh }}
\n
Status
\n
{{ transaction.reason }}
\n
\n
\n
\n\n
\n
\n
\n Es konnte kein Ladevorgang abgerufen werden.\n
\n
\n\n
\n
\n
\n Firmware\n
\n
\n
\n \n
\n
\n
\n
\n
Version:
\n
{{ !this.entity.firmware ? 'konnte nicht ermittelt werden' : this.entity.firmware }}
\n
\n
\n
Update/Upgrade:
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
Letzte Aktualisierung: {{ this.firmwareStatus.lastModified | date: 'dd.MM.yyyy HH:mm':'+0200':'de' }}
\n
\n
Bei einem Firmware-Update wird die Ladestation mehrmals neugestartet.
Dabei ändert sich Ihr Status auf \"nicht verfügbar\" und/oder \"offline\".
Status der Aktualisierung:
\n
\n herunterladen... Fehlgeschlagen!fertig.\n \n \n \n \n \n
\n
\n installiere... fertig.\n \n \n \n \n \n
\n
Firmware konnte nicht heruntergeladen werden. Bitte prüfen Sie die Verbindung.
\n
Installation fehlgeschlagen. Bitte schauen Sie in den Log-Dateien der Ladestation für weitere Informationen.
\n
Die Ladestation hat den Firmwarestand: {{this.entity.firmware}}
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n Systemkonfiguration über OCPP\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { Injector } from '@angular/core';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ChargingStationStatusHistoryDto } from '@dto/chargingStationStatusHistoryDto';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableFilter } from '@models/tableFilter';\nimport { TableOptions } from '@models/tableOptions';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { plainToClass } from 'class-transformer';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\n\n@Component({\n selector: 'app-charging-stations-status-history-table',\n templateUrl: './charging-stations-status-history-table.component.html',\n styleUrls: ['./charging-stations-status-history-table.component.scss']\n})\nexport class ChargingStationsStatusHistoryTableComponent extends AbstractEntitiesTableComponent implements OnInit, OnDestroy {\n\n public className = 'ChargingStationsStatusHistoryTableComponent';\n\n public entities: ChargingStationStatusHistoryDto[];\n\n public customerId: number;\n public filter: TableFilter;\n \n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn1:Name/Bezeichner`, property: 'chargingStationName', options: { routerLink: 'edit/{chargingStationId}' } },\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn4:ConnectorId`, property: 'connectorId'},\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn2:Status`, property: 'displayStatus', options: { 'isHTML': true } },\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn3:Zeitpunkt`, property: 'timestamp', options: { columnPipe: { pipe: new DEDatePipe() } } },\n ];\n\n public tableOptions: TableOptions = { hideActions: true };\n\n constructor(public chargingStationsService: ChargingStationsService, private dialog: NgbModal, injector: Injector) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.tableFunctions.sortColumn = 'timestamp';\n this.tableFunctions.sortDirection = 'desc';\n }\n\n async initializeEntities() {\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n }\n\n mapStatus() {\n this.entities.forEach(e => {\n switch (e.statusId) {\n case 1:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 2:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 3:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 4:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 5:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 6:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 7:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 8:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 9:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 10:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 11:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n default:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n }\n })\n }\n\n matches(entity: ChargingStationStatusHistoryDto, term: string) {\n var datePipe = new DEDatePipe();\n var timestamp = datePipe.transform(entity.timestamp);\n\n return entity.chargingStationName?.toLocaleLowerCase().includes(term.toLowerCase())\n // || entity.status?.name?.toLowerCase().includes(term.toLowerCase())\n || timestamp?.includes(term.toLowerCase())\n }\n\n setFilter(filter: TableFilter) {\n filter.filterDLM = false;\n filter.filterSignal = false;\n this.filter = filter;\n this.updateTable();\n }\n\n async updateTable() {\n this.chargingStationsService.getCharingStationsHistoryTableOfCustomer(this.customerId, this.filter).subscribe(result => {\n this.entities = plainToClass(ChargingStationStatusHistoryDto, result);\n this.mapStatus();\n super.setupTable();\n }, error => {});\n }\n}\n","
\n
\n
\n \n
\n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n\n \n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { Component, EventEmitter, Injector, Input, OnDestroy, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { TableColumn } from '@models/tableColumn';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { plainToClass } from 'class-transformer';\nimport { Subscription } from 'rxjs';\nimport '@angular/localize/init';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationTableDto } from '@dto/chargingStationTableDto';\nimport { TableOptions } from '@models/tableOptions';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { UpdateChargingStationsDialogContentComponent } from '../../../dialog/update-charging-station-dialog/update-charging-station-dialog-content/update-charging-stations-dialog-content';\nimport { ToastService } from '@services/toast/toast.service';\nimport { DEDatePipe } from '../../../../pipes/de-date.pipe';\nimport { ChargingPointStatusEnum } from '@enums/chargingPointStatus.enum';\n\n@Component({\n selector: 'app-charging-stations-table',\n templateUrl: './charging-stations-table.component.html',\n styleUrls: ['./charging-stations-table.component.scss']\n})\nexport class ChargingStationsTableComponent extends AbstractEntitiesTableComponent implements OnInit, OnDestroy {\n\n public className = 'ChargingStationsTableComponent';\n\n @ViewChild('customerView') customerView: TemplateRef;\n @ViewChild('userView') userView: TemplateRef;\n @ViewChild('operatorView') operatorView: TemplateRef;\n\n @Output() stationCount = new EventEmitter();\n\n public entities: ChargingStationTableDto[];\n public isOperatorView: boolean;\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n public showAll: boolean = false;\n\n public isProduction: boolean = false;\n public isSupporter: boolean = false;\n private statusUpdateSubscription: Subscription;\n\n @Input() public stations: ChargingStationTableDto[];\n @Input() public userId: string;\n\n @Output() newEntityEvent = new EventEmitter();\n\n private sortParam: number;\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Name/Bezeichner`, property: 'name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn6:Status`, property: 'chargingPointsStatus', options: { 'useStatusBadgeComponent': true } },\n { columnDescription: $localize`:@@ChargingStationsTableColumn6:Lademodus`, property: 'displayChargeMode', options: { 'isHTML': true } },\n { columnDescription: $localize`:@@ChargingStationsTableColumn4:Hersteller`, property: 'manufacturer.name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn5:Modell`, property: 'model.name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn6:erstellt am`, property: 'installationDate', options: { columnPipe: { pipe: new DEDatePipe() } } },\n ];\n\n public tableOptions: TableOptions = { hideActions: true, rowRouterLink: 'edit/{id}' };\n\n constructor(\n public chargingStationsService: ChargingStationsService,\n public usersService: UsersService,\n public toastService: ToastService,\n public sanitizer: DomSanitizer,\n private dialog: NgbModal,\n injector: Injector\n ) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit(): void {\n this.getTableLayout('ChargingStationsTableComponent');\n this.getRoles();\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n this.showAll = this.activatedRoute.snapshot.data['showAll'];\n\n this.activatedRoute.queryParams.subscribe(params => {\n this.sortParam = params.sort;\n });\n super.ngOnInit();\n\n if (!this.sortParam) {\n this.tableFunctions.sortColumn = 'name';\n this.tableFunctions.sortDirection = 'asc';\n }\n if (this.showAll) {\n //this.refreshSub.unsubscribe();\n }\n\n this.usersService.getUserByEmail(\"technik@cubos.com\").subscribe(user => {\n if (this.usersService.getCurrentUserId() == user.id) {\n this.isProduction = true;\n } else {\n this.isProduction = false;\n }\n }, error => { console.error(\"User konnte nicht abgerufen werden\"); this.isProduction = false });\n }\n\n getTableLayout(componentClassName: string) {\n if (localStorage.getItem(`${componentClassName}TableLayout`) == null ) {\n localStorage.setItem(`${componentClassName}TableLayout`, 'table-layout');\n }\n return true;\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n }\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n }\n\n async initializeEntities() {\n if (this.isOperatorView) {\n if (this.showAll) {\n this.chargingStationsService.getAllChargingStations().subscribe(result => {\n this.entities = plainToClass(ChargingStationTableDto, result);\n this.stationCount.emit(this.entities.length)\n this.subscribeStatusUpdateEvent();\n this.sortEntities();\n this.mapChargeMode();\n super.setupTable();\n }, error => { });\n this.tableOptions = { hideActions: true, rowRouterLink: 'edit/{id}' };\n\n this.tableColumns = [\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Name/Bezeichner`, property: 'name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn6:Status`, property: 'chargingPointsStatus', options: { 'useStatusBadgeComponent': true } },\n { columnDescription: $localize`:@@ChargingStationsTableColumn6:Lademodus`, property: 'displayChargeMode', options: { 'isHTML': true } },\n { columnDescription: $localize`:@@ChargingStationsTableColumn4:Hersteller`, property: 'manufacturer.name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn3:Modell`, property: 'model.name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn6:Firmware`, property: 'firmware' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn6:Kunde`, property: 'customer.name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn6:erstellt am`, property: 'installationDate', options: { columnPipe: { pipe: new DEDatePipe() } } },\n ];\n //this.refreshSub.unsubscribe();\n\n } else {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n this.chargingStationsService.getChargingStationsOfCustomer(customerId).subscribe(result => {\n this.entities = plainToClass(ChargingStationTableDto, result);\n this.stationCount.emit(this.entities.length)\n this.subscribeStatusUpdateEvent();\n this.sortEntities();\n this.mapChargeMode();\n super.setupTable();\n }, error => { });\n }\n } else if (this.authenticationService.userHasRole('User')) {\n this.tableColumns = [\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Name/Bezeichner`, property: 'name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn6:Status`, property: 'chargingPoints', options: { 'useStatusBadgeComponent': true } },\n { columnDescription: $localize`:@@ChargingStationsTableColumn4:Adresse`, property: 'location' },\n ];\n\n this.chargingStationsService.getChargingStationsOfCurrentUser().subscribe(result => {\n this.entities = plainToClass(ChargingStationTableDto, result);\n this.stationCount.emit(this.entities.length)\n this.subscribeStatusUpdateEvent();\n this.sortEntities();\n this.mapChargeMode();\n super.setupTable();\n }, error => { });\n }\n else {\n this.chargingStationsService.getChargingStationsOfCurrentCustomer().subscribe(result => {\n this.entities = plainToClass(ChargingStationTableDto, result);\n this.stationCount.emit(this.entities.length)\n this.subscribeStatusUpdateEvent();\n this.sortEntities();\n this.mapChargeMode();\n super.setupTable();\n }, error => { });\n }\n }\n\n sortEntities() {\n // pre-sort by status column if required\n if (this.sortParam) {\n // all that have sortParam in their status column:\n var entitiesWithSortParam = this.entities.filter(x => x.statusId == this.sortParam || x.chargingPoints.some(cp => cp.statusId == this.sortParam));\n // all others:\n var entitiesWithoutSortParam = this.entities.filter(x => !entitiesWithSortParam.includes(x));\n this.entities = entitiesWithSortParam.concat(entitiesWithoutSortParam);\n }\n\n // create searchable string for the status column\n this.entities.forEach(e => {\n // The charging station status badge shows each CP status as long as the CS is available and the CS status otherwise.\n if (e.status.id == ChargingPointStatusEnum.Available) {\n e.chargingPointsStatus = e.chargingPoints.map(cp => cp.status.name).join();\n } else {\n e.chargingPointsStatus = e.status.name;\n }\n });\n }\n\n openUpdateModalDialog() {\n const dialogRef = this.dialog.open(UpdateChargingStationsDialogContentComponent, { centered: true, size: 'xl', backdrop: 'static' });\n dialogRef.componentInstance.chargingStations = this.entities;\n dialogRef.result.then((result) => {\n\n }, (backdrop) => {\n\n });\n }\n\n mapChargeMode() {\n this.entities.forEach(f => {\n let chargeMode = \"\"\n if (f.isFreeCharge) { chargeMode = `Kostenloses Laden` }\n if (f.isPrivateCharge) { chargeMode = `Autorisiertes Laden` }\n if (f.isPublicCharge) { chargeMode = `Autorisiertes & QR-Code-Laden` }\n f.displayChargeMode = chargeMode;\n })\n }\n\n onSort() {\n if (this.sortParam) {\n this.sortParam = undefined;\n this.router.navigate([], {\n queryParams: {\n 'sort': null,\n },\n queryParamsHandling: 'merge'\n })\n }\n }\n\n subscribeStatusUpdateEvent() {\n if (this.entities.length == 0) return\n this.statusUpdateSubscription = this.chargingStationsService.subscribeStatusUpdateToStations(this.entities.map(cs => cs.id)).subscribe(event => {\n const chargingStation = this.entities.find(cs => cs.id == event.chargingStationId)\n this.chargingStationsService.updateChargingPointsStatusThroughSSE(event, chargingStation)\n }, error => { });\n }\n\n ngOnDestroy(): void {\n this.routerSubscription.unsubscribe();\n if (this.entities.length != 0) {\n this.statusUpdateSubscription.unsubscribe();\n this.chargingStationsService.unsubscribeStatusUpdateToStations(this.entities.map(cs => cs.id));\n }\n }\n\n matches(entity: ChargingStationTableDto, term: string) {\n return ChargingStationsService.search(entity, term);\n }\n\n checkChargingStationStatus() {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n this.toastService.loading('Erreichbarkeit der Ladestationen wird geprüft...',true);\n this.chargingStationsService.checkOnlineStatus(customerId).subscribe(result => {\n if (result)\n this.toastService.success('Prüfung abgeschlossen.');\n }, error => {\n this.toastService.success('Prüfung konnte nicht durchgeführt werden.', 0, true);\n })\n }\n\n PushEVSEData() {\n this.toastService.loading('EVSE Data wird sychronisiert...',true)\n this.chargingStationsService.pushEVSEData().subscribe(ackonwledgement => {\n if (ackonwledgement.result)\n this.toastService.success('EVSEData erfolgreich sychronisiert', 0, true)\n else {\n this.toastService.error('EVSEData wurde nicht sychronisiert', 0, true)\n console.error(ackonwledgement)\n }\n }, error => {\n this.toastService.error('EVSEData wurde nicht sychronisiert', 0, true)\n console.error(error)\n });\n }\n\n PushEVSEStatus() {\n this.toastService.loading('EVSE Status wird sychronisiert...',true)\n this.chargingStationsService.pushEVSEStatus().subscribe(ackonwledgement => {\n if (ackonwledgement.result)\n this.toastService.success('EVSEStatus erfolgreich sychronisiert', 0, true)\n else {\n this.toastService.error('EVSEStatus wurde nicht sychronisiert', 0, true)\n console.error(ackonwledgement)\n }\n }, error => {\n this.toastService.error('EVSEStatus wurde nicht sychronisiert', 0, true)\n console.error(error)\n });\n }\n\n determineTemplate() {\n if (this.showAll) {\n return this.operatorView;\n } else if (this.authenticationService.userHasRole('Customer') || this.authenticationService.userHasRole('Operator')) {\n return this.customerView;\n } else if (this.authenticationService.userHasRole('User')) {\n return this.userView;\n }\n }\n}\n","\n
\n \n\n \n\n \n
\n
\n\n\n\n
\n
\n
\n \n
\n
\n\n \n\n \n\n\n \n \n
\n \n
\n\n\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n\n\n\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n
\n\n\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n
\n\n\n\n
\n
\n
\n \n
\n
\n \n \n \n
\n \n\n
\n\n\n\n\n","import { Component, Injector, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { ComponentBase } from '../../../abstracts/component-base';\n\n@Component({\n selector: 'app-charging-stations',\n templateUrl: './charging-stations.component.html',\n styleUrls: ['./charging-stations.component.scss']\n})\nexport class ChargingStationsComponent extends ComponentBase implements OnInit {\n\n public className = 'ChargingStationsComponent';\n public activeTab = 'summary';\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n stationCount: any;\n public showAll: boolean = false;\n public activeComponentClassName: string;\n\n public links = [\n { title: $localize`:@@ManageTitel1:Ladestationen`, route: 'summary' },\n { title: $localize`:@@ManageTitel2:Ladestationsgruppen`, route: 'groups' }\n ];\n\n constructor(public tableFunctions: TableFunctionsService, public router: Router, public activatedRoute: ActivatedRoute, injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.showAll = this.activatedRoute.snapshot.data['showAll'];\n super.ngOnInit();\n this.determineActiveTab();\n this.getRoles();\n this.stationCount = 0;\n }\n\n receiveMessage($event) {\n this.stationCount = $event\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n }\n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n }\n\n determineActiveTab() {\n for (let link of this.links) {\n if (this.router.url.includes(link.route)) {\n this.activeTab = link.route;\n }\n }\n }\n\n}\n","
\n
\n \n\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
{{tableFunctions.total$ | async}} Einträge\n gesamt
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthGuard } from '../../../guards/auth/auth.guard';\nimport { ChargingStationsTableComponent } from './charging-stations-table/charging-stations-table.component';\nimport { RouterModule } from '@angular/router';\nimport { ChargingStationsComponent } from './charging-stations.component';\nimport { CreateChargingStationDialogComponent } from '@components/dialog/create-charging-station-dialog/create-charging-station-dialog.component';\nimport { DetailsChargingStationDialogComponent } from '@components/dialog/details-charging-station-dialog/details-charging-station-dialog.component';\nimport { DeleteChargingStationDialogComponent } from '@components/dialog/delete-charging-station-dialog/delete-charging-station-dialog.component';\nimport { UpdateChargingStationDialogComponent } from '@components/dialog/update-charging-station-dialog/update-charging-station-dialog.component';\nimport { RoleGuard } from '@guards/role/role.guard';\nimport { GroupsComponent } from '../../manage/groups/groups.component';\nimport { DeleteGroupDialogComponent } from '@components/dialog/delete-group-dialog/delete-group-dialog.component';\nimport { EditGroupDialogComponent } from '@components/dialog/edit-group-dialog/edit-group-dialog.component';\nimport { RestartChargingStationDialogContentComponent } from '../../dialog/restart-charging-station-dialog-content/restart-charging-station-dialog-content.component';\nimport { RestartChargingStationDialogComponent } from '../../dialog/restart-charging-station-dialog-content/restart-charging-station-dialog-component';\nimport { ManufacturerTableComponent } from '@components/operator/manufacturer/manufacturer.component';\nimport { DiagnosticChargingStationDialogComponent } from '../../dialog/diagnostic-charging-station-dialog/diagnostics-charging-station-dialog-component';\nimport { DiagnosticChargingStationDialogContentComponent } from '../../dialog/diagnostic-charging-station-dialog/diagnostic-charging-station-dialog-content/diagnostics-charging-station-dialog-content.component';\nimport { StatusNotificationsTableComponent } from '@components/operator/statusnotifications/statusnotifications.component';\nimport { CreateChargingStationAssistentDialogComponent } from '../../dialog/create-charging-station-assistent-dialog/create-charging-station-assistent-dialog.component';\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'allstations',\n component: ChargingStationsComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {\n isOperatorView: true,\n roles: ['Operator'],\n showAll: true\n },\n children: [\n {\n path: '',\n redirectTo: 'summary',\n pathMatch: 'full',\n },\n {\n path: 'groups',\n component: GroupsComponent,\n children: [\n {\n path: 'edit/:key',\n component: EditGroupDialogComponent,\n },\n {\n path: 'delete/:key',\n component: DeleteGroupDialogComponent\n }\n ]\n },\n {\n path: 'summary',\n component: ChargingStationsTableComponent,\n data: {\n isOperatorView: true,\n roles: ['Operator'],\n showAll: true\n },\n children: [\n {\n path: 'create',\n component: CreateChargingStationDialogComponent,\n data: {\n isOperatorView: true,\n roles: ['Operator'],\n showAll: true\n }\n },\n {\n path: 'assistent',\n component: CreateChargingStationAssistentDialogComponent,\n data: {\n isOperatorView: true,\n roles: ['Operator'],\n showAll: true\n }\n },\n //{\n // path: 'model',\n // component: ModelTableComponent\n //},\n {\n path: 'edit/:key',\n component: DetailsChargingStationDialogComponent,\n children: [\n {\n path: 'delete',\n component: DeleteChargingStationDialogComponent\n },\n ]\n },\n {\n path: 'delete/:key',\n component: DeleteChargingStationDialogComponent\n },\n\n {\n path: 'restart/:key',\n component: RestartChargingStationDialogComponent\n },\n {\n path: 'update',\n component: UpdateChargingStationDialogComponent\n },\n {\n path: 'manufacturer',\n component: ManufacturerTableComponent\n },\n {\n path: 'statusnotifications',\n component: StatusNotificationsTableComponent\n }\n ]\n },\n ],\n }, {\n path: 'chargingstations', component: ChargingStationsComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: ['Customer', 'User', 'Operator'] },\n children: [\n {\n path: '',\n redirectTo: 'summary',\n pathMatch: 'full'\n },\n {\n path: 'summary',\n component: ChargingStationsTableComponent,\n children: [\n {\n path: 'create',\n component: CreateChargingStationDialogComponent\n },\n {\n path: 'edit/:key',\n component: DetailsChargingStationDialogComponent,\n children: [\n {\n path: 'delete',\n component: DeleteChargingStationDialogComponent\n },\n ]\n },\n\n {\n path: 'delete/:key',\n component: DeleteChargingStationDialogComponent\n }\n ]\n },\n {\n path: 'groups',\n component: GroupsComponent,\n children: [\n {\n path: 'edit/:key',\n component: EditGroupDialogComponent,\n },\n {\n path: 'delete/:key',\n component: DeleteGroupDialogComponent\n }\n ]\n },\n ]\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class ChargingStationsModule { }\n","import { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { Component, ElementRef, Injector, Input, OnInit, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { Console, debug } from 'console';\nimport { Address } from '../../../../models/address';\nimport { ChargingPower } from '../../../../models/chargingPower';\nimport { Manufacturer } from '../../../../models/manufacturer';\nimport { Model } from '../../../../models/model';\nimport { ToastService } from '../../../../services/toast/toast.service';\nimport { v4 as uuidv4 } from 'uuid';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStation } from '../../../../models/charging-station';\n\n\n\n\n@Component({\n selector: 'app-create-charging-station-assistent',\n templateUrl: './create-charging-station-assistent.component.html',\n styleUrls: ['./create-charging-station-assistent.component.css']\n})\nexport class CreateChargingStationAssistentComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'CreateChargingStationAssistentComponent';\n\n public inviteLink: string;\n public installDate = new Date().toISOString().slice(0, 16);\n\n @Input() customerId: number;\n @Input() public hideSubmit: boolean = false;\n\n guid: string = '';\n password: string = '';\n wssurl: string = 'wss://ocpp-dev.mycubos.com/api/ocpp';\n guidCopied: boolean = false;\n passwordCopied: boolean = false;\n waitForStationBtnDisabled: boolean = true;\n confirmCopyBtnDisabled: boolean = true;\n nextBtnDisabled: boolean = true;\n showStep1: boolean = true;\n showStep2: boolean = false;\n showStep3: boolean = false;\n public passwordLength: number = 12;\n public includeNumbers: boolean = true;\n public includeSymbols: boolean = false;\n\n\n constructor(\n public activeModal: NgbActiveModal,\n\n public toastService: ToastService,\n private chargingStationsService: ChargingStationsService,\n injector: Injector) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit() {\n this.createForm();\n }\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n location: [],\n address: [Validators.required],\n manufacturerId: [Validators.required],\n modelId: [Validators.required],\n installationDate: [Validators.required],\n connectorSystemsId: [],\n key: [],\n }\n this.formService.form = new UntypedFormGroup({\n name: new UntypedFormControl('', this.formService.validators['name']),\n location: new UntypedFormControl('', this.formService.validators['location']),\n postalCode: new UntypedFormControl('', [Validators.required, Validators.pattern('^[0-9]*$'), Validators.minLength(5)]),\n city: new UntypedFormControl('', this.formService.validators['address']),\n street: new UntypedFormControl('', this.formService.validators['address']),\n houseNumber: new UntypedFormControl('', this.formService.validators['address']),\n key: new UntypedFormControl(this.password, this.formService.validators['key']),\n });\n this.generateCredentials();\n }\n\n onSubmit(formValue) {\n //console.log(formValue);\n var address = new Address();\n address.city = formValue.city;\n address.postalCode = formValue.postalCode;\n address.houseNumber = formValue.houseNumber;\n address.street = formValue.street;\n formValue.Address = address;\n formValue.location = formValue.street + \" \" + formValue.houseNumber + \", \" + formValue.postalCode + \" \" + formValue.city;\n var entity = new ChargingStation(formValue);\n entity.id = this.guid;\n entity.key = this.password;\n //console.log(entity);\n this.chargingStationsService.createEntity(entity).subscribe(data => {\n }, error => { });\n }\n\n onCancelClick() {\n this.activeModal.close();\n }\n\n generateCredentials() {\n this.guid = crypto.randomUUID();\n this.generatePassword();\n\n }\n\n pwlength(event) {\n this.passwordLength = event.target.value;\n console.log(this.passwordLength);\n }\n\n hasNum(event) {\n this.includeNumbers = event.target.checked;\n console.log(this.includeNumbers);\n }\n\n hasSym(event) {\n this.includeSymbols = event.target.checked;\n console.log(this.includeSymbols);\n }\n\n\n generatePassword() {\n const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n const numbers = '0123456789';\n const symbols = '!@#$%^&*()_+-=[]{}|;:,.<>?';\n\n let validChars = letters;\n if (this.includeNumbers) {\n validChars += numbers;\n }\n if (this.includeSymbols) {\n validChars += symbols;\n }\n\n let generatedPassword = '';\n for (let i = 0; i < this.passwordLength; i++) {\n const index = Math.floor(Math.random() * validChars.length);\n generatedPassword += validChars[index];\n }\n\n this.password = generatedPassword;\n this.formService.form.controls['key'].setValue(this.password);\n\n }\n\n\n copyToClipboard(text: string, type: string) {\n navigator.clipboard.writeText(text).then(() => {\n this.toastService.success(`${type} in die Zwischenablage kopiert!`,2000);\n if (type === 'Identität') this.guidCopied = true;\n if (type === 'Passwort') this.passwordCopied = true;\n this.checkCopies();\n });\n }\n\n checkCopies() {\n if (this.guidCopied && this.passwordCopied) {\n this.confirmCopyBtnDisabled = false;\n }\n }\n\n confirmCopy() {\n this.waitForStationBtnDisabled = false;\n }\n\n waitForStation() {\n const spinner = document.getElementById('waitForStationSpinner');\n if (spinner) spinner.classList.remove('d-none');\n setTimeout(() => {\n if (spinner) spinner.classList.add('d-none');\n this.showStep1 = false;\n this.showStep2 = true;\n }, 6000); // Simulate wait time\n }\n\n generateCoordinates() {\n const street = (document.getElementById('street') as HTMLInputElement).value;\n const houseNumber = (document.getElementById('houseNumber') as HTMLInputElement).value;\n const postalCode = (document.getElementById('postalCode') as HTMLInputElement).value;\n const city = (document.getElementById('city') as HTMLInputElement).value;\n\n if (street && houseNumber && postalCode && city) {\n const query = `${street} ${houseNumber}, ${postalCode} ${city}`;\n const url = `https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}`;\n\n fetch(url)\n .then(response => response.json())\n .then(data => {\n if (data && data.length > 0) {\n const lat = data[0].lat;\n const lon = data[0].lon;\n (document.getElementById('coordinates_lat') as HTMLInputElement).value = `${lat}`;\n (document.getElementById('coordinates_lon') as HTMLInputElement).value = `${lon}`;\n this.nextBtnDisabled = false; // Enable \"Weiter\" button after getting coordinates\n } else {\n this.toastService.warn(\"Keine Koordinaten für die angegebene Adresse gefunden.\");\n }\n })\n .catch(error => {\n this.toastService.error(\"Fehler beim Abrufen der Geo-Koordinaten.\");\n console.error(\"Fehler bei der Geocodierung:\", error);\n });\n } else {\n this.toastService.warn(\"Bitte füllen Sie alle Adressfelder aus.\");\n }\n }\n\n\n moveToNextStep() {\n if (this.showStep1) {\n this.showStep1 = false;\n this.showStep2 = true;\n } else if (this.showStep2) {\n this.showStep2 = false;\n this.showStep3 = true;\n } else if (this.showStep3) {\n this.closeModal();\n }\n }\n\n closeModal() {\n const modal = document.getElementById('setupModal');\n if (modal) {\n modal.style.display = 'none';\n }\n }\n\n backToPreviousStep() {\n if (this.showStep3) {\n this.showStep3 = false;\n this.showStep2 = true;\n } else if (this.showStep2) {\n this.showStep2 = false;\n this.showStep1 = true;\n }\n }\n\n}\n","
\n
\n
Ladestation Inbetriebnahme Assistent
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
Schritt 1
\n
Erstellen von GUID und Passwort
\n
\n
\n
Schritt 2
\n
Standortdaten eingeben
\n
\n
\n
Schritt 3
\n
Zusammenfassung
\n
\n
\n
\n
Vorbereitung:
\n

Damit die Ladestation mit unserer Anwendung kommunizieren kann, müssen folgende Werte in die Ladestation eingetragen werden:

\n \n
\n
\n Backend-URL:\n \n \n
\n
\n
\n
\n Identität:\n \n \n
\n

Die Identität ist nicht zwingend der Name der Ladestation. Dieser kann im weiteren Verlauf dieses Assistenten einzeln vergeben werden.

\n
\n Passwort generieren\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n\n
\n \n
\n

Bitte tragen Sie die oben stehenden Werte an den entsprechenden Stellen in Ihrem Backend der Ladestation ein. Ggf. ist ein Neustart der Ladestation notwendig, damit die neuen Einstellungen aktiviert werden.

\n
\n
\n
\n \n
\n
\n
\n \n Warten auf Antwort der Ladestation\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Schritt 1
\n
Erstellen von GUID und Passwort
\n
\n
\n
Schritt 2
\n
Standortdaten eingeben
\n
\n
\n
Schritt 3
\n
Zusammenfassung
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n Lat:\n \n
\n
\n
\n
\n Lon:\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Schritt 1
\n
Erstellen von GUID und Passwort
\n
\n
\n
Schritt 2
\n
Standortdaten eingeben
\n
\n
\n
Schritt 3
\n
Zusammenfassung
\n
\n
\n
\n

GUID: {{guid}}

\n

Passwort: {{password}}

\n

WSS-URL:{{wssurl}}

\n

Hersteller (ChargePointVendor):

\n

Modell (ChargePointModel):

\n

Verbindungs-Typ (LAN, WLAN, 4G/5G):

\n

Seriennummer:

\n

Meter Typ:

\n

Meter Seriennummer:

\n

Anzahl der Ladepunkte:

\n

Ist ein MID-Zähler vorhanden?

\n

Maximale Ladeleistung:

\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n","import { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { Component, ElementRef, Injector, Input, OnInit, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { Console, debug } from 'console';\nimport { Address } from '../../../../models/address';\nimport { ChargingPower } from '../../../../models/chargingPower';\nimport { Manufacturer } from '../../../../models/manufacturer';\nimport { Model } from '../../../../models/model';\nimport { ToastService } from '../../../../services/toast/toast.service';\n\n\n\n\n@Component({\n selector: 'app-create-charging-station',\n templateUrl: './create-charging-station.component.html',\n styleUrls: ['./create-charging-station.component.css']\n})\nexport class CreateChargingStationComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'CreateChargingStationComponent';\n\n public inviteLink: string;\n public installDate = new Date().toISOString().slice(0, 16);\n\n @Input() customerId: number;\n @Input() public hideSubmit: boolean = false;\n\n public passwordLength: number = 12;\n public includeNumbers: boolean = true;\n public includeSymbols: boolean = false;\n public password: string = '';\n\n chargingPowers: ChargingPower[] = [];\n manufacturers: Manufacturer[] = [];\n models: Model[] = [];\n modelsOfManufacturer: Model[] = [];\n address: Address[] = [];\n constructor(\n public toastService: ToastService,\n\n private chargingStationsService: ChargingStationsService,\n\n injector: Injector\n ) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.generatePassword();\n }\n\n ngAfterViewInit() {\n\n this.chargingStationsService.getChargingPower().subscribe(result => {\n this.chargingPowers = result;\n }, error => { });\n\n this.initModelsAndManufacturers();\n\n this.createForm();\n }\n\n initModelsAndManufacturers() {\n //Get Chargin-Station-Models and sort by Name\n this.chargingStationsService.getModels().subscribe(resultModels => {\n this.models = resultModels.sort((a, b) => a.name.localeCompare(b.name));;\n this.modelsOfManufacturer = this.models;\n\n //Get Manufacturer and InnerJoin with Models\n this.chargingStationsService.getManufacturer().subscribe(resultManufacturer => {\n this.manufacturers = resultManufacturer.filter(manufacturer =>\n this.models.some(model => model.manufacturerId.toString() == manufacturer.id)\n );\n\n //Sort by Name, but CUBOS first\n this.manufacturers.sort((a, b) => {\n if (a.name === \"CUBOS\") return -1;\n if (b.name === \"CUBOS\") return 1;\n return a.name.localeCompare(b.name);\n });\n }, error => { });\n }, error => { });\n }\n\n pwlength(event) {\n this.passwordLength = event.target.value;\n console.log(this.passwordLength);\n }\n\n hasNum(event) {\n this.includeNumbers = event.target.checked;\n console.log(this.includeNumbers);\n }\n\n hasSym(event) {\n this.includeSymbols = event.target.checked;\n console.log(this.includeSymbols);\n }\n\n generatePassword() {\n const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n const numbers = '0123456789';\n const symbols = '!@#$%^&*()_+-=[]{}|;:,.<>?';\n\n let validChars = letters;\n if (this.includeNumbers) {\n validChars += numbers;\n }\n if (this.includeSymbols) {\n validChars += symbols;\n }\n\n let generatedPassword = '';\n for (let i = 0; i < this.passwordLength; i++) {\n const index = Math.floor(Math.random() * validChars.length);\n generatedPassword += validChars[index];\n }\n\n this.password = generatedPassword;\n this.formService.form.controls['key'].setValue(this.password); \n\n }\n\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n location: [],\n address: [Validators.required],\n manufacturerId: [Validators.required],\n modelId: [Validators.required],\n installationDate: [Validators.required],\n connectorSystemsId: [],\n key:[],\n }\n\n \n\n this.formService.form = new UntypedFormGroup({\n name: new UntypedFormControl('', this.formService.validators['name']),\n location: new UntypedFormControl('', this.formService.validators['location']),\n postalCode: new UntypedFormControl('', [Validators.required, Validators.pattern('^[0-9]*$'), Validators.minLength(5)]),\n city: new UntypedFormControl('', this.formService.validators['address']),\n street: new UntypedFormControl('', this.formService.validators['address']),\n houseNumber: new UntypedFormControl('', this.formService.validators['address']),\n manufacturerId: new UntypedFormControl('', this.formService.validators['manufacturerId']),\n modelId: new UntypedFormControl('', this.formService.validators['modelId']),\n connectorSystemsId: new UntypedFormControl('', this.formService.validators['connectorSystemsId']),\n key: new UntypedFormControl(this.password, this.formService.validators['key']),\n });\n }\n\n getModels(manufacturerId) {\n this.modelsOfManufacturer = this.models.filter(x => x.manufacturerId == manufacturerId);\n }\n\n onSubmit(formValue) {\n //super.createEntity(new ChargingStation(formValue));\n }\n\n\n\n modelIdChange(selectedModelId) {\n var modelsById = this.models.filter(x => x.id == selectedModelId)\n if (!modelsById) return;\n\n this.formService.form.patchValue({ manufacturerId: modelsById[0].manufacturerId })\n this.getModels(modelsById[0].manufacturerId);\n }\n\n\n postalCodeInput(event: Event) {\n this.toastService.clear();\n const inputValue = (event.target as HTMLInputElement).value;\n const regexNonDigits: RegExp = /[^0-9]/g;\n\n if (regexNonDigits.test(inputValue)) {\n (event.target as HTMLInputElement).value = inputValue.replace(regexNonDigits, '');\n this.toastService.error(`Eingabefehler bei PLZ: Nur Zahlen und maximal 5 Zeichen erlaubt`, 0, true);\n }\n }\n}\n","
\n \n
\n
\n \n \n\n
\n Name/Bezeichner wird benötigt\n Name/Bezeichner ist nicht gültig\n
\n
\n\n
\n
\n \n \n\n
\n Straße wird benötigt\n
\n
\n
\n \n \n\n
\n Hausnummer wird benötigt\n
\n
\n
\n\n
\n
\n \n \n\n
\n PLZ wird benötigt\n\n Falsche Eingabe\n\n PLZ zu kurz\n
\n
\n
\n \n \n\n
\n Ort wird benötigt\n
\n
\n
\n\n
\n
\n \n \n\n
\n Hersteller wird benötigt\n Hersteller ist nicht gültig\n
\n
\n\n
\n \n \n\n
\n Modell wird benötigt\n Modell ist nicht gültig\n
\n
\n
\n Passwort generieren\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n","import { AbstractEditEntityComponent } from '@abstracts/entities/edit-entity';\nimport { formatDate } from '@angular/common';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { NgbModal, NgbNav, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\nimport { EnableFreeChargeDialogContentComponent } from '@components/dialog/enable-free-charge-dialog-content/enable-free-charge-dialog-content.component';\nimport { EnablePublicChargeDialogContentComponent } from '@components/dialog/enable-public-charge-dialog-content/enable-public-charge-dialog-content.component';\nimport { EnablePrivateChargeDialogContentComponent } from '@components/dialog/enable-private-charge-dialog-content/enable-private-charge-dialog-content.component';\nimport { DiagnosticChargingStationDialogContentComponent } from '@components/dialog/diagnostic-charging-station-dialog/diagnostic-charging-station-dialog-content/diagnostics-charging-station-dialog-content.component';\nimport { PatchChargingStation } from '@dto/httpPatch/patchChargingStation';\nimport { ChargingStation } from '@models/charging-station';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { OperatorsService } from '@services/entity/operators.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { plainToClass } from 'class-transformer';\nimport { latLng, marker, tileLayer, Map, icon } from 'leaflet';\nimport { MapService } from '../../../../services/map/map.service';\nimport { RemoteStartStopDialogContentComponent } from '@components/dialog/remote-start-stop-dialog-content/remote-start-stop-dialog-content.component';\nimport { ToastService } from '@services/toast/toast.service';\nimport Swal from 'sweetalert2';\nimport { Model } from '../../../../models/model';\nimport { Profile } from '../../../../models/profile';\nimport { UpdateDetalisFromOcppResponse } from '@dto/updateDetalisFromOcppResponse';\nimport { QRCodeElementType } from 'angularx-qrcode';\nimport { CustomersService } from '../../../../services/entity/customers.service';\nimport { PatchChargingStationAllowedUsers } from '../../../../dto/httpPatch/patchChargingStationAllowedUsers';\nimport { CustomersTableEntry } from '../../../../dto/customersTableEntry';\nimport { ConnectorSystems } from '../../../../models/connectorSystems';\nimport { ChargingPower } from '../../../../models/chargingPower';\n\n@Component({\n selector: 'app-details-charging-station',\n templateUrl: './details-charging-station.component.html',\n styleUrls: ['./details-charging-station.component.scss'],\n})\nexport class DetailsChargingStationComponent extends AbstractEditEntityComponent implements OnInit {\n\n\n public className = 'DetailsChargingStationComponent';\n public entity: ChargingStation;\n public freeChargeStatus: boolean;\n public publicChargeStatus: boolean;\n public privateChargeStatus: boolean;\n\n public isOperator: boolean = false;\n public isCustomer: boolean = false;\n public isUser: boolean = false;\n public isSupporter: boolean = false;\n public qrCodeUrl: string = '';\n public elementType: QRCodeElementType = \"img\";\n public oldId: number;\n public switchCustomer: boolean = false;\n public currentChargeMode: any;\n private map: Map;\n private modes: string[] = [];\n public updateDetailsResponse: UpdateDetalisFromOcppResponse\n public operator: any;\n public operatorId: string;\n public connectorSystems: ConnectorSystems[] = [];\n public chargingPower: ChargingPower[] = [];\n\n customers: CustomersTableEntry[] = [];\n models: Model[] = [];\n model: Model[] = [];\n profile: Profile;\n options = {\n layers: [\n tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxNativeZoom: 19, maxZoom: 22, attribution: '© OpenStreetMap' })\n ],\n zoom: 15,\n };\n lat: string;\n lon: string;\n changeCustomer: boolean = false;\n oldCsId: number;\n\n @Input() set entityData(data: ChargingStation) {\n this.entity = data;\n console.log(\"this.entity\", this.entity);\n }\n\n constructor(\n private chargingStationsService: ChargingStationsService,\n private transactionService: TransactionsService,\n private customersService: CustomersService,\n private usersService: UsersService,\n private operatorsService: OperatorsService,\n private mapService: MapService,\n private dialog: NgbModal,\n private toastService: ToastService,\n public injector: Injector\n ) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit() {\n this.getRoles();\n this.authenticationService.getLoggedInUserSubject().subscribe(res => {\n this.operatorId = res.id;\n });\n super.ngOnInit();\n\n }\n\n afterInit() {\n this.disableInputs();\n this.chargingStationsService.statusUpdateEventEmitter.subscribe((event) => {\n this.disableInputs();\n });\n if (this.entity.address.latitude != '0' && this.entity.address.longitude != '0') {\n setTimeout(() => { this.loadMap(this.entity.address.latitude, this.entity.address.longitude); }, 200)\n } else {\n this.updateMap();\n }\n window.dispatchEvent(new Event('resize'));\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.isCustomer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.isOperator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.isUser = true;\n }\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n }\n\n getProfile() {\n this.chargingStationsService.getProfile(this.entity.model.profileId).subscribe(result => {\n this.profile = result;\n }, error => { });\n }\n\n disableInputs() {\n if (this.isUser) {\n this.formService.form?.disable();\n }\n if (this.isCustomer) {\n this.formService.form.get('evseId').disable();\n this.formService.form.get('evseIdRight').disable();\n }\n\n if (this.isOperator) {\n this.formService.form.get('installationDate').enable();\n this.formService.form.get('connectorSystem').enable();\n }\n else {\n this.formService.form.get('installationDate').disable();\n this.formService.form.get('connectorSystem').disable();\n }\n this.formService.form.get('chargingstationGroups').disable();\n if (this.entity.chargingPoints[0].statusId != 1) {\n this.formService.form.get('csId').disable();\n }\n\n if (this.isOperator) {\n this.customersService.getCustomer(this.entity.customerId).subscribe(\n cc => {\n this.formService.form.get('customerName').setValue(cc.company);\n }, error => { })\n }\n }\n\n onMapReady(map: Map) {\n this.map = map;\n this.map.invalidateSize();\n window.dispatchEvent(new Event('resize'));\n }\n\n getMoreEntities() {\n if (this.isOperator) {\n this.usersService.getOperatorOfUser(this.operatorId).subscribe(result => {\n this.operator = result;\n }, error => { });\n this.operatorsService.getCustomersTableOfOperator(1).subscribe(result => {\n this.customers = result;\n }, error => {\n this.customers = null;\n })\n this.chargingStationsService.getConnectorSystems().subscribe(result => {\n this.connectorSystems = result;\n //console.log(this.connectorSystems)\n }, error => { });\n this.chargingStationsService.getChargingPower().subscribe(result => {\n this.chargingPower = result;\n //console.log(this.connectorSystems)\n }, error => { });\n };\n\n if (this.entity?.chargingPoints[0].statusId != 1 && this.entity.chargingPoints[0].statusId != 10 && this.entity.chargingPoints[0].statusId != 11) {\n if (!this.isUser) {\n this.chargingStationsService.UpdateDetailsFromOcpp(this.primaryKey.toString()).subscribe(result => {\n this.updateDetailsResponse = result;\n console.log(result)\n }, error => {\n })\n }\n }\n }\n\n async CalculateGPS() { // for calculate coordinates button\n var form = this.formService.form\n const location = `${form.get('street').value} ${form.get('houseNumber').value}, ${form.get('postalCode').value} ${form.get('city').value}`\n this.mapService.getMapPosition(location).subscribe(result => {\n this.lat = result.lat;\n this.lon = result.lon;\n this.loadMap(this.lat, this.lon)\n }, error => {\n console.warn(error)\n this.toastService.warn('Die eingegebene Adresse ist nicht validiert!');\n });\n this.formService.form.get('lat').setValue(this.lat)\n this.formService.form.get('lon').setValue(this.lon)\n this.formService.form.get('lat').markAsDirty()\n this.formService.form.get('lon').markAsDirty()\n }\n\n async updateMap() { //for initialization/after saving\n var form = this.formService.form\n const location = `${form.get('street').value} ${form.get('houseNumber').value}, ${form.get('postalCode').value} ${form.get('city').value}`\n this.mapService.getMapPosition(location).subscribe(result => {\n if (this.entity.address?.latitude != \"0\" && this.entity.address?.longitude != \"0\") {\n this.lat = this.entity.address?.latitude\n this.lon = this.entity.address?.longitude\n this.loadMap(this.lat, this.lon)\n } else {\n this.CalculateGPS();\n this.entity.address.latitude = result.lat;\n this.entity.address.longitude = result.lon;\n this.lat = result.lat;\n this.lon = result.lon;\n form.controls['lat'].setValue(result.lat);\n form.controls['lon'].setValue(result.lon);\n this.loadMap(this.lat, this.lon)\n }\n\n }, error => {\n console.warn(error)\n this.toastService.warn('Die eingegebene Adresse ist nicht validiert!');\n });\n }\n\n loadMap(lat: string, lon: string) {\n this.map.setView(latLng(parseFloat(lat), parseFloat(lon)));\n const newMarker = marker(\n [parseFloat(lat), parseFloat(lon)],\n {\n icon: icon({\n iconSize: [25, 41],\n iconAnchor: [13, 41],\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/images/marker-shadow.png'\n })\n }\n );\n this.map.addLayer(newMarker);\n this.map.invalidateSize();\n window.dispatchEvent(new Event('resize'));\n }\n\n initializeEntity(entity) {\n this.entity = plainToClass(ChargingStation, entity);\n this.getModus();\n this.qrCodeUrl = `${window.location.origin}/pc?cs=${this.entity.id}`\n this.oldId = this.entity.customerId;\n this.getMoreEntities();\n }\n\n getModus() {\n this.freeChargeStatus = this.entity.isFreeCharge;\n this.privateChargeStatus = this.entity.isPrivateCharge;\n this.publicChargeStatus = this.entity.isPublicCharge;\n this.modes = [];\n if (this.freeChargeStatus) {\n this.modes.push('free');\n this.currentChargeMode = 'free';\n }\n if (this.privateChargeStatus) {\n this.modes.push('authorize');\n this.currentChargeMode = 'authorize';\n }\n if (this.publicChargeStatus) {\n this.modes.push('public');\n this.currentChargeMode = 'public'\n }\n }\n\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n address: [Validators.required],\n manufacturer: [Validators.required],\n modelId: [],\n installationDate: [Validators.required],\n connectorSystem: [],\n chargingPower: [],\n cableLength: [],\n localIP: [],\n key: [],\n };\n\n // Angepasster evseIdValidator, der null und leere Werte zulässt\n const evseIdValidator = (control: UntypedFormControl) => {\n const value = control.value;\n if (value === null || value.trim() === \"\") {\n return null; // null und leere Werte sind gültig\n }\n const evseIdPattern = /^[Dd][Ee]\\*?[Cc][Uu][Bb]\\*?[Ee][A-Za-z0-9]{1,20}$/;\n return evseIdPattern.test(value) ? null : { invalidEvseId: true };\n };\n\n // Angepasster uniqueEvseIdValidator, der null und leere Werte ignoriert\n const uniqueEvseIdValidator: ValidatorFn = (formArray: AbstractControl) => {\n const evseIds = formArray.value\n .map((item: { evseId: string | null | undefined }) => item.evseId)\n .filter(evseId => evseId !== null && evseId !== undefined && evseId.trim() !== \"\");\n\n const duplicates = evseIds.filter((item, index) => evseIds.indexOf(item) !== index);\n\n // Markiere einzelne Felder\n const controls = (formArray as UntypedFormArray).controls;\n controls.forEach(control => {\n const evseId = control.get('evseId')?.value;\n if (duplicates.includes(evseId)) {\n control.get('evseId')?.setErrors({ duplicateEvseId: true });\n } else {\n const errors = control.get('evseId')?.errors;\n if (errors) {\n delete errors.duplicateEvseId;\n if (Object.keys(errors).length === 0) {\n control.get('evseId')?.setErrors(null);\n }\n }\n }\n });\n\n return duplicates.length > 0 ? { duplicateEvseId: true } : null;\n };\n\n\n console.log(\"this.entity.chargingPoints\", this.entity.chargingPoints);\n // EvseId: FormArray für dynamische chargingPoints erstellen\n const chargingPointsArray = new UntypedFormArray(\n this.entity.chargingPoints.map(point => new UntypedFormGroup({\n evseId: new UntypedFormControl(point.evseId, [evseIdValidator]),\n publicKey: new UntypedFormControl(point.publicKey)\n })), uniqueEvseIdValidator);\n\n console.log(\"chargingPointsArray\", chargingPointsArray);\n\n this.formService.form = new UntypedFormGroup({\n name: new UntypedFormControl(this.entity.name, this.formService.validators['name']),\n customer: new UntypedFormControl(this.entity.customerId),\n customerName: new UntypedFormControl(''),\n chargingstationGroups: new UntypedFormControl(this.entity.chargingstationGroupsDto),\n postalCode: new UntypedFormControl(this.entity.address?.postalCode, this.formService.validators['address']),\n city: new UntypedFormControl(this.entity.address?.city, this.formService.validators['address']),\n street: new UntypedFormControl(this.entity.address?.street, this.formService.validators['address']),\n houseNumber: new UntypedFormControl(this.entity.address?.houseNumber, this.formService.validators['address']),\n lat: new UntypedFormControl(this.entity.address?.latitude, this.formService.validators['address']),\n lon: new UntypedFormControl(this.entity.address?.longitude, this.formService.validators['address']),\n manufacturer: new UntypedFormControl(this.entity.manufacturer?.id, this.formService.validators['manufacturer']),\n modelId: new UntypedFormControl(this.entity.model?.id, this.formService.validators['modelId']),\n isErk: new UntypedFormControl(this.entity.model?.profile?.isErk),\n installationDate: new UntypedFormControl(\n formatDate(this.entity.installationDate, 'yyyy-MM-dd', 'de-DE'),\n this.formService.validators['installationDate']\n ),\n connectorSystem: new UntypedFormControl(this.entity.connectorSystems?.id, this.formService.validators['connectorSystem']),\n chargingPowerId: new UntypedFormControl(this.entity.chargingPower?.id, this.formService.validators['chargingPower']),\n chargingPower: new UntypedFormControl(this.entity.chargingPowerName, this.formService.validators['chargingPower']),\n cableLength: new UntypedFormControl(this.entity.cableLength, this.formService.validators['cableLength']),\n localIP: new UntypedFormControl(this.entity.localIP, this.formService.validators['localIP']),\n key: new UntypedFormControl(this.entity.key, this.formService.validators['key']),\n chargeMode: new UntypedFormControl(this.currentChargeMode),\n chargingProfile: new UntypedFormControl(''),\n chargingPoints: chargingPointsArray, // FormArray für die dynamischen chargingPoints\n csId: new UntypedFormControl(this.entity.csId),\n ticket: new UntypedFormControl(\"Placeholder\")\n });\n\n\n this.formService.formCreated = true;\n\n // Bedingungen zum Aktivieren/Deaktivieren von Feldern\n if (this.isUser) {\n this.formService.form?.disable();\n }\n if (this.isCustomer) {\n this.formService.form.get('chargingPoints').disable(); // Deaktiviert FormArray für den Kunden\n }\n\n if (this.isOperator) {\n this.formService.form.get('installationDate').enable();\n this.formService.form.get('connectorSystem').enable();\n }\n else {\n this.formService.form.get('installationDate').disable();\n this.formService.form.get('connectorSystem').disable();\n }\n this.formService.form.get('chargingstationGroups').disable();\n\n if (this.entity.chargingPoints[0].statusId != 1) {\n this.formService.form.get('csId').disable();\n }\n\n if (this.isOperator) {\n this.customersService.getCustomer(this.entity.customerId).subscribe(\n cc => {\n this.formService.form.get('customerName').setValue(cc.name);\n }, error => { });\n }\n\n if (this.isSupporter) {\n this.formService.form.disable();\n }\n }\n\n\n switchUser() {\n !this.switchCustomer ? this.switchCustomer = true : this.switchCustomer = false;\n }\n\n onSubmit(formValue) {\n if (this.formService.form.invalid) {\n this.toastService.error('Bitte füllen Sie alle Pflichtfelder aus.')\n this.formService.form.markAllAsTouched()\n return\n }\n const patchChargingStation: PatchChargingStation = {\n name: formValue.name,\n customerId: formValue.customer,\n postalCode: formValue.postalCode,\n city: formValue.city,\n street: formValue.street,\n houseNumber: formValue.houseNumber,\n lat: formValue.lat,\n lon: formValue.lon,\n manufacturerId: formValue.manufacturer,\n modelId: formValue.modelId,\n installationDate: formValue.installationDate,\n connectorSystemsId: formValue.connectorSystem,\n chargingPowerId: formValue.chargingPowerId,\n cableLength: formValue.cableLength,\n chargingPoints: formValue.chargingPoints.map((point, i) => ({\n // include all previous parameters to be able to map in the backend\n ...this.entity.chargingPoints[i],\n // overwrite evseId and publicKey with form values\n evseId: point.evseId,\n publicKey: point.publicKey\n })),\n csId: formValue.csId\n }\n if (this.changeCustomer) {\n patchChargingStation.installationDate = new Date();\n }\n this.oldCsId = this.entity.customerId;\n this.chargingStationsService.patchEntity(this.entity.id, patchChargingStation).subscribe(result => {\n this.toastService.success('Änderungen erfolgreich gespeichert.');\n this.entity = plainToClass(ChargingStation, result);\n this.entityLoadedEvent.emit(this.entity);\n this.updateMap();\n if (this.changeCustomer) {\n this.deauthorize();\n this.customersService.getCustomer(this.oldCsId).subscribe(\n ccustomer => {\n if (ccustomer.name == 'CUBOS-Pool') {\n this.transactionService.deleteTransactionsOfChargingStation(this.entity.id).subscribe(result => {\n this.toastService.success('Testladevorgänge wurden gelöscht.');\n }, error => {\n })\n }\n }, error => {\n console.error('no production account')\n })\n }\n this.formService.form.markAsPristine();\n }, error => {\n\n switch (error.Message) {\n case 'CsId could not be in Guid format!':\n this.toastService.error('CsId darf nicht in Guid Format sein!');\n break;\n case 'Same CsId already exists!':\n this.toastService.error('Die angegebene CsId existiert bereits in der Datenbank. Bitte geben Sie eine eindeutige CsId an.');\n break;\n // case 'unvalid address':\n // this.toastService.error('Die eingegebene Adresse ist nicht validiert!');\n // break;\n default:\n this.toastService.error('Die Änderungen konnten nicht gespeichert werden');\n if (error.message) {\n this.toastService.error(error.message);\n }\n break;\n }\n });\n }\n\n updateAddress() {\n var id = this.formService.form.get('customer').value;\n this.customersService.getMasterUserOfCustomer(id).subscribe(address => {\n if (address == null) {\n this.toastService.error(\"Fehler: Der ausgewählte Customer besitzt keinen MasterUser.\")\n this.formService.form.get('customer').setValue(this.oldId);\n this.formService.form.get('street').setValue(this.entity.address.street);\n this.formService.form.get('postalCode').setValue(this.entity.address.postalCode);\n this.formService.form.get('city').setValue(this.entity.address.city);\n this.formService.form.get('houseNumber').setValue(this.entity.address.houseNumber);\n this.changeCustomer = false;\n return;\n }\n\n Swal.fire({\n title: $localize`:@@ChangeDialogSaveSuccessHeader:Besitzer wirklich wechseln?`,\n icon: 'question',\n text: 'Beim Besitzerwechsel werden alle Authorisierungen gelöscht. Fortfahren?',\n showDenyButton: true,\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n denyButtonText: 'Abbrechen',\n denyButtonColor: 'primary',\n confirmButtonColor: 'primary'\n }).then((result) => {\n if (result.isConfirmed) {\n Swal.fire({\n title: 'Neue Adresse speichern?',\n text: 'Möchten Sie auch die Adresse des neuen Besitzers für diese Ladestation übernehmen?',\n showDenyButton: true,\n confirmButtonText: 'Ja',\n denyButtonText: 'Nein',\n denyButtonColor: 'primary',\n confirmButtonColor: 'primary'\n }).then((result) => {\n if (result.isConfirmed) {\n this.formService.form.get('street').setValue(address.street);\n this.formService.form.get('postalCode').setValue(address.postcode);\n this.formService.form.get('city').setValue(address.city);\n this.formService.form.get('houseNumber').setValue(address.houseNumber);\n this.updateMap();\n this.CalculateGPS();\n Swal.fire({\n title: 'Besitzer und Adresse wurden geändert und gespeichert.',\n text: '',\n icon: 'info'\n })\n } else if (result.isDenied) {\n Swal.fire({\n title: 'Besitzer wurde geändert und gespeichert.',\n text: '',\n icon: 'info'\n })\n this.formService.form.get('street').setValue(this.entity.address.street);\n this.formService.form.get('postalCode').setValue(this.entity.address.postalCode);\n this.formService.form.get('city').setValue(this.entity.address.city);\n this.formService.form.get('houseNumber').setValue(this.entity.address.houseNumber);\n }\n this.onSubmit(this.formService.form.value);\n })\n this.CalculateGPS();\n this.changeCustomer = true;\n } else if (result.isDenied) {\n Swal.fire('Besitzerwechsel wurde abgebrochen', '', 'info')\n this.formService.form.get('customer').setValue(this.oldId);\n this.formService.form.get('street').setValue(this.entity.address.street);\n this.formService.form.get('postalCode').setValue(this.entity.address.postalCode);\n this.formService.form.get('city').setValue(this.entity.address.city);\n this.formService.form.get('houseNumber').setValue(this.entity.address.houseNumber);\n this.changeCustomer = false;\n }\n });\n }, error => { });\n }\n\n deauthorize() {\n const patch: PatchChargingStationAllowedUsers = {\n userIds: []\n };\n this.chargingStationsService.patchEntityWithEndpoint(this.entity.getPrimaryKey(), 'allowedUsers', patch).subscribe(result => {\n this.synchronWhitelistNow();\n }, error => {\n this.toastService.error('Autorisierungen konnten nicht entfernt werden.')\n });\n }\n\n synchronWhitelistNow() {\n this.chargingStationsService.updateChargingStationWhitelist(this.entity.getPrimaryKey()).subscribe(result => {\n this.toastService.info('Autorisierungen wurden entfernt.');\n }, error => {\n this.toastService.error('Autorisierung fehlgeschlagen.')\n });\n }\n\n openPrivateChargeDialog(mode: string) {\n const dialogRef = this.dialog.open(EnablePrivateChargeDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.chargingStation = this.entity;\n dialogRef.componentInstance.mode = mode;\n dialogRef.componentInstance.currentStatus = this.privateChargeStatus;\n\n dialogRef.result.then((result) => {\n }, (backdrop) => {\n });\n }\n\n openPublicChargeDialog(mode: string) {\n const dialogRef = this.dialog.open(EnablePublicChargeDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.chargingStation = this.entity;\n dialogRef.componentInstance.mode = mode;\n dialogRef.componentInstance.currentStatus = this.publicChargeStatus;\n\n dialogRef.result.then((result) => {\n }, (backdrop) => {\n });\n }\n\n openChangeFreeChargeDialog() {\n const dialogRef = this.dialog.open(EnableFreeChargeDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.chargingStation = this.entity;\n dialogRef.componentInstance.currentStatus = this.freeChargeStatus;\n\n dialogRef.result.then((result) => {\n if (result.state == 'failure') {\n this.getModus();\n }\n dialogRef.close();\n });\n }\n\n openRemoteStartStopDialog(start: boolean, connector?: number) {\n const dialogRef = this.dialog.open(RemoteStartStopDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.start = start;\n dialogRef.componentInstance.chargingPointConnectorId = connector;\n dialogRef.componentInstance.chargingStation = this.entity;\n\n dialogRef.result.then((result) => {\n dialogRef.close();\n });\n }\n\n openDiagnosticsDialog(): void {\n const dialogRef = this.dialog.open(DiagnosticChargingStationDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.entity = this.entity;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n copysuccess() {\n this.toastService.success('Wert wurde in die Zwischenablage kopiert.');\n }\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@ChangeDialogSaveSuccessHeader:Einstellungen wurden gespeichert!`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n }).then((result) => {\n this.createForm();\n });\n }\n\n getModel(manufacturerId) {\n this.model = this.models.filter(x => x.manufacturerId == manufacturerId);\n }\n\n\n openLocalIPLink() {\n var localIP = 'http://' + this.entity.localIP;\n window.open(localIP, '_blank');\n }\n\n openMapLink() {\n var mapLink = 'https://www.google.de/maps/place/' + this.entity.location;\n window.open(mapLink, '_blank');\n }\n\n openLatLonLink() {\n var latLink = 'https://www.google.com/maps/search/?api=1&query=' + this.entity.address?.latitude + ',' + this.entity.address?.longitude;\n window.open(latLink, '_blank');\n }\n\n downloadQrCode(parent: any) {\n let parentElement = null\n\n if (this.elementType === \"canvas\") {\n // fetches base 64 data from canvas\n parentElement = parent.qrcElement.nativeElement\n .querySelector(\"canvas\")\n .toDataURL(\"image/png\")\n } else if (this.elementType === \"img\" || this.elementType === \"url\") {\n // fetches base 64 data from image\n // parentElement contains the base64 encoded image src\n // you might use to store somewhere\n parentElement = parent.qrcElement.nativeElement.querySelector(\"img\").src\n } else {\n alert(\"Set elementType to 'canvas', 'img' or 'url'.\")\n }\n\n if (parentElement) {\n // converts base 64 encoded image to blobData\n let blobData = this.convertBase64ToBlob(parentElement)\n // saves as image\n const blob = new Blob([blobData], { type: \"image/png\" })\n const url = window.URL.createObjectURL(blob)\n const link = document.createElement(\"a\")\n link.href = url\n // name of the file\n link.download = \"QR-Code\"\n link.click()\n }\n }\n\n private convertBase64ToBlob(Base64Image: string) {\n // split into two parts\n const parts = Base64Image.split(\";base64,\")\n // hold the content type\n const imageType = parts[0].split(\":\")[1]\n // decode base64 string\n const decodedData = window.atob(parts[1])\n // create unit8array of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // insert all character code into uint8array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n // return blob image after conversion\n return new Blob([uInt8Array], { type: imageType })\n }\n\n changeMode(mode: string) {\n if (mode != null && mode != this.currentChargeMode) {\n switch (mode) {\n case 'free':\n this.openChangeFreeChargeDialog();\n break;\n case 'authorize':\n this.openPrivateChargeDialog('');\n break;\n case 'public':\n this.openPublicChargeDialog('');\n }\n }\n }\n\n public selectedChargingPointIndex: number = null;\n setSelectedChargingPointIndex(index: number) {\n this.selectedChargingPointIndex = index;\n }\n\n setEvseId(evseId: string): void {\n if (evseId.indexOf('DECUB') < 0) {\n const error = `${evseId} ist keine gültige EVSE ID von CUBOS.`;\n console.error(error)\n this.toastService.error(error);\n return;\n }\n const chargingPointsArray = this.formService.form.get('chargingPoints') as UntypedFormArray;\n\n if (\n this.selectedChargingPointIndex !== null &&\n this.selectedChargingPointIndex !== undefined &&\n this.selectedChargingPointIndex >= 0 &&\n this.selectedChargingPointIndex < chargingPointsArray.length\n ) {\n const chargingPointGroup = chargingPointsArray.at(this.selectedChargingPointIndex) as UntypedFormGroup;\n\n if (chargingPointGroup) {\n chargingPointGroup.get('evseId')?.setValue(evseId);\n let point = '';\n if (chargingPointsArray.length > 1) point = `${this.selectedChargingPointIndex + 1}. `;\n point += 'Ladepunkt';\n this.toastService.success(`${evseId} ist als EVSE ID für den ${point} eingetragen.`);\n } else {\n console.error('Charging point group not found at index:', this.selectedChargingPointIndex);\n }\n } else {\n console.error('Invalid index for selectedChargingPointIndex:', this.selectedChargingPointIndex);\n }\n }\n}\n","\n\n
\n \n\n \n\n

\n \n Keine gültige EVSE ID von CUBOS\n \n = 0\">\n Gültige EVSE ID von CUBOS\n \n

\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Adresse
\n
\n
\n \n \n
\n Straße wird benötigt\n
\n
\n
\n \n \n
\n Hausnummer wird benötigt\n
\n
\n
\n \n \n
\n Postleitzahl wird benötigt\n
\n
\n
\n \n
\n \n \n \n\n \n
\n
\n Ort wird benötigt\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n \n \n
\n
\n
\n GPS-Koordinaten werden benötigt\n
\n
\n
\n
\n
\n\n\n
    \n
  • \n Allgemein\n\n \n\n
    \n \n \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n\n \n \n \n\n
    \n
    \n
  • \n
  • \n Ladepunkte\n \n \n
      \n
    • \n {{i + 1}}\n \n \n
      \n
      \n \n
      \n
      \n \n\n
      \n \n Ungültige Evse-Id\n \n \n Doppelte Evse-Id\n \n
      \n \n \n
      \n \n\n
      \n
      \n \n \n
      \n\n
      \n\n
      \n \n
      \n
      \n \n
      \n
      \n\n\n
      \n
    • \n
    \n
    \n
    \n\n
  • \n\n
  • \n Erweitert\n\n \n
    \n \n
    \n \n \n
    \n\n \n
    \n \n \n
    \n \n
    \n \n \n \n \n
    \n\n\n \n\n\n\n \n
    \n \n
    \n
    \n
    \n
  • \n\n
  • \n Herstellerangaben\n\n \n
    \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n\n \n \n \n \n
    \n
    \n
  • \n
\n\n
\n
\n
\n
\n\n\n Startet den Ladevorgang, wenn oder sobald verbunden.\n \n Ermöglicht das Laden eines aktuell verbundenen Fahrzeugs.
Hinweis: Die kWh\n können nicht in Rechnung gestellt werden.\n
\n
\n\n\n Beendet den aktuellen Ladevorgang.\n\n\n\n \n Die Ladestation ist nicht registriert.\n \n \n Der Ladepunkt ist nicht bereit.\n \n \n Der Ladepunkt beendet den aktuellen Ladevorgang.\n \n \n Der Ladepunkt ist reserviert.\n \n \n Der Ladevorgang wurde vom Fahrzeug angehalten.\n \n \n Der Ladevorgang ist angehalten.\n \n \n Der Ladepunkt ist nicht verfügbar.\n \n \n Die Ladestation hat keine Verbindung.\n \n","import { Component, Injector, OnInit } from '@angular/core';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { UserDto } from '@dto/userDto';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { DatePipe } from '@angular/common';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { CreditStatementsService } from '@services/entity/credit-statements.service';\nimport { CreditStatementTableData } from '@dto/creditStatementTableData';\nimport { ToastService } from '@services/toast/toast.service';\nimport { FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'credit-statements',\n templateUrl: './credit-statements.component.html',\n styleUrls: ['./credit-statements.component.scss'],\n})\nexport class CreditStatementsComponent implements OnInit {\n\n public className = 'CreditStatementsComponent'\n\n public user: UserDto\n public users: UserDto[]\n public selectedUser: UserDto\n\n public isOperator: boolean = false\n public isCustomer: boolean = false\n public isUser: boolean = false\n\n public form: FormGroup;\n public isFormReady: boolean = false;\n public customerId: number\n public scheduledCreditDate: Date\n public creditStatements: CreditStatementTableData[] = []\n\n constructor(\n public tableFunctions: TableFunctionsService,\n public router: Router,\n public datePipe: DatePipe,\n public activatedRoute: ActivatedRoute,\n public transactionsService: TransactionsService,\n public usersService: UsersService,\n public creditStatementsService: CreditStatementsService,\n public customersService: CustomersService,\n public pricingsService: PricingsService,\n public invoicesService: InvoicesService,\n public authenticationService: AuthenticationService,\n public stripeInfosService: StripeInfosService,\n public toastService: ToastService,\n injector: Injector\n ) {\n this.router = injector.get(Router);\n }\n\n ngOnInit(): void {\n const customerId = localStorage.getItem('customerId')\n if (customerId) this.customerId = parseInt(customerId)\n\n this.getRoles()\n this.setScheduledCreditDate()\n this.getCreditStatements()\n this.getUsers()\n this.createForm()\n }\n\n setScheduledCreditDate(): void {\n const now = new Date()\n let date: number = Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0)\n\n if (now.getDate() > 2) {\n date = Date.UTC(now.getFullYear(), now.getMonth() + 1, now.getDate(), 0, 0, 0, 0)\n }\n\n this.scheduledCreditDate = new Date(date)\n }\n\n async getCreditStatements() {\n this.creditStatementsService.getCreditStatementsAsTableData().subscribe(creditStatements => {\n this.creditStatements = creditStatements\n }, error => console.error(error))\n }\n \n async download(creditStatement: CreditStatementTableData) {\n this.toastService.loading('Gutschriftsbeleg wird heruntergeladen...')\n this.creditStatementsService.downloadCreditStatement(creditStatement.id).subscribe((response: any) => {\n const file = new Blob([response], { type: 'application/pdf' });\n const fileUrl = URL.createObjectURL(file);\n const fileName = `${creditStatement.documentNumber}.pdf`\n\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = fileName;\n a.click();\n\n window.URL.revokeObjectURL(fileUrl);\n this.toastService.success('Gutschriftsbeleg erfolgreich heruntergeladen.', 0, true)\n },\n error => {\n console.error(error);\n this.toastService.error(`Gutschriftsbeleg konnte nicht heruntergeladen werden.`, 0, true)\n })\n }\n\n async getUsers() {\n if (!this.customerId) return;\n\n if (this.isOperator) {\n // Todo: Receive customer id from input or something\n this.users = await this.usersService.getUsersOfCustomerAsync(this.customerId);\n } else {\n this.users = await this.usersService.getUsersOfCurrentCustomerAsync();\n }\n }\n\n createForm() {\n this.form = new FormGroup({\n company: new FormControl(),\n ceo: new FormControl(),\n street: new FormControl(),\n houseNumber: new FormControl(),\n });\n\n this.isFormReady = true;\n this.loadRecipient()\n }\n\n loadRecipient() {\n if (!this.selectedUser) return;\n\n this.form.setValue({\n company: this.selectedUser.company,\n ceo: this.selectedUser.fullName,\n street: this.selectedUser.street,\n houseNumber: this.selectedUser.houseNumber,\n })\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n }\n}","
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DokumentnummerAusgestellt amBetrag
{{ creditStatement.documentNumber }}{{ creditStatement.createdAt | dateDE }}{{ creditStatement.total | currency:'EUR' }}\n \n
\n
\n Keine Einträge vorhanden.\n
\n
\n\n
\n \n \n \n\n
Empfänger
\n
\n \n \n \n \n
\n \n \n
\n
\n
\n
","import { Component, ElementRef, EventEmitter, Inject, Injector, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { UsersService } from '@services/entity/users.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { User } from '@models/identity/user';\nimport { SendInviteRequest } from '@dto/sendInviteRequest';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { DOCUMENT, NgIf } from '@angular/common';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { StripeInfo } from '@models/stripeInfo';\n\n@Component({\n selector: 'app-create-customer',\n templateUrl: './create-customer.component.html',\n styleUrls: ['./create-customer.component.scss']\n})\nexport class CreateCustomerComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'CreateCustomerComponent';\n\n @Input() customerId: number;\n\n @Output() newCustomerEvent = new EventEmitter();\n\n public inviteLink: string;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private usersService: UsersService,\n private customersService: CustomersService,\n private stripeInfosService: StripeInfosService,\n private spinner: NgxSpinnerService,\n injector: Injector) {\n super(usersService, injector);\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n email: new UntypedFormControl('', [Validators.required, Validators.email]),\n firstName: new UntypedFormControl('', [Validators.pattern('^[\\u00C0-\\u017Fa-zA-Z0-9]+(?:[\\\\s-][\\u00C0-\\u017Fa-zA-Z0-9]+)*$')]),\n lastName: new UntypedFormControl('', [Validators.required, Validators.pattern('^[\\u00C0-\\u017Fa-zA-Z0-9]+(?:[\\\\s-][\\u00C0-\\u017Fa-zA-Z0-9]+)*$')]),\n });\n }\n\n onSubmit(formValue) {\n this.spinner.show();\n\n var user = new User(formValue);\n\n if (this.customerId) {\n this.usersService.createUserForCustomer(this.customerId, user).subscribe(data => {\n this.sendInviteEmail(user);\n }, error => {\n this.messageService.setError(error);\n this.spinner.hide();\n });\n } else {\n this.usersService.createUserForCurrentCustomer(user).subscribe(data => {\n this.sendInviteEmail(user);\n }, error => {\n this.messageService.setError(error);\n this.spinner.hide();\n });\n }\n }\n\n sendInviteEmail(user: User) {\n const sendInviteRequest: SendInviteRequest = {\n email: user.email,\n firstName: user.firstName,\n lastName: user.lastName,\n clientURI: this.baseUrl + 'auth/register',\n invitingCustomerId: this.customerId ? this.customerId : 0\n }\n\n this.authenticationService.sendInvite(sendInviteRequest).subscribe(result => {\n this.inviteLink = result.inviteLink;\n var input: HTMLInputElement = document.getElementById('inviteLink');\n input.value = result.inviteLink;\n this.spinner.hide();\n this.newCustomerEvent.emit(user);\n }, error => {\n this.spinner.hide();\n })\n }\n\n copyInviteLink() {\n var input: HTMLInputElement = document.getElementById('inviteLink');\n input.select();\n document.execCommand('copy');\n }\n}\n","\n\n
\n
\n
\n\n
\n \n \n\n
\n Falsche Eingabe\n
\n
\n\n
\n \n \n\n
\n Nachname wird benötigt\n Falsche Eingabe\n
\n
\n\n
\n \n \n\n
\n E-Mail ist nicht gültig\n E-Mail wird benötigt\n
\n
\n\n
\n \n
\n \n \n
\n Der generierte Link ist zur Weitergabe an den Benutzer\n vorgesehen.\n Mit diesem Link kann sich der Benutzer registrieren und wird automatisch ihrer Benutzerübersicht\n zugeordnet. Sie können diesen Link selbst kopieren und an den Empfänger versenden oder Sie nutzen\n die interne Versandfunktion.\n
\n
\n
\n\n
\n
*Pflichtfelder
\n
\n
\n","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, Inject, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { CustomerDto } from '@dto/customerDto';\nimport { MasterUserOfCustomer } from '@dto/masterUserOfCustomer';\nimport { UserDto } from '@dto/userDto';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport Swal from 'sweetalert2';\nimport { CustomerNoteDto } from '../../../../dto/customerNoteDto';\nimport { PatchCustomerNote } from '../../../../dto/httpPatch/patchCustomerNote';\nimport { CustomerNote } from '../../../../models/customerNote';\n\n@Component({\n selector: 'app-customer-history',\n templateUrl: './customer-history.component.html',\n styleUrls: ['./customer-history.component.scss']\n})\nexport class CustomerHistoryComponent extends ComponentBase implements OnInit {\n\n public className = 'CustomerHistoryComponent';\n\n private customerId: number;\n\n public customer: CustomerDto;\n public customerNotes: CustomerNoteDto[];\n public customerNotesFiltered: CustomerNoteDto[];\n public masterUser: MasterUserOfCustomer;\n\n public formCreated: boolean;\n\n private editingEnabledNote: CustomerNoteDto;\n public editForm: UntypedFormGroup;\n\n public searchTerm: string;\n\n constructor(\n private customersService: CustomersService,\n private usersService: UsersService,\n public formService: FormService,\n public activatedRoute: ActivatedRoute,\n injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.componentSettings.footerVisible = false;\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n this.loadData();\n }\n\n loadData() {\n this.loadCustomer();\n this.loadNotes();\n this.loadMasterUser();\n }\n\n loadCustomer() {\n this.customersService.getCustomer(this.customerId).subscribe(result => {\n this.customer = result;\n this.checkIfAllDataLoaded();\n })\n }\n\n loadNotes() {\n this.customersService.getCustomerNotes(this.customerId).subscribe(result => {\n this.customerNotes = result;\n this.customerNotesFiltered = result;\n this.customerNotesFiltered = this.customerNotesFiltered.reverse();\n this.search();\n this.checkIfAllDataLoaded();\n })\n }\n\n loadMasterUser() {\n this.customersService.getMasterUserOfCustomer(this.customerId).subscribe(result => {\n this.masterUser = result;\n this.masterUser[\"genderDisplay\"] = this.mapGender();\n this.checkIfAllDataLoaded();\n })\n }\n\n checkIfAllDataLoaded() {\n if (this.customerNotesFiltered && this.masterUser) {\n this.createForm();\n }\n }\n\n createForm() {\n this.formService.validators = {\n subject: [Validators.required],\n content: [Validators.required],\n author: [Validators.required]\n }\n\n this.formService.form = new UntypedFormGroup({\n subject: new UntypedFormControl('', this.formService.validators['subject']),\n content: new UntypedFormControl('', this.formService.validators['content']),\n author: new UntypedFormControl('', this.formService.validators['author'])\n });\n\n this.editForm = new UntypedFormGroup({\n subject: new UntypedFormControl('', Validators.required),\n content: new UntypedFormControl('', Validators.required)\n });\n\n this.formCreated = true;\n }\n\n saveNote() {\n var formValue = this.formService.form.value;\n\n const customerNote = new CustomerNote(formValue);\n\n this.customersService.createCustomerNote(this.customerId, customerNote).subscribe(result => {\n this.clearInput();\n this.loadNotes();\n })\n }\n\n onEditSubmit(formValue) {\n const patchCustomerNote: PatchCustomerNote = {\n subject: formValue.subject,\n content: formValue.content\n }\n\n this.customersService.patchCustomerNote(this.customerId, this.editingEnabledNote.id, patchCustomerNote).subscribe(result => {\n this.editingEnabledNote = null;\n this.loadNotes();\n }, error => { });\n }\n\n deleteNote(note: CustomerNoteDto) {\n this.customersService.deleteCustomerNote(note.id).subscribe(result => {\n this.loadNotes();\n })\n }\n\n editNote(note: CustomerNoteDto) {\n if (this.isEditingEnabled(note)) {\n this.editingEnabledNote = null;\n this.editForm.get('subject').setValue('');\n this.editForm.get('content').setValue('');\n }\n else {\n this.editingEnabledNote = note;\n this.editForm.get('subject').setValue(note.subject);\n this.editForm.get('content').setValue(note.content);\n }\n }\n\n isEditingEnabled(note: CustomerNoteDto) {\n return this.editingEnabledNote?.id == note.id;\n }\n\n cancelEdit() {\n this.editingEnabledNote = null;\n this.editForm.get('subject').setValue('');\n this.editForm.get('content').setValue('');\n }\n\n showConfirmDeleteDialog(note: CustomerNoteDto) {\n Swal.fire({\n title: 'Kundennotiz löschen?',\n text: 'Wollen Sie die Kundennotiz wirklich löschen?',\n icon: 'question',\n confirmButtonText: 'Bestätigen',\n confirmButtonColor: '#34383a',\n showCancelButton: true,\n cancelButtonText: 'Abbrechen',\n cancelButtonColor: 'red'\n }).then((result) => {\n if (result.isConfirmed) {\n this.deleteNote(note);\n }\n })\n }\n\n search() {\n if (!this.searchTerm || this.searchTerm == '') {\n this.customerNotesFiltered = this.customerNotes;\n return;\n }\n\n this.customerNotesFiltered = this.customerNotes.filter(x =>\n x.subject.toLowerCase().includes(this.searchTerm?.toLowerCase()) ||\n x.content.toLowerCase().includes(this.searchTerm?.toLowerCase()) ||\n x.author.toLowerCase().includes(this.searchTerm?.toLowerCase())\n );\n }\n\n clearInput() {\n this.formService.form.reset();\n }\n\n mapGender() {\n switch (this.masterUser?.gender) {\n case \"male\":\n return \"Herr\";\n case \"female\":\n return \"Frau\";\n }\n }\n}\n","
\n
\n
Neue Kundennotiz
\n
\n
\n \n \n
\n Betreff wird benötigt\n
\n
\n
\n \n \n
\n Nachricht wird benötigt\n
\n
\n
\n \n \n
\n Ersteller wird benötigt\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n Verlaufsübersicht\n
\n
\n \n \n
\n Keine Notizen vorhanden.\n
\n
\n
\n
{{ note.subject }}
\n {{ note.timestamp | dateDE }}\n
\n\n
\n
\n
\n \n
\n
\n \n
\n \n \n
\n
\n\n
\n
\n

{{ note.content }}

\n
\n \n \n
\n\n Ersteller: {{ note.author }}\n
\n
\n
\n\n
\n
Kundeninformationen
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n","import { AfterViewInit, Component, Injector, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { Customer } from '@models/customer';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { plainToClass } from 'class-transformer';\nimport '@angular/localize/init';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { User } from 'oidc-client';\nimport { UsersService } from '../../../../services/entity/users.service';\nimport { UserDto } from '../../../../dto/userDto';\nimport { BlackboxService } from '@services/entity/blackbox.service';\nimport { ChargingStationsService } from '../../../../services/entity/charging-stations.service';\n\n@Component({\n selector: 'app-customer-overview',\n templateUrl: './customer-overview.component.html',\n styleUrls: ['./customer-overview.component.scss']\n})\nexport class CustomerOverviewComponent extends ComponentBase implements OnInit, OnDestroy {\n\n public className = 'CustomerOverviewComponent';\n\n public primaryKey;\n public masterUserByCustomer: UserDto;\n public hasBlackbox: boolean = false;\n\n public activeTab = 'users';\n public title = '';\n\n public routerSubscription: Subscription;\n\n public isProduction: boolean = false;\n public isSupporter: boolean = false;\n\n public links = [\n { title: $localize`:@@CustomerOverviewDashboardTitle:Dashboard`, route: 'dashboard' },\n { title: $localize`:@@CustomerOverviewUsersTitle:Benutzer`, route: 'users' },\n { title: $localize`:@@CustomerOverviewRfidTitle:RFID-Karten`, route: 'rfid' },\n { title: $localize`:@@CustomerOverviewUnassignedRfidTitle:Nicht zugeteilte RFID-Karten`, route: 'unassigned-rfid' },\n { title: $localize`:@@CustomerOverviewPricingsTitle:Tarife`, route: 'pricings' },\n { title: $localize`:@@CustomerOverviewInvoiesTitle:Rechnungen`, route: 'invoices' },\n { title: $localize`:@@CustomerOverviewChargingstationsTitle:Ladestationen`, route: 'chargingstations' },\n { title: $localize`:@@CustomerOverviewChargingStatisticsTitle:Ladestatistik`, route: `charging-statistics` },\n { title: $localize`:@@CustomerOverviewDeliveryNotesTitle: Lieferscheine`, route: `delivery-notes` },\n { title: $localize`:@@CustomerOverviewStatusLogTitle:Status-Log`, route: 'chargingstations-status-log' },\n { title: $localize`:@@CustomerOverviewTransactionsTitle:Ladevorgänge`, route: 'transactions' },\n { title: $localize`:@@CustomerOverviewPaymentReceiptTitle:Zahlungsbelege`, route: 'payment-receipts' },\n { title: $localize`:@@CustomerOverviewGroupsTitle:Gruppen`, route: 'groups' },\n { title: $localize`:@@CustomerOverviewProfileTitle:Konto`, route: 'profile' },\n { title: $localize`:@@CustomerOverviewPermissionsTitle:Abo-Modell`, route: 'permissions' },\n { title: $localize`:@@CustomerOverviewHistoryTitle:Notizen`, route: 'history' },\n { title: $localize`:@@CustomerOverviewEnergy-MonitorTitle:Energiemonitor`, route: 'energy-monitor' },\n { title: $localize`:@@CustomerOverviewBidiTitle:Bidi-Laden`, route: 'bidi-charging' }\n ];\n public hasBidi: boolean;\n\n constructor(\n public router: Router,\n public activatedRoute: ActivatedRoute,\n public tableFunctions: TableFunctionsService,\n private routeDataService: RouteDataService,\n public chargingStationsService: ChargingStationsService,\n private usersService: UsersService,\n public blackboxService: BlackboxService,\n injector: Injector) {\n super(injector);\n }\n\n\n\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.primaryKey = this.activatedRoute.snapshot.params.key;\n this.isProduction = this.activatedRoute.snapshot.data['isProduction'];\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n\n if (this.isProduction) {\n this.links = [];\n this.links = [\n { title: $localize`:@@CustomerOverviewChargingstationsTitle:Ladestationen`, route: 'chargingstations' },\n { title: $localize`:@@CustomerOverviewStatusLogTitle:Status-Log`, route: 'chargingstations-status-log' },\n { title: $localize`:@@CustomerOverviewTransactionsTitle:Ladevorgänge`, route: 'transactions' },\n ];\n }\n\n this.initializeEntity();\n\n this.determineActiveTab();\n\n this.eventService.entityRefresh$.subscribe(result => {\n this.initializeEntity();\n });\n\n this.routerSubscription = this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.determineActiveTab();\n }\n });\n this.checkForBlackBox();\n this.checkForBidi();\n }\n\n checkForBlackBox() {\n this.blackboxService.getByCustomerId(this.primaryKey).subscribe(res => {\n if (res.length >= 1) {\n this.hasBlackbox = true;\n } else {\n this.hasBlackbox = false;\n }\n }, error => { });\n }\n\n checkForBidi() {\n this.chargingStationsService\n .checkChargingStationsOfCustomerHasBidi(this.primaryKey)\n .subscribe(res => {\n if (res) {\n this.hasBidi = true;\n } else {\n this.hasBidi = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.routerSubscription.unsubscribe();\n }\n\n initializeEntity() {\n this.usersService.getMasterUserByCustomerId(this.primaryKey).subscribe(result => {\n this.masterUserByCustomer = plainToClass(UserDto, result);\n }, error => { });\n }\n\n determineActiveTab() {\n var currentRoute = this.activatedRoute.children[0]?.snapshot.url[0]?.path;\n for (let link of this.links) {\n if (currentRoute == link.route) {\n this.activeTab = link.route;\n this.title = link.title;\n }\n }\n }\n}\n","\n\n
\n
\n \n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n
\n
\n","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { Customer } from '@models/customer';\nimport { CustomerPermission } from '@models/customerPermission';\nimport { SubscriptionTypePermission } from '@models/subscriptionTypePermission';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { SubscriptionsService } from '@services/entity/subscriptions.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\n\n@Component({\n selector: 'app-customer-permissions',\n templateUrl: './customer-permissions.component.html',\n styleUrls: ['./customer-permissions.component.scss']\n})\nexport class CustomerPermissionsComponent extends ComponentBase implements OnInit {\n\n public className = 'CustomerPermissionsComponent';\n\n private customerId: number;\n public subscriptionTypeId: number;\n\n public permissionMap: Map;\n\n public formCreated: boolean;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private customersService: CustomersService,\n private subscriptionsService: SubscriptionsService,\n private toastService: ToastService,\n private usersService: UsersService,\n public formService: FormService,\n injector: Injector) {\n super(injector);\n }\n\n async ngOnInit(): Promise {\n super.ngOnInit();\n this.componentSettings.footerVisible = false;\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n this.initializeData();\n }\n\n async initializeData() {\n await this.loadSubscriptionType();\n this.loadPermissions();\n }\n\n loadPermissions() {\n if (this.subscriptionTypeId == 4) {\n this.permissionMap = new Map();\n this.customersService.getCustomerPermissions(this.customerId).subscribe(result => {\n this.setupPermissionMap(result);\n this.createForm();\n }, error => { });\n }\n else {\n this.permissionMap = new Map();\n this.subscriptionsService.getSubscriptionTypePermissions(this.subscriptionTypeId).subscribe(result => {\n this.setupPermissionMap(result);\n this.createForm();\n }, error => { });\n }\n\n }\n\n async loadSubscriptionType() {\n this.subscriptionTypeId = await this.customersService.getSubscriptionTypeAsync(this.customerId);\n }\n\n setupPermissionMap(permissions: CustomerPermission[] | SubscriptionTypePermission[]) {\n permissions.forEach(permission => {\n this.permissionMap.set(permission.permission.name, permission);\n })\n }\n\n changeSubscriptionType(typeId: number) {\n this.customersService.patchSubscriptionType(this.customerId, typeId).subscribe(async result => {\n this.initializeData();\n this.toastService.success('Abo-Modell wurde erfolgreich geändert.');\n }, error => {\n this.toastService.error('Abo-Modell konnte nicht geändert werden.');\n })\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n subscriptionTypeId: new UntypedFormControl(this.subscriptionTypeId),\n\n navDashboard: new UntypedFormControl(this.permissionMap.get(\"navDashboard\").value),\n navChargingstations: new UntypedFormControl(this.permissionMap.get(\"navChargingstations\").value),\n navEvaluation: new UntypedFormControl(this.permissionMap.get(\"navEvaluation\").value),\n navManage: new UntypedFormControl(this.permissionMap.get(\"navManage\").value),\n dashboardChargingstations: new UntypedFormControl(this.permissionMap.get(\"dashboardChargingstations\").value),\n dashboardPowerchart: new UntypedFormControl(this.permissionMap.get(\"dashboardPowerchart\").value),\n dashboardLatestTransactions: new UntypedFormControl(this.permissionMap.get(\"dashboardLatestTransactions\").value),\n dashboardProfile: new UntypedFormControl(this.permissionMap.get(\"dashboardProfile\").value),\n dashboardPowerchartDay: new UntypedFormControl(this.permissionMap.get(\"dashboardPowerchartDay\").value),\n dashboardPowerchartMonth: new UntypedFormControl(this.permissionMap.get(\"dashboardPowerchartMonth\").value),\n dashboardPowerchartYear: new UntypedFormControl(this.permissionMap.get(\"dashboardPowerchartYear\").value),\n chargingstationsGroups: new UntypedFormControl(this.permissionMap.get(\"chargingstationsGroups\").value),\n chargingstationsCreate: new UntypedFormControl(this.permissionMap.get(\"chargingstationsCreate\").value),\n chargingstationDetailsAuth: new UntypedFormControl(this.permissionMap.get(\"chargingstationDetailsAuth\").value),\n chargingstationDetailsTransactions: new UntypedFormControl(this.permissionMap.get(\"chargingstationDetailsTransactions\").value),\n chargingstationFreecharge: new UntypedFormControl(this.permissionMap.get(\"chargingstationFreecharge\").value),\n chargingstationRemoteStart: new UntypedFormControl(this.permissionMap.get(\"chargingstationRemoteStart\").value),\n chargingstationGroupsCreate: new UntypedFormControl(this.permissionMap.get(\"chargingstationGroupsCreate\").value),\n evaluationTransactions: new UntypedFormControl(this.permissionMap.get(\"evaluationTransactions\").value),\n evaluationDeliveryNotes: new UntypedFormControl(this.permissionMap.get(\"evaluationDeliveryNotes\").value),\n chargingStatisticsWeek: new UntypedFormControl(this.permissionMap.get(\"chargingStatisticsWeek\").value),\n chargingStatisticsMonth: new UntypedFormControl(this.permissionMap.get(\"chargingStatisticsMonth\").value),\n chargingStatisticsYear: new UntypedFormControl(this.permissionMap.get(\"chargingStatisticsYear\").value),\n chargingStatisticsCustom: new UntypedFormControl(this.permissionMap.get(\"chargingStatisticsCustom\").value),\n chargingStatisticsFilter: new UntypedFormControl(this.permissionMap.get(\"chargingStatisticsFilter\").value),\n chargingStatisticsCheckbox: new UntypedFormControl(this.permissionMap.get(\"chargingStatisticsCheckbox\").value),\n chargingStatisticsDateFilter: new UntypedFormControl(this.permissionMap.get(\"chargingStatisticsDateFilter\").value),\n evaluationDeliveryNotesSend: new UntypedFormControl(this.permissionMap.get(\"evaluationDeliveryNotesSend\").value),\n manageUsersCreate: new UntypedFormControl(this.permissionMap.get(\"manageUsersCreate\").value),\n manageUsersCreateCount: new UntypedFormControl(this.permissionMap.get(\"manageUsersCreateCount\").value),\n manageRfidScan: new UntypedFormControl(this.permissionMap.get(\"manageRfidScan\").value),\n createDeliveryNotes: new UntypedFormControl(this.permissionMap.get(\"createDeliveryNotes\").value),\n });\n\n if (this.subscriptionTypeId != 4) {\n setTimeout(() => this.formService.form.disable());\n setTimeout(() => this.formService.form.get(\"subscriptionTypeId\").enable());\n }\n else {\n setTimeout(() => this.formService.form.enable());\n }\n\n this.formCreated = true;\n }\n\n onSubmit(formValue) {\n for (var [key, value] of Object.entries(formValue)) {\n\n var numberValue;\n\n if (typeof value == \"boolean\") {\n numberValue = Number(value);\n }\n else {\n numberValue = value;\n }\n\n var customerPermission = this.permissionMap.get(key);\n if (customerPermission) {\n customerPermission.value = numberValue;\n\n this.permissionMap.set(key, customerPermission);\n }\n }\n\n var customerPermissions = Array.from(this.permissionMap.values());\n\n this.customersService.updateCustomerPermissions(this.customerId, customerPermissions as CustomerPermission[]).subscribe(result => {\n this.toastService.success('Änderungen erfolgreich gespeichert.');\n this.loadPermissions();\n }, error => {\n this.toastService.error('Ein Fehler ist beim speichern aufgetreten.');\n })\n }\n}\n","\n
\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
Einblenden/Ausgrauen
Features Navigation
\n Navi - Dashboard\n \n
\n \n
\n
\n Navi - Ladestationen\n \n
\n \n
\n
\n Navi - Auswertung\n \n
\n \n
\n
\n Navi - Verwaltung\n \n
\n \n
\n
Features Dashboard
\n Widget Ladestationen\n \n
\n \n
\n
\n Widget Verbrauch\n \n
\n \n
\n
\n Widget Neuste Ladevorgänge\n \n
\n \n
\n
\n Widget Profil\n \n
\n \n
\n
\n Verbrauch Dropdown - Tag Ansicht\n \n
\n \n
\n
\n Verbrauch Dropdown - Monat Ansicht\n \n
\n \n
\n
\n Verbrauch Dropdown - Jahr Ansicht\n \n
\n \n
\n
Features Ladestationen
\n Reiter Ladestationsgruppen\n \n
\n \n
\n
\n Ladestationen hinzufügen\n \n
\n
\n \n
\n
\n
\n Detailansicht - Reiter Autorisierung\n \n
\n \n
\n
\n Detailansicht - Reiter Ladeprotokoll\n \n
\n \n
\n
\n FreeCharge Mode\n \n
\n \n
\n
\n Ladevorgang freigeben\n \n
\n \n
\n
\n Gruppen hinzufügen\n \n
\n
\n \n
\n
\n
Features Auswertung
\n Reiter Ladevorgänge\n \n
\n \n
\n
\n Reiter Lieferscheine\n \n
\n \n
\n
\n Ladestatistik - Wochen Ansicht\n \n
\n \n
\n
\n Ladestatistik - Monat Ansicht\n \n
\n \n
\n
\n Ladestatistik - Jahr Ansicht\n \n
\n \n
\n
\n Ladestatistik - Zeitraum wählbar\n \n
\n \n
\n
\n Ladestatistik - Filter (Dropdownfelder)\n \n
\n \n
\n
\n Ladestatistik - Checkboxen\n \n
\n \n
\n
\n Ladestatistik - Datumsfilter (Auswahl des Zeitraumes)\n \n
\n \n
\n
\n Lieferscheine - Versandt Option\n \n
\n \n
\n
Features Verwaltung
\n Benutzer - Benutzer hinzufügen\n \n
\n \n
\n
\n Benutzer - Anzahl Benutzer\n \n
\n
\n \n
\n
\n
\n RFID-Karten anlernen\n \n
\n \n
\n
\n Individuelle Lieferscheine erstellen\n \n
\n \n
\n
\n
\n \n
\n
\n
\n\n
\n \n
\n","import { Component, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Customer } from '@models/customer';\nimport { SelectEntitiesService } from '@services/entity/select-entities.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { plainToClass } from 'class-transformer';\nimport { TableColumn } from '@models/tableColumn';\nimport { IEntity } from '@interfaces/entity';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { TableComponent } from '@components/abstract/table/table.component';\nimport { OperatorsService } from '@services/entity/operators.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { Operator } from '@models/operator';\nimport { CustomersTableEntry } from '@dto/customersTableEntry';\nimport { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport '@angular/localize/init';\nimport { TableOptions } from '@models/tableOptions';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { ToastService } from '@services/toast/toast.service';\n\n@Component({\n selector: 'app-customers-table',\n templateUrl: './customers-table.component.html'\n})\nexport class CustomersTableComponent extends AbstractEntitiesTableComponent implements OnInit, OnDestroy {\n\n public className = 'CustomersTableComponent';\n\n private operator: Operator;\n public entities: CustomersTableEntry[];\n public isOperatorView: boolean;\n public isSupporter: boolean;\n public activeComponentClassName: string = 'CustomersTableComponent';\n public isTestingOrDevStage: boolean = false;\n\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@CustomersTableColumn1:Kunden-Nr.`, property: 'customerId' },\n { columnDescription: $localize`:@@CustomersTableColumn5:Firma`, property: 'company' },\n { columnDescription: $localize`:@@CustomersTableColumn6:Bezeichner`, property: 'internalDescription' },\n { columnDescription: $localize`:@@CustomersTableColumn3:Ansprechpartner`, property: 'fullName' },\n { columnDescription: $localize`:@@CustomersTableColumn2:E-Mail`, property: 'email' },\n { columnDescription: $localize`:@@CustomersTableColumn4:Telefonnummer`, property: 'phone' },\n { columnDescription: $localize`:@@CustomersTableColumn4:Ladestationen`, property: 'chargingStations' },\n { columnDescription: $localize`:@@CustomersTableColumn4:Energiemonitor`, property: 'blackBox' },\n { columnDescription: $localize`:@@CustomersTableColumn4:Benutzer`, property: 'users' },\n ];\n\n public tableOptions: TableOptions = { hideActions: true, rowRouterLink: '/customer/{id}' };\n\n private sortParam: number;\n\n\n constructor(\n public customersService: CustomersService,\n private operatorsService: OperatorsService,\n private usersService: UsersService,\n public pricingsService: PricingsService,\n private toastService: ToastService,\n injector: Injector) {\n super(customersService, injector);\n }\n\n ngOnInit() {\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n this.isSupporter = this.authenticationService.userHasRole('Supporter');\n this.isTestingOrDevStage = (window.location.host == 'cubos-connect-testing.azurewebsites.net') || (window.location.host == 'cubos-connect-dev.azurewebsites.net') || (window.location.host == 'localhost:44304')\n super.ngOnInit();\n\n this.activatedRoute.queryParams.subscribe(params => {\n this.sortParam = params.sort;\n });\n\n if (!this.sortParam) {\n this.tableFunctions.sortColumn = 'customerId';\n this.tableFunctions.sortDirection = 'desc';\n }\n }\n\n initializeEntities() {\n this.usersService.getOperatorOfUser(this.usersService.getCurrentUserId()).subscribe(result => {\n this.operator = plainToClass(Operator, result);\n this.operatorsService.getCustomersTableOfOperator(this.operator.id).subscribe(result => {\n this.entities = result;\n this.sortEntities();\n super.setupTable();\n })\n })\n }\n\n sortEntities() {\n if (this.sortParam) {\n var entitiesWithSortParam = this.entities.filter(x => x.customerId == this.sortParam);\n var entitiesWithoutSortParam = this.entities.filter(x => x.customerId != this.sortParam);\n\n this.entities = entitiesWithSortParam.concat(entitiesWithoutSortParam);\n }\n }\n\n\n onSort() {\n if (this.sortParam) {\n this.sortParam = undefined;\n this.router.navigate([], {\n queryParams: {\n 'sort': null,\n },\n queryParamsHandling: 'merge'\n })\n }\n }\n\n public testMonthEnd() // for test monthly auto billing\n {\n this.toastService.loading('Abrechnung gestartet')\n this.pricingsService.testMonthEndForAll().subscribe(() => {\n this.toastService.success('Abrechnung erfolgreich', 0, true)\n }, error => {\n this.toastService.error('Abrechnung fehlgeschlagen', 0, true)\n console.error(error)\n });\n }\n\n\n matches(entry: CustomersTableEntry, term: string) {\n console.log(term);\n return entry.customerId?.toString().includes(term.toLowerCase()) ||\n entry.internalDescription?.toLowerCase().includes(term.toLowerCase()) ||\n entry.email?.toLowerCase().includes(term.toLowerCase()) ||\n entry.fullName?.toLowerCase().includes(term.toLowerCase()) ||\n entry.phone?.toLowerCase().includes(term.toLowerCase()) ||\n entry.company?.toLowerCase().includes(term.toLowerCase());\n }\n\n ngOnDestroy(): void {\n this.routerSubscription.unsubscribe();\n }\n}\n","\n \n \n \n \n \n \n\n\n\n\n
\n
\n
\n
\n
\n
\n Kundenübersicht ({{ tableFunctions.total$ | async }})\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n\n \n \n \n
\n
\n
\n \n
\n
\n
\n Loading...\n
\n
\n
\n\n
\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { RouterModule } from \"@angular/router\";\nimport { AuthGuard } from \"@guards/auth/auth.guard\";\nimport { CustomersTableComponent } from \"./customers-table/customers-table.component\";\nimport { RoleGuard } from \"@guards/role/role.guard\";\nimport { UsersTableComponent } from \"../users/users-table/users-table.component\";\nimport { RfidCardsTableComponent } from \"../rfid-cards/rfid-cards-table/rfid-cards-table.component\";\nimport { GroupsComponent } from \"@components/manage/groups/groups.component\";\nimport { ChargingStationsTableComponent } from \"../charging-stations/charging-stations-table/charging-stations-table.component\";\nimport { ProfileComponent } from \"@components/manage/profile/profile.component\";\nimport { CustomerOverviewComponent } from \"./customer-overview/customer-overview.component\";\nimport { DetailsChargingStationDialogComponent } from \"@components/dialog/details-charging-station-dialog/details-charging-station-dialog.component\";\nimport { DeleteChargingStationDialogComponent } from \"@components/dialog/delete-charging-station-dialog/delete-charging-station-dialog.component\";\nimport { EditUserDialogComponent } from \"@components/dialog/edit-user-dialog/edit-user-dialog.component\";\nimport { CreateUserDialogComponent } from \"../../dialog/create-user-dialog/create-user-dialog.component\";\nimport { CreateRfidCardDialogComponent } from \"@components/dialog/create-rfid-card-dialog/create-rfid-card-dialog.component\";\nimport { CustomerHistoryComponent } from \"./customer-history/customer-history.component\";\nimport { CustomerPermissionsComponent } from \"./customer-permissions/customer-permissions.component\";\nimport { CreateChargingStationDialogComponent } from \"@components/dialog/create-charging-station-dialog/create-charging-station-dialog.component\";\nimport { ChargingStationsStatusHistoryTableComponent } from \"../charging-stations/charging-stations-status-history-table/charging-stations-status-history-table.component\";\nimport { TransactionsComponent } from \"@components/evaluation/transactions/transactions.component\";\nimport { EditGroupDialogComponent } from \"@components/dialog/edit-group-dialog/edit-group-dialog.component\";\nimport { DeleteGroupDialogComponent } from \"@components/dialog/delete-group-dialog/delete-group-dialog.component\";\nimport { CreateCustomerDialogComponent } from \"../../dialog/create-customer-dialog/create-customer-dialog.component\";\nimport { DetailsTransactionDialogComponent } from \"@components/dialog/details-transaction-dialog/details-transaction-dialog.component\";\nimport { EditRfidCardDialogComponent } from \"@components/dialog/edit-rfid-card-dialog/edit-rfid-card-dialog.component\";\nimport { ChargingStatisticsComponent } from \"@components/evaluation/charging-statistics/charging-statistics.component\";\nimport { DeliveryNotesComponent } from \"@components/evaluation/delivery-notes/delivery-notes.component\";\nimport { DeliveryNoteActionsDialogComponent } from \"@components/dialog/delivery-note-actions-dialog/delivery-note-actions-dialog.component\";\nimport { DeliveryNoteSettings } from \"@models/deliveryNotes\";\nimport { PaymentReceiptsComponent } from \"../payment-receipts/payment-receipts.component\";\nimport { PricingsComponent } from \"../pricings/pricings.component\";\nimport { InvoicesComponent } from \"../invoices/invoices.component\";\nimport { CreatePricingDialogComponent } from \"@components/dialog/create-pricing-dialog/create-pricing-dialog.component\";\nimport { EditPricingDialogComponent } from \"@components/dialog/edit-pricing-dialog/edit-pricing-dialog.component\";\nimport { CreateInvoiceDialogComponent } from \"@components/dialog/create-invoice-dialog/create-invoice-dialog.component\";\nimport { PrintInvoiceDialogComponent } from \"@components/dialog/print-invoice-dialog/print-invoice-dialog.component\";\nimport { EditInvoiceSettingsDialogComponent } from \"@components/dialog/edit-invoice-settings-dialog/edit-invoice-settings-dialog.component\";\nimport { UnassignedRfidCardsTableComponent } from \"../rfid-cards/unassigned-rfid-cards-table/unassigned-rfid-cards-table.component\";\nimport { PayoutStatementsDialogComponent } from \"@components/dialog/payout-statements-dialog/payout-statements-dialog.component\";\nimport { DashboardComponent } from \"@components/dashboard/dashboard.component\";\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild([\n {\n path: \"customers\",\n component: CustomersTableComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: [\"Operator\"] },\n },\n {\n path: \"create\",\n component: CreateCustomerDialogComponent,\n data: { isOperatorView: true },\n },\n {\n path: \"customers/:key\",\n component: CustomerOverviewComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: [\"Operator\"] },\n children: [\n {\n path: \"\",\n redirectTo: \"dashboard\",\n pathMatch: \"full\",\n },\n {\n path: \"dashboard\",\n component: DashboardComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: \"transactions\",\n component: TransactionsComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: \":key\",\n component: DetailsTransactionDialogComponent,\n },\n ],\n },\n ],\n },\n {\n path: \"users\",\n component: UsersTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: \"edit/:key\",\n component: EditUserDialogComponent,\n },\n {\n path: \"create\",\n component: CreateUserDialogComponent,\n },\n ],\n },\n {\n path: \"rfid\",\n component: RfidCardsTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: \"create\",\n component: CreateRfidCardDialogComponent,\n },\n {\n path: \"edit/:key\",\n component: EditRfidCardDialogComponent,\n },\n ],\n },\n {\n path: \"unassigned-rfid\",\n component: UnassignedRfidCardsTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: \"create\",\n component: CreateRfidCardDialogComponent,\n },\n {\n path: \"edit/:key\",\n component: EditRfidCardDialogComponent,\n },\n ],\n },\n {\n path: \"pricings\",\n component: PricingsComponent,\n data: {\n roles: [\"Operator\"],\n isOperatorView: true,\n },\n children: [\n {\n path: \"create\",\n component: CreatePricingDialogComponent,\n },\n {\n path: \"edit/:key\",\n component: EditPricingDialogComponent,\n },\n ],\n },\n {\n path: \"invoices\",\n component: InvoicesComponent,\n data: {\n isOperatorView: true,\n roles: [\"Operator\"],\n },\n children: [\n {\n path: \"create/:key\",\n component: CreateInvoiceDialogComponent,\n data: { roles: [\"Operator\"] },\n },\n {\n path: \"print/:key\",\n component: PrintInvoiceDialogComponent,\n data: { roles: [\"Operator\"] },\n },\n {\n path: \"settings\",\n component: EditInvoiceSettingsDialogComponent,\n data: { roles: [\"Operator\"] },\n },\n {\n path: \"payout-statements\",\n component: PayoutStatementsDialogComponent,\n data: { roles: [\"Operator\"] },\n },\n ],\n },\n {\n path: \"groups\",\n component: GroupsComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: \"edit/:key\",\n component: EditGroupDialogComponent,\n },\n {\n path: \"delete/:key\",\n component: DeleteGroupDialogComponent,\n },\n ],\n },\n {\n path: \"chargingstations-status-log\",\n component: ChargingStationsStatusHistoryTableComponent,\n children: [\n {\n path: \"edit/:key\",\n component: DetailsChargingStationDialogComponent,\n },\n ],\n },\n {\n path: \"transactions\",\n component: TransactionsComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: \":key\",\n component: DetailsTransactionDialogComponent,\n },\n ],\n },\n {\n path: \"chargingstations\",\n component: ChargingStationsTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: \"create\",\n component: CreateChargingStationDialogComponent,\n },\n {\n path: \"edit/:key\",\n component: DetailsChargingStationDialogComponent,\n },\n {\n path: \"delete/:key\",\n component: DeleteChargingStationDialogComponent,\n },\n ],\n },\n {\n path: \"charging-statistics\",\n component: ChargingStatisticsComponent,\n data: { isOperatorView: true },\n },\n {\n path: \"delivery-notes\",\n component: DeliveryNotesComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: \"edit/:key\",\n component: DeliveryNoteActionsDialogComponent,\n data: { isOperatorView: true },\n },\n {\n path: \"settings\",\n component: DeliveryNoteSettings,\n data: { isOperatorView: true },\n },\n ],\n },\n {\n path: \"profile\",\n component: ProfileComponent,\n data: { isOperatorView: true },\n },\n {\n path: \"permissions\",\n component: CustomerPermissionsComponent,\n },\n {\n path: \"history\",\n component: CustomerHistoryComponent,\n },\n {\n path: \"payment-receipts\",\n component: PaymentReceiptsComponent,\n data: { isOperatorView: true },\n },\n ],\n },\n ]),\n ],\n providers: [],\n})\nexport class CustomersModule {}\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { DecimalPipe } from '@angular/common';\nimport { Component, EventEmitter, Injector, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { DeliveryNote } from '@models/deliveryNote';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableOptions } from '@models/tableOptions';\nimport { Transaction } from '@models/transaction';\nimport { DeliveryNotesService } from '@services/entity/delivery-notes.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\nimport { ThousandPipe } from 'src/app/pipes/thousand.pipe';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-create-delivery-csv',\n templateUrl: './create-delivery-csv.component.html',\n styleUrls: ['./create-delivery-csv.component.scss']\n})\nexport class CreateDeliveryCSVComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'CreateDeliveryCSVComponent';\n\n @Input() public transactions: TransactionDto[];\n @Input() public userId: string;\n @Input() public customerId: number;\n\n @Output() newEntityEvent = new EventEmitter();\n\n public entities: TransactionDto[];\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn1:Trans-ID`, property: 'transactionId' },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn2:Vorname`, property: 'userFirstName' },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn3:Nachname`, property: 'userLastName' },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn4:Ladestation`, property: 'chargingStationName' },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn5:Lademenge in kWh`, property: 'meterAmount', options: { columnPipe: { pipe: new ThousandPipe(new DecimalPipe('de-DE')) } } },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn6:Datum`, property: 'startTimestamp', options: { columnPipe: { pipe: new DEDatePipe() } } },\n ];\n\n public tableOptions: TableOptions = { hideActions: true, hideSearch: true, showCheckboxes: true };\n\n constructor(\n public deliveryNotesService: DeliveryNotesService,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector\n ) {\n super(deliveryNotesService, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.tableFunctions.pageSize = 999999;\n this.tableFunctions.sortColumn = 'transactionId';\n this.tableFunctions.sortDirection = 'desc';\n\n this.entities.forEach(e => {\n this.tableFunctions.selectedEntities.push(e);\n })\n\n this.createForm();\n }\n\n initializeEntities() {\n this.entities = this.transactions;\n super.setupTable();\n }\n\n matches(entity: TransactionDto, term: string) {\n return TransactionsService.matches(entity, term);\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n deliveryNoteNumber: new UntypedFormControl(),\n });\n }\n\n onSubmit(formValue, download: boolean = false) {\n download = true;\n var deliveryNote = new DeliveryNote(formValue);\n deliveryNote.transactions = this.tableFunctions.selectedEntities as Transaction[];\n deliveryNote.userId = this.userId;\n deliveryNote.customerId = this.customerId;\n\n this.deliveryNotesService.createEntity(deliveryNote).subscribe(result => {\n this.newEntityEvent.emit(deliveryNote);\n if(download)\n this.downloadCSV(result.id, result.deliveryNoteNumber);\n }, error => {\n this.toastService.error($localize`:@@CreateDeliveryNoteErrorTitle:Fehler beim Erstellen der CSV-Datei.`)\n this.messageService.setError(error);\n })\n\n }\n\n downloadCSV(deliveryNoteId:number, deliveryNoteNumber:string ) {\n this.toastService.success(`CSV-Datei wird heruntergeladen...`,2500,true)\n console.log(\"deliveryNoteId\",deliveryNoteId);\n console.log(\"deliveryNoteNumber\",deliveryNoteNumber);\n\n this.deliveryNotesService.getDeliveryNoteAsCSV(deliveryNoteId).subscribe((response: any) => {\n try {\n const file = new Blob([response], { type: 'text/csv' });\n const fileUrl = URL.createObjectURL(file);\n\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = deliveryNoteNumber;\n a.click();\n } catch (error) {\n console.error(error);\n this.toastService.error(`CSV-Datei konnte nicht heruntergeladen werden.`, 0, true)\n } finally {\n this.toastService.clear()\n }\n }, error => {\n console.error(error);\n this.toastService.error(`CSV-Datei konnte nicht heruntergeladen werden.`, 0, true)\n })\n\n }\n\n}\n","
\n
\n
\n \n
\n
\n \n\n
\n Name wird benötigt\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { DecimalPipe } from '@angular/common';\nimport { Component, EventEmitter, Injector, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { DeliveryNote } from '@models/deliveryNote';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableOptions } from '@models/tableOptions';\nimport { Transaction } from '@models/transaction';\nimport { DeliveryNotesService } from '@services/entity/delivery-notes.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\nimport { ThousandPipe } from 'src/app/pipes/thousand.pipe';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-create-delivery-note',\n templateUrl: './create-delivery-note.component.html',\n styleUrls: ['./create-delivery-note.component.scss']\n})\nexport class CreateDeliveryNoteComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'CreateDeliveryNoteComponent';\n\n @Input() public transactions: TransactionDto[];\n @Input() public userId: string;\n @Input() public customerId: number;\n\n @Output() newEntityEvent = new EventEmitter();\n\n public entities: TransactionDto[];\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn1:Trans-ID`, property: 'transactionId' },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn2:Vorname`, property: 'userFirstName' },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn3:Nachname`, property: 'userLastName' },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn4:Ladestation`, property: 'chargingStationName' },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn5:Lademenge in kWh`, property: 'meterAmount', options: { columnPipe: { pipe: new ThousandPipe(new DecimalPipe('de-DE')) } } },\n { columnDescription: $localize`:@@CreateDeliveryNoteTableColumn6:Datum`, property: 'startTimestamp', options: { columnPipe: { pipe: new DEDatePipe() } } },\n ];\n\n public tableOptions: TableOptions = { hideActions: true, hideSearch: true, showCheckboxes: true };\n\n constructor(\n public deliveryNotesService: DeliveryNotesService,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector\n ) {\n super(deliveryNotesService, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.tableFunctions.pageSize = 999999;\n this.tableFunctions.sortColumn = 'transactionId';\n this.tableFunctions.sortDirection = 'desc';\n\n this.entities.forEach(e => {\n this.tableFunctions.selectedEntities.push(e);\n })\n\n this.createForm();\n }\n\n initializeEntities() {\n this.entities = this.transactions;\n super.setupTable();\n }\n\n matches(entity: TransactionDto, term: string) {\n return TransactionsService.matches(entity, term);\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n deliveryNoteNumber: new UntypedFormControl(),\n });\n }\n\n onSubmit(formValue, download:boolean = false) {\n\n var deliveryNote = new DeliveryNote(formValue);\n deliveryNote.transactions = this.tableFunctions.selectedEntities as Transaction[];\n deliveryNote.userId = this.userId;\n deliveryNote.customerId = this.customerId;\n\n this.deliveryNotesService.createEntity(deliveryNote).subscribe(result => {\n this.newEntityEvent.emit(deliveryNote);\n if(download)\n this.downloadPdf(result.id, result.deliveryNoteNumber);\n }, error => {\n this.toastService.error($localize`:@@CreateDeliveryNoteErrorTitle:Fehler beim Erstellen des Lieferscheins.`)\n this.messageService.setError(error);\n })\n\n }\n\n downloadPdf(deliveryNoteId:number, deliveryNoteNumber:string ) {\n this.toastService.loading(`Lieferschein wird heruntergeladen...`)\n console.log(\"deliveryNoteId\",deliveryNoteId);\n console.log(\"deliveryNoteNumber\",deliveryNoteNumber);\n\n this.deliveryNotesService.getDeliveryNotePdf(deliveryNoteId).subscribe((response: any) => {\n try {\n const file = new Blob([response], { type: 'application/pdf' });\n const fileUrl = URL.createObjectURL(file);\n\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = deliveryNoteNumber;\n a.click();\n\n window.open(fileUrl);\n } catch (error) {\n console.error(error);\n this.toastService.error(`Lieferschein konnte nicht heruntergeladen werden.`, 0, true)\n } finally {\n this.toastService.clear()\n }\n }, error => {\n console.error(error);\n this.toastService.error(`Lieferschein konnte nicht heruntergeladen werden.`, 0, true)\n })\n }\n\n openErrorDialog(text) {\n Swal.fire({\n title: $localize`:@@CreateDeliveryNoteErrorTitle:Fehler beim Erstellen des Lieferscheins!`,\n text: text,\n icon: 'error',\n confirmButtonText: $localize`:@@CreateDeliveryNoteErrorConfirm:Zurück`,\n confirmButtonColor: 'red'\n })\n }\n}\n","
\n
\n
\n \n
\n
\n \n\n
\n Name wird benötigt\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n","import { Component, Injector, OnInit } from '@angular/core';\nimport { TableColumn } from '@models/tableColumn';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { plainToClass } from 'class-transformer';\nimport { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { PricingDto } from '@dto/pricingDto';\nimport { TableOptions } from '@models/tableOptions';\nimport { UsersService } from '@services/entity/users.service';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { UserDto } from '@dto/userDto';\nimport { KwhPipe } from 'src/app/pipes/kwh.pipe';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\nimport { CurrencyPipe } from '@angular/common';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\n// import { HttpResponse } from '@angular/common/http';\n// import { saveAs } from 'file-saver'\n\n@Component({\n selector: 'app-invoices-table',\n templateUrl: './invoices-table.component.html',\n styleUrls: ['./invoices-table.component.scss'],\n})\nexport class InvoicesTableComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'InvoicesTableComponent'\n\n public entities: InvoiceDto[] = []\n public hasStripeAccount: boolean\n public ownerUserId: string\n public ownerCustomerId: number\n public userId: string\n\n public isUser: boolean = false\n public isCustomer: boolean = false\n public isOperator: boolean = false\n\n public invoices: InvoiceDto[] = []\n public user: UserDto\n public users: UserDto[] = []\n public usersWithPricing: UserDto[] = []\n\n public tableColumns: TableColumn[] = [\n {\n columnDescription: `Tariftyp`, property: 'type', options:\n { tdStyleClasses: 'type' }\n },\n {\n columnDescription: `Ausstellungsdatum`, property: 'createdAt', options: {\n tdStyleClasses: 'createdAt', columnPipe: { pipe: new DEDatePipe() }, datePipeFormat: 'yyyy.MM.dd'\n }\n },\n {\n columnDescription: `Rechnungsnummer`, property: 'invoiceNumber', options: {\n tdStyleClasses: 'invoiceNumber'\n }\n },\n {\n columnDescription: `Summe kWh geladen`, property: 'invoiceMeterAmount', options: {\n tdStyleClasses: 'meterAmount', columnPipe: { pipe: new KwhPipe }\n }\n },\n {\n columnDescription: `Betrag`, property: 'invoiceAmount', options: {\n tdStyleClasses: 'amount', columnPipe: { pipe: new CurrencyPipe('de-DE', 'EUR') }\n }\n },\n {\n columnDescription: `Status`, property: 'statusName', options: {\n tdStyleClasses: 'status', isHTML: true\n }\n },\n ];\n\n public tableOptions: TableOptions = {\n hideActions: true,\n hideSearchAll: true,\n rowRouterLink: 'print/{id}'\n };\n\n constructor(\n public pricingsService: PricingsService,\n public stripeInfosService: StripeInfosService,\n public invoicesService: InvoicesService,\n public usersService: UsersService,\n public customersService: CustomersService,\n injector: Injector\n ) {\n super(pricingsService, injector)\n }\n\n ngOnInit(): void {\n this.getRoles()\n\n if (this.isOperator) {\n this.ownerCustomerId = this.activatedRoute.parent.snapshot.params.key;\n\n this.tableColumns.unshift(\n {\n columnDescription: `Benutzer`, property: 'recipientUserFullName', options: {\n tdStyleClasses: 'recipientUserFullName'\n }\n },\n {\n columnDescription: `Empfänger`, property: 'recipientFullName', options: {\n tdStyleClasses: 'recipientFullName'\n }\n })\n\n this.tableColumns.push({\n columnDescription: `-`, property: 'payoutStatementId', options: {\n tdStyleClasses: 'payout', isBoolean: true\n }\n })\n\n this.getUsers();\n\n } else if (this.isCustomer) {\n this.ownerCustomerId = localStorage.getItem('customerId') ? parseInt(localStorage.getItem('customerId')) : undefined\n\n this.tableColumns.unshift(\n {\n columnDescription: `Benutzer`, property: 'recipientUserFullName', options: {\n tdStyleClasses: 'recipientUserFullName'\n }\n },\n {\n columnDescription: `Empfänger`, property: 'recipientFullName', options: {\n tdStyleClasses: 'recipientFullName'\n }\n })\n this.tableColumns.push({\n columnDescription: `-`, property: 'payoutStatementId', options: {\n tdStyleClasses: 'payout', isBoolean: true\n }\n })\n\n this.getUsers();\n\n } else if (this.isUser) {\n this.userId = localStorage.getItem('userId')\n\n this.tableColumns.unshift(\n {\n columnDescription: `Aussteller`, property: 'ownerFullName', options: {\n tdStyleClasses: 'ownerFullName'\n }\n }\n )\n }\n\n this.getUser();\n }\n\n getUser() {\n this.usersService.getLoggedInUser().subscribe(user => {\n this.user = plainToClass(UserDto, user);\n super.ngOnInit();\n })\n }\n\n async initializeEntities() {\n if (this.isOperator) {\n this.customersService.getMasterUserOfCustomer(this.ownerCustomerId).subscribe(masterUser => {\n this.userId = masterUser.id;\n\n this.invoicesService.getInvoicesOfCustomer(this.userId).subscribe(invoices => {\n this.invoices = plainToClass(InvoiceDto, invoices)\n this.entities = this.invoices\n \n this.mapStatus()\n this.mapType()\n\n this.tableFunctions.sortColumn = 'createdAt'\n this.tableFunctions.sortDirection = 'desc'\n\n super.setupTable()\n this.tableReady = true\n\n }, error => console.error(error))\n })\n\n } else if (this.isCustomer) {\n this.invoicesService.getInvoicesOfCustomer(this.user.id).subscribe(invoices => {\n this.invoices = plainToClass(InvoiceDto, invoices)\n this.entities = this.invoices\n\n this.mapStatus()\n this.mapType()\n\n this.tableFunctions.sortColumn = 'createdAt'\n this.tableFunctions.sortDirection = 'desc'\n\n super.setupTable()\n this.tableReady = true\n }, error => console.error(error))\n\n } else if (this.isUser) {\n if (!this.userId) return false\n this.invoicesService.getInvoicesOfRecipient(this.userId).subscribe(invoices => {\n this.invoices = plainToClass(InvoiceDto, invoices)\n this.entities = this.invoices\n\n this.mapStatus()\n this.mapType()\n\n this.tableFunctions.sortColumn = 'createdAt'\n this.tableFunctions.sortDirection = 'desc'\n\n super.setupTable()\n this.tableReady = true\n }, error => console.error(error))\n }\n }\n\n mapStatus() {\n for (const entity of this.entities) {\n const status = this.getStatus(entity.status)\n entity['statusName'] = `${status}`\n }\n }\n\n mapType() {\n this.entities.forEach(entity => {\n if (entity.billingMethod == BillingMethodEnum.Manual) entity.type = 'Manuell'\n if (entity.billingMethod == BillingMethodEnum.QRCode) entity.type = 'QR-Code'\n if (entity.billingMethod == BillingMethodEnum.Automatic) entity.type = 'Automatisch'\n });\n }\n\n getStatus(status: string) {\n switch (status) {\n case 'Draft': return $localize`:@@Draft:Erstellt`;\n case 'Open': return $localize`:@@Open:Offen`;\n case 'Paid': return $localize`:@@Paid:Bezahlt`;\n case 'Cancelled': return $localize`:@@Cancelled:Storniert`;\n case 'Uncollectable': return $localize`:@@Uncollectable:Uneinbringbar`;\n default: return '';\n }\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n }\n\n async getUsers() {\n if (this.isOperator) {\n this.usersService.getUsersOfCustomerAsync(this.ownerCustomerId).then(users => {\n this.users = plainToClass(UserDto, users)\n\n for (const user of this.users) {\n if (user.pricingId != null) {\n this.usersWithPricing.push(user)\n }\n }\n });\n } else {\n this.usersService.getUsersOfCurrentCustomerAsync().then(users => {\n this.users = plainToClass(UserDto, users)\n\n for (const user of this.users) {\n if (user.pricingId != null) {\n this.usersWithPricing.push(user)\n }\n }\n });\n }\n }\n\n matches(entity: InvoiceDto, term: string) {\n return InvoicesService.matches(entity, term)\n }\n}\n\n","
\n
\n
\n \n Rechnungen\n
\n \n
\n\n
\n
\n \n
\n \n
\n
\n Loading...\n
\n
\n
\n\n
10 && !isOperator\">\n \n
\n
\n\n\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n\n\n","import { Component, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport '@angular/localize/init';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { Injector } from '@angular/core';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { plainToClass } from 'class-transformer';\nimport { UsersService } from '@services/entity/users.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { UserDto } from '@dto/userDto';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { InvoiceSettingsDto } from '@dto/invoiceSettingsDto';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { User } from 'oidc-client';\nimport { InvoiceStatusEnum } from '@enums/invoiceStatusEnum.enum';\n\n@Component({\n selector: 'app-invoices',\n templateUrl: './invoices.component.html',\n styleUrls: ['./invoices.component.scss']\n})\nexport class InvoicesComponent extends ComponentBase implements OnInit {\n\n public className = 'InvoicesComponent';\n public activeTab = 'invoices';\n public activeComponentClassName: string;\n\n public isUser: boolean = false;\n public isCustomer: boolean = false;\n public isOperator: boolean = false;\n public isSupporter: boolean = false;\n\n @ViewChild('operatorView') operatorView: TemplateRef;\n @ViewChild('customerView') customerView: TemplateRef;\n @ViewChild('userView') userView: TemplateRef;\n\n private ownerUserId: string\n private ownerCustomerId: number\n\n private invoiceSettings: InvoiceSettingsDto\n private user: UserDto;\n private users: UserDto[] = []\n private usersWithPricing: UserDto[] = []\n private transactions: TransactionDto[] = []\n private transactionsToBeBilled: TransactionDto[] = []\n\n public payoutAmountDue: number = 0\n\n constructor(\n public tableFunctions: TableFunctionsService,\n public router: Router,\n public activatedRoute: ActivatedRoute,\n public transactionsService: TransactionsService,\n public usersService: UsersService,\n public customersService: CustomersService,\n public pricingsService: PricingsService,\n public invoicesService: InvoicesService,\n public stripeInfosService: StripeInfosService,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.determineTemplate();\n super.ngOnInit();\n }\n\n determineTemplate() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n\n if (this.isOperator) {\n this.ownerCustomerId = this.activatedRoute.parent.snapshot.params.key;\n this.customersService.getMasterUserOfCustomer(this.ownerCustomerId).subscribe(masterUser => {\n this.ownerUserId = masterUser.id;\n this.usersService.getUserDtoById(this.ownerUserId).subscribe(user => {\n this.user = plainToClass(UserDto, user);\n this.getInvoiceSettings();\n return this.customerView;\n })\n })\n }\n\n if (this.isCustomer) {\n this.ownerUserId = localStorage.getItem('userId')\n this.ownerCustomerId = localStorage.getItem('customerId') ? parseInt(localStorage.getItem('customerId')) : undefined\n this.getUser()\n return this.customerView;\n }\n \n if (this.isUser) {\n return this.userView;\n }\n }\n\n getUser() {\n this.usersService.getLoggedInUser().subscribe(user => {\n this.user = plainToClass(UserDto, user)\n this.getInvoiceSettings()\n })\n }\n\n async getInvoiceSettings() {\n if (!this.ownerUserId) return false\n this.invoicesService.getInvoiceSettingsOfUser(this.ownerUserId).subscribe(invoiceSettings => {\n this.invoiceSettings = plainToClass(InvoiceSettingsDto, invoiceSettings)\n this.getTransactions();\n this.getUsers();\n if (!(this.invoiceSettings && this.isInvoiceSettingsValid(this.invoiceSettings)) && !this.isSupporter) {\n this.router.navigate(['settings'], { relativeTo: this.activatedRoute })\n }\n\n }, error => console.error(error))\n }\n\n private isInvoiceSettingsValid(settings) {\n if (settings.vatId) {\n return true\n }\n return false\n }\n\n async getTransactions() {\n if (this.ownerCustomerId == undefined) return false\n this.transactionsService.getTransactionsOfCustomer(this.ownerCustomerId).subscribe(transactions => {\n this.transactions = plainToClass(TransactionDto, transactions)\n\n for (const transaction of this.transactions) {\n if (transaction.invoiceId == null && transaction.pricingId != null && transaction.price != null) {\n this.transactionsToBeBilled.push(transaction)\n }\n }\n })\n }\n\n getTransactionsToBeBilledOfUser(userId) {\n return this.transactionsToBeBilled.filter(t => t.userId == userId)\n }\n\n getMeterAmountSumForUser(userId) {\n let transactionsOfUser = this.getTransactionsToBeBilledOfUser(userId)\n let meterAmounts = transactionsOfUser.map(t => t.meterAmount)\n return meterAmounts.reduce((previous, current) => previous + current)\n }\n\n getPriceSumForUser(user) {\n let transactionsOfUser = this.getTransactionsToBeBilledOfUser(user.id)\n let meterAmounts = transactionsOfUser.map(t => t.meterAmount)\n let sum: number = 0\n for (const meterAmount of meterAmounts) {\n sum += parseFloat((meterAmount * user.pricing.price / 1000).toFixed(2))\n }\n return sum\n }\n\n async getUsers() {\n if(this.isOperator) {\n this.usersService.getUsersOfCustomerAsync(this.ownerCustomerId).then(users => {\n this.users = plainToClass(UserDto, users)\n \n for (const user of this.users) {\n if (user.pricingId != null) {\n this.usersWithPricing.push(user)\n }\n }\n });\n } else {\n this.usersService.getUsersOfCurrentCustomerAsync().then(users => {\n this.users = plainToClass(UserDto, users)\n \n for (const user of this.users) {\n if (user.pricingId != null) {\n this.usersWithPricing.push(user)\n }\n }\n });\n }\n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n }\n}\n","\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\n\nimport { InvoicesComponent } from './invoices.component';\nimport { CreateInvoiceDialogComponent } from '@components/dialog/create-invoice-dialog/create-invoice-dialog.component';\nimport { PrintInvoiceDialogComponent } from '@components/dialog/print-invoice-dialog/print-invoice-dialog.component';\nimport { EditInvoiceSettingsDialogComponent } from '@components/dialog/edit-invoice-settings-dialog/edit-invoice-settings-dialog.component';\nimport { PayoutStatementsDialogComponent } from '@components/dialog/payout-statements-dialog/payout-statements-dialog.component';\nimport { CreditStatementsDialogComponent } from '@components/dialog/credit-statements-dialog/credit-statements-dialog.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'invoices',\n component: InvoicesComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {roles: ['Operator', 'Customer', 'User']},\n children: [\n {\n path: 'create/:key',\n component: CreateInvoiceDialogComponent,\n data: {roles: ['Customer']},\n },\n {\n path: 'print/:key',\n component: PrintInvoiceDialogComponent,\n data: {roles: ['Customer', 'User']},\n },\n {\n path: 'settings',\n component: EditInvoiceSettingsDialogComponent,\n data: {roles: ['Customer']},\n },\n {\n path: 'payout-statements',\n component: PayoutStatementsDialogComponent,\n data: {roles: ['Operator', 'Customer']},\n },\n {\n path: 'credit-statements',\n component: CreditStatementsDialogComponent,\n data: {roles: ['Operator', 'Customer']},\n },\n ]\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class InvoicesModule { }\n","import { Component, Inject, Injector, OnInit } from '@angular/core';\nimport { TableColumn } from '@models/tableColumn';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { plainToClass } from 'class-transformer';\nimport { TableOptions } from '@models/tableOptions';\nimport { UsersService } from '@services/entity/users.service';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { UserDto } from '@dto/userDto';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { DatePipe } from '@angular/common';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { Subscription } from 'rxjs';\nimport { EventService } from '@services/event/event.service';\nimport { KwhPipe } from 'src/app/pipes/kwh.pipe';\nimport { CurrencyPipe } from '@angular/common';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { InvoiceItemDto } from '@dto/invoiceItemDto';\n\n@Component({\n selector: 'app-open-invoices-table',\n templateUrl: './open-invoices-table.component.html',\n styleUrls: ['./open-invoices-table.component.scss'],\n})\nexport class OpenInvoicesTableComponent implements OnInit {\n\n public className = 'OpenInvoicesTableComponent'\n\n public entities: {}[] = []\n public isOperatorView: boolean\n public hasStripeAccount: boolean\n public isTableReady: boolean = false\n\n public isUser: boolean = false\n public isCustomer: boolean = false\n public isOperator: boolean = false\n\n public ownerUserId: string\n public ownerCustomerId: number\n\n public invoices: InvoiceDto[] = []\n public user: UserDto\n public users: UserDto[] = []\n public invoiceItemsToBeBilled: InvoiceItemDto[] = []\n\n public tableColumns: TableColumn[] = [\n { columnDescription: `Benutzer`, property: 'recipientFullName', options: {\n tdStyleClasses: 'createdDate' } },\n \n { columnDescription: `Ladevorgänge`, property: 'selectedTransactions', options: {\n tdStyleClasses: 'createdDate', isLength: true } },\n\n { columnDescription: `Summe kWh geladen`, property: 'meterAmount', options: {\n tdStyleClasses: 'meterAmount', columnPipe: { pipe: new KwhPipe } } },\n\n { columnDescription: `Offener Betrag`, property: 'amount', options: {\n tdStyleClasses: 'amount', columnPipe: { pipe: new CurrencyPipe('de-DE', 'EUR') } } },\n ];\n \n @Inject(EventService)\n public eventService: EventService;\n public routerSubscription: Subscription;\n\n constructor(\n public tableFunctions: TableFunctionsService,\n public router: Router,\n public datePipe: DatePipe,\n public activatedRoute: ActivatedRoute,\n public transactionsService: TransactionsService,\n public usersService: UsersService,\n public customersService: CustomersService,\n public pricingsService: PricingsService,\n public invoicesService: InvoicesService,\n public authenticationService: AuthenticationService,\n public stripeInfosService: StripeInfosService,\n injector: Injector\n ) {\n this.router = injector.get(Router);\n this.eventService = injector.get(EventService);\n }\n\n ngOnInit(): void {\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n this.getRoles();\n\n if (this.isOperator) {\n this.ownerCustomerId = this.activatedRoute.parent.snapshot.params.key;\n } else {\n this.ownerCustomerId = localStorage.getItem('customerId') ? parseInt(localStorage.getItem('customerId')) : undefined;\n }\n\n this.getUser();\n \n this.tableFunctions.sortColumn = 'index';\n this.tableFunctions.sortDirection = 'desc';\n }\n\n ngAfterViewInit() {\n // this.getInvoices(false);\n }\n\n getUser() {\n if(this.isOperator) {\n this.customersService.getMasterUserOfCustomer(this.ownerCustomerId).subscribe(masterUser => {\n this.usersService.getUserDtoById(masterUser.id).subscribe(user => {\n this.user = plainToClass(UserDto, user);\n this.getInvoices();\n this.getInvoiceItems();\n })\n })\n } else {\n this.usersService.getLoggedInUser().subscribe(user => {\n this.user = plainToClass(UserDto, user);\n this.getInvoices();\n this.getInvoiceItems();\n })\n }\n }\n\n async getInvoices() {\n if (!this.user || !this.user.id) return false\n this.invoicesService.getInvoicesOfCustomer(this.user.id).subscribe(invoices => {\n this.invoices = plainToClass(InvoiceDto, invoices);\n }, error => console.error(error))\n }\n \n async getInvoiceItems() {\n if (this.user.id == undefined) return false\n this.invoicesService.getAllUnbilledInvoiceItemsOfIssuerForManualBillingAndAutoBilling(this.user.id).subscribe(invoiceItems => {\n this.invoiceItemsToBeBilled = plainToClass(InvoiceItemDto, invoiceItems);\n this.getUsersToBeBilled()\n })\n }\n\n async getUsersToBeBilled() {\n const groupedItems = this.invoiceItemsToBeBilled.reduce((acc, item) => {\n if (!acc[item.recipientUserId]) {\n acc[item.recipientUserId] = [];\n }\n acc[item.recipientUserId].push(item);\n return acc;\n }, {} as Record);\n\n\n for (const [userId, items] of Object.entries(groupedItems)) {\n if (items.length > 0) {\n this.entities.push({\n userId: userId,\n recipientFullName: items[0].recipientUserFullName,\n selectedTransactions: items.length,\n meterAmount: (this.getInvoiceMeterAmountOfRecipient(items) / 1000).toLocaleString('de-DE', { minimumFractionDigits: 3 }),\n amount: this.getInvoiceAmountOfRecipient(items).toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }),\n })\n }\n }\n this.isTableReady = true\n }\n\n getInvoiceMeterAmountOfRecipient(items: InvoiceItemDto[]) {\n if (items.length < 1) return 0\n return items.map(ii => ii.quantity).reduce((previousValue, currentValue) => previousValue + currentValue, 0)\n }\n \n getInvoiceAmountOfRecipient(items: InvoiceItemDto[]) {\n if (items.length < 1) return 0\n return items.map(ii => ii.total).reduce((previousValue, currentValue) => previousValue + currentValue, 0)\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n }\n\n isDate(value: string) {\n if (!value || typeof value != 'string') return false\n return new RegExp(/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z*/).test(value.trim())\n }\n\n parseDate(date: Date) {\n if (!date) return false\n const months = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']\n return months[new Date(date).getMonth()]\n }\n\n matches(entity: InvoiceDto, term: string) {\n return InvoicesService.matches(entity, term)\n }\n}","
\n
\n
\n \n Ladevorgänge von Benutzern abrechnen\n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.columnDescription }}
\n {{ isDate(entity[column.property]) ? parseDate(entity[column.property]) : entity[column.property] }}\n
\n
\n Keine Einträge vorhanden.\n
\n \n
\n
\n Loading...\n
\n
\n
\n
\n
\n\n\n","import { Component, Injector, Input, OnInit } from '@angular/core';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { plainToClass } from 'class-transformer';\nimport { UsersService } from '@services/entity/users.service';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { UserDto } from '@dto/userDto';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { PayoutStatementsService } from '@services/entity/payout-statements.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { CurrencyPipe } from '@angular/common';\nimport { PayoutAmountDue } from '@dto/payoutAmountDue';\n\n@Component({\n selector: 'payout-preview',\n templateUrl: './payout-preview.component.html',\n styleUrls: ['./payout-preview.component.scss'],\n})\nexport class PayoutPreviewComponent implements OnInit {\n\n public className = 'PayoutPreviewComponent'\n\n public user: UserDto\n\n public isLoading: boolean = true\n public isOperator: boolean = false\n public isCustomer: boolean = false\n public isUser: boolean = false\n public isSupporter: boolean = false;\n \n @Input() customerUserId?: string\n public scheduledPayoutDate: Date\n public amountDue: PayoutAmountDue\n \n constructor(\n public router: Router,\n public activatedRoute: ActivatedRoute,\n public toastService: ToastService,\n public usersService: UsersService,\n public customersService: CustomersService,\n public authenticationService: AuthenticationService,\n public payoutStatementsService: PayoutStatementsService,\n public stripeInfosService: StripeInfosService,\n injector: Injector\n ) {\n this.router = injector.get(Router);\n }\n\n ngOnInit(): void {\n this.getUser();\n this.getRoles();\n this.setScheduledPayoutDate();\n this.getPayoutAmountDue();\n\n this.isLoading = false;\n }\n\n setScheduledPayoutDate(): void {\n const now = new Date()\n let date: number = Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0);\n \n if (now.getDate() > 2) {\n date = Date.UTC(now.getFullYear(), now.getMonth() + 1, now.getDate(), 0, 0, 0, 0);\n }\n\n this.scheduledPayoutDate = new Date(date);\n }\n\n getUser() {\n this.usersService.getLoggedInUser().subscribe(user => {\n this.user = plainToClass(UserDto, user);\n })\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n }\n\n isDate(value: string) {\n if (!value || typeof value != 'string') return false;\n return new RegExp(/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z*/).test(value.trim());\n }\n\n parseDate(date: Date) {\n if (!date) return false;\n const months = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];\n return months[new Date(date).getMonth()];\n }\n\n getPayoutAmountDue() {\n this.payoutStatementsService.getPayoutAmountDue(this.customerUserId).subscribe(amountDue => {\n if (amountDue != null) {\n this.amountDue = amountDue;\n }\n }, error => {\n console.error(error)\n })\n }\n\n payout() {\n if (!this.customerUserId) {\n this.toastService.error($localize`:@@UserIsMissingCustomerId:Es fehlt die Customer ID des Benutzers.`);\n return;\n }\n \n this.payoutStatementsService.payout(this.customerUserId).subscribe(amount => {\n if (amount != null) {\n var cash = new CurrencyPipe('de-DE', 'EUR').transform(amount / 100);\n this.toastService.success($localize`:@@PayoutSuccessful:Auszahlung über ${cash} erfolgreich ausgelöst. Die Überweisung kann ein bis zwei Werktage dauern.`);\n this.getPayoutAmountDue();\n }\n }, error => {\n if (error.includes('Amount must be no less than')) {\n this.toastService.error($localize`:@@PayoutFailed:Der Auszahlungsbetrag muss mindestens 1,00 € betragen.`);\n } else {\n this.toastService.error($localize`:@@PayoutFailed:Die Auszahlung ist fehlgeschlagen.`);\n }\n console.error(error)\n })\n }\n\n matches(entity: InvoiceDto, term: string) {\n return InvoicesService.matches(entity, term);\n }\n}","
\n
\n
\n \n Einnahmen und Auszahlungen\n
\n
\n\n
\n
\n
\n Loading...\n
\n
\n
\n\n
\n \n\n

\n Einnahmen aus QR-Code-Laden und automatischer Abrechnung seit der letzten Auszahlung\n \n {{ amountDue?.revenueSinceLastPayout | currency:'EUR' }}\n \n

\n\n

\n Höhe der nächsten Auszahlung\n \n {{ amountDue?.amountDue | currency:'EUR' }}\n \n

\n\n

Am 3. {{ scheduledPayoutDate | date:'MMMM YYYY' }} erfolgt automatisch die nächste Auszahlung der Einnahmen aus QR-Code-Laden und automatischer Abrechnung.

\n \n
\n \n \n \n \n \n
\n
\n
\n","import { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { HttpParams } from '@angular/common/http';\nimport { Component, Inject, Injector, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Manufacturer } from '@models/manufacturer';\nimport { ManufacturersService } from '@services/entity/manufacturer.services';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\n\n@Component({\n selector: 'app-create-manufacturer',\n templateUrl: './create-manufacturer.component.html',\n styleUrls: ['./create-manufacturer.component.scss']\n})\nexport class CreateManufacturerComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'CreateManufacturerComponent';\n\n public customerId: number;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private manufacturersService: ManufacturersService,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector) {\n super(manufacturersService, injector);\n }\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n }\n\n this.formService.form = new FormGroup({\n name: new FormControl('', this.formService.validators['name']),\n });\n }\n\n onSubmit(formValue) {\n var manufacturer = new Manufacturer(formValue);\n this.manufacturersService.createEntity(manufacturer).subscribe(result => {\n this.newEntityEvent.emit(manufacturer);\n this.toastService.success('Hersteller wurde angelegt.');\n }, error => {\n this.toastService.error('Hersteller konnte nicht angelegt werden.');\n })\n }\n}\n","
\n\n
\n\n
\n \n \n\n
\n Herstellername wird benötigt\n
\n
\n\n
\n
\n","import { Component, Injector, OnInit } from '@angular/core';\nimport { TableColumn } from '@models/tableColumn';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { plainToClass } from 'class-transformer';\nimport { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { TableOptions } from '@models/tableOptions';\nimport { UsersService } from '@services/entity/users.service';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { UserDto } from '@dto/userDto';\nimport { PaymentReceiptDto } from '@dto/paymentReceiptDto';\nimport { KwhPipe } from 'src/app/pipes/kwh.pipe';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\nimport { CurrencyPipe, DatePipe } from '@angular/common';\nimport { PaymentsService } from '@services/payments/payments.service';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\n\n@Component({\n selector: 'app-payment-receipts-table',\n templateUrl: './payment-receipts-table.component.html',\n styleUrls: ['./payment-receipts-table.component.scss'],\n})\nexport class PaymentReceiptsTableComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'PaymentReceiptsTableComponent'\n\n public entities: PaymentReceiptDto[] = []\n public hasStripeAccount: boolean\n public ownerUserId: string\n public ownerCustomerId: number\n public userId: string\n\n public isUser: boolean = false\n public isCustomer: boolean = false\n public isOperator: boolean = false\n\n public user: UserDto\n public users: UserDto[] = []\n public usersWithPricing: UserDto[] = []\n\n public tableColumns: TableColumn[] = [\n { columnDescription: `Bezahlt am`, property: 'receiptCreatedDate', options:\n { tdStyleClasses: 'receiptCreatedDate', columnPipe: { pipe: new DEDatePipe() }, datePipeFormat: 'yyyy.MM.dd' }\n },\n { columnDescription: `Beleg`, property: 'receiptURL', options:\n { tdStyleClasses: 'receipt', isLink: true }\n },\n ];\n\n public tableOptions: TableOptions = {\n hideActions: true,\n hideSearchAll: true\n };\n\n constructor(\n public pricingsService: PricingsService,\n public stripeInfosService: StripeInfosService,\n public paymentsService: PaymentsService,\n public usersService: UsersService,\n injector: Injector\n ) {\n super(pricingsService, injector)\n }\n\n ngOnInit(): void {\n this.getRoles()\n\n if (this.isCustomer || this.isOperator) {\n this.ownerCustomerId = localStorage.getItem('customerId') ? parseInt(localStorage.getItem('customerId')) : undefined\n\n this.tableColumns.unshift(\n { columnDescription: `Tariftyp`, property: 'receiptTypeText', options:\n { tdStyleClasses: 'receiptTypeText' }\n },\n { columnDescription: `Betrag`, property: 'amountCaptured', options:\n { tdStyleClasses: 'amountCaptured', columnPipe: { pipe: new CurrencyPipe('de-DE', 'EUR') }, factor: .01 }\n },\n { columnDescription: `Benutzer`, property: 'userFullName', options:\n { tdStyleClasses: 'payerFullName' }\n },\n { columnDescription: `Gebühr`, property: 'applicationFee', options:\n { tdStyleClasses: 'applicationFee', columnPipe: { pipe: new CurrencyPipe('de-DE', 'EUR') }, factor: .01 }\n },\n )\n\n } else if (this.isUser) {\n this.userId = localStorage.getItem('userId')\n\n this.tableColumns.unshift(\n { columnDescription: `Tariftyp`, property: 'receiptTypeText', options:\n { tdStyleClasses: 'receiptTypeText' }\n },\n { columnDescription: `Betrag`, property: 'amountCaptured', options:\n { tdStyleClasses: 'amountCaptured', columnPipe: { pipe: new CurrencyPipe('de-DE', 'EUR') }, factor: .01 }\n },\n { columnDescription: `Empfänger`, property: 'customerFullName', options:\n { tdStyleClasses: 'recipientFullName' }\n }\n )\n }\n\n this.getUser()\n }\n\n getUser() {\n this.usersService.getLoggedInUser().subscribe(user => {\n this.user = plainToClass(UserDto, user)\n super.ngOnInit()\n })\n }\n\n async initializeEntities() {\n if (this.isOperator) {\n const selectedCustomerId = this.activatedRoute.parent.snapshot.params.key\n this.paymentsService.getPaymentReceiptsOfSelectedCustomer(selectedCustomerId).subscribe(paymentReceipts => {\n this.entities = plainToClass(PaymentReceiptDto, paymentReceipts)\n this.sortReceipts()\n super.setupTable()\n this.mapReceiptType()\n this.tableReady = true\n })\n } else if (this.isCustomer) {\n this.paymentsService.getPaymentReceiptsOfCustomer(this.user.id).subscribe(paymentReceipts => {\n this.entities = plainToClass(PaymentReceiptDto, paymentReceipts)\n this.sortReceipts()\n super.setupTable()\n this.mapReceiptType()\n this.tableReady = true\n })\n } else if (this.isUser) {\n this.paymentsService.getPaymentReceiptsOfUser(this.user.id).subscribe(paymentReceipts => {\n this.entities = plainToClass(PaymentReceiptDto, paymentReceipts)\n this.sortReceipts()\n super.setupTable()\n this.mapReceiptType()\n this.tableReady = true\n })\n }\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n }\n\n matches(entity: any, term: any) {\n throw new Error('Method not implemented.');\n }\n\n mapReceiptType() {\n this.entities.forEach(entity => {\n if (entity.billingMethod == BillingMethodEnum.Manual) entity.receiptTypeText = 'Manuell'\n if (entity.billingMethod == BillingMethodEnum.QRCode) entity.receiptTypeText = 'QR-Code'\n if (entity.billingMethod == BillingMethodEnum.Automatic) entity.receiptTypeText = 'Automatisch'\n });\n }\n\n sortReceipts() {\n this.entities.sort((a, b) => {\n var dateA = new Date(a.receiptCreatedDate);\n var dateB = new Date(b.receiptCreatedDate);\n return dateB.getTime() - dateA.getTime();\n })\n }\n}\n","
\n
\n
\n \n Zahlungsbelege\n
\n
\n\n
\n
\n \n
\n \n
\n
\n Loading...\n
\n
\n
\n\n
10 && !isOperator\">\n \n
\n
\n\n\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n\n\n","import { Component, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport '@angular/localize/init';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { Injector } from '@angular/core';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { plainToClass } from 'class-transformer';\nimport { UsersService } from '@services/entity/users.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { UserDto } from '@dto/userDto';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { InvoiceSettingsDto } from '@dto/invoiceSettingsDto';\n\n@Component({\n selector: 'app-payment-receipts',\n templateUrl: './payment-receipts.component.html',\n styleUrls: ['./payment-receipts.component.scss']\n})\nexport class PaymentReceiptsComponent extends ComponentBase implements OnInit {\n\n public className = 'PaymentReceiptsComponent';\n public activeTab = 'payment-receipts';\n public activeComponentClassName: string;\n\n public isUser: boolean = false;\n public isCustomer: boolean = false;\n public isOperator: boolean = false;\n\n @ViewChild('customerView') customerView: TemplateRef;\n @ViewChild('userView') userView: TemplateRef;\n\n private ownerUserId: string\n private ownerCustomerId: number\n\n private invoiceSettings: InvoiceSettingsDto\n private user: UserDto;\n private users: UserDto[] = []\n private usersWithPricing: UserDto[] = []\n private transactions: TransactionDto[] = []\n private transactionsToBeBilled: TransactionDto[] = []\n private invoices: InvoiceDto[] = []\n\n constructor(\n public tableFunctions: TableFunctionsService,\n public router: Router,\n public activatedRoute: ActivatedRoute,\n public transactionsService: TransactionsService,\n public usersService: UsersService,\n public pricingsService: PricingsService,\n public invoicesService: InvoicesService,\n public stripeInfosService: StripeInfosService,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n // TODO: Refactor determination of templates:\n // Do not call `determineTemplate()` inside the html template:\n // \n // As this causes numerous calls therefore impacting performance\n // Instead, call `determineTemplate()` within ngOnInit()\n this.determineTemplate();\n\n super.ngOnInit();\n }\n\n determineTemplate() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n\n if (this.isCustomer) {\n this.ownerUserId = localStorage.getItem('userId')\n this.ownerCustomerId = localStorage.getItem('customerId') ? parseInt(localStorage.getItem('customerId')) : undefined\n this.getUser()\n return this.customerView;\n }\n \n if (this.isUser) {\n return this.userView;\n }\n }\n\n getUser() {\n this.usersService.getLoggedInUser().subscribe(user => {\n this.user = plainToClass(UserDto, user)\n this.getInvoiceSettings()\n })\n }\n\n async getInvoiceSettings() {\n if (!this.ownerUserId) return false\n this.invoicesService.getInvoiceSettingsOfUser(this.ownerUserId).subscribe(invoiceSettings => {\n this.invoiceSettings = plainToClass(InvoiceSettingsDto, invoiceSettings)\n\n if (this.invoiceSettings && this.isInvoiceSettingsValid(this.invoiceSettings)) {\n this.getInvoices();\n this.getTransactions();\n this.getUsers();\n }\n\n }, error => console.error(error))\n }\n\n private isInvoiceSettingsValid(settings) {\n if (settings.vatId) {\n return true\n }\n return false\n }\n\n async getInvoices() {\n if (!this.user) return false\n this.invoicesService.getInvoicesOfCustomer(this.user.id).subscribe(invoices => {\n this.invoices = plainToClass(InvoiceDto, invoices)\n }, error => console.error(error))\n }\n\n async getTransactions() {\n if (this.ownerCustomerId == undefined) return false\n this.transactionsService.getTransactionsOfCustomer(this.ownerCustomerId).subscribe(transactions => {\n this.transactions = plainToClass(TransactionDto, transactions)\n\n for (const transaction of this.transactions) {\n if (transaction.invoiceId == null && transaction.pricingId != null && transaction.price != null) {\n this.transactionsToBeBilled.push(transaction)\n }\n }\n })\n }\n\n getTransactionsToBeBilledOfUser(userId) {\n return this.transactionsToBeBilled.filter(t => t.userId == userId)\n }\n\n getMeterAmountSumForUser(userId) {\n let transactionsOfUser = this.getTransactionsToBeBilledOfUser(userId)\n let meterAmounts = transactionsOfUser.map(t => t.meterAmount)\n return meterAmounts.reduce((previous, current) => previous + current)\n }\n\n getPriceSumForUser(user) {\n let transactionsOfUser = this.getTransactionsToBeBilledOfUser(user.id)\n let meterAmounts = transactionsOfUser.map(t => t.meterAmount)\n let sum: number = 0\n for (const meterAmount of meterAmounts) {\n sum += parseFloat((meterAmount * user.pricing.price / 1000).toFixed(2))\n }\n return sum\n }\n\n async getUsers() {\n this.usersService.getUsersOfCurrentCustomerAsync().then(users => {\n this.users = plainToClass(UserDto, users)\n\n for (const user of this.users) {\n if (user.pricingId != null) {\n this.usersWithPricing.push(user)\n }\n }\n });\n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n }\n}\n","\n \n\n\n\n \n\n\n\n \n\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\n\nimport { PaymentReceiptsComponent } from './payment-receipts.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'payment-receipts',\n component: PaymentReceiptsComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {roles: ['Operator', 'Customer', 'User']},\n children: [\n // {\n // path: 'create/:key',\n // component: CreateInvoiceDialogComponent,\n // data: {roles: ['Customer']},\n // },\n ]\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class PaymentReceiptsModule { }\n","import { Component, Injector, OnInit } from '@angular/core';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { UserDto } from '@dto/userDto';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { DatePipe } from '@angular/common';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { PayoutStatementsService } from '@services/entity/payout-statements.service';\nimport { PayoutStatementTableData } from '@dto/payoutStatementTableData';\nimport { ToastService } from '@services/toast/toast.service';\n\n@Component({\n selector: 'payout-statements',\n templateUrl: './payout-statements.component.html',\n styleUrls: ['./payout-statements.component.scss'],\n})\nexport class PayoutStatementsComponent implements OnInit {\n\n public className = 'PayoutStatementsComponent'\n\n public user: UserDto\n\n public isLoading: boolean = true\n public isOperator: boolean = false\n public isCustomer: boolean = false\n public isUser: boolean = false\n\n public scheduledPayoutDate: Date\n public payoutStatements: PayoutStatementTableData[] = []\n\n constructor(\n public tableFunctions: TableFunctionsService,\n public router: Router,\n public datePipe: DatePipe,\n public activatedRoute: ActivatedRoute,\n public transactionsService: TransactionsService,\n public usersService: UsersService,\n public payoutStatementsService: PayoutStatementsService,\n public customersService: CustomersService,\n public pricingsService: PricingsService,\n public invoicesService: InvoicesService,\n public authenticationService: AuthenticationService,\n public stripeInfosService: StripeInfosService,\n public toastService: ToastService,\n injector: Injector\n ) {\n this.router = injector.get(Router);\n }\n\n ngOnInit(): void {\n this.getRoles()\n this.setScheduledPayoutDate()\n this.getPayoutStatements()\n }\n\n setScheduledPayoutDate(): void {\n const now = new Date()\n let date: number = Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0)\n\n if (now.getDate() > 2) {\n date = Date.UTC(now.getFullYear(), now.getMonth() + 1, now.getDate(), 0, 0, 0, 0)\n }\n\n this.scheduledPayoutDate = new Date(date)\n }\n\n async getPayoutStatements() {\n if (this.isOperator) {\n const customerId = this.activatedRoute.firstChild.snapshot.params.key;\n if (customerId == null) {\n this.toastService.error(`Auszahlungsbelege konnten nicht geladen werden.`, 0, true)\n } else {\n this.payoutStatementsService.getCustomerPayoutStatementsAsTableData(customerId).subscribe(payoutStatements => {\n this.payoutStatements = payoutStatements\n }, error => console.error(error))\n }\n } else {\n this.payoutStatementsService.getPayoutStatementsAsTableData().subscribe(payoutStatements => {\n this.payoutStatements = payoutStatements\n }, error => console.error(error))\n }\n }\n \n async download(payoutStatement: PayoutStatementTableData) {\n this.toastService.loading('Auszahlungsbeleg wird heruntergeladen...')\n this.payoutStatementsService.downloadPayoutStatement(payoutStatement.id).subscribe((response: any) => {\n const file = new Blob([response], { type: 'application/pdf' });\n const fileUrl = URL.createObjectURL(file);\n const fileName = `${payoutStatement.documentNumber}.pdf`\n\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = fileName;\n a.click();\n\n window.URL.revokeObjectURL(fileUrl);\n this.toastService.success('Auszahlungsbeleg erfolgreich heruntergeladen.', 0, true)\n },\n error => {\n console.error(error);\n this.toastService.error(`Auszahlungsbeleg konnte nicht heruntergeladen werden.`, 0, true)\n })\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) this.isOperator = true;\n if (this.authenticationService.userHasRole('Customer')) this.isCustomer = true;\n if (this.authenticationService.userHasRole('User')) this.isUser = true;\n }\n}","
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
DokumentnummerAusgestellt amAuszahlung erwartet amBetrag
{{ payoutStatement.documentNumber }}{{ payoutStatement.createdAt | dateDE }}{{ payoutStatement.paidAt | dateDE }}{{ payoutStatement.total | currency:'EUR' }}\n \n
\n
\n Keine Einträge vorhanden.\n
\n
","import { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { DecimalPipe } from '@angular/common';\nimport { Component, EventEmitter, Inject, Injector, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { ChargingParkSubscriptionDto } from '@dto/chargingParkSubscriptionDto';\nimport { InvoiceSettingsDto } from '@dto/invoiceSettingsDto';\nimport { PricingDto } from '@dto/pricingDto';\nimport { UserDto } from '@dto/userDto';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\nimport { IEntity } from '@interfaces/entity';\nimport { Pricing } from '@models/pricing';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-create-pricing',\n templateUrl: './create-pricing.component.html',\n styleUrls: ['./create-pricing.component.scss'],\n})\nexport class CreatePricingComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'CreatePricingComponent'\n\n @Input() customerId: number;\n @Output() newPricingEvent = new EventEmitter();\n\n private ownerUserId: string\n public users?: UserDto[] = []\n public selectedUsers?: UserDto[] = []\n public availableUsers?: UserDto[] = []\n public usersSelectEmpty: string = 'Keine Benutzer vorhanden'\n public pricings?: PricingDto[] = []\n public hasStripeAccount: boolean = false\n public stripeProductId: string\n public pricingType: string\n public invoiceSettings: InvoiceSettingsDto\n\n public isUser: boolean = false;\n public isCustomer: boolean = false;\n public isOperator: boolean = false;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private stripeInfosService: StripeInfosService,\n private pricingsService: PricingsService,\n private usersService: UsersService,\n private customersService: CustomersService,\n public activatedRoute: ActivatedRoute,\n public toastService: ToastService,\n public invoicesService: InvoicesService,\n public activeModal: NgbActiveModal,\n injector: Injector\n ) {\n super(pricingsService, injector)\n }\n\n async ngOnInit() {\n this.getRoles();\n\n if (this.isOperator) {\n this.ownerUserId = localStorage.getItem('masterUserId')\n } else {\n this.ownerUserId = localStorage.getItem('userId')\n }\n this.pricingType = localStorage.getItem('pricingType')\n\n super.ngOnInit();\n this.getStripeInfo();\n this.getPricings();\n }\n\n private getStripeInfo() {\n if (!this.ownerUserId) return\n this.stripeInfosService.getStripeInfoOfUser(this.ownerUserId).subscribe(info => {\n this.hasStripeAccount = info.stripeAccountId != null\n this.stripeProductId = info.stripeProductId\n }, error => { })\n }\n\n private getPricings() {\n if (!this.ownerUserId) return\n this.pricingsService.getPricingsOfUser(this.ownerUserId).subscribe(result => {\n this.pricings = plainToClass(PricingDto, result)\n switch (this.pricingType) {\n case 'Rechnung':\n this.pricings = this.getInvoicePricings();\n this.loadUsers()\n break\n case 'Abonnement':\n this.pricings = this.getAbonnementPricings();\n this.loadUsers()\n break\n case 'QR-Code':\n this.pricings = this.getQRCodePricings();\n break\n }\n }, error => { })\n }\n\n parsePrice() {\n let price = this.formService.form.get('price').value.toString()\n if (price.split('.')[1].length < 2) price += '0'\n const parsedPrice = price.match(/[0-9]{1,2}\\.[0-9]{2}/g)[0]\n this.formService.form.get('price').setValue(parsedPrice);\n }\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n description: [],\n price: [Validators.required],\n priceDc: [Validators.required],\n pricing: [],\n pricingToReplace: [],\n archivePricingToReplace: [],\n selectedUsers: [],\n }\n\n this.formService.form = new UntypedFormGroup({\n name: new UntypedFormControl('', this.formService.validators['name']),\n description: new UntypedFormControl('', this.formService.validators['description']),\n price: new UntypedFormControl('', this.formService.validators['price']),\n priceDc: new UntypedFormControl('', this.formService.validators['priceDc']),\n pricing: new UntypedFormControl('', this.formService.validators['pricing']),\n pricingToReplace: new UntypedFormControl(null, this.formService.validators['pricingToReplace']),\n archivePricingToReplace: new UntypedFormControl(false, this.formService.validators['archivePricingToReplace']),\n selectedUsers: new UntypedFormControl(this.selectedUsers, this.formService.validators['selectedUsers']),\n })\n }\n\n async loadUsers() {\n const users = this.isOperator\n ? await this.usersService.getUsersOfCustomerAsync(this.customerId)\n : await this.usersService.getUsersOfCurrentCustomerAsync();\n switch (this.pricingType) {\n case 'Rechnung':\n this.availableUsers = users.filter(u => u.pricingId == null)\n break\n case 'Abonnement':\n this.availableUsers = users.filter(u => u.pricingId == null && u.email != null && u.email.length > 0)\n break\n }\n\n if (users.length > 0 && this.availableUsers.length == 0) {\n this.usersSelectEmpty = \"Alle Benutzer haben bereits einen Tarif\";\n }\n\n this.availableUsers.sort((a, b) => a.fullName.localeCompare(b.fullName));\n\n this.createForm();\n }\n\n public updatedPricingToReplace() {\n const pricingToReplace = this.formService.form.get('pricingToReplace').value\n const pricingAffected = this.pricings.find(p => p.id == pricingToReplace)\n if (pricingAffected) {\n const usersOfPricingToReplace = pricingAffected.selectedUsers || []\n this.availableUsers = this.users.filter(u => u.pricingId == null)\n this.availableUsers.concat(usersOfPricingToReplace)\n const usersSelected = this.formService.form.get('selectedUsers').value.filter(u => u.pricingId == null)\n this.formService.form.patchValue({ selectedUsers: usersSelected.concat(usersOfPricingToReplace) })\n } else {\n this.availableUsers = this.users.filter(u => u.pricingId == null)\n const usersSelected = this.formService.form.get('selectedUsers').value.filter(u => u.pricingId == null)\n this.formService.form.patchValue({ selectedUsers: usersSelected })\n }\n }\n\n swalFireInvalitePrice() {\n Swal.fire({\n title: $localize`:@@InviteUserSuccessHeader:Tarifpreis € 0,00 ungültig`,\n text: $localize`:@@InviteUserSuccessBody:Der Preis für eine kWh muss mindestens € 0,01 betragen. Um einen Benutzer kostenlos laden zu lassen, weisen Sie ihm keinen Tarif zu.`,\n icon: 'info',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green',\n });\n }\n\n onSubmit(formValue) {\n\n if (formValue.price <= 0 && this.pricingType == 'QR-Code') {\n this.swalFireInvalitePrice();\n return;\n }\n\n\n let type = this.pricingType\n let toastPrefix = type == 'Rechnung' ? 'Rechnungs' : type\n\n this.toastService.loading($localize`:@@CreatingPricingToast:Tarif wird erstellt.`);\n\n let pricing = new PricingDto(formValue)\n pricing.price = formValue.price / 100\n pricing.priceDc = formValue.priceDc / 100\n pricing.created = new Date()\n if (this.isOperator) {\n pricing.ownerUserId = localStorage.getItem('masterUserId');\n\n } else {\n pricing.ownerUserId = localStorage.getItem('userId');\n }\n\n if (type == 'Rechnung') {\n pricing.billingMethod = BillingMethodEnum.Manual\n }\n if (type == 'Abonnement') {\n pricing.billingMethod = BillingMethodEnum.Automatic\n }\n if (type == 'QR-Code') {\n pricing.billingMethod = BillingMethodEnum.QRCode\n }\n\n // Create this new pricing\n this.pricingsService.createPricing(pricing).subscribe(newPricing => {\n let pricingToReplace = this.pricings.find(p => p.id == formValue.pricingToReplace)\n this.pricingsService.emitCreated(newPricing, pricingToReplace)\n this.toastService.success($localize`:@@CreatingPricingSuccessToast:Tarif erfolgreich erstellt.`, 0, true);\n this.activeModal.close()\n }, error => {\n if (error.message.includes('active subscription')) {\n this.toastService.error($localize`:@@RemoveActivePricingErrorToast:Benutzer mit aktivem Abonnement müssen den Tarif benutzerseitig kündigen. Sie können dem Benutzer aber die Zugriffsrechte an den Ladestationen entziehen.`, 0, true);\n } else {\n this.toastService.error($localize`:@@CreatingPricingErrorToast:Tarif konnte nicht erstellt werden.`, 0, true);\n }\n })\n\n localStorage.removeItem('pricingType')\n }\n\n private getRoles() {\n if (this.authenticationService.userHasRole('User')) {\n this.isUser = true;\n }\n\n if (this.authenticationService.userHasRole('Customer')) {\n this.isCustomer = true;\n }\n\n if (this.authenticationService.userHasRole('Operator')) {\n this.isOperator = true;\n }\n }\n\n public getInvoicePricings() { return this.pricings.filter(p => this.isInvoicePricing(p)) }\n public getAbonnementPricings() { return this.pricings.filter(p => this.isAbonnementPricing(p)) }\n public getQRCodePricings() { return this.pricings.filter(p => this.isQRCodePricing(p)) }\n\n public isInvoicePricing(p: PricingDto) { return p.billingMethod == BillingMethodEnum.Manual }\n public isAbonnementPricing(p: PricingDto) { return p.billingMethod == BillingMethodEnum.Automatic }\n public isQRCodePricing(p: PricingDto) { return p.billingMethod == BillingMethodEnum.QRCode }\n\n}\n","
\n \n\n
\n\n
\n \n \n\n
\n Name wird benötigt\n
\n
\n\n
\n \n \n\n
\n Beschreibung wird benötigt\n
\n
\n\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n Euro pro Kilowattstunde (kWh) wird benötigt\n
\n
\n\n
\n \n \n {{ pricing.name }}\n \n \n
\n\n
\n \n \n \n \n \n
\n
\n
\n","import { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { PricingDto } from '@dto/pricingDto';\nimport { UserDto } from '@dto/userDto';\nimport { Pricing } from '@models/pricing';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\n\n@Component({\n selector: 'app-create-public-pricing',\n templateUrl: './create-public-pricing.component.html',\n styleUrls: ['./create-public-pricing.component.scss']\n})\nexport class CreatePublicPricingComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'CreatePublicPricingComponent'\n\n public ownerUserId: string\n public pricings: PricingDto[]\n public publicPricing: PricingDto\n public url: string = window.location.origin\n\n constructor(\n private pricingsService: PricingsService,\n public toastService: ToastService,\n private usersService: UsersService,\n private stripeInfosService: StripeInfosService,\n public activeModal: NgbActiveModal,\n injector: Injector\n ) {\n super(pricingsService, injector)\n }\n\n async ngOnInit() {\n super.ngOnInit()\n this.loadPricings()\n }\n\n async loadPricings() {\n const userId = localStorage.getItem('userId')\n this.pricingsService.getPricingsOfUser(userId).subscribe(result => {\n this.pricings = plainToClass(PricingDto, result)\n\n for (const pricing of this.pricings) {\n if (pricing.isPublic) {\n this.publicPricing = pricing\n break;\n }\n }\n\n if (this.pricings) {\n this.createForm()\n }\n }, error => {});\n }\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n description: [],\n price: [Validators.required],\n availableUsers: [],\n pricing: [],\n }\n\n this.formService.form = new UntypedFormGroup({\n name: new UntypedFormControl('', this.formService.validators['name']),\n description: new UntypedFormControl('', this.formService.validators['description']),\n price: new UntypedFormControl('', this.formService.validators['price']),\n availableUsers: new UntypedFormControl('', this.formService.validators['users']),\n pricing: new UntypedFormControl(this.publicPricing, this.formService.validators['users']),\n })\n\n window.setTimeout(() => {\n const toBeFocused = document.getElementById('name')\n if (toBeFocused) toBeFocused.focus()\n }, 500)\n }\n\n onSubmit(formValue) {\n var pricing = new PricingDto(formValue)\n pricing.ownerUserId = localStorage.getItem('userId')\n pricing.isPublic = true\n\n this.stripeInfosService.getStripeInfoOfUser(pricing.ownerUserId).subscribe(result => {\n pricing.productId = result.stripeProductId\n\n this.pricingsService.createPricing(pricing).subscribe(newPricing => {\n this.newDtoEvent.emit(newPricing)\n\n // for (const userId of formValue.availableUsers) {\n // let userDto = new UserDto()\n // userDto.id = userId\n // userDto.pricingId = newPricing.id\n \n // // this.usersService.patchPricingOfUsers(pricing).subscribe(result => {})\n // } \n\n //NOTE: Public pricings have no users\n\n this.toastService.success(`Tarif erfolgreich erstellt.`);\n this.activeModal.close()\n }, error => {\n this.toastService.error(`Tarif konnte nicht erstellt werden.`);\n if (error.length > 0) {\n this.messageService.setError(error)\n }\n })\n\n }, error => {\n this.toastService.error(`Tarif konnte nicht erstellt werden.`);\n if (error.length > 0) {\n this.messageService.setError(error)\n }\n })\n }\n}\n","\n\n
\n
\n
\n \n \n\n
\n Name wird benötigt\n
\n
\n\n
\n \n \n\n
\n Beschreibung wird benötigt\n
\n
\n\n
\n \n \n \n
\n Euro pro Kilowattstunde (kWh) wird benötigt\n
\n
\n
Öffentliches Laden
\n
    \n
  • \n \n Dieser Tarif gilt automatisch für alle Ladepunkte, die im Public Charge Modus sind.\n
  • \n
  • \n \n Öffentlich zugänglich wird der Tarif über einen Link zum Ladepunkt. Sie finden den Link in der Detail-Ansicht eines Ladepunkts.\n
  • \n
  • \n \n Der Link führt Interessenten auf die Tarifseite des Ladepunkts, siehe Vorschau links.\n
  • \n
\n
\n
\n","import { Component, Injector, Input, OnInit } from '@angular/core';\nimport { TableColumn } from '@models/tableColumn';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { plainToClass } from 'class-transformer';\nimport { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { PricingDto } from '@dto/pricingDto';\nimport { TableOptions } from '@models/tableOptions';\nimport { UsersService } from '@services/entity/users.service';\nimport { CurrencyPipe } from '@angular/common';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\nimport { Pricing } from '../../../../models/pricing';\n\n@Component({\n selector: 'app-pricings-table',\n templateUrl: './pricings-table.component.html',\n styleUrls: ['./pricings-table.component.scss'],\n})\nexport class PricingsTableComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n @Input() parent_operator: boolean;\n\n public className = 'PricingsTableComponent'\n\n public isOperatorView: boolean\n public entities: PricingDto[]\n public hasStripeAccount: boolean\n\n public userId: string;\n\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n public isSupporter: boolean = false;\n\n public tableColumns: TableColumn[] = [\n { columnDescription: `Typ`, property: 'type', options: {\n tdStyleClasses: 'type' } },\n\n { columnDescription: `Bezeichnung`, property: 'name', options: {\n tdStyleClasses: 'designation' } },\n\n { columnDescription: `Beschreibung`, property: 'description', options: {\n tdStyleClasses: 'description' } },\n\n { columnDescription: `Preis AC`, property: 'price', options: {\n tdStyleClasses: 'currency', columnPipe: { pipe: new CurrencyPipe('de-DE', 'EUR') } } },\n\n { columnDescription: `Preis DC`, property: 'priceDc', options: {\n tdStyleClasses: 'currency', columnPipe: { pipe: new CurrencyPipe('de-DE', 'EUR') } } },\n\n { columnDescription: `Benutzer`, property: 'selectedUsers', options: {\n tdStyleClasses: 'users', isLength: true } },\n ];\n\n public tableOptions: TableOptions = {\n hideActions: false,\n hideSearchAll: true,\n rowRouterLink: 'edit/{id}'\n };\n\n constructor(\n public pricingsService: PricingsService,\n public stripeInfosService: StripeInfosService,\n private usersService: UsersService,\n private customerService: CustomersService,\n injector: Injector\n ) {\n super(pricingsService, injector)\n }\n\n ngOnInit(): void {\n this.getRoles();\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n super.ngOnInit();\n }\n\n getTime(date?: Date) {\n return new Date(date) != null ? new Date(date).getTime() : 0;\n }\n\n async initializeEntities() {\n if (this.parent_operator) {\n this.customerService.getMasterUserOfCustomerAsync(this.activatedRoute.parent.snapshot.params.key).then(masterUser => {\n this.userId = masterUser.id;\n this.getPricingOfUser();\n })\n }\n else {\n this.userId = localStorage.getItem('userId');\n this.getPricingOfUser();\n } \n }\n\n getPricingOfUser() {\n this.pricingsService.getPricingsOfUser(this.userId).subscribe(result => {\n this.entities = plainToClass(PricingDto, result)\n\n if (this.entities) {\n for (const entity of this.entities) {\n // entity.type = entity.isPublic ? 'QR-Code' : entity.priceId ? 'Abonnement' : 'Rechnung'\n switch(entity.billingMethod){\n case BillingMethodEnum.Manual:\n entity.type = 'Manuell';\n break;\n case BillingMethodEnum.QRCode:\n entity.type = 'QR-Code';\n break;\n case BillingMethodEnum.Automatic:\n entity.type = 'Abonnement';\n break;\n }\n \n }\n\n this.entities = this.entities.sort((a, b) => {return this.getTime(b.created) - this.getTime(a.created)})\n \n super.setupTable()\n }\n\n this.stripeInfosService.getStripeInfoOfUser(this.userId).subscribe(result => {\n this.hasStripeAccount = result.stripeAccountId != null\n })\n }, error => console.error(error))\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n }\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n }\n\n matches(entity: PricingDto, term: string) {\n return PricingsService.matches(entity, term)\n }\n}\n","\n
\n \n
\n
\n
\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport '@angular/localize/init';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { Injector } from '@angular/core';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { PricingDto } from '@dto/pricingDto';\nimport { plainToClass } from 'class-transformer';\nimport { UsersService } from '@services/entity/users.service';\nimport { StripeInfoDto } from '@dto/stripeInfoDto';\nimport { PaymentsService } from '@services/payments/payments.service';\nimport { UserDto } from '@dto/userDto';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { InvoiceSettingsDto } from '@dto/invoiceSettingsDto';\n\n@Component({\n selector: 'app-pricings',\n templateUrl: './pricings.component.html',\n styleUrls: ['./pricings.component.scss']\n})\nexport class PricingsComponent extends ComponentBase implements OnInit {\n\n public activeComponentClassName: string = 'PricingsComponent'\n\n public className = 'PricingsComponent';\n public activeTab = 'pricings';\n public user: UserDto;\n public users: UserDto[];\n public isUser: boolean = false;\n public isCustomer: boolean = false;\n public isOperator: boolean = false;\n public isSupporter: boolean = false;\n public stripeInfo: StripeInfoDto;\n\n public pricings: PricingDto[];\n public activeInvoicePricings: PricingDto[] = [];\n public activeAbonnementPricings: PricingDto[] = [];\n public activeQRCodePricings: PricingDto[] = [];\n public invoiceSettings: InvoiceSettingsDto = null;\n public isInvoiceSettingsValid: boolean = false;\n public isOnboardingCompleted: boolean = false;\n public isOnboardingStarted: boolean = false;\n public isLoaded: boolean = false;\n private loadCounter: number = 0;\n spinner1 = 'pricing';\n spinner2 = 'automatic';\n spinner3 = 'qrcode';\n\n public isTestingOrDevStage: boolean = false;\n\n constructor(\n public tableFunctions: TableFunctionsService,\n public router: Router,\n public activatedRoute: ActivatedRoute,\n public usersService: UsersService,\n public customersService: CustomersService,\n public pricingsService: PricingsService,\n public stripeInfosService: StripeInfosService,\n private paymentsService: PaymentsService,\n private invoicesService: InvoicesService,\n private toastService: ToastService,\n private spinner: NgxSpinnerService,\n\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.getRoles();\n this.isTestingOrDevStage = (window.location.host == 'cubos-connect-testing.azurewebsites.net') || (window.location.host == 'cubos-connect-dev.azurewebsites.net') || (window.location.host == 'localhost:44304')\n\n if (this.isOperator) {\n this.customersService.getMasterUserOfCustomer(this.activatedRoute.parent.snapshot.params.key)\n .subscribe(masterUser => {\n localStorage.setItem('masterUserId', masterUser.id);\n this.usersService.getUserDtoById(masterUser.id).subscribe(this.handleUser.bind(this));\n });\n } else {\n this.usersService.getLoggedInUser().subscribe(this.handleUser.bind(this));\n }\n\n this.pricingsService.pricingCreatedEvent.subscribe(pricings => {\n if (pricings[1] != null) {\n this.pricings = this.pricings.filter(p => p.id != pricings[1].id)\n }\n this.pricings.push(pricings[0])\n this.updateActivePricings()\n });\n\n this.pricingsService.pricingUpdatedEvent.subscribe(pricing => {\n const index = this.pricings.map(p => p.id).indexOf(pricing.id)\n this.pricings[index] = pricing\n this.updateActivePricings()\n });\n }\n\n handleUser(user) {\n this.user = user;\n this.getPricings();\n this.getStripeInfo();\n this.getInvoiceSettings();\n }\n\n private incrementAndCheckLoadCounter() {\n this.loadCounter += 1; // Increment the counter each time a call completes\n if (this.loadCounter >= 3) { // Check if all calls have completed\n this.isLoaded = true; // All HTTP requests have completed\n }\n }\n\n private updateActivePricings() {\n this.activeInvoicePricings = this.getInvoicePricings().filter(p => p.selectedUsers != null && p.selectedUsers.length > 0);\n this.activeAbonnementPricings = this.getAbonnementPricings().filter(p => p.selectedUsers != null && p.selectedUsers.length > 0);\n\n const qrcp = this.getQRCodePricings()\n if (qrcp.length > 0) this.activeQRCodePricings = [qrcp[qrcp.length - 1]]\n\n }\n\n private getPricings() {\n if (!this.user) return false\n this.pricingsService.getPricingsOfUser(this.user.id).subscribe(result => {\n this.pricings = plainToClass(PricingDto, result)\n\n if (this.pricings) {\n for (const p of this.pricings) {\n if (this.isInvoicePricing(p)) p.type = 'Rechnung'\n if (this.isAbonnementPricing(p)) p.type = 'Abonnement'\n if (this.isQRCodePricing(p)) p.type = 'QR-Code'\n }\n }\n this.updateActivePricings()\n this.incrementAndCheckLoadCounter()\n }, error => {\n console.error(\"Could not get Pricings.\")\n this.incrementAndCheckLoadCounter()\n })\n }\n\n public getStripeInfo() {\n this.stripeInfosService.getStripeInfoOfUser(this.user.id).subscribe(stripeInfo => {\n this.stripeInfo = stripeInfo\n this.updateOnboardingState()\n if (this.isOnboardingStarted && !this.isOnboardingCompleted) {\n this.stripeInfosService.createStripeOnboardingUrl(this.user.id, this.stripeInfo.stripeAccountId).subscribe(result => {\n if (result.stripeOnboardingUrl) {\n this.stripeInfo.stripeOnboardingUrl = result.stripeOnboardingUrl;\n }\n }, error => {\n console.error(\"Could not create Stripe onboarding URL.\");\n });\n } else if (this.isOnboardingCompleted) {\n this.stripeInfosService.createStripeDashboardUrl(this.user.id, this.stripeInfo.stripeAccountId).subscribe(result => {\n if (result.stripeDashboardUrl) {\n this.stripeInfo.stripeDashboardUrl = result.stripeDashboardUrl;\n }\n }, error => {\n console.error(\"Could not create Stripe dashboard URL.\");\n });\n }\n this.incrementAndCheckLoadCounter()\n }, error => {\n console.error(\"Could not get StripeInfo.\");\n this.incrementAndCheckLoadCounter()\n })\n }\n\n updateOnboardingState() {\n const hasAccountId = this.stripeInfo && this.stripeInfo.stripeAccountId && this.stripeInfo.stripeAccountId.trim() !== '';\n\n this.isOnboardingCompleted = hasAccountId && (this.stripeInfo.stripeOnboardingUrl === '');\n this.isOnboardingStarted = hasAccountId;\n }\n\n getInvoiceSettings() {\n this.invoicesService.getInvoiceSettingsOfUser(this.user.id).subscribe({\n next: (invoiceSettings) => {\n this.invoiceSettings = plainToClass(InvoiceSettingsDto, invoiceSettings);\n this.isInvoiceSettingsValid = !!this.invoiceSettings?.vatId; // Simplified truthy check\n },\n error: (error) => {\n console.error(error);\n },\n complete: () => {\n this.incrementAndCheckLoadCounter()\n }\n });\n }\n\n public getInvoicePricings() { return this.pricings.filter(p => this.isInvoicePricing(p)) }\n public getAbonnementPricings() { return this.pricings.filter(p => this.isAbonnementPricing(p)) }\n public getQRCodePricings() { return this.pricings.filter(p => this.isQRCodePricing(p)) }\n\n public isInvoicePricing(p: PricingDto) { return p.billingMethod == BillingMethodEnum.Manual }\n public isAbonnementPricing(p: PricingDto) { return p.billingMethod == BillingMethodEnum.Automatic }\n public isQRCodePricing(p: PricingDto) { return p.billingMethod == BillingMethodEnum.QRCode }\n\n private getRoles() {\n if (this.authenticationService.userHasRole('User')) {\n this.isUser = true;\n }\n\n if (this.authenticationService.userHasRole('Customer')) {\n this.isCustomer = true;\n }\n\n if (this.authenticationService.userHasRole('Operator')) {\n this.isOperator = true;\n }\n if (this.authenticationService.userHasRole('Supporter')) {\n this.isSupporter = true;\n }\n }\n\n setPricingType(type) {\n localStorage.setItem('pricingType', type)\n this.router.navigate(['create'], { relativeTo: this.activatedRoute });\n }\n\n public createStripeAccount() {\n this.paymentsService.createStripeAccount(this.user).subscribe(result => {\n window.open(result.url, '_self')\n }, error => { console.error(error) });\n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n }\n\n navigateTo(url: string) {\n window.open(url, '_self');\n }\n\n public testMonthEnd() // for test monthly auto billing\n {\n this.toastService.loading('Abrechnung gestartet')\n this.pricingsService.testMonthEndForCustomer(this.user.id).subscribe(() => {\n this.toastService.success('Abrechnung erfolgreich', 0, true)\n }, error => {\n this.toastService.error('Abrechnung fehlgeschlagen', 0, true)\n console.error(error)\n });\n }\n}\n","
\n
\n
\n
Manuelle Abrechnung\n
\n
\n \n
\n Bei der manuellen Abrechnung erfolgt die Rechnungsstellung bei Bedarf. Ab dem Moment der Zuteilung des\n Tarifs an einen Benutzer listet CUBOS.Connect alle offenen Rechnungsposten auf. Sie bestimmen, wann Sie eine\n Rechnung für den Benutzer erzeugen möchten und kontrollieren die Rechnungsdaten.\n
    \n
  • Sie können jedem Benutzer nur einen Tarif gleichzeitig zuweisen. Aber Sie können beliebig viele Tarife\n gleichzeitig haben und Sie können einem Tarif mehrere Benutzer hinzufügen.
  • \n
\n
\n
\n
\n
\n
\n
\n
\n

{{ pricing.name }}

\n
\n
AC€ {{ pricing.price | number: '1.2-2':'de-DE' }}
\n
DC€ {{ pricing.priceDc | number: '1.2-2':'de-DE' }}
\n
\n

{{ pricing.description }}

\n \n \n {{pricing.selectedUsers.length || 0 }}\n \n
\n \n
\n \n
\n
\n
\n
\n\n \n
\n
\n
\n Automatisierte Abrechnung\n
\n
\n Automatisierte Abrechnung | QR-Code\n
\n
\n
\n \n \n
\n Bei der automatisierten Abrechnung erfolgen Rechnungsstellung und Abbuchung automatisch bei jedem\n Monatswechsel durch CUBOS.Connect. Benutzer zahlen wahlweise mit Kreditkarte, Apple Pay, Google Pay,\n SEPA-Lastschrift oder in Kürze auch mit PayPal.\n
    \n
  • Der zu zahlende Mindestbetrag für die automatisierte Abrechnung beträgt 1 Euro.
  • \n
  • Der von Ihnen gewählte Tarif ist der Preis pro kWh inkl. Mehrwertsteuer, der auch dem Nutzer berechnet\n wird.
  • \n
  • Sie können jedem Benutzer nur einen Tarif gleichzeitig zuweisen. Aber Sie können beliebig viele Tarife\n gleichzeitig haben und Sie können einem Tarif mehrere Benutzer hinzufügen.
  • \n
  • Sie sollten etwa 30% auf Ihren Netto-Stromkostenbetrag aufschlagen, wenn Sie einen Tarif zum\n Selbstkostenpreis anbieten möchten.
  • \n
  • Wenn Sie einen Tarif an einen Benutzer zugeteilt haben, warten Sie bis auf der Seite Benutzer in\n der Spalte \"Autom. Abrechnung\" ein Haken erscheint. Autorisieren Sie den Benutzer erst danach an den\n Ladestationen.\n
  • \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n

{{ pricing.name }}

\n
\n
AC€ {{ pricing.price | number: '1.2-2':'de-DE' }}
\n
DC€ {{ pricing.priceDc | number: '1.2-2':'de-DE' }}
\n
\n

{{ pricing.description }}

\n \n \n {{pricing.selectedUsers.length || 0 }}\n \n
\n
\n \n
\n
\n
\n

Zahlungsdienstleister einrichten

\n

Für einen sicheren Geldverkehr arbeiten wir mit dem Zahlungsdienstleister\n Stripe zusammen. Führen Sie das Stripe Onboarding durch und erstellen Sie anschließend individuelle Tarife.\n

\n

Das Onboarding dauert wenige Minuten. Bitte halten Sie Ihre\n Unternehmensdaten, Geschäftskontodaten und personenbezogene Daten zum Geschäftsführer bereit.

\n
\n\n
\n

Einrichtung abschließen

\n

Fast geschafft! Um die Automatische Abrechnung und QR-Code-Laden nutzen zu können, benötigen wir nur noch\n wenige Angaben.

\n
\n\n
\n
\n \n \n \n Stripe Onboarding abschließen\n \n
\n

Bitte schließen Sie das Stripe Onboarding ab, um Stripe als\n Zahlungsdienstleister zu aktivieren.

\n

\n \n \n

\n\n
\n \n \n
Rechnungseinstellungen\n vornehmen
\n
\n

Bitte geben Sie die nötigen Angaben für Rechnungseinstellungen an,\n um die Erzeugung von Rechnungen zu ermöglichen.

\n

\n \n

\n
\n
\n
\n\n \n
\n\n \n
\n
\n
QR-Code-Laden
\n
\n \n \n
\n Beim QR-Code-Laden erfolgen Rechnungsstellung und Abbuchung automatisch nach Beenden des Ladevorgangs. Die\n Nutzer\n (Gäste) können nach Abscannen des QR-Codes und eintragen ihrer E-Mail-Adresse mit Kreditkarte, Apple Pay,\n Google Pay und\n in Kürze PayPal bezahlen.\n
    \n
  • Der zu zahlende Mindestbetrag für einen angefangenen Ladevorgang beträgt 1 Euro.
  • \n
  • Der von Ihnen gewählte Tarif ist der Preis pro kWh inkl. Mehrwertsteuer, der auch dem Nutzer berechnet\n wird.
  • \n
  • Zur Zeit kann nur ein QR-Code-Tarif aktiv sein.
  • \n
  • Sie sollten etwa 30% auf Ihren Netto-Stromkostenbetrag aufschlagen, wenn Sie einen QR-Code-Tarif zum\n Selbstkostenpreis anbieten möchten.
  • \n
\n
\n
\n
\n
\n\n
\n
\n
\n

{{ pricing.name }}

\n
\n
AC€ {{ pricing.price | number: '1.2-2':'de-DE' }}
\n
DC€ {{ pricing.priceDc | number: '1.2-2':'de-DE' }}
\n
\n

{{ pricing.description }}

\n \n \n {{pricing.selectedUsers.length || 0 }}\n \n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
Alle Tarife
\n
\n \n
\n
\n\n
\n \n
\n\n
10 && !this.isOperator\">\n \n
\n
\n
\n\n\n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n
\n\n\n\n\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\n\nimport { PricingsComponent } from './pricings.component';\nimport { CreatePricingDialogComponent } from '@components/dialog/create-pricing-dialog/create-pricing-dialog.component';\nimport { EditPricingDialogComponent } from '@components/dialog/edit-pricing-dialog/edit-pricing-dialog.component';\nimport { DeletePricingDialogComponent } from '@components/dialog/delete-pricing-dialog/delete-pricing-dialog.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'pricings',\n component: PricingsComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {\n roles: ['Operator', 'Customer']\n },\n children: [\n {\n path: 'create',\n component: CreatePricingDialogComponent,\n },\n {\n path: 'edit/:key',\n component: EditPricingDialogComponent,\n },\n {\n path: 'delete/:key',\n component: DeletePricingDialogComponent,\n },\n ]\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class PricingsModule { }\n","import { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { HttpParams } from '@angular/common/http';\nimport { Component, Inject, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { RfidCard } from '@models/rfidCard';\nimport { RfidCardsService } from '@services/entity/rfidCards.service';\nimport { ToastService } from '@services/toast/toast.service';\n\n@Component({\n selector: 'app-create-rfid-card',\n templateUrl: './create-rfid-card.component.html',\n styleUrls: ['./create-rfid-card.component.scss']\n})\nexport class CreateRfidCardComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'CreateRfidCardComponent';\n\n public customerId: number;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private rfidCardsService: RfidCardsService,\n public toastService: ToastService,\n injector: Injector) {\n super(rfidCardsService, injector);\n }\n\n createForm() {\n this.formService.validators = {\n idTag: [Validators.required],\n }\n\n this.formService.form = new UntypedFormGroup({\n idTag: new UntypedFormControl('', this.formService.validators['idTag']),\n });\n\n document.getElementById('idTag').focus();\n }\n\n onSubmit(formValue) {\n\n if (formValue.idTag.length < 8) {\n this.toastService.clear();\n this.toastService.error(`Eingabefehler: RFID-Kartennummer benötigt min. 8-Zeichen.`, 0, true);\n return;\n }\n var rfidCard = new RfidCard(formValue);\n\n\n if (this.customerId) {\n this.rfidCardsService.createRfidCardForCustomer(this.customerId, rfidCard).subscribe(newRfidCard => {\n this.rfidCardsService.emitCreated(newRfidCard);\n this.toastService.success('RFID Karte wurde angelegt.');\n this.formService.form.reset();\n }, error => {\n this.toastService.error('RFID Karte konnte nicht angelegt werden.');\n })\n }\n else {\n this.rfidCardsService.createRfidCard(rfidCard).subscribe(newRfidCard => {\n this.rfidCardsService.emitCreated(newRfidCard);\n this.toastService.success('RFID Karte wurde angelegt.');\n this.formService.form.reset();\n }, error => {\n if (error == 'Card_Exists') {\n this.toastService.error(`Die RFID Karte \"${rfidCard.idTag}\" existiert bereits.`);\n } else {\n this.toastService.error('RFID Karte konnte nicht angelegt werden.');\n }\n })\n }\n }\n\n onInput(event: Event) {\n this.toastService.clear();\n const inputValue = (event.target as HTMLInputElement).value;\n const regexNonHex: RegExp = /[^0-9A-Fa-f]/g;\n \n let replacedValue = inputValue.replace(regexNonHex, '').toLowerCase();\n \n if (regexNonHex.test(inputValue)) {\n this.toastService.error(`Eingabefehler: Nur hexadezimale Zahlen erlaubt`, 0, true);\n }\n \n this.formService.form.get('idTag')?.setValue(replacedValue, { emitEvent: false });\n }\n}\n","
\n \n\n
\n
\n \n \n
\n RFID-Kartennummer wird benötigt\n
\n
\n
\n
","import { Component, Injector, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RemoveRfidAssignmentDialogContentComponent } from '@components/dialog/remove-rfid-assignment-dialog-content/remove-rfid-assignment-dialog-content.component';\nimport { TableColumn } from '@models/tableColumn';\nimport { RfidCardsService } from '@services/entity/rfidCards.service';\nimport { plainToClass } from 'class-transformer';\nimport { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport '@angular/localize/init';\nimport { DeleteRFIDCardForCustomerDialogContentComponent } from '../../../dialog/delete-rfid-card-for-customer-dialog-content/delete-rfid-card-for-customer-dialog-content.component';\nimport { RfidCardDto } from '@dto/rfidCardDto';\nimport { RfidScanDialogContentComponent } from '@components/dialog/rfid-scan-dialog-content/rfid-scan-dialog-content.component';\nimport { TableOptions } from '@models/tableOptions';\nimport { EditRfidCardDialogContentComponent } from '@components/dialog/edit-rfid-card-dialog/edit-rfid-card-dialog-content/edit-rfid-card-dialog-content.component';\n\n@Component({\n selector: 'app-rfid-cards-table',\n templateUrl: './rfid-cards-table.component.html',\n styleUrls: ['./rfid-cards-table.component.css'],\n})\nexport class RfidCardsTableComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'RfidCardsTableComponent';\n\n public isOperatorView: boolean;\n public isSupporter: boolean = false;\n public entities: RfidCardDto[];\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@RfidCardsTablecolumn1:RFID-Kartennummer`, property: 'idTag' },\n { columnDescription: $localize`:@@RfidCardsTablecolumn2:Vorname`, property: 'userFirstName' },\n { columnDescription: $localize`:@@RfidCardsTablecolumn3:Nachname`, property: 'userLastName' },\n { columnDescription: $localize`:@@RfidCardsTablecolumn4:Tags`, property: 'tagsString'},\n { columnDescription: $localize`:@@RfidCardsTablecolumn5:Notiz`, property: 'note'},\n ];\n\n public tableOptions: TableOptions = {\n showNumbering: true,\n hideActions: true,\n rowRouterLink: 'edit/{id}'\n };\n\n constructor(\n public rfidCardsService: RfidCardsService,\n private dialog: NgbModal,\n injector: Injector\n ) {\n super(rfidCardsService, injector);\n }\n\n ngOnInit(): void {\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n this.isSupporter = this.authenticationService.userHasRole('Supporter');\n super.ngOnInit();\n\n this.tableFunctions.sortColumn = 'index';\n this.tableFunctions.sortDirection = 'desc';\n\n this.rfidCardsService.rfidCardCreatedEvent.subscribe(rfidCard => {\n this.initializeEntities()\n });\n }\n\n async initializeEntities() {\n if (this.isOperatorView) {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n this.rfidCardsService.getRfidCardsOfCustomer(customerId).subscribe(result => {\n this.entities = plainToClass(RfidCardDto, result);\n this.entities = this.entities.filter(r => r.idTag != 'freecharge');\n super.setupTable();\n }, error => {});\n }\n else {\n this.rfidCardsService.getRfidCardsOfCurrentCustomer().subscribe(result => {\n this.entities = plainToClass(RfidCardDto, result);\n this.entities = this.entities.filter(r => r.idTag != 'freecharge');\n super.setupTable();\n }, error => {});\n }\n }\n\n matches(entity: RfidCardDto, term: string) {\n return RfidCardsService.matches(entity, term);\n }\n\n openEditDialog(rfidCard: RfidCardDto) {\n const dialogRef = this.dialog.open(EditRfidCardDialogContentComponent, { centered: true });\n dialogRef.componentInstance.rfidCard = rfidCard;\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.snapshot.params.key;\n dialogRef.componentInstance.isOperatorView = this.isOperatorView;\n\n dialogRef.result.then((result) => {\n this.initializeEntities();\n }, (backdrop) => {\n\n });\n }\n\n openRemoveAssignmentDialog(rfidCard: RfidCardDto) {\n const dialogRef = this.dialog.open(RemoveRfidAssignmentDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.rfidCard = rfidCard;\n\n dialogRef.result.then((result) => {\n this.initializeEntities();\n }, (backdrop) => {\n\n });\n }\n \n openDeleteRFIDDialog(rfidCard: RfidCardDto) {\n const dialogRef = this.dialog.open(DeleteRFIDCardForCustomerDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.rfidCard = rfidCard;\n\n dialogRef.result.then((result) => {\n this.initializeEntities();\n }, (backdrop) => {\n\n });\n }\n\n openScanDialog() {\n const dialogRef = this.dialog.open(RfidScanDialogContentComponent, { centered: true, backdrop: 'static', keyboard: false });\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.snapshot.params.key;\n\n dialogRef.result.then((result) => {\n this.initializeEntities();\n }, (backdrop) => {\n\n });\n }\n}\n","\n \n \n \n\n \n \n \n \n \n\n \n\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n\n \n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport '@angular/localize/init';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { Injector } from '@angular/core';\n\n@Component({\n selector: 'app-Rfid',\n templateUrl: './rfid.component.html',\n styleUrls: ['./rfid.component.scss']\n})\nexport class RfidComponent extends ComponentBase implements OnInit {\n\n public className = 'RfidComponent';\n public activeTab = 'users';\n\n public activeComponentClassName: string;\n\n links = [\n { title: $localize`:@@RfidTitel3:RFID-Karten`, route: 'rfid', icon: 'rfid-card' },\n { title: $localize`:@@RfidTitel5:Nicht zugeteilte RFID-Karten`, route: 'unassigned-rfid', icon:'rfid-card' },\n ];\n\n constructor(public tableFunctions: TableFunctionsService, public router: Router, public activatedRoute: ActivatedRoute, injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.determineActiveTab();\n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n }\n\n determineActiveTab() {\n for (let link of this.links) {\n if (this.router.url.includes(link.route)) {\n this.activeTab = link.route;\n }\n }\n }\n}\n","\n\n
\n
\n \n\n
\n
\n
\n \n
\n
\n
\n\n
\n \n
\n
\n
\n\n\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { RfidComponent } from './rfid.component';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\n\nimport { RfidCardsTableComponent } from '@components/entities/rfid-cards/rfid-cards-table/rfid-cards-table.component';\nimport { UnassignedRfidCardsTableComponent } from '@components/entities/rfid-cards/unassigned-rfid-cards-table/unassigned-rfid-cards-table.component';\nimport { CreateRfidCardDialogComponent } from '@components/dialog/create-rfid-card-dialog/create-rfid-card-dialog.component';\nimport { EditRfidCardDialogComponent } from '@components/dialog/edit-rfid-card-dialog/edit-rfid-card-dialog.component';\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'rfidcards', component: RfidComponent, canActivate: [AuthGuard, RoleGuard], data: { roles: ['Customer'] }, children: [\n {\n path: '',\n redirectTo: 'rfid',\n pathMatch: 'full'\n },\n {\n path: 'rfid',\n component: RfidCardsTableComponent,\n children: [\n {\n path: 'create',\n component: CreateRfidCardDialogComponent\n },\n {\n path: 'edit/:key',\n component: EditRfidCardDialogComponent\n }\n ]\n },\n {\n path: 'unassigned-rfid',\n component: UnassignedRfidCardsTableComponent,\n children: [\n {\n path: 'create',\n component: CreateRfidCardDialogComponent\n },\n {\n path: 'edit/:key',\n component: EditRfidCardDialogComponent\n }\n ]\n },\n \n ]\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class RfidModule { }\n","import { Component, Injector, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RemoveRfidAssignmentDialogContentComponent } from '@components/dialog/remove-rfid-assignment-dialog-content/remove-rfid-assignment-dialog-content.component';\nimport { TableColumn } from '@models/tableColumn';\nimport { RfidCardsService } from '@services/entity/rfidCards.service';\nimport { plainToClass } from 'class-transformer';\nimport { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport '@angular/localize/init';\nimport { DeleteRFIDCardForCustomerDialogContentComponent } from '../../../dialog/delete-rfid-card-for-customer-dialog-content/delete-rfid-card-for-customer-dialog-content.component';\nimport { RfidCardDto } from '@dto/rfidCardDto';\nimport { RfidScanDialogContentComponent } from '@components/dialog/rfid-scan-dialog-content/rfid-scan-dialog-content.component';\nimport { TableOptions } from '@models/tableOptions';\n\n@Component({\n selector: 'app-unassigned-rfid-cards-table',\n templateUrl: './unassigned-rfid-cards-table.component.html',\n styleUrls: ['./unassigned-rfid-cards-table.component.scss'],\n})\nexport class UnassignedRfidCardsTableComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'UnassignedRfidCardsTableComponent';\n\n public isOperatorView: boolean;\n public isSupporter: boolean = false;\n public entities: RfidCardDto[];\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@UnassignedRfidCardsTablecolumn1:RFID-Kartennummer`, property: 'idTag' },\n { columnDescription: $localize`:@@UnassignedRfidCardsTablecolumn3:Zuletzt genutzt`, property: 'lastAuthorizationDate' },\n { columnDescription: $localize`:@@UnassignedRfidCardsTablecolumn2:Ladestation`, property: 'lastUsedChargingStationName' },\n { columnDescription: $localize`:@@UnassignedRfidCardsTablecolumn4:Notiz`, property: 'note' }\n ];\n\n public tableOptions: TableOptions = {\n showNumbering: true,\n hideActions: true,\n rowRouterLink: 'edit/{id}'\n };\n\n constructor(\n public rfidCardsService: RfidCardsService,\n private dialog: NgbModal,\n injector: Injector\n ) {\n super(rfidCardsService, injector);\n }\n\n ngOnInit(): void {\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n this.isSupporter = this.authenticationService.userHasRole('Supporter');\n super.ngOnInit();\n\n this.tableFunctions.sortColumn = 'id';\n this.tableFunctions.sortDirection = 'desc';\n\n this.rfidCardsService.rfidCardCreatedEvent.subscribe(rfidCard => {\n this.initializeEntities()\n });\n }\n\n async initializeEntities() {\n if (this.isOperatorView) {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n this.rfidCardsService.getRfidCardsOfCustomer(customerId).subscribe(result => {\n this.entities = plainToClass(RfidCardDto, result);\n this.entities = this.entities.filter(r => r.idTag != 'freecharge' && r.userId == null);\n super.setupTable();\n }, error => {});\n }\n else {\n this.rfidCardsService.getRfidCardsOfCurrentCustomer().subscribe(result => {\n this.entities = plainToClass(RfidCardDto, result);\n this.entities = this.entities.filter(r => r.idTag != 'freecharge' && r.userId == null);\n super.setupTable();\n }, error => {});\n }\n }\n\n matches(entity: RfidCardDto, term: string) {\n return RfidCardsService.matches(entity, term);\n }\n\n openRemoveAssignmentDialog(rfidCard: RfidCardDto) {\n const dialogRef = this.dialog.open(RemoveRfidAssignmentDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.rfidCard = rfidCard;\n\n dialogRef.result.then((result) => {\n this.initializeEntities();\n }, (backdrop) => {\n\n });\n }\n \n openDeleteRFIDDialog(rfidCard: RfidCardDto) {\n const dialogRef = this.dialog.open(DeleteRFIDCardForCustomerDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.rfidCard = rfidCard;\n\n dialogRef.result.then((result) => {\n this.initializeEntities();\n }, (backdrop) => {\n\n });\n }\n\n openScanDialog() {\n const dialogRef = this.dialog.open(RfidScanDialogContentComponent, { centered: true, backdrop: 'static', keyboard: false });\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.snapshot.params.key;\n\n dialogRef.result.then((result) => {\n this.initializeEntities();\n }, (backdrop) => {\n\n });\n }\n}\n","\n \n \n \n\n \n \n \n \n \n\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n\n \n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { DatePipe, DecimalPipe, formatDate } from '@angular/common';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { NavigationEnd } from '@angular/router';\nimport { TableComponent } from '@components/abstract/table/table.component';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { TransactionSuccess } from '@enums/transaction-success.enum';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableOptions } from '@models/tableOptions';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { plainToClass } from 'class-transformer';\nimport { DEDatePipe } from '../../../../pipes/de-date.pipe';\nimport '@angular/localize/init';\nimport { KwhPipe } from '../../../../pipes/kwh.pipe';\n\n\n@Component({\n selector: 'app-chargingstation-transactions-table',\n templateUrl: './chargingstation-transactions-table.component.html',\n styleUrls: ['./chargingstation-transactions-table.component.scss']\n})\nexport class ChargingstationTransactionsTableComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'ChargingstationTransactionsTableComponent';\n\n private chargingStationId: string;\n public entities: TransactionDto[];\n\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@AbstractEntitiesTableColumn1:Trans-ID`, property: 'transactionId' },\n { columnDescription: $localize`:@@AbstractEntitiesTableColumn2:Status`, property: 'successMessage' },\n { columnDescription: $localize`:@@AbstractEntitiesTableColumn3:Grund`, property: 'reason' },\n { columnDescription: $localize`:@@AbstractEntitiesTableColumn4:Vorname`, property: 'userFirstName' },\n { columnDescription: $localize`:@@AbstractEntitiesTableColumn5:Nachname`, property: 'userLastName' },\n { columnDescription: $localize`:@@AbstractEntitiesTableColumn6:kWh`, property: 'meterAmount', options: { columnPipe: { pipe: new KwhPipe() } } },\n { columnDescription: $localize`:@@AbstractEntitiesTableColumn7:Datum`, property: 'startTimestamp', options: { columnPipe: { pipe: new DEDatePipe() } } },\n ];\n \n public tableOptions: TableOptions = { hideActions: true, hideSearch: true };\n\n constructor(\n public transactionsService: TransactionsService, private routeDataService: RouteDataService, injector: Injector) {\n super(transactionsService, injector);\n }\n\n ngOnInit(): void {\n this.chargingStationId = this.routeDataService.params.key;\n super.ngOnInit();\n this.tableFunctions.pageSize = 25;\n this.tableFunctions.sortColumn = 'startTimestamp';\n this.tableFunctions.sortDirection = 'desc';\n }\n\n \n initializeEntities() {\n this.transactionsService.getTransactionsOfChargingStation(this.chargingStationId).subscribe(result => {\n this.entities = result;\n this.mapSuccessMessage();\n super.setupTable();\n }, error => {});\n }\n\n matches(entity: TransactionDto, term: string) {\n return TransactionsService.matches(entity, term);\n }\n\n mapSuccessMessage() {\n for (let transactionDto of this.entities) {\n transactionDto.successMessage = TransactionSuccess[transactionDto.success];\n }\n }\n}\n","
\n \n
\n\n
\n
\n Loading...\n
\n
\n","import { AbstractEditEntityComponent } from '@abstracts/entities/edit-entity';\nimport { Injector } from '@angular/core';\nimport { AfterViewInit, Component, OnInit } from '@angular/core';\nimport { Transaction } from '@models/transaction';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { plainToClass } from 'class-transformer';\n\n@Component({\n selector: 'app-details-transaction',\n templateUrl: './details-transaction.component.html',\n styleUrls: ['./details-transaction.component.scss']\n})\nexport class DetailsTransactionComponent extends AbstractEditEntityComponent implements OnInit {\n \n public className = 'DetailsTransactionComponent';\n\n public entity: TransactionDto;\n\n constructor(\n private transactionsService: TransactionsService,\n public injector: Injector) {\n super(transactionsService, injector);\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n initializeEntity(entity) {\n this.entity = plainToClass(TransactionDto, entity);\n }\n\n createForm() {\n //console.warn('Method not implemented.');\n }\n\n onSubmit(formValue: any) {\n //console.warn('Method not implemented.');\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Inject, Injector, Input, OnInit, Output, ViewChild, TemplateRef } from '@angular/core';\nimport { FormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { UsersService } from '@services/entity/users.service';\nimport { User } from '@models/identity/user';\nimport { SendInviteRequest } from '@dto/sendInviteRequest';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { DOCUMENT, NgIf } from '@angular/common';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { PricingDto } from '@dto/pricingDto';\nimport { plainToClass } from 'class-transformer';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { StripeInfo } from '@models/stripeInfo';\nimport { RfidCardDto } from '../../../../dto/rfidCardDto';\nimport { Tag } from '../../../../models/tag';\nimport { RfidCardsService } from '../../../../services/entity/rfidCards.service';\nimport { RfidCard } from '../../../../models/rfidCard';\nimport { validate } from 'compare-versions';\nimport { resolve } from 'dns';\nimport { ToastService } from '../../../../services/toast/toast.service';\nimport { Roles } from '../../../../enums/roles.enum';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { ExistDummyRequestDto } from '../../../../dto/existDummyRequestDto';\n\n@Component({\n selector: 'app-create-user',\n templateUrl: './create-user.component.html',\n styleUrls: ['./create-user.component.scss']\n})\nexport class CreateUserComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'CreateUserComponent'\n show: boolean;\n public oldrfidCards: RfidCardDto[];\n public availableRfidCards: RfidCardDto[];\n public assignedRfidCards: RfidCardDto[];\n public tags: Tag[];\n public addTagRef: (name) => void;\n rfidTagMaxLength = 20;\n rfidTagMinLength = 8;\n condition: boolean = false;\n error: boolean = false;\n errorMessage = \" <= min. 8-Zeichen \";\n btnSaveDisabled: boolean = false;\n assignedRfidCardIdTags: string[] = [];\n\n cacheIdTag: string;\n\n @Input() customerId: number;\n @Output() newUserEvent = new EventEmitter();\n @Output() newAnonymousUserEvent = new EventEmitter();\n public inviteLink: string;\n\n mailTemplate: TemplateRef | null = null;\n @ViewChild('primaryTemplate')\n primaryTemplate: TemplateRef | null = null;\n\n @ViewChild('secondaryTemplate')\n userTemplate: TemplateRef | null = null;\n public emailExists: boolean;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n public toastService: ToastService,\n private usersService: UsersService,\n private rfidCardsService: RfidCardsService,\n private spinner: NgxSpinnerService,\n private stripeInfosService: StripeInfosService,\n injector: Injector\n ) {\n super(usersService, injector);\n this.show = true;\n this.mailTemplate = this.primaryTemplate;\n this.addTagRef = this.addTagPromise.bind(this);\n }\n\n ngOnInit() {\n this.mailTemplate = this.primaryTemplate;\n super.ngOnInit()\n this.getRfidCardsOfCurrent();\n\n this.formService.form.get('selectedTags').valueChanges\n .pipe(distinctUntilChanged())\n .subscribe(tags => {\n console.log('RFID-Eintrag hat sich geändert:', tags);\n });\n }\n\n async onSubmit(formValue) {\n this.btnSaveDisabled = true;\n\n var user = new User(formValue);\n var existDummyRequestDto: ExistDummyRequestDto = { customerId: this.customerId, firstName: user.firstName.trim(), lastName: user.lastName.trim() };\n var email = this.formService.form.get('email').value;\n\n var existEmail = await this.usersService.existEmail(email).toPromise();\n var existDummyUser = await this.usersService.existDummyUser(existDummyRequestDto).toPromise();\n\n if (existEmail) {\n this.toastService.error($localize`:@@EmailExist:E-Mail-Adresse existiert bereits.`, 5500, true);\n this.btnSaveDisabled = false;\n return;\n }\n\n if (existDummyUser) {\n this.toastService.error($localize`:@@DummyExist: Dieser Benutzer existiert bereits.`, 5500, true);\n this.btnSaveDisabled = false;\n return;\n }\n\n this.toastService.clear();\n\n user.rfidCards = (formValue.selectedTags as RfidCard[])\n\n if (this.formService.form.get('email').value.length > 0) {\n if (this.customerId) {\n this.usersService.createUserForCustomer(this.customerId, user).subscribe(newUser => {\n this.sendInviteEmail(user);\n this.toastService.clear();\n }, error => {\n this.btnSaveDisabled = false;\n this.toastService.clear();\n });\n }\n else {\n this.usersService.createUserForCurrentCustomer(user).subscribe(newUser => {\n this.sendInviteEmail(user);\n this.toastService.clear();\n this.btnSaveDisabled = false;\n }, error => {\n this.btnSaveDisabled = false;\n this.toastService.clear();\n });\n }\n }\n else {\n if (this.customerId) {\n this.usersService.createAnonymousUserForCustomer(this.customerId, user).subscribe(data => {\n this.newAnonymousUserEvent.emit(user);\n this.toastService.clear();\n this.btnSaveDisabled = false;\n }, error => {\n this.btnSaveDisabled = false;\n this.toastService.clear();\n });\n }\n else {\n var temp = this.usersService.createAnonymousUserForCurrentCustomer(user).subscribe(data => {\n this.newAnonymousUserEvent.emit(user);\n this.toastService.clear();\n this.btnSaveDisabled = false;\n }, error => {\n this.btnSaveDisabled = false;\n this.toastService.clear();\n });\n }\n }\n }\n\n ngSelect_KeypressEvent(event: any) {\n const tagInput = document.getElementById('tags-input');\n tagInput.classList.remove('error-key');\n\n if (this.isCharAllowed(event.keyCode) === false) {\n event.preventDefault();\n window.setTimeout(() => tagInput.classList.add('error-key'), 10);\n }\n\n else if ((event.target.value.length + 1) > this.rfidTagMaxLength) {\n event.preventDefault();\n }\n\n }\n\n ngSelect_KeyupEvent(event: any) {\n\n event.target.value = event.target.value.toLowerCase();\n this.error = !this.isRfidCardIdTagValid(event.target.value);\n\n this.condition = this.isRfidCardIdTagConditionMet(event.target.value);\n }\n\n ngSelect_InputEvent(event: Event) {\n this.toastService.clear();\n const inputValue = (event.target as HTMLInputElement).value;\n const regexNonHex: RegExp = /[^0-9a-fA-F]/g;\n\n if (regexNonHex.test(inputValue)) {\n (event.target as HTMLInputElement).value = inputValue.replace(regexNonHex, '');\n this.toastService.error(`Eingabefehler: Es sind nur hexadezimale Zeichen erlaubt.`, 0, true);\n }\n\n if (this.isRfidCardIdTagAvailable(inputValue) == false) {\n this.toastService.error(\"RFID ist bereits vergeben: \" + (inputValue == null ? \"\" : inputValue), 0, true);\n }\n\n const selectedTags = this.formService.form.get('selectedTags')?.value ?? [];\n if (Array.isArray(selectedTags) && selectedTags.some(card => card.idTag.toLowerCase() === inputValue)) {\n this.showToastRfidCardAlreadyEntered(inputValue);\n }\n\n this.cacheIdTag = inputValue;\n }\n\n ngSelect_PastEvent(event: ClipboardEvent) {\n const tagInput = document.getElementById('tags-input');\n tagInput.classList.remove('error-key');\n\n if (this.isRfidCardIdTagValid(event.clipboardData?.getData('text')) === false) {\n event.preventDefault();\n window.setTimeout(() => tagInput.classList.add('error-key'), 10);\n\n }\n this.condition = this.isRfidCardIdTagAvailable(event.clipboardData?.getData('text'));\n }\n\n onBlur() {\n\n if (this.cacheIdTag == null || this.cacheIdTag.length <= 0)\n return;\n\n if (this.isRfidCardIdTagValid(this.cacheIdTag) == false) {\n this.toastService.error(\"Ungültige RFID: \" + (this.cacheIdTag == null ? \"\" : this.cacheIdTag), 0, true);\n this.cacheIdTag = \"\";\n return;\n }\n\n if (this.isRfidCardIdTagAvailable(this.cacheIdTag) == false) {\n this.toastService.error(\"RFID ist bereits vergeben: \" + (this.cacheIdTag == null ? \"\" : this.cacheIdTag), 0, true);\n this.cacheIdTag = \"\";\n return;\n }\n\n const selectedTags = this.formService.form.get('selectedTags')?.value ?? [];\n if (Array.isArray(selectedTags) && selectedTags.some(card => card.idTag.toLowerCase() === this.cacheIdTag)) {\n this.showToastRfidCardAlreadyEntered(this.cacheIdTag);\n this.cacheIdTag = \"\";\n return;\n }\n\n\n try {\n\n let newRfidCard: RfidCardDto = plainToClass(RfidCardDto, { customerId: this.customerId, idTag: this.cacheIdTag });\n\n const currentRfidIdTag = this.formService.form.get('selectedTags').value || [];\n const updatedRfidIdTag = [...currentRfidIdTag, newRfidCard];\n this.formService.form.get('selectedTags').setValue(updatedRfidIdTag);\n\n } catch (e) {\n\n } finally {\n this.cacheIdTag = \"\";\n }\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n UserType: new UntypedFormControl(''),\n firstName: new UntypedFormControl('', [Validators.required, Validators.maxLength(50)]),\n lastName: new UntypedFormControl('', [Validators.required, Validators.maxLength(50)]),\n selectedTags: new UntypedFormControl(''),\n email: new UntypedFormControl('', [Validators.email])\n // pricing: new UntypedFormControl(''),\n\n });\n }\n\n checkEmail() {\n var email = this.formService.form.get('email').value;\n if (email != \"\") {\n this.usersService.checkIfEmailExists(email).subscribe(result => {\n this.emailExists = result;\n if (this.emailExists) {\n this.formService.form.setErrors({ emailExists: 'E-Mail existiert bereits' });\n return false;\n }\n }, error => {\n console.error(error);\n })\n } else {\n this.emailExists = false;\n return true;\n }\n }\n\n filterAvailableRfidCards(rfidCardDtos: RfidCardDto[]): RfidCardDto[] {\n return rfidCardDtos.filter(rfid => (rfid.idTag != 'freecharge' && (rfid.userId == null || rfid.userId.length == 0)));\n }\n filterAssignedRfidCards(rfidCardDtos: RfidCardDto[]): RfidCardDto[] {\n return rfidCardDtos.filter(rfid => rfid.idTag === 'freecharge' || (rfid.userId != null && rfid.userId.length > 0));\n }\n\n\n addTagPromise(name) {\n if (this.isRfidCardIdTagValid(name) == false) {\n this.showToastRfidCardInvaild(name);\n return;\n }\n\n if (this.isRfidCardIdTagAvailable(name) == false)\n return;\n\n this.cacheIdTag = \"\";\n return plainToClass(RfidCardDto, { customerId: this.customerId, idTag: name });;\n }\n\n sendInviteEmail(user: User) {\n const sendInviteRequest: SendInviteRequest = {\n email: user.email,\n firstName: user.firstName,\n lastName: user.lastName,\n clientURI: this.baseUrl + 'auth/register',\n invitingCustomerId: this.customerId ? this.customerId : 0\n }\n\n this.authenticationService.sendInvite(sendInviteRequest).subscribe(result => {\n this.inviteLink = result.inviteLink;\n //var input: HTMLInputElement = document.getElementById('inviteLink');\n //input.value = result.inviteLink;\n this.btnSaveDisabled = false;\n this.spinner.hide();\n this.newUserEvent.emit(user);\n }, error => {\n this.spinner.hide();\n })\n }\n\n isCharAllowed(charCode: number): boolean {\n const char = String.fromCharCode(charCode);\n const result = (/^[0-9a-fA-F]+$/).test(char);\n return result;\n }\n\n isRfidCardIdTagValid(value: string): boolean {\n\n if (value === null || value === undefined || value.length > this.rfidTagMaxLength || value.length < this.rfidTagMinLength)\n return false;\n\n for (var index = 0; index < value.length; index++) {\n if (this.isCharAllowed(value.charCodeAt(index)) == false)\n return false;\n }\n return true;\n }\n isRfidCardIdTagAvailable(value: string): boolean {\n const result = this.assignedRfidCards.some(card => card.idTag.toLowerCase() === value.toLowerCase());\n\n return !result;\n }\n isRfidCardIdTagConditionMet(value: string) {\n if (value === undefined || value === null) {\n return false;\n }\n\n return (this.isRfidCardIdTagValid(value) && this.isRfidCardIdTagAvailable(value));\n }\n\n showToastRfidCardInvaild(TagId: string) {\n this.toastService.error(\"Ungültige RFID: \" + TagId, 0, true);\n }\n showToastRfidCardAlreadyEntered(TagId: string) {\n this.toastService.error(\"Bereits eingetragen, RFID: \" + TagId, 0, true);\n }\n\n getRfidCardsOfCurrent() {\n\n if (this.authenticationService.userHasRole('Operator')) {\n this.rfidCardsService.getRfidCardsOfCustomer(this.customerId).subscribe(result => {\n this.availableRfidCards = this.filterAvailableRfidCards(plainToClass(RfidCardDto, result));\n this.assignedRfidCards = this.filterAssignedRfidCards(plainToClass(RfidCardDto, result));\n }, error => { });\n }\n else {\n this.rfidCardsService.getRfidCardsOfCurrentCustomer().subscribe(result => {\n this.availableRfidCards = this.filterAvailableRfidCards(plainToClass(RfidCardDto, result));\n this.assignedRfidCards = this.filterAssignedRfidCards(plainToClass(RfidCardDto, result));\n }, error => { });\n }\n }\n}\n","\n\n
\n
\n \n \n\n
\n Vorname wird benötigt\n Falsche Eingabe\n
\n
\n\n
\n \n \n\n
\n Nachname wird benötigt\n Falsche Eingabe\n
\n
\n\n
\n \n \n\n
\n E-Mail ist nicht gültig\n E-Mail wird benötigt\n E-Mail existiert bereits \n
\n
\n\n\n\n\n\n
\n \n \n\n\n \n \n Erstelle neu: {{ search }} {{ errorMessage }}\n \n \n \n
\n\n\n\n\n\n\n\n\n\n\n\n\n *Pflichtfelder\n
\n\n","import { Component, EventEmitter, Inject, Injector, Input, OnInit, Output, ViewChild } from '@angular/core'\nimport { UntypedFormControl, UntypedFormGroup, Validators, FormControl } from '@angular/forms'\nimport { ActivatedRoute } from '@angular/router'\nimport { plainToClass } from 'class-transformer'\nimport { UpdateUserRequest } from '@dto/updateUserRequest'\nimport { UsersService } from '@services/entity/users.service'\nimport '@angular/localize/init'\nimport { RfidCardDto } from '../../../../dto/rfidCardDto'\nimport { UserEditDto } from '@dto/userEditDto'\nimport { ComponentBase } from '@abstracts/component-base'\nimport { FormService } from '@services/form/form.service'\nimport { RouteDataService } from '@services/route-data/route-data.service'\nimport { ChargingStationsService } from '@services/entity/charging-stations.service'\nimport { isEqual } from 'lodash-es'\nimport { ChargingStationByGroupDto } from '@dto/chargingStationByGroupDto'\nimport { NgSelectComponent } from '@ng-select/ng-select'\nimport { ToastService } from '@services/toast/toast.service'\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'\nimport { RfidCardsService } from '@services/entity/rfidCards.service'\nimport { ChargingstationGroupDto } from '@dto/chragingstationGroupDto'\nimport { SendInviteRequest } from '@dto/sendInviteRequest'\nimport { ChargingPowerProfilesService } from '@services/entity/chargingPowerProfiles.service'\nimport { ChargingPowerProfile } from '@models/chargingPowerProfile'\nimport { BlackboxService } from '@services/entity/blackbox.service'\n\n@Component({\n selector: 'app-edit-user',\n templateUrl: './edit-user.component.html',\n styleUrls: ['./edit-user.component.scss'],\n providers: []\n})\nexport class EditUserComponent extends ComponentBase implements OnInit {\n\n spinner1 = 'editSpinner';\n\n public className = 'EditUserComponent'\n\n private primaryKey: string\n\n public entity: UserEditDto\n public rfidCards: RfidCardDto[]\n public rfidCardsFiltered: RfidCardDto[]\n public chargingStations: ChargingStationByGroupDto[]\n public filteredChargingStations: ChargingStationByGroupDto[]\n public chargingGroups: ChargingstationGroupDto[]\n public chargingPowerProfiles: ChargingPowerProfile[] = []\n public chargingPowerProfile: ChargingPowerProfile\n\n public formReady: boolean\n public chargingStationEdited: boolean = false\n public rfidEdited: boolean = false\n public chargingPowerProfileEdited: boolean = false\n public isAddingNewEmail: boolean = false\n public iAmFalse: boolean = false\n public iAmTrue: boolean = true\n public isBtnSaveDisabled: boolean = false;\n public isSupporter: boolean = false;\n\n @Input() customerId: number\n\n @Output() entityLoadedEvent = new EventEmitter()\n\n @ViewChild('chargingStationSelect') chargingStationSelect: NgSelectComponent\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n public activeModal: NgbActiveModal,\n private usersService: UsersService,\n private rfidCardsService: RfidCardsService,\n private chargingStationsService: ChargingStationsService,\n private chargingPowerProfilesService: ChargingPowerProfilesService,\n private formService: FormService,\n private activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n private toastService: ToastService,\n private blackboxesService: BlackboxService,\n public injector: Injector\n ) {\n super(injector)\n }\n\n ngOnInit(): void {\n super.ngOnInit()\n\n this.primaryKey = this.activatedRoute.snapshot.params.key\n if (!this.primaryKey) {\n this.primaryKey = this.routeDataService.params.key\n }\n this.isSupporter = this.authenticationService.userHasRole('Supporter');\n this.loadEntity()\n }\n\n loadEntity() {\n this.usersService.getUserEditDto(this.primaryKey).subscribe(result => {\n if (result) {\n this.entity = plainToClass(UserEditDto, result)\n\n if (!this.entity.chargingPowerProfileId) {\n this.entity.chargingPowerProfileId = 1\n }\n\n this.loadRfidCards()\n this.loadChargingGroups()\n this.loadChargingStations()\n this.getChargingPowerProfiles()\n this.createForm()\n }\n }, error => {\n console.error(error)\n })\n }\n\n loadRfidCards() {\n if (this.customerId) {\n this.rfidCardsService.getRfidCardsOfCustomer(this.customerId).subscribe(rfidCards => {\n if (rfidCards) {\n this.rfidCards = plainToClass(RfidCardDto, rfidCards)\n this.filterRfidCards()\n }\n }, error => { })\n } else {\n this.rfidCardsService.getRfidCardsOfCurrentCustomer().subscribe(rfidCards => {\n if (rfidCards) {\n this.rfidCards = plainToClass(RfidCardDto, rfidCards)\n this.filterRfidCards()\n }\n }, error => { })\n }\n }\n\n loadChargingGroups() {\n if (this.customerId) {\n this.chargingStationsService.getChargingstationGroupsOfCustomer(this.customerId).subscribe(result => {\n this.chargingGroups = result\n }, error => { });\n } else {\n this.chargingStationsService.getChargingstationGroups().subscribe(result => {\n this.chargingGroups = result\n }, error => { });\n }\n }\n\n loadChargingStations() {\n if (this.customerId) {\n this.chargingStationsService.getChargingstationsOfCustomerByGroup(this.customerId).subscribe(result => {\n if (result) {\n this.chargingStations = plainToClass(ChargingStationByGroupDto, result)\n this.filterChargingStations()\n }\n }, error => { })\n } else {\n this.chargingStationsService.getChargingstationsByGroup().subscribe(result => {\n this.chargingStations = plainToClass(ChargingStationByGroupDto, result)\n this.filterChargingStations()\n }, error => { })\n }\n }\n\n getChargingPowerProfiles() {\n if (!this.entity.selectedCustomerId) return;\n this.blackboxesService.getByCustomerId(this.entity.selectedCustomerId).subscribe(result => {\n if (result.length == 0 || result == null) return;\n\n this.chargingPowerProfilesService.getAll().subscribe(result => {\n this.chargingPowerProfiles = result\n this.formService.form.get('chargingPowerProfile').setValue(\n this.chargingPowerProfiles.find(cpp => cpp.id == this.entity.chargingPowerProfileId)\n )\n }, error => {\n this.toastService.error(`Ladeprofile konnten nicht geladen werden.`)\n });\n })\n }\n\n createForm() {\n this.formService.validators = {\n email: [Validators.email, Validators.pattern(/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/)],\n firstName: [Validators.maxLength(50), Validators.required],\n lastName: [Validators.maxLength(50), Validators.required]\n }\n\n this.formService.form = new UntypedFormGroup({\n email: new UntypedFormControl(this.entity.email, this.formService.validators['email']),\n firstName: new UntypedFormControl(this.entity.firstName, this.formService.validators['firstName']),\n lastName: new UntypedFormControl(this.entity.lastName, this.formService.validators['lastName']),\n rfidCards: new UntypedFormControl(this.entity.rfidCards),\n pricingId: new UntypedFormControl({value: this.entity.pricingName, disabled: true}),\n chargingStations: new UntypedFormControl(this.entity.chargingStations),\n chargingGroups: new UntypedFormControl(this.entity.chargingGroups),\n newEmail: new UntypedFormControl(\"\", this.formService.validators['email']),\n chargingPowerProfile: new FormControl(this.entity.chargingPowerProfileId)\n })\n\n this.entityLoadedEvent.emit(this.entity)\n\n if (this.entity.username == this.entity.id) {\n this.formService.form.addControl('email', new UntypedFormControl(this.entity.email));\n } else {\n this.formService.form.addControl('email', new UntypedFormControl(this.entity.email, this.formService.validators['email']));\n }\n\n this.formReady = true\n this.formService.valuesAtInit = this.formService.form.getRawValue()\n\n this.formService.form.valueChanges.subscribe(entity => {\n if (entity && isEqual(entity, this.formService.valuesAtInit)) {\n this.formService.unsavedChanges = false\n } else {\n this.formService.unsavedChanges = true\n }\n })\n\n this.formService.form.get('pricingId').disable()\n if (this.isSupporter) this.formService.form.disable()\n }\n\n onSubmit(formValue) {\n this.isBtnSaveDisabled = true;\n\n if (this.isAddingNewEmail && (formValue.newEmail == null || formValue.newEmail.length == 0)) {\n this.toastService.error('Email Adresse wird benötigt!')\n return\n }\n this.toastService.loading($localize`:@@SavingSettingsToast:Einstellungen werden gespeichert.`)\n\n var updateUserRequest: UpdateUserRequest = {\n id: this.primaryKey,\n clientURI: this.baseUrl + 'auth/emailChangeConfirm',\n rfidCards: formValue.rfidCards,\n chargingStations: formValue.chargingStations,\n chargingGroups: formValue.chargingGroups,\n areChargingStationsEdited: this.chargingStationEdited,\n areRfidsEdited: this.rfidEdited,\n chargingPowerProfileEdited: this.chargingPowerProfileEdited,\n newEmail: formValue.newEmail,\n firstName: formValue.firstName,\n lastName: formValue.lastName,\n chargingPowerProfileId: formValue.chargingPowerProfile.id\n }\n\n this.usersService.updateUser(updateUserRequest.id, updateUserRequest).subscribe(result => {\n if (result) {\n this.toastService.success($localize`:@@SavingSettingsSuccessToast:Einstellungen erfolgreich gespeichert.`, 0, true)\n if (this.isAddingNewEmail) {\n const sendInviteRequest = this.mapUpdateUserRequestToSendInviteRequest(updateUserRequest);\n this.sendInviteEmail(sendInviteRequest);\n }\n this.activeModal.close();\n }\n else {\n this.isBtnSaveDisabled = false;\n this.toastService.error($localize`:@@SavingSettingsErrorToast:Einstellungen konnten nicht gespeichert werden.`, 0, true)\n }\n }, error => {\n this.isBtnSaveDisabled = false;\n this.toastService.error($localize`:@@SavingSettingsErrorToast:Einstellungen konnten nicht gespeichert werden.`, 0, true)\n })\n }\n\n rfidChanged() {\n this.rfidEdited = true;\n }\n\n chargingStationChanged() {\n this.chargingStationEdited = true;\n }\n\n chargingGroupChanged() {\n this.chargingStationEdited = true;\n this.filterChargingStations();\n }\n\n chargingPowerProfileChanged() {\n this.chargingPowerProfileEdited = true;\n }\n\n onIsAddingNewEmailChange() {\n this.isAddingNewEmail = !this.isAddingNewEmail\n }\n\n mapUpdateUserRequestToSendInviteRequest(updateUserRequest: UpdateUserRequest): SendInviteRequest {\n const sendInviteRequest: SendInviteRequest = {\n email: updateUserRequest.newEmail,\n firstName: updateUserRequest.firstName,\n lastName: updateUserRequest.lastName,\n clientURI: this.baseUrl + 'auth/register',\n invitingCustomerId: this.entity.selectedCustomerId\n }\n\n return sendInviteRequest;\n }\n\n sendInviteEmail(sendInviteRequest: SendInviteRequest) {\n this.authenticationService.sendInvite(sendInviteRequest).subscribe(result => {\n this.toastService.success($localize`:@@EditUserDialogInviteSuccessHeader:Benutzer wurde eingeladen.`);\n }, error => { });\n }\n\n filterChargingStations() {\n this.filteredChargingStations = this.chargingStations.filter(cs =>\n !this.formService.form.get('chargingGroups').value.some(cg =>\n cs.allGroupsId.includes(cg.id)))\n this.filteredChargingStations.sort((a, b) => a.name > b.name ? 1 : -1);\n\n this.formService.form.get('chargingStations').setValue(this.formService.form.get('chargingStations').value.filter(cs =>\n !this.formService.form.get('chargingGroups').value.some(cg =>\n cs.allGroupsId.includes(cg.id))))\n }\n\n filterRfidCards() {\n this.rfidCardsFiltered = this.rfidCards.filter(rfid => (rfid.idTag != 'freecharge' && (rfid.userId == null || rfid.userId == this.entity.id)))\n }\n}\n","Autorisierung wird durchgeführt...\n
\n
\n\n
\n \n 0\" formControlName=\"firstName\" class=\"form-control\" i18n-placeholder=\"@@FirstName\" placeholder=\"Vorname\" />\n\n
\n \n Vorname wird benötigt\n \n \n Falsche Eingabe\n \n \n Die Eingabe darf maximal 50 Zeichen lang sein\n \n
\n
\n\n
\n \n 0\" formControlName=\"lastName\" class=\"form-control\" i18n-placeholder=\"@@LastName\" placeholder=\"Nachname\" />\n\n
\n \n Nachname wird benötigt\n \n \n Falsche Eingabe\n \n \n Die Eingabe darf maximal 50 Zeichen lang sein\n \n
\n
\n\n\n
0\">\n \n 0\" formControlName=\"email\" class=\"form-control\" i18n-placeholder=\"@@EmailPlaceholder\" placeholder=\"E-Mail\" />\n\n
\n E-Mail wird benötigt\n Keine gültige E-Mail\n
\n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n \n Keine RFID-Karte zugeordnet\n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n Keine Ladestation zugeordnet\n
\n\n
0\">\n \n \n \n\n \n {{ entity.fullName ? entity.fullName : 'Dieser Benutzer' }} lädt\n \n \n \n
\n\n
\n
\n \n \n
\n \n \n\n
\n E-Mail wird benötigt\n Keine gültige E-Mail\n
\n
\n
\n
\n","import { AfterViewInit, Component, Injector, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { plainToClass } from 'class-transformer';\nimport '@angular/localize/init';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { User } from '@models/identity/user';\nimport { UsersService } from '@services/entity/users.service';\n\n@Component({\n selector: 'app-user-overview',\n templateUrl: './user-overview.component.html',\n styleUrls: ['./user-overview.component.scss']\n})\nexport class UserOverviewComponent extends ComponentBase implements OnInit, OnDestroy {\n\n public className = 'UserOverviewComponent';\n\n public primaryKey;\n public user: User;\n\n public activeTab = 'profile';\n\n public routerSubscription: Subscription;\n\n links = [\n { title: $localize`:@@UserOverviewProfileTitle:Profil`, route: 'profile' }\n ];\n\n constructor(\n public router: Router,\n public activatedRoute: ActivatedRoute,\n public tableFunctions: TableFunctionsService,\n private dialog: NgbModal,\n private routeDataService: RouteDataService,\n private usersService: UsersService,\n injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n this.primaryKey = this.activatedRoute.snapshot.params.key;\n\n this.initializeEntity();\n\n this.determineActiveTab();\n\n this.eventService.entityRefresh$.subscribe(result => {\n this.initializeEntity();\n });\n\n this.routerSubscription = this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.determineActiveTab();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.routerSubscription.unsubscribe();\n }\n\n initializeEntity() {\n this.usersService.getEntity(this.primaryKey).subscribe(result => {\n this.user = plainToClass(User, result);\n }, error => {});\n }\n\n determineActiveTab() {\n var currentRoute = this.activatedRoute.children[0]?.snapshot.url[0]?.path;\n for (let link of this.links) {\n if (currentRoute == link.route) {\n this.activeTab = link.route;\n }\n }\n }\n}","\n\n
\n
\n \n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n
\n
\n","import { Component, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { User } from '@models/identity/user';\nimport { UsersService } from '@services/entity/users.service';\nimport { plainToClass } from 'class-transformer';\nimport { TableColumn } from '@models/tableColumn';\nimport { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport '@angular/localize/init';\nimport { UserTableEntry } from '@dto/userTableEntry';\nimport { TableOptions } from '@models/tableOptions';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { BillingMethodEnum } from '@enums/billingMethodEnum.enum';\n\n@Component({\n selector: 'app-users-table',\n templateUrl: './users-table.component.html'\n})\nexport class UsersTableComponent extends AbstractEntitiesTableComponent implements OnInit, OnDestroy {\n\n public className = 'UsersTableComponent';\n\n public entities: UserTableEntry[];\n public isOperatorView: boolean = false;\n public isSupporter: boolean = false;\n\n private customerId: number;\n public showAll: boolean = false;\n public isAddingEnabled: boolean = false;\n private sortParam;\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@UsersTableColumn2:Vorname`, property: 'firstName' },\n { columnDescription: $localize`:@@UsersTableColumn3:Nachname`, property: 'lastName' },\n { columnDescription: $localize`:@@UsersTableColumn1:E-Mail`, property: 'email' },\n { columnDescription: $localize`:@@UsersTableColumn4:Tarif`, property: 'pricingName'},\n { columnDescription: $localize`:@@UsersTableColumn7:Benutzer kann laden`, property: 'requiredActionMessage', options: { isHTML: true } },\n ];\n\n public tableOptions: TableOptions = { hideActions: true, rowRouterLink: 'edit/{id}' };\n\n constructor(\n public usersService: UsersService, private spinner: NgxSpinnerService, injector: Injector) {\n super(usersService, injector);\n }\n\n ngOnInit(): void {\n this.showAll = this.activatedRoute.snapshot.data['showAll'];\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n this.isSupporter = this.authenticationService.userHasRole('Supporter');\n super.ngOnInit();\n this.tableFunctions.sortColumn = 'firstName';\n this.tableFunctions.sortDirection = 'asc';\n }\n\n async initializeEntities() {\n if (this.showAll) {\n this.isAddingEnabled = false;\n this.usersService.getUserTable().subscribe(result => {\n this.entities = plainToClass(UserTableEntry, result);\n super.setupTable();\n }, error => { });\n this.tableOptions = { hideActions: true, rowRouterLink: '{id}' };\n this.tableColumns = [\n { columnDescription: $localize`:@@UsersTableColumn2:Vorname`, property: 'firstName' },\n { columnDescription: $localize`:@@UsersTableColumn3:Nachname`, property: 'lastName' },\n { columnDescription: $localize`:@@UsersTableColumn4:E-Mail`, property: 'email' },\n { columnDescription: $localize`:@@UsersTableColumn5:Firma`, property: 'company' },\n { columnDescription: $localize`:@@UsersTableColumn6:Ansprechpartner`, property: 'contactPerson' },\n ];\n\n } else if (this.isOperatorView) {\n this.isAddingEnabled = true;\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n this.usersService.getUserTableOfCustomer(this.customerId).subscribe(result => {\n this.entities = plainToClass(UserTableEntry, result);\n this.getStripSubscriptionStatus()\n super.setupTable();\n }, error => {});\n\n } else {\n this.isAddingEnabled = true;\n this.usersService.getUserTableOfCurrentCustomer().subscribe(result => {\n this.entities = plainToClass(UserTableEntry, result);\n this.getStripSubscriptionStatus()\n super.setupTable();\n }, error => { });\n }\n }\n\n matches(entity: User, term: string) {\n return UsersService.matches(entity, term);\n }\n\n syncWhitelistForAllUsers() {\n this.spinner.show();\n this.usersService.syncLocalOcppWhitelistForAllUsers(this.customerId).subscribe(result => {\n this.spinner.hide();\n }, error => {\n this.spinner.hide();\n })\n }\n\n getStripSubscriptionStatus()\n {\n this.entities.forEach(user => {\n if (user.rfidCardsString.length < 1) {\n user.requiredActionMessage = `\n
\n \n \n \n \n \n \n \n \n Keine RFID-Karte zugeordnet\n
\n `\n } else if (user.allowedChargingStationsString.length < 1) {\n user.requiredActionMessage = `\n
\n \n \n \n \n \n \n \n \n \n \n Keine Ladestation zugeordnet\n
\n `\n } else if (user.billingMethod == BillingMethodEnum.Automatic && user.stripePaymentMethodId == null && user.price != 0) {\n user.isStripeSubscripitionActive = true\n user.requiredActionMessage = `\n
\n \n \n \n \n \n \n Keine Zahlungsmethode hinterlegt\n
\n `\n } else if (user.billingMethod == null) {\n user.requiredActionMessage = `\n
\n \n \n \n \n \n \n Laden erlaubt - Kein Tarif erforderlich\n
\n `\n user.isStripeSubscripitionActive = user.stripePaymentMethodId != null\n } else {\n user.requiredActionMessage = `\n
\n \n \n \n \n \n \n Laden erlaubt mit Tarif: '${user.pricingName}'\n
\n `\n user.isStripeSubscripitionActive = user.stripePaymentMethodId != null\n }\n })\n }\n}\n","\n \n \n \n \n \n \n \n \n\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n\n\n","import { Component, Injector, OnInit } from '@angular/core';\nimport '@angular/localize/init';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-users',\n templateUrl: './users.component.html',\n styleUrls: ['./users.component.scss']\n})\nexport class UsersComponent extends ComponentBase implements OnInit {\n\n public className = 'UsersComponent';\n\n public activeTab = 'users';\n public showAll = true;\n public routerSubscription: Subscription;\n\n public activeComponentClassName: string;\n\n public links = [\n { title: $localize`:@@UsersTitel1:Benutzer`, route: 'users' }\n ]\n\n constructor(\n public tableFunctions: TableFunctionsService,\n public router: Router,\n public activatedRoute: ActivatedRoute,\n private routeDataService: RouteDataService,\n injector: Injector\n ) { super(injector); }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.routeDataService.params = this.activatedRoute.snapshot.params;\n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n }\n\n}","
\n
\n
\n
\n
\n
\n Benutzerübersicht ({{ tableFunctions.total$ | async }})\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n\n
\n \n \n
\n\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\nimport { UsersTableComponent } from '../users/users-table/users-table.component';\nimport { DeliveryNotesComponent } from '@components/evaluation/delivery-notes/delivery-notes.component';\nimport { ChargingStationsComponent } from '@components/entities/charging-stations/charging-stations.component';\nimport { ProfileComponent } from '@components/manage/profile/profile.component';\nimport { TransactionsComponent } from '@components/evaluation/transactions/transactions.component';\nimport { DeliveryNoteActionsDialogComponent } from '../../dialog/delivery-note-actions-dialog/delivery-note-actions-dialog.component';\nimport { ChargingParkSubscriptionDialogComponent } from '@components/dialog/charging-park-subscription-dialog/charging-park-subscription-dialog.component';\nimport { UsersComponent } from './users.component';\nimport { UserOverviewComponent } from './user-overview/user-overview.component';\nimport { EditUserDialogComponent } from '../../dialog/edit-user-dialog/edit-user-dialog.component';\nimport { CreateUserDialogComponent } from '../../dialog/create-user-dialog/create-user-dialog.component';\nimport { EditEmailDialogComponent } from '@components/dialog/edit-email-dialog/edit-email-dialog.component';\nimport { DetailsTransactionDialogComponent } from '../../dialog/details-transaction-dialog/details-transaction-dialog.component';\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'users',\n component: UsersComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: ['Operator'], showAll: true },\n children: [\n {\n path: '',\n component: UsersTableComponent,\n data: { roles: ['Operator'], showAll: true, isOperatorView: true },\n },\n {\n path: 'edit/:key',\n component: EditUserDialogComponent\n },\n {\n path: 'create',\n component: CreateUserDialogComponent\n },\n ],\n },\n {\n path: 'users/:id',\n component: UserOverviewComponent,\n children: [\n {\n path: '',\n redirectTo: 'profile',\n pathMatch: 'full',\n },\n {\n path: 'profile',\n component: ProfileComponent,\n data: { isOperatorView: true, isUserProfile: true },\n children: [\n {\n path: 'email',\n component: EditEmailDialogComponent\n }\n ]\n }\n ]\n },\n {\n path: 'chargingstations',\n component: ChargingStationsComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: ['User'] },\n children: [\n {\n path: '',\n redirectTo: 'summary',\n pathMatch: 'full'\n }\n ]\n },\n {\n path: 'delivery-notes',\n component: DeliveryNotesComponent,\n canActivate: [AuthGuard, RoleGuard], data: { roles: ['User'] },\n children: [\n {\n path: 'edit/:key',\n component: DeliveryNoteActionsDialogComponent,\n }\n ]\n },\n {\n path: 'transactions',\n component: TransactionsComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: ['User'] },\n children: [\n {\n path: ':key',\n component: DetailsTransactionDialogComponent,\n }\n ]\n },\n {\n path: 'profile',\n component: ProfileComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: ['Operator', 'User'] },\n children: [\n {\n path: 'charging-park-subscription',\n component: ChargingParkSubscriptionDialogComponent\n },\n ]\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class UsersModule { }\n","import { DatePipe } from '@angular/common';\nimport { AfterViewInit, Component, Injector, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { Chart, registerables } from 'chart.js';\nimport '@angular/localize/init';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport { UserDto } from '@dto/userDto';\nimport { ChargingstationGroupDto } from '@dto/chragingstationGroupDto';\nimport { UsersService } from '@services/entity/users.service';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { FormService } from '@services/form/form.service';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { TransactionFilter } from '@models/transactionFilter';\nimport { NgbCalendar, NgbDate, NgbDatepicker, NgbDropdown, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport annotationPlugin from 'chartjs-plugin-annotation';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { ComponentBase } from '../../../abstracts/component-base';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { endOfYear, getISOWeek, startOfYear } from 'date-fns';\nimport { startOfISOWeek } from 'date-fns/fp';\nimport { endOfISOWeek } from 'date-fns/esm/fp';\nimport startOfMonth from 'date-fns/esm/fp/startOfMonth';\nimport endOfMonth from 'date-fns/esm/fp/endOfMonth';\nimport { CreateDeliveryNoteDialogContentComponent } from '@components/dialog/create-delivery-note-dialog-content/create-delivery-note-dialog-content.component';\nimport { plainToClass } from 'class-transformer';\nimport { ActivatedRoute } from '@angular/router';\nimport { TransactionLocalFilter } from '@models/transactionLocalFilter';\nimport { CreateDeliveryCSVDialogContentComponent } from '@components/dialog/create-delivery-csv-dialog-content/create-delivery-csv-dialog-content.component';\n\nChart.register(...registerables);\n\n@Component({\n selector: 'app-charging-statistics',\n templateUrl: './charging-statistics.component.html',\n styleUrls: ['./charging-statistics.component.scss'],\n providers: [FormService]\n})\nexport class ChargingStatisticsComponent extends ComponentBase implements OnInit, AfterViewInit {\n\n public className = 'ChargingStatisticsComponent';\n\n @ViewChild('operatorView') operatorView: TemplateRef;\n @ViewChild('customerView') customerView: TemplateRef;\n\n public activeTab = 'week';\n public loading: boolean = false;\n public showChart2: boolean = false;\n public setShowChart2(bool: boolean) {this.showChart2 = bool}\n\n public chart: Chart;\n public chart2: Chart;\n public canvas: any;\n public canvas2: any;\n public ctx: any;\n public ctx2: any;\n public xAxisLabel: string;\n public labels: string[];\n public barChartData: number[];\n public totalAmount: number;\n public kwText = $localize`:@@ChargingStatisticsKw:Lademenge in kWh`;\n public isOperatorView: boolean;\n public isUser: boolean = false\n\n public max: number;\n public min: number;\n public average: number;\n public maxShow: boolean = false;\n public minShow: boolean = false;\n public averageShow: boolean = false;\n public chartGradientA: string = '#f57e00';\n public chartGradientB: string = '#ffbf00';\n public chartGradientA2: string = '#276c09';\n public chartGradientB2: string = '#4eb210';\n\n public date: Date;\n\n public customerId?: number;\n public users: UserDto[];\n public chargingStations: ChargingStationDto[];\n public groups: ChargingstationGroupDto[];\n\n public filteredUsers: UserDto[];\n public filteredChargingStations: ChargingStationDto[];\n public filteredGroups: ChargingstationGroupDto[];\n public transactions: TransactionDto[];\n\n public hoveredDate: NgbDate;\n public fromDate: NgbDate;\n public toDate: NgbDate;\n\n @ViewChild('dp') datePicker: NgbDatepicker;\n\n constructor(\n private transactionsService: TransactionsService,\n private datePipe: DatePipe,\n public formService: FormService,\n private userService: UsersService,\n private chargingStationService: ChargingStationsService,\n private dialog: NgbModal,\n private activatedRoute: ActivatedRoute,\n calendar: NgbCalendar,\n injector: Injector\n ) {\n super(injector);\n this.fromDate = calendar.getToday();\n this.toDate = calendar.getNext(calendar.getToday(), 'd', 10);\n this.getChartColor()\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n this.isUser = this.authenticationService.userHasRole(\"User\");\n this.componentSettings.footerVisible = false;\n }\n\n ngAfterViewInit() {\n this.getEntitiesAsync();\n }\n\n getChartColor() {\n var style = window.getComputedStyle(document.body)\n const chartGradientA = style.getPropertyValue('--chart-gradient-a')\n const chartGradientB = style.getPropertyValue('--chart-gradient-b')\n\n if (chartGradientA && chartGradientB) {\n this.chartGradientA = chartGradientA\n this.chartGradientB = chartGradientB\n }\n\n const chartGradientA2 = style.getPropertyValue('--chart-gradient-a2')\n const chartGradientB2 = style.getPropertyValue('--chart-gradient-b2')\n\n if (chartGradientA2 && chartGradientB2) {\n this.chartGradientA2 = chartGradientA2\n this.chartGradientB2 = chartGradientB2\n }\n }\n\n getTransactionFilter(): TransactionFilter {\n var transactionFilter: TransactionFilter = {\n from: this.ngbDateToDate(this.fromDate).toISOString(),\n to: this.ngbDateToDateEnd(this.toDate).toISOString(),\n customerId: this.customerId\n };\n return transactionFilter;\n }\n\n setChartDefault() {\n this.setDefaultValues();\n this.loadBarChartDataBy('Tag');\n }\n\n getCurrentDay() {\n return this.datePipe.transform(this.date, 'yyyy-MM-dd');\n }\n\n getCurrentYear() {\n return this.datePipe.transform(this.date, 'yyyy');\n }\n\n setDateRangeCurrentWeek() {\n var firstDay = startOfISOWeek(this.date);\n var lastDay = endOfISOWeek(this.date);\n\n this.fromDate = this.convertToNgbDate(firstDay);\n this.toDate = this.convertToNgbDate(lastDay);\n\n this.formService.form.get(\"range\").setValue(this.formatRange(this.fromDate, this.toDate));\n }\n\n setDateRangeCurrentMonth() {\n var firstDay = startOfMonth(this.date);\n var lastDay = endOfMonth(this.date);\n\n this.fromDate = this.convertToNgbDate(firstDay);\n this.toDate = this.convertToNgbDate(lastDay);\n\n this.formService.form.get(\"range\").setValue(this.formatRange(this.fromDate, this.toDate));\n }\n\n setDateRangeCurrentYear() {\n var firstDay = startOfYear(this.date);\n var lastDay = endOfYear(this.date);\n\n this.fromDate = this.convertToNgbDate(firstDay);\n this.toDate = this.convertToNgbDate(lastDay);\n\n this.formService.form.get(\"selectedYear\").setValue(this.getCurrentYear())\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n selectedUserId: new UntypedFormControl(),\n selectedStationId: new UntypedFormControl(),\n selectedGroupId: new UntypedFormControl(),\n range: new UntypedFormControl(),\n selectedDay: new UntypedFormControl(),\n selectedYear: new UntypedFormControl()\n });\n\n this.setChartDefault();\n this.formService.formCreated = true;\n }\n\n setDefaultValues() {\n this.date = new Date();\n this.formService.form.get(\"selectedDay\").setValue(this.getCurrentDay());\n this.formService.form.get(\"selectedYear\").setValue(this.getCurrentYear());\n this.setDateRangeCurrentWeek();\n }\n\n async getEntitiesAsync(): Promise {\n if (this.isOperatorView) {\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n this.users = await this.userService.getUsersOfCustomerAsync(this.customerId);\n this.chargingStations = await this.chargingStationService.getChargingStationsOfCustomerAsync(this.customerId);\n this.groups = await this.chargingStationService.getChargingstationGroupsOfCustomerAsync(this.customerId);\n } else if (this.isUser) {\n this.createForm();\n return true\n }\n else {\n this.users = await this.userService.getUsersOfCurrentCustomerAsync();\n this.chargingStations = await this.chargingStationService.getChargingStationsOfCurrentCustomerAsync();\n this.groups = await this.chargingStationService.getChargingstationGroupsAsync();\n }\n\n this.chargingStations.sort((a, b) => a.name.localeCompare(b.name));\n this.groups.sort((a, b) => a.name.localeCompare(b.name));\n this.users.sort((a, b) => a.firstName.localeCompare(b.firstName));\n\n this.addFreeChargeUserAndQRChargeUser();\n this.resetDropdown()\n this.createForm();\n\n return true\n }\n\n resetDropdown() {\n this.filteredChargingStations = this.chargingStations\n this.filteredGroups = this.groups\n this.filteredUsers = this.users\n }\n\n addFreeChargeUserAndQRChargeUser() {\n const usersToAdd = [\n { id: 'ERoamingcharge', fullName: 'eRoaming-Laden' },\n { id: 'freecharge', fullName: 'Kostenloses Laden' },\n { id: 'QRCodecharge', fullName: 'QR-Code-Laden' },\n { id: 'Terminalcharge', fullName: 'Terminal-Laden' }\n ];\n\n this.users.push(...usersToAdd.map(user => {\n const userDto = new UserDto();\n userDto.id = user.id;\n userDto.fullName = user.fullName;\n return userDto;\n }));\n }\n\n onDateSelection(date: NgbDate, drop: any) {\n if (this.activeTab == 'week') {\n this.onDateSelectionWeek(date, drop);\n }\n else if (this.activeTab == 'month') {\n this.onDateSelectionMonth(date, drop);\n }\n else if (this.activeTab == 'own') {\n this.onDateSelectionOwn(date, drop);\n }\n }\n\n onDateSelectionWeek(date: NgbDate, drop: any) {\n var d = new Date(date.year, date.month - 1, date.day);\n var firstDay = startOfISOWeek(d)\n var lastDay = endOfISOWeek(d);\n\n this.fromDate = this.convertToNgbDate(firstDay);\n this.toDate = this.convertToNgbDate(lastDay);\n\n this.formService.form.get(\"range\").setValue(this.formatRange(this.fromDate, this.toDate));\n this.loadBarChartDataBy('Tag');\n drop.close();\n }\n\n onDateSelectionMonth(date: NgbDate, drop: any) {\n var d = new Date(date.year, date.month - 1, date.day);\n var firstDay = startOfMonth(d)\n var lastDay = endOfMonth(d);\n\n this.fromDate = this.convertToNgbDate(firstDay);\n this.toDate = this.convertToNgbDate(lastDay);\n\n this.formService.form.get(\"range\").setValue(this.formatRange(this.fromDate, this.toDate));\n this.loadBarChartDataBy('Tag');\n\n drop.close();\n }\n\n onDateSelectionOwn(date: NgbDate, drop: NgbDropdown) {\n if (!this.fromDate && !this.toDate) {\n this.fromDate = date;\n } else if (this.fromDate && !this.toDate) {\n if (date.after(this.fromDate)) {\n this.toDate = date;\n }\n else if (date.before(this.fromDate)) {\n this.toDate = this.fromDate;\n this.fromDate = date;\n }\n else if (date.equals(this.fromDate)) {\n this.toDate = date;\n }\n drop.close();\n } else {\n this.toDate = null;\n this.fromDate = date;\n }\n\n this.formService.form.get(\"range\").setValue(this.formatRange(this.fromDate, this.toDate));\n\n if (this.fromDate && this.toDate) {\n this.loadBarChartDataBy('Tag');\n }\n }\n\n convertToNgbDate(date: Date): NgbDate {\n return new NgbDate(date.getFullYear(), date.getMonth() + 1, date.getDate());\n }\n\n changeFromToDate(event) {\n this.fromDate = null;\n this.toDate = null;\n\n var fromToSplit = event.target.value.split(\" - \");\n var fromParts = fromToSplit[0].split(\".\");\n var toParts = fromToSplit[1].split(\".\");\n\n var FromDay = Number(fromParts[0]);\n var FromMonth = Number(fromParts[1]);\n var FromYear = Number(fromParts[2]);\n\n this.fromDate = new NgbDate(FromYear, FromMonth, FromDay);\n\n var ToDay = Number(toParts[0]);\n var ToMonth = Number(toParts[1]);\n var ToYear = Number(toParts[2]);\n\n this.toDate = new NgbDate(ToYear, ToMonth, ToDay);\n\n this.formService.form.get(\"range\").setValue(this.formatRange(this.fromDate, this.toDate));\n\n if (this.fromDate && this.toDate) {\n this.loadBarChartDataBy('Tag');\n }\n }\n\n private ngbDateToDate(ngbDate: NgbDate) {\n return new Date(ngbDate.year, ngbDate.month - 1, ngbDate.day);\n }\n\n private ngbDateToDateEnd(ngbDate: NgbDate) { //for filter end timestamp, should be ui date +1 day\n return new Date(ngbDate.year, ngbDate.month - 1, ngbDate.day + 1);\n }\n\n isHovered(date: NgbDate) {\n return this.fromDate && !this.toDate && this.hoveredDate && (date.after(this.fromDate) && date.before(this.hoveredDate) || date.after(this.hoveredDate) && date.before(this.fromDate));\n }\n\n isInside(date: NgbDate) {\n return date.after(this.fromDate) && date.before(this.toDate);\n }\n\n isRange(date: NgbDate) {\n return date.equals(this.fromDate) || date.equals(this.toDate) || this.isInside(date) || this.isHovered(date);\n }\n\n formatRange(fromDate: NgbDate, toDate: NgbDate) {\n return (fromDate ? '' + ('00' + fromDate.day).slice(-2) + \".\" + ('00' + fromDate.month).slice(-2) + \".\" + fromDate.year : \"\")\n + \" - \" +\n (toDate ? '' + ('00' + toDate.day).slice(-2) + \".\" + ('00' + toDate.month).slice(-2) + \".\" + toDate.year : \"\")\n }\n\n footerPreviousClicked(type, drop: NgbDropdown) {\n if (!drop.isOpen()) {\n return;\n }\n\n switch (type) {\n case 1:\n var newFromDateDay = this.date.getDate() - 1;\n var newFromDate = new Date();\n newFromDate.setDate(newFromDateDay);\n this.fromDate = this.convertToNgbDate(newFromDate);\n this.toDate = this.fromDate;\n break;\n\n case 3:\n var newFromDateDay = this.date.getDate() - 3;\n\n var newFromDate = new Date();\n newFromDate.setDate(newFromDateDay);\n\n var newToDate = new Date();\n newToDate.setDate(newFromDateDay + 2);\n\n this.fromDate = this.convertToNgbDate(newFromDate);\n this.toDate = this.convertToNgbDate(newToDate);\n break;\n\n case 5:\n var newFromDateDay = this.date.getDate() - 5;\n\n var newFromDate = new Date();\n newFromDate.setDate(newFromDateDay);\n\n var newToDate = new Date();\n newToDate.setDate(newFromDateDay + 4);\n\n this.fromDate = this.convertToNgbDate(newFromDate);\n this.toDate = this.convertToNgbDate(newToDate);\n break;\n\n case 7:\n var newFromDateDay = this.date.getDate() - 7;\n\n var newFromDate = new Date();\n newFromDate.setDate(newFromDateDay);\n\n var newToDate = new Date();\n newToDate.setDate(newFromDateDay + 6);\n\n this.fromDate = this.convertToNgbDate(newFromDate);\n this.toDate = this.convertToNgbDate(newToDate);\n break;\n\n case 'week':\n var dayLastWeek = this.date.getDate() - 7;\n var dateLastWeek = new Date();\n dateLastWeek.setDate(dayLastWeek);\n\n var firstday = startOfISOWeek(dateLastWeek)\n var lastday = endOfISOWeek(dateLastWeek);\n\n this.fromDate = this.convertToNgbDate(firstday);\n this.toDate = this.convertToNgbDate(lastday);\n break;\n\n case 'month':\n var lastMonth = this.date.getMonth() - 1;\n var dateLastMonth = new Date();\n dateLastMonth.setMonth(lastMonth);\n\n var firstday = startOfMonth(dateLastMonth)\n var lastday = endOfMonth(dateLastMonth);\n\n this.fromDate = this.convertToNgbDate(firstday);\n this.toDate = this.convertToNgbDate(lastday);\n break;\n }\n\n this.datePicker.navigateTo(this.fromDate);\n this.formService.form.get(\"range\").setValue(this.formatRange(this.fromDate, this.toDate));\n this.loadBarChartDataBy('Tag');\n drop.close();\n }\n\n async changeLocalFilter() {\n switch (this.activeTab) {\n case 'week':\n case 'month':\n case 'own':\n this.calculateData('Tag')\n break;\n case 'year':\n this.calculateData('Monat')\n break;\n }\n }\n\n changeYear() {\n const year = this.formService.form.get(\"selectedYear\").value\n const date = new Date(year, 7, 15)\n\n var firstDay = startOfYear(date);\n var lastDay = endOfYear(date);\n\n this.fromDate = this.convertToNgbDate(firstDay);\n this.toDate = this.convertToNgbDate(lastDay);\n\n this.loadBarChartDataBy('Monat')\n }\n\n applyLocalFilter(): TransactionDto[] {\n const formValue = this.formService.form.value;\n const transactionLocalFilter: TransactionLocalFilter = {\n chargingStationId: formValue.selectedStationId,\n groupId: formValue.selectedGroupId,\n userId: formValue.selectedUserId\n };\n\n let result = this.transactions.filter(t => {\n // Filter by chargingStationId\n if (transactionLocalFilter.chargingStationId != null &&\n t.chargingStationId !== transactionLocalFilter.chargingStationId) {\n return false;\n }\n\n // Filter by groupId\n if (transactionLocalFilter.groupId != null &&\n !t.chargingStationGroups.some(group => group.id === transactionLocalFilter.groupId)) {\n return false;\n }\n\n // Filter by userId\n if (transactionLocalFilter.userId != null &&\n t.userId !== transactionLocalFilter.userId) {\n return false;\n }\n\n return true;\n });\n this.updateDropdown(transactionLocalFilter, result)\n return result;\n }\n\n updateDropdown(filter: TransactionLocalFilter, transactions: TransactionDto[]) {\n this.resetDropdown();\n\n const existingChargingStationIds = new Set(transactions.map(t => t.chargingStationId));\n var existingGroupIds = new Set(transactions.reduce((acc, t) => { return acc.concat(t.chargingStationGroups.map(g => g.id)); }, []));\n const existingUserIds = new Set(transactions.map(t => t.userId));\n\n if (filter.chargingStationId) {\n this.filteredGroups = this.filteredGroups.filter(g => existingGroupIds.has(g.id));\n this.filteredUsers = this.filteredUsers.filter(u => existingUserIds.has(u.id));\n }\n\n if (filter.groupId) {\n this.filteredChargingStations = this.filteredChargingStations.filter(c => existingChargingStationIds.has(c.id));\n this.filteredUsers = this.filteredUsers.filter(u => existingUserIds.has(u.id));\n }\n\n if (filter.userId) {\n this.filteredGroups = this.filteredGroups.filter(g => existingGroupIds.has(g.id));\n this.filteredChargingStations = this.filteredChargingStations.filter(c => existingChargingStationIds.has(c.id));\n }\n }\n\n\n private loadBarChartDataBy(dayOrMonth: string) { //either 'Tag' or 'Monat'\n this.loading = true;\n const filter = this.getTransactionFilter()\n this.transactionsService.GetPowerConsumptionCustom(filter).subscribe(result => {\n this.transactions = plainToClass(TransactionDto, result).map(t => {\n if (!t.userId) {\n if (t.isFreeCharge) t.userId = 'freecharge';\n else if (t.paymentIntentId) t.userId = 'QRCodecharge';\n else if (t.sessionId) t.userId = 'ERoamingcharge';\n else if (t.hecId) t.userId = \"Terminalcharge\";\n }\n return t;\n });\n this.calculateData(dayOrMonth)\n }, error => { this.loading = false; })\n }\n\n calculateData(intervalType: string) { //intervalType either 'Tag' or 'Monat', and would be showed as x-axis label\n this.loading = true;\n const powerData = [];\n const labels = [];\n const filter = this.getTransactionFilter()\n const from = new Date(filter.from);\n const to = new Date(filter.to);\n const filteredTransactions = this.applyLocalFilter()\n\n const numberOfIntervals = intervalType === 'Tag'\n ? Math.ceil((to.getTime() - from.getTime()) / (1000 * 60 * 60 * 24))\n : 12;\n\n for (let i = 0; i <= (numberOfIntervals - 1); i++) {\n const currentDate = new Date(from);\n if (intervalType === 'Tag') {\n currentDate.setDate(from.getDate() + i);\n labels.push(currentDate.getDate());\n } else if (intervalType === 'Monat') {\n currentDate.setMonth(from.getMonth() + i);\n labels.push(i + 1);\n }\n\n const nextInterval = new Date(currentDate);\n if (intervalType === 'Tag') {\n nextInterval.setDate(currentDate.getDate() + 1);\n } else if (intervalType === 'Monat') {\n nextInterval.setMonth(currentDate.getMonth() + 1);\n }\n\n const consumptionOfInterval = filteredTransactions\n .filter(t => new Date(t.startTimestamp) >= currentDate && new Date(t.startTimestamp) < nextInterval)\n .reduce((sum, t) => sum + t.meterAmount, 0);\n\n powerData.push(consumptionOfInterval / 1000.0);\n }\n\n this.setupChart(labels, powerData, intervalType);\n }\n\n setupChart(labels: string[], powerData: number[], intervalType: string) {\n this.barChartData = powerData;\n this.labels = labels;\n this.xAxisLabel = intervalType;\n this.totalAmount = this.barChartData.reduce((accumulator, current) => { return accumulator + current; }, 0)\n\n const nonZeroPowerData = powerData.filter(z => z > 0);\n this.max = Math.max(...powerData) / 1000.0;\n this.min = nonZeroPowerData.length ? Math.min(...nonZeroPowerData) / 1000.0 : 0;\n this.average = powerData.length ? (powerData.reduce((sum, z) => sum + z, 0) / powerData.length) / 1000.0 : 0;\n this.createChart(this.kwText);\n }\n\n public changeChart(type) {\n switch (type) {\n case 'week':\n this.setDateRangeCurrentWeek();\n this.loadBarChartDataBy('Tag');\n break;\n case 'month':\n this.setDateRangeCurrentMonth();\n this.loadBarChartDataBy('Tag');\n break;\n case 'year':\n this.setDateRangeCurrentYear();\n this.loadBarChartDataBy('Monat');\n break;\n case 'own':\n this.setDateRangeCurrentWeek();\n this.loadBarChartDataBy('Tag');\n break;\n }\n }\n\n private createChart(label: string) {\n if (this.chart) this.chart.destroy();\n if (this.chart2) this.chart2.destroy();\n\n this.canvas = document.getElementById('powerChart');\n this.ctx = this.canvas.getContext('2d');\n\n var background = this.ctx.createLinearGradient(0, 0, 0, 600);\n background.addColorStop(0, this.chartGradientA);\n background.addColorStop(1, this.chartGradientB);\n\n Chart.register(annotationPlugin);\n\n this.chart = new Chart(this.ctx, {\n plugins: [ChartDataLabels],\n type: 'bar',\n data: {\n labels: this.labels,\n datasets: [\n {\n label: label,\n data: this.barChartData,\n backgroundColor: background,\n borderWidth: 0,\n xAxisID: 'x',\n yAxisID: 'y'\n },\n {\n label: 'Gesamtlademenge ' + this.totalAmount.toLocaleString() + ' kWh',\n data: null,\n backgroundColor: 'white',\n xAxisID: 'none',\n },\n ]\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n 'y': {\n beginAtZero: true,\n title: { display: true, text: 'Lademenge in kWh' },\n },\n 'x': {\n title: { display: true, text: this.xAxisLabel },\n },\n 'none': {\n display: false\n }\n },\n plugins: {\n datalabels: {\n anchor: 'center',\n align: 'center',\n labels: {\n value: {\n color: 'white'\n }\n },\n display: function (context) {\n return null // context.dataset.data[context.dataIndex] !== 0;\n }\n },\n legend: {\n title: {\n display: true,\n },\n onClick: null\n },\n annotation: {\n annotations: {\n line1: {\n type: 'line',\n scaleID: 'y-axis-1',\n yMin: this.max,\n yMax: this.max,\n borderColor: 'tomato',\n borderWidth: 1,\n display: this.maxShow\n },\n line2: {\n type: 'line',\n scaleID: 'y-axis-2',\n yMin: this.min,\n yMax: this.min,\n borderColor: 'blue',\n borderWidth: 1,\n display: this.minShow\n },\n line3: {\n type: 'line',\n scaleID: 'y-axis-3',\n yMin: this.average,\n yMax: this.average,\n borderColor: 'green',\n borderWidth: 1,\n display: this.averageShow\n }\n }\n }\n }\n }\n });\n\n this.canvas2 = document.getElementById('emissionChart');\n this.ctx2 = this.canvas2.getContext('2d');\n\n var background = this.ctx2.createLinearGradient(0, 0, 0, 600);\n background.addColorStop(0, this.chartGradientA2);\n background.addColorStop(1, this.chartGradientB2);\n\n const totalSavingCo2 = (((this.totalAmount * 3.6 * 94.1) / 1000) - ((this.totalAmount * 3.6 * 119 * 0.4) / 1000)).toLocaleString();\n\n this.chart2 = new Chart(this.ctx2, {\n plugins: [ChartDataLabels],\n type: 'bar',\n data: {\n labels: this.labels,\n datasets: [\n {\n label: 'CO₂-Einsparung in kg',\n data: this.barChartData.map(v => ((v * 3.6 * 94.1) / 1000) - ((v * 3.6 * 119 * 0.4) / 1000)),\n backgroundColor: background,\n borderWidth: 0,\n xAxisID: 'x',\n yAxisID: 'y',\n },\n {\n label: 'CO₂-Gesamteinsparung ' + totalSavingCo2 + ' kg',\n data: null,\n backgroundColor: 'white',\n xAxisID: 'none',\n }\n ]\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n 'y': {\n beginAtZero: true,\n title: { display: true, text: 'CO₂-Einsparung in kg' },\n },\n 'x': {\n title: { display: true, text: this.xAxisLabel },\n },\n 'none': {\n display: false\n }\n },\n plugins: {\n datalabels: {\n anchor: 'center',\n align: 'center',\n labels: {\n value: {\n color: 'white'\n }\n },\n display: function (context) {\n return null // context.dataset.data[context.dataIndex] !== 0;\n }\n },\n legend: {\n title: {\n display: true,\n },\n onClick: null\n },\n annotation: {\n annotations: {\n line1: {\n type: 'line',\n scaleID: 'y-axis-1',\n yMin: this.max,\n yMax: this.max,\n borderColor: 'tomato',\n borderWidth: 1,\n display: this.maxShow\n },\n line2: {\n type: 'line',\n scaleID: 'y-axis-2',\n yMin: this.min,\n yMax: this.min,\n borderColor: 'blue',\n borderWidth: 1,\n display: this.minShow\n },\n line3: {\n type: 'line',\n scaleID: 'y-axis-3',\n yMin: this.average,\n yMax: this.average,\n borderColor: 'green',\n borderWidth: 1,\n display: this.averageShow\n }\n }\n }\n }\n }\n });\n\n this.loading = false;\n }\n\n openCreateDeliveryNoteDialog() {\n const dialogRef = this.dialog.open(CreateDeliveryNoteDialogContentComponent, { centered: true, size: 'xl', backdrop: 'static' });\n\n\n dialogRef.componentInstance.transactions = this.applyLocalFilter().map(t => {\n if (t.isFreeCharge || t.paymentIntentId || t.sessionId || t.hecId) t.userId = null;\n return t;\n });\n dialogRef.componentInstance.userId = this.formService.form.get('selectedUserId').value;\n\n dialogRef.result.then((result) => {\n\n }, (backdrop) => {\n\n });\n }\n\n openCreateDeliveryCSVDialog() {\n const dialogRef = this.dialog.open(CreateDeliveryCSVDialogContentComponent, { centered: true, size: 'xl', backdrop: 'static' });\n\n\n dialogRef.componentInstance.transactions = this.applyLocalFilter().map(t => {\n if (t.isFreeCharge || t.paymentIntentId || t.sessionId) t.userId = null;\n return t;\n });\n dialogRef.componentInstance.userId = this.formService.form.get('selectedUserId').value;\n\n dialogRef.result.then((result) => {\n\n }, (backdrop) => {\n\n });\n }\n\n}\n","\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n \n
\n
\n\n \n \n {{ date.day }}\n \n \n\n \n
\n Schnellwahl\n Vorherige\n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n \n \n \n Als CSV herunterladen\n \n
\n\n
\n\n
\n
\n
\n Max
\n Min
\n Ø Lademenge in kWh\n
\n
\n
\n\n
\n
\n
\n Statistik wird generiert...\n
\n
\n \n \n
\n\n \n
\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { Component, Injector, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { DeliveryNotesTableEntry } from '@dto/deliveryNotesTableEntry';\nimport { DeliveryNote } from '@models/deliveryNote';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableOptions } from '@models/tableOptions';\nimport { DeliveryNotesService } from '@services/entity/delivery-notes.service';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\nimport '@angular/localize/init';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { TransactionDeliveryNoteDto } from '@dto/transactionDeliveryNoteDto';\nimport { KwhPipe } from '../../../pipes/kwh.pipe';\n\n@Component({\n selector: 'app-delivery-notes',\n templateUrl: './delivery-notes.component.html',\n styleUrls: ['./delivery-notes.component.scss']\n})\nexport class DeliveryNotesComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'DeliveryNotesComponent';\n\n @ViewChild('operatorView') operatorView: TemplateRef;\n @ViewChild('customerView') customerView: TemplateRef;\n @ViewChild('userView') userView: TemplateRef;\n\n public isOperatorView = false;\n\n public entities: DeliveryNotesTableEntry[];\n\n public transactions: TransactionDeliveryNoteDto[];\n public selectedDeliveryNote: DeliveryNote;\n\n public tableColumns: TableColumn[] = [\n {\n columnDescription: $localize`:@@DeliveryNotesColumn1:Name des Lieferscheins`,\n property: 'deliveryNoteNumber'\n }, {\n columnDescription: $localize`:@@DeliveryNotesColumn2:Vorname`,\n property: 'userFirstName'\n }, {\n columnDescription: $localize`:@@DeliveryNotesColumn3:Nachname`,\n property: 'userLastName'\n }, {\n columnDescription: $localize`:@@DeliveryNotesColumn4:kWh`,\n property: 'chargingAmount',\n options: { columnPipe: { pipe: new KwhPipe() } }\n }, {\n columnDescription: $localize`:@@DeliveryNotesColumn5:Lieferzeitraum`,\n property: 'deliveryPeriodString'\n }, {\n columnDescription: $localize`:@@DeliveryNotesColumn6:Versand`,\n property: 'deliveryNoteSendTimestamp',\n options: { columnPipe: { pipe: new DEDatePipe() } }\n },\n ];\n\n public tableOptions: TableOptions = {\n showNumbering: true,\n hideActions: true,\n rowRouterLink: 'edit/{deliveryNoteId}'\n };\n\n constructor(\n public deliveryNotesService: DeliveryNotesService,\n public dialog: NgbModal,\n injector: Injector) {\n super(deliveryNotesService, injector);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n }\n\n initializeEntities() {\n if (this.activatedRoute.snapshot.data['isOperatorView']) {\n this.deliveryNotesService.getDeliveryNotesOfCustomer(this.activatedRoute.parent.snapshot.params.key).subscribe(result => {\n this.entities = result;\n super.setupTable();\n this.tableFunctions.sortColumn = 'index';\n this.tableFunctions.sortDirection = 'desc';\n }, error => {});\n } else {\n this.deliveryNotesService.getDeliveryNotes().subscribe(result => {\n this.entities = result;\n super.setupTable();\n this.tableFunctions.sortColumn = 'index';\n this.tableFunctions.sortDirection = 'desc';\n }, error => {});\n }\n }\n\n matches(entry: DeliveryNotesTableEntry, term: string) {\n var chargingPower = entry.chargingAmount / 1000;\n\n return entry.deliveryNoteNumber?.toLowerCase().includes(term.toLowerCase()) ||\n entry.userFirstName?.toLowerCase().includes(term.toLowerCase()) ||\n entry.userLastName?.toLowerCase().includes(term.toLowerCase()) ||\n chargingPower.toString().includes(term.toLowerCase()) ||\n entry.deliveryPeriodString?.toLowerCase().includes(term.toLowerCase());\n }\n\n determineTemplate() {\n if(this.authenticationService.userHasRole('Operator')) {\n return this.operatorView;\n }\n else if (this.authenticationService.userHasRole('Customer')) {\n return this.customerView;\n }\n else if (this.authenticationService.userHasRole('User')) {\n return this.userView;\n }\n }\n}\n","\n \n\n\n\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n Loading...\n
\n
\n
\n\n\n
\n \n
\n
\n\n\n \n\n\n\n
\n
\n \n\n
\n \n
\n \n
\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n","import { Component, Injector, OnInit, TemplateRef } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport '@angular/localize/init';\nimport { ComponentBase } from '../../abstracts/component-base';\n\n@Component({\n selector: 'app-evaluation',\n templateUrl: './evaluation.component.html',\n styleUrls: ['./evaluation.component.scss']\n})\nexport class EvaluationComponent extends ComponentBase implements OnInit {\n\n public className = 'EvaluationComponent';\n public activeTab = 'charging-statistics';\n\n public activeComponentClassName: string;\n\n links = [\n {\n title: $localize`:@@EvaluationTitel1:Ladestatistik`, route: 'charging-statistics' },\n {\n title: $localize`:@@EvaluationTitel2:Ladevorgänge`, route: 'transactions' },\n {\n title: $localize`:@@EvaluationTitel3:Lieferscheine`, route: 'delivery-notes' },\n ];\n\n constructor(public tableFunctions: TableFunctionsService, public router: Router, public activatedRoute: ActivatedRoute, injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit(); \n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n this.determineActiveTab()\n }\n\n determineActiveTab() {\n for (let link of this.links) {\n if (this.router.url.includes(link.route)) {\n this.activeTab = link.route;\n }\n }\n }\n}\n","\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n\n
\n
\n
\n \n
\n
\n
\n\n
\n \n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { EvaluationComponent } from './evaluation.component';\nimport { DeliveryNotesComponent } from './delivery-notes/delivery-notes.component';\nimport { ChargingStatisticsComponent } from './charging-statistics/charging-statistics.component';\nimport { TransactionsComponent } from './transactions/transactions.component';\nimport { RoleGuard } from '@guards/role/role.guard';\nimport { DeliveryNoteActionsDialogComponent } from '@components/dialog/delivery-note-actions-dialog/delivery-note-actions-dialog.component';\nimport { DetailsTransactionDialogComponent } from '@components/dialog/details-transaction-dialog/details-transaction-dialog.component';\nimport { EditDeliveryNotesSettingsDialogComponent } from '@components/dialog/edit-delivery-notes-settings-dialog/edit-delivery-notes-settings-dialog.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'evaluation', component: EvaluationComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: ['Customer', 'User'] },\n children: [\n {\n path: '',\n redirectTo: 'charging-statistics',\n pathMatch: 'full'\n },\n {\n path: 'charging-statistics',\n component: ChargingStatisticsComponent\n },\n {\n path: 'delivery-notes',\n component: DeliveryNotesComponent,\n children: [\n {\n path: 'edit/:key',\n component: DeliveryNoteActionsDialogComponent,\n },\n {\n path: 'settings',\n component: EditDeliveryNotesSettingsDialogComponent,\n data: {roles: ['Customer']},\n },\n ]\n },\n {\n path: 'transactions',\n component: TransactionsComponent,\n children: [\n {\n path: ':key',\n component: DetailsTransactionDialogComponent,\n }\n ]\n },\n ]\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class EvaluationModule { }\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { Component, Injector, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { TransactionSuccess } from '@enums/transaction-success.enum';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableOptions } from '@models/tableOptions';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { RouteDataService } from '@services/route-data/route-data.service';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\nimport '@angular/localize/init';\nimport { CreateDeliveryNoteDialogContentComponent } from '@components/dialog/create-delivery-note-dialog-content/create-delivery-note-dialog-content.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { plainToClass } from 'class-transformer';\nimport { TableFilter } from '@models/tableFilter';\nimport { CreateDeliveryCSVDialogContentComponent } from '../../dialog/create-delivery-csv-dialog-content/create-delivery-csv-dialog-content.component';\n\n@Component({\n selector: 'app-transactions',\n templateUrl: './transactions.component.html',\n styleUrls: ['./transactions.component.scss']\n})\nexport class TransactionsComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'TransactionsComponent';\n\n @ViewChild('customerView') customerView: TemplateRef;\n @ViewChild('userView') userView: TemplateRef;\n\n public customerId: number;\n private chargingStationId: string;\n public entities: TransactionDto[];\n public isOperatorView: boolean;\n public filter: TableFilter;\n\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@TransactionsColumn1:Trans-ID`, property: 'transactionId' },\n { columnDescription: $localize`:@@TransactionsColumn2:Status`, property: 'successMessage' },\n { columnDescription: $localize`:@@TransactionsColumn3:Grund`, property: 'reason' },\n { columnDescription: $localize`:@@TransactionsColumn4:Vorname`, property: 'userFirstName' },\n { columnDescription: $localize`:@@TransactionsColumn5:Nachname`, property: 'userLastName' },\n { columnDescription: $localize`:@@TransactionsColumn6:RFID`, property: 'rfidCardIdTag' },\n { columnDescription: $localize`:@@TransactionsColumn7:Ladestation`, property: 'chargingStationName' },\n { columnDescription: $localize`:@@TransactionsColumn8:kWh`, property: 'meterAmount', options: { isMeterValue: true } },\n // { columnDescription: $localize`:@@TransactionsColumn8:kWh`, property: 'meterAmount', options: { columnPipe: { pipe: new ThousandPipe(new DecimalPipe('de-DE')) } } },\n { columnDescription: $localize`:@@TransactionsColumn9:Anfang`, property: 'startTimestamp', options: { columnPipe: { pipe: new DEDatePipe() } } },\n { columnDescription: $localize`:@@TransactionsColumn10:Ende`, property: 'stopTimestamp', options: { columnPipe: { pipe: new DEDatePipe() } } },\n { columnDescription: $localize`:@@TransactionsColumn11:Dauer`, property: 'duration' },\n ];\n\n public tableOptions: TableOptions = { hideActions: true, showCheckboxes: false };\n\n constructor(\n public transactionsService: TransactionsService, private dialog: NgbModal, private routeDataService: RouteDataService, injector: Injector) {\n super(transactionsService, injector);\n }\n\n ngOnInit() {\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n if (this.authenticationService.userHasRole('Customer') || this.authenticationService.userHasRole('Operator') || this.authenticationService.userHasRole('User')) {\n this.tableOptions = { hideActions: true, showCheckboxes: true, rowRouterLink: '{id}' };\n }\n super.ngOnInit();\n\n let size = parseInt(localStorage.getItem(`${this.className}PageSize`))\n if (size) this.tableFunctions.pageSize = size;\n else this.tableFunctions.pageSize = 50;\n\n this.tableFunctions.sortColumn = 'id';\n this.tableFunctions.sortDirection = 'desc';\n }\n\n async initializeEntities() {\n if(this.isOperatorView) {\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n }\n }\n\n mapSuccessMessageAndQRCodeTag() {\n for (let transactionDto of this.entities) {\n transactionDto.successMessage = TransactionSuccess[transactionDto.success];\n if (transactionDto.paymentIntentId != null) transactionDto.rfidCardIdTag = 'QR-Code-Laden';\n if (transactionDto.isFreeCharge) transactionDto.rfidCardIdTag = 'Kostenloses Laden';\n if (transactionDto.sessionId != null) transactionDto.rfidCardIdTag = 'eRoaming-Laden';\n if (transactionDto.hecId != null) transactionDto.rfidCardIdTag = 'Terminal-Laden';\n if (transactionDto.userFirstName == null) transactionDto.userFirstName = '—'\n if (transactionDto.userLastName == null) transactionDto.userLastName = '—'\n }\n }\n\n matches(entity: TransactionDto, term: string) {\n return TransactionsService.matches(entity, term);\n }\n\n openCreateDeliveryNoteDialog() {\n const dialogRef = this.dialog.open(CreateDeliveryNoteDialogContentComponent, { centered: true, size: 'xl', backdrop: 'static' });\n dialogRef.componentInstance.transactions = this.tableFunctions.selectedEntities;\n dialogRef.componentInstance.customerId = this.customerId;\n\n dialogRef.result.then((result) => {\n\n }, (backdrop) => {\n\n });\n }\n\n determineTemplate() {\n if (this.authenticationService.userHasRole('Customer') || this.authenticationService.userHasRole('Operator')) {\n return this.customerView;\n }\n else if (this.authenticationService.userHasRole('User')) {\n\n return this.userView;\n }\n }\n\n setFilter(filter: TableFilter) {\n filter.filterDLM = false;\n filter.filterSignal = false;\n this.filter = filter;\n this.updateTable();\n }\n\n openCreateDeliveryCSVDialog() {\n const dialogRef = this.dialog.open(CreateDeliveryCSVDialogContentComponent, { centered: true, size: 'xl', backdrop: 'static' });\n\n\n dialogRef.componentInstance.transactions = this.tableFunctions.selectedEntities;\n dialogRef.componentInstance.userId = null;\n\n dialogRef.result.then((result) => {\n\n }, (backdrop) => {\n\n });\n }\n\n async updateTable() {\n if(this.isOperatorView) {\n this.transactionsService.getTransactionsOfCustomer(this.customerId, this.filter).subscribe(result => {\n this.entities = plainToClass(TransactionDto, result)\n this.mapSuccessMessageAndQRCodeTag()\n super.setupTable()\n }, error => {\n this.messageService.setError(error);\n });\n } else {\n this.transactionsService.getTransactions(this.filter).subscribe(result => {\n this.entities = plainToClass(TransactionDto, result)\n this.mapSuccessMessageAndQRCodeTag()\n super.setupTable()\n }, error => {\n this.messageService.setError(error);\n });\n }\n }\n}\n","\n
\n \n
\n
\n
\n Loading...\n
\n
\n
\n\n\n
\n
\n \n\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n
\n
\n
\n
Datensätze #
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n\n\n \n \n\n\n\n\n\n","import { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { ChargingstationGroupDto } from '@dto/chragingstationGroupDto';\nimport { UserDto } from '@dto/userDto';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { UsersService } from '@services/entity/users.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { AbstractDialogContent } from '../../../../abstracts/dialog/dialog-content';\nimport { ChargingStationsService } from '../../../../services/entity/charging-stations.service';\nimport { FormService } from '../../../../services/form/form.service';\n\n@Component({\n selector: 'app-create-groups',\n templateUrl: './create-groups.component.html',\n styleUrls: ['./create-groups.component.scss']\n})\nexport class CreateGroupsComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'CreateGroupsComponent';\n\n @Input() public customerId: number;\n\n public group: ChargingstationGroupDto = new ChargingstationGroupDto();\n public chargingstations: ChargingStationDto[];\n public assignedChargingStations: ChargingStationDto[] = [];\n public users: UserDto[];\n public formCreated: boolean = false;\n\n constructor(public activeModal: NgbActiveModal, public formService: FormService, injector: Injector,\n private chargingStationsService: ChargingStationsService,\n private usersService: UsersService,\n private toastService: ToastService\n ) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n this.loadChargingStations();\n this.loadUsers();\n this.createForm();\n }\n\n loadChargingStations() {\n if (this.customerId) {\n this.chargingStationsService.getChargingStationsOfCustomer(this.customerId).subscribe(result => {\n this.setupChargingStations(result);\n }, error => {});\n } else {\n this.chargingStationsService.getChargingStationsOfCurrentCustomer().subscribe(result => {\n this.setupChargingStations(result);\n }, error => {});\n }\n }\n\n loadUsers() {\n if (this.customerId) {\n this.usersService.getUsersOfCustomer(this.customerId).subscribe(result => {\n this.setupUsers(result);\n }, error => {});\n } else {\n this.usersService.getUsersOfCurrentCustomer().subscribe(result => {\n this.setupUsers(result);\n }, error => {});\n }\n }\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n }\n\n this.formService.form = new UntypedFormGroup({\n name: new UntypedFormControl(this.group.name, this.formService.validators['name']),\n description: new UntypedFormControl(this.group.description),\n selectedChargingstations: new UntypedFormControl(this.group.chargingStations),\n selectedUsers: new UntypedFormControl(this.group.users)\n });\n\n this.formCreated = true;\n }\n\n\n onSubmit(formValue) {\n this.toastService.loading($localize`:@@SavingChangesToast:Änderungen werden gespeichert.`)\n var chargingStationGroupDto: ChargingstationGroupDto = {\n name: formValue.name,\n description: formValue.description,\n chargingStations: formValue.selectedChargingstations,\n users: formValue.selectedUsers\n };\n \n\n if(this.customerId){\n this.chargingStationsService.createChargingStationGroupForCustomer(chargingStationGroupDto, this.customerId).subscribe(result => {\n this.toastService.success($localize`:@@SavingChangesErrorToast:Änderungen gespeichert`, 0, true);\n this.activeModal.close();\n }, error => {\n this.toastService.error(`:@@SavingChangesErrorToast:Änderungen konnten nicht gespeichert werden`, 0, true);\n });\n }\n else{\n this.chargingStationsService.createChargingStationGroupForCurrentCustomer(chargingStationGroupDto).subscribe(result => {\n this.toastService.success($localize`:@@SavingChangesErrorToast:Änderungen gespeichert`, 0, true);\n this.activeModal.close();\n }, error => {\n this.toastService.error(`:@@SavingChangesErrorToast:Änderungen konnten nicht gespeichert werden`, 0, true);\n });\n }\n\n }\n\n setupChargingStations(chargingstations : ChargingStationDto[]) {\n this.chargingstations = chargingstations\n this.chargingstations = this.chargingstations\n .sort((a, b) => a.name.localeCompare(b.name))\n }\n\n setupUsers(users: UserDto[]) {\n this.users = users\n this.users = this.users\n .sort((a, b) => a.fullName.localeCompare(b.fullName))\n }\n}\n","
\n
Neue Gruppe erstellen
\n \n
\n\n
\n
\n
\n
\n \n \n\n
\n \n Gruppenname wird benötigt\n \n
\n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n
\n
\n
\n \n \n
\n\n","import { Component, Injector, Input, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { DeleteGroupDialogContentComponent } from '@components/dialog/delete-group-dialog/delete-group-dialog-content/delete-group-dialog-content.component';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { ChargingstationGroupDto } from '@dto/chragingstationGroupDto';\nimport { UserDto } from '@dto/userDto';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { UsersService } from '@services/entity/users.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport { tr } from 'date-fns/locale';\nimport Swal from 'sweetalert2';\nimport { AbstractDialogContent } from '../../../../abstracts/dialog/dialog-content';\nimport { ChargingstationGroup } from '../../../../dto/chargingstationGroup';\nimport { ChargingStationsService } from '../../../../services/entity/charging-stations.service';\nimport { FormService } from '../../../../services/form/form.service';\n\n@Component({\n selector: 'app-edit-groups',\n templateUrl: './edit-groups.component.html',\n styleUrls: ['./edit-groups.component.scss']\n})\nexport class EditGroupsComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'EditGroupsComponent';\n\n @Input() public groupId: number\n @Input() public customerId: number;\n\n public group: ChargingstationGroupDto = new ChargingstationGroupDto();\n public chargingstations: ChargingStationDto[];\n public assignedChargingStations: ChargingStationDto[] = [];\n public users: UserDto[];\n public formCreated: boolean;\n public chargingstationsEdited: boolean = false;\n public usersEdited: boolean = false;\n\n constructor(public activeModal: NgbActiveModal, public formService: FormService, injector: Injector,\n private chargingStationsService: ChargingStationsService,\n private usersService: UsersService,\n private toastService: ToastService,\n private dialog: NgbModal\n ) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n this.loadGroup();\n }\n\n loadGroup() {\n this.chargingStationsService.getChargingstationGroup(this.groupId).subscribe(result => {\n this.group = plainToClass(ChargingstationGroupDto, result);\n this.loadChargingStations();\n this.loadUsers();\n this.createForm()\n }, error => {});\n }\n\n loadChargingStations() {\n if (this.customerId) {\n this.chargingStationsService.getChargingStationsOfCustomer(this.customerId).subscribe(result => {\n this.setupChargingStations(result);\n }, error => {});\n } else {\n this.chargingStationsService.getChargingStationsOfCurrentCustomer().subscribe(result => {\n this.setupChargingStations(result);\n }, error => {});\n }\n }\n\n loadUsers() {\n if (this.customerId) {\n this.usersService.getUsersOfCustomer(this.customerId).subscribe(result => {\n this.setupUsers(result);\n }, error => {});\n } else {\n this.usersService.getUsersOfCurrentCustomer().subscribe(result => {\n this.setupUsers(result);\n }, error => {});\n }\n }\n\n createForm() {\n this.formService.validators = {\n name: [Validators.required],\n }\n\n this.formService.form = new UntypedFormGroup({\n name: new UntypedFormControl(this.group.name, this.formService.validators['name']),\n description: new UntypedFormControl(this.group.description),\n selectedChargingstations: new UntypedFormControl(this.group.chargingStations.sort((a, b) => a.name?.localeCompare(b.name))),\n selectedUsers: new UntypedFormControl(this.group.users.sort((a, b) => a.fullName.localeCompare(b.fullName)))\n });\n\n this.formCreated = true;\n }\n\n\n onSubmit(formValue) {\n this.toastService.loading($localize`:@@SavingChangesToast:Änderungen werden gespeichert.`)\n var chargingStationGroupDto: ChargingstationGroupDto = {\n id: this.group.id,\n name: formValue.name,\n description: formValue.description,\n chargingStations: formValue.selectedChargingstations,\n users: formValue.selectedUsers,\n chargingstationsEdited: this.chargingstationsEdited,\n usersEdited: this.usersEdited\n };\n\n this.chargingStationsService.editChargingStationGroup(chargingStationGroupDto, this.group.id).subscribe(result => {\n this.toastService.success($localize`:@@SavingChangesSuccessToast:Änderungen gespeichert`, 0, true);\n this.activeModal.close();\n }, error => {\n this.toastService.error($localize`:@@SavingChangesErrorToast:Änderungen konnten nicht gespeichert werden`, 0, true);\n });\n }\n\n openDeleteDialog() {\n const dialogRef = this.dialog.open(DeleteGroupDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.groupId = this.groupId;\n\n dialogRef.result.then((result) => {\n if (result?.success) {\n this.activeModal.close();\n }\n }, (backdrop) => {});\n }\n\n\n setupChargingStations(chargingstations : ChargingStationDto[]) {\n this.chargingstations = chargingstations\n this.chargingstations = this.chargingstations\n .sort((a, b) => a.name.localeCompare(b.name))\n }\n\n setupUsers(users: UserDto[]) {\n this.users = users\n this.users = this.users\n .sort((a, b) => a.fullName.localeCompare(b.fullName))\n }\n\n chargingstationsChanged(){\n this.chargingstationsEdited = true;\n }\n\n usersChanged(){\n this.usersEdited = true;\n }\n}\n","
\n
Gruppe {{group.name}} bearbeiten
\n \n
\n\n
\n
\n
\n
\n \n \n\n
\n \n Gruppenname wird benötigt\n \n
\n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n
\n
\n
\n
\n \n
\n \n \n
\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { UsersService } from '@services/entity/users.service';\nimport { ChargingstationGroupDto } from '../../../dto/chragingstationGroupDto';\nimport { TableColumn } from '../../../models/tableColumn';\nimport { TableOptions } from '../../../models/tableOptions';\nimport { ChargingStationsService } from '../../../services/entity/charging-stations.service';\nimport { RouteDataService } from '../../../services/route-data/route-data.service';\nimport { CreateGroupsComponent } from './create-groups/create-groups.component';\nimport '@angular/localize/init';\n\n@Component({\n selector: 'app-groups',\n templateUrl: './groups.component.html',\n styleUrls: ['./groups.component.scss']\n})\nexport class GroupsComponent extends AbstractEntitiesTableComponent implements OnInit {\n\n public className = 'GroupsComponent';\n\n public entities: ChargingstationGroupDto[];\n public isOperatorView: boolean;\n\n private customerId: number;\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@GroupsColumn1:Gruppenname`, property: 'name' },\n { columnDescription: $localize`:@@GroupsColumn2:Anzahl Ladestationen`, property: 'countOfChargingStations' },\n { columnDescription: $localize`:@@GroupsColumn3:Beschreibung`, property: 'description'}\n ];\n\n public tableOptions: TableOptions = {\n showNumbering: true,\n hideActions: true,\n tableStyleClasses: '',\n rowRouterLink: 'edit/{id}'\n };\n\n constructor(public chargingStationsService: ChargingStationsService, private dialog: NgbModal, injector: Injector, private routeDataService: RouteDataService, public usersService: UsersService) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit(): void {\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n super.ngOnInit();\n }\n\n async initializeEntities() {\n if (this.isOperatorView) {\n this.customerId = this.activatedRoute.parent.snapshot.params.key;\n\n this.chargingStationsService.getChargingstationGroupsOfCustomer(this.customerId).subscribe(result => {\n this.entities = result;\n super.setupTable();\n }, error => {});\n }\n else {\n this.chargingStationsService.getChargingstationGroups().subscribe(result => {\n this.entities = result;\n super.setupTable();\n }, error => {});\n }\n }\n\n matches(chargingStationGroup: ChargingstationGroupDto, term: string) {\n return chargingStationGroup.name?.toLowerCase().includes(term.toLowerCase()) ||\n chargingStationGroup.countOfChargingStations?.toString().includes(term.toLowerCase()) ||\n chargingStationGroup.description?.toLowerCase().includes(term.toLowerCase());\n }\n\n openCreateGroupDialog() {\n const dialogRef = this.dialog.open(CreateGroupsComponent, { centered: true, size: 'lg', backdrop: 'static' });\n\n dialogRef.componentInstance.customerId = this.customerId;\n\n dialogRef.result.then((result) => {\n this.initializeEntities();\n }, (backdrop) => {\n this.initializeEntities();\n });\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n
\n
\n
\n \n
\n
\n \n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableFunctionsService } from '@services/table/table-functions.service';\nimport '@angular/localize/init';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { Injector } from '@angular/core';\n\n@Component({\n selector: 'app-manage',\n templateUrl: './manage.component.html',\n styleUrls: ['./manage.component.scss']\n})\nexport class ManageComponent extends ComponentBase implements OnInit {\n\n public className = 'ManageComponent';\n public activeTab = 'users';\n\n public activeComponentClassName: string;\n\n links = [\n { title: $localize`:@@ManageTitel1:Benutzer`, route: 'users', icon: 'users' },\n //{ title: $localize`:@@ManageTitel3:RFID-Karten`, route: 'rfid', icon: 'rfid-card' },\n //{ title: $localize`:@@ManageTitel5:Nicht zugeteilte RFID-Karten`, route: 'unassigned-rfid', icon:'rfid-card' },\n //{ title: $localize`:@@ManageTitel4:Profil`, route: 'profile', icon: 'settings' }\n ];\n\n constructor(public tableFunctions: TableFunctionsService, public router: Router, public activatedRoute: ActivatedRoute, injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.determineActiveTab();\n }\n\n public onRouterOutletActivate(event: any) {\n this.activeComponentClassName = event.className;\n }\n\n determineActiveTab() {\n for (let link of this.links) {\n if (this.router.url.includes(link.route)) {\n this.activeTab = link.route;\n }\n }\n }\n}\n","\n\n
\n
\n \n\n
\n
\n
\n \n
\n
\n
\n\n
\n \n
\n
\n
\n\n\n
\n
\n
\n
Elemente pro Seite
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Springe zu Seite
\n
\n \n
\n
\n
\n
\n
\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { ManageComponent } from './manage.component';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\n\nimport { RfidCardsTableComponent } from '@components/entities/rfid-cards/rfid-cards-table/rfid-cards-table.component';\nimport { UnassignedRfidCardsTableComponent } from '@components/entities/rfid-cards/unassigned-rfid-cards-table/unassigned-rfid-cards-table.component';\nimport { CreateUserDialogComponent } from '@components/dialog/create-user-dialog/create-user-dialog.component';\nimport { DeleteUserDialogComponent } from '@components/dialog/delete-user-dialog/delete-user-dialog.component';\nimport { EditUserDialogComponent } from '@components/dialog/edit-user-dialog/edit-user-dialog.component';\nimport { UsersTableComponent } from '@components/entities/users/users-table/users-table.component';\nimport { ProfileComponent } from './profile/profile.component';\nimport { CreateRfidCardDialogComponent } from '@components/dialog/create-rfid-card-dialog/create-rfid-card-dialog.component';\nimport { EditRfidCardDialogComponent } from '@components/dialog/edit-rfid-card-dialog/edit-rfid-card-dialog.component';\nimport { EditEmailDialogComponent } from '@components/dialog/edit-email-dialog/edit-email-dialog.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule.forChild(\n [\n {\n path: 'manage', component: ManageComponent, canActivate: [AuthGuard, RoleGuard], data: { roles: ['Customer'] }, children: [\n {\n path: '',\n redirectTo: 'users',\n pathMatch: 'full'\n },\n {\n path: 'users',\n component: UsersTableComponent,\n children: [\n {\n path: 'create',\n component: CreateUserDialogComponent\n },\n {\n path: 'edit/:key',\n component: EditUserDialogComponent\n },\n {\n path: 'delete/:key',\n component: DeleteUserDialogComponent\n }\n ]\n },\n {\n path: 'rfid',\n component: RfidCardsTableComponent,\n children: [\n {\n path: 'create',\n component: CreateRfidCardDialogComponent\n },\n {\n path: 'edit/:key',\n component: EditRfidCardDialogComponent\n }\n ]\n },\n {\n path: 'unassigned-rfid',\n component: UnassignedRfidCardsTableComponent,\n children: [\n {\n path: 'create',\n component: CreateRfidCardDialogComponent\n },\n {\n path: 'edit/:key',\n component: EditRfidCardDialogComponent\n }\n ]\n },\n {\n path: 'profile',\n component: ProfileComponent,\n children: [\n {\n path: 'email',\n component: EditEmailDialogComponent\n }\n ]\n },\n ]\n },\n ]\n )\n ],\n providers: [\n ],\n})\nexport class ManageModule { }\n","import { AbstractCreateEntityComponent } from '@abstracts/entities/create-entity';\nimport { Component, Inject, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ChargingParkSubscriptionDto } from '@dto/chargingParkSubscriptionDto';\nimport { PricingDto } from '@dto/pricingDto';\nimport { StripeInfoDto } from '@dto/stripeInfoDto';\nimport { UserDto } from '@dto/userDto';\nimport { UserProfile } from '@dto/userProfile';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { PaymentsService } from '@services/payments/payments.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\nimport { loadStripe } from '@stripe/stripe-js';\nimport { StripeCustomerDto } from '@dto/StripeCustomerDto';\nimport { Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PaymentMethodAddedDialogContentComponent } from '../../../dialog/payment-method-added-dialog-content/payment-method-added-dialog-content.component';\n\n@Component({\n selector: 'app-charging-park-subscription',\n templateUrl: './charging-park-subscription.component.html',\n styleUrls: ['./charging-park-subscription.component.scss']\n})\nexport class ChargingParkSubscriptionComponent extends AbstractCreateEntityComponent implements OnInit {\n\n public className = 'ChargingParkSubscriptionComponent'\n\n public currentUser: UserDto\n public parkOwner: UserDto\n public parkOwnerStripeAccountId: string\n public thereWasNoPreviousPaymentPethod: boolean = false\n public parkOwnerStripeCustomerId: string\n public pricing: PricingDto\n public formCreated: boolean = false\n public subscriptionFormService: FormService\n public userProfile: UserProfile\n public subscription: ChargingParkSubscriptionDto\n public stripe: any\n public isCreatingStripeForm: boolean = false\n public stripeCustomerProfile: StripeCustomerDto\n public hasStripeCustomerId: boolean = false\n public agreed: boolean = false\n public elements: any\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private stripeInfosService: StripeInfosService,\n private pricingsService: PricingsService,\n private usersService: UsersService,\n public toastService: ToastService,\n public activeModal: NgbActiveModal,\n private dialog: NgbModal,\n public paymentsService: PaymentsService,\n private router: Router,\n injector: Injector\n ) {\n super(pricingsService, injector)\n }\n\n async ngOnInit() {\n this.loadUser();\n this.setupStripe();\n super.ngOnInit();\n }\n\n createForm() { }\n\n async setupStripe() {\n this.paymentsService.getStripePublishableKey().subscribe(async (stripe) => {\n this.stripe = await loadStripe(stripe.publishableKey);\n }, error => {\n console.error(error)\n })\n }\n\n async loadUser() {\n this.currentUser = this.authenticationService.getLoggedInUser();\n this.loadUserStripeInfo();\n this.usersService.getUserProfile().subscribe(result => {\n this.userProfile = result;\n if (this.userProfile.stripeCustomerId != null) {\n this.hasStripeCustomerId = true;\n this.paymentsService.getCustomer(this.userProfile.stripeCustomerId).subscribe(result => {\n this.stripeCustomerProfile = result;\n this.loadPricing()\n }, error => { console.error(error) })\n }\n else { this.loadPricing() };\n }, error => { });\n }\n\n loadPricing() {\n if (this.currentUser && this.currentUser.pricingId != null) {\n this.pricingsService.getPricing(this.currentUser.pricingId).subscribe(pricing => {\n this.pricing = plainToClass(PricingDto, pricing)\n\n this.usersService.getUserNameById(pricing.ownerUserId).subscribe(owner => {\n this.parkOwner = owner\n })\n this.loadOwnerStripeInfo();\n this.createSubscriptionForm();\n }, error => {\n console.error(error)\n })\n }\n }\n\n loadOwnerStripeInfo() {\n //getStripeInfoOfUser (owner that the payment will go to)\n this.stripeInfosService.getStripeInfoOfUser(this.pricing.ownerUserId).subscribe(stripeInfo => {\n this.parkOwnerStripeAccountId = stripeInfo.stripeAccountId;\n }, error => { console.error(error) });\n }\n\n loadUserStripeInfo() {\n //getStripeInfoOfUser (user that wants to charge here)\n this.stripeInfosService.getStripeInfoOfUser(this.currentUser.id).subscribe(stripeInfo => {\n this.thereWasNoPreviousPaymentPethod = stripeInfo.stripePaymentMethodId == null;\n }, error => { console.error(error) });\n }\n\n createSubscriptionForm() {\n console.log(this.baseUrl)\n this.subscriptionFormService = new FormService();\n\n this.subscriptionFormService.validators = {\n email: [Validators.required, Validators.email],\n company: [],\n name: [Validators.required, Validators.minLength(2), Validators.pattern(/[a-zA-Z \\.]*/)],\n line1: [Validators.required, Validators.minLength(3), Validators.pattern(/[0-9a-zA-Z ]*/)],\n line2: [],\n postalCode: [Validators.required],\n city: [Validators.required, Validators.minLength(2), Validators.pattern(/[a-zA-Z ]*/)],\n }\n\n this.subscriptionFormService.form = new UntypedFormGroup({\n email: new UntypedFormControl(this.hasStripeCustomerId ? this.stripeCustomerProfile.email : this.userProfile.email, this.subscriptionFormService.validators['email']),\n company: new UntypedFormControl(this.hasStripeCustomerId ? this.stripeCustomerProfile.company : this.userProfile.company, this.subscriptionFormService.validators['company']),\n name: new UntypedFormControl(this.hasStripeCustomerId ? this.stripeCustomerProfile.name : this.userProfile.firstName + ' ' + this.userProfile.lastName, this.subscriptionFormService.validators['name']),\n line1: new UntypedFormControl(this.hasStripeCustomerId ? this.stripeCustomerProfile.addressLine1 : this.userProfile.address.street + ' ' + this.userProfile.address.houseNumber, this.subscriptionFormService.validators['line1']),\n line2: new UntypedFormControl(this.hasStripeCustomerId ? this.stripeCustomerProfile.addressLine2 : '', this.subscriptionFormService.validators['line2']),\n postalCode: new UntypedFormControl(this.hasStripeCustomerId ? this.stripeCustomerProfile.postalCode : this.userProfile.address.postalCode, this.subscriptionFormService.validators['postalCode']),\n city: new UntypedFormControl(this.hasStripeCustomerId ? this.stripeCustomerProfile.city : this.userProfile.address.city, this.subscriptionFormService.validators['city']),\n })\n\n this.formCreated = true;\n }\n\n onSubmit(formValue) {\n let chargingParkSubscription = new ChargingParkSubscriptionDto();\n chargingParkSubscription.parkOwnerName = this.parkOwner.company ? this.parkOwner.company : `${this.parkOwner.firstName} ${this.parkOwner.lastName}`\n chargingParkSubscription.parkOwnerStripeAccountId = this.parkOwnerStripeAccountId\n chargingParkSubscription.StripeCustomerId = this.parkOwnerStripeCustomerId\n chargingParkSubscription.stripePriceId = this.pricing.priceId\n\n chargingParkSubscription.email = formValue.email\n chargingParkSubscription.company = formValue.company\n chargingParkSubscription.name = formValue.name\n chargingParkSubscription.line1 = formValue.line1\n chargingParkSubscription.housenumber = formValue.housenumber\n chargingParkSubscription.postalCode = formValue.postalCode\n chargingParkSubscription.city = formValue.city\n chargingParkSubscription.StripeCustomerId = this.userProfile.stripeCustomerId\n chargingParkSubscription.userId = this.userProfile.id\n chargingParkSubscription.pricingId = this.pricing.id\n\n chargingParkSubscription.url = window.location.host\n\n this.isCreatingStripeForm = true\n this.paymentsService.createSetupIntent(chargingParkSubscription).subscribe(subscription => {\n this.subscription = subscription;\n this.createStripeForm()\n }, error => console.error(error))\n\n }\n\n createStripeForm() {\n this.elements = this.stripe.elements({\n clientSecret: this.subscription.stripeClientSecret,\n appearance: {\n theme: 'flat',\n rules: {\n '.Label': {\n marginBottom: '0.5rem',\n fontSize: '0.875rem',\n color: '#212529',\n lineHeight: '1.5',\n },\n '.Input': {\n border: '1px solid #ced4da',\n boxShadow: 'inset 0 1px 2px rgb(0, 0, 0, .08)',\n padding: '0.375rem 0.75rem',\n fontSize: '0.875rem',\n color: '#212529',\n lineHeight: '1.5',\n },\n },\n variables: {\n colorPrimary: '#ef7c00',\n colorBackground: '#ffffff',\n colorText: '#000',\n colorDanger: '#df1b41',\n fontFamily: 'Lato, system-ui, sans-serif',\n spacingUnit: '3px',\n borderRadius: '4px',\n }\n }\n })\n const paymentElement = this.elements.create('payment');\n paymentElement.mount('#payment-element');\n }\n\n onStripeSubmit() {\n this.stripe.confirmSetup({\n elements: this.elements,\n redirect: 'if_required',\n confirmParams: {\n return_url: this.baseUrl + 'profile',\n },\n }).then((result) => {\n if (result.error) {\n this.handleError(result.error);\n } else if (result.setupIntent.status === \"succeeded\") {\n this.handleSuccess(result.setupIntent);\n }\n }).catch((error) => {\n console.error(error);\n });\n }\n\n private handleError(error) {\n this.toastService.error(error.message);\n const messageContainer = document.querySelector('#error-message');\n messageContainer.textContent = error.message;\n console.error(error);\n }\n\n private handleSuccess(setupIntent) {\n this.subscription.paymentMethodId = setupIntent.payment_method;\n this.subscription.pricingId = this.pricing.id;\n this.toastService.loading($localize`:@@SavingPaymentMethodToast:Zahlungsmethode wird gespeichert.`);\n this.paymentsService.createChargingParkSubscription(this.subscription).subscribe((result) => {\n this.subscription = result;\n if (result.paymentMethodId != null) {\n this.toastService.success($localize`:@@SavingPaymentMethodSuccessToast:Zahlungsmethode erfolgreich gespeichert.`, 0, true);\n this.navigateAfterSuccess();\n } else {\n this.toastService.error($localize`:@@SavingPaymentMethodErrorToast:Zahlungsmethode konnte nicht gespeichert werden.`, 0, true);\n }\n }, (error) => console.error(error));\n }\n\n private navigateAfterSuccess() {\n if (this.thereWasNoPreviousPaymentPethod) {\n this.showNextStepsDialog().then(() => {\n this.navigateAway();\n });\n } else {\n this.navigateAway();\n }\n }\n\n onCancelClick() {\n this.activeModal.close();\n }\n\n /**\n * Show an info dialog about the next steps.\n * You can subscribe to user interaction with a simple .then().\n * @returns a promise that resolves when the dialog is closed or dismissed.\n */\n showNextStepsDialog() {\n const dialogRef = this.dialog.open(PaymentMethodAddedDialogContentComponent, { centered: true, backdrop: 'static' });\n // new, already resolved promises are created for the closing and dismissing case.\n // this allows processing with a single .then in the calling funciton.\n return dialogRef.result.then(() => Promise.resolve(), () => Promise.resolve());\n }\n\n navigateAway() {\n return this.router.navigate([\"/profile\"]).then(() => {\n window.location.reload();\n });\n }\n}\n","\n\n
\n
Rechnungsadresse und Zahlungsmethode
\n \n
\n\n
\n
\n

Ihr Tarif in diesem Ladepark:

\n

{{ this.pricing.name }}

\n

{{ pricing.price | currency:'EUR' }} pro kWh - AC

\n

{{ pricing.priceDc | currency:'EUR' }} pro kWh - DC

\n

{{ this.pricing.description }}

\n

Die Abrechnung erfolgt monatlich basierend auf Ihrer tatsächlichen Nutzung, wobei die Berechnung in Wh erfolgt [1 kWh entspricht 1000 Wh].\n

Bitte beachten Sie, dass wir für die Zahlungsabwicklung Stripe als unseren Zahlungsdienstleister nutzen. Wir bitten Sie, unsere Allgemeinen Geschäftsbedingungen (AGB) als auch die AGB von Stripe sorgfältig zu lesen.

\n\n

Nachfolgend können Sie unsere AGB und Datenschutzrichtlinien einsehen und herunterladen.

\n

\n \n Allgemeine Geschäftsbedingungen\n \n \n Datenschutzrichtlinien\n \n

\n\n

Die folgenden Links führen Sie zu den AGB von Stripe. Für die Richtigkeit und den Inhalt ist ausschließlich Stripe verantwortlich.

\n\n

\n Bedingungen\n Datenschutz\n \n SEPA-Lastschrift\n \n

\n\n \n\n

\n \n Mit der Bestätigung Ihres Abonnements erklären Sie sich damit einverstanden, dass CUBOS Service GmbH Ihre Karte für zukünftige Zahlungen gemäß der Nutzungsbedingungen belastet.\n \n

\n

\n \n Durch Angabe der IBAN und Bestätigung der Zahlung
(A) ermächtige ich/ermächtigen wir CUBOS Service GmbH und Stripe, unseren Zahlungsdienstleister, und/oder PPRO, den lokalen Zahlungsdienstleister von Stripe, Zahlungen von meinem/unserem Konto mittels Lastschrift einzuziehen.
(B) Zugleich weise ich mein/weisen wir unser Kreditinstitut gemäß diesen Anweisungen an, die auf mein/unser Konto gezogenen Lastschriften einzulösen. Hinweis: Ich kann/Wir können innerhalb von acht Wochen, beginnend mit dem Belastungsdatum, die Erstattung des belasteten Betrages verlangen. Es gelten dabei die mit meinem/unserem Kreditinstitut vereinbarten Bedingungen.\n
\n

\n
\n\n
\n
\n \n \n\n
\n Nachname wird benötigt\n Falsche Eingabe\n
\n
\n\n
Rechnungsaddresse*
\n
\n \n \n \n \n \n \n\n
\n Name wird benötigt
\n Straße und Hausnummer werden benötigt
\n PLZ wird benötigt
\n Stadt wird benötigt\n
\n
\n\n

* Pflichtangaben

\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n \n\n
\n \n
\n\n
\n \n
\n
\n","import { Component, ElementRef, Inject, Injector, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { FormService } from '@services/form/form.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { StripeInfosService } from '@services/entity/stripe-infos.service';\nimport { UserProfile } from '@dto/userProfile';\nimport { DashboardProfile } from '@dto/dashboardProfile';\nimport { FilesService } from '@services/files/files.service';\nimport Swal from 'sweetalert2';\nimport { UploadResponse } from '@dto/uploadResponse';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChangePasswordDialogForCustomerContentComponent } from '@components/dialog/change-password-for-customer-dialog-content/change-password-for-customer-dialog-content.component';\nimport { ChangePasswordDialogContentComponent } from '@components/dialog/change-password-dialog-content/change-password-dialog-content.component';\nimport { DeleteUserProfileDialogContentComponent } from '@components/dialog/delete-user-profile-dialog-content/delete-user-profile-dialog-content.component';\nimport { MessageService } from '@services/message/message.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport '@angular/localize/init';\nimport { DeleteUserForCustomerDialogContentComponent } from '../../dialog/delete-user-for-customer-dialog-content/delete-user-for-customer-dialog-content.component';\nimport { ComponentBase } from '@abstracts/component-base';\nimport { PatchUserProfilePicture } from '@dto/httpPatch/userProfile';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ToastService } from '@services/toast/toast.service';\nimport { CancelSubscriptionDialogContentComponent } from '@components/dialog/cancel-subscription-dialog-content/cancel-subscription-dialog-content.component';\nimport { PaymentsService } from '@services/payments/payments.service';\nimport { DashboardService } from '../../../services/dashboard/dashboard.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { StripeInfoDto } from '@dto/stripeInfoDto';\nimport { CheckoutDto } from '@dto/checkoutDto';\nimport { PricingDto } from '@dto/pricingDto';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { plainToClass } from 'class-transformer';\nimport { UserDto } from '@dto/userDto';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { ImageCroppedEvent, base64ToFile } from 'ngx-image-cropper';\nimport { InviteCustomerDialogContentComponent } from '@components/dialog/invite-customer-dialog/invite-customer-dialog-content/invite-customer-dialog-content.component';\nimport { SubscriptionDetailDto } from '@dto/subscriptionDetailDto';\nimport { User } from '@models/identity/user';\nimport { SendInviteRequest } from '@dto/sendInviteRequest';\nimport { EditEmailDialogContentComponent } from '../../dialog/edit-email-dialog/edit-email-dialog-content/edit-email-dialog-content.component';\nimport { EnterConfirmationCodeDialogContentComponent } from '../../dialog/enter-confirmation-code-dialog/enter-confirmation-code-dialog-content/enter-confirmation-code-dialog-content.component';\nimport { Console, error } from 'console';\nimport { finalize } from 'rxjs/operators';\nimport { waitForAsync } from '@angular/core/testing';\nimport { Location } from '@angular/common';\nimport { ConfirmationCodeDto } from '../../../dto/confirmationCodeDto';\nimport { request } from 'http';\nimport { UpdateUserEmailRequest } from '../../../dto/updateUserEmailRequest';\n\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss']\n})\nexport class ProfileComponent extends ComponentBase implements OnInit {\n\n public className = 'ProfileComponent';\n\n public userProfile: UserProfile;\n public currentUser: UserDto = new UserDto();\n public dashboardProfile: DashboardProfile;\n public permissionProfile: any;\n public picture: any;\n public successMessage = $localize`:@@ProfileSuccssesMessage:Profil erfolgreich aktualisiert.`\n public isUserView: boolean;\n public isOperatorView: boolean;\n public isCustomerView: boolean;\n public isSupporter: boolean = false;\n public isUserProfile: boolean;\n public formCreated: boolean;\n public pricing?: PricingDto;\n public stripeInfo?: StripeInfoDto;\n public customerStripeInfo: StripeInfoDto = new StripeInfoDto();\n public hasStripeAccount?: boolean;\n public invoices?: InvoiceDto[] = []\n public url: string;\n public customDelivery: string;\n public isCustomDelivery: boolean;\n public transactions: TransactionDto[];\n public isCropping: boolean;\n public isLoading: boolean;\n public subscriptionDetails: SubscriptionDetailDto\n public loadingSubscriptionDetails: boolean\n public isRedirectedFromPaypal: boolean = false;\n isBtnSaveDisabled: boolean = false;\n\n private file: File;\n private userId: string;\n\n @ViewChild('operatorView') operatorView: TemplateRef;\n @ViewChild('customerView') customerView: TemplateRef;\n @ViewChild('userView') userView: TemplateRef;\n public templateView: TemplateRef;\n\n imageChangedEvent: any = '';\n croppedImage: any = '';\n File: any;\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n public dialog: NgbModal,\n private location: Location,\n public formService: FormService,\n public messageService: MessageService,\n private transactionsService: TransactionsService,\n private usersService: UsersService,\n private pricingsService: PricingsService,\n private stripeInfosService: StripeInfosService,\n private dashboardService: DashboardService,\n private customerService: CustomersService,\n private filesService: FilesService,\n private paymentsService: PaymentsService,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private sanitizer: DomSanitizer,\n private toastService: ToastService,\n private spinner: NgxSpinnerService,\n private route: ActivatedRoute,\n public injector: Injector) { super(injector); }\n\n ngOnInit(): void {\n this.isLoading = true;\n this.loadingSubscriptionDetails = true\n\n this.isUserProfile = this.activatedRoute.snapshot.data['isUserProfile'];\n this.componentSettings.footerVisible = false;\n\n this.isOperatorView = this.authenticationService.userHasRole('Operator')\n this.isCustomerView = this.authenticationService.userHasRole('Customer')\n this.isUserView = this.authenticationService.userHasRole('User')\n\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n\n\n this.authenticationService.getLoggedInUserSubject().subscribe(user => {\n this.currentUser = user\n if (this.currentUser) this.getStripeInfoOfUser()\n })\n\n window.setTimeout(() => { this.loadPricing() }, 2000)\n }\n\n ngAfterViewInit() {\n this.templateView = this.determineTemplate();\n this.currentUser = this.authenticationService.getLoggedInUser();\n if (this.currentUser) this.getStripeInfoOfUser()\n\n this.loadProfile();\n this.loadDashboardProfile();\n super.ngOnInit();\n this.loadPricing();\n this.handleStripeRedirect()\n }\n\n handleStripeRedirect() {\n const urlParams = new URLSearchParams(window.location.search);\n const setupIntentId = urlParams.get('setup_intent');\n const redirectStatus = urlParams.get('redirect_status');\n\n if (setupIntentId && redirectStatus === 'succeeded') {\n this.paymentsService.createChargingParkSubscriptionByPaypal(setupIntentId).subscribe(result => {\n this.isRedirectedFromPaypal = true;\n }, error => {\n console.error('Error creating charging park subscription by paypal:', error);\n });\n }\n }\n\n getStripeInfoOfUser() {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n if (customerId != null) { //for operator customer view, stripeinfo not used at the moment\n // this.stripeInfosService.getStripeInfoOfCustomer(customerId).subscribe(result => {\n // this.stripeInfo = result;\n // this.hasStripeAccount = this.stripeInfo.stripeAccountId != null\n\n // })\n } else {\n if (this.isOperatorView) { //for Operator user view, stripeinfo not used at the moment\n // if (this.isUserProfile) {\n // this.userId = this.activatedRoute.parent.snapshot.params.id;\n // this.stripeInfosService.getStripeInfoOfUser(this.userId).subscribe(stripeInfo => {\n // this.stripeInfo = stripeInfo\n // this.hasStripeAccount = this.stripeInfo.stripeAccountId != null\n // })\n // }\n } else { //For User\n this.stripeInfosService.getStripeInfoOfUser(this.currentUser.id).subscribe(stripeInfo => {\n this.stripeInfo = stripeInfo\n this.hasStripeAccount = this.stripeInfo.stripeAccountId != null\n })\n }\n }\n }\n\n loadDashboardProfile() {\n if (this.isOperatorView) {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n if (customerId != null)\n this.dashboardService.getDashboardProfileOfCustomer(customerId).subscribe(result => {\n this.dashboardProfile = result;\n })\n }\n else {\n this.dashboardService.getDashboardProfile().subscribe(result => {\n this.dashboardProfile = result;\n })\n }\n }\n\n getUsage() {\n if (this.isOperatorView) {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n // this.customerService.getCustomerPermissions(customerId).subscribe(permissions => {\n // permissions.forEach(permissionObject => {\n // this.permissions[permissionObject.permission.name] = permissionObject.value;\n // })\n // });\n if (customerId != null)\n this.customerService.getSubscriptionDetailsOfCustomer(customerId).subscribe(subscriptionDetails => {\n this.subscriptionDetails = subscriptionDetails;\n this.loadingSubscriptionDetails = false\n });\n } else {\n if (this.currentUser) {\n // this.permissionsService.getPermissionsOfCurrentCustomer().then(permissions => {\n // permissions.forEach(permissionObject => {\n // this.permissions[permissionObject.permission.name] = permissionObject.value;\n // })\n // });\n this.usersService.getCustomerSubscriptionDetailsOfCurrentCustomer().subscribe(subscriptionDetails => {\n this.subscriptionDetails = subscriptionDetails;\n this.loadingSubscriptionDetails = false\n });\n }\n }\n }\n\n loadProfile() {\n if (this.isOperatorView) {\n if (this.isUserProfile) {\n this.userId = this.activatedRoute.parent.snapshot.params.id;\n this.usersService.getUserProfileById(this.userId).subscribe(result => {\n this.userProfile = result;\n this.userProfile[\"typeDisplay\"] = this.mapType();\n this.userProfile[\"subscriptionTypeIdDisplay\"] = this.mapSubscriptionType();\n this.loadProfilePicture();\n this.getUsage();\n this.createForm();\n }, error => { });\n } else {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n this.usersService.getUserProfileOfCustomer(customerId).subscribe(result => {\n this.userId = result.id;\n this.userProfile = result;\n this.userProfile[\"typeDisplay\"] = this.mapType();\n this.userProfile[\"subscriptionTypeIdDisplay\"] = this.mapSubscriptionType();\n this.loadProfilePicture();\n this.getUsage();\n this.createForm();\n }, error => { });\n }\n } else {\n this.usersService.getUserProfile().subscribe(result => {\n this.userId = result.id;\n this.userProfile = result;\n this.userProfile[\"typeDisplay\"] = this.mapType();\n this.userProfile[\"subscriptionTypeIdDisplay\"] = this.mapSubscriptionType();\n this.loadProfilePicture();\n this.getUsage();\n this.createForm();\n }, error => { });\n }\n }\n\n loadProfilePicture() {\n if (this.userProfile.pictureFileName) {\n this.filesService.getPicture(this.userProfile.pictureFileName).subscribe(result => {\n var unsafeImageUrl = URL.createObjectURL(result);\n this.picture = this.sanitizer.bypassSecurityTrustUrl(unsafeImageUrl);\n }, error => {\n console.error(error);\n })\n } else {\n this.filesService.getPicture(\"pictures/profile/placeholder_profile.jpg\").subscribe(result => {\n var unsafeImageUrl = URL.createObjectURL(result);\n this.picture = this.sanitizer.bypassSecurityTrustUrl(unsafeImageUrl);\n }, error => {\n console.error(error);\n })\n }\n }\n\n determineTemplate() {\n if (this.authenticationService.userHasRole('Operator')) {\n return this.operatorView;\n }\n else if (this.authenticationService.userHasRole('Customer')) {\n return this.customerView;\n }\n else if (this.authenticationService.userHasRole('User')) {\n return this.userView;\n }\n }\n\n createForm() {\n if (this.authenticationService.userHasRole('Operator')) {\n this.createFormForCustomer();\n }\n else if (this.authenticationService.userHasRole('Customer')) {\n this.createFormForCustomer();\n }\n else if (this.authenticationService.userHasRole('User')) {\n this.createFormForUser();\n }\n\n if (this.isSupporter) this.formService.form.disable()\n this.formCreated = true;\n }\n\n fileChangeEvent(event: any): void {\n this.imageChangedEvent = event;\n this.isCropping = true\n }\n\n async imageCropped(event: ImageCroppedEvent) {\n this.picture = event.base64;\n let file = base64ToFile(this.picture);\n var blob = file;\n var newFile = new File([blob], this.userId + '.' + 'png', { type: 'image/ png' });\n\n var uploadResult = await this.uploadFile(newFile);\n\n const patch: PatchUserProfilePicture = {\n pictureUri: uploadResult[0].fileUri,\n pictureFileName: uploadResult[0].fileName\n };\n\n if (this.isOperatorView) {\n if (this.isUserProfile) {\n this.usersService.patchProfilePictureOfUser(patch, this.userId).subscribe(result => {\n this.loadProfile();\n })\n } else {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n\n this.usersService.patchProfilePictureOfCustomer(patch, customerId).subscribe(result => {\n this.loadProfile();\n })\n }\n } else {\n this.usersService.patchProfilePicture(patch).subscribe(result => {\n this.loadProfile();\n })\n }\n }\n\n imageLoaded() {\n // show cropper\n }\n cropperReady() {\n // cropper ready\n }\n loadImageFailed() {\n // show message\n }\n\n createFormForCustomer() {\n var addressGroup = new UntypedFormGroup({\n id: this.userProfile.address != null ? new UntypedFormControl(this.userProfile.address?.id) : new UntypedFormControl(0),\n postalCode: new UntypedFormControl(this.userProfile.address?.postalCode, [Validators.required, Validators.pattern('^[0-9]*$'), Validators.maxLength(5), Validators.minLength(5)]),\n //city: new UntypedFormControl(this.userProfile.address?.city, [Validators.required, Validators.pattern('^[\\u00C0-\\u017Fa-zA-Z]+(?:[\\\\s-][\\u00C0-\\u017Fa-zA-Z]+)*$')]),\n city: new UntypedFormControl(this.userProfile.address?.city, [Validators.required]),\n //street: new UntypedFormControl(this.userProfile.address?.street, [Validators.required, Validators.pattern('^[\\u00C0-\\u017Fa-zA-Z.]+(?:[\\\\s-][\\u00C0-\\u017Fa-zA-Z.]+)*$')]),\n street: new UntypedFormControl(this.userProfile.address?.street, [Validators.required]),\n houseNumber: new UntypedFormControl(this.userProfile.address?.houseNumber, [Validators.required]),\n });\n\n var settingsGroup = new UntypedFormGroup({\n id: this.userProfile.settings != null ? new UntypedFormControl(this.userProfile.settings?.id) : new UntypedFormControl(0),\n customDeliveryNotes: this.userProfile.settings?.customDeliveryNotes != null ? new UntypedFormControl(this.userProfile.settings?.customDeliveryNotes) : new UntypedFormControl(false),\n ownTransactionNotifications: this.userProfile.settings?.ownTransactionNotifications != null ? new UntypedFormControl(this.userProfile.settings?.ownTransactionNotifications) : new UntypedFormControl(false),\n userTransactionNotifications: this.userProfile.settings?.userTransactionNotifications != null ? new UntypedFormControl(this.userProfile.settings?.userTransactionNotifications) : new UntypedFormControl(false),\n acceptAd: new UntypedFormControl(this.userProfile.acceptAd),\n });\n\n this.formService.form = new UntypedFormGroup({\n firstName: new UntypedFormControl(this.userProfile.firstName, [Validators.required, Validators.maxLength(50)]),\n lastName: new UntypedFormControl(this.userProfile.lastName, [Validators.required, Validators.maxLength(50)]),\n gender: new UntypedFormControl(this.userProfile.gender, [Validators.required]),\n type: new UntypedFormControl(this.userProfile.type),\n company: new UntypedFormControl(this.userProfile.company),\n phone: new UntypedFormControl(this.userProfile.phoneNumber, [Validators.required, Validators.pattern('^([+](\\\\d{1,3})\\\\s?)?((\\\\(\\\\d{3,5}\\\\)|\\\\d{3,5})(\\\\s)?)\\\\d{3,8}$'), Validators.minLength(6)]),\n internalDescription: new UntypedFormControl(this.userProfile.internalDescription),\n pictureUri: new UntypedFormControl(this.userProfile.pictureUri),\n pictureFileName: new UntypedFormControl(this.userProfile.pictureFileName),\n email: new UntypedFormControl(this.userProfile.email, [Validators.email]),\n\n address: addressGroup,\n settings: settingsGroup,\n subscriptionTypeId: new UntypedFormControl(this.userProfile.subscriptionTypeId),\n });\n\n this.formService.formMap = new Map();\n this.formService.formMap.set(\"address\", addressGroup);\n this.formService.formMap.set(\"settings\", settingsGroup);\n\n }\n\n createFormForUser() {\n var addressGroup = new UntypedFormGroup({\n id: this.userProfile.address != null ? new UntypedFormControl(this.userProfile.address?.id) : new UntypedFormControl(0),\n postalCode: new UntypedFormControl(this.userProfile.address?.postalCode, [Validators.required, Validators.pattern('^[0-9]*$'), Validators.maxLength(5), Validators.minLength(5)]),\n city: new UntypedFormControl(this.userProfile.address?.city, [Validators.required]),\n street: new UntypedFormControl(this.userProfile.address?.street, [Validators.required]),\n houseNumber: new UntypedFormControl(this.userProfile.address?.houseNumber, [Validators.required, Validators.pattern('^[0-9]+(?:[a-zA-Z]+)*$')]),\n });\n\n var settingsGroup = new UntypedFormGroup({\n id: this.userProfile.settings != null ? new UntypedFormControl(this.userProfile.settings?.id) : new UntypedFormControl(0),\n customDeliveryNotes: this.userProfile.settings?.customDeliveryNotes != null ? new UntypedFormControl(this.userProfile.settings?.customDeliveryNotes) : new UntypedFormControl(false),\n ownTransactionNotifications: this.userProfile.settings?.ownTransactionNotifications != null ? new UntypedFormControl(this.userProfile.settings?.ownTransactionNotifications) : new UntypedFormControl(false),\n userTransactionNotifications: this.userProfile.settings?.userTransactionNotifications != null ? new UntypedFormControl(this.userProfile.settings?.userTransactionNotifications) : new UntypedFormControl(false),\n acceptAd: new UntypedFormControl(this.userProfile.acceptAd),\n });\n\n this.formService.form = new UntypedFormGroup({\n firstName: new UntypedFormControl(this.userProfile.firstName, [Validators.required, Validators.maxLength(50)]),\n lastName: new UntypedFormControl(this.userProfile.lastName, [Validators.required, Validators.maxLength(50)]),\n gender: new UntypedFormControl(this.userProfile.gender, [Validators.required]),\n type: new UntypedFormControl(this.userProfile.type),\n company: new UntypedFormControl(this.userProfile.company),\n internalDescription: new UntypedFormControl(this.userProfile.internalDescription),\n phone: new UntypedFormControl(this.userProfile.phoneNumber, [Validators.required, Validators.pattern('^([+](\\\\d{1,3})\\\\s?)?((\\\\(\\\\d{3,5}\\\\)|\\\\d{3,5})(\\\\s)?)\\\\d{3,8}$'), Validators.minLength(6)]),\n pictureUri: new UntypedFormControl(this.userProfile.pictureUri),\n pictureFileName: new UntypedFormControl(this.userProfile.pictureFileName),\n email: new UntypedFormControl(this.userProfile.email, [Validators.email]),\n\n //email: new UntypedFormControl(this.userProfile.email, [Validators.required, Validators.email]),\n address: addressGroup,\n settings: settingsGroup,\n subscriptionTypeId: new UntypedFormControl(this.userProfile.subscriptionTypeId),\n });\n\n this.formService.formMap = new Map();\n this.formService.formMap.set(\"address\", addressGroup);\n this.formService.formMap.set(\"settings\", settingsGroup);\n }\n\n public isTypeCompany() {\n if (!this.formService.form.get('company')) return false\n if (!this.userProfile) return;\n if (this.userProfile.type == 'company') {\n this.formService.form.get('company').setValidators([Validators.required]);\n this.formService.form.get('company').updateValueAndValidity();\n return true;\n }\n this.formService.form.get('company').clearValidators();\n this.formService.form.get('company').updateValueAndValidity();\n return false;\n }\n\n async onSubmit(formValue) {\n\n const userProfile: UserProfile = {\n firstName: formValue.firstName,\n lastName: formValue.lastName,\n gender: formValue.gender,\n company: formValue.company,\n phoneNumber: formValue.phone,\n address: formValue.address,\n acceptAd: formValue.settings.acceptAd,\n settings: formValue.settings,\n pictureUri: formValue.pictureUri,\n pictureFileName: formValue.pictureFileName,\n internalDescription: formValue.internalDescription\n };\n\n this.toastService.loading(\"Wird gespeichert...\", true);\n try {\n\n if (this.isOperatorView && this.isTypeCompany() === true) {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n await this.usersService.patchUserProfileOfCustomer(customerId, userProfile).toPromise();\n }\n\n if (this.isCustomerView && this.isTypeCompany() === true) {\n await this.usersService.patchUserProfileOfCurrentCustomer(userProfile).toPromise();\n }\n\n else {\n await this.usersService.patchUserProfile(userProfile, this.userId).toPromise();\n }\n\n } catch (error) {\n this.toastService.error($localize`Beim Speichern der Änderungen ist ein Fehler aufgetreten.`, 0, true);\n return;\n }\n\n this.ngOnInit();\n this.toastService.success($localize`Änderungen wurden gespeichert`, 0, true);\n }\n\n async onFileSelect(event) {\n var file: File = event.target.files.item(0);\n\n if (file) {\n var fileAllowed = false;\n\n if (file.type == 'image/jpeg' || file.type == 'image/jpg' || file.type == 'image/png') {\n fileAllowed = true;\n }\n else {\n fileAllowed = false;\n this.showWrongFileTypeError();\n }\n\n if (file.size > 2000000) {\n fileAllowed = false;\n this.showWrongFileSizeError();\n }\n\n if (fileAllowed) {\n this.file = file;\n\n var fileExtension = this.file.name.split('.').pop();\n\n var blob = this.File;\n var newFile = new File([blob], this.userId + '.' + fileExtension, { type: this.file.type });\n\n var uploadResult = await this.uploadFile(newFile);\n\n const patch: PatchUserProfilePicture = {\n pictureUri: uploadResult[0].fileUri,\n pictureFileName: uploadResult[0].fileName\n };\n\n if (this.isOperatorView) {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n\n this.usersService.patchProfilePictureOfCustomer(patch, customerId).subscribe(result => {\n this.loadProfile();\n })\n } else {\n this.usersService.patchProfilePicture(patch).subscribe(result => {\n this.loadProfile();\n })\n }\n }\n }\n }\n\n async uploadFile(file: File): Promise {\n var formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"path\", \"pictures/profile\");\n\n var result = await this.filesService.uploadAsync(formData);\n\n return result;\n }\n\n removeProfilePicture() {\n const patch: PatchUserProfilePicture = {\n pictureUri: null,\n pictureFileName: null\n };\n\n if (this.isOperatorView) {\n if (this.isUserProfile) {\n this.usersService.patchProfilePictureOfUser(patch, this.userId).subscribe(result => {\n this.loadProfile();\n })\n } else {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n\n this.usersService.patchProfilePictureOfCustomer(patch, customerId).subscribe(result => {\n this.loadProfile();\n })\n }\n }\n else {\n this.usersService.patchProfilePicture(patch).subscribe(result => {\n this.loadProfile();\n })\n }\n }\n\n onSettingsChange(event) {\n var settings = this.formService.form.get(\"settings\").value;\n\n if (this.isOperatorView) {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n\n this.usersService.updateMasterUserOfCustomerSettings(customerId, settings).subscribe(result => {\n })\n }\n else {\n this.usersService.updateCurrentUserSettings(settings).subscribe(result => {\n })\n }\n }\n\n\n\n openChangePasswordDialog() {\n const dialogRef = this.dialog.open(ChangePasswordDialogContentComponent, { centered: true, backdrop: 'static' });\n\n dialogRef.result.then((result) => {\n\n }, (backdrop) => {\n\n });\n }\n\n openChangePasswordForCustomerDialog() {\n const dialogRef = this.dialog.open(ChangePasswordDialogForCustomerContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.snapshot.params.key;\n\n dialogRef.result.then((result) => {\n\n }, (backdrop) => {\n\n });\n }\n\n confirmEmailForCustomer() {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n this.authenticationService.confirmEmailforCustomer(customerId)\n .subscribe(_ => {\n this.spinner.show();\n this.loadProfile();\n this.toastService.success($localize`:@@EmailConfirmedSuccess:Die E-Mail-Adresse wurde erfolgreich bestätigt.`);\n this.spinner.hide();\n },\n error => {\n this.messageService.setError(error);\n })\n }\n\n openDeleteProfileDialog() {\n const dialogRef = this.dialog.open(DeleteUserProfileDialogContentComponent, { centered: true, animation: false, backdrop: 'static' });\n\n dialogRef.result.then((result) => {\n if (result.isSuccess) {\n this.authenticationService.logout();\n this.router.navigate(['/auth/login']);\n }\n }, (backdrop) => {\n\n });\n }\n\n openDeleteUserForCustomerDialog() {\n const dialogRef = this.dialog.open(DeleteUserForCustomerDialogContentComponent, { centered: true, animation: false, backdrop: 'static' });\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.snapshot.params.key;\n dialogRef.componentInstance.userId = this.userId;\n dialogRef.result.then((result) => {\n console.log(\"result\", result);\n\n if (result.success) {\n if (this.router.url.includes('/users/')) {\n this.router.navigate(['/users']);\n } else if (this.router.url.includes('/customer/')) {\n this.router.navigate(['/customer']);\n }\n }\n }, (backdrop) => { });\n }\n\n openInviteCustomerDialog() {\n const dialogRef = this.dialog.open(InviteCustomerDialogContentComponent, { centered: true, backdrop: 'static' });\n dialogRef.componentInstance.customerId = this.activatedRoute.parent.snapshot.params.key;\n dialogRef.result.then((result) => {\n\n }, (backdrop) => { });\n }\n\n showWrongFileTypeError() {\n Swal.fire({\n title: $localize`:@@ProfileWrongTypeTitel:Falsches Dateiformat`,\n text: $localize`:@@ProfileWrongTypeText:Die gewählte Datei hat das falsche Format. Erlaubt sind: jpg, jpeg, png.`,\n icon: 'error',\n showConfirmButton: false,\n showDenyButton: true,\n denyButtonText: $localize`:@@ProfileWrongTypeConfirm:Zurück`,\n focusDeny: false,\n })\n }\n\n showWrongFileSizeError() {\n Swal.fire({\n title: $localize`:@@ProfileWrongSizeTitel:Falsche Dateigröße`,\n text: $localize`:@@ProfileWrongSizeText:Die gewählte Datei ist zu groß. Erlaubt sind Dateien bis zu 2 MB.`,\n icon: 'error',\n confirmButtonText: $localize`:@@ProfileWrongSizeConfirm:Zurück`,\n })\n }\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@ChangeDialogSaveSuccessHeader:Einstellungen wurden gespeichert!`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n }).then((result) => {\n this.ngOnInit();\n });\n }\n\n openCancelSuccessDialog() {\n Swal.fire({\n title: $localize`:@@CancelSubscriptionSuccessHeader:Abo wurde erfolgreich gekündigt!`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n }).then((result) => {\n this.ngOnInit();\n });\n }\n\n mapType() {\n switch (this.userProfile.type) {\n case \"private\":\n return \"Privat\";\n case \"company\":\n return \"Geschäftlich\";\n }\n }\n\n mapSubscriptionType() {\n switch (this.userProfile.subscriptionTypeId) {\n case 1:\n return \"Basic\";\n case 2:\n return \"Standard\";\n case 3:\n return \"Premium\";\n case 4:\n return \"Enterprise\";\n }\n }\n\n public async loadPricing() {\n if (this.currentUser && this.currentUser.pricingId) {\n this.pricingsService.getPricing(this.currentUser.pricingId).subscribe(pricing => {\n this.pricing = plainToClass(PricingDto, pricing)\n this.isLoading = false;\n }, error => { });\n } else {\n this.isLoading = false;\n }\n }\n\n showConfirmRemovePaymentMethodDialog() {\n Swal.fire({\n title: 'Entfernen der Zahlungsmethode',\n text: 'Alle aktuellen Ladevorgänge werden sofort abgerechnet und Sie verlieren den Zugang zum Ladepark.',\n icon: 'question',\n confirmButtonText: 'Bestätigen',\n confirmButtonColor: '#dc3545',\n showCancelButton: true,\n cancelButtonText: 'Abbrechen',\n // cancelButtonColor: 'gray'\n }).then((result) => {\n if (result.isConfirmed) {\n this.removePaymentMethod();\n }\n })\n }\n public async removePaymentMethod() {\n if (this.stripeInfo.stripePaymentMethodId) {\n this.toastService.loading($localize`:@@RemovingPaymentMethodToast:Zahlungsmethode wird entfernt.`)\n this.paymentsService.cancelSubscription(this.stripeInfo.userId).subscribe(result => {\n this.toastService.clear()\n if (result.isSuccess) {\n this.toastService.success(`Zahlungsmethode erfolgreich entfernt.`, 0, true)\n this.ngAfterViewInit()\n }\n else {\n this.toastService.error(result.errors, 0, true)\n }\n\n }, error => {\n this.toastService.clear()\n this.toastService.error(`Zahlungsmethode konnte nicht entfernt werden.`, 0, true)\n });\n } else {\n console.warn(`User is missing payment method id.`)\n }\n }\n\n public parsePrice(price) {\n return price.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' })\n }\n\n public parseAmount(amount) {\n return parseFloat(Math.abs(amount / 100).toFixed(2)).toLocaleString()\n }\n\n public parseDate(date) {\n return new Date(date).toISOString().split('T')[0]\n }\n\n getNextInvoiceValue() {\n if (this.transactions.length > 0) {\n return parseFloat((this.transactions.map(t => t.meterAmount).reduce((pv, cv) => pv + cv) / 1000 * this.pricing.price).toFixed(2)).toLocaleString()\n }\n return 0\n }\n\n openChangeEmailAdrDialog() {\n\n const emailDialogRef = this.dialog.open(EditEmailDialogContentComponent, { centered: true, backdrop: 'static' });\n emailDialogRef.componentInstance.userId = this.userProfile.id;\n\n emailDialogRef.closed.subscribe(emailDialogResult => {\n\n if (emailDialogResult.status != 'ok')\n return;\n\n if (this.isOperatorView) {\n const requestDto: UpdateUserEmailRequest = {\n userGuid: this.userProfile.id,\n newEmail: emailDialogResult.email\n };\n\n this.toastService.clear();\n this.toastService.loading($localize`:@@SavingChanges:Änderungen werden übernommen...`, true);\n this.usersService.updateUserEmailByUserId(requestDto).subscribe(\n response => {\n this.toastService.clear();\n window.location.reload()\n },\n error => {\n this.toastService.clear();\n this.toastService.error($localize`:@@UnexpectedErrorChangeEmail:Unerwarteter Fehler beim Ändern der E-Mail-Adresse.`, 4500, true);\n }\n );\n return;\n }\n\n const confirmationCodeDto: ConfirmationCodeDto = new ConfirmationCodeDto();\n confirmationCodeDto.userId = this.userProfile.id;\n confirmationCodeDto.email = emailDialogResult.email;\n\n this.spinner.show();\n this.toastService.clear();\n this.toastService.loading(\"Bitte warten...\", true);\n this.usersService\n .sendConfirmationCode(confirmationCodeDto)\n .subscribe(sendConfirmationCodeResponse => {\n this.toastService.clear();\n this.spinner.hide();\n\n if (sendConfirmationCodeResponse.statusCode != 'OK') {\n this.toastService.error(`Fehler beim Senden des Bestätigungscodes`, 4500, true);\n return;\n }\n\n this.openConfirmationCodeDialog(confirmationCodeDto, sendConfirmationCodeResponse)\n }, error => {\n this.toastService.clear();\n this.toastService.error($localize`:@@SorryUnknownError:Es tut uns leid, es ist ein unbekannter Fehler aufgetreten`, 4500, true);\n this.spinner.hide();\n });\n\n\n }, error => {\n this.toastService.error($localize`:@@SorryUnknownError:Es tut uns leid, es ist ein unbekannter Fehler aufgetreten`, 4500, true);\n\n });\n\n }\n openConfirmationCodeDialog(confirmationCodeDto: ConfirmationCodeDto, sendConfirmationCodeResponse: any) {\n\n //[Frontend] Enter Confirmation-Code, received by new E-Mail-Adr.\n const confirmationCodeDialogRef = this.dialog.open(EnterConfirmationCodeDialogContentComponent, { centered: true, backdrop: 'static' });\n confirmationCodeDialogRef.componentInstance.confirmationCode = confirmationCodeDto;\n\n confirmationCodeDialogRef.closed.subscribe(EnterCodeDialogResult => {\n\n if (EnterCodeDialogResult.status != 'ok')\n return;\n\n confirmationCodeDto.code = EnterCodeDialogResult.code;\n this.changeVerifyEmailByUserId(confirmationCodeDto, EnterCodeDialogResult)\n }, error => {\n this.toastService.error(`Es tut uns leid, es ist ein unbekannter Fehler aufgetreten`, 4500, true);\n });\n\n\n }\n changeVerifyEmailByUserId(confirmationCodeDto: ConfirmationCodeDto, sendCodeDialogResult: any) {\n this.usersService.changeVerifiedEmailByUserId(confirmationCodeDto)\n .subscribe(changeEmailResponse => {\n\n if (changeEmailResponse.statusCode != '200')\n return;\n\n window.location.reload()\n }, error => {\n this.toastService.error($localize`:@@SorryUnknownError:Es tut uns leid, es ist ein unbekannter Fehler aufgetreten`, 4500, true);\n });\n }\n}\n","\n \n \n \n\n \n
\n
\n
\n
\n Profil\n
\n
\n
\n
\n Loading...\n
\n
\n
\n \n
\n
\n
\n
\n\n \n
\n
\n \n
\n
\n Loading...\n
\n
\n
\n \n
\n
\n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
\n
\n \n
\n
\n
\n Persönliche Informationen\n \n {{ userProfile?.typeDisplay }}\n \n
\n
\n
\n \n \n\n
\n Unternehmen wird benötigt\n
\n
\n
\n
\n
\n \n \n
\n\n
\n
\n
\n
\n \n \n
\n Anrede wird benötigt\n
\n
\n
\n \n \n
\n Vorname wird benötigt\n Falsche Eingabe\n Die Eingabe darf maximal 50 Zeichen lang sein\n
\n
\n
\n \n \n
\n Nachname wird benötigt\n Falsche Eingabe\n Die Eingabe darf maximal 50 Zeichen lang sein\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"Profibild\"\n
\n \n Bild ändern\n
\n
\n \n\n \n
\n
\n
\n
\n
\n \n\n \n
\n
\n
\n\n
\n
\n\n
\n
\n
\n \n \n
\n Straße wird benötigt\n Falsche Eingabe\n
\n
\n
\n \n \n
\n Hausnummer wird benötigt\n
\n
\n
\n
\n
\n \n \n
\n PLZ wird benötigt\n Falsche Eingabe\n Die Eingabe darf maximal 5 Zeichen lang sein\n PLZ zu kurz\n
\n
\n\n
\n \n \n
\n Ort wird benötigt\n Falsche Eingabe\n
\n
\n
\n
\n
\n \n \n
\n Telefonnummer wird benötigt\n Falsche Eingabe\n Telefonnummer zu kurz\n
\n
\n
\n \n \n
\n
\n
\n
\n Abonnement-Details\n \n \n Enterprise\n Premium\n Standard\n Basic\n \n \n
\n
\n
\n
Ladestationen
\n
{{ dashboardProfile?.numberOfChargingStations }} von {{ subscriptionDetails.chargingstationsCreate}}
\n
Ladegruppen
\n
{{ dashboardProfile?.numberOfChargingStationGroups }} von {{ subscriptionDetails.chargingstationGroupsCreate}}
\n
Benutzer
\n
{{ dashboardProfile?.numberOfUsers }} von {{ subscriptionDetails.manageUsersCreateCount}}
\n
\n
Zusätzliche Funktionen
\n
\n
Lieferscheinerstellung
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
FreeCharge
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
Gruppierungsfunktion
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
Ladevorgang manuell freigeben
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n
\n
\n
\n
\n\n
\n
\n Abrechnung\n
\n
\n
\n Loading...\n
\n
\n
\n\n
\n
\n Abrechnung\n
\n\n
\n

Ihr Tarif in diesem Ladepark:

\n

{{ pricing.name }}

\n

{{ pricing.price | currency:'EUR' }} pro kWh - AC

\n

{{ pricing.priceDc | currency:'EUR' }} pro kWh - DC

\n

{{ pricing.description }}

\n

Monatlich abgerechnet je nach Nutzung. Die Berechnung erfolgt in Wh. 1 kWh entspricht 1000 Wh.

\n
\n\n
\n\n
\n
\n Abrechnung\n
\n
\n

\n Ihre Zahlungsmethode ermöglicht die monatliche automatische Abrechnung Ihrer Ladevorgänge in diesem Ladepark.\n

\n\n Zahlungsmethode bearbeiten\n\n Zahlungsmethode entfernen\n
\n\n
\n

Um die Nutzung der Ladestationen zu erleichtern, verwendet dieser Ladepark die automatische monatliche Abrechnung.

\n

Bitte geben Sie eine Zahlungsmethode an, damit wir die anfallenden Kosten für das Laden Ihres Elektrofahrzeugs jeden Monat automatisch von Ihrem Konto abbuchen können.

\n\n Zahlungsmethode erstellen\n
\n
\n

Die PayPal-Zahlungsmethode wurde erfolgreich konfiguriert. Sie können die Seite neu laden, um die Zahlungsmethode zu bearbeiten.

\n
\n\n
\n

Ihr Tarif in diesem Ladepark:

\n

{{ pricing.name }}

\n

{{ pricing.price | currency:'EUR' }} pro kWh - AC

\n

{{ pricing.priceDc | currency:'EUR' }} pro kWh - DC

\n

{{ pricing.description }}

\n

Monatlich abgerechnet je nach Nutzung. Die Berechnung erfolgt in Wh. 1 kWh entspricht 1000 Wh.

\n
\n
\n
\n
\n
Einstellungen
\n
\n
Benachrichtigungen
\n
\n Hier können Sie einstellen, bei welchen Ereignissen Sie eine Benachrichtigung per E-Mail erhalten wollen.\n
\n
\n
\n \n \n
Sie erhalten neue Informationen über die Produkte der CUBOS Service GmbH.
\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n \n
\n \n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n\n \n\n \n","import { AbstractDialogContent } from '@abstracts/dialog/dialog-content';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-about-us-dialog',\n templateUrl: './about-us-dialog.component.html',\n styleUrls: ['./about-us-dialog.component.scss']\n})\nexport class AboutUsDialogComponent extends AbstractDialogContent implements OnInit {\n\n public className = 'AboutUsDialogComponent';\n\n constructor(\n public activeModal: NgbActiveModal,\n injector: Injector) {\n super(activeModal, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n}\n","
\n
Impressum
\n \n
\n
\n

\n CUBOS Service GmbH
\n Brand­gehaege 16
\n 38444 Wolfsburg\n

\n

\n

\n Telefon: +49 (0)53 08 – 52 11 22 55
\n E-Mail: info@cubos.com\n

\n

\n Geschäfts­führer: Dipl.-Oec. Marc Wille
\n Prokura: Uta Weinert-Göbel
\n Regis­ter­ge­richt: Amtsge­richt Braun­schweig
\n Regis­ter­nummer: HRB 207126
\n Umsatz­steuer-Identi­fi­ka­ti­ons­nummer: DE 317053026\n

\n

\n Konzept, Gestal­tung und Umsetzung durch (GE-T GmbH)\n

\n

 

\n
\n\n\n","
  • \n \n \n Konto wechseln\n \n\n \n
    \n

    Kontenwechsel

    \n \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    Konten:
    \n \n \n \n
    \n
    \n
    \n
    \n

    Wechseln Sie bequem von einem Benutzerkonto zum anderen. Ohne sich neu anmelden zu müssen.

    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n
  • \n","import { Component, ViewEncapsulation, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CustomerDto } from '@dto/customerDto';\nimport { UserDto } from '@dto/userDto';\nimport { Customer } from '@models/customer';\nimport { User } from '@models/identity/user';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-change-customer',\n templateUrl: './change-customer.component.html',\n styleUrls: ['./change-customer.component.scss'],\n encapsulation: ViewEncapsulation.None,\n styles: [`\n .dark-modal .modal-content {\n background-color: #292b2c;\n color: white;\n }\n .dark-modal .close {\n color: white;\n }\n .light-blue-backdrop {\n background-color: #5cb3fd;\n }\n `]\n})\nexport class ChangeCustomerComponent implements OnInit {\n\n public user: UserDto;\n public customers: CustomerDto[];\n public hasMultiple: boolean = false;\n public isSupporter: boolean = false;\n\n\n constructor(\n private usersService: UsersService,\n private authenticationService: AuthenticationService,\n private router: Router,\n private modalService: NgbModal,\n private spinner: NgxSpinnerService) { }\n\n ngOnInit(): void {\n this.isSupporter = this.authenticationService.userHasRole('Supporter')\n this.usersService.getLoggedInUser().subscribe(result => {\n this.user = result;\n this.getCustomers();\n }, error => { })\n\n this.usersService.getCustomersOfCurrentUser().subscribe(result => {\n this.customers = result;\n }, error => { })\n }\n\n openVerticallyCentered(content) {\n this.modalService.open(content, { centered: true });\n }\n\n getCustomers() {\n this.usersService.getCustomersOfCurrentUser().subscribe(result => {\n this.customers = result;\n this.hasMultiple = this.hasMultipleAccounts();\n }, error => { })\n }\n\n hasMultipleAccounts() {\n if (this.customers.length >= 2) {\n return true;\n } else {\n return false;\n }\n }\n\n async changeCustomer(selectedCustomer: Customer) {\n this.spinner.show();\n await this.usersService.changeSelectedCustomerOfCurrentUserAsync(selectedCustomer.id);\n this.authenticationService.refreshToken().subscribe(result => {\n this.router.navigate(['/']).then(result => {\n window.location.reload();\n this.spinner.hide();\n });\n })\n }\n}\n","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Roles } from '@enums/roles.enum';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { UsersService } from '@services/entity/users.service';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { DatasecurityComponent } from '../../authentication/datasecurity/datasecurity.component';\nimport { AboutUsDialogComponent } from '../about-us/about-us-dialog.component';\nimport { ReleaseNotesDialogComponent } from '../../dialog/release-notes-dialog/release-notes-dialog.component';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent extends ComponentBase implements OnInit {\n\n public className = 'FooterComponent';\n\n isNavbarCollapsed = true;\n\n public isUserAuthenticated: boolean;\n public isVisible: boolean = false;\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(\n private usersService: UsersService,\n private router: Router,\n private deviceService: DeviceDetectorService,\n private dialog: NgbModal,\n injector: Injector) {\n super(injector);\n this.subscribeToUserAuthState();\n\n this.router.events.forEach((event) => {\n if (event instanceof NavigationEnd) {\n if (event['url'].startsWith('/auth/login')\n || event['url'].startsWith('/auth/register')\n || event['url'].startsWith('/auth/forgotpassword')\n || event['url'].startsWith('/auth/resetpassword')\n || event['url'].startsWith('/auth/used-token-feedback')\n || event['url'].startsWith('/logout-callback')\n || event['url'].startsWith('/forbidden')\n || event['url'].startsWith('/public-charge-plans')\n || event['url'].startsWith('/public-charge')\n || event['url'].startsWith('/public-charge-canceled')\n || event['url'].startsWith('/auth/emailconfirmation')\n || event['url'].startsWith('/auth/emailChangeConfirmation')\n || event['url'].startsWith('/auth/welcome')) {\n this.isVisible = false;\n } else {\n this.isVisible = true;\n }\n }\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.subscribeToUserAuthState();\n }\n\n subscribeToUserAuthState() {\n this.authenticationService.authChanged$.subscribe(result => {\n super.ngOnInit();\n this.isUserAuthenticated = result;\n })\n }\n\n isRoleCustomer(): boolean {\n return this.authenticationService.userHasRole(Roles.Customer);\n }\n\n openDSDialog() {\n const dialogRef = this.dialog.open(DatasecurityComponent, { centered: true, size: 'xl', backdrop: 'static' });\n\n dialogRef.result.then((result) => {\n this.ngOnInit();\n }, (backdrop) => {\n\n });\n }\n\n openAboutUsDialog() {\n const dialogRef = this.dialog.open(AboutUsDialogComponent, { centered: true, size: 'lg', backdrop: 'static' });\n\n dialogRef.result.then((result) => {\n this.ngOnInit();\n }, (backdrop) => {\n\n });\n }\n\n openReleaseNotesDialog() {\n const dialogRef = this.dialog.open(ReleaseNotesDialogComponent, { centered: true, size: 'xl', backdrop: 'static' });\n\n dialogRef.result.then((result) => {\n this.ngOnInit();\n }, (backdrop) => {\n\n });\n }\n}\n","\n\n","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, HostListener, Injector, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Roles } from '@enums/roles.enum';\nimport { UserProfile } from '@dto/userProfile';\nimport { plainToClass } from 'class-transformer';\nimport { UserDto } from '@dto/userDto';\nimport { UsersService } from '../../../services/entity/users.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { CustomerDto } from '../../../dto/customerDto';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { PricingDto } from '@dto/pricingDto';\nimport { AppConfigurationClient } from '@azure/app-configuration';\nimport { environment } from 'src/environments/environment';\nimport { ToastService } from '@services/toast/toast.service';\nimport { BlackboxService } from '@services/entity/blackbox.service';\n\n\n@Component({\n selector: 'app-nav-menu',\n templateUrl: './nav-menu.component.html',\n styleUrls: ['./nav-menu.component.scss']\n})\nexport class NavMenuComponent extends ComponentBase implements OnInit {\n\n public className = 'NavMenuComponent';\n\n public screenWidth: any;\n public screenHeight: any;\n public profilePicture: any;\n public picture: any;\n \n public isStageTesting: boolean = false;\n public isStageDev: boolean = false;\n public isStageExperimental: boolean = false;\n public isStageLocal: boolean = false;\n\n public user: UserDto;\n public customers: CustomerDto[];\n public userProfile: UserProfile;\n public currentUser: UserDto = new UserDto();\n\n public isAllowedInvoices: boolean = false;\n public isProduction: boolean = false;\n public isOpen: boolean = false;\n public hasMultiple: boolean = false;\n public isUserAuthenticated: boolean;\n public isVisible: boolean = false;\n public isOffScreen: boolean = false;\n public isNavCollapsed: boolean = false;\n public isBlackboxAvailable: boolean = false;\n public pool = \"\";\n\n public isOperator: boolean = false;\n public isCustomer: boolean = false;\n public isUser: boolean = false;\n public isSupporter: boolean = false;\n todayDate: string;\n public whitelabel: string;\n public whitelabelURL: string = 'https://cubosgeneralstorage.blob.core.windows.net/whitelabel-storage/';\n pool$: string;\n\n constructor(\n private usersService: UsersService,\n private router: Router,\n private modalService: NgbModal,\n private pricingsService: PricingsService,\n private toastService: ToastService,\n private blackboxesService: BlackboxService,\n private customersService: CustomersService,\n injector: Injector,\n private spinner: NgxSpinnerService\n ) {\n super(injector);\n this.subscribeToUserAuthState();\n\n this.router.events.forEach((event) => {\n if (event instanceof NavigationEnd) {\n if (event['url'].startsWith('/auth/login')\n || event['url'].startsWith('/auth/register')\n || event['url'].startsWith('/auth/forgotpassword')\n || event['url'].startsWith('/auth/used-token-feedback')\n || event['url'].startsWith('/auth/resetpassword')\n || event['url'].startsWith('/logout-callback')\n || event['url'].startsWith('/forbidden')\n || event['url'].startsWith('/public-charge-plans')\n || event['url'].startsWith('/pc')\n || event['url'].startsWith('/public-charge')\n || event['url'].startsWith('/public-charge-canceled')\n || event['url'].startsWith('/auth/emailconfirmation')\n || event['url'].startsWith('/auth/emailChangeConfirmation')\n || event['url'].startsWith('/auth/welcome')\n || event['url'].startsWith('/auth/claim-autochargeId')) {\n this.isVisible = false;\n } else {\n this.isVisible = true;\n }\n }\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.spinner.show();\n this.todayDate = new Date().toISOString().split('T')[0];\n this.authenticationService.currentUserLoaded$.subscribe(user => {\n if (!user) return\n this.screenWidth = window.innerWidth;\n this.screenHeight = window.innerHeight;\n this.pool = localStorage.getItem('pool-url');\n this.getRoles()\n this.checkPricings();\n this.subscribeToUserAuthState();\n this.isProduction = (this.authenticationService.getLoggedInUser().email == \"technik@cubos.com\");\n this.isNavCollapsed = localStorage.getItem('isNavCollapsed') == 'true'\n this.isOffScreen = window.matchMedia(\"screen and (max-width: 576px)\").matches\n this.usersService.getLoggedInUser().subscribe(result => {\n this.getRoles();\n this.user = result;\n }, error => { })\n })\n\n }\n \n ngAfterViewInit() {\n this.whitelabel = localStorage.getItem('whitelabel')\n this.determineStage()\n }\n\n resetRoles()\n {\n this.isOperator= false;\n this.isCustomer = false;\n this.isUser = false;\n this.isSupporter = false;\n }\n\n getRoles() {\n this.resetRoles()\n if (this.authenticationService.userHasRole('Operator')) {\n this.isOperator = true;\n }\n if (this.authenticationService.userHasRole('Customer')) {\n this.isCustomer = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.isUser = true;\n }\n if (this.authenticationService.userHasRole('Supporter')) {\n this.isSupporter = true;\n }\n if (this.isOperator || this.isCustomer) {\n this.getBlackbox();\n }\n }\n\n getBlackbox() {\n const customerId = localStorage.getItem('customerId');\n if (!customerId) return;\n this.blackboxesService.getByCustomerId(parseInt(customerId)).subscribe(result => {\n if (result != null && result.length > 0) {\n this.isBlackboxAvailable = true;\n }\n }, error => console.error(error))\n }\n\n determineStage() {\n this.isStageTesting = window.location.host === 'cubos-connect-testing.azurewebsites.net' || window.location.host === 'testing.mycubos.com'\n this.isStageDev = window.location.host === 'cubos-connect-dev.azurewebsites.net' || window.location.host === 'dev.mycubos.com'\n this.isStageExperimental = window.location.host === 'cubos-connect-experimental.azurewebsites.net'\n if (window.location.host == 'localhost:44304' || window.location.host == 'localhost:5001') {\n this.isStageLocal = true;\n }\n }\n\n openVerticallyCentered(content) {\n this.modalService.open(content, { centered: true });\n }\n\n async checkPricings() {\n const ownerUserId = localStorage.getItem('userId')\n if (!ownerUserId) return false\n if(this.isOperator) { \n this.pricingsService.getPricingsOfUser(ownerUserId).subscribe(pricings => {\n if (!pricings) return\n if (pricings.length > 0 && plainToClass(PricingDto, pricings).find(p => p.productId == null && p.priceId == null)) {\n this.isAllowedInvoices = true\n } else {\n this.isAllowedInvoices = false\n }\n }, error => console.error(error))\n } else {\n this.pricingsService.getPricingsOfCurrentUser(ownerUserId).subscribe(pricings => {\n if (!pricings) return\n if (pricings.length > 0 && plainToClass(PricingDto, pricings).find(p => p.productId == null && p.priceId == null)) {\n this.isAllowedInvoices = true\n } else {\n this.isAllowedInvoices = false\n }\n }, error => console.error(error))\n }\n }\n\n subscribeToUserAuthState() {\n this.authenticationService.authChanged$.subscribe(result => {\n super.ngOnInit();\n this.isUserAuthenticated = result;\n })\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.screenWidth = window.innerWidth;\n this.screenHeight = window.innerHeight;\n if (this.screenWidth <= 880) {\n this.isOpen = false;\n }\n }\n\n toggleNavbar() {\n this.isOpen = !this.isOpen;\n }\n\n isRoleCustomer(): boolean {\n return this.authenticationService.userHasRole(Roles.Customer);\n }\n\n logout() {\n this.authenticationService.logout();\n this.router.navigate([\"logout-callback\"]);\n }\n\n collapse(onlyOnTouchDevice: boolean = false) {\n // collapse() always\n // collapse(true) only on mobile\n if (!onlyOnTouchDevice || onlyOnTouchDevice && this.isOffScreen) {\n this.isNavCollapsed = !this.isNavCollapsed;\n localStorage.setItem('isNavCollapsed', this.isNavCollapsed.toString())\n document.getElementById('app').classList.toggle('collapsed');\n }\n }\n\n isCustomerView(): boolean {\n return this.authenticationService.userHasRole(\"Customer\");\n }\n\n isUserView(): boolean {\n return this.authenticationService.userHasRole(\"User\");\n }\n\n // pricingToggle = this.showPricing()\n // async showPricing() {\n // const client = new AppConfigurationClient(environment.featureToggleConnection);\n // var val = await client.getConfigurationSetting({ key: \".appconfig.featureflag/ShowPricing\"});\n // return JSON.parse(val.value).enabled;\n // }\n\n // invoiceToggle = this.showInvoice()\n // async showInvoice() {\n // const client = new AppConfigurationClient(environment.featureToggleConnection);\n // var val = await client.getConfigurationSetting({ key: \".appconfig.featureflag/ShowInvoice\" });\n // return JSON.parse(val.value).enabled;\n // }\n}\n","\n\n\n\n\n \n \n \n \n \n \n\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { Component, EventEmitter, Injector, Input, OnDestroy, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { TableColumn } from '@models/tableColumn';\nimport { plainToClass } from 'class-transformer';\nimport { Subscription, interval } from 'rxjs';\nimport '@angular/localize/init';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { TableOptions } from '@models/tableOptions';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { ChargingStation } from '@models/charging-station';\nimport { ModelDto } from '@dto/modelDto';\nimport { Profile } from '@models/profile'\nimport { ManufacturerDto } from '@dto/manufacturerDto';\nimport { Model } from '@models/model';\nimport { ModelsService } from '../../../services/entity/models.services';\nimport { ManufacturersService } from '../../../services/entity/manufacturer.services';\nimport { Manufacturer } from '../../../models/manufacturer';\n@Component({\n selector: 'app-chargingstationprofiles-table',\n templateUrl: './chargingstationprofiles.component.html',\n styleUrls: ['./chargingstationprofiles.component.scss']\n})\n\nexport class ChargingStationProfilesComponent extends AbstractEntitiesTableComponent implements OnInit, OnDestroy {\n\n public className = 'ChargingStationProfilesComponent';\n public chargingstation: ChargingStationDto;\n public activeComponentClassName: string = 'ChargingStationProfilesComponent';\n\n\n @Output() stationCount = new EventEmitter();\n\n public entities: ModelDto[];\n public isOperatorView: boolean;\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n public showAll: boolean = false;\n public display: string = 'none';\n public profile: Profile;\n\n\n @Output() newEntityEvent = new EventEmitter();\n\n private sortParam: number;\n private isAnyCheckBoxSelected: boolean;\n public manufacturer: ManufacturerDto[];\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Hersteller`, property: 'manufacturer.name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Modell`, property: 'name' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:ERK`, property: 'profile.isErk', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Ladepunkte`, property: 'profile.numberOfConnectors' },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:1.6`, property: 'profile.isOcpp16', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:2.0`, property: 'profile.isOcpp20', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:2.01`, property: 'profile.isOcpp201', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Aktualisierbar`, property: 'profile.isUpdatable', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:4G`, property: 'profile.isMobile', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:BiDi`, property: 'profile.isBidi', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:AC`, property: 'profile.isAc', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:DC`, property: 'profile.isDc', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Plug'n'charge`, property: 'profile.isPnc', options: {'isBoolean':true} },\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Integration erfolgreich`, property: 'integrationDate'},\n ];\n\n\n public tableOptions: TableOptions = { hideActions: true, rowRouterLink: 'edit/{id}' };\n model: Model;\n\n constructor(\n public chargingstationservice: ChargingStationsService,\n public manufacturerservice: ManufacturersService,\n public sanitizer: DomSanitizer,\n private dialog: NgbModal,\n injector: Injector\n ) {\n super(chargingstationservice, injector);\n }\n\n\n ngOnInit(): void {\n this.getRoles();\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n this.showAll = this.activatedRoute.snapshot.data['showAll'];\n\n this.activatedRoute.queryParams.subscribe(params => {\n this.sortParam = params.sort;\n });\n super.ngOnInit();\n }\n\n async initializeEntities() {\n if (this.isOperatorView) {\n if (this.showAll) {\n this.chargingstationservice.getModels().subscribe(result => {\n this.entities = plainToClass(ModelDto, result);\n this.stationCount.emit(this.entities.length)\n super.setupTable();\n this.tableFunctions.sortColumn = 'manufacturer.name';\n this.tableFunctions.sortDirection = 'asc';\n }, error => { });\n this.tableOptions = { hideActions: true, rowRouterLink: 'edit/{id}' };\n }\n }\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n }\n }\n\n ngOnDestroy(): void {\n this.routerSubscription.unsubscribe();\n }\n\n matches(entity: ModelDto, term: string) {\n return ModelsService.matches(entity, term)\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n Ladepunktprofile ({{ tableFunctions.total$ | async }})\n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n Loading...\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    Elemente pro Seite
    \n
    \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n
    Springe zu Seite
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n\n\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-delete-chargingstationprofiles',\n templateUrl: './delete-chargingstationprofiles.component.html',\n styleUrls: ['./delete-chargingstationprofiles.component.scss']\n})\nexport class DeleteChargingstationprofilesComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { EditChargingStationProfileDialogComponent } from '../../../dialog/edit-chargingstationprofiles-dialog/edit-chargingstationprofile-dialog.component';\n@Component({\n selector: 'app-edit-chargingstationprofiles',\n templateUrl: './edit-chargingstationprofiles.component.html',\n styleUrls: ['./edit-chargingstationprofiles.component.scss']\n})\nexport class EditChargingstationprofilesComponent implements OnInit {\n\n constructor(public dialog: NgbModal, private router: Router, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n this.openDialog();\n }\n\n openDialog(): void {\n var modelId = this.activatedRoute.snapshot.params.key;\n const dialogRef = this.dialog.open(EditChargingStationProfileDialogComponent, { centered: true, backdrop: 'static', size:'lg' });\n\n dialogRef.componentInstance.modelId = modelId;\n\n dialogRef.result.then((result) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }, (backdrop) => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n });\n }\n\n}\n","\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { DecimalPipe } from '@angular/common';\nimport { Injector } from '@angular/core';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ChargingStationDto } from '../../../dto/chargingStationDto';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableFilter } from '@models/tableFilter';\nimport { TableOptions } from '@models/tableOptions';\nimport { DEDatePipe } from '../../../pipes/de-date.pipe';\nimport { ThousandPipe } from '../../../pipes/thousand.pipe';\nimport { RouteDataService } from '../../../services/route-data/route-data.service';\nimport { FormService } from '@services/form/form.service';\nimport { plainToClass } from 'class-transformer';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\n\n\n@Component({\n selector: 'app-dashboard-offlineSince',\n templateUrl: './dashboard-offlineSince.component.html',\n styleUrls: ['./dashboard-offlineSince.component.scss']\n})\nexport class DashboardOfflineSinceComponent extends AbstractEntitiesTableComponent implements OnInit, OnDestroy {\n\n public className = 'DashboardOfflineSinceComponent';\n public activeComponentClassName: string = 'DashboardOfflineSinceComponent';\n\n public entities: ChargingStationDto[];\n\n public tableColumns: TableColumn[] = [\n { columnDescription: 'ID', property: 'id' },\n { columnDescription: 'Name', property: 'name' },\n { columnDescription: 'Kunde', property: 'customer.name' },\n { columnDescription: 'offline seit', property: 'offlineSince', options: { columnPipe: { pipe: new DEDatePipe() } } },\n { columnDescription: 'gemeldet', property: 'displayOffLineReported', options: { 'isBoolean': true, } },\n ];\n\n public tableOptions: TableOptions = { hideActions: true, hideSearch: true, rowRouterLink: '/operator/chargingstation/{id}' };\n\n constructor(\n public chargingstationservice: ChargingStationsService,\n public formService: FormService,\n injector: Injector) {\n super(chargingstationservice, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.tableFunctions.sortColumn = 'offlineSince';\n this.tableFunctions.sortDirection = 'desc';\n }\n\n async initializeEntities() {\n this.chargingstationservice.getOfflineChargeStations().subscribe(result => {\n this.entities = plainToClass(ChargingStationDto, result)\n super.setupTable();\n this.mapReported();\n }, error => {});\n }\n\n mapReported() {\n this.entities.forEach(f => {\n let reported = \"\"\n if (f.offlineStatusReported) {\n reported = `1` }\n else { reported = `0` }\n f.displayOffLineReported = reported;\n })\n }\n\n matches(entity: ChargingStationDto, term: string) {\n var datePipe = new DEDatePipe();\n var timestamp_offline = datePipe.transform(entity.offlineSince);\n\n return entity.name?.toLocaleLowerCase().includes(term.toLowerCase())\n || entity.id?.toLowerCase().includes(term.toLowerCase())\n || entity.name?.toLowerCase().includes(term.toLowerCase())\n || entity.customer?.name?.toLowerCase().includes(term.toLowerCase())\n || timestamp_offline?.includes(term.toLowerCase())\n\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n Offline seit mehr als 3 Stunden ({{ tableFunctions.total$ | async }})\n
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n Loading...\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Elemente pro Seite
    \n
    \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n
    Springe zu Seite
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { Component, EventEmitter, Injector, Input, OnDestroy, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { TableColumn } from '@models/tableColumn';\nimport { plainToClass } from 'class-transformer';\nimport { Subscription, interval } from 'rxjs';\nimport '@angular/localize/init';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { TableOptions } from '@models/tableOptions';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ManufacturerDto } from '@dto/manufacturerDto';\nimport { ManufacturersService } from '@services/entity/manufacturer.services';\nimport { Manufacturer } from '../../../models/manufacturer';\nimport { ManufacturersTableEntry } from '../../../dto/ManufacturersTableEntry';\n\n\n@Component({\n selector: 'app-manufacturer-table',\n templateUrl: './manufacturer.component.html',\n styleUrls: ['./manufacturer.component.scss']\n})\n\nexport class ManufacturerTableComponent extends AbstractEntitiesTableComponent implements OnInit, OnDestroy {\n\n public className = 'ManufacturerTableComponent';\n public manufacturer: ManufacturerDto;\n public activeComponentClassName: string = 'ManufacturersTableComponent';\n\n\n @Output() stationCount = new EventEmitter();\n\n public entities: ManufacturersTableEntry[];\n public isOperatorView: boolean;\n public user: boolean = false;\n public customer: boolean = false;\n public operator: boolean = false;\n public showAll: boolean = false;\n\n @Output() newEntityEvent = new EventEmitter();\n\n private sortParam: number;\n private isAnyCheckBoxSelected: boolean;\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@ChargingStationsTableColumn2:Name/Bezeichner`, property: 'name' },\n ];\n\n public tableOptions: TableOptions = { hideActions: true };\n\n constructor(\n public manufacturerService: ManufacturersService,\n public sanitizer: DomSanitizer,\n private dialog: NgbModal,\n injector: Injector\n ) {\n super(manufacturerService, injector);\n }\n\n\n ngOnInit(): void {\n this.getRoles();\n this.isOperatorView = this.activatedRoute.snapshot.data['isOperatorView'];\n this.showAll = this.activatedRoute.snapshot.data['showAll'];\n\n this.activatedRoute.queryParams.subscribe(params => {\n this.sortParam = params.sort;\n });\n super.ngOnInit();\n\n if(!this.sortParam) {\n this.tableFunctions.sortColumn = 'name';\n this.tableFunctions.sortDirection = 'asc';\n }\n }\n\n onSort() {\n if (this.sortParam) {\n this.sortParam = undefined;\n this.router.navigate([], {\n queryParams: {\n 'sort': null,\n },\n queryParamsHandling: 'merge'\n })\n }\n }\n\n async initializeEntities() {\n if (this.isOperatorView) {\n if (this.showAll) {\n this.manufacturerService.getAllManufacturer().subscribe(result => {\n this.entities = plainToClass(Manufacturer, result);\n this.stationCount.emit(this.entities.length)\n super.setupTable();\n }, error => { });\n this.tableOptions = { hideActions: true };\n }\n }\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Customer')) {\n this.customer = true;\n }\n if (this.authenticationService.userHasRole('Operator')) {\n this.operator = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.user = true;\n }\n }\n\n ngOnDestroy(): void {\n this.routerSubscription.unsubscribe();\n }\n\n matches(entity: ManufacturerDto, term: string) {\n return ManufacturersService.matches(entity, term);\n }\n\n}\n","\n\n
    \n \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n Hersteller ({{ tableFunctions.total$ | async }})\n
    \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n Loading...\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    Elemente pro Seite
    \n
    \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n
    Springe zu Seite
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n\n","import { Component, Injector, Input, OnInit } from '@angular/core';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { Router } from '@angular/router';\nimport { UserDto } from '@dto/userDto';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { FormService } from '@services/form/form.service';\nimport { StatusNotificationsService } from '@services/entity/statusNotifications.services'\nimport { UsersService } from '@services/entity/users.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport '@angular/localize/init';\nimport { plainToClass } from 'class-transformer';\nimport { Operator } from '../../models/operator';\nimport { OperatorsService } from '@services/entity/operators.service';\nimport { RfidCardsService } from '@services/entity/rfidCards.service'\nimport { CustomersService } from '@services/entity/customers.service';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { ChargingPointDto } from '../../dto/chargingPointDto';\nimport { ChargingStationDto } from '../../dto/chargingStationDto';\nimport { BlackboxService } from '../../services/entity/blackbox.service';\nimport { CustomersTableEntry } from '../../dto/customersTableEntry';\nimport { TransactionDto } from '../../dto/transactionDto';\nimport { TransactionSuccess } from '../../enums/transaction-success.enum';\nimport { Chart, ChartData, ChartOptions, ChartType, registerables } from \"chart.js\";\nimport { RfidCardDto } from '../../dto/rfidCardDto';\n\n\n@Component({\n selector: 'app-operator',\n templateUrl: './operator.component.html',\n styleUrls: ['./operator.component.scss']\n})\nexport class OperatorComponent implements OnInit {\n\n public user: UserDto;\n public customers: number;\n public chargingStations: any;\n public notifications: number;\n public blackboxes: number = 0;\n public models: number;\n public operator: Operator;\n public users: number;\n public offline: ChargingStationDto[];\n public searchCSResult: ChargingStationDto[];\n public searchCUResult: CustomersTableEntry[];\n public searchTRResult: TransactionDto[];\n public searchRFResult: RfidCardDto[];\n public hasTransaction: boolean = false;\n public hasLoaded: boolean = false;\n public searchTerm: string;\n public searchResult: boolean = false;\n hasError: boolean;\n public isOperator: boolean = false;\n public isCustomer: boolean = false;\n public isUser: boolean = false;\n public isSupporter: boolean = false;\n\n public total: number;\n\n\n constructor(\n private usersService: UsersService,\n public formService: FormService,\n private operatorsService: OperatorsService,\n private customersService: CustomersService,\n private rfidcardsService: RfidCardsService,\n private transactionsService: TransactionsService,\n private authenticationService: AuthenticationService,\n private chargingStationsService: ChargingStationsService,\n private blackBoxService: BlackboxService,\n private statusNotificationService: StatusNotificationsService,\n private router: Router,\n private spinner: NgxSpinnerService\n ) { }\n\n ngOnInit(): void {\n this.usersService.getLoggedInUser().subscribe(result => {\n this.user = result;\n }, error => { });\n\n this.customersService.getCountofCustomers().subscribe(result => {\n this.customers = result;\n }, error => { });\n\n this.blackBoxService.getCount().subscribe(result => {\n this.blackboxes = result;\n }, error => { });\n\n this.chargingStationsService.getCountofChargingstations().subscribe(result => {\n this.chargingStations = result;\n this.chargingStations\n this.total = result.reduce((acc, current) => acc + current.count, 0);\n }, error => { });\n\n this.chargingStationsService.getCountOfModels().subscribe(result => {\n this.models = result;\n }, error => { });\n\n this.statusNotificationService.getCountOfStatusNotifications().subscribe(result => {\n this.notifications = result;\n }, error => { });\n\n this.usersService.getCountOfUsers().subscribe(result => {\n this.users = result;\n }, error => { });\n this.getRoles();\n this.createForm();\n }\n\n getRoles() {\n if (this.authenticationService.userHasRole('Operator')) {\n this.isOperator = true;\n }\n if (this.authenticationService.userHasRole('Customer')) {\n this.isCustomer = true;\n }\n if (this.authenticationService.userHasRole('User')) {\n this.isUser = true;\n }\n if (this.authenticationService.userHasRole('Supporter')) {\n this.isSupporter = true;\n }\n }\n\n\n createForm() {\n this.formService.validators = {\n searchTerm: [Validators.minLength(3)],\n }\n\n this.formService.form = new UntypedFormGroup({\n searchTerm: new UntypedFormControl(),\n });\n }\n\n searchForTerm() {\n this.hasError = false;\n this.searchTerm = this.formService.form.get('searchTerm').value;\n if (this.searchTerm.length >= 3) {\n this.chargingStationsService.search(this.searchTerm).subscribe(result => {\n this.searchResult = true;\n this.searchCSResult = result;\n }, error => { this.searchResult = false; })\n this.customersService.search(this.searchTerm).subscribe(result => {\n this.searchResult = true;\n this.searchCUResult = result;\n }, error => { this.searchResult = false; })\n this.transactionsService.search(this.searchTerm).subscribe(result => {\n this.searchResult = true;\n this.searchTRResult = result;\n this.searchTRResult.forEach(item => {\n item.successMessage = TransactionSuccess[item.success];\n })\n }, error => { this.searchResult = false; })\n this.rfidcardsService.search(this.searchTerm).subscribe(result => {\n this.searchResult = true;\n this.searchRFResult = result;\n }, error => { this.searchResult = false; })\n this.hasError = false;\n } else {\n this.searchResult = false;\n this.hasError = true;\n }\n }\n\n onSubmit(formValue) {\n this.searchForTerm();\n }\n}\n","
    \n

    Willkommen, {{ user?.firstName }}

    \n
    \n
    \n \n \n
    \n
    \n Der Suchbegriff muss mindestens 3 Zeichen lang sein.\n
    \n
    \n
    \n Suchergebnisse für (\"{{this?.searchTerm}}\"):\n
    \n Keine Einträge gefunden.\n
    \n
    = 1 \" class=\"m-2 border border-1 rounded-2 mb-3\">\n
    =1\">\n  Ladestation ({{this.searchCSResult.length}})\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    IDCS-IDNameHerstellerModellEVSE-IDeRoaming
    {{cs.id}}{{cs.csId}}{{cs.name}}{{cs.manufacturer?.name}}{{cs.model?.name}}\n \n {{cs.chargingPoints[i].evseId}}\n \n {{cs?.isHubjectAvailable}}
    \n
    \n
    = 1\" class=\"m-2 border border-1 rounded-2 mb-3\">\n
     Transaktionen ({{this.searchTRResult.length}})
    \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
    Trans-IdRfIDLademengeStartEndeLadestationStatus
    {{tr?.transactionId}}{{tr?.rfidCardIdTag}}{{tr?.meterAmount | kwh}} kWh{{tr?.startTimestamp | date: 'medium':'+0100'}}{{tr?.stopTimestamp | date: 'medium':'+0100'}}{{tr?.chargingStationName}}{{tr?.successMessage}}
    \n
    \n
    = 1\" class=\"m-2 border border-1 rounded-2 mb-3\">\n
     Kunden({{this.searchCUResult.length}})
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    IDKunden-Nr.FirmaBezeichnerNameAnzahl BenutzerAnzahl Ladestationen
    {{cu.id}}{{cu?.customerId}}{{cu?.company}}{{cu?.internalDescription}}{{cu?.fullName}}{{cu?.users}}{{cu?.chargingStations}}
    \n
    \n
    = 1\" class=\"m-2 border border-1 rounded-2 mb-3\">\n
     RFID-Karten ({{this.searchRFResult.length}})
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    IDRFIDKunden-Nr.VornameNachname
    {{rf.id}}{{rf?.idTag}}{{rf?.customerId}}{{rf?.userFirstName}}{{rf?.userLastName}}
    \n
    \n
    \n
    \n \n

    {{ customers }}

    \n \n Kunden\n
    \n\n \n

    {{ users }}

    \n \n Benutzer\n
    \n\n \n
    \n \n Unregistriert: {{cs.count}}\n Bereit: {{cs.count}}\n Lädt: {{cs.count}}\n Fehler: {{cs.count}}\n Ladevorgang beendet: {{cs.count}}\n in Vorbereitung: {{cs.count}}\n Reserviert: {{cs.count}}\n vom Fahrzeug pausiert: {{cs.count}}\n von Ladepunkt pausiert: {{cs.count}}\n Nicht verfügbar: {{cs.count}}\n Offline: {{cs.count}}\n Unbekannter Status: {{cs.count}}\n \n
    \n
    \n\n \n

    {{total}}

    \n \n Ladestationen\n
    \n\n \n

    {{ blackboxes }}

    \n \n Blackboxen\n
    \n\n \n

    {{ models }}

    \n Ladepunktprofile\n \n
    \n\n \n

    {{ notifications }}

    \n \n Statusmeldungen\n
    \n
    \n \n\n
    \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { SubscriptionTypesComponent } from './subscription-types/subscription-types.component';\nimport { OperatorComponent } from '../operator/operator.component';\nimport { AuthGuard } from '@guards/auth/auth.guard';\nimport { RoleGuard } from '@guards/role/role.guard';\nimport { ChargingStationProfilesComponent } from './chargingstationprofiles/chargingstationprofiles.component';\nimport { CreateManufacturerDialogComponent } from '@components/dialog/create-manufacturer-dialog/create-manufacturer-dialog.component'\nimport { StatusNotificationsTableComponent } from './statusnotifications/statusnotifications.component';\nimport { CreateChargingStationDialogComponent } from '../dialog/create-charging-station-dialog/create-charging-station-dialog.component';\nimport { DeleteChargingStationDialogComponent } from '../dialog/delete-charging-station-dialog/delete-charging-station-dialog.component';\nimport { EditChargingstationprofilesComponent } from './chargingstationprofiles/edit-chargingstationprofiles/edit-chargingstationprofiles.component';\nimport { DeleteChargingstationprofilesComponent } from './chargingstationprofiles/delete-chargingstationprofiles/delete-chargingstationprofiles.component';\nimport { DetailsChargingStationDialogComponent } from '@components/dialog/details-charging-station-dialog/details-charging-station-dialog.component';\nimport { UsersComponent } from '@components/entities/users/users.component';\nimport { UsersTableComponent } from '@components/entities/users/users-table/users-table.component';\nimport { DashboardOfflineSinceComponent } from '@components/operator/dashboard-offlineSince/dashboard-offlineSince.component'\nimport { RegisterUserFromOperatorComponent } from './register-user-operator/register-user-operator.component';\nimport { CustomersTableComponent } from '../entities/customers/customers-table/customers-table.component';\nimport { CreateCustomerDialogComponent } from '../dialog/create-customer-dialog/create-customer-dialog.component';\nimport { CustomerOverviewComponent } from '../entities/customers/customer-overview/customer-overview.component';\nimport { ChargingStationsTableComponent } from '../entities/charging-stations/charging-stations-table/charging-stations-table.component';\nimport { EditUserDialogComponent } from '../dialog/edit-user-dialog/edit-user-dialog.component';\nimport { PaymentReceiptsComponent } from '../entities/payment-receipts/payment-receipts.component';\nimport { CustomerHistoryComponent } from '../entities/customers/customer-history/customer-history.component';\nimport { CustomerPermissionsComponent } from '../entities/customers/customer-permissions/customer-permissions.component';\nimport { ProfileComponent } from '../manage/profile/profile.component';\nimport { DeliveryNoteSettings } from '@models/deliveryNotes';\nimport { DeliveryNoteActionsDialogComponent } from '../dialog/delivery-note-actions-dialog/delivery-note-actions-dialog.component';\nimport { DeliveryNotesComponent } from '../evaluation/delivery-notes/delivery-notes.component';\nimport { ChargingStatisticsComponent } from '../evaluation/charging-statistics/charging-statistics.component';\nimport { DetailsTransactionDialogComponent } from '../dialog/details-transaction-dialog/details-transaction-dialog.component';\nimport { TransactionsComponent } from '../evaluation/transactions/transactions.component';\nimport { ChargingStationsStatusHistoryTableComponent } from '../entities/charging-stations/charging-stations-status-history-table/charging-stations-status-history-table.component';\nimport { CreateUserDialogComponent } from '../dialog/create-user-dialog/create-user-dialog.component';\nimport { RfidCardsTableComponent } from '../entities/rfid-cards/rfid-cards-table/rfid-cards-table.component';\nimport { CreateRfidCardDialogComponent } from '../dialog/create-rfid-card-dialog/create-rfid-card-dialog.component';\nimport { EditRfidCardDialogComponent } from '../dialog/edit-rfid-card-dialog/edit-rfid-card-dialog.component';\nimport { DeleteGroupDialogComponent } from '../dialog/delete-group-dialog/delete-group-dialog.component';\nimport { EditGroupDialogComponent } from '../dialog/edit-group-dialog/edit-group-dialog.component';\nimport { GroupsComponent } from '../manage/groups/groups.component';\nimport { EditInvoiceSettingsDialogComponent } from '../dialog/edit-invoice-settings-dialog/edit-invoice-settings-dialog.component';\nimport { PrintInvoiceDialogComponent } from '../dialog/print-invoice-dialog/print-invoice-dialog.component';\nimport { CreateInvoiceDialogComponent } from '../dialog/create-invoice-dialog/create-invoice-dialog.component';\nimport { InvoicesComponent } from '../entities/invoices/invoices.component';\nimport { EditPricingDialogComponent } from '../dialog/edit-pricing-dialog/edit-pricing-dialog.component';\nimport { CreatePricingDialogComponent } from '../dialog/create-pricing-dialog/create-pricing-dialog.component';\nimport { PricingsComponent } from '../entities/pricings/pricings.component';\nimport { UnassignedRfidCardsTableComponent } from '@components/entities/rfid-cards/unassigned-rfid-cards-table/unassigned-rfid-cards-table.component';\nimport { DashboardComponent } from '@components/dashboard/dashboard.component';\nimport { EditDeliveryNotesSettingsDialogComponent } from '@components/dialog/edit-delivery-notes-settings-dialog/edit-delivery-notes-settings-dialog.component';\nimport { DeletePricingDialogComponent } from '../dialog/delete-pricing-dialog/delete-pricing-dialog.component';\nimport { PayoutStatementsDialogComponent } from '@components/dialog/payout-statements-dialog/payout-statements-dialog.component';\nimport { ManufacturerTableComponent } from './manufacturer/manufacturer.component';\nimport { CreateChargingStationProfileDialogComponent } from '../dialog/create-chargingstationprofile-dialog/create-chargingstationprofile-dialog.component';\nimport { RemovePricingDialogContentComponent } from '@components/dialog/remove-pricing-dialog/remove-pricing-dialog-content/remove-pricing-dialog-content.component';\nimport { EnergyMonitorComponent } from '@components/energy/energy-monitor/energy-monitor.component';\nimport { CreateManufacturerComponent } from '../entities/manufacturer/create-manufacturer/create-manufacturer.component';\nimport { EditChargingStationProfileDialogComponent } from '../dialog/edit-chargingstationprofiles-dialog/edit-chargingstationprofile-dialog.component';\nimport { EditChargingstationProfileDialogContentComponent } from '../dialog/edit-chargingstationprofiles-dialog/edit-chargingstationprofile-dialog-content/edit-chargingstationprofile-dialog-content.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EnergyTabNavigationComponent } from '@components/energy/energy-monitor/energy-tab-navigation/energy-tab-navigation.component';\nimport { BidiChargingComponent } from '@components/energy/bidi-charging/bidi-charging.component';\n\n\n\n@NgModule({\n declarations: [\n EditChargingstationprofilesComponent,\n EditChargingStationProfileDialogComponent,\n EditChargingstationProfileDialogContentComponent,\n DeleteChargingstationprofilesComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule.forChild(\n [\n {\n path: 'operator',\n component: OperatorComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {\n isOperatorView: true,\n roles: ['Operator'],\n showAll: true\n },\n children: [\n {\n path: 'chargingstation/:key',\n component: DetailsChargingStationDialogComponent\n },\n {\n path: ':key',\n component: DetailsTransactionDialogComponent,\n data: { isOperatorView: true },\n \n }\n ],\n },\n {\n path: 'subscription-types',\n component: SubscriptionTypesComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {\n roles: ['Operator']\n }\n },\n {\n path: 'csprofiles',\n component: ChargingStationProfilesComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {\n isOperatorView: true,\n roles: ['Operator'],\n showAll: true\n },\n children: [\n {\n path: 'create',\n component: CreateChargingStationProfileDialogComponent,\n },\n {\n path: 'edit/:key',\n component: EditChargingStationProfileDialogComponent,\n children: [\n {\n path: 'delete',\n component: DeleteChargingstationprofilesComponent\n }\n ]\n }\n ],\n },\n {\n path: 'statusnotifications',\n component: StatusNotificationsTableComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {\n isOperatorView: true,\n roles: ['Operator'],\n showAll: true\n },\n children: [\n {\n path: 'chargingstation/:key',\n component: DetailsChargingStationDialogComponent\n }],\n },\n {\n path: 'users', component: UsersComponent, canActivate: [AuthGuard, RoleGuard], data: { roles: ['Operator'], showAll: true }, children: [\n {\n path: '',\n component: UsersTableComponent,\n data: { roles: ['Operator'], showAll: true, isUserProfile: true},\n },\n ]\n },\n {\n path: 'manufacturer',\n component: ManufacturerTableComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: {\n isOperatorView: true,\n roles: ['Operator'],\n showAll: true\n },\n children: [\n {\n path: 'create',\n component: CreateManufacturerDialogComponent\n },\n\n {\n path: 'edit/:key',\n component: CreateManufacturerDialogComponent\n }\n ]\n },\n {\n path: 'customer',\n component: CustomersTableComponent,\n canActivate: [AuthGuard, RoleGuard],\n data: { roles: ['Operator'], showAll: true, isOperatorView: true }, children: [\n {\n path: 'register',\n component: CreateCustomerDialogComponent,\n data: { roles: ['Operator'], showAll: true, isOperatorView: true },\n },\n ]\n },\n {\n path: 'customer/:key', component: CustomerOverviewComponent, canActivate: [AuthGuard, RoleGuard], data: { roles: ['Operator'] }, children: [\n {\n path: '',\n redirectTo: 'dashboard',\n pathMatch: 'full'\n },\n {\n path: 'dashboard',\n component: DashboardComponent,\n data: { isOperatorView: true }\n },\n {\n path: 'users',\n component: UsersTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'edit/:key',\n component: EditUserDialogComponent\n },\n {\n path: 'create',\n component: CreateUserDialogComponent\n },\n ]\n },\n {\n path: 'rfid',\n component: RfidCardsTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'create',\n component: CreateRfidCardDialogComponent\n },\n {\n path: 'edit/:key',\n component: EditRfidCardDialogComponent\n }\n ]\n },\n {\n path: 'unassigned-rfid',\n component: UnassignedRfidCardsTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'create',\n component: CreateRfidCardDialogComponent\n },\n {\n path: 'edit/:key',\n component: EditRfidCardDialogComponent\n }\n ]\n },\n {\n path: 'pricings',\n component: PricingsComponent,\n data: {\n roles: ['Operator'],\n isOperatorView: true\n },\n children: [\n {\n path: 'create',\n component: CreatePricingDialogComponent,\n },\n {\n path: 'edit/:key',\n component: EditPricingDialogComponent,\n },\n {\n path: 'delete/:key',\n component: DeletePricingDialogComponent,\n },\n {\n path: 'remove-users',\n component: RemovePricingDialogContentComponent,\n },\n ]\n },\n {\n path: 'invoices',\n component: InvoicesComponent,\n data: {\n isOperatorView: true,\n roles: ['Operator']\n },\n children: [\n {\n path: 'create/:key',\n component: CreateInvoiceDialogComponent,\n data: { roles: ['Operator'] },\n },\n {\n path: 'print/:key',\n component: PrintInvoiceDialogComponent,\n data: { roles: ['Operator'] },\n },\n {\n path: 'settings',\n component: EditInvoiceSettingsDialogComponent,\n data: { roles: ['Operator'] },\n },\n {\n path: 'payout-statements',\n component: PayoutStatementsDialogComponent,\n data: { roles: ['Operator'] },\n },\n ]\n },\n {\n path: 'groups',\n component: GroupsComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'edit/:key',\n component: EditGroupDialogComponent,\n },\n {\n path: 'delete/:key',\n component: DeleteGroupDialogComponent\n }\n ]\n },\n {\n path: 'chargingstations-status-log',\n component: ChargingStationsStatusHistoryTableComponent,\n children: [\n {\n path: 'edit/:key',\n component: DetailsChargingStationDialogComponent\n },\n ]\n },\n {\n path: 'transactions',\n component: TransactionsComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: ':key',\n component: DetailsTransactionDialogComponent,\n }\n ]\n },\n {\n path: 'chargingstations',\n component: ChargingStationsTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'create',\n component: CreateChargingStationDialogComponent\n },\n {\n path: 'edit/:key',\n component: DetailsChargingStationDialogComponent\n },\n {\n path: 'delete/:key',\n component: DeleteChargingStationDialogComponent\n }\n ]\n },\n {\n path: 'charging-statistics',\n component: ChargingStatisticsComponent,\n data: { isOperatorView: true }\n },\n {\n path: 'delivery-notes',\n component: DeliveryNotesComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'edit/:key',\n component: DeliveryNoteActionsDialogComponent,\n data: { isOperatorView: true },\n },\n {\n path: 'settings',\n component: EditDeliveryNotesSettingsDialogComponent,\n data: { isOperatorView: true },\n }\n ]\n },\n {\n path: 'profile',\n component: ProfileComponent,\n data: { isOperatorView: true }\n },\n {\n path: 'energy-monitor',\n component: EnergyMonitorComponent,\n data: { isOperatorView: true }\n },\n {\n path: 'bidi-charging',\n component: BidiChargingComponent,\n data: { isOperatorView: true }\n },\n {\n path: 'energy',\n component: EnergyTabNavigationComponent,\n data: { isOperatorView: true }\n },\n {\n path: 'permissions',\n component: CustomerPermissionsComponent\n },\n {\n path: 'history',\n component: CustomerHistoryComponent\n },\n {\n path: 'payment-receipts',\n component: PaymentReceiptsComponent,\n data: { isOperatorView: true }\n },\n ]\n },\n {\n path: 'pool/:key', component: CustomerOverviewComponent, canActivate: [AuthGuard, RoleGuard], data: { isProduction:true, roles: ['Operator'] }, children: [\n {\n path: '',\n redirectTo: 'chargingstations',\n pathMatch: 'full'\n },\n\n {\n path: 'users',\n component: UsersTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'edit/:key',\n component: EditUserDialogComponent\n },\n {\n path: 'create',\n component: CreateUserDialogComponent\n },\n ]\n },\n {\n path: 'rfid',\n component: RfidCardsTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'create',\n component: CreateRfidCardDialogComponent\n },\n {\n path: 'edit/:key',\n component: EditRfidCardDialogComponent\n }\n ]\n },\n {\n path: 'unassigned-rfid',\n component: UnassignedRfidCardsTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'create',\n component: CreateRfidCardDialogComponent\n },\n {\n path: 'edit/:key',\n component: EditRfidCardDialogComponent\n }\n ]\n },\n {\n path: 'pricings',\n component: PricingsComponent,\n data: {\n roles: ['Operator'],\n isOperatorView: true\n },\n children: [\n {\n path: 'create',\n component: CreatePricingDialogComponent,\n },\n {\n path: 'edit/:key',\n component: EditPricingDialogComponent,\n },\n ]\n },\n {\n path: 'invoices',\n component: InvoicesComponent,\n data: {\n isOperatorView: true,\n roles: ['Operator']\n },\n children: [\n {\n path: 'create/:key',\n component: CreateInvoiceDialogComponent,\n data: { roles: ['Operator'] },\n },\n {\n path: 'print/:key',\n component: PrintInvoiceDialogComponent,\n data: { roles: ['Operator'] },\n },\n {\n path: 'settings',\n component: EditInvoiceSettingsDialogComponent,\n data: { roles: ['Operator'] },\n },\n ]\n },\n {\n path: 'groups',\n component: GroupsComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'edit/:key',\n component: EditGroupDialogComponent,\n },\n {\n path: 'delete/:key',\n component: DeleteGroupDialogComponent\n }\n ]\n },\n {\n path: 'chargingstations-status-log',\n component: ChargingStationsStatusHistoryTableComponent,\n children: [\n {\n path: 'edit/:key',\n component: DetailsChargingStationDialogComponent\n },\n ]\n },\n {\n path: 'transactions',\n component: TransactionsComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: ':key',\n component: DetailsTransactionDialogComponent,\n }\n ]\n },\n {\n path: 'chargingstations',\n component: ChargingStationsTableComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'create',\n component: CreateChargingStationDialogComponent\n },\n {\n path: 'edit/:key',\n component: DetailsChargingStationDialogComponent\n },\n {\n path: 'delete/:key',\n component: DeleteChargingStationDialogComponent\n }\n ]\n },\n {\n path: 'charging-statistics',\n component: ChargingStatisticsComponent,\n data: { isOperatorView: true }\n },\n {\n path: 'delivery-notes',\n component: DeliveryNotesComponent,\n data: { isOperatorView: true },\n children: [\n {\n path: 'edit/:key',\n component: DeliveryNoteActionsDialogComponent,\n data: { isOperatorView: true },\n },\n {\n path: 'settings',\n component: DeliveryNoteSettings,\n data: { isOperatorView: true },\n }\n ]\n },\n {\n path: 'profile',\n component: ProfileComponent,\n data: { isOperatorView: true }\n },\n {\n path: 'permissions',\n component: CustomerPermissionsComponent\n },\n {\n path: 'history',\n component: CustomerHistoryComponent\n },\n {\n path: 'payment-receipts',\n component: PaymentReceiptsComponent,\n data: { isOperatorView: true }\n },\n ]\n }\n \n ],\n )\n ],\n providers: [\n ],\n})\nexport class OperatorModule { }\n","import { Component, Inject, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RegistrationRequest } from '@dto/registrationRequest';\nimport { Address } from '@models/address';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { User } from '@models/identity/user';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { PasswordConfirmationValidatorService } from '@services/custom-validators/password-confirm-validator.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { FormService } from '@services/form/form.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AGBComponent } from '../../authentication/agb/agb.component';\nimport { DatasecurityComponent } from '../../authentication/datasecurity/datasecurity.component';\nimport { MessageService } from '@services/message/message.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { UserDto } from '@dto/userDto';\n\n\n@Component({\n selector: 'app-register-user-operator',\n templateUrl: './register-user-operator.component.html',\n styleUrls: ['./register-user-operator.component.scss']\n})\nexport class RegisterUserFromOperatorComponent implements OnInit {\n \n private token: string;\n public user: UserDto;\n public isOperatorView: boolean = false;\n public navigationUrl: string;\n public formCreated: boolean;\n\n public passwordHasUpperCase: boolean = false\n public passwordHasLowerCase: boolean = false;\n public passwordHasDigit: boolean = false\n public passwordHasLength: boolean = false\n public passwordHasSpecialCharacter: boolean = false\n public passwordQuality: number = 0\n public passwordIsMatching: boolean = false\n public passwordRating: string = ''\n public passwordRatings: Array = [\n '', 'Sehr Schwach', 'Schwach', 'Ausreichend', 'Gut', 'Stark', 'Sehr Stark', 'Super Stark', 'Stark wie Krupp Stahl'\n ]\n\n public whitelabel: string\n public whitelabelURL: string = 'https://cubosgeneralstorage.blob.core.windows.net/whitelabel-storage/'\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private authenticationService: AuthenticationService,\n public formService: FormService,\n public messageService: MessageService,\n private passwordConfirmValidator: PasswordConfirmationValidatorService,\n private router: Router,\n private spinner: NgxSpinnerService,\n private activatedRoute: ActivatedRoute,\n private usersService: UsersService,\n private toastService: ToastService,\n private dialog: NgbModal,\n injector: Injector) { }\n\n ngOnInit(): void {\n this.token = this.activatedRoute.snapshot.queryParams['token'];\n\n if (!this.isOperatorView) {\n\n if (this.token) {\n var email = this.authenticationService.getTokenNameClaim(this.token);\n\n this.authenticationService.getUserByEmailForRegistration(email, this.token).subscribe(result => {\n this.user = result;\n this.createForm();\n }, error => {\n this.router.navigate(['/auth/used-token-feedback']);\n });\n }\n else {\n this.createForm();\n }\n } else {\n this.CreateOperatorForm();\n }\n }\n \n ngAfterViewInit() {\n this.whitelabel = localStorage.getItem('whitelabel')\n }\n\n private CreateOperatorForm() {\n this.formService.validators = {\n postalCode: [Validators.required, Validators.pattern('^[0-9]*$'), Validators.maxLength(5), Validators.minLength(5)],\n city: [Validators.required],\n street: [Validators.required],\n houseNumber: [Validators.required],\n\n email: [Validators.required, Validators.email],\n firstName: [Validators.required, Validators.maxLength(50)],\n lastName: [Validators.required, Validators.maxLength(50)],\n gender: [Validators.required],\n type: [Validators.required],\n company: [],\n phone: [Validators.required],\n acceptTos: [],\n acceptPrivacy: [],\n acceptAd: []\n }\n\n\n var addressGroup = new UntypedFormGroup({\n postalCode: new UntypedFormControl('', this.formService.validators['postalCode']),\n city: new UntypedFormControl('', this.formService.validators['city']),\n street: new UntypedFormControl('', this.formService.validators['street']),\n houseNumber: new UntypedFormControl('', this.formService.validators['houseNumber']),\n });\n\n this.formService.form = new UntypedFormGroup({\n email: new UntypedFormControl('', this.formService.validators['email']),\n firstName: new UntypedFormControl('', this.formService.validators['firstName']),\n lastName: new UntypedFormControl('', this.formService.validators['lastName']),\n gender: new UntypedFormControl('', this.formService.validators['gender']),\n type: new UntypedFormControl('private', this.formService.validators['type']),\n company: new UntypedFormControl('', this.formService.validators['company']),\n phone: new UntypedFormControl('', this.formService.validators['phone']),\n address: addressGroup,\n\n password: new UntypedFormControl('newCustomer2022'),\n confirm: new UntypedFormControl('newCustomer2022'),\n acceptTos: new UntypedFormControl(false),\n acceptPrivacy: new UntypedFormControl(false),\n acceptAd: new UntypedFormControl(false)\n });\n\n this.formService.form.get('confirm').setValidators([Validators.required,\n this.passwordConfirmValidator.validateConfirmPassword(this.formService.form.get('password'))]);\n\n this.formService.formMap = new Map();\n this.formService.formMap.set(\"address\", addressGroup);\n\n this.formCreated = true;\n }\n\n private createForm() {\n this.formService.validators = {\n postalCode: [Validators.required, Validators.pattern('^[0-9]*$'), Validators.maxLength(5), Validators.minLength(5)],\n city: [Validators.required],\n street: [Validators.required],\n houseNumber: [Validators.required, Validators.pattern('^[0-9]+(?:[a-zA-Z]+)*$')],\n\n email: [Validators.required, Validators.email],\n firstName: [Validators.required, Validators.maxLength(50)],\n lastName: [Validators.required, Validators.maxLength(50)],\n gender: [Validators.required],\n type: [Validators.required],\n company: [],\n phone: [Validators.required, Validators.minLength(6)],\n\n password: [Validators.required, Validators.pattern(/(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)/g), Validators.minLength(10), this.passwordConfirmValidator.validateMatch('confirm', true)],\n confirm: [Validators.required, Validators.pattern(/(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)/g), Validators.minLength(10), this.passwordConfirmValidator.validateMatch('password')],\n acceptTos: [Validators.requiredTrue],\n acceptPrivacy: [Validators.requiredTrue],\n acceptAd: []\n }\n\n var addressGroup = new UntypedFormGroup({\n postalCode: new UntypedFormControl('', this.formService.validators['postalCode']),\n city: new UntypedFormControl('', this.formService.validators['city']),\n street: new UntypedFormControl('', this.formService.validators['street']),\n houseNumber: new UntypedFormControl('', this.formService.validators['houseNumber']),\n });\n\n this.formService.form = new UntypedFormGroup({\n email: new UntypedFormControl(this.user?.email, this.formService.validators['email']),\n firstName: new UntypedFormControl(this.user?.firstName, this.formService.validators['firstName']),\n lastName: new UntypedFormControl(this.user?.lastName, this.formService.validators['lastName']),\n gender: new UntypedFormControl('', this.formService.validators['gender']),\n type: new UntypedFormControl('private', this.formService.validators['type']),\n company: new UntypedFormControl('', this.formService.validators['company']),\n phone: new UntypedFormControl('', this.formService.validators['phone']),\n address: addressGroup,\n\n password: new UntypedFormControl('', this.formService.validators['password']),\n confirm: new UntypedFormControl('', this.formService.validators['confirm']),\n acceptTos: new UntypedFormControl('', this.formService.validators['acceptTos']),\n acceptPrivacy: new UntypedFormControl('', this.formService.validators['acceptPrivacy']),\n acceptAd: new UntypedFormControl('', this.formService.validators['acceptAd'])\n });\n\n // this.formService.form.get('confirm').setValidators([\n // Validators.required,\n // this.passwordConfirmValidator.validateConfirmPassword(this.formService.form.get('password'))\n // ]);\n\n this.formService.formMap = new Map();\n this.formService.formMap.set(\"address\", addressGroup);\n\n this.formCreated = true;\n }\n\n public isTypeCompany() {\n if (this.formService.form.controls['type'].value == 'company') {\n this.formService.form.get('company').setValidators([Validators.required]);\n this.formService.form.get('company').updateValueAndValidity();\n return true;\n }\n this.formService.form.get('company').clearValidators();\n this.formService.form.get('company').updateValueAndValidity();\n return false;\n }\n\n public onCancelClick(): void {\n this.dialog.dismissAll();\n }\n\n public registerUser(registerFormValue) {\n\n this.spinner.show();\n\n this.messageService.clearErrors();\n const formValues = { ...registerFormValue };\n\n if (this.isOperatorView) {\n this.token = null;\n }\n\n const registrationRequest: RegistrationRequest = {\n email: formValues.email,\n firstName: formValues.firstName,\n lastName: formValues.lastName,\n gender: formValues.gender,\n type: formValues.type,\n company: formValues.company,\n phoneNumber: formValues.phone,\n address: new Address(formValues.address),\n acceptAd: formValues.acceptAd? formValues.acceptAd: false,\n password: formValues.password,\n confirmPassword: formValues.confirm,\n clientURI: this.baseUrl + 'auth/emailconfirmation',\n\n token: this.token\n };\n\n if (this.token) {\n this.authenticationService.registerUserWithInvite(registrationRequest).subscribe(result => {\n this.router.navigate([\"/auth/register-success-with-invite\"]);\n this.spinner.hide();\n },\n error => {\n if (error.isRedirectError) {\n this.router.navigate([\"/auth/register-success-with-invite\"]);\n }\n this.messageService.setError(error);\n window.scroll(0, 0);\n this.spinner.hide();\n })\n } else {\n if (this.isOperatorView) {\n this.navigationUrl = \"/customer\";\n } else {\n this.navigationUrl = \"/auth/register-success\";\n }\n this.authenticationService.registerUser(registrationRequest).subscribe(result => {\n this.router.navigate([this.navigationUrl]);\n this.spinner.hide();\n },\n error => {\n if (error.isRedirectError) {\n this.router.navigate([\"/\"]);\n }\n this.messageService.setError(error);\n window.scroll(0, 0);\n this.spinner.hide();\n });\n if (this.isOperatorView) {\n this.navigationUrl = \"/customer\";\n this.router.navigate([\"/customer\"]);\n this.dialog.dismissAll();\n this.spinner.hide();\n }\n }\n }\n\n public registerUserFromOperator(registerFormValue) {\n this.spinner.show();\n\n this.messageService.clearErrors();\n const formValues = { ...registerFormValue };\n\n if (this.isOperatorView) {\n this.token = null;\n }\n\n const registrationRequest: RegistrationRequest = {\n email: formValues.email,\n firstName: formValues.firstName,\n lastName: formValues.lastName,\n gender: formValues.gender,\n type: formValues.type,\n company: formValues.company,\n phoneNumber: formValues.phone,\n address: new Address(formValues.address),\n acceptAd: formValues.acceptAd? formValues.acceptAd: false,\n password: formValues.password,\n confirmPassword: formValues.confirm,\n clientURI: this.baseUrl + 'auth/emailconfirmation',\n\n token: this.token\n };\n\n if (this.token) {\n this.authenticationService.registerUserWithInvite(registrationRequest).subscribe(result => {\n this.router.navigate([\"/auth/register-success-with-invite\"]);\n this.spinner.hide();\n },\n error => {\n if (error.isRedirectError) {\n this.router.navigate([\"/auth/register-success-with-invite\"]);\n }\n this.messageService.setError(error);\n window.scroll(0, 0);\n this.spinner.hide();\n })\n } else {\n if (this.isOperatorView) {\n this.navigationUrl = \"/customer\";\n } else {\n this.navigationUrl = \"/auth/register-success\";\n }\n this.authenticationService.registerUserFromOperator(registrationRequest).subscribe(result => {\n this.router.navigate([this.navigationUrl]);\n this.spinner.hide();\n this.toastService.success($localize`:@@CustomerCreatedSuccessfulMessage:Der neue Kunde wurde erfolgreich angelegt!`);\n this.dialog.dismissAll();\n },\n error => {\n if (error.isRedirectError) {\n this.router.navigate([\"/\"]);\n }\n this.messageService.setError(error);\n window.scroll(0, 0);\n this.spinner.hide();\n });\n }\n }\n\n openAGBDialog() {\n const dialogRef = this.dialog.open(AGBComponent, { centered: true, backdrop: true });\n\n dialogRef.result.then((result) => {\n //this.ngOnInit();\n }, (backdrop) => {\n\n });\n }\n\n openDSDialog() {\n const dialogRef = this.dialog.open(DatasecurityComponent, { centered: true, backdrop: true });\n\n dialogRef.result.then((result) => {\n //this.ngOnInit();\n }, (backdrop) => {\n\n });\n }\n\n checkPassword(p) {\n // This regex will enforce these rules:\n // At least one upper case English letter, (?=.*?[A-Z])\n // At least one lower case English letter, (?=.*?[a-z])\n // At least one digit, (?=.*?[0-9])\n // At least one special character, (?=.*?[#?!@$%^&*-])\n // Minimum ten in length. {10,}\n\n // let requirements = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d){10,}$/\n\n this.passwordQuality = 0\n\n let upperCase = /^(?=.*[A-Z])/g\n this.passwordHasUpperCase = upperCase.test(p)\n if (upperCase.test(p) && p.match(upperCase) && p.length > this.passwordQuality * 2) this.passwordQuality += 1\n\n let lowerCase = /^(?=.*[a-z])/g\n this.passwordHasLowerCase = lowerCase.test(p)\n if (lowerCase.test(p) && p.match(lowerCase) && p.length > this.passwordQuality * 2) this.passwordQuality += 1\n\n let digit = /^(?=.*\\d)/g\n this.passwordHasDigit = digit.test(p)\n if (digit.test(p) && p.match(digit) && p.length > this.passwordQuality * 2) this.passwordQuality += 1\n\n this.passwordHasLength = p.length >= 10\n this.passwordQuality += parseInt(Math.abs(p.length / 10).toFixed(0))\n\n let specialCharacter = /^(?=.*?[#?!@$%^&*-])/\n this.passwordHasSpecialCharacter = specialCharacter.test(p)\n if (specialCharacter.test(p)) this.passwordQuality += 1\n\n if (this.passwordQuality > this.passwordRatings.length - 1) {\n this.passwordRating = this.passwordRatings[this.passwordRatings.length]\n } else {\n this.passwordRating = this.passwordRatings[this.passwordQuality]\n }\n\n this.passwordIsMatching = this.formService.form.get('password').value == this.formService.form.get('confirm').value\n }\n\n trimValue(event) {\n const value = event.target.value.trim()\n event.target.value = value\n const formControlName = event.target.getAttribute('formControlName')\n let formControl = this.formService.form.get(formControlName)\n if (!formControl) {\n formControl = this.formService.form.get(`address.${formControlName}`)\n }\n formControl.setValue(value)\n formControl.updateValueAndValidity({onlySelf: true})\n }\n}\n","\n
    \n
    Neuen Kunden anlegen
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n\n \n \n
    \n\n
    \n \n \n\n
    \n Unternehmen wird benötigt\n
    \n\n
    \n\n
    \n
    \n
    \n\n
    \n\n
    \n \n \n
    \n Anrede wird benötigt\n
    \n
    \n\n
    \n \n \n
    \n Vorname wird benötigt\n
    \n
    \n Falsche Eingabe\n
    \n
    \n Die Eingabe darf maximal 50 Zeichen lang sein\n
    \n
    \n\n
    \n \n \n
    \n Nachname wird benötigt\n
    \n
    \n Falsche Eingabe\n
    \n
    \n Die Eingabe darf maximal 50 Zeichen lang sein\n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n
    \n Straße wird benötigt\n
    \n
    \n Falsche Eingabe\n
    \n
    \n\n
    \n \n \n
    \n Hausnummer wird benötigt\n
    \n
    \n
    \n
    \n
    \n \n \n\n
    \n PLZ wird benötigt\n
    \n
    \n Falsche Eingabe\n
    \n
    \n PLZ zu lang\n
    \n
    \n PLZ zu kurz\n
    \n
    \n\n
    \n \n \n
    \n Ort wird benötigt\n
    \n
    \n Falsche Eingabe\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n
    \n Telefonnummer wird benötigt\n
    \n
    \n Falsche Eingabe\n
    \n
    \n Telefonnummer zu kurz\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n E-Mail wird benötigt\n
    \n
    \n Falsche Eingabe\n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n Passwort wird benötigt\n
    \n
    \n
    \n
    \n
    \n
    \n Großbuchstabe\n Kleinbuchstabe\n Ziffer\n 10 Zeichen lang\n Sonderzeichen\n
    \n
    \n
    \n
    \n
    \n \n \n
    \n Passwörter müssen übereinstimmen\n
    \n
    \n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n
    \n AGB Bestätigung wird benötigt\n
    \n
    \n\n
    \n \n \n
    \n Datenschutz Bestätigung wird benötigt\n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n","import { AbstractEntitiesTableComponent } from '@abstracts/entities/entities-table';\nimport { Injector } from '@angular/core';\nimport { Component, Input, ViewChild, OnInit, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { StatusNotificationsDto } from '@dto/statusNotificationDto';\nimport { TableColumn } from '@models/tableColumn';\nimport { TableFilter } from '@models/tableFilter';\nimport { TableOptions } from '@models/tableOptions';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\nimport { StatusNotificationsService } from '@services/entity/statusNotifications.services';\nimport { FormService } from '@services/form/form.service';\nimport { plainToClass } from 'class-transformer';\nimport { DEDatePipe } from 'src/app/pipes/de-date.pipe';\n\n@Component({\n selector: 'app-statusnotifications-table',\n templateUrl: './statusnotifications.component.html',\n styleUrls: ['./statusnotifications.component.scss']\n})\nexport class StatusNotificationsTableComponent extends AbstractEntitiesTableComponent implements OnInit, OnDestroy {\n\n public className = 'StatusNotificationsTableComponent';\n public activeComponentClassName: string = 'StatusNotificationsTableComponent';\n public entities: StatusNotificationsDto[];\n public filter: TableFilter;\n\n public notivicationDisabled: boolean = true;\n\n public tableColumns: TableColumn[] = [\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn1:Name/Bezeichner`, property: 'chargingStationName' },\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn10:ConnectorId`, property: 'connectorId'},\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn2:Status`, property: 'displayStatus', options: { 'isHTML': true } },\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn3:Ladestationzeit`, property: 'timestampFromChargeBox', options: { columnPipe: { pipe: new DEDatePipe() } } },\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn4:Serverzeit`, property: 'timestampFromServer', options: { columnPipe: { pipe: new DEDatePipe() } } },\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn5:Info`, property: 'info'},\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn6:VendorId`, property: 'vendorId'},\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn7:vendorErrorCode`, property: 'vendorErrorCode'},\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn8:ErrorCode`, property: 'errorCode'},\n { columnDescription: $localize`:@@ChargingStationsStatusHistoryTableColumn9:Kunde`, property: 'customerName'},\n ];\n\n public tableOptions: TableOptions = { hideActions: true, rowRouterLink: 'chargingstation/{chargingStationId}' };\n\n @ViewChild('ngbDropdown') notificationMail: NgbDropdown;\n\n\n constructor(\n public chargingStationsService: StatusNotificationsService,\n public formService: FormService,\n injector: Injector) {\n super(chargingStationsService, injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.tableFunctions.sortColumn = 'timestampFromServer';\n this.tableFunctions.sortDirection = 'desc';\n this.createForm();\n }\n\n createForm() {\n this.formService.form = new UntypedFormGroup({\n notificationSend: new UntypedFormControl(),\n mailaddress: new UntypedFormControl(),\n });\n this.formService.form.get('mailaddress').disable();\n this.formService.formCreated = true\n }\n\n notification() {\n this.formService.form.get('notificationSend').value ? this.formService.form.get('mailaddress').enable() : this.formService.form.get('mailaddress').disable();\n }\n\n async initializeEntities() {\n var customerId = this.activatedRoute.parent.snapshot.params.key;\n }\n\n mapStatus() {\n this.entities.forEach(e => {\n switch (e.statusId) {\n case 1:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 2:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 3:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 4:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 5:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 6:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 7:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 8:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 9:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 10:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n case 11:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n default:\n e.displayStatus = \"\" + e.status.name + \"\";\n break;\n }\n })\n }\n\n matches(entity: StatusNotificationsDto, term: string) {\n var datePipe = new DEDatePipe();\n var timestamp_ChargeBox = datePipe.transform(entity.timestampFromChargeBox);\n var timestamp_Server = datePipe.transform(entity.timestampFromServer);\n\n return entity.chargingStationName?.toLocaleLowerCase().includes(term.toLowerCase())\n || entity.status?.name?.toLowerCase().includes(term.toLowerCase())\n || timestamp_ChargeBox?.includes(term.toLowerCase())\n || timestamp_Server?.includes(term.toLowerCase())\n || entity.chargingStationId?.toLowerCase().includes(term.toLowerCase())\n || entity.chargingStationName?.toLowerCase().includes(term.toLowerCase())\n || entity.info?.toLowerCase().includes(term.toLowerCase())\n || entity.vendorId?.toLowerCase().includes(term.toLowerCase())\n || entity.vendorErrorCode?.toLowerCase().includes(term.toLowerCase())\n || entity.errorCode?.toLowerCase().includes(term.toLowerCase())\n || entity.customerName?.toLowerCase().includes(term.toLowerCase())\n }\n\n setFilter(filter: TableFilter) {\n filter.filterDLM = true;\n filter.filterSignal = true;\n this.filter = filter;\n this.updateTable();\n }\n\n async updateTable() {\n this.tableReady = false\n this.chargingStationsService.getAllStatusNotifications(this.filter).subscribe(result => {\n this.entities = plainToClass(StatusNotificationsDto, result)\n this.mapStatus()\n super.setupTable()\n this.tableReady = true\n }, error => {\n this.messageService.setError(error);\n });\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    Statusmeldungen
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n Loading...\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Elemente pro Seite
    \n
    \n \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n
    Springe zu Seite
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { UpdateSubscriptionTypePermissions } from '@dto/updateSubscriptionTypePermissions';\nimport { CustomerPermission } from '@models/customerPermission';\nimport { SubscriptionTypePermission } from '@models/subscriptionTypePermission';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { OperatorsService } from '@services/entity/operators.service';\nimport { SubscriptionsService } from '@services/entity/subscriptions.service';\nimport { FormService } from '@services/form/form.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { plainToClass } from 'class-transformer';\n\n@Component({\n selector: 'app-subscription-types',\n templateUrl: './subscription-types.component.html',\n styleUrls: ['./subscription-types.component.scss']\n})\nexport class SubscriptionTypesComponent extends ComponentBase implements OnInit {\n\n public className = 'SubscriptionTypesComponent';\n\n public basicPermissionMap: Map;\n public standardPermissionMap: Map;\n public premiumPermissionMap: Map;\n\n public formCreated: boolean;\n\n private basicReady: boolean;\n private standardReady: boolean;\n private premiumReady: boolean;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private subscriptionsService: SubscriptionsService ,\n public formService: FormService,\n public toastService: ToastService,\n injector: Injector) {\n super(injector);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.loadPermissions();\n }\n\n loadPermissions() {\n this.basicReady = false;\n this.standardReady = false;\n this.premiumReady = false;\n\n this.subscriptionsService.getSubscriptionTypePermissions(1).subscribe(result => {\n this.setupBasicPermissionMap(result);\n }, error => { });\n\n this.subscriptionsService.getSubscriptionTypePermissions(2).subscribe(result => {\n this.setupStandardPermissionMap(result);\n }, error => { });\n\n this.subscriptionsService.getSubscriptionTypePermissions(3).subscribe(result => {\n this.setupPremiumPermissionMap(result);\n }, error => { });\n }\n\n checkIfAllPermissionsReady() {\n if (this.basicReady && this.standardReady && this.premiumReady) {\n this.createForm();\n }\n }\n\n setupBasicPermissionMap(subscriptionTypePermissions: SubscriptionTypePermission[]) {\n this.basicPermissionMap = new Map();\n\n subscriptionTypePermissions.forEach(subscriptionTypePermission => {\n this.basicPermissionMap.set(subscriptionTypePermission.permission.name, subscriptionTypePermission);\n })\n\n this.basicReady = true;\n this.checkIfAllPermissionsReady();\n }\n\n setupStandardPermissionMap(subscriptionTypePermissions: SubscriptionTypePermission[]) {\n this.standardPermissionMap = new Map();\n\n subscriptionTypePermissions.forEach(subscriptionTypePermission => {\n this.standardPermissionMap.set(subscriptionTypePermission.permission.name, subscriptionTypePermission);\n })\n\n this.standardReady = true;\n this.checkIfAllPermissionsReady();\n }\n\n setupPremiumPermissionMap(subscriptionTypePermissions: SubscriptionTypePermission[]) {\n this.premiumPermissionMap = new Map();\n\n subscriptionTypePermissions.forEach(subscriptionTypePermission => {\n this.premiumPermissionMap.set(subscriptionTypePermission.permission.name, subscriptionTypePermission);\n })\n\n this.premiumReady = true;\n this.checkIfAllPermissionsReady();\n }\n\n createForm() {\n var basicGroup = new UntypedFormGroup({\n navDashboard: new UntypedFormControl(this.basicPermissionMap.get(\"navDashboard\").value),\n navChargingstations: new UntypedFormControl(this.basicPermissionMap.get(\"navChargingstations\").value),\n navEvaluation: new UntypedFormControl(this.basicPermissionMap.get(\"navEvaluation\").value),\n navManage: new UntypedFormControl(this.basicPermissionMap.get(\"navManage\").value),\n dashboardChargingstations: new UntypedFormControl(this.basicPermissionMap.get(\"dashboardChargingstations\").value),\n dashboardPowerchart: new UntypedFormControl(this.basicPermissionMap.get(\"dashboardPowerchart\").value),\n dashboardLatestTransactions: new UntypedFormControl(this.basicPermissionMap.get(\"dashboardLatestTransactions\").value),\n dashboardProfile: new UntypedFormControl(this.basicPermissionMap.get(\"dashboardProfile\").value),\n dashboardCo2: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardCo2\").value),\n dashboardPowerchartDay: new UntypedFormControl(this.basicPermissionMap.get(\"dashboardPowerchartDay\").value),\n dashboardPowerchartMonth: new UntypedFormControl(this.basicPermissionMap.get(\"dashboardPowerchartMonth\").value),\n dashboardPowerchartYear: new UntypedFormControl(this.basicPermissionMap.get(\"dashboardPowerchartYear\").value),\n chargingstationsGroups: new UntypedFormControl(this.basicPermissionMap.get(\"chargingstationsGroups\").value),\n chargingstationsCreate: new UntypedFormControl(this.basicPermissionMap.get(\"chargingstationsCreate\").value),\n chargingstationDetailsAuth: new UntypedFormControl(this.basicPermissionMap.get(\"chargingstationDetailsAuth\").value),\n chargingstationDetailsTransactions: new UntypedFormControl(this.basicPermissionMap.get(\"chargingstationDetailsTransactions\").value),\n chargingstationFreecharge: new UntypedFormControl(this.basicPermissionMap.get(\"chargingstationFreecharge\").value),\n chargingstationRemoteStart: new UntypedFormControl(this.basicPermissionMap.get(\"chargingstationRemoteStart\").value),\n chargingstationGroupsCreate: new UntypedFormControl(this.basicPermissionMap.get(\"chargingstationGroupsCreate\").value),\n evaluationTransactions: new UntypedFormControl(this.basicPermissionMap.get(\"evaluationTransactions\").value),\n evaluationDeliveryNotes: new UntypedFormControl(this.basicPermissionMap.get(\"evaluationDeliveryNotes\").value),\n createDeliveryNotes: new UntypedFormControl(this.basicPermissionMap.get(\"createDeliveryNotes\").value),\n chargingStatisticsWeek: new UntypedFormControl(this.basicPermissionMap.get(\"chargingStatisticsWeek\").value),\n chargingStatisticsMonth: new UntypedFormControl(this.basicPermissionMap.get(\"chargingStatisticsMonth\").value),\n chargingStatisticsYear: new UntypedFormControl(this.basicPermissionMap.get(\"chargingStatisticsYear\").value),\n chargingStatisticsCustom: new UntypedFormControl(this.basicPermissionMap.get(\"chargingStatisticsCustom\").value),\n chargingStatisticsFilter: new UntypedFormControl(this.basicPermissionMap.get(\"chargingStatisticsFilter\").value),\n chargingStatisticsCheckbox: new UntypedFormControl(this.basicPermissionMap.get(\"chargingStatisticsCheckbox\").value),\n chargingStatisticsDateFilter: new UntypedFormControl(this.basicPermissionMap.get(\"chargingStatisticsDateFilter\").value),\n evaluationDeliveryNotesSend: new UntypedFormControl(this.basicPermissionMap.get(\"evaluationDeliveryNotesSend\").value),\n manageUsersCreate: new UntypedFormControl(this.basicPermissionMap.get(\"manageUsersCreate\").value),\n manageUsersCreateCount: new UntypedFormControl(this.basicPermissionMap.get(\"manageUsersCreateCount\").value),\n manageRfidScan: new UntypedFormControl(this.basicPermissionMap.get(\"manageRfidScan\").value)\n });\n\n var standardGroup = new UntypedFormGroup({\n navDashboard: new UntypedFormControl(this.standardPermissionMap.get(\"navDashboard\").value),\n navChargingstations: new UntypedFormControl(this.standardPermissionMap.get(\"navChargingstations\").value),\n navEvaluation: new UntypedFormControl(this.standardPermissionMap.get(\"navEvaluation\").value),\n navManage: new UntypedFormControl(this.standardPermissionMap.get(\"navManage\").value),\n dashboardChargingstations: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardChargingstations\").value),\n dashboardPowerchart: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardPowerchart\").value),\n dashboardLatestTransactions: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardLatestTransactions\").value),\n dashboardProfile: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardProfile\").value),\n dashboardCo2: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardCo2\").value),\n dashboardPowerchartDay: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardPowerchartDay\").value),\n dashboardPowerchartMonth: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardPowerchartMonth\").value),\n dashboardPowerchartYear: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardPowerchartYear\").value),\n chargingstationsGroups: new UntypedFormControl(this.standardPermissionMap.get(\"chargingstationsGroups\").value),\n chargingstationsCreate: new UntypedFormControl(this.standardPermissionMap.get(\"chargingstationsCreate\").value),\n chargingstationDetailsAuth: new UntypedFormControl(this.standardPermissionMap.get(\"chargingstationDetailsAuth\").value),\n chargingstationDetailsTransactions: new UntypedFormControl(this.standardPermissionMap.get(\"chargingstationDetailsTransactions\").value),\n chargingstationFreecharge: new UntypedFormControl(this.standardPermissionMap.get(\"chargingstationFreecharge\").value),\n chargingstationRemoteStart: new UntypedFormControl(this.standardPermissionMap.get(\"chargingstationRemoteStart\").value),\n chargingstationGroupsCreate: new UntypedFormControl(this.standardPermissionMap.get(\"chargingstationGroupsCreate\").value),\n evaluationTransactions: new UntypedFormControl(this.standardPermissionMap.get(\"evaluationTransactions\").value),\n evaluationDeliveryNotes: new UntypedFormControl(this.standardPermissionMap.get(\"evaluationDeliveryNotes\").value),\n createDeliveryNotes: new UntypedFormControl(this.standardPermissionMap.get(\"createDeliveryNotes\").value),\n chargingStatisticsWeek: new UntypedFormControl(this.standardPermissionMap.get(\"chargingStatisticsWeek\").value),\n chargingStatisticsMonth: new UntypedFormControl(this.standardPermissionMap.get(\"chargingStatisticsMonth\").value),\n chargingStatisticsYear: new UntypedFormControl(this.standardPermissionMap.get(\"chargingStatisticsYear\").value),\n chargingStatisticsCustom: new UntypedFormControl(this.standardPermissionMap.get(\"chargingStatisticsCustom\").value),\n chargingStatisticsFilter: new UntypedFormControl(this.standardPermissionMap.get(\"chargingStatisticsFilter\").value),\n chargingStatisticsCheckbox: new UntypedFormControl(this.standardPermissionMap.get(\"chargingStatisticsCheckbox\").value),\n chargingStatisticsDateFilter: new UntypedFormControl(this.standardPermissionMap.get(\"chargingStatisticsDateFilter\").value),\n evaluationDeliveryNotesSend: new UntypedFormControl(this.standardPermissionMap.get(\"evaluationDeliveryNotesSend\").value),\n manageUsersCreate: new UntypedFormControl(this.standardPermissionMap.get(\"manageUsersCreate\").value),\n manageUsersCreateCount: new UntypedFormControl(this.standardPermissionMap.get(\"manageUsersCreateCount\").value),\n manageRfidScan: new UntypedFormControl(this.standardPermissionMap.get(\"manageRfidScan\").value)\n });\n\n var premiumGroup = new UntypedFormGroup({\n navDashboard: new UntypedFormControl(this.premiumPermissionMap.get(\"navDashboard\").value),\n navChargingstations: new UntypedFormControl(this.premiumPermissionMap.get(\"navChargingstations\").value),\n navEvaluation: new UntypedFormControl(this.premiumPermissionMap.get(\"navEvaluation\").value),\n navManage: new UntypedFormControl(this.premiumPermissionMap.get(\"navManage\").value),\n dashboardChargingstations: new UntypedFormControl(this.premiumPermissionMap.get(\"dashboardChargingstations\").value),\n dashboardPowerchart: new UntypedFormControl(this.premiumPermissionMap.get(\"dashboardPowerchart\").value),\n dashboardLatestTransactions: new UntypedFormControl(this.premiumPermissionMap.get(\"dashboardLatestTransactions\").value),\n dashboardProfile: new UntypedFormControl(this.premiumPermissionMap.get(\"dashboardProfile\").value),\n dashboardCo2: new UntypedFormControl(this.standardPermissionMap.get(\"dashboardCo2\").value),\n dashboardPowerchartDay: new UntypedFormControl(this.premiumPermissionMap.get(\"dashboardPowerchartDay\").value),\n dashboardPowerchartMonth: new UntypedFormControl(this.premiumPermissionMap.get(\"dashboardPowerchartMonth\").value),\n dashboardPowerchartYear: new UntypedFormControl(this.premiumPermissionMap.get(\"dashboardPowerchartYear\").value),\n chargingstationsGroups: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingstationsGroups\").value),\n chargingstationsCreate: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingstationsCreate\").value),\n chargingstationDetailsAuth: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingstationDetailsAuth\").value),\n chargingstationDetailsTransactions: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingstationDetailsTransactions\").value),\n chargingstationFreecharge: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingstationFreecharge\").value),\n chargingstationRemoteStart: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingstationRemoteStart\").value),\n chargingstationGroupsCreate: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingstationGroupsCreate\").value),\n evaluationTransactions: new UntypedFormControl(this.premiumPermissionMap.get(\"evaluationTransactions\").value),\n evaluationDeliveryNotes: new UntypedFormControl(this.premiumPermissionMap.get(\"evaluationDeliveryNotes\").value),\n createDeliveryNotes: new UntypedFormControl(this.premiumPermissionMap.get(\"createDeliveryNotes\").value),\n chargingStatisticsWeek: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingStatisticsWeek\").value),\n chargingStatisticsMonth: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingStatisticsMonth\").value),\n chargingStatisticsYear: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingStatisticsYear\").value),\n chargingStatisticsCustom: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingStatisticsCustom\").value),\n chargingStatisticsFilter: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingStatisticsFilter\").value),\n chargingStatisticsCheckbox: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingStatisticsCheckbox\").value),\n chargingStatisticsDateFilter: new UntypedFormControl(this.premiumPermissionMap.get(\"chargingStatisticsDateFilter\").value),\n evaluationDeliveryNotesSend: new UntypedFormControl(this.premiumPermissionMap.get(\"evaluationDeliveryNotesSend\").value),\n manageUsersCreate: new UntypedFormControl(this.premiumPermissionMap.get(\"manageUsersCreate\").value),\n manageUsersCreateCount: new UntypedFormControl(this.premiumPermissionMap.get(\"manageUsersCreateCount\").value),\n manageRfidScan: new UntypedFormControl(this.premiumPermissionMap.get(\"manageRfidScan\").value)\n });\n\n this.formService.form = new UntypedFormGroup({\n basic: basicGroup,\n standard: standardGroup,\n premium: premiumGroup\n });\n\n this.formService.formMap = new Map();\n this.formService.formMap.set(\"basic\", basicGroup);\n this.formService.formMap.set(\"standard\", standardGroup);\n this.formService.formMap.set(\"premium\", premiumGroup);\n this.formCreated = true;\n }\n\n onSubmit(formValue) {\n for (var [key, value] of Object.entries(formValue.basic)) {\n var numberValue;\n\n if (typeof value == \"boolean\") {\n numberValue = Number(value);\n }\n else {\n numberValue = value;\n }\n\n var subscriptionTypePermission = this.basicPermissionMap.get(key);\n subscriptionTypePermission.value = numberValue;\n\n this.basicPermissionMap.set(key, subscriptionTypePermission);\n }\n\n for (var [key, value] of Object.entries(formValue.standard)) {\n var numberValue;\n\n if (typeof value == \"boolean\") {\n numberValue = Number(value);\n }\n else {\n numberValue = value;\n }\n\n var subscriptionTypePermission = this.standardPermissionMap.get(key);\n subscriptionTypePermission.value = numberValue;\n\n this.standardPermissionMap.set(key, subscriptionTypePermission);\n }\n\n for (var [key, value] of Object.entries(formValue.premium)) {\n var numberValue;\n\n if (typeof value == \"boolean\") {\n numberValue = Number(value);\n }\n else {\n numberValue = value;\n }\n\n var subscriptionTypePermission = this.premiumPermissionMap.get(key);\n subscriptionTypePermission.value = numberValue;\n\n this.premiumPermissionMap.set(key, subscriptionTypePermission);\n }\n\n var basicTypePermissions = Array.from(this.basicPermissionMap.values());\n var standardTypePermissions = Array.from(this.standardPermissionMap.values());\n var premiumTypePermissions = Array.from(this.premiumPermissionMap.values());\n\n const body: UpdateSubscriptionTypePermissions = {\n basic: basicTypePermissions,\n standard: standardTypePermissions,\n premium: premiumTypePermissions\n }\n\n this.subscriptionsService.updateAllSubscriptionTypePermissions(body).subscribe(result => {\n this.toastService.success('Änderungen wurden erfolgreich gepeichert.');\n this.loadPermissions();\n }, error => {\n this.toastService.error(error);\n })\n }\n}\n","\n \n
    \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n
    BasicStandardPremium
    Features Navigation
    \n Navi - Dashboard\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Navi - Ladestationen\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Navi - Auswertung\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Navi - Verwaltung\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    Features Dashboard
    \n Widget Ladestationen\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Widget Verbrauch\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Widget Neuste Ladevorgänge\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Widget Profil\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Widget CO2 Ersparnis\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Verbrauch Dropdown - Tag Ansicht\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Verbrauch Dropdown - Monat Ansicht\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Verbrauch Dropdown - Jahr Ansicht\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    Features Ladestationen
    \n Reiter Ladestationsgruppen\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Ladestationen hinzufügen\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n Detailansicht - Reiter Autorisierung\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Detailansicht - Reiter Ladeprotokoll\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n FreeCharge Mode\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Ladevorgang freigeben\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Gruppen hinzufügen\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    Features Auswertung
    \n Reiter Ladevorgänge\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Reiter Lieferscheine\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Ladestatistik - Wochen Ansicht\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Ladestatistik - Monat Ansicht\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Ladestatistik - Jahr Ansicht\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Ladestatistik - Zeitraum wählbar\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Ladestatistik - Filter (Dropdownfelder)\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Ladestatistik - Checkboxen\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Ladestatistik - Datumsfilter (Auswahl des Zeitraumes)\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Lieferscheine - Versandt Option\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    Features Verwaltung
    \n Benutzer - Benutzer hinzufügen\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Benutzer - Anzahl Benutzer\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n RFID-Karten anlernen\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n Individuelle Lieferscheine erstellen\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n\n\n
    \n
    \n
    \n
    Abonnement - Featurezuweisung
    \n
    \n\n
    \n \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-forbidden',\n templateUrl: './forbidden.component.html',\n styleUrls: ['./forbidden.component.scss']\n})\nexport class ForbiddenComponent implements OnInit {\n\n public whitelabel: string\n public whitelabelURL: string = 'https://cubosgeneralstorage.blob.core.windows.net/whitelabel-storage/'\n\n private _returnUrl: string;\n\n currentYearLong(): number {\n return new Date().getFullYear();\n }\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit(): void {\n this._returnUrl = this.activatedRoute.snapshot.queryParams['returnUrl'] || '/';\n }\n\n ngAfterViewInit() {\n this.whitelabel = localStorage.getItem('whitelabel')\n }\n\n\n public navigateToLogin() {\n this.router.navigate(['/auth/login']);\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n \"\" \n
    \n

    Keine Rechte für diese Seite

    \n

    \n Sie haben keine Rechte diese Seite aufzurufen. Bitte melden Sie sich mit einem anderen Benutzer an.\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    © {{currentYearLong()}} CUBOS Service GmbH

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n","

    Willkommen

    \n\n

    Rolle ist Admin

    \n\n
    \n Rolle ist Benutzer\n
    \n\n

    Rolle ist Kunde

    \n","import { Component } from '@angular/core';\nimport { UpdateUserRequest } from '@dto/updateUserRequest';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { DtoService } from '@services/dto/dto.service';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n})\nexport class HomeComponent {\n\n constructor(private dtoService: DtoService, private authenticationService: AuthenticationService) { }\n}\n","import { Component, Injector, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastService } from '@services/toast/toast.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport Swal from 'sweetalert2';\nimport { ComponentBase } from '../../../abstracts/component-base';\nimport { SupportMessage } from '../../../dto/supportMesagge';\nimport { User } from '../../../models/identity/user';\nimport { UsersService } from '../../../services/entity/users.service';\nimport { FormService } from '../../../services/form/form.service';\nimport { DatasecurityComponent } from '../../authentication/datasecurity/datasecurity.component';\n\n@Component({\n selector: 'app-support',\n templateUrl: './support.component.html',\n styleUrls: ['./support.component.scss']\n})\nexport class SupportComponent extends ComponentBase implements OnInit {\n\n public className = 'SupportComponent';\n public user: User;\n public formCreated: boolean;\n\n constructor(\n public formService: FormService,\n private spinner: NgxSpinnerService,\n private usersService: UsersService,\n private dialog: NgbModal,\n private toastService: ToastService,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n private createForm() {\n this.formService.validators = {\n subject: [Validators.required],\n message: [Validators.required],\n contactMe: [],\n }\n\n this.formService.form = new UntypedFormGroup({\n subject: new UntypedFormControl('', this.formService.validators['subject']),\n message: new UntypedFormControl('', this.formService.validators['message']),\n contactMe: new UntypedFormControl(false, this.formService.validators['contactMe']),\n });\n \n this.formService.formMap = new Map();\n this.formCreated = true;\n }\n \n openDSDialog() {\n const dialogRef = this.dialog.open(DatasecurityComponent, { centered: true, size: 'lg', backdrop: 'static' });\n\n dialogRef.result.then((result) => {\n this.ngOnInit();\n }, (backdrop) => {\n\n });\n }\n\n openSuccessDialog() {\n Swal.fire({\n title: $localize`:@@ChangeDialogSendedSuccessHeader:Ihre Anfrage wurde versendet!`,\n text: $localize`:@@ChangeDialogSendedSuccessText:Vielen Dank.`,\n icon: 'success',\n confirmButtonText: $localize`:@@DialogOkButton:OK`,\n confirmButtonColor: 'green'\n }).then((result) => {\n this.ngOnInit();\n });\n }\n\n public sendMessageToSupport(supportMessageFormValue) {\n this.spinner.show();\n\n const formValues = { ...supportMessageFormValue };\n\n const supportMessage: SupportMessage = {\n subject: formValues.subject,\n message: formValues.message,\n contactMe: true\n };\n\n this.usersService.sendMessageToSupport(supportMessage).subscribe(result => {\n this.createForm();\n this.toastService.success($localize`:@@ChangeDialogSendedSuccessHeader:Ihre Anfrage wurde versendet!`);\n this.spinner.hide();\n },\n error => { \n this.spinner.hide();\n })\n }\n}\n","
    \n
    \n

    Wie können wir Ihnen helfen?

    \n\n
    \n
    \n Kontaktieren Sie uns\n
    \n
    \n Wenn Sie Fragen haben, zum Beispiel zur Funktionalität der Software, wenden Sie sich gerne von\n Montag bis Freitag zwischen 9 und 17 Uhr\n an unser Support Team oder nutzen Sie das Kontaktformular.\n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n \n Betreff wird benötigt\n \n
    \n
    \n
    \n
    \n \n \n
    \n \n Nachricht wird benötigt\n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ComponentBase } from '@abstracts/component-base';\nimport { Component, Injector, Input, OnInit } from '@angular/core';\nimport { CheckoutDto } from '@dto/checkoutDto';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { PaymentsService } from '@services/payments/payments.service';\nimport { ViewportScroller } from '@angular/common';\n\n@Component({\n selector: 'app-upgrade',\n templateUrl: './upgrade.component.html',\n styleUrls: ['./upgrade.component.scss']\n})\nexport class UpgradeComponent extends ComponentBase implements OnInit {\n\n public className = 'UpgradeComponent';\n\n public price: string = '36,00';\n @Input() numberOfChargingStations: number = 2;\n @Input() numberOfUsers: number = 2;\n @Input() numberOfCards: number = 2;\n \n public features = [\n {\n name: 'Verwaltung',\n description: 'Über Verwaltungsfunktionen können Sie Benutzer anlegen, Ladestationen zuweisen und RFID-Karten autorisieren.',\n abonnements: 'standard, premium, enterprise'\n },\n {\n name: 'Suchen und Filtern',\n description: 'Filtern Sie für einen besseren Überblick die Anzeige der Ladestatistik nach Tag, Monat oder Jahr.',\n abonnements: 'standard, premium, enterprise'\n },\n {\n name: 'Grafische Auswertung',\n description: 'Möglichkeit einer detaillierten Auswertung des Ladegeschehens nach Benutzern, Ladestationen, Gruppen und individuellen Filterangaben.',\n abonnements: 'standard, premium, enterprise'\n },\n {\n name: 'FreeCharge-Modus',\n description: 'Die Möglichkeit, eine Ladestation für alle auch ohne RFID-Karte permanent zugänglich zu machen.',\n abonnements: 'standard, premium, enterprise'\n },\n {\n name: 'Fernsteuern',\n description: 'Die Möglichkeit, den Ladevorgang für nicht autorisierte Benutzer dennoch zu gestatten.',\n abonnements: 'premium, enterprise'\n },\n {\n name: 'Rechnungen und Lieferscheine',\n description: 'Die Möglichkeit, individuelle Verbräuche von Benutzern, Ladestationen und Gruppen als PDF zu exportieren und so zum Beispiel für Abrechnungen zu dokumentieren.',\n abonnements: 'premium, enterprise'\n },\n {\n name: 'Gruppieren',\n description: 'Gruppieren Sie Benutzer und Ladestationen nach Ihren Bedürfnissen.',\n abonnements: 'enterprise'\n },\n {\n name: 'Ladestationen',\n description: 'Anzahl der verwaltenbaren Ladestationen.',\n abonnements: 'standard, premium, enterprise',\n standard: '1',\n premium: '2',\n enterprise: 'ab 3'\n },\n {\n name: 'RFID-Karten',\n description: 'Anzahl der anzulernenen RFID-Karten.',\n abonnements: 'standard, premium, enterprise',\n standard: '2',\n premium: '4',\n enterprise: 'ab 5'\n },\n {\n name: 'Benutzer',\n description: 'Anzahl der anzulegenden Benutzer.',\n abonnements: 'standard, premium, enterprise',\n standard: '2',\n premium: '4',\n enterprise: 'ab 5'\n },\n ]\n\n constructor(\n private paymentsService: PaymentsService,\n private dialog: NgbModal,\n private viewportScroller: ViewportScroller,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n \n }\n\n subscribeTo(product) {\n const checkout = new CheckoutDto()\n checkout.priceId = product\n checkout.userId = localStorage.getItem('userId')\n\n this.paymentsService.createCheckoutSessionForCUBOSConnect(checkout).subscribe(result => {\n window.location.href = result.checkoutUrl;\n }, error => {console.error(error)});\n }\n \n scrollToAnchor(anchor) {\n this.viewportScroller.scrollToAnchor(anchor);\n }\n\n updateNumberOfChargingStations(value) {\n this.numberOfChargingStations = value\n this.updatePrice()\n }\n updateNumberOfUsers(value) {\n this.numberOfUsers = value\n this.updatePrice()\n }\n updateNumberOfCards(value) {\n this.numberOfCards = value\n this.updatePrice()\n }\n\n updatePrice() {\n this.price = Math.abs(\n (3600 \n + (this.numberOfChargingStations > 2 ? (this.numberOfChargingStations - 2) * 73 : 0)\n + (this.numberOfUsers > 2 ? (this.numberOfUsers - 2) * 32 : 0)\n + (this.numberOfCards > 2 ? (this.numberOfCards - 2) * 21 : 0)\n ) / 100).toFixed(2).toString()\n }\n \n}\n","\n\n
    \n
    \n

    \n Wir haben genau das Richtige für Sie\n

    \n \n

    \n Egal ob Privathaushalt oder Unternehmen, das Lademanagement sollte ganz einfach sein. Deshalb haben wir nicht nur eine Ladestation entwickelt, sondern auch die passende Software dazu.\n \n

    \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n
    StandardPremiumEnterprise
    \n 12 €
    pro Jahr und inkl. MwSt.\n
    \n 36 €
    pro Jahr und inkl. MwSt.\n
    \n  
    basierend auf Ihrer Nutzung\n \n
    \n \n \n \n {{ feature.standard }}\n \n \n \n \n {{ feature.premium }}\n \n \n \n \n {{ feature.enterprise }}\n {{ feature.name }}{{ feature.description }}
    \n \n Kaufen\n \n \n Kaufen\n \n Anfragen\n \n
    \n
    \n \n
    \n

    \n Sie haben Fragen oder möchten Kontakt aufnehmen? Wir freuen uns auf Sie.\n

    \n Kontakt aufnehmen\n
    \n\n \n
    \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n \n \n\n\n\n \n \n \n \n\n\n\n \n \n \n \n \n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-payment-canceled',\n templateUrl: './payment-canceled.component.html',\n styleUrls: ['./payment-canceled.component.scss']\n})\nexport class PaymentCanceledComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n

    Bzzzt Krrt

    \n

    Huch, etwas ist schiefgelaufen. Aber das ist nicht schlimm.

    \n \n

    \n Zum Dashboard\n

    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { PaymentsService } from '@services/payments/payments.service';\n\n@Component({\n selector: 'app-payment-success',\n templateUrl: './payment-success.component.html',\n styleUrls: ['./payment-success.component.scss']\n})\nexport class PaymentSuccessComponent implements OnInit {\n\n constructor(private paymentsService: PaymentsService, private authenticationService: AuthenticationService, private route: ActivatedRoute) { }\n\n ngOnInit(): void {\n const sessionid = this.route.snapshot.queryParams['session_id'];\n\n this.paymentsService.onSuccess(sessionid).subscribe(result => {\n this.authenticationService.sendAuthStateChangeNotification(true);\n })\n }\n\n}\n","
    \n

    Das Upgrade war erfolgreich und eine ausgezeichnete Wahl

    \n

    Mit diesen Funktionen wird das Lademanagement für Sie zu einem Vergnügen

    \n \n
      \n
    • \n

      Sehen Sie alle Informationen zu allen Ladevorgängen

      \n

      \n Jeder Ladevorgang wird aufgezeichnet damit Sie sehen können, wer, wann und wie viel geladen hat.\n Zu den Ladevorgängen\n

      \n
    • \n
    • \n

      Starten Sie Ladevorgänge mit Ihrem Smartphone

      \n

      \n Es braucht nicht noch eine Karte. Starten Sie den Ladevorgang ganz einfach mit Ihrem Smartphone — ohne App.\n Zu den Ladestationen\n

      \n
    • \n
    • \n

      Planen Sie Ihre Ladevorgänge für Ihren Nachtstromtarif

      \n

      \n Laden Sie Ihr Fahrzeug, wenn es am günstigsten für Sie ist und zwar völlig automatisch mit Ihren eigenen Ladeplänen.\n Zu den Ladeplänen\n

      \n
    • \n
    \n\n

    Und da ist noch so viel mehr

    \n\n
      \n
    • Autorisieren Sie ausgewählte Benutzer an ausgewählten Ladestationen
    • \n
    • Gruppieren Sie Benutzer und Ladestationen nach Ihren Bedürfnissen
    • \n
    • Durchsuchen, filtern und sortieren Sie Ladevorgänge, Ladestationen und Benutzer
    • \n
    • Bieten Sie kostenloses Laden über ausgewählte Ladestationen an mit dem FreeCharge-Modus
    • \n
    • Analysieren Sie Ihre gesamten Daten, die wir grafisch für Sie aufbereitet haben
    • \n
    • Automatisieren Sie die Erzeugung von Lieferscheinen für Ihre Benutzer
    • \n
    • Verwenden Sie beliebig viele Karten zum Laden an Ihren Ladestationen
    • \n
    • Fernsteuern Sie Ihre Ladestationen jederzeit und von überall
    • \n
    \n\n

    Bereit?
    Legen Sie Ihre erste Ladestation an

    \n\n

    \n Los geht's!\n

    \n
    \n","import { ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MasterUserOfCustomer } from '@dto/masterUserOfCustomer';\nimport { TransactionDeliveryNoteDto } from '@dto/transactionDeliveryNoteDto';\nimport { DeliveryNoteTemplateType } from '@enums/deliveryNoteTemplateType.enum';\nimport { DeliveryNote } from '@models/deliveryNote';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FilesService } from '@services/files/files.service';\nimport { UsersService } from '@services/entity/users.service';\nimport html2canvas from 'html2canvas';\nimport jsPDF from 'jspdf';\nimport { CustomersService } from '../../../services/entity/customers.service';\nimport { UserProfile } from '../../../dto/userProfile';\nimport { UserDto } from '../../../dto/userDto';\nimport { plainToClass } from 'class-transformer';\n\n@Component({\n selector: 'app-delivery-note-template',\n templateUrl: './delivery-note-template.component.html',\n styleUrls: ['./delivery-note-template.component.scss']\n})\nexport class DeliveryNoteTemplateComponent implements OnInit {\n\n public type: number;\n public deliveryNote: DeliveryNote;\n public deliveryUser: UserDto;\n public transactions: TransactionDeliveryNoteDto[];\n public currentPage = 1;\n public transactionsOfPage: Map;\n public pdfPageImages: Map;\n\n public masterUserOfCustomer: UserProfile;\n public loading: boolean = true;\n\n private TRANSACTIONS_PER_PAGE = 14;\n public pageCount: number;\n\n private canvasHeight: number;\n private canvasWidth: number;\n\n public kwhAmount;\n public priceTag;\n public createdAt;\n public headerPicture;\n public footerPicture;\n public isCustomDelivery: boolean;\n public profile: UserProfile;\n\n @ViewChild('pdfTable') pdfTable: ElementRef;\n\n constructor(\n private cdref: ChangeDetectorRef,\n public activeModal: NgbActiveModal,\n private filesService: FilesService,\n private customersService: CustomersService,\n private usersService: UsersService,\n private sanitizer: DomSanitizer,\n ) { }\n\n ngOnInit(): void {\n this.getSettings();\n this.loadPictures();\n this.loading = true;\n this.calculateData();\n }\n\n getSettings() {\n this.usersService.getUserProfile().subscribe(result => {\n this.profile = result;\n this.isCustomDelivery = this.profile.settings?.customDeliveryNotes;\n }, error => {});\n\n }\n\n //ngAfterViewInit() {\n // this.createCanvasData(this.currentPage);\n //}\n\n loadPictures() {\n this.filesService.getPicture(\"email/image/lieferschein_kopf.jpg\", true).subscribe(result => {\n var unsafeImageUrl = URL.createObjectURL(result);\n this.headerPicture = this.sanitizer.bypassSecurityTrustUrl(unsafeImageUrl);\n\n if (this.headerPicture && this.footerPicture) {\n this.cdref.detectChanges();\n this.createCanvasData(this.currentPage);\n }\n }, error => {\n console.error(error);\n \n })\n\n this.filesService.getPicture(\"email/image/cubos_logo_schwarz.png\", true).subscribe(result => {\n var unsafeImageUrl = URL.createObjectURL(result);\n this.footerPicture = this.sanitizer.bypassSecurityTrustUrl(unsafeImageUrl);\n\n if (this.headerPicture && this.footerPicture) {\n this.cdref.detectChanges();\n this.createCanvasData(this.currentPage);\n }\n }, error => {\n console.error(error);\n })\n }\n\n calculateData() {\n this.pageCount = Math.ceil(this.transactions.length / this.TRANSACTIONS_PER_PAGE);\n\n this.transactionsOfPage = new Map();\n this.pdfPageImages = new Map();\n\n var page = 1;\n var counter = 0;\n var transactionsOfPage = [];\n var amount = 0;\n var price = 0;\n\n this.transactions.forEach(transaction => {\n amount += Number(transaction.meterAmount);\n });\n\n this.kwhAmount = amount;\n this.priceTag = `${(amount * price).toFixed(2).toLocaleString()} €`;\n this.createdAt = new Date();\n\n this.transactions.forEach(transaction => {\n transactionsOfPage.push(transaction);\n counter++;\n\n if (counter >= this.TRANSACTIONS_PER_PAGE) {\n this.transactionsOfPage.set(page, transactionsOfPage);\n page++;\n counter = 0;\n transactionsOfPage = [];\n }\n })\n\n this.transactionsOfPage.set(page, transactionsOfPage);\n }\n\n createPdf(canvasHeight: number, canvasWidth: number) {\n var pdf = new jsPDF('p', 'mm', 'a4', true);\n\n var fileWidth = pdf.internal.pageSize.getWidth();\n var fileHeight = pdf.internal.pageSize.getHeight();\n var heightLeft = fileHeight;\n\n var position = 0;\n pdf.addImage(this.pdfPageImages.get(1), 'PNG', 0, position, fileWidth, fileHeight);\n\n if (this.pageCount > 1) {\n for (var i = 2; i <= this.pageCount; i++) {\n position += heightLeft - fileHeight;\n pdf.addPage();\n pdf.addImage(this.pdfPageImages.get(i), 'PNG', 0, position, fileWidth, fileHeight);\n }\n }\n\n this.loading = false;\n\n if (this.type == DeliveryNoteTemplateType.Download) {\n // pdf.save(this.deliveryNote.deliveryNoteNumber + '_' + this.profile.firstName + '_' + this.profile.lastName + '.pdf');\n pdf.save(this.deliveryNote.deliveryNoteNumber + '.pdf');\n this.activeModal.close();\n } else if (this.type == DeliveryNoteTemplateType.Email) {\n var blobPDF = new Blob([pdf.output('blob')], { type: 'application/pdf' });\n this.activeModal.close({ pdf: blobPDF });\n }\n }\n\n createCanvasData(page: number) {\n if (page > this.pageCount) {\n this.createPdf(this.canvasHeight, this.canvasWidth);\n return;\n }\n\n if (this.isCustomDelivery) {\n var data = document.getElementById('pdfTableCustom');\n } else {\n var data = document.getElementById('pdfTable');\n }\n\n html2canvas(data, { scale: 2 }).then(canvas => {\n this.canvasHeight = canvas.height;\n this.canvasWidth = canvas.width;\n\n this.pdfPageImages.set(page, canvas.toDataURL('image/png'));\n\n this.currentPage++;\n this.cdref.detectChanges();\n\n this.createCanvasData(this.currentPage);\n });\n }\n}\n","\n\n \n\n\n\n
    \n
    \n \n \n \n \n \n \n \n
    \n \"Lieferschein\n
     
    \n \n \n \n \n \n\n \n
    \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
     
     
    {{ deliveryNote.user?.firstName }} {{ deliveryNote.user?.lastName }}
    {{ deliveryNote.user.address?.street }} {{ deliveryNote.user.address?.houseNumber }}
    {{ deliveryNote.user.address?.postalCode }} {{ deliveryNote.user.address?.city }}
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

    LIEFERSCHEIN

    Lieferschein-Nr:{{ deliveryNote?.deliveryNoteNumber }}
    Erstellt am:{{ createdAt | date }}
    Seiten:{{ pageCount }}
    \n
    \n
    \n\n
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Startdatum der LadungZählerstand AnfangZählerstand Endegelieferte kWhLadestationLadepunkt
    {{ transaction.startTimestamp | date: 'short':'+0000' }}{{ transaction.meterStart | kwh }}{{ transaction.meterStop | kwh }}{{ transaction.meterAmount | kwh }}{{ transaction.chargingStationName }}{{ transaction.connectorId }}
    \n
    \n\n
    \n
    \n\n \n \n \n \n \n \n \n
    \n Gesamtmenge der aufgelisteten Ladevorgänge kWh: {{ kwhAmount | kwh }} | Lieferzeitraum von {{ deliveryNote.deliveryPeriodStart | date: 'shortDate'}} bis {{ deliveryNote.deliveryPeriodEnd | date: 'shortDate'}}\n Seite: {{currentPage }} von {{ pageCount }}
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n
    \"\"\n
    \n \n CUBOS Service GmbH
    \n Brandgehaege 16 · 38444 Wolfsburg
    \n Geschäftsführung:
    \n Dipl.-Oec. Marc Wille\n
    \n
    \n
    \n
    \n \n Tel. 05308 521122-55
    \n Fax 05308 521122-01
    \n E-Mail info@cubos.com
    \n www.cubos.com\n
    \n
    \n
    \n
    \n \n Ust-Identifikation
    \n DE 317053026
    \n Handelsregister BS
    \n HRB 207 126\n
    \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n
    \n \n \n \n \n \n\n \n
    \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
     
     
    {{ deliveryNote.user?.firstName }} {{ deliveryNote.user?.lastName }}
    {{ deliveryNote.user?.address?.street }} {{ deliveryNote.user?.address?.houseNumber }}
    {{ deliveryNote.user?.address?.postcode }} {{ deliveryNote.user?.address?.city }}
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
     

    LIEFERSCHEIN

    Lieferschein-Nr:{{ deliveryNote?.deliveryNoteNumber }}
    Erstellt am:{{ createdAt | date }}
    Seiten:{{ pageCount }}
    \n
    \n
    \n\n
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Startdatum der LadungZählerstand AnfangZählerstand Endegelieferte kWhLadestation
    {{ transaction.startTimestamp | date: 'short':'+0000' }}{{ transaction.meterStart | kwh }}{{ transaction.meterStop | kwh }}{{ transaction.meterAmount | kwh }}{{ transaction.chargingStationName }}
    \n
    \n\n
    \n
    \n\n \n \n \n \n \n \n \n
    \n Gesamtmenge der aufgelisteten Ladevorgänge kWh: {{ kwhAmount | kwh }}
    Lieferzeitraum von {{ deliveryNote.deliveryPeriodStart | date: 'shortDate'}} bis {{ deliveryNote.deliveryPeriodEnd | date: 'shortDate'}}
    \n Dieser Lieferschein wurde bereitgestellt durch CUBOS.Connect.\n
    Seite: {{currentPage }} von {{ pageCount }}
    \n \n \n \n \n \n \n
    \n  \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    Lieferschein wird generiert...
    \n
    \n
    \n
    \n
    \n Lieferschein wird generiert...\n
    \n
    \n
    \n
    \n
    \n\n\n\n","import { ChangeDetectorRef, Component, ElementRef, Input, OnInit, OnChanges, ViewChild } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FilesService } from '@services/files/files.service';\nimport { UserProfile } from '../../../dto/userProfile';\nimport { UserDto } from '../../../dto/userDto';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { InvoicePDFType } from '@enums/invoicePDFType.enum';\nimport { ToastService } from '@services/toast/toast.service';\nimport { InvoicesService } from '@services/entity/invoices.service';\nimport { InvoiceSettingsDto } from '@dto/invoiceSettingsDto';\nimport html2canvas from 'html2canvas';\nimport jsPDF from 'jspdf';\n\n@Component({\n selector: 'app-invoice-pdf',\n templateUrl: './invoice-pdf.component.html',\n styleUrls: ['./invoice-pdf.component.scss']\n})\nexport class InvoicePDFComponent implements OnInit, OnChanges {\n\n public type: number;\n public invoice: InvoiceDto;\n public ownerUserId: string;\n public owner: UserDto;\n public loading: boolean = true;\n public filename: string\n\n public currentPage = 1;\n public transactionsOfPage: Map;\n public pdfPageImages: Map;\n\n public pageCount: number;\n\n public stationary: any;\n private canvasHeight: number;\n private canvasWidth: number;\n\n public invoiceSettings: InvoiceSettingsDto\n public profile: UserProfile;\n\n @Input('example') example: InvoiceDto\n @Input('exampleSettings') exampleSettings: InvoiceSettingsDto\n @Input('stationaryPreview') stationaryPreview: SafeUrl\n @ViewChild('pdf') pdf: ElementRef;\n\n constructor(\n private cdref: ChangeDetectorRef,\n public modal: NgbModal,\n public activeModal: NgbActiveModal,\n private filesService: FilesService,\n private invoicesService: InvoicesService,\n private toastService: ToastService,\n private sanitizer: DomSanitizer,\n ) { }\n\n ngOnInit(): void {\n setTimeout(() => {\n if (this.example) {\n this.loading = false;\n this.invoice = this.example\n } else {\n this.loading = true;\n this.toastService.clear()\n this.toastService.loading($localize`:@@GeneratingPDFToast:PDF wird generiert ...`)\n }\n\n this.getInvoiceSettings()\n }, 0);\n\n }\n\n ngOnChanges() {\n this.calculatePages()\n }\n\n getInvoiceSettings() {\n this.invoicesService.getInvoiceSettingsOfUser(this.invoice.ownerUserId).subscribe(invoiceSettings => {\n this.invoiceSettings = invoiceSettings\n\n this.calculatePages()\n this.loadPictures()\n }, error => {\n console.error(error);\n })\n }\n\n loadPictures() {\n this.filesService.getPicture(`invoices/stationaries/${this.invoice.ownerUserId}.jpg`, false, \"image/jpg\").subscribe(result => {\n var unsafeImageUrl = URL.createObjectURL(result);\n this.stationary = this.sanitizer.bypassSecurityTrustUrl(unsafeImageUrl);\n if (this.stationary && !this.example) {\n this.cdref.detectChanges()\n this.createCanvasData(this.currentPage)\n }\n }, error => {\n if (!this.example) {\n this.cdref.detectChanges()\n this.createCanvasData(this.currentPage)\n }\n })\n }\n\n calculatePages() {\n let transactionsPerPage = 0\n let transactions = null\n\n if (this.example) {\n transactionsPerPage = Math.floor((297 - this.exampleSettings.letterheadHeight - this.exampleSettings.footnoteHeight - 48) / 8)\n transactions = this.example.invoiceItems.slice(0, transactionsPerPage - 1)\n this.pageCount = 1;\n } else {\n transactionsPerPage = Math.floor((297 - this.invoiceSettings.letterheadHeight - this.invoiceSettings.footnoteHeight - 48) / 8)\n transactions = this.invoice.invoiceItems\n this.pageCount = Math.ceil(transactions.length / transactionsPerPage);\n }\n\n this.transactionsOfPage = new Map();\n this.pdfPageImages = new Map();\n\n var page = 1;\n var counter = 0;\n var transactionsOfPage = [];\n\n transactions.forEach(transaction => {\n transactionsOfPage.push(transaction);\n counter++;\n\n if (counter >= transactionsPerPage) {\n this.transactionsOfPage.set(page, transactionsOfPage);\n page++;\n counter = 0;\n transactionsOfPage = [];\n }\n })\n\n this.transactionsOfPage.set(page, transactionsOfPage);\n }\n\n createPdf(canvasHeight: number, canvasWidth: number) {\n var pdf = new jsPDF('p', 'mm', 'a4', true);\n\n var fileWidth = pdf.internal.pageSize.getWidth();\n var fileHeight = pdf.internal.pageSize.getHeight();\n var heightLeft = fileHeight;\n\n var position = 0;\n pdf.addImage(this.pdfPageImages.get(1), 'PNG', 0, position, fileWidth, fileHeight);\n\n if (this.pageCount > 1) {\n for (var i = 2; i <= this.pageCount; i++) {\n position += heightLeft - fileHeight;\n pdf.addPage();\n pdf.addImage(this.pdfPageImages.get(i), 'PNG', 0, position, fileWidth, fileHeight);\n }\n }\n\n this.loading = false;\n\n if (this.type == InvoicePDFType.Download) {\n pdf.save(this.filename)\n this.modal.dismissAll()\n this.toastService.clear()\n this.toastService.success(`Rechnung erfolgreich heruntergeladen.`)\n } else if (this.type == InvoicePDFType.Email) {\n var blobPDF = new Blob([pdf.output('blob')], { type: 'application/pdf' })\n this.activeModal.close({ pdf: blobPDF })\n this.toastService.clear()\n this.toastService.success(`Rechnung erfolgreich verschickt.`)\n }\n }\n\n createCanvasData(page: number) {\n if (page > this.pageCount) {\n this.createPdf(this.canvasHeight, this.canvasWidth);\n return;\n }\n\n var data = document.getElementById('pdf');\n\n html2canvas(data, { scale: 2 }).then(canvas => {\n this.canvasHeight = canvas.height;\n this.canvasWidth = canvas.width;\n\n this.pdfPageImages.set(page, canvas.toDataURL('image/png'));\n\n this.currentPage++;\n this.cdref.detectChanges();\n\n this.createCanvasData(this.currentPage);\n });\n }\n}\n","\n\n\n \n \n\n\n\n
    \n
    \n Erzeuge PDF\n
    \n
    \n\n
    \n \n\n
    \n

    Rechnung

    \n \n \n \n \n
    Rechnungsnummer:{{ invoice?.invoiceNumber }}
    Ausstellungsdatum:{{ invoice?.createdAt | date: 'mediumDate':'de-DE' }}
    Fällig am:{{ invoice?.dueAt | date: 'mediumDate':'de-DE' }}
    \n \n \n \n \n \n \n \n \n
    \n {{ invoice?.ownerCompany || invoice?.ownerFirstName + ' ' + invoice?.ownerLastName }}\n  • {{ invoice?.ownerStreet }} {{ invoice?.ownerHouseNumber }}\n  • {{ invoice?.ownerPostcode }} {{ invoice?.ownerCity }}\n
    {{ invoice?.recipientCompany || invoice?.recipientFullName }}
    {{ invoice?.recipientStreet }} {{ invoice?.recipientHouseNumber }}
    {{ invoice?.recipientPostcode }} {{ invoice?.recipientCity }}
    {{ invoice?.recipientEmail }}
    \n
    \n\n
    \n\t\t\t\n

    \n \n Gemäß Ihrem Auftrag stellen wir Ihnen folgende Leistungen in Rechnung.\n

    \n \n \n \n \n\t\t\t\t\t\n \n \n \n \n \n \n \n \n \n\t\t\t\t\t\n \n\t\t\t\t\t\n \n \n \n \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n
    LadestationZählerstandBeginnZählerstandEnde€ / kWhkWh geliefertBetrag
    {{ transaction.chargingStationName }}{{ transaction.meterStart | kwh }}{{ transaction.startTimestamp | dateDE: 'short':'+0000' }}{{ transaction.meterStop | kwh }}{{ transaction.stopTimestamp | dateDE: 'short':'+0000' }}€ {{ (transaction.pricing?.price ? transaction.pricing?.price : 0) | number: '1.2-2':'de-DE' }}{{ transaction.meterAmount | kwh }}€ {{ transaction.price | number: '1.2-2':'de-DE' }}
    Zwischensumme:{{ invoice.invoiceMeterAmount | kwh }}€ {{ invoice.invoiceAmount | number: '1.2-2':'de-DE' }}
    Netto:€ {{ invoice.invoiceAmount - (invoice.invoiceAmount / 1.19 * 0.19) | number: '1.2-2':'de-DE' }}
    inkl. 19 % MwSt:€ {{ invoice.invoiceAmount / 1.19 * 0.19 | number: '1.2-2':'de-DE' }}
    Rechnungsbetrag:€ {{ invoice.invoiceAmount | number: '1.2-2':'de-DE' }}
    \n

    \n Zahlbar bis einschließlich {{ invoice?.dueDate | date: 'longDate':'de-DE' }} ohne Abzug.\n Seite {{ currentPage }} von {{ pageCount }}\n

    \n
    \n\n
    \n \n \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n \n
    \n\t\t\t\t\t\t{{ invoice?.ownerCompany }}
    \n\t\t\t\t\t\t{{ invoice?.ownerStreet }} {{ invoice?.ownerHouseNumber }} in {{ invoice?.ownerPostcode }} {{ invoice?.ownerCity }}
    \n\t\t\t\t\t\tGeschäftsführung:
    \n\t\t\t\t\t\t{{ exampleSettings ? exampleSettings?.ceo : invoice?.ownerCeo }}\n\t\t\t\t\t
    \n\t\t\t\t\t\t{{ invoice?.ownerPhone }}
    \n\t\t\t\t\t\t{{ invoice?.ownerEmail }}
    \n\t\t\t\t\t
    \n\t\t\t\t\t\tSteuernummer/Umsatzsteuer-ID:
    \n\t\t\t\t\t\t{{ exampleSettings ? exampleSettings.vatId : invoice?.ownerVatId }}
    \n\t\t\t\t\t\tHandelsregister {{ exampleSettings ? exampleSettings.commercialRegister : invoice?.ownerCommercialRegister }}
    \n\t\t\t\t\t\t{{ exampleSettings ? exampleSettings.commercialRegisterId : invoice?.ownerCommercialRegisterId }}\n\t\t\t\t\t
    \n\t\t\t\t\t\t{{ exampleSettings ? exampleSettings.bank : invoice?.ownerBank }}
    \n\t\t\t\t\t\tIBAN {{ exampleSettings ? exampleSettings.iban : invoice?.ownerIban }}
    \n\t\t\t\t\t\tBIC {{ exampleSettings ? exampleSettings.bic : invoice?.ownerBic }}
    \n\t\t\t\t\t
    \n
    \n
    \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\n\nimport { latLng, marker, tileLayer, Map, icon, Layer } from 'leaflet';\nimport { MapService } from '../../../services/map/map.service';\n\n@Component({\n selector: 'app-public-charge-canceled',\n templateUrl: './public-charge-canceled.component.html',\n styleUrls: ['./public-charge-canceled.component.scss']\n})\nexport class PublicChargeCanceledComponent implements OnInit {\n\n public chargingStation?: ChargingStationDto\n \n private map: Map;\n public mapOptions = {\n zoom: 18,\n boxZoom: false,\n zoomControl: false,\n doubleClickZoom: false,\n dragging: false,\n layers: [\n tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n minZoom: 18,\n maxZoom: 18,\n attribution: '© OpenStreetMap',\n })\n ],\n }\n public markers : Layer [] = []\n \n constructor(\n private chargingStationsService: ChargingStationsService,\n private route: ActivatedRoute,\n private mapService: MapService,\n ) { }\n\n ngOnInit(): void {\n const chargingStationId = this.route.snapshot.queryParams['charging-station']\n this.chargingStationsService.getChargingStationPublicDetails(chargingStationId).subscribe(chargingStation => {\n this.chargingStation = chargingStation\n this.updateMap()\n }, error => {\n console.error(error)\n })\n }\n\n onMapReady(map: Map) {\n this.map = map\n this.map.invalidateSize()\n window.dispatchEvent(new Event('resize'))\n }\n\n updateMap() {\n const lat = this.chargingStation.lat\n const lon = this.chargingStation.lon\n if (this.map && lat && lon) {\n // this.mapService.getMapPosition(this.chargingStation.location).subscribe(result => {\n this.map.setView(latLng(parseFloat(lat), parseFloat(lon)))\n this.map.attributionControl.setPosition('topright')\n const newMarker = marker(\n [parseFloat(lat), parseFloat(lon)],\n {\n icon: icon({\n iconSize: [25, 41],\n iconAnchor: [13, 41],\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/images/marker-shadow.png'\n })\n }\n )\n this.map.addLayer(newMarker)\n this.map.invalidateSize();\n window.dispatchEvent(new Event('resize'));\n // }, error => {\n // console.error(error)\n // })\n } else {\n console.warn(\"Charging station is undefined or has no location.\")\n }\n }\n\n goBack() {\n window.history.back()\n }\n}\n","
    \n
    \n
    \n\n
    \n
    \n

    Etwas ist schiefgelaufen

    \n
    \n \n Zurück\n \n
    \n
    \n
    \n\n\n
    \n

    Fehler 404

    \n

    Der Ladepunkt konnte nicht gefunden werden

    \n
    \n
    \n","import { Component, Inject, Injector, OnInit } from \"@angular/core\";\nimport { Meta } from \"@angular/platform-browser\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { PublicChargeSubscriptionDto as PublicTransactionRequestDto } from \"@dto/publicChargeSubscriptionDto\";\nimport { ChargingStationDto } from \"@dto/chargingStationDto\";\nimport { PricingDto } from \"@dto/pricingDto\";\nimport { ChargingStationsService } from \"@services/entity/charging-stations.service\";\nimport { PricingsService } from \"@services/entity/pricings.service\";\nimport { PaymentsService } from \"@services/payments/payments.service\";\nimport { latLng, marker, tileLayer, Map, Layer, divIcon } from \"leaflet\";\nimport { UserDto } from \"@dto/userDto\";\nimport { FormService } from \"@services/form/form.service\";\nimport {\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ToastService } from \"@services/toast/toast.service\";\nimport { UsersService } from \"@services/entity/users.service\";\nimport { StripeInfosService } from \"@services/entity/stripe-infos.service\";\nimport { loadStripe } from \"@stripe/stripe-js\";\nimport { ComponentBase } from \"@abstracts/component-base\";\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n} from \"@angular/animations\";\nimport { DatasecurityComponent } from \"@components/authentication/datasecurity/datasecurity.component\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { Observable } from \"rxjs\";\nimport { ChargingPoint } from \"@models/chargingPoint\";\nimport { ChargingPointStatusEnum } from \"@enums/chargingPointStatus.enum\";\n\n@Component({\n selector: \"app-public-charge-plans\",\n templateUrl: \"./public-charge-plans.component.html\",\n styleUrls: [\"./public-charge-plans.component.scss\"],\n animations: [\n trigger(\"drawerState\", [\n state(\n \"closed\",\n style({\n height: \"0px\",\n overflow: \"hidden\",\n opacity: 0,\n })\n ),\n state(\n \"open\",\n style({\n height: \"*\",\n opacity: 1,\n })\n ),\n transition(\"closed <=> open\", [animate(\"300ms ease-in-out\")]),\n ]),\n ],\n})\nexport class PublicChargePlansComponent\n extends ComponentBase\n implements OnInit\n{\n public className = \"PublicChargePlansComponent\";\n\n public chargingStation?: ChargingStationDto;\n public email: string;\n public statusInterval: any;\n public isInitiated: boolean = false;\n public isAnyChargingPointAvailable: boolean = false;\n public whitelabel: string;\n public drawerOpen: boolean = false;\n\n private map: Map;\n public mapOptions = {\n zoom: 18,\n boxZoom: false,\n zoomControl: false,\n doubleClickZoom: false,\n dragging: false,\n layers: [\n tileLayer(\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\", {\n minZoom: 18,\n maxZoom: 18,\n attribution: \"© OpenStreetMap\",\n }),\n ],\n };\n public markers: Layer[] = [];\n\n public submitButtonCaption: string = \"Weiter\";\n public isShowingForm: boolean = false;\n\n public currentUser: UserDto;\n public parkOwner: UserDto;\n public parkOwnerStripeAccountId: string;\n public pricing?: PricingDto;\n public formCreated: boolean = false;\n public subscriptionFormService: FormService;\n public userId: string;\n\n public precisionCharge: boolean = false;\n public chargingUnit: string = \"euro\";\n public chargingAmount: number = 3000;\n\n public isCreatingStripeForm: boolean = false;\n public stripe: any;\n public stripeElements: any;\n public stripeCard: any;\n public publicTransactionRequest: PublicTransactionRequestDto;\n public isPaying: boolean = false;\n\n constructor(\n @Inject(\"BASE_URL\") private baseUrl: string,\n private paymentsService: PaymentsService,\n private stripeInfosService: StripeInfosService,\n private chargingStationsService: ChargingStationsService,\n private pricingsService: PricingsService,\n private route: ActivatedRoute,\n public toastService: ToastService,\n private usersService: UsersService,\n private dialog: NgbModal,\n private metaTagService: Meta,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.whitelabel = localStorage.getItem(\"whiteLabel\");\n\n super.ngOnInit();\n this.setupStripe();\n this.updateMetaTags();\n }\n\n afterInit() {\n this.updateMap();\n }\n\n async setupStripe() {\n this.paymentsService.getStripePublishableKey().subscribe(\n async (stripe) => {\n this.stripe = await loadStripe(stripe.publishableKey);\n this.getChargingStation();\n },\n (error) => {\n console.error(error);\n }\n );\n }\n\n updateMetaTags() {\n this.metaTagService.updateTag({\n property: \"og:title\",\n content: \"QR-Code-Laden Powered by CUBOS\",\n });\n this.metaTagService.updateTag({\n property: \"og:type\",\n content: \"website\",\n });\n this.metaTagService.updateTag({\n property: \"og:description\",\n content:\n \"QR-Code-Laden ist einfach: Erst Ladekabel verbinden, dann Zahlungsdaten angeben und losladen.\",\n });\n this.metaTagService.updateTag({\n property: \"og:image\",\n content: window.location.origin + \"/assets/images/cubos-og-image.jpg\",\n });\n this.metaTagService.updateTag({\n property: \"og:url\",\n content: window.location.href,\n });\n }\n\n createStripeForm() {\n const elements = this.stripe.elements({\n clientSecret: this.publicTransactionRequest.stripeClientSecret,\n appearance: {\n theme: \"flat\",\n rules: {\n \".Label\": {\n marginBottom: \"0.5rem\",\n fontSize: \"0.875rem\",\n color: \"#212529\",\n lineHeight: \"1.5\",\n },\n \".Input\": {\n border: \"1px solid #ced4da\",\n boxShadow: \"inset 0 1px 2px rgb(0, 0, 0, .08)\",\n padding: \"0.375rem 0.75rem\",\n fontSize: \"0.875rem\",\n color: \"#212529\",\n lineHeight: \"1.5\",\n },\n },\n variables: {\n colorPrimary: \"#ef7c00\",\n colorBackground: \"#ffffff\",\n colorText: \"#000\",\n colorDanger: \"#df1b41\",\n fontFamily: \"Lato, system-ui, sans-serif\",\n spacingUnit: \"3px\",\n borderRadius: \"4px\",\n },\n },\n });\n\n const paymentElement = elements.create(\"payment\");\n paymentElement.mount(\"#payment-element\");\n\n const form = document.getElementById(\"payment-form\");\n form.addEventListener(\"submit\", async (event) => {\n event.preventDefault();\n\n const updateAmount = this.precisionCharge;\n await this.handlePaymentSubmission(updateAmount, elements);\n });\n }\n\n async handlePaymentSubmission(updateAmount: boolean, elements: any) {\n try {\n let payAmount: number = 0;\n if (updateAmount) {\n // kWh umrechnen in €\n if (this.chargingUnit == \"kwh\") {\n payAmount = this.chargingAmount * this.pricing.price;\n } else {\n payAmount = this.chargingAmount;\n }\n\n // €-Betrag notfalls aufrunden\n if (payAmount < 100) {\n payAmount = 100;\n }\n const result = await this.paymentsService\n .updatePrecisionChargeAmount(\n this.publicTransactionRequest.stripePaymentIntentId,\n payAmount\n )\n .toPromise();\n\n if (result.amount !== payAmount) {\n throw new Error(\"Amount mismatch\");\n }\n }\n\n this.isPaying = true;\n\n const url = `${this.baseUrl}public-charge?charging-station=${this.publicTransactionRequest.chargingStationId}&payment-intent=${this.publicTransactionRequest.stripePaymentIntentId}`;\n const { error } = await this.stripe.confirmPayment({\n elements,\n confirmParams: {\n return_url: url,\n },\n });\n\n if (error) {\n const messageContainer = document.querySelector(\"#error-message\");\n messageContainer.textContent = error.message;\n } else {\n // Your customer will be redirected to your `return_url`. For some payment\n // methods like iDEAL, your customer will be redirected to an intermediate\n // site first to authorize the payment, then redirected to the `return_url`.\n }\n } catch (error) {\n console.error(\"Error during payment submission:\", error);\n const messageContainer = document.querySelector(\"#error-message\");\n messageContainer.textContent = error.message;\n }\n }\n\n createToken() {\n this.stripe.createToken(this.stripeCard).then((result) => {\n if (result.error) {\n var errorElement = document.getElementById(\"card-errors\");\n errorElement.textContent = result.error.message;\n } else {\n this.stripe.stripeTokenHandler(result.token).then((token) => {\n this.stripe.redirectToCheckout({\n sessionId: token,\n });\n });\n }\n });\n }\n\n getChargingStation() {\n // example\n // https://mycubos.com/pc?cs=52a282e8-ddc1-4cf6-0e02-08dcddf06be9\n const chargingStationId = this.route.snapshot.queryParams[\"cs\"];\n\n // example\n // https://mycubos.com/pc?evseid=DECUBS00000002\n const chargingPointEvseid = this.route.snapshot.queryParams[\"evseid\"];\n\n var csDetailsQuery: Observable;\n if (chargingPointEvseid) {\n csDetailsQuery =\n this.chargingStationsService.getChargingStationPublicDetailsByEvseId(\n chargingPointEvseid\n );\n } else {\n csDetailsQuery =\n this.chargingStationsService.getChargingStationPublicDetails(\n chargingStationId\n );\n }\n\n csDetailsQuery.subscribe(\n (chargingStation) => {\n this.chargingStation = chargingStation;\n this.updateChargingPointAvailability();\n\n if (this.chargingStation == null) {\n this.isInitiated = true;\n } else if (this.chargingStation.isPublicCharge == false) {\n this.isInitiated = true;\n } else {\n this.statusInterval = window.setInterval(() => {\n this.updateStatus();\n }, 30000);\n\n this.createForm();\n this.getPricing();\n }\n },\n (error) => {\n console.error(error);\n }\n );\n }\n\n getPricing() {\n if (this.chargingStation.customerId) {\n this.pricingsService\n .getPublicPricingOfCustomer(this.chargingStation.customerId)\n .subscribe((pricing) => {\n this.pricing = pricing;\n this.isInitiated = true;\n\n this.usersService\n .getUserNameById(pricing.ownerUserId)\n .subscribe((owner) => {\n this.parkOwner = owner;\n\n this.loadStripeInfo();\n });\n });\n } else {\n console.warn(\n `Charging Station ${this.chargingStation.id} is missing a customer ID.`\n );\n }\n }\n\n loadStripeInfo() {\n this.stripeInfosService\n .getStripeInfoOfUser(this.pricing.ownerUserId)\n .subscribe(\n (result) => {\n this.parkOwnerStripeAccountId = result.stripeAccountId;\n },\n (error) => {\n console.error(error);\n }\n );\n }\n\n onMapReady(map: Map) {\n this.map = map;\n this.map.invalidateSize();\n this.updateMap();\n window.dispatchEvent(new Event(\"resize\"));\n }\n\n updateMap() {\n const lat = this.chargingStation.lat;\n const lon = this.chargingStation.lon;\n if (this.map && lat && lon) {\n this.map.setView(latLng(parseFloat(lat), parseFloat(lon)));\n this.map.attributionControl.setPosition(\"topright\");\n const newMarker = marker([parseFloat(lat), parseFloat(lon)], {\n icon: divIcon({\n html: `\n \n \n \n \n `,\n className: \"\",\n iconSize: [48, 48],\n iconAnchor: [12, 24],\n }),\n });\n this.map.addLayer(newMarker);\n this.map.invalidateSize();\n window.dispatchEvent(new Event(\"resize\"));\n } else {\n console.warn(`Charging station is undefined or has no location.`);\n }\n }\n\n updateStatus() {\n this.chargingStationsService\n .getChargingStationPublicDetails(this.chargingStation.id)\n .subscribe((chargingStation) => {\n this.chargingStation = chargingStation;\n this.updateChargingPointAvailability();\n });\n }\n\n parsePrice(price) {\n return price.toLocaleString(\"de-DE\", {\n style: \"currency\",\n currency: \"EUR\",\n });\n }\n\n parseWattHour(wattHour) {\n return Math.abs(wattHour / 100).toFixed(0);\n }\n\n scrollTo(anchor) {\n const x = document.getElementById(anchor).offsetTop;\n if (x) window.scrollTo(0, x);\n this.drawerOpen = true;\n }\n\n createForm() {\n this.subscriptionFormService = new FormService();\n\n this.subscriptionFormService.validators = {\n email: [Validators.required, Validators.email],\n company: [],\n name: [],\n street: [],\n housenumber: [],\n postcode: [],\n city: [],\n agbConfirm: [Validators.requiredTrue],\n dsbConfirm: [Validators.requiredTrue],\n bookingConfirm: [Validators.requiredTrue],\n chargingPointId: [Validators.required],\n };\n\n this.subscriptionFormService.form = new UntypedFormGroup({\n anonymous: new UntypedFormControl(true, []),\n agbConfirm: new UntypedFormControl(\n false,\n this.subscriptionFormService.validators[\"agbConfirm\"]\n ),\n dsbConfirm: new UntypedFormControl(\n false,\n this.subscriptionFormService.validators[\"dsbConfirm\"]\n ),\n bookingConfirm: new UntypedFormControl(\n false,\n this.subscriptionFormService.validators[\"bookingConfirm\"]\n ),\n email: new UntypedFormControl(\n \"\",\n this.subscriptionFormService.validators[\"email\"]\n ),\n method: new UntypedFormControl(\"card\", []),\n company: new UntypedFormControl(\"\", []),\n name: new UntypedFormControl(\n \"\",\n this.subscriptionFormService.validators[\"name\"]\n ),\n street: new UntypedFormControl(\n \"\",\n this.subscriptionFormService.validators[\"street\"]\n ),\n housenumber: new UntypedFormControl(\n \"\",\n this.subscriptionFormService.validators[\"housenumber\"]\n ),\n postcode: new UntypedFormControl(\n \"\",\n this.subscriptionFormService.validators[\"postcode\"]\n ),\n city: new UntypedFormControl(\n \"\",\n this.subscriptionFormService.validators[\"city\"]\n ),\n /**\n * The actual charging point database index, not the connector id.\n */\n chargingPointId: new UntypedFormControl(\n // pre-select charging point if charging station only has one point.\n this.chargingStation.chargingPoints.length == 1\n ? this.chargingStation.chargingPoints[0].id\n : \"\",\n this.subscriptionFormService.validators[\"chargingPointId\"]\n ),\n });\n\n this.formCreated = true;\n\n window.setTimeout(() => {\n const elementToFocus = document.getElementById(\"subscription-email\");\n if (elementToFocus) elementToFocus.focus();\n }, 1000);\n\n this.subscriptionFormService.form\n .get(\"anonymous\")\n .valueChanges.subscribe((value) => {\n this.updateFormValidator(value);\n });\n }\n\n onSubmit(formValue) {\n this.submitButtonCaption = `Buchen und laden`;\n\n let publicTransactionRequest = new PublicTransactionRequestDto();\n\n publicTransactionRequest.chargingStationId = this.chargingStation.id;\n publicTransactionRequest.chargingPointId = formValue.chargingPointId; // the actual charging point database index (not connectorid)\n publicTransactionRequest.parkOwnerName = this.parkOwner.company\n ? this.parkOwner.company\n : `${this.parkOwner.firstName} ${this.parkOwner.lastName}`;\n publicTransactionRequest.parkOwnerStripeAccountId =\n this.parkOwnerStripeAccountId;\n publicTransactionRequest.stripePriceId = this.pricing.priceId;\n\n publicTransactionRequest.email = formValue.email;\n publicTransactionRequest.method = formValue.method;\n\n if (!this.anonymous) {\n // publicTransactionRequest.company = formValue.company\n publicTransactionRequest.name = formValue.name;\n publicTransactionRequest.street = formValue.street;\n publicTransactionRequest.housenumber = formValue.housenumber;\n publicTransactionRequest.postcode = formValue.postcode;\n publicTransactionRequest.city = formValue.city;\n }\n\n publicTransactionRequest.country = \"DE\";\n\n localStorage.setItem(\"email\", formValue.email);\n\n this.isCreatingStripeForm = true;\n this.paymentsService\n .createPublicTransactionPaymentIntent(publicTransactionRequest)\n .subscribe(\n (publicTransactionRequest) => {\n this.publicTransactionRequest = publicTransactionRequest;\n this.createStripeForm();\n },\n (error) => console.error(error)\n );\n }\n\n toggleDrawer() {\n this.drawerOpen = !this.drawerOpen;\n }\n\n get anonymous() {\n return this.subscriptionFormService.form.get(\"anonymous\").value;\n }\n\n get chargingAmountPreview() {\n if (!this.precisionCharge) return 60;\n let chargingAmountPreview = 60;\n\n if (this.chargingUnit == \"kwh\") {\n chargingAmountPreview = (this.chargingAmount * this.pricing.price) / 100;\n } else {\n chargingAmountPreview = this.chargingAmount / 100;\n }\n\n if (chargingAmountPreview <= 1) {\n chargingAmountPreview = 1;\n }\n return chargingAmountPreview;\n }\n\n updateFormValidator(anonymous: boolean) {\n const nameControl = this.subscriptionFormService.form.get(\"name\");\n const streetControl = this.subscriptionFormService.form.get(\"street\");\n const housenumberControl =\n this.subscriptionFormService.form.get(\"housenumber\");\n const postcodeControl = this.subscriptionFormService.form.get(\"postcode\");\n const cityControl = this.subscriptionFormService.form.get(\"city\");\n\n if (anonymous) {\n nameControl.setValidators([]);\n streetControl.setValidators([]);\n housenumberControl.setValidators([]);\n postcodeControl.setValidators([]);\n cityControl.setValidators([]);\n } else {\n nameControl.setValidators([Validators.required]);\n streetControl.setValidators([Validators.required]);\n housenumberControl.setValidators([Validators.required]);\n postcodeControl.setValidators([Validators.required]);\n cityControl.setValidators([Validators.required]);\n }\n nameControl.updateValueAndValidity();\n streetControl.updateValueAndValidity();\n housenumberControl.updateValueAndValidity();\n postcodeControl.updateValueAndValidity();\n cityControl.updateValueAndValidity();\n }\n\n openDSDialog() {\n const dialogRef = this.dialog.open(DatasecurityComponent, {\n centered: true,\n backdrop: true,\n });\n dialogRef.result.then(\n (result) => {\n //this.ngOnInit();\n },\n (backdrop) => {}\n );\n }\n\n getFullYear() {\n return new Date().getFullYear();\n }\n\n togglePrecisionCharge() {\n this.precisionCharge = !this.precisionCharge;\n }\n\n toggleUnit() {\n this.chargingUnit == \"euro\"\n ? (this.chargingUnit = \"kwh\")\n : (this.chargingUnit = \"euro\");\n }\n\n selectAmount(value: number) {\n this.chargingAmount == value ? null : (this.chargingAmount = value);\n }\n\n //if there is any ChargingPoints that is \"Bereit\" or \"Vorbereitung\", set isAn\n updateChargingPointAvailability() {\n for (var chargingPoint of this.chargingStation.chargingPoints) {\n if (this.isChargingPointAvailable(chargingPoint)) {\n this.isAnyChargingPointAvailable = true;\n return;\n }\n }\n this.isAnyChargingPointAvailable = false;\n return;\n }\n\n isChargingPointAvailable(point: ChargingPoint) {\n // unavailable, if cs is not available\n if (this.chargingStation.statusId != ChargingPointStatusEnum.Available) {\n return false;\n }\n\n // unavailable, if point is not available (or preparing / plugged in)\n if (point.statusId != ChargingPointStatusEnum.Available && point.statusId != ChargingPointStatusEnum.Preparing) {\n return false;\n }\n\n // available, else\n return true;\n }\n\n pageBack() {\n this.publicTransactionRequest = null;\n this.isCreatingStripeForm = null;\n }\n}\n","
    \n\n
    \n \n
    \n\n
    \n
    \n\n
    \n
    \n \n

    \n {{ chargingStation.name }}\n

    \n\n \n {{ parsePrice(pricing.priceDc) }}\n \n {{ parsePrice(pricing.price) }}\n \n pro kWh inkl. 19 % MwSt.
    Mindestbetrag 1,00 €
    \n
    \n\n \n  Erst Ladekabel verbinden, dann Zahlungsdaten angeben\n \n \n\n
    \n\n \n
    \n 1\">Bitte wählen Sie einen Ladepunkt\n aus*\n
    1\">\n
    \n \n
    \n
    \n \n Ladepunkt wird benötigt\n \n
    \n
    \n\n \n \n \n \n\n
    \n \n \n\n
    \n E-Mail\n wird benötigt\n Falsche\n Eingabe\n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n
    \n\n
    \n Name\n wird benötigt\n Straße\n wird benötigt\n Hausnummer\n wird benötigt\n PLZ\n wird benötigt\n Stadt\n wird benötigt\n
    \n
    \n
    \n
    \n\n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n

    Bitte wählen Sie eine Zahlungsmethode aus.

    \n
    \n
    \n
    \n\n
    \n \n Es wird ein Betrag in Höhe von {{this.chargingAmountPreview | number:'1.2-2':'de-DE'}} € auf Ihrem Konto\n vorgemerkt,\n bis der endgültige Rechnungsbetrag am Ende des Ladevorgangs von Ihrem Konto abgebucht wird.\n
    \n\n
    \n \n\n
    \n \n
    \n
    \n\n
    \n

    \n Detaillierte Anleitung\n \n

    \n
    \n
      \n
    1. Ladekabel mit dem Fahrzeug verbinden
    2. \n
    3. E-Mail-Adresse angeben und auf „Weiter zu Zahlung“ klicken.
    4. \n
    5. Zahlungsmittel auswählen und ggf. Lademengenbegrenzung festlegen.
    6. \n
    7. Es werden 60 Euro auf dem Zahlungsmittel vorgemerkt um den Ladevorgang zu autorisieren. Eventuell wird\n eine\n Freigabe Ihres Zahlungsmittelinstituts benötigt.
    8. \n
    9. Bei erfolgreicher Autorisierung startet der Ladevorgang automatisch.
    10. \n
    11. Sie können den Ladevorgang jederzeit über Ihr Fahrzeug beenden. Zusätzlich erhalten Sie zu Beginn des\n Ladevorgangs\n eine E-Mail mit einem Link, um den Ladevorgang auch über unsere Webseite zu beenden. Falls eine\n Lademengenbegrenzung\n aktiviert wurde, löst diese automatisch bei der gewählten Grenze aus.
    12. \n
    13. Nach Beenden des Ladevorgangs wird der tatsächliche Rechnungsbetrag einbehalten und der überschüssige\n Betrag\n zurückerstattet. Außerdem wird die Rechnung automatisiert an die angegebene E-Mail-Adresse versendet.
    14. \n
    \n
    \n
    \n\n

    \n Hotline
    \n {{ chargingStation.hotlinePhoneNumber }}\n

    \n\n

    \n Ladepunkt und Strom werden bereitgestellt von {{ chargingStation.customer.name }}.\n {{ chargingStation.customer.name }}\n

    \n

    \n \"CUBOS\"\n Powered by CUBOS\n © Copyright {{ getFullYear() }} CUBOS Service GmbH. Alle Rechte vorbehalten.\n

    \n
    \n
    \n\n\n
    \n \n \n
    \n\n
    \n
    \n \n Bitte beachten Sie, dass die Begrenzung nur eine Genauigkeit von 0,5 kWh hat. Die ausgegebene kWh-Menge\n ist eichrechtskonform. Die Rechnung wird auf Basis der tatsächlich ausgegebenen kWh-Menge erstellt.\n
    \n\n
    \n
    Euro
    \n
    kWh
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\n
    \n Maximaler Ladebetrag wird benötigt\n
    \n
    \n
    \n\n\n
    \n
    \n
    \n

    {{ chargingStation.name }} ist nicht\n verfügbar

    \n

    Der Ladepunkt ist nicht verfügbar

    \n
    \n
    \n
    \n\n\n
    \n
    \n

    {{ chargingStation.name }} wird angefragt

    \n

    Der Ladepunkt wird angefragt

    \n
    \n
    \n\n\n
    \n
    \n

    {{ chargingStation.name }} ist nicht verfügbar

    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\nimport { DatePipe, DecimalPipe } from '@angular/common';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { PricingDto } from '@dto/pricingDto';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { ChargingStationsService } from '@services/entity/charging-stations.service';\nimport { PricingsService } from '@services/entity/pricings.service';\nimport { TransactionsService } from '@services/entity/transactions.service';\nimport { ToastService } from '@services/toast/toast.service';\nimport { ChargingStationRemoteTransactionRequest } from '@dto/chargingStationRemoteTransactionRequest';\nimport { latLng, marker, tileLayer, Map, icon, Layer, divIcon } from 'leaflet';\nimport { MapService } from '../../../services/map/map.service';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { PaymentsService } from '@services/payments/payments.service';\nimport { plainToClass } from 'class-transformer';\nimport Swal from 'sweetalert2';\nimport { PublicTransactionSessionDto } from '@dto/publicTransactionSessionDto';\nimport { PublicRemoteStartRequestDto } from '@dto/publicRemoteStartRequestDto';\n\n@Component({\n selector: 'app-public-charge',\n templateUrl: './public-charge.component.html',\n styleUrls: ['./public-charge.component.scss']\n})\nexport class PublicChargeComponent implements OnInit {\n\n public chargingStation?: ChargingStationDto\n public pricing?: PricingDto\n public transaction?: TransactionDto\n public publicTransactionSession: PublicTransactionSessionDto;\n \n public email: string\n public chargingStationId: string\n // public chargingPointConnectorId: number = 1\n public paymentIntentId: string\n public storedPaymentIntentId: string\n public storedChargingStationId: string\n public startTime: string\n public price: number\n public duration: string = \"--:--\"\n public durationInterval: any\n public statusInterval: any\n public kwhCharged: number = 0\n public isFinishing: boolean = false\n public isFinished: boolean = false\n\n // User scanned QR-Code first, EV and EVSE still await connection\n public isEvConnected: boolean = false\n \n // Awaiting connection timed out, restart required\n public isNeedingRestart: boolean = false\n\n public branding: string\n private map: Map;\n public mapOptions = {\n zoom: 18,\n boxZoom: false,\n zoomControl: false,\n doubleClickZoom: false,\n dragging: false,\n layers: [\n tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n minZoom: 18,\n maxZoom: 18,\n attribution: '© OpenStreetMap',\n })\n ],\n }\n public markers: Layer[] = []\n\n constructor(\n private chargingStationsService: ChargingStationsService,\n private transactionsService: TransactionsService,\n private pricingsService: PricingsService,\n private paymentsService: PaymentsService,\n private decimalPipe: DecimalPipe,\n private route: ActivatedRoute,\n public toastService: ToastService,\n private router: Router,\n private mapService: MapService,\n ) { }\n\n ngOnInit(): void {\n this.validatePaymentIntent()\n }\n\n async validatePaymentIntent() {\n // Grab the session ID\n this.paymentIntentId = this.route.snapshot.queryParams['payment-intent'];\n this.chargingStationId = this.route.snapshot.queryParams['charging-station'];\n\n // If there is no session ID, go back to public charge plans page\n if (!this.paymentIntentId) {\n this.goBack()\n }\n\n // Check if we have a session information in local storage\n this.storedPaymentIntentId = localStorage.getItem('publicTransactionPaymentIntentId')\n this.storedChargingStationId = localStorage.getItem('publicTransactionChargingStationId')\n\n // Save the subscription ID in case of page reload\n if (!this.storedPaymentIntentId || this.storedPaymentIntentId != this.paymentIntentId) {\n localStorage.setItem('publicTransactionPaymentIntentId', this.paymentIntentId)\n localStorage.setItem('publicTransactionChargingStationId', this.chargingStationId)\n }\n\n if (this.chargingStationId != null) {\n await this.getChargingStation()\n }\n\n // Now get the subscription data\n this.paymentsService.validatePublicTransaction(this.paymentIntentId).subscribe(publicTransactionSession => {\n this.publicTransactionSession = publicTransactionSession;\n\n if (this.publicTransactionSession.stopTimestamp != null) {\n this.stopPublicTransactionSession()\n return\n }\n \n // If charging station is charging\n if (this.publicTransactionSession.chargingStationStatusId == 3) {\n // Clear and restart duration update (timer)\n clearInterval(this.durationInterval)\n this.durationInterval = window.setInterval(() => this.updateDuration(), 1000)\n \n // Clear and restart charging status update (meter)\n clearInterval(this.statusInterval)\n this.statusInterval = window.setInterval(() => this.updateStatus(), 10000)\n\n } else {\n // Continuously check the charging station status, if not yet charging\n clearInterval(this.statusInterval)\n this.statusInterval = window.setInterval(() => { this.updateStatus() }, 10000)\n }\n\n // Start the transaction now\n if (this.publicTransactionSession.chargingStationStatusId == 2 || this.publicTransactionSession.chargingStationStatusId == 6) {\n this.startTransaction()\n }\n }, error => {\n // this.router.navigate([`public-charge-plans?cs=${this.chargingStationId}`], { relativeTo: this.route })\n window.location.href = `${window.location.origin}/public-charge-plans?cs=${this.chargingStationId}`\n console.error(error)\n });\n }\n\n clearSession() {\n localStorage.removeItem('publicTransactionPaymentIntentId')\n localStorage.removeItem('publicTransactionChargingStationId')\n }\n\n async getChargingStation() {\n this.chargingStationsService.getChargingStationPublicDetails(this.chargingStationId).subscribe(chargingStation => {\n this.chargingStation = chargingStation\n \n \n for (const chargingPoint of this.chargingStation.chargingPoints) {\n if (chargingPoint.statusId == 6) {\n this.isEvConnected = true\n continue\n }\n }\n\n if (this.chargingStation != null) {\n this.getPricing()\n }\n }, error => {\n console.error(error)\n })\n }\n\n getPricing() {\n // Get the pricing for our charging station\n this.pricingsService.getPublicPricingOfCustomer(this.chargingStation.customerId).subscribe(pricing => {\n this.pricing = pricing\n }, error => {})\n }\n\n updateStatus() {\n // Check the charging station status\n this.paymentsService.getPublicTransactionSession(this.publicTransactionSession.id).subscribe(publicTransaction => {\n this.publicTransactionSession = publicTransaction\n \n // Calculate current kWh charged\n const current = this.publicTransactionSession.currentMeterValue\n const start = this.publicTransactionSession.startMeterValue\n if (current && start) this.kwhCharged = (current - start) / 1000\n\n // Calculate current price with given kWh charged\n if (this.pricing.price) {\n this.price = this.kwhCharged * this.pricing.price\n }\n \n // If EV and EVSE await connection for more than ~30 seconds,\n // then EVSE jumps back to Ready state,\n // thereby needs restart when connection is finally established\n if (this.publicTransactionSession.chargingStationStatusId == 2) {\n this.isEvConnected = false\n this.isNeedingRestart = true\n }\n \n // If EVSE again has Preparing state,\n // then we assume the EV and EVSE connection is finally established\n // and we can restart the transaction\n if (this.publicTransactionSession.chargingStationStatusId == 6 && this.isNeedingRestart) {\n this.isEvConnected = true\n this.isNeedingRestart = true\n // NOTE: Insecure, instead demand user interaction\n // this.startTransaction()\n }\n\n // Eventually show that the transaction has concluded\n if (this.publicTransactionSession.stopTimestamp != null) {\n clearInterval(this.statusInterval)\n this.stopPublicTransactionSession()\n }\n })\n }\n\n startTransaction() {\n const remoteStartRequest: ChargingStationRemoteTransactionRequest = { start: true }\n const publicRemoteStartRequest: PublicRemoteStartRequestDto = {\n url: `${window.location.origin}/public-charge?charging-station=${this.chargingStationId}&payment-intent=${this.paymentIntentId}`,\n email: localStorage.getItem('email'),\n request: remoteStartRequest\n }\n // Start the transaction of our charging station by handing over the subscription ID\n this.chargingStationsService.remoteStartPublicTransaction(\n this.chargingStationId,\n this.paymentIntentId,\n publicRemoteStartRequest\n ).subscribe(transaction => {\n \n // If the transaction start request was accepted\n if (transaction.status == 'Accepted') {\n this.isNeedingRestart = false\n\n // Clear and restart duration update (timer)\n clearInterval(this.durationInterval)\n this.durationInterval = window.setInterval(() => this.updateDuration(), 1000)\n \n // Clear and restart charging status update (meter)\n clearInterval(this.statusInterval)\n this.statusInterval = window.setInterval(() => this.updateStatus(), 5000)\n \n // If the transaction start request was denied\n } else if (transaction.status == 'Denied') {\n // then todo: throw user friendly error\n }\n }, error => {\n switch (error) {\n case \"PaymentIntent is already captured\":\n this.isFinished = true; break;\n \n default:\n const href = `${window.location.origin}/public-charge-plans?cs=${this.chargingStationId}`\n window.location.href = href\n }\n });\n }\n\n updateDuration() {\n if (!this.publicTransactionSession.startTimestamp) {\n this.duration = '00:00'\n return\n }\n\n // Calculate the time passed while charging\n // and at some point keep in mind the actual duration of our transaction\n var start = new Date(this.publicTransactionSession.startTimestamp).getTime()\n var end = Date.now()\n\n if (this.publicTransactionSession.stopTimestamp != null) {\n start = new Date(this.publicTransactionSession.startTimestamp.toString()).getTime() - 7200000\n if (this.publicTransactionSession.stopTimestamp != null) {\n end = new Date(this.publicTransactionSession.stopTimestamp.toString()).getTime() - 7200000\n }\n }\n\n const t = (end - start) / 1000 // seconds passed\n\n const hours = Math.floor(t / 60 / 60) || 0\n const minutes = Math.floor(t / 60 % 60) || 0\n const seconds = Math.floor(t % 60) || 0\n \n const s = seconds > 9 ? seconds : '0' + seconds\n const m = minutes > 9 ? minutes : '0' + minutes\n const h = hours\n \n this.duration = `${h > 0 ? h + ':' : ''}${m}:${s}`\n }\n\n stopCharging() {\n Swal.fire({\n title: 'Sind Sie sicher?',\n text: 'Ein beendeter Ladevorgang kann nicht wieder gestartet werden.',\n icon: 'warning',\n confirmButtonText: 'Ladevorgang beenden',\n confirmButtonColor: 'crimson',\n showCancelButton: true,\n cancelButtonText: 'Abbrechen',\n cancelButtonColor: ''\n }).then((result) => {\n if (result.isConfirmed) {\n this.stopTransaction()\n }\n })\n }\n\n stopTransaction() {\n this.isFinishing = true\n\n // Stop the transaction\n var remoteStopRequest: ChargingStationRemoteTransactionRequest = { start: false }\n this.chargingStationsService.remoteStopPublicTransaction(\n this.chargingStation.id,\n this.paymentIntentId,\n remoteStopRequest\n ).subscribe(transaction => {\n // If the stop transaction request was accepted\n if (transaction.status == 'Accepted') {\n // and wrap up the session\n this.stopPublicTransactionSession()\n }\n }, error => {});\n }\n \n stopPublicTransactionSession() {\n this.clearSession()\n\n this.isFinished = true\n\n // Calculate current kWh charged\n if (this.publicTransactionSession.stopMeterValue) {\n this.kwhCharged = (this.publicTransactionSession.stopMeterValue - this.publicTransactionSession.startMeterValue) / 1000\n }\n\n if (this.pricing.price != null) {\n const price = this.kwhCharged * this.pricing.price\n this.price = +(Math.round(Number(price + \"e+2\")) + \"e-2\")\n // this.price = Math.round(this.kwhCharged * this.pricing.price * 100) / 100\n }\n\n this.updateDuration()\n }\n\n updateMap() {\n if (!this.map || !this.chargingStation) return\n\n const lat = this.chargingStation.lat ?? null\n const lon = this.chargingStation.lon ?? null\n\n if (!lat || !lon) return\n\n this.map.setView(latLng(parseFloat(lat), parseFloat(lon)))\n this.map.attributionControl.setPosition('topright')\n const newMarker = marker(\n [parseFloat(lat), parseFloat(lon)],\n {\n icon: divIcon({\n html: `\n \n \n \n \n `,\n className: '',\n iconSize: [48, 48],\n iconAnchor: [12, 24],\n })\n }\n )\n this.map.addLayer(newMarker)\n this.map.invalidateSize()\n window.dispatchEvent(new Event('resize'))\n }\n\n onMapReady(map: Map) {\n this.map = map\n this.map.invalidateSize()\n window.dispatchEvent(new Event('resize'))\n this.updateMap()\n }\n\n goBack() {\n if (this.chargingStationId) {\n const href = `${window.location.origin}/public-charge-plans?cs=${this.chargingStationId}`\n window.location.href = href\n } else {\n window.history.back()\n }\n }\n\n getFullYear() {\n return new Date().getFullYear()\n }\n}\n","\n\n
    \n
    \n
    \n
    \n\n
    \n
    \n\n \n
    \n
    \n
    \n

    Warte auf Ladepunkt

    \n
    \n
    \n \n \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n

    Bitte verbinden Sie den Ladepunkt mit Ihrem Fahrzeug

    \n
    \n\n \n
    \n
    \n
    \n

    Ladevorgang wird gestartet

    \n
    \n\n
    \n
    \n

    Ladepunkt und Fahrzeug sind bereit

    \n
    \n Ladevorgang starten\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n

    Ladevorgang läuft

    \n

    Beende Ladevorgang

    \n \n \n {{ duration }}\n seit {{ publicTransactionSession.startTimestamp | date:'HH:mm' }} Uhr\n \n \n ––:––\n seit ––:––\n \n\n \n {{ kwhCharged | number:'1.3':'de' }} kWh\n für {{ price | number:'1.2-2':'de' }} €\n \n begrenzt auf {{ publicTransactionSession.expectedTotalChargeAmount / 100 | number:'1.2-2' }} €\n ({{ (price / (publicTransactionSession.expectedTotalChargeAmount / 100)) * 100 | number:'1.0-0':'de' }}%)\n \n \n \n –,––– kWh\n für –,–– €\n \n\n
    \n \n
    \n \n \n
    \n
    \n

    Ladevorgang pausiert durch Fahrzeug

    \n

    Das Fahrzeug ist voll.

    \n \n
    \n \n \n
    \n
    \n

    Ladevorgang pausiert durch Ladestation

    \n

    Warten auf Freigabe durch Lastmanagement. Der Ladevorgang beginnt in wenigen Augenblicken.

    \n \n
    \n \n \n
    \n
    \n

    Ladevorgang beendet

    \n \n {{ kwhCharged | number:'1.3-3':'de' }} kWh\n geladen {{ duration ? 'in ' + duration : '' }}\n \n \n {{ (price > 1 ? price : 1) | number:'1.2-2':'de' }} €\n inkl. MwSt.\n \n
    \n

    Wir wünschen eine gute Weiterfahrt.

    \n
    \n\n

    \n Ladepunkt und Strom werden bereitgestellt von {{ chargingStation.customer.name }}.\n {{ chargingStation.customer.name }}\n

    \n

    \n \"CUBOS\"\n Powered by CUBOS\n © Copyright {{ getFullYear() }} CUBOS Service GmbH. Alle Rechte vorbehalten.\n

    \n
    \n
    \n\n\n Ladevorgang beenden\n \n Beende Ladevorgang\n \n \n\n","import { Directive, ElementRef, Input } from \"@angular/core\";\n\n@Directive({\n selector: \"[autofocus]\"\n})\nexport class AutofocusDirective {\n private focus = true;\n\n constructor(private el: ElementRef) {}\n\n ngAfterViewInit() {\n if (this.focus) {\n window.setTimeout(() => {\n this.el.nativeElement.focus()\n }, 10);\n }\n }\n\n @Input() set autofocus(condition: boolean) {\n this.focus = condition !== false\n }\n}","import { Directive, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { User } from '@models/identity/user';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { plainToClass } from 'class-transformer';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[ifRoles]'\n})\nexport class IfRolesDirective implements OnInit, OnDestroy {\n private subscription: Subscription[] = [];\n\n @Input() public ifRoles: Array;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private templateRef: TemplateRef,\n private authenticationService: AuthenticationService\n ) { }\n\n public ngOnInit(): void {\n this.subscription.push(\n this.authenticationService.getLoggedInUserAsObservable().subscribe(result => {\n if (result != null) { // TODO: Add API Return if no User is logged in\n var user = plainToClass(User, result);\n var roles = user.getRolesAsStringArray();\n\n if (!roles) {\n this.viewContainerRef.clear();\n }\n\n const idx = roles.findIndex((element) => this.ifRoles.indexOf(element) !== -1);\n if (idx < 0) {\n this.viewContainerRef.clear();\n } else {\n this.viewContainerRef.createEmbeddedView(this.templateRef);\n }\n }\n })\n );\n }\n\n public ngOnDestroy(): void {\n this.subscription.forEach((subscription: Subscription) => subscription.unsubscribe());\n }\n}\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { IEntity } from '@interfaces/entity';\n\nexport type SortColumn = string;\nexport type SortDirection = 'asc' | 'desc' | '';\nconst rotate: { [key: string]: SortDirection } = { 'asc': 'desc', 'desc': 'asc', '': 'desc' };\n\nexport interface SortEvent {\n column: SortColumn;\n direction: SortDirection;\n}\n\n@Directive({\n selector: 'th[sortable]',\n host: {\n '[class.asc]': 'direction === \"asc\"',\n '[class.desc]': 'direction === \"desc\"',\n '(click)': 'rotate()'\n }\n})\nexport class NgbdSortableHeader {\n\n @Input() sortable: SortColumn = '';\n @Input() direction: SortDirection = '';\n @Output() sort = new EventEmitter();\n\n rotate() {\n this.direction = rotate[this.direction];\n this.sort.emit({ column: this.sortable, direction: this.direction });\n }\n}\n","import { BidiMode } from \"@models/bidiMode\";\nimport { Blackbox } from \"@models/blackbox\";\nimport { ChargingStationDto } from \"./chargingStationDto\";\n\nexport class BidiConfigurationDto {\n id: string;\n gatewayId: number;\n gateway: Blackbox | null;\n bidiModeId: string;\n bidiMode: BidiMode;\n targetPowerInWatt: number;\n minSoc: number;\n maxSoc: number\n chargingStationDtos: ChargingStationDto[] | null;\n\n constructor(data?: Partial) {\n if (data) {\n Object.assign(this, data);\n }\n }\n}","import { EnergyMeterDto } from \"./energyMeterDto\"\nimport { ChargingStationDto } from \"./chargingStationDto\"\nimport { ChargingPointSignalColorDto } from \"./ChargingPointSignalColorDto\"\n\nexport class BlackboxSetup {\n serialNumber: string\n customerId: number\n addressId: number\n chargingStations: ChargingStationDto[]\n energyMeters: EnergyMeterDto\n chargingPointSignalColors: ChargingPointSignalColorDto[]\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue)\n }\n \n updateValues(formValue: Partial) {\n Object.assign(this, formValue)\n }\n}\n","export class ChargingParkSubscriptionDto {\n parkOwnerName: string\n parkOwnerStripeAccountId: string\n StripeCustomerId: string\n stripePriceId: string\n stripeSubscriptionId: string\n\n name: string\n company: string\n email: string\n street: string\n housenumber: string\n line1: string\n line2: string\n postalCode: string\n city: string\n\n userId: string\n\n setupIntentId: string\n stripeClientSecret: string\n paymentMethodId: string\n pricingId: number\n\n url: string;\n}\n","export class ChargingStationByGroupDto {\n id: string;\n name: string;\n customerId: number;\n groupId: number;\n groupName: string;\n allGroupsId: number[];\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { ChargingPower } from \"@models/chargingPower\";\nimport { ConnectorSystems } from \"@models/connectorSystems\";\nimport { Manufacturer } from \"@models/manufacturer\";\nimport { Pricing } from \"@models/pricing\";\nimport { Customer } from \"@models/customer\";\nimport { ChargingStationDlm } from \"@models/ChargingStationDlm\"\nimport { Model } from \"@models/model\";\nimport { Profile } from \"@models/profile\";\nimport { ChargingPoint } from \"@models/chargingPoint\";\nimport { Address } from \"../models/address\";\nimport { ChargingStationStatus } from \"@models/chargingStationStatus\";\n\nexport class ChargingStationDto {\n id: string;\n name: string;\n location: string;\n lat : string;\n lon: string;\n address: Address;\n addressId: number;\n manufacturer: Manufacturer;\n manufacturerId: number;\n model: Model;\n modelId: number;\n profileId: number;\n profile: Profile;\n serialNumber: string;\n chargePointSerialNumber: string;\n installationDate: Date;\n connectorSystems: ConnectorSystems;\n connectorSystemsId: number;\n chargingPowerId: number;\n chargingPower: ChargingPower;\n chargingPowerName: string;\n cableLength: string;\n statusId: number;\n status: ChargingStationStatus;\n displayStatus: string;\n isFreeCharge: boolean;\n isPublicCharge: boolean;\n isPrivateCharge: boolean;\n firmware: string;\n isScanModeActive: boolean;\n pricings: Pricing[];\n chargingPoints: ChargingPoint[];\n dlmMapping: any;\n customerId: number;\n customer: Customer;\n chargingStationDlmId: number;\n chargingStationDlm: ChargingStationDlm;\n localIP: string;\n key: string;\n offlineSince: Date;\n isHubjectAvailable: boolean;\n isHubjectCompatible: boolean;\n displayChargeMode: string;\n offlineStatusReported: boolean;\n displayOffLineReported: string;\n csId?: string;\n\n\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { ChargingStationStatus } from \"@models/chargingStationStatus\";\n\nexport class ChargingStationStatusHistoryDto {\n chargingStationId: string;\n chargingStationName: string;\n connectorId: number;\n\n statusId: number;\n status: ChargingStationStatus;\n\n displayStatus: string;\n\n timestamp: Date;\n\n getPrimaryKey() {\n return this.chargingStationId;\n }\n}\n","import { ChargingPower } from \"@models/chargingPower\";\nimport { ConnectorSystems } from \"@models/connectorSystems\";\nimport { Manufacturer } from \"@models/manufacturer\";\nimport { Pricing } from \"@models/pricing\";\nimport { Customer } from \"@models/customer\";\nimport { ChargingStationDlm } from \"@models/ChargingStationDlm\"\nimport { Model } from \"@models/model\";\nimport { Profile } from \"@models/profile\";\nimport { ChargingPoint } from \"@models/chargingPoint\";\nimport { Address } from \"../models/address\";\nimport { ChargingStationStatus } from \"@models/chargingStationStatus\";\n\nexport class ChargingStationTableDto {\n id: string;\n name: string;\n //location: string;\n //lat : string;\n //lon: string;\n //address: Address;\n //addressId: number;\n manufacturer: Manufacturer;\n manufacturerId: number;\n model: Model;\n modelId: number;\n profileId: number;\n profile: Profile;\n //serialNumber: string;\n //chargePointSerialNumber: string;\n installationDate: Date;\n //connectorSystems: ConnectorSystems;\n //connectorSystemsId: number;\n //chargingPowerId: number;\n //chargingPower: ChargingPower;\n //chargingPowerName: string;\n //cableLength: string;\n isFreeCharge: boolean;\n isPublicCharge: boolean;\n isPrivateCharge: boolean;\n //firmware: string;\n //isScanModeActive: boolean;\n //pricings: Pricing[];\n /**\n * concatenated status of all charging points (used for sorting)\n */\n chargingPointsStatus: string;\n\n // charging station status -> connector id 0. also see charging point status.\n statusId: number;\n status: ChargingStationStatus;\n\n chargingPoints: ChargingPoint[];\n //dlmMapping: any;\n customerId: number;\n customer: Customer;\n //chargingStationDlmId: number;\n //chargingStationDlm: ChargingStationDlm;\n //localIP: string;\n //key: string;\n offlineSince: Date;\n isHubjectAvailable: boolean;\n isHubjectCompatible: boolean;\n displayChargeMode: string;\n offlineStatusReported: boolean;\n displayOffLineReported: string;\n\n\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","export class CheckoutDto {\n priceId: string\n accountId?: string\n userId: string\n \n successUrl?: string\n cancelUrl?: string\n \n checkoutUrl: string\n}\n","import { ChargingStationDto } from \"./chargingStationDto\";\nimport { UserDto } from \"./userDto\";\n\nexport class ChargingstationGroupDto {\n id?: number;\n name: string;\n description?: string;\n countOfChargingStations?: number;\n chargingStations?: ChargingStationDto[];\n chargingStationsNames?: string;\n users?: UserDto[];\n chargingstationsEdited?: boolean;\n usersEdited?: boolean;\n}\n","\nimport { IEntity } from \"@interfaces/entity\";\n\nexport class ConfirmationCodeDto {\n\n id: number;\n created?: Date;\n consumed?: boolean;\n code?: string;\n userId?: string;\n email?: string;\n\n\n\n constructor() {\n this.id = 0;\n this.code = \"\";\n this.userId = \"\";\n this.email = \"\";\n }\n}\n","import { OpenItemsActionEnum } from \"@enums/openItemsActionEnum.enum\";\n\nexport class DeletePricingRequest {\n openItemsAction: OpenItemsActionEnum;\n shouldKeepAuth: boolean;\n}\n","import { User } from \"@models/identity/user\"\n\nexport class DeliveryNoteSettingsDto {\n id: number\n\n customerId: number\n \n fileNameFirstVariable: string\n fileNameSecondVariable: string\n fileNameThirdVariable: string\n\n numberOfDeliveryNotes: boolean\n isCreatedMonthly: boolean\n}\n","import { EnergyMeter } from \"@models/energyMeter\";\nimport { EnergyMonitorHistoryData } from \"@dto/energyMonitorHistoryData\";\nimport { EnergyMonitorDistributionData } from \"@dto/energyMonitorDistributionData\";\nimport { EnergyMonitorFlowData } from \"@dto/energyMonitorFlowData\";\n\nexport class EnergyMonitorData {\n \n entityName = \"EnergyMonitorData\";\n\n utcStartDate: Date = new Date();\n utcEndDate: Date = new Date();\n\n // powerGridInjectionInWh: number = 0;\n // powerGridExtractionInWh: number = 0;\n // generatedEnergyInWh: number = 0;\n // totalConsumptionInWh: number = 0;\n // directConsumptionInWh: number = 0;\n // autarkyInPercent: number = 0;\n \n totalExportedInWh: number = 0;\n totalDeliveredInWh: number = 0;\n generatedEnergyInWh: number = 0;\n totalConsumptionInWh: number = 0;\n directConsumptionInWh: number = 0;\n autarkyInPercent: number = 0;\n\n\n historyData: EnergyMonitorHistoryData[] = [];\n distributionData: EnergyMonitorDistributionData = null;\n flowData: EnergyMonitorFlowData[] = [];\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n}\n","import { BillingMethodEnum } from \"@enums/billingMethodEnum.enum\"\nimport { InvoiceItemDto } from \"./invoiceItemDto\"\nimport { UserDto } from \"./userDto\"\nimport { InvoiceStatusEnum } from \"@enums/invoiceStatusEnum.enum\"\n\nexport class InvoiceDto {\n id: number\n invoiceNumber: string\n\n invoiceMeterAmount: number\n\n invoiceAmount: number\n tax: number\n subtotal: number\n\n createdAt: Date\n dueAt?: Date\n paidAt?: Date\n\n ownerUserId: string\n ownerUser: UserDto\n ownerCustomerId: number\n ownerCompany?: string\n ownerFirstName?: string\n ownerLastName?: string\n ownerFullName?: string\n ownerStreet: string\n ownerHouseNumber: string\n ownerPostcode: string\n ownerCity: string\n ownerEmail?: string\n ownerPhone?: string\n ownerCeo: string\n ownerVatId: string\n ownerCommercialRegister: string\n ownerCommercialRegisterId: string\n ownerBank: string\n ownerIban: string\n ownerBic: string\n\n recipientUserId?: string\n recipientUser: UserDto\n recipientCompany?: string\n recipientFirstName?: string\n recipientLastName?: string\n recipientFullName: string\n recipientGender?: string\n recipientStreet: string\n recipientHouseNumber: string\n recipientPostcode: string\n recipientCity: string\n recipientEmail?: string\n recipientPhone?: string\n\n pdfDownloadUrl: string\n invoiceType: number\n stripeCustomerId: string\n paymentMethod: string\n paymentMethodLast4: string\n paymentMethodExpires: string\n invoiceItems: InvoiceItemDto[]\n billingMethod: BillingMethodEnum\n type: string\n payoutStatementId: number\n status: InvoiceStatusEnum\n}\n","import { BillingMethodEnum } from \"@enums/billingMethodEnum.enum\"\nimport { User } from \"@models/identity/user\"\nimport { Invoice } from \"@models/invoice\"\nimport { Transaction } from \"@models/transaction\"\n\nexport class InvoiceItemDto {\n id: number\n issuerUserId: string\n recipientUserId: string\n recipientUserFullName: string\n quantity: number\n unitPrice: number\n total: number\n createdAt: Date\n updatedAt: Date\n billingMethod: BillingMethodEnum\n startTimestamp: Date\n\n}\n","import { User } from \"@models/identity/user\"\n\nexport class InvoiceSettingsDto {\n id: number\n ownerUserId: string\n owner: User\n \n ceo?: string\n vatId?: string\n commercialRegister?: string\n commercialRegisterId?: string\n bank?: string\n iban?: string\n bic?: string\n \n isUsingStationery?: boolean\n stationaryFileUri?: string\n stationaryFileName?: string\n logoFileUri?: string\n logoFileName?: string\n letterheadHeight?: number\n footnoteHeight?: number\n isUsingFootnote?: boolean\n}\n","import { IEntity } from \"@interfaces/entity\";\n\nexport class MasterUserOfCustomer implements IEntity {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n fullName: string;\n gender: string;\n street: string;\n houseNumber: string;\n postcode: string;\n city: string;\n phone: string;\n registrationDate: Date;\n\n customerId: number;\n\n entityName = \"MasterUserOfCustomer\";\n\n getPrimaryKey() {\n return this.id;\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { Manufacturer } from \"@models/manufacturer\";\nimport { Type } from \"class-transformer\";\nimport { Profile } from \"@models/profile\";\n\nexport class ModelDto implements IEntity {\n id: string;\n name: string;\n @Type(() => Manufacturer)\n manufacturer: Manufacturer;\n manufacturerId: number;\n @Type(() => Profile)\n profile: Profile;\n profileId: number;\n integrationDate?: Date;\n pictureUri: string;\n\n\n\n entityName: \"modelDto\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue)\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue)\n }\n\n getPrimaryKey() {\n return this.id\n }\n\n}\n","import { AvailabilityType } from \"@enums/AvailabilityType.enum\";\n\nexport class ChangeAvailabilityRequest\n{\n connectorId: number;\n type: AvailabilityType;\n}","import { BillingMethodEnum } from \"@enums/billingMethodEnum.enum\";\nimport { UserDto } from \"./userDto\";\n\nexport class PaymentReceiptDto {\n Id: number\n stripeChargeId: string\n customerId: number\n userId: string\n amount: number\n amountCaptured: number\n amountRefunded: number\n receiptDescription: string\n receiptCreatedDate: Date\n applicationFee: number\n stripeCustomerId: string\n stripeInvoiceId: string\n paymentIntentId: string\n receiptURL: string\n billingMethod: BillingMethodEnum\n receiptTypeText: string\n\n userFullName: string\n customerFullName: string\n}","import { BillingMethodEnum } from \"@enums/billingMethodEnum.enum\"\nimport { UserDto } from \"./userDto\"\n\nexport class PricingDto {\n id: number\n ownerUserId: string\n productId: string\n priceId: string\n \n type: string\n billingMethod: BillingMethodEnum\n name: string\n description: string\n price: number\n priceDc: number\n isPublic: boolean\n isArchived: boolean\n created: Date\n \n selectedUsers?: UserDto[]\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue)\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue)\n }\n\n getPrimaryKey() {\n return this.id\n }\n}\n","export class PublicChargeSubscriptionDto {\n chargingStationId: string\n\n /**\n * The actual charging point database index, not the connector id.\n */\n chargingPointId: number\n parkOwnerName: string\n parkOwnerStripeAccountId: string\n stripePriceId: string\n stripePaymentIntentId?: string\n stripeClientSecret?: string\n \n email: string\n method: string\n \n cardnumber?: string\n expirationdate?: string\n security?: string\n cardOwner?: string\n\n iban?: string\n accountOwner?: string\n\n company: string\n name: string\n street: string\n housenumber: string\n postcode: string\n city: string\n country: string\n\n maxAmount?: number\n}\n","import { BillingMethodEnum } from \"@enums/billingMethodEnum.enum\";\nimport { OpenItemsActionEnum } from \"@enums/openItemsActionEnum.enum\";\n\nexport class RemovePricingRequest {\n openItemsAction: OpenItemsActionEnum;\n shouldKeepAuth: boolean;\n invoiceItemIds: number[];\n userIds: string [];\n BillingMethod: BillingMethodEnum;\n}\n","import { DatePipe } from \"@angular/common\";\nimport { Tag } from \"@models/tag\";\nimport { IEntity } from \"../interfaces/entity\";\n\nexport class RfidCardDto implements IEntity {\n id: number;\n idTag: string;\n\n userId: string;\n userFirstName: string;\n userLastName: string;\n\n chargingStationId?: string;\n\n customerId: number;\n\n lastAuthorizationDate: DatePipe;\n expiryDate: DatePipe;\n\n lastUsedChargingStationId: string;\n lastUsedChargingStationName: string;\n\n tags: Tag[];\n\n note: string;\n tagsString: string;\n\n isCreatedBySystem: boolean;\n isOwnerChanged: boolean;\n\n entityName = \"RfidCardDto\";\n\n getPrimaryKey() {\n return this.id;\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n}\n","import { ChargingStationStatus } from \"../models/chargingStationStatus\";\n\nexport class StatusNotificationsDto {\n chargingStationId: string;\n\n connectorId: number;\n chargingStationName: string;\n\n statusId: number;\n status: ChargingStationStatus;\n displayStatus: string;\n\n info: string;\n vendorId: string;\n vendorErrorCode: string;\n timestampFromChargeBox: Date;\n timestampFromServer: Date;\n errorCode: string;\n\n customerId: number;\n customerName: string;\n\n getPrimaryKey() {\n return this.chargingStationId;\n }\n}","import { IEntity } from \"../interfaces/entity\";\n\nexport class StripeInfoDto implements IEntity {\n id: number\n\n userId: string\n\n stripeSubscriptionId: string\n stripeCustomerId: string\n stripeAccountId: string\n stripeOnboardingUrl: string\n stripeDashboardUrl: string\n stripeProductId: string\n\n stripePaymentMethodId: string\n stripeInvoiceId: string\n\n entityName = \"StripeInfoDto\";\n\n getPrimaryKey() {\n return this.id;\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n}\n","export class SupportTicketRequest {\n senderName: string;\n senderEmail: string;\n chargingStationID: string;\n chargingStationName: string;\n chargingStationManufacturer: string;\n chargingStationModel: string;\n chargingStationFirmwareVersion: string;\n customerName: string;\n chargingStationSerialNo: string;\n customerEnteredText: string;\n emailSubject: string;\n diagnostics: boolean\n}\n","import { IDto } from \"@interfaces/dto\"\nimport { Pricing } from \"@models/pricing\"\nimport { ChargingstationGroup } from \"./chargingstationGroup\"\nimport { ChargingPowerProfile } from \"@models/chargingPowerProfile\"\nimport { ChargingStationStatus } from \"@models/chargingStationStatus\"\n\nexport class TransactionDto implements IDto {\n id?: number\n transactionId?: number\n\n startTimestamp: Date\n stopTimestamp: Date\n fromToDate: string\n\n meterStart: number\n meterStop: number\n meterAmount: number\n success?: number\n successMessage: string\n reason?: string\n price: number = 0\n lastUpdated?: Date\n\n chargingStationId?: string\n chargingStationName?: string\n chargingStationGroups: ChargingstationGroup[]\n connectorId?: number\n chargingStationNumberOfChargingPoints?: number\n\n rfidCardId: number\n rfidCardIdTag?: string\n\n userId: string\n userFirstName: string\n userLastName: string\n\n pricingId: number\n pricing: Pricing\n invoiceId: number\n\n duration: string\n isFreeCharge: boolean\n paymentIntentId: string\n hecId?: string\n\n chargeDiameter?: any\n\n chargingPowerProfile?: ChargingPowerProfile\n status?: ChargingStationStatus // this is meant to represent a compound status of charging station and charging point.\n currentMeter?: number // null if no meter value has been received yet. This field is missing in the C# DTO (unknown reason).\n currentSoC: string\n currentPower: string\n\n sessionId?: string\n\n entityName = \"TransactionDto\"\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue)\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue)\n }\n\n getPrimaryKey() {\n return this.id\n }\n}\n","\nimport { IEntity } from \"@interfaces/entity\";\nimport { PricingDto } from \"./pricingDto\";\nimport { Address } from \"../models/address\";\n\nexport class UserDto implements IEntity {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n fullName: string;\n gender: string;\n company: string;\n rfidCardsString: string;\n address: Address;\n postcode: string;\n city: string;\n street: string;\n houseNumber: string;\n pricing?: PricingDto;\n pricingId?: number;\n allowedChargingStationsString: string;\n selectedCustomerId: number;\n subscriptionTypeId: number;\n isPasswordSet?: boolean;\n\n entityName = \"UserDto\";\n\n getPrimaryKey() {\n return this.id;\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { ChargingStationByGroupDto } from \"./chargingStationByGroupDto\";\nimport { RfidCardDto } from \"./rfidCardDto\";\nimport { PricingDto } from '@dto/pricingDto';\nimport { Address } from \"../models/address\";\nimport { ChargingstationGroupDto } from \"./chragingstationGroupDto\";\n\nexport class UserEditDto implements IEntity {\n id: string;\n email: string;\n username: string;\n firstName: string;\n lastName: string;\n fullName: string;\n gender: string;\n rfidCardsString: string;\n allowedChargingStationsString: string;\n selectedCustomerId: number;\n subscriptionTypeId: number;\n rfidCards: RfidCardDto[];\n pricing?: PricingDto;\n address?: Address;\n pricingId?: number;\n pricingName: string;\n chargingStations: ChargingStationByGroupDto[];\n chargingGroups: ChargingstationGroupDto[];\n chargingPowerProfileId: number;\n\n entityName = \"UserEditDto\";\n\n getPrimaryKey() {\n return this.id;\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n}\n","import { BillingMethodEnum } from \"@enums/billingMethodEnum.enum\";\n\nexport class UserTableEntry {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n rfidCardsString: string;\n allowedChargingStationsString: string;\n pricingName?: string;\n price: number;\n billingMethod?: BillingMethodEnum;\n company?: string;\n contactPerson?: string;\n\n stripeSubscriptionId: string;\n stripeCustomerId: string;\n stripePaymentMethodId: string;\n stripeInvoiceId: string;\n\n isStripeSubscripitionActive?: boolean\n requiredActionMessage: string\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","export enum AvailabilityType {\n INOPERATIVE = 'Inoperative',\n OPERATIVE = 'Operative'\n}","export enum EnergyMeterConnectedDeviceType {\n PV = \"pv\",\n SUPPLY = \"supply\",\n CHARGING_PARK = \"chargingPark\",\n BATTERY = \"battery\",\n BUILDING = \"building\",\n}","export enum BillingMethodEnum {\n Manual = 'Manual',\n QRCode = 'QRCode',\n Automatic = 'Automatic'\n}","export enum ChangeScanModeResponse {\n Success = 1,\n Error = 2,\n WallboxNotConnected = 3,\n FreechargeIsActive = 4\n}\n","export enum ChargingPointStatusEnum {\n Unregistered = 1,\n Available = 2,\n Charging = 3,\n Faulted = 4,\n Finishing = 5,\n Preparing = 6,\n Reserved = 7,\n SuspendedEV = 8,\n SuspendedEVSE = 9,\n Unavailable = 10,\n Offline = 11\n}","export enum DeliveryNoteTemplateType {\n Download = 1,\n Email = 2,\n}\n","export enum DlmMode {\n Deaktiviert = 0,\n DLMMasterWithInternalSlave = 1,\n Standalone = 2,\n MasterAutoDiscovery = 3,\n MasterFixedIP = 4\n}\n","export enum InvoicePDFType {\n Download = 1,\n Email = 2,\n}\n","export enum OpenItemsActionEnum {\n InstantBilling = 'InstantBilling',\n LaterBilling = 'LaterBilling',\n NoMoreBilling = 'NoMoreBilling'\n}","export enum Roles {\n Administrator = \"Administrator\",\n User = \"User\",\n Customer = \"Customer\",\n Operator = \"Operator\",\n}\n","export enum SubscriptionTypeEnum {\n Basic = 1,\n Standard = 2,\n Premium = 3,\n Enterprise = 4\n}\n","export enum TransactionSuccess {\n \"Ladevorgang läuft\",\n \"Ladevorgang vorzeitig beendet\",\n \"Ladevorgang vollständig\",\n \"Ladevorgang abgebrochen\",\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n\n constructor(private authenticationService: AuthenticationService, private router: Router) { }\n\n async canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return true;\n //if (this.authenticationService.accessTokenExists()) {\n // if (this.authenticationService.isAccessTokenValid()) {\n // return true;\n // }\n //}\n\n //this.authenticationService.logout();\n //this.router.navigate(['/auth/login']);\n //return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RoleGuard implements CanActivate {\n\n constructor(private authenticationService: AuthenticationService, private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n var roles = route.data.roles as Array;\n\n if (this.authenticationService.isAccessTokenValid()) {\n if (this.authenticationService.userHasAnyRole(roles)) {\n return true;\n }\n\n this.router.navigate(['/auth/login'], { queryParams: { returnUrl: \"/\", message: \"Sie haben keinen Zugriff auf die von Ihnen aufgerufene Seite. Bitte melden Sie sich mit dem entsprechendem Konto an.\" } });\n return false;\n }\n\n this.router.navigate(['/auth/login'], { queryParams: { returnUrl: state.url, message: \"\" } });\n return false;\n }\n}\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, from, Observable, Subject, throwError } from 'rxjs';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { catchError, filter, switchMap, take } from 'rxjs/operators';\nimport { TokenMessage } from '@dto/tokenMessage';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthInterceptor implements HttpInterceptor {\n\n private isRefreshing = false;\n private refreshTokenSubject: BehaviorSubject = new BehaviorSubject(null);\n\n constructor(private authenticationService: AuthenticationService, private router: Router) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n\n if (this.authenticationService.getAccessToken()) {\n request = this.addToken(request, this.authenticationService.getAccessToken());\n }\n\n return next.handle(request).pipe(catchError(error => {\n if (error instanceof HttpErrorResponse && error.status === 401) {\n return this.handle401Error(request, next);\n } else {\n return throwError(error);\n }\n }));\n }\n\n private addToken(request: HttpRequest, token: string) {\n return request.clone({\n setHeaders: {\n 'Authorization': `Bearer ${token}`\n }\n });\n }\n\n private handle401Error(request: HttpRequest, next: HttpHandler) {\n if (!this.isRefreshing) {\n this.isRefreshing = true;\n this.refreshTokenSubject.next(null);\n\n return this.authenticationService.refreshToken().pipe(\n switchMap((tokenMessage: TokenMessage) => {\n this.isRefreshing = false;\n this.authenticationService.sendAuthStateChangeNotification(true);\n this.refreshTokenSubject.next(tokenMessage.accessToken);\n return next.handle(this.addToken(request, tokenMessage.accessToken));\n }), catchError((e) => {\n this.isRefreshing = false;\n this.authenticationService.logout();\n this.router.navigate(['/auth/login']);\n return throwError(e);\n }));\n } else {\n return this.refreshTokenSubject.pipe(\n filter(token => token != null),\n take(1),\n switchMap(accessToken => {\n return next.handle(this.addToken(request, accessToken));\n }));\n }\n\n }\n}\n","export class Address {\n id: number;\n postalCode: string;\n city: string;\n street: string;\n houseNumber: string;\n country: string;\n latitude: string;\n longitude: string;\n\n constructor(formValue?: Partial
    ) {\n Object.assign(this, formValue);\n }\n}\n","import { IEntity } from \"../interfaces/entity\";\n\nexport class BankDetails implements IEntity {\n\n id: number;\n bank: string;\n bic: string;\n iban: string;\n accountHolder: string;\n sepaCheck: boolean;\n\n entityName = \"BankDetails\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { ChargingStationDto } from \"@dto/chargingStationDto\";\nimport { BidiMode } from \"./bidiMode\";\nimport { Blackbox } from \"./blackbox\";\nimport { ChargingStation } from \"./charging-station\";\n\nexport class BidiConfiguration {\n id: string;\n gatewayId: number;\n gateway: Blackbox | null;\n bidiModeId: string;\n bidiMode: BidiMode;\n targetPowerInWatt: number;\n minSoc: number;\n maxSoc: number\n chargingStations: ChargingStation[] | null;\n\n constructor(data?: Partial) {\n if (data) {\n Object.assign(this, data);\n }\n }\n}","import { IEntity } from \"@interfaces/entity\";\nimport { ChargingStation } from \"./charging-station\";\nimport { Customer } from \"./customer\";\nimport { Address } from \"./address\";\nimport { EnergyMeter } from \"./energyMeter\";\nimport { ChargingPointSignalColorDto } from \"@dto/ChargingPointSignalColorDto\";\n\nexport class Blackbox implements IEntity {\n id: number;\n serialNumber: string;\n\n customerId: number;\n customer: Customer;\n\n addressId: number;\n address: Address;\n\n chargingStations: ChargingStation[];\n energyMeters: EnergyMeter[];\n chargingPointSignalColors: ChargingPointSignalColorDto[];\n\n isDeleted: boolean;\n\n entityName = \"Blackbox\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { ChargingPower } from \"./chargingPower\";\nimport { ConnectorSystems } from \"./connectorSystems\";\nimport { User } from \"./identity/user\";\nimport { Manufacturer } from \"./manufacturer\";\nimport { RfidCard } from \"./rfidCard\";\nimport { Pricing } from \"./pricing\";\nimport { ChargingStationStatus } from \"./chargingStationStatus\";\nimport { Customer } from \"./customer\";\nimport { Address } from \"./address\";\nimport { ChargingStationDlm } from \"./ChargingStationDlm\";\nimport { Model } from \"./model\";\nimport { Profile } from \"./profile\"\nimport { ChargingstationGroupDto } from \"@dto/chragingstationGroupDto\";\nimport { ChargingPoint } from \"./chargingPoint\";\n\nexport class ChargingStation implements IEntity {\n id: string;\n name: string;\n lat: string;\n lon: string;\n location: string;\n addressId: number;\n address: Address;\n manufacturer: Manufacturer;\n manufacturerId: number;\n model: Model;\n modelId: number;\n profileId: number;\n profile: Profile;\n serialNumber: string;\n chargePointSerialNumber: string;\n installationDate: Date;\n connectorSystems: ConnectorSystems;\n connectorSystemsId: number;\n chargingPowerId: number;\n chargingPower: ChargingPower;\n chargingPowerName: string;\n cableLength: string;\n\n // charging station status -> connector id 0. also see charging point status.\n statusId: number;\n status: ChargingStationStatus;\n\n displayStatus: string;\n isFreeCharge: boolean;\n isPublicCharge: boolean;\n isPrivateCharge: boolean;\n firmware: string;\n isScanModeActive: boolean;\n pricings: Pricing[];\n chargingPoints: ChargingPoint[];\n \n customerId: number;\n customer: Customer;\n dlmMapping: any;\n allowedRfidCards: RfidCard[];\n allowedUsers: User[];\n\n key: string;\n\n localIP: string;\n\n chargingStationDlmId: number;\n chargingStationDlm: ChargingStationDlm;\n chargingstationGroupsDto: ChargingstationGroupDto[];\n evseId: string;\n offlineSince: Date;\n csId: string;\n isHubjectAvailable: boolean;\n isHubjectCompatible: boolean;\n displayChargeMode: string;\n offlineStatusReported: boolean;\n displayOffLineReported: string;\n\n\n entityName = \"ChargingStation\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { IEntity } from \"@interfaces/entity\"\n\nexport class ChargingPowerProfile implements IEntity {\n id: number\n name: string\n key: string\n\n entityName = \"ChargingPowerProfile\"\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue)\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue)\n }\n\n getPrimaryKey() {\n return this.id\n }\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { Type } from \"class-transformer\";\nimport { BankDetails } from \"./bankDetails\";\nimport { Operator } from \"./operator\";\nimport { Subscription } from \"./subscription\";\nimport { StripeInfo } from \"./stripeInfo\";\nimport { User } from \"./identity/user\";\nimport { UserDto } from \"../dto/userDto\";\n\nexport class Customer implements IEntity{\n id: number;\n\n customerId: number;\n name: string;\n email: string;\n\n internalDescription: string;\n\n contactPerson: string;\n\n masterRfidCardIdTag: string;\n\n @Type(() => BankDetails)\n bankDetails: BankDetails;\n\n @Type(() => Operator)\n operator: Operator;\n operatorId: number;\n\n @Type(() => UserDto)\n users: UserDto;\n usersId: number;\n\n @Type(() => StripeInfo)\n stripeInfo: StripeInfo;\n stripeInfoId: number;\n\n @Type(() => Subscription)\n subscription: Subscription;\n subscriptionId: number;\n\n\n entityName = \"Customer\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { Customer } from \"./customer\";\nimport { User } from \"./identity/user\";\n\nexport class CustomerNote implements IEntity {\n id?: number;\n\n subject: string;\n content: string;\n\n author: string;\n //createdByUserId?: string;\n //createdByUser?: User;\n\n timestamp?: Date;\n\n customerId: number;\n customer?: Customer;\n\n entityName = \"CustomerNote\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { Type } from \"class-transformer\";\nimport { TransactionDto } from \"@dto/transactionDto\";\nimport { IEntity } from \"@interfaces/entity\";\nimport { Customer } from \"./customer\";\nimport { User } from \"./identity/user\";\nimport { Transaction } from \"./transaction\";\nimport { Address } from \"./address\";\n\nexport class DeliveryNote implements IEntity {\n id: number;\n\n deliveryNoteNumber: string;\n\n transactions: Transaction[] | TransactionDto[];\n\n deliveryPeriodStart: Date;\n deliveryPeriodEnd: Date;\n deliveryNoteSendTimestamp: Date;\n\n @Type(() => User)\n userId: string;\n user: User;\n\n @Type(() => Address)\n addressId: number;\n address: Address;\n\n @Type(() => Customer)\n customerId: number;\n customer: Customer;\n\n entityName = \"DeliveryNote\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { IEntity } from \"@interfaces/entity\"\nimport { User } from \"@models/identity/user\"\n\nexport class DeliveryNoteSettings implements IEntity {\n id: number\n ownerUserId: string\n owner: User\n \n fileNameFirstVariable: string\n fileNameSecondVariable: string\n fileNameThirdVariable: string\n\n isCreatedMonthly: boolean\n\n entityName = \"DeliveryNoteSettings\"\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue)\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue)\n }\n\n getPrimaryKey() {\n return this.id\n }\n}\n","import { Type } from \"class-transformer\";\nimport { IEntity } from \"@interfaces/entity\";\n\nexport class Role {\n name: string;\n\n constructor(name: string) {\n this.name = name;\n }\n}\n","import { Type } from \"class-transformer\";\nimport { IEntity } from \"@interfaces/entity\";\nimport { Address } from \"../address\";\nimport { UserRole } from \"../identity/userRole\";\nimport { Customer } from \"@models/customer\";\nimport { RfidCard } from \"@models/rfidCard\";\nimport { Setting } from \"@models/setting\";\nimport { ChargingStation } from \"@models/charging-station\";\nimport { Pricing } from \"@models/pricing\";\n\nexport class User implements IEntity {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n gender: string;\n type: string;\n company: string;\n phone: string;\n pictureUri: string;\n pictureFileName: string;\n isMasterUser: boolean;\n\n @Type(() => Address)\n address: Address;\n addressId: number;\n\n @Type(() => Customer)\n selectedCustomer: Customer;\n selectedCustomerId: number;\n\n rfidCards: RfidCard[];\n allowedChargingStations: ChargingStation[];\n\n @Type(() => UserRole)\n userRoles: UserRole[];\n\n @Type(() => Customer)\n settings: Setting;\n settingId: number;\n \n @Type(() => Pricing)\n pricing: Pricing;\n pricingId: number;\n\n entityName = \"User\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n\n get rfidCardsString(): string {\n var rfidCards = this.rfidCards.map(function (item) {\n return item['idTag'];\n });\n return rfidCards.toString();\n }\n\n get allowedChargingStationsString(): string {\n var allowedChargingStations = this.allowedChargingStations.map(function (item) {\n return item['name'];\n });\n return allowedChargingStations.toString();\n }\n\n get fullName(): string {\n return this.firstName + ' ' + this.lastName;\n }\n\n getRolesAsString(): string {\n var roleString = \"\";\n\n for (var i = 0; i < this.userRoles.length; i++) {\n roleString = roleString.concat(this.userRoles[i].role.name);\n\n if (!(i == this.userRoles.length - 1)) {\n roleString = roleString.concat(\", \");\n }\n }\n\n return roleString;\n }\n\n getRolesAsStringArray(): string[] {\n var rolesStringArray: string[] = [];\n\n for (var userRole of this.userRoles) {\n rolesStringArray.push(userRole.role.name);\n }\n\n return rolesStringArray;\n }\n\n //getRolesAsString(): string {\n // var roleString = \"\";\n\n // for (var i = 0; i < this.roles.length; i++) {\n // roleString = roleString.concat(this.roles[i].name);\n\n // if (!(i == this.roles.length - 1)) {\n // roleString = roleString.concat(\", \");\n // }\n // }\n\n // return roleString;\n //}\n\n //getRolesAsStringArray(): string[] {\n // var rolesStringArray: string[] = [];\n\n // for (var role of this.roles) {\n // rolesStringArray.push(role.name);\n // }\n\n // return rolesStringArray;\n //}\n}\n","import { Type } from \"class-transformer\";\nimport { IEntity } from \"@interfaces/entity\";\nimport { User } from \"../identity/user\";\nimport { Role } from \"./role\";\nimport { Customer } from \"@models/customer\";\n\nexport class UserRole {\n user: User;\n\n @Type(() => Role)\n role: Role;\n\n customerId: number;\n customer: Customer;\n}\n","import { IEntity } from \"@interfaces/entity\";\n\nexport class Manufacturer implements IEntity {\n id: string;\n name: string;\n\n entityName = \"Manufacturer\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { Customer } from \"./customer\";\n\nexport class Operator implements IEntity{\n id: number;\n name: string;\n\n customers: Customer[];\n\n entityName = \"Operator\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { IEntity } from \"@interfaces/entity\"\n\nexport class Pricing implements IEntity {\n id: number\n ownerUserId: string\n productId: string\n priceId: string\n \n name: string\n description: string\n price: number\n priceDc: number\n isPublic: boolean\n isArchived: boolean\n created: Date\n\n entityName = \"Pricing\"\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue)\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue)\n }\n\n getPrimaryKey() {\n return this.id\n }\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { Type } from \"class-transformer\";\n\nexport class Profile implements IEntity {\n id: string;\n name: string;\n isErk: boolean;\n isOcpp16: boolean;\n isOcpp20: boolean;\n isOcpp201: boolean;\n numberOfConnectors: number;\n isUpdatable: boolean;\n isMobile: boolean;\n isAc: boolean;\n isDc: boolean;\n isPnc: boolean;\n isBidi:boolean;\n\n minBidiChargePower: number;\n maxBidiChargePower: number;\n minBidiDischargePower: number;\n maxBidiDischargePower: number;\n\n entityName = \"Profile\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { Type } from \"class-transformer\";\nimport { ChargingStation } from \"./charging-station\";\nimport { Customer } from \"./customer\";\nimport { User } from \"./identity/user\";\nimport { Tag } from \"./tag\";\n\nexport class RfidCard implements IEntity {\n id: number;\n idTag: string;\n\n userId: string;\n user: User;\n\n customerId: number;\n customer: Customer;\n\n lastAuthorizationDate: Date;\n\n lastUsedChargingStationId: string;\n lastUsedChargingStation: ChargingStation;\n\n note: string;\n tags: Tag[];\n\n entityName = \"RfidCard\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { IEntity } from \"@interfaces/entity\"\n\nexport class StripeInfo implements IEntity {\n id: number\n \n userId: string\n\n stripeSubscriptionId: string\n stripeCustomerId: string\n stripeAccountId: string\n stripeOnboardingUrl: string\n stripeProductId: string\n\n entityName = \"StripeInfo\"\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue)\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue)\n }\n\n getPrimaryKey() {\n return this.id\n }\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { SubscriptionType } from \"./subscriptionType\";\n\nexport class Subscription implements IEntity {\n id: number;\n\n subscriptionTypeId: number;\n subscriptionType: SubscriptionType;\n\n startDate: Date;\n endDate: Date;\n\n entityName = \"Subscription\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","export class TableFilter {\n entries?: number\n fromDate?: string // format: \"YYYY-MM-DD\"\n toDate?: string // format: \"YYYY-MM-DD\"\n showSignal?: boolean = false; // Signal Status hide/show\n showDLM?: boolean = false;// DLM-Status hide/show\n filterSignal?: boolean = false;\n filterDLM?: boolean = false;\n}\n","import { IEntity } from \"@interfaces/entity\";\nimport { Customer } from \"./customer\";\nimport { RfidCard } from \"./rfidCard\";\n\nexport class Tag implements IEntity{\n id: number;\n name: string;\n\n rfidCards: RfidCard[];\n\n customerId: number;\n customer: Customer;\n\n entityName = \"Tag\";\n\n constructor(formValue?: Partial) {\n Object.assign(this, formValue);\n }\n\n updateValues(formValue: Partial) {\n Object.assign(this, formValue);\n }\n\n getPrimaryKey() {\n return this.id;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'substractDate'\n})\nexport class SubstractDatePipe implements PipeTransform {\n\n transform(fromDate: Date, substractDate: Date): string {\n const difference = fromDate.valueOf() - substractDate.valueOf();\n\n const minutes = Math.floor((difference / (1000 * 60)) % 60);\n const hours = Math.floor(difference / (1000 * 60 * 60) % 24);\n\n return `${this.formatTime(hours)}:${this.formatTime(minutes)}`;\n }\n\n formatTime(time: number): string {\n const formattedTime = (time < 10) ? '0' + time : time.toString();\n return formattedTime;\n }\n\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\n@Pipe({\n name: 'dateDEShort'\n})\nexport class DEDatePipeShort implements PipeTransform {\n\n constructor(private datePipe: DatePipe = new DatePipe('de-DE')) {\n\n }\n\n transform(value: any, _format?: string, _timezone?: string): any {\n return this.datePipe.transform(value, 'mediumDate','CET');\n } \n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\n@Pipe({\n name: 'dateDE'\n})\nexport class DEDatePipe implements PipeTransform {\n\n constructor(private datePipe: DatePipe = new DatePipe('de-DE')) {\n\n }\n\n transform(value: any, _format?: string, _timezone?: string): any {\n return this.datePipe.transform(value, 'medium','CET');\n }\n\n transformIso(value: any, _format?: string, _timezone?: string): any {\n return this.datePipe.transform(value, 'short', 'UTC');\n }\n\n transformToIso(value: any, _format?: string, _timezone?: string): any {\n return this.datePipe.transform(value, 'YYYY-MM-DDTHH:mm', 'UTC');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\n@Pipe({\n name: 'kwh'\n})\nexport class KwhPipe implements PipeTransform {\n\n constructor(private decimalPipe: DecimalPipe = new DecimalPipe('de-DE')) {\n\n }\n\n transform(value: any, digits?: any): any {\n return this.decimalPipe.transform(value / 1000, digits ? `1.${digits}-${digits}` : '1.3-3', 'de-DE')\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\n@Pipe({\n name: 'thousand'\n})\nexport class ThousandPipe implements PipeTransform {\n\n constructor(private decimalPipe: DecimalPipe = new DecimalPipe('de-DE')) {\n\n }\n\n transform(value: any, digits?: any): any {\n return this.decimalPipe.transform(value / 1000, '1.2-2', 'de-DE')\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'week'\n})\nexport class WeekPipe implements PipeTransform {\n\n transform(value: Date): number {\n return this.getWeekNumber(value);\n }\n\n private getWeekNumber(d: Date): number {\n var date = new Date(d.getTime());\n date.setHours(0, 0, 0, 0);\n // Thursday in current week decides the year.\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\n // January 4 is always in week 1.\n var week1 = new Date(date.getFullYear(), 0, 4);\n // Adjust to Thursday in week 1 and count number of weeks from date to week1.\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000\n - 3 + (week1.getDay() + 6) % 7) / 7);\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { Observable, Subject } from 'rxjs';\nimport { AuthRequest } from '@dto/authRequest';\nimport { AuthResponse } from '@dto/authResponse';\nimport { ForgotPasswordRequest } from '@dto/forgotPasswordRequest';\nimport { OnboardingRequest } from '@dto/onboardingRequest';\nimport { RegistrationRequest } from '@dto/registrationRequest';\nimport { RegistrationResponse } from '@dto/registrationResponse';\nimport { ResetPasswordRequest } from '@dto/resetPasswordRequest';\nimport { CustomEncoder } from '../custom-encoder';\nimport { User } from '@models/identity/user';\nimport { SendInviteRequest } from '@dto/sendInviteRequest';\nimport { SendInviteResponse } from '@dto/sendInviteResponse';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { TokenMessage } from '@dto/tokenMessage';\nimport { tap } from 'rxjs/operators';\nimport { UsersService } from '@services/entity/users.service';\nimport { UserDto } from '@dto/userDto';\nimport { PaymentsService } from '@services/payments/payments.service';\nimport { ClaimRfidCardRequest } from '@dto/claimRfidCardRequest';\nimport { Roles } from '@enums/roles.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthenticationService {\n\n private authChangeSub = new Subject();\n public authChanged$ = this.authChangeSub.asObservable();\n\n private currentUserSub = new Subject();\n public currentUserLoaded$ = this.currentUserSub.asObservable();\n\n private currentUser: UserDto;\n private rolesOfCurrentUser: string[];\n constructor(\n @Inject('BASE_URL') private baseUrl: string,\n private http: HttpClient,\n private jwtHelper: JwtHelperService,\n private router: Router,\n private spinner: NgxSpinnerService,\n private usersService: UsersService,\n private paymentsService: PaymentsService) {\n this.authChanged$.subscribe(result => {\n this.onAuthChanged(result);\n })\n }\n\n public sendAuthStateChangeNotification(isAuthenticated: boolean) {\n if (isAuthenticated) {\n this.authChangeSub.next(isAuthenticated);\n }\n }\n\n private async onAuthChanged(isAuthenticated: boolean) {\n if (isAuthenticated) {\n this.currentUser = await this.usersService.getLoggedInUserAsync();\n this.rolesOfCurrentUser = await this.usersService.getLoggedInUserRolesForSelectedCustomerAsync();\n this.currentUserSub.next(this.currentUser);\n }\n }\n\n public getRolesOfCurrentUser() {\n return this.rolesOfCurrentUser;\n }\n\n public getLoggedInUser(): UserDto {\n return this.currentUser;\n }\n\n public getLoggedInUserSubject(): Observable {\n return this.currentUserLoaded$;\n }\n\n /**\n * @deprecated The method should not be used\n */\n public getLoggedInUserAsObservable() {\n return this.http.get(this.baseUrl + 'api/auth/user');\n }\n\n getUserByEmailForRegistration(email: string, token: string): Observable {\n let params = new HttpParams({ encoder: new CustomEncoder() })\n params = params.append('token', token);\n params = params.append('email', email);\n return this.http.get(this.baseUrl + 'api/auth/userByEmail', { params: params });\n }\n\n registerUser(registrationRequest: RegistrationRequest) {\n return this.http.post(this.baseUrl + 'api/auth/register', registrationRequest);\n }\n\n registerUserFromOperator(registrationRequest: RegistrationRequest) {\n return this.http.post(this.baseUrl + 'api/auth/register-from-operator', registrationRequest);\n }\n\n registerOperatorFromOperator(registrationRequest: RegistrationRequest) {\n return this.http.post(this.baseUrl + 'api/auth/register-operator-from-operator', registrationRequest);\n }\n\n registerUserWithInvite(registrationRequest: RegistrationRequest) {\n return this.http.post(this.baseUrl + 'api/auth/register-with-invite', registrationRequest);\n }\n\n loginUser(authRequest: AuthRequest) {\n return this.http.post(this.baseUrl + 'api/auth/login', authRequest);\n }\n\n confirmEmail(token: string, email: string) {\n let params = new HttpParams({ encoder: new CustomEncoder() })\n params = params.append('token', token);\n params = params.append('email', email);\n return this.http.get(this.baseUrl + 'api/auth/emailconfirmation', { params: params });\n }\n\n confirmEmailforCustomer(customerId: number) {\n return this.http.post(this.baseUrl + 'api/customers/' + customerId + '/emailconfirmation', null);\n }\n\n confirmEmailFromOnboarding(userId: string) {\n return this.http.get(this.baseUrl + 'api/auth/' + userId + '/emailConfirmOnboarding');\n }\n\n confirmEmailChange(token: string, email: string, newEmail: string) {\n let params = new HttpParams({ encoder: new CustomEncoder() })\n params = params.append('token', token);\n params = params.append('email', email);\n params = params.append('newEmail', newEmail);\n return this.http.get(this.baseUrl + 'api/auth/emailChangeConfirmation', { params: params });\n }\n\n forgotPassword(forgotPasswordRequest: ForgotPasswordRequest) {\n return this.http.post(this.baseUrl + 'api/auth/forgotpassword', forgotPasswordRequest);\n }\n\n activatedFromOperator(onboardingRequest: OnboardingRequest) {\n return this.http.post(this.baseUrl + 'api/auth/onboarding', onboardingRequest);\n }\n\n resetPassword(resetPasswordRequest: ResetPasswordRequest) {\n return this.http.post(this.baseUrl + 'api/auth/resetpassword', resetPasswordRequest);\n }\n\n sendInvite(sendInviteRequest: SendInviteRequest) {\n return this.http.post(this.baseUrl + 'api/auth/sendinvite', sendInviteRequest);\n }\n\n logout() {\n localStorage.removeItem(\"accessToken\");\n localStorage.removeItem(\"refreshToken\");\n localStorage.removeItem(\"userId\");\n\n this.currentUser = null;\n this.rolesOfCurrentUser = null;\n this.currentUserSub.next(null);\n\n this.sendAuthStateChangeNotification(false);\n }\n\n public getAccessToken(): string {\n return localStorage.getItem(\"accessToken\");\n }\n\n public getRefreshToken(): string {\n return localStorage.getItem(\"refreshToken\");\n }\n\n public isUserAuthenticated(): boolean {\n if (this.accessTokenExists()) {\n if (this.isAccessTokenValid()) {\n return true;\n }\n }\n }\n\n public accessTokenExists(): boolean {\n const accessToken = this.getAccessToken();\n\n if (accessToken) {\n return true;\n }\n\n return false;\n }\n\n public isAccessTokenValid(): boolean {\n const accessToken = this.getAccessToken();\n\n if (accessToken && !this.jwtHelper.isTokenExpired(accessToken)) {\n return true;\n }\n\n return false;\n }\n\n public refreshToken() {\n const accessToken = localStorage.getItem(\"accessToken\");\n const refreshToken = localStorage.getItem(\"refreshToken\");\n \n if (accessToken && refreshToken) {\n var tokenMessage: TokenMessage = {\n accessToken: accessToken,\n refreshToken: refreshToken,\n isRefreshSuccessful: false\n }\n \n return this.http.post(this.baseUrl + 'api/auth/refresh', tokenMessage).pipe(tap((result: TokenMessage) => {\n localStorage.setItem(\"accessToken\", result.accessToken);\n localStorage.setItem(\"refreshToken\", result.refreshToken);\n }));\n }\n }\n\n public async tryRefreshingTokens(): Promise {\n const accessToken = localStorage.getItem(\"accessToken\");\n const refreshToken = localStorage.getItem(\"refreshToken\");\n\n if (!accessToken || !refreshToken) {\n return false;\n }\n\n this.spinner.show();\n\n var tokenMessage: TokenMessage = {\n accessToken: accessToken,\n refreshToken: refreshToken,\n isRefreshSuccessful: false\n }\n\n try {\n let result = await this.http.post(this.baseUrl + 'api/auth/refresh', tokenMessage).toPromise();\n localStorage.setItem(\"accessToken\", result.accessToken);\n localStorage.setItem(\"refreshToken\", result.refreshToken);\n this.sendAuthStateChangeNotification(true);\n this.spinner.hide();\n return result.isRefreshSuccessful;\n } catch (error) {\n this.spinner.hide();\n this.logout();\n this.router.navigate(['/auth/login']);\n return error.isRefreshSuccessful;\n }\n }\n\n public getTokenNameClaim(token: string): string {\n const decodedToken = this.jwtHelper.decodeToken(token);\n const email = decodedToken['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name']\n\n return email;\n }\n\n public userHasRole(role: string): boolean {\n const accessToken = this.getAccessToken();\n\n if (accessToken) {\n const decodedToken = this.jwtHelper.decodeToken(accessToken);\n const roles = decodedToken['http://schemas.microsoft.com/ws/2008/06/identity/claims/role']\n return roles.includes(role);\n }\n\n return false;\n }\n\n public userHasAnyRole(roles: string[]): boolean {\n const accessToken = this.getAccessToken();\n\n if (accessToken) {\n const decodedToken = this.jwtHelper.decodeToken(accessToken);\n const tokenRoles = decodedToken['http://schemas.microsoft.com/ws/2008/06/identity/claims/role']\n\n if (Array.isArray(tokenRoles)) {\n return tokenRoles.some(item => roles.includes(item))\n }\n else {\n return roles.includes(tokenRoles);\n }\n }\n\n return false;\n }\n\n public claimRfidCard(claimRfidCardRequest: ClaimRfidCardRequest) {\n return this.http.post(this.baseUrl + 'api/auth/claimRfidCard', claimRfidCardRequest);\n }\n\n\n\n getRole() :Roles {\n if (this.userHasRole(Roles.Customer)) {\n return Roles.Customer;\n }\n else if (this.userHasRole(Roles.Operator)) {\n return Roles.Operator;\n }\n else if (this.userHasRole(Roles.User)) {\n return Roles.User;\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ComponentSettingsService {\n\n public footerVisible: boolean;\n\n constructor() { }\n}\n","import { Component, Injectable } from '@angular/core';\nimport { User } from '@models/identity/user';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { UsersService } from '@services/entity/users.service';\nimport { plainToClass } from 'class-transformer';\n//import * as customerConfig from '@assets/config/roles/config.customer.json';\n//import * as operatorConfig from '@assets/config/roles/config.operator.json';\nimport { FilesService } from '@services/files/files.service';\n\n@Injectable({\n providedIn: 'any'\n})\nexport class ConfigurationService {\n\n constructor(private usersService: UsersService, private filesService: FilesService) { }\n\n public async getConfiguration(componentName: string, roles: string[]) {\n if (roles.includes('Operator') && this.filesService.operatorConfig) {\n return this.filesService.operatorConfig[componentName];\n }\n if (roles.includes('Customer') && this.filesService.customerConfig) {\n return this.filesService.customerConfig[componentName];\n }\n if (roles.includes('User') && this.filesService.userConfig) {\n return this.filesService.userConfig[componentName];\n }\n }\n}\n","import { HttpParameterCodec } from \"@angular/common/http\";\n\nexport class CustomEncoder implements HttpParameterCodec {\n\n encodeKey(key: string): string {\n return encodeURIComponent(key);\n }\n\n encodeValue(value: string): string {\n return encodeURIComponent(value);\n }\n\n decodeKey(key: string): string {\n return decodeURIComponent(key);\n }\n\n decodeValue(value: string): string {\n return decodeURIComponent(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PasswordConfirmationValidatorService {\n\n constructor() { }\n\n public validateMatch(matchTo: string, reverse?: boolean): ValidatorFn {\n return (control: AbstractControl):ValidationErrors | null => {\n if (control.parent && reverse) {\n const c = (control.parent?.controls as any)[matchTo]as AbstractControl;\n if (c) {\n c.updateValueAndValidity();\n }\n return null;\n }\n return !!control.parent && !!control.parent.value && control.value === (control.parent?.controls as any)[matchTo].value? null: { matching: true }\n }\n }\n\n public validateConfirmPassword(passwordControl: AbstractControl): ValidatorFn {\n return (confirmationControl: AbstractControl): { [key: string]: boolean } | null => {\n const confirmValue = confirmationControl.value;\n const passwordValue = passwordControl.value;\n if (confirmValue === '') {\n return;\n }\n if (confirmValue !== passwordValue) {\n return { mustMatch: true }\n }\n return null;\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { CashflowDto } from '@dto/cashflowDto';\nimport { Observable } from 'rxjs';\nimport { DashboardProfile } from '../../dto/dashboardProfile';\nimport { EntityService } from '../entity/entity.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardService extends EntityService {\n\n public entityRoute = \"dashboard\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n getDashboardProfile(): Observable {\n return this.http.get(this.baseUrl + 'api/dashboard/profile');\n }\n\n getDashboardProfileOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/dashboard');\n }\n\n getCashflowOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/dashboard/cashflow/customer/' + customerId);\n }\n\n getCashflowOfUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/dashboard/cashflow/user/' + userId);\n }\n\n matches() {\n return true;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DtoService {\n\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\n\n getAll(route: string): Observable {\n return this.http.get(this.baseUrl + 'api/' + route);\n }\n\n get(route: string, primaryKey: string): Observable {\n return this.http.get(this.baseUrl + 'api/' + route + '/' + primaryKey);\n }\n\n create(route: string, object: T): Observable {\n return this.http.post(this.baseUrl + 'api/' + route, object);\n }\n\n update(route: string, object: T, primaryKey: string | number): Observable {\n return this.http.put(this.baseUrl + 'api/' + route + '/' + primaryKey, object);\n }\n\n delete(route: string, primaryKey: string): Observable {\n return this.http.delete(this.baseUrl + 'api/' + route + '/' + primaryKey);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { EntityService } from './entity.service';\nimport { BidiConfiguration } from '@models/bidiConfiguration';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { BidiConfigurationDto } from '@dto/bidiConfigurationDto';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BidiConfigurationService extends EntityService {\n public entityRoute: any;\n\n constructor(\n http: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n\n }\n\n\n get(bidiConfigId: string): Observable {\n return this.http.get(`${this.baseUrl}api/BidiConfiguration/${bidiConfigId}`)\n .pipe(map(data => new BidiConfiguration(data))\n );\n }\n\n getBidiConfigurationDtoByGatewayId(gatewayId: number): Observable {\n return this.http.get(`${this.baseUrl}api/BidiConfiguration/getBidiConfigurationDtoByGatewayId/${gatewayId}`)\n .pipe(map(data => new BidiConfigurationDto(data))\n );\n }\n\n createUpdateBidiConfiguration(bidiConfigDto: BidiConfigurationDto): Observable {\n return this.http.post(`${this.baseUrl}api/BidiConfiguration/createUpdateBidiConfiguration`, bidiConfigDto)\n .pipe(map(data => new BidiConfigurationDto(data))\n );\n }\n\n\n\n\n\n\n\n}","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { Observable } from 'rxjs';\nimport { Blackbox } from '@models/blackbox';\nimport { BlackboxSetup } from '@dto/blackboxSetup';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BlackboxService extends EntityService {\n\n public entityRoute = \"blackboxes\";\n\n constructor(\n http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n super(http, baseUrl);\n }\n\n get(blackboxId: number): Observable {\n return this.http.get(`${this.baseUrl}api/blackbox/${blackboxId}`);\n }\n\n getAll(): Observable {\n return this.http.get(`${this.baseUrl}api/blackbox/all`);\n }\n\n getAllByCurrentCustomer(): Observable {\n return this.http.get(`${this.baseUrl}api/blackbox/getAllByCurrentCustomer`);\n }\n\n getByCustomerId(customerId: number): Observable {\n return this.http.get(`${this.baseUrl}api/blackbox/customer/${customerId}`);\n }\n\n patch(blackbox: Blackbox): Observable {\n return this.http.patch(`${this.baseUrl}api/blackbox/patch/${blackbox.id}`, blackbox);\n }\n\n setup(setup: BlackboxSetup): Observable {\n return this.http.post(`${this.baseUrl}api/blackboxsetup`, setup);\n }\n\n getCount(): Observable {\n return this.http.get(`${this.baseUrl}api/blackbox/count`);\n }\n\n search(searchTerm: string): Observable {\n return this.http.get(`${this.baseUrl}api/blackbox/search/${searchTerm}`);\n }\n\n downloadCsv(blackboxId: number, year: number): Observable {\n return this.http.get(`${this.baseUrl}api/blackbox/${blackboxId}/download/csv/${year}`, { responseType: 'blob' as 'json'});\n }\n\n downloadXlsx(blackboxId: number, year: number): Observable {\n return this.http.get(`${this.baseUrl}api/blackbox/${blackboxId}/download/xlsx/${year}`, { responseType: 'blob' as 'json'});\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { EventEmitter, Inject, Injectable, NgZone, PipeTransform } from '@angular/core';\nimport { ChargingStationFreeChargeRequest } from '@dto/ocpp/chargingStationFreeChargeRequest';\nimport { ChargingStationPublicChargeRequest } from '@dto/ocpp/chargingStationPublicChargeRequest';\nimport { ChargingStationPrivateChargeRequest } from '@dto/ocpp/chargingStationPrivateChargeRequest';\nimport { ChargingStationRemoteTransactionRequest } from '@dto/chargingStationRemoteTransactionRequest';\nimport { FreechargeStatus } from '@dto/ocpp/freechargeStatus';\nimport { PublicchargeStatus } from '@dto/ocpp/publicchargeStatus';\nimport { PrivatechargeStatus } from '@dto/ocpp/privatechargeStatus';\nimport { ChargingStation } from '@models/charging-station';\nimport { Observable } from 'rxjs';\nimport { EntityService } from './entity.service';\nimport { RemoteStartTransactionResponse } from '@dto/ocpp/remoteStartTransactionResponse';\nimport { RemoteStopTransactionResponse } from '@dto/ocpp/remoteStopTransactionResponse';\nimport { ChargingPower } from '../../models/chargingPower';\nimport { ConnectorSystems } from '../../models/connectorSystems';\nimport { Manufacturer } from '../../models/manufacturer';\nimport { ChargingStationStausForCustomerDto } from '../../dto/chargingStationStausForCustomerDto';\nimport { ChargingstationGroupDto } from '../../dto/chragingstationGroupDto';\nimport { ChargingstationGroup } from '../../dto/chargingstationGroup';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { UserForRfidAuth } from '@dto/userForRfidAuth';\nimport { ChargingStationByGroupDto } from '@dto/chargingStationByGroupDto';\nimport { ScannerInput } from '@dto/ocpp/scannerInput';\nimport { ChargingStationTableEntry } from '@dto/chargingStationTableEntry';\nimport { ChargingStationStatusHistoryDto } from '@dto/chargingStationStatusHistoryDto';\nimport { GetConfigurationRequest } from '@dto/ocpp/getConfigurationRequest';\nimport { ChargingStationStatus } from '@models/chargingStationStatus';\nimport { PatchDlmMode } from '../../dto/httpPatch/patchDlmMode';\nimport { SecondMeterCurrentResponseDto } from '../../dto/SecondMeterCurrentResponseDto';\nimport { MeterValueResponseDto } from '../../dto/ocpp/MeterValueResponseDto';\nimport { ChargeModeStatus } from '@dto/ocpp/chargeModeStatus';\nimport { Customer } from '../../models/customer';\nimport { Model } from '../../models/model';\nimport { Profile } from '../../models/profile';\nimport { ChargingStationAuthorizationResponse } from '../../models/ChargingStationAuthorizationResponse';\nimport { ModelDto } from '../../dto/modelDto';\nimport { ConfigurationRequest } from '@dto/ocpp/configurationRequest';\nimport { PublicRemoteStartRequestDto } from '@dto/publicRemoteStartRequestDto';\nimport { UpdateDetalisFromOcppResponse } from '@dto/updateDetalisFromOcppResponse';\nimport { UpdateFirmwareRequest } from '../../dto/ocpp/UpdateFirmwareRequest';\nimport { UpdateStatusFirmwareRequest } from '@dto/ocpp/UpdateStatusFirmwareRequest';\nimport { TableFilter } from '@models/tableFilter';\nimport { Address } from '../../models/address';\nimport { SupportTicketRequest } from '@dto/supportTicketRequest';\nimport { ChargingStationTableDto } from '../../dto/chargingStationTableDto';\nimport { ChangeAvailabilityRequest } from '@dto/ocpp/ChangeAvailabilityRequest';\nimport { ChargingPointDto } from '@dto/chargingPointDto';\nimport { statusUpdateEvent } from '@dto/statusUpdateEvent';\nimport { SyncFreeChargeModeFromOcppResponse } from '@dto/syncFreeChargeModeFromOcppResponse';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChargingStationsService extends EntityService {\n\n public entityRoute = \"chargingstations\";\n public statusUpdateEventEmitter = new EventEmitter();\n private activeSubscriptions: Map = new Map();\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string, private ngZone: NgZone) {\n super(http, baseUrl);\n }\n\n getChargingStationsTableOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/chargingStationsTable');\n }\n\n getChargingStationsOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/chargingStations');\n }\n\n getChargingStationsOfCurrentCustomer(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations');\n }\n\n checkChargingStationsOfCurrentCustomerHasBidi(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/hasbidi');\n }\n\n checkChargingStationsOfCustomerHasBidi(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/hasbidi/' + customerId);\n }\n\n getAllChargingStations(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/all');\n }\n\n getOfflineChargeStations(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/offline');\n }\n\n getCountofChargingstations(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/count')\n }\n\n getChargingStationsOfCurrentUser(): Observable {\n return this.http.get(this.baseUrl + 'api/users/chargingStations');\n }\n\n getChargingStationsTableOfCurrentCustomer(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/table');\n }\n\n async getChargingStationsOfCustomerAsync(customerId: number): Promise {\n return await this.http.get(this.baseUrl + 'api/customers/' + customerId + '/chargingStations').toPromise();\n }\n\n async getChargingStationsOfCurrentCustomerAsync(): Promise {\n return await this.http.get(this.baseUrl + 'api/chargingStations').toPromise();\n }\n\n getAllowedUsersAsync(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/allowedUsers');\n }\n\n getChargingPointsStatus(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/chargingStationsStatusForCurrentUser');\n }\n\n getChargingPointStatusOfCustomer(customerId): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/chargingStationsStatusOfCustomer/' + customerId);\n }\n\n getChargingPointStatus(id, connectorId): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/' + connectorId + '/status');\n }\n\n getChargingPointsOfChargingStation(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/chargingPoints');\n }\n\n getChargingStationPublicDetails(chargingStationId: string): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/publicDetails');\n }\n\n getChargingStationPublicDetailsByEvseId(chargingStationId: string): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/publicDetailsByEvseId');\n }\n\n getChargingStationHasFreechargeTransactions(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/hasFreechargeTransactions');\n }\n\n getChargingStationsWithFreechargeTransactions(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/withFreechargeTransactions');\n }\n\n getGroupsWithChargingStations(chargingStations: ChargingStationDto[]): Observable {\n let params = new HttpParams()\n .set('chargingStationIdsString', chargingStations.map(x => x.id).join(','));\n\n return this.http.get(this.baseUrl + 'api/ChargeStationGroup/withChargingStations', { params: params });\n }\n\n getGroupsWithChargingStation(chargingStationId: string): Observable {\n return this.http.get(this.baseUrl + 'api/ChargeStationGroup/withChargingStation/' + chargingStationId);\n }\n\n getChargingstationGroups(): Observable {\n return this.http.get(this.baseUrl + 'api/ChargeStationGroup');\n }\n\n getChargingstationGroup(groupId: number): Observable {\n return this.http.get(this.baseUrl + 'api/ChargeStationGroup/' + groupId);\n }\n\n getChargingstationGroupsOfCustomer(customerId): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/chargingStationGroups');\n }\n\n async getChargingstationGroupsOfCustomerAsync(customerId): Promise {\n return await this.http.get(this.baseUrl + 'api/customers/' + customerId + '/chargingStationGroups').toPromise();\n }\n\n async getChargingstationGroupsAsync(): Promise {\n return await this.http.get(this.baseUrl + 'api/ChargeStationGroup').toPromise();\n }\n\n getChargingstationsByGroup(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/byGroups');\n }\n\n getChargingstationsOfCustomerByGroup(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/chargingStationsByGroup');\n }\n\n getChargingStationsOfGroup(groupId: number): Observable {\n return this.http.get(this.baseUrl + 'api/ChargeStationGroup/' + groupId + '/chargingStations',);\n }\n\n posttriggerAutomaticDiagnosticUpload(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/diagnostics');\n }\n\n getCustomer(): Observable {\n return this.http.get(this.baseUrl + 'api/Customers');\n }\n\n getModels(): Observable {\n return this.http.get(this.baseUrl + 'api/chargeStationDetails/models');\n }\n\n getCountOfModels(): Observable {\n return this.http.get(this.baseUrl + 'api/chargeStationDetails/models/count');\n }\n\n getModel(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargeStationDetails/model/' + id);\n }\n\n getProfiles(): Observable {\n return this.http.get(this.baseUrl + 'api/chargeStationDetails/profiles');\n }\n\n getProfile(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargeStationDetails/profile/' + id);\n }\n\n getAdress(id): Observable
    {\n return this.http.get
    (this.baseUrl + 'api/chargeStationDetails/address/' + id);\n }\n\n getManufacturer(): Observable {\n return this.http.get(this.baseUrl + 'api/chargeStationDetails/manufacturer');\n }\n\n getConnectorSystems(): Observable {\n return this.http.get(this.baseUrl + 'api/chargeStationDetails/connectorSystems');\n }\n\n getChargingPower(): Observable {\n return this.http.get(this.baseUrl + 'api/chargeStationDetails/chargingPower');\n }\n\n getFreeChargeStatus(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/freecharge');\n }\n\n getPublicChargeStatus(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/publiccharge');\n }\n\n getPrivateChargeStatus(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/privatecharge');\n }\n\n getChargeMode(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/chargemode');\n }\n\n getMeterValue(transactionId: number): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + transactionId + '/meter');\n }\n\n getScannerInput(id: string): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/scanner');\n }\n\n getConfiguration(id: string, getConfigurationRequest: GetConfigurationRequest): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + id + '/getConfiguration', getConfigurationRequest);\n }\n\n postConfiguration(id: string, configurationRequest: ConfigurationRequest): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + id + '/postConfiguration', configurationRequest);\n }\n\n getFirmwareVersion(id: string): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/firmware');\n }\n\n getSecondMeterCurrent(id: string, connectorId: number): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/secondMeter/' + connectorId);\n }\n\n getCharingStationsHistoryTableOfCustomer(customerId: number, filter: TableFilter = {}): Observable {\n return this.http.post(this.baseUrl + 'api/customers/' + customerId + '/chargingStationsHistoryTable', filter);\n }\n\n getCustomerIdOfChargingStation(id: string): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/customerId');\n }\n\n checkCanRemoteStart(id: string): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/can-remote-start');\n }\n\n UpdateDlmSettingsFromOcpp(id: string): Observable {\n return this.http.put(this.baseUrl + 'api/chargingStations/' + id + '/configuration/dlmSettings', null);\n }\n\n SetStatus(id: string, connectorId: number, statusId: number): Observable {\n return this.http.put(this.baseUrl + 'api/chargingStations/' + id + '/' + connectorId + '/setStatus/' + statusId, null);\n }\n\n UpdateDetailsFromOcpp(id: string): Observable {\n return this.http.put(this.baseUrl + 'api/chargingStations/' + id + '/configuration/details', null);\n }\n\n syncFreeChargeModeFromOcpp(id: string): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + id + '/sync-free-charge', null);\n }\n\n getChargingStationAuthorizationResponse(id: string): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/ChargingStationAuthorizationResponse');\n }\n\n resetChargingstationPassword(id): Observable {\n return this.http.patch(this.baseUrl + 'api/chargingStations/' + id + '/resetpassword', null);\n }\n\n reserveChargingStation(id, connectorId): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/' + connectorId + '/reservation')\n }\n\n cancelReservationChargingStation(id, connectorId): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/' + connectorId + '/cancel-reservation')\n }\n\n resetChargingstation(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/reset/' + id);\n }\n\n checkOnlineStatus(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/check/'+ id);\n }\n\n getOfflineTimesSince24h(id): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + id + '/offline-times');\n }\n\n createChargingstationForCustomer(customerId: number, chargingStation: ChargingStationDto): Observable {\n return this.http.post(this.baseUrl + 'api/customers/' + customerId + '/chargingStation', chargingStation);\n }\n\n configureOperatorPower(chargingStationId: string, power: number): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/configuration/chargingPower/' + power, null);\n }\n\n configureDlmMode(chargingStationId: string, patch: PatchDlmMode): Observable {\n return this.http.patch(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/dlm/', patch);\n\n }\n\n configureFreeCharge(chargingStationId: string, chargingStationFreeChargeRequest: ChargingStationFreeChargeRequest): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/configureFreeCharge', chargingStationFreeChargeRequest);\n }\n\n configurePublicCharge(chargingStationId: string, chargingStationPublicChargeRequest: ChargingStationPublicChargeRequest): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/configurePublicCharge', chargingStationPublicChargeRequest);\n }\n\n configurePrivateCharge(chargingStationId: string, chargingStationPrivateChargeRequest: ChargingStationPrivateChargeRequest): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/configurePrivateCharge', chargingStationPrivateChargeRequest);\n }\n\n remoteStartTransaction(chargingStationId: string, chargingPointConnectorId: number): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/' + chargingPointConnectorId + '/remoteStartTransaction', null);\n }\n\n remoteStartPublicTransaction(chargingStationId: string, paymentIntentId: string, request: PublicRemoteStartRequestDto): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/remoteStartPublicTransaction/' + paymentIntentId, request);\n }\n\n remoteStopTransaction(chargingStationId: string, chargingPointConnectorId: number): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/' + chargingPointConnectorId + '/remoteStopTransaction', null);\n }\n\n remoteStopTransactionOfTransactionId(chargingStationId: string, transactionId: number): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/'+ chargingStationId +'/remoteStopTransaction/transaction/' + transactionId, null);\n }\n\n remoteStopPublicTransaction(chargingStationId: string, paymentIntentId: string, remoteStopRequest: ChargingStationRemoteTransactionRequest): Observable {\n return this.http.post(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/remoteStopPublicTransaction/' + paymentIntentId, remoteStopRequest);\n }\n\n createChargingStationGroupForCurrentCustomer(chargingStationGroup: ChargingstationGroupDto): Observable {\n return this.http.post(this.baseUrl + 'api/ChargeStationGroup', chargingStationGroup);\n }\n\n createChargingStationGroupForCustomer(chargingStationGroup: ChargingstationGroupDto, customerId: number): Observable {\n return this.http.post(this.baseUrl + 'api/customers/' + customerId + '/chargingStationGroup', chargingStationGroup);\n }\n\n editChargingStationGroup(newChargingStationGroupDto: ChargingstationGroupDto, groupId: number): Observable {\n return this.http.put(this.baseUrl + 'api/ChargeStationGroup/' + groupId, newChargingStationGroupDto);\n }\n\n changeScannerMode(id: string, isActive: boolean): Observable {\n let params = new HttpParams()\n .set('isActive', isActive.toString());\n\n return this.http.put(this.baseUrl + 'api/ChargingStations/' + id + '/scanner', null, { params: params });\n }\n\n deleteChargingStationGroup(groupId: number): Observable {\n return this.http.delete(this.baseUrl + 'api/ChargeStationGroup/' + groupId);\n }\n\n updateChargingStationWhitelist(chargingStationId: string): Observable {\n return this.http.put(this.baseUrl + 'api/ChargingStations/' + chargingStationId + '/updateChargingStationWhitelist', null);\n }\n\n updateChargingStationFirmware(updateRequest: UpdateFirmwareRequest, chargingStationId: string): Observable {\n return this.http.post(this.baseUrl + 'api/FirmwareStatusNotifications/' + chargingStationId + '/firmwareUpdate', updateRequest);\n }\n\n getChargingStationFirmwareUpdateStatus(chargingStationId: string): Observable {\n return this.http.get(this.baseUrl + 'api/FirmwareStatusNotifications/' + chargingStationId + '/getFirmwareUpdateStatus');\n }\n\n sendSupportTicket(supportTicket: SupportTicketRequest, chargingStationId: string): Observable {\n return this.http.put(this.baseUrl + 'api/ChargingStations/' + chargingStationId + '/sendTicket', supportTicket);\n }\n\n pushEVSEData(): Observable {\n return this.http.put(this.baseUrl + 'api/statictriggers/pushEVSEData', null);\n }\n\n pushEVSEStatus(): Observable {\n return this.http.put(this.baseUrl + 'api/statictriggers/pushEVSEStatus', null);\n }\n\n enableHubjectERoaming(id: string): Observable {\n return this.http.put(this.baseUrl + 'api/ChargingStations/EnableHubjectERoaming/' + id, null);\n }\n\n disableHubjectERoaming(id: string): Observable {\n return this.http.put(this.baseUrl + 'api/ChargingStations/DisableHubjectERoaming/' + id, null);\n }\n\n changeAvailability(id: string, request: ChangeAvailabilityRequest): Observable {\n return this.http.put(this.baseUrl + `api/ChargingStations/${id}/availability`, request);\n }\n\n search(searchTerm: string): Observable {\n return this.http.get(`${this.baseUrl}api/ChargingStations/search/${searchTerm}`);\n }\n\n updateChargingPointsStatusThroughSSE(event: statusUpdateEvent, chargingStation: ChargingStation | ChargingStationTableDto) {\n if (event.connectorId === 0) {\n chargingStation.statusId = event.status.id;\n chargingStation.status = event.status;\n } else {\n const chargingPoint = chargingStation.chargingPoints.find(cp => cp.connectorId === event.connectorId);\n if (chargingPoint) {\n chargingPoint.statusId = event.status.id;\n chargingPoint.status = event.status;\n }\n }\n }\n\n subscribeStatusUpdateToStations(stationIds: string[]): Observable {\n const key = stationIds.sort().join(',');\n\n if (this.activeSubscriptions.has(key)) {\n return new Observable((observer) => {\n observer.error(new Error('Subscription already exists'));\n });\n }\n\n return new Observable((observer) => {\n this.http.post(`${this.baseUrl}api/sse/status-update-event`, stationIds).subscribe(clientId => {\n const eventSource = new EventSource(`${this.baseUrl}api/sse/status-update-event/${clientId.result}`);\n this.activeSubscriptions.set(key, eventSource);\n\n eventSource.onmessage = (event) => {\n this.ngZone.run(() => {\n const data: statusUpdateEvent = JSON.parse(event.data);\n observer.next(data);\n this.statusUpdateEventEmitter.emit(data);\n });\n };\n\n eventSource.onerror = (error) => {\n this.ngZone.run(() => {\n observer.error(error);\n eventSource.close();\n this.activeSubscriptions.delete(key);\n });\n };\n\n return () => {\n eventSource.close();\n this.activeSubscriptions.delete(key);\n };\n }, error => {\n this.ngZone.run(() => {\n observer.error(error);\n });\n });\n });\n }\n\n unsubscribeStatusUpdateToStations(stationIds: string[]): void {\n const key = stationIds.sort().join(',');\n\n if (this.activeSubscriptions.has(key)) {\n const eventSource = this.activeSubscriptions.get(key);\n if (eventSource) {\n eventSource.close();\n }\n this.activeSubscriptions.delete(key);\n }\n }\n\n static mapStatusTooltip(statusId: number) : string {\n switch (statusId) {\n case 2:\n return \"Diese Ladestation ist bereit für einen Ladevorgang.\"\n case 3:\n return \"An dieser Ladestation lädt gerade ein Fahrzeug. Überprüfen Sie den Ladezustand über das Display des Fahrzeugs oder die Fahrzeug-App.\"\n case 6:\n return \"Der Ladevorgang ist eingeleitet oder der Stecker gesteckt, aber der Ladevorgang konnte noch nicht gestartet werden.\\n Überprüfen Sie den Sitz des Steckers oder führen Sie eine erneute Authentifizierung durch.\"\n case 8:\n return \"Der Ladevorgang wurde vorübergehend gestoppt.\\n Das Fahrzeug reagiert nicht auf die Ladestation.\\n In den meisten Fällen ist das Fahrzeug vollständig geladen.\\n\"\n case 9:\n return \"Der Ladevorgang wurde vorübergehend pausiert.\\n Entweder ist das Fahrzeug vollgeladen oder das dynamische Lastmanagement (DLM) verteilt den Strom prioritär an andere Ladestationen.\\n In seltenen Fällen kann auch eine vorübergehende Stromknappheit vorliegen.\"\n case 4:\n return \"Ein Fehler ist aufgetreten. Bitte benachrichtigen Sie den Service im Bereich \\\"Support\\\" oder unter support@cubos.com und wählen Sie eine andere Ladestation.\"\n case 10:\n return \"Die Ladestation ist momentan nicht verfügbar.\\n Bitte versuchen Sie es später erneut oder wählen Sie eine andere Station.\"\n case 11:\n return \"Zu dieser Ladestation besteht keine aktive Internetverbindung \\n oder der Versorgungsstrom für die Ladestation ist ausgeschaltet.\"\n case 5:\n return \"Der Ladevorgang ist beendet. Sie können Ihr Fahrzeug abkoppeln.\"\n case 7:\n return \"Diese Ladestation ist derzeit für einen bestimmten Benutzer oder Fahrzeug reserviert. Bitte wählen Sie eine andere Station.\"\n case 30:\n return \"Diese Ladestation ist derzeit gesperrt.\"\n case 31:\n return \"Diese Ladestation ist nicht gesperrt.\"\n }\n}\n\n static matches(chargingStation: ChargingStationDto, term: string, pipe?: PipeTransform) {\n return chargingStation.id?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.name?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.manufacturer?.name?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.model?.name.toLowerCase().includes(term.toLowerCase())\n || chargingStation.chargingPowerName?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.serialNumber?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.chargePointSerialNumber?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.location?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.localIP?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.chargingPoints.some(cp => cp.publicKey?.toLowerCase().includes(term.toLowerCase()));\n }\n\n static search(chargingStation: ChargingStationTableDto, term: string, pipe?: PipeTransform) {\n return chargingStation.id?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.name?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.manufacturer?.name?.toLowerCase().includes(term.toLowerCase())\n || chargingStation.model?.name.toLowerCase().includes(term.toLowerCase())\n || chargingStation.chargingPoints.some(cp => cp.status.name.toLowerCase().includes(term.toLowerCase()))\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { Observable } from 'rxjs';\nimport { ChargingPowerProfile } from '@models/chargingPowerProfile';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChargingPowerProfilesService extends EntityService {\n\n public entityRoute = \"chargingPowerProfiles\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n getAll(): Observable {\n return this.http.get(this.baseUrl + 'api/chargingPowerProfiles');\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { Observable } from 'rxjs';\nimport { CreditStatementTableData } from '@dto/creditStatementTableData';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CreditStatementsService extends EntityService {\n public entityRoute = \"credit-statements\";\n\n constructor\n (\n http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n super(http, baseUrl);\n }\n\n getCreditStatementsAsTableData(): Observable {\n return this.http.get(this.baseUrl + 'api/creditstatements/tabledata');\n }\n\n downloadCreditStatement(id: number): Observable {\n return this.http.get(this.baseUrl + 'api/creditstatements/download/' + id, { responseType: 'blob' as 'json'});\n }\n \n create(userId: string) {\n return this.http.get(this.baseUrl + 'api/creditstatements/create/' + userId);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { ChargingStationsPowerConsumption } from '@dto/chargingStationsPowerConsumption';\nimport { CustomerDto } from '@dto/customerDto';\nimport { CustomerNoteDto } from '@dto/customerNoteDto';\nimport { PatchCustomerNote } from '@dto/httpPatch/patchCustomerNote';\nimport { MasterUserOfCustomer } from '@dto/masterUserOfCustomer';\nimport { SubscriptionDetailDto } from '@dto/subscriptionDetailDto';\nimport { UserDto } from '@dto/userDto';\nimport { Customer } from '@models/customer';\nimport { CustomerNote } from '@models/customerNote';\nimport { CustomerPermission } from '@models/customerPermission';\nimport { Observable } from 'rxjs';\nimport { CustomersTableEntry } from '../../dto/customersTableEntry';\nimport { Setting } from '../../models/setting';\nimport { EntityService } from './entity.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomersService extends EntityService {\n\n public entityRoute = \"customers\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n matches(customer: Customer, term: string, pipe: PipeTransform) {\n return false;\n }\n\n getCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/Customers/' + customerId);\n }\n\n getCustomerByName(name: string): Promise {\n return this.http.get(this.baseUrl + 'api/Customers/find/' + name).toPromise();\n }\n\n getSettings(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/Customers/' + customerId + '/settings')\n }\n\n getCustomerNotes(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/Customers/' + customerId + '/notes');\n }\n\n createCustomerNote(customerId: number, customerNote: CustomerNote): Observable {\n return this.http.post(this.baseUrl + 'api/Customers/' + customerId + '/note', customerNote);\n }\n\n patchCustomerNote(customerId: number, noteId: number, patchCustomerNote: PatchCustomerNote): Observable {\n return this.http.patch(this.baseUrl + 'api/Customers/notes/' + noteId, patchCustomerNote);\n }\n\n deleteCustomerNote(noteId: number): Observable {\n return this.http.delete(this.baseUrl + 'api/Customers/notes/' + noteId);\n }\n\n getCustomerPermissions(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/Customers/' + customerId + '/permissions');\n }\n\n async getCustomerPermissionsAsync(customerId: number): Promise {\n return await this.http.get(this.baseUrl + 'api/Customers/' + customerId + '/permissions').toPromise();\n }\n\n async getSubscriptionTypeAsync(customerId: number): Promise {\n return await this.http.get(this.baseUrl + 'api/Customers/' + customerId + '/subscriptionType').toPromise();\n }\n\n getMasterUserOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/Customers/' + customerId + '/masterUser');\n }\n\n async getMasterUserOfCustomerAsync(customerId: number): Promise {\n return await this.http.get(this.baseUrl + 'api/Customers/' + customerId + '/masterUser').toPromise();\n }\n\n checkIfMasterUserOfCustomer(customerId: number, userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/Customers/' + customerId + '/isMasterUser/' + userId);\n }\n\n updateCustomerPermissions(customerId: number, customerPermissions: CustomerPermission[]): Observable {\n return this.http.put(this.baseUrl + 'api/Customers/' + customerId + '/permissions', customerPermissions);\n }\n\n patchSubscriptionType(customerId: number, typeId: number): Observable {\n return this.http.patch(this.baseUrl + 'api/Customers/' + customerId + '/subscriptionType/' + typeId, null);\n }\n\n getSubscriptionDetailsOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/Customers/' + customerId + '/SubscriptionDetails/');\n }\n\n getCountofCustomers(): Observable {\n return this.http.get(this.baseUrl + 'api/Customers/count')\n }\n\n invite(customerId: number, payload: any): Observable {\n return this.http.post(`${this.baseUrl}api/customers/invite/${customerId}`, payload);\n }\n\n search(searchTerm: string): Observable {\n return this.http.get(`${this.baseUrl}api/Customers/search/${searchTerm}`);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { DeliveryNoteSettingsDto } from '@dto/deliveryNoteSettingsDto';\nimport { DeliveryNotesTableEntry } from '@dto/deliveryNotesTableEntry';\nimport { TransactionDeliveryNoteDto } from '@dto/transactionDeliveryNoteDto';\nimport { DeliveryNote } from '@models/deliveryNote';\nimport { Observable } from 'rxjs';\nimport { DeliveryNoteName } from '../../dto/deliveryNoteName';\nimport { EntityService } from './entity.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DeliveryNotesService extends EntityService {\n\n public entityRoute = \"deliverynotes\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n getDeliveryNote(deliveryNoteId: number): Observable {\n return this.http.get(this.baseUrl + 'api/deliverynotes/' + deliveryNoteId);\n }\n\n getDeliveryNotes(): Observable {\n return this.http.get(this.baseUrl + 'api/deliverynotes');\n }\n\n getDeliveryNotesOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/deliverynotes/customer/' + customerId);\n }\n \n createDeliveryNoteSettings(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/deliverynotes/settings/' + customerId + '/create');\n }\n \n getDeliveryNoteSettings(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/deliverynotes/settings/' + customerId);\n }\n \n patchDeliveryNoteSettings(customerId: number, deliveryNoteSettings: DeliveryNoteSettingsDto): Observable {\n return this.http.patch(this.baseUrl + 'api/deliverynotes/settings/' + customerId + '/patch', deliveryNoteSettings);\n }\n\n async getTransactionsOfDeliveryNoteAsync(deliveryNoteId: number): Promise {\n return await this.http.get(this.baseUrl + 'api/deliverynotes/' + deliveryNoteId + '/transactions').toPromise();\n }\n\n getDeliveryNotePdf(deliveryNoteId: number): Observable {\n return this.http.get(this.baseUrl + 'api/deliverynotes/download/' + deliveryNoteId, { responseType: 'blob' as 'json'});\n }\n\n getDeliveryNoteAsCSV(deliveryNoteId: number): Observable {\n return this.http.get(this.baseUrl + 'api/deliverynotes/download/csv/' + deliveryNoteId, { responseType: 'blob' as 'json' });\n }\n\n sendDeliveryNoteMail(deliveryNoteId: number, eMailOverwrite: string): Observable {\n const url = `${this.baseUrl}api/deliverynotes/mail/${deliveryNoteId}?eMailOverwrite=${encodeURIComponent(eMailOverwrite)}`;\n \n return this.http.get(url);\n}\n\n\n\n sendEmail(formData: FormData): Observable {\n return this.http.post(this.baseUrl + 'api/deliverynotes/SendEmail', formData);\n }\n\n updateDeliveryNoteName(deliveryNoteName: DeliveryNoteName, deliveryNoteId: number): Observable {\n return this.http.patch(this.baseUrl + 'api/deliverynotes/' + deliveryNoteId, deliveryNoteName);\n }\n\n deleteDeliveryNote(id: number): Observable {\n return this.http.delete(this.baseUrl + 'api/deliverynotes/' + id);\n }\n\n matches(deliveryNote: DeliveryNote, term: string, pipe: PipeTransform) {\n // return deliveryNote.{property}.toLowerCase().includes(term.toLowerCase())\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { Observable } from 'rxjs';\nimport { EnergyMeterRecord } from '@dto/energyMeterRecord';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EnergyMeterRecordsService extends EntityService {\n\n public entityRoute = \"energyMeterRecords\";\n\n constructor\n (\n http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n super(http, baseUrl);\n }\n\n getDistribution(request): Observable {\n return this.http.post(`${this.baseUrl}api/energyMeterRecords/distribution`, request);\n }\n\n getEnergyMonitorData(request): Observable {\n return this.http.post(`${this.baseUrl}api/energyMeterRecords/monitorData`, request);\n }\n}\n","\nimport { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { EntityService } from './entity.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EnergyMeterTypService extends EntityService {\n public entityRoute: any;\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n getEnergyMeterTyps(): Observable {\n return this.http.get(`${this.baseUrl}api/EnergyMeterType/getEnergyMeterTypes`);\n }\n}\n","import { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { NgForm } from '@angular/forms';\nimport { map, switchMap } from 'rxjs/operators';\nimport { plainToClass, plainToClassFromExist, TransformPlainToClass } from 'class-transformer';\nimport { DecimalPipe } from '@angular/common';\nimport { IEntity } from '@interfaces/entity';\nimport { IEntityService } from '@interfaces/entityService';\nimport { TableColumn } from '@models/tableColumn';\nimport { UserDto } from '@dto/userDto';\n//import { DeleteEntitiesDto } from '@models/dto/deleteEntitiesDto';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport abstract class EntityService implements IEntityService {\n\n public abstract entityRoute;\n\n constructor(public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) {\n }\n\n // API Requests\n\n getEntities(params?): Observable {\n return this.http.get(this.baseUrl + 'api/' + this.entityRoute, { params: params });\n }\n\n getEntity(primaryKey): Observable {\n return this.http.get(this.baseUrl + 'api/' + this.entityRoute + '/' + primaryKey);\n }\n\n async getEntityAsync(primaryKey): Promise {\n return await this.http.get(this.baseUrl + 'api/' + this.entityRoute + '/' + primaryKey).toPromise();\n }\n\n createEntity(entity: IEntity, params?): Observable {\n return this.http.post(this.baseUrl + 'api/' + this.entityRoute, entity, { params: params });\n }\n\n updateEntity(entity: IEntity): Observable {\n return this.http.put(this.baseUrl + 'api/' + this.entityRoute + '/' + entity.getPrimaryKey(), entity);\n }\n\n patchEntity(id: string | number, body) {\n return this.http.patch(this.baseUrl + 'api/' + this.entityRoute + '/' + id, body);\n }\n\n patchEntityWithEndpoint(id: string | number, endpoint: string, body) {\n return this.http.patch(this.baseUrl + 'api/' + this.entityRoute + '/' + id + '/' + endpoint, body);\n }\n\n deleteEntity(primaryKey): Observable {\n return this.http.delete(this.baseUrl + 'api/' + this.entityRoute + '/' + primaryKey);\n }\n\n\n //deleteEntities(deleteEntitiesDto: DeleteEntitiesDto): Observable {\n // let options = {\n // headers: new HttpHeaders(),\n // body: deleteEntitiesDto,\n // };\n\n // return this.http.delete(this.baseUrl + 'api/' + this.entityRoute, options);\n //}\n\n getData(url: string) {\n return this.http.get(this.baseUrl + url);\n }\n\n}\n","import { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { Observable } from 'rxjs';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { InvoiceItemDto } from '@dto/invoiceItemDto';\nimport { ChargingParkSubscriptionDto } from '@dto/chargingParkSubscriptionDto';\nimport { InvoiceSettingsDto } from '@dto/invoiceSettingsDto';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InvoicesService extends EntityService {\n\n public entityRoute = \"invoices\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n createInvoice(invoice: InvoiceDto): Observable {\n return this.http.post(this.baseUrl + 'api/invoices', invoice);\n }\n \n getInvoicesOfCustomer(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/invoices/customer/' + userId);\n }\n \n getInvoicesOfRecipient(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/invoices/recipient/' + userId);\n }\n\n getInvoice(id: number): Observable {\n return this.http.get(this.baseUrl + 'api/invoices/' + id);\n }\n\n getInvoiceOfCurrentUser(invoiceId: number): Observable {\n return this.http.get(this.baseUrl + 'api/invoices/' + invoiceId + '/currentuser');\n }\n\n changeInvoiceOfUser(change: ChargingParkSubscriptionDto): Observable {\n return this.http.patch(this.baseUrl + 'api/invoices/' + change.userId + '/change', change);\n }\n\n deleteInvoice(invoiceId: string): Observable {\n return this.http.delete(this.baseUrl + 'api/invoices/' + invoiceId);\n }\n\n getAllUnbilledInvoiceItemsOfIssuerForManualBillingAndAutoBilling(issuerUserId: string): Observable {\n return this.http.get(this.baseUrl + 'api/invoices/items/issuer/' + issuerUserId);\n }\n\n getAllUnbilledInvoiceItemsOfRecipientForManualBillingAndAutoBilling(recipientUserId: string): Observable {\n return this.http.get(this.baseUrl + 'api/invoices/items/recipient/' + recipientUserId);\n }\n\n createInvoiceSettings(invoiceSettings: InvoiceSettingsDto): Observable {\n return this.http.post(this.baseUrl + 'api/invoices/settings', invoiceSettings);\n }\n\n patchInvoiceSettings(invoiceSettings: InvoiceSettingsDto): Observable {\n return this.http.patch(this.baseUrl + 'api/invoices/settings/' + invoiceSettings.id, invoiceSettings);\n }\n\n getInvoiceSettingsOfUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/invoices/settings/user/' + userId);\n }\n\n validateIBAN(iban: string): Observable {\n return this.http.get(`https://openiban.com/validate/${iban}?getBIC=true&validateBankCode=true`);\n }\n\n getInvoicePdf(invoiceId: number): Observable {\n return this.http.get(this.baseUrl + 'api/invoices/download/' + invoiceId, { responseType: 'blob' as 'json'});\n }\n\n downloadPreview(ownerUserId: string, invoiceSettings: InvoiceSettingsDto): Observable {\n return this.http.post(`${this.baseUrl}api/invoices/download/preview/${ownerUserId}`, invoiceSettings, { responseType: 'blob' as 'json'});\n }\n\n static matches(invoice: InvoiceDto, term: string, pipe?: PipeTransform) {\n return invoice.invoiceNumber?.toLowerCase().includes(term.toLowerCase())\n || invoice.ownerUserId?.toLowerCase().includes(term.toLowerCase())\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { ManufacturerDto } from '@dto/manufacturerDto';\nimport { Manufacturer } from '@models/manufacturer';\nimport { ManufacturersTableEntry } from '@dto/ManufacturersTableEntry'\nimport { Observable } from 'rxjs';\nimport { Setting } from '../../models/setting';\nimport { EntityService } from './entity.service';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ManufacturersService extends EntityService {\n\n public entityRoute = \"manufacturer\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n static matches(manufacturer: ManufacturerDto, term: string, pipe?: PipeTransform) {\n return manufacturer.name.toLowerCase().includes(term.toLowerCase())\n }\n\n\n getAllManufacturer(): Observable {\n return this.http.get(this.baseUrl + 'api/manufacturer/all');\n }\n\n getManufacturers(): Observable {\n return this.http.get(this.baseUrl + 'api/manufacturer/')\n }\n\n createManufacturer(manufacturer: ManufacturerDto): Observable {\n return this.http.post(this.baseUrl + 'api/manufacturer', manufacturer);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { ModelDto } from '@dto/modelDto';\nimport { Model } from '@models/model';\nimport { ModelTableEntry } from '@dto/ModelTableEntry'\nimport { Observable } from 'rxjs';\nimport { Setting } from '../../models/setting';\nimport { EntityService } from './entity.service';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ModelsService extends EntityService {\n\n public entityRoute = \"models\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n static matches(model: ModelDto, term: string, pipe?: PipeTransform) {\n return model.name.toLowerCase().includes(term.toLowerCase()) ||\n model.manufacturer.name.toLowerCase().includes(term.toLowerCase())\n }\n\n getModel(id:number): Observable {\n return this.http.get(this.baseUrl + 'api/models/'+id);\n }\n\n\n getAllModels(): Observable {\n return this.http.get(this.baseUrl + 'api/models/all');\n }\n\n getCountOfModels(): Observable {\n return this.http.get(this.baseUrl + 'api/models/count')\n }\n\n createModel(model: ModelDto): Observable {\n return this.http.post(this.baseUrl + 'api/models/create', model);\n }\n\n patchModel(model: ModelDto): Observable {\n return this.http.patch(this.baseUrl + 'api/models/update', model);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { CustomersTableEntry } from '@dto/customersTableEntry';\nimport { Customer } from '@models/customer';\nimport { Operator } from '@models/operator';\nimport { Observable } from 'rxjs';\nimport { EntityService } from './entity.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OperatorsService extends EntityService {\n\n public entityRoute = \"operators\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n getCustomersOfOperator(operatorId: number): Observable {\n return this.http.get(this.baseUrl + 'api/operators/' + operatorId + '/customers');\n }\n\n getCustomersTableOfOperator(operatorId: number): Observable {\n return this.http.get(this.baseUrl + 'api/operators/' + operatorId + '/customersTable');\n }\n\n matches(operator: Operator, term: string) {\n return operator.id.toString().includes(term.toLowerCase())\n || operator.name.toLowerCase().includes(term.toLowerCase())\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { Observable } from 'rxjs';\nimport { PayoutStatementTableData } from '@dto/payoutStatementTableData';\nimport { PayoutAmountDue } from '@dto/payoutAmountDue';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PayoutStatementsService extends EntityService {\n public entityRoute = \"payout-statements\";\n\n constructor\n (\n http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n super(http, baseUrl);\n }\n\n getPayoutStatementsAsTableData(): Observable {\n return this.http.get(`${this.baseUrl}api/payoutstatements/tabledata`);\n }\n\n getCustomerPayoutStatementsAsTableData(customerUserId: number): Observable {\n return this.http.get(`${this.baseUrl}api/payoutstatements/tabledata/${customerUserId}`);\n }\n\n downloadPayoutStatement(id: number): Observable {\n return this.http.get(`${this.baseUrl}api/payoutstatements/download/${id}`, { responseType: 'blob' as 'json'});\n }\n \n getPayoutAmountDue(customerUserId: string) {\n return this.http.get(`${this.baseUrl}api/payoutstatements/payout/due/${customerUserId}`);\n }\n \n payout(userId: string) {\n return this.http.get(`${this.baseUrl}api/payoutstatements/payout/${userId}`);\n }\n}\n","import { EventEmitter, Inject, Injectable, Output, PipeTransform } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { Observable } from 'rxjs';\nimport { PricingDto } from '@dto/pricingDto';\nimport { ChargingParkSubscriptionDto } from '@dto/chargingParkSubscriptionDto';\nimport { UserDto } from '@dto/userDto';\nimport { MonthEndResponseDto } from '@dto/mothEndeResponseDto';\nimport { InvoiceItemDto } from '@dto/invoiceItemDto';\nimport { RemovePricingRequest } from '@dto/removePricingRequest';\nimport { RemovePricingResponse } from '@dto/removePricingResponse';\nimport { DeletePricingRequest } from '@dto/deletePricingRequest';\nimport { DeletePricingResponse } from '@dto/deletePricingResponse';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PricingsService extends EntityService {\n\n public entityRoute = \"pricings\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n @Output() pricingCreatedEvent = new EventEmitter<[PricingDto, PricingDto]>();\n emitCreated(createdPricing: PricingDto, replacedPricing?: PricingDto) {\n this.pricingCreatedEvent.emit([createdPricing, replacedPricing]);\n }\n\n @Output() pricingUpdatedEvent = new EventEmitter();\n emitUpdated(updatedPricing: PricingDto) {\n this.pricingUpdatedEvent.emit(updatedPricing);\n }\n\n @Output() pricingUpdatePreparedEvent = new EventEmitter();\n emitPrepared(prepared: boolean) {\n this.pricingUpdatePreparedEvent.emit(prepared);\n }\n\n createPricing(pricingDto: PricingDto): Observable {\n return this.http.post(this.baseUrl + 'api/pricings', pricingDto);\n }\n \n getPricingsOfUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/pricings/user/' + userId);\n }\n\n getPricingsOfCurrentUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/pricings/user/current/' + userId);\n }\n \n getPublicPricingOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/pricings/public/customer/' + customerId);\n }\n\n getPricing(id: number): Observable {\n return this.http.get(this.baseUrl + 'api/pricings/' + id);\n }\n\n patchPricing(pricing: PricingDto): Observable {\n return this.http.patch(this.baseUrl + 'api/pricings/' + pricing.id, pricing);\n }\n\n patchPricingOfUser(patch: ChargingParkSubscriptionDto): Observable {\n return this.http.patch(this.baseUrl + 'api/pricings/patch/' + patch.userId, patch);\n }\n\n deletePricing(pricingId: string, request: DeletePricingRequest): Observable {\n return this.http.put(this.baseUrl + 'api/pricings/delete/' + pricingId, request);\n }\n\n getOpenInvoiceItemsOfPricing(pricingId: string): Observable {\n return this.http.get(this.baseUrl + 'api/pricings/' + pricingId + '/open-invoiceitems');\n }\n\n getUsersOfPricing(pricingId: string): Observable {\n return this.http.get(this.baseUrl + 'api/pricings/' + pricingId + '/users');\n }\n\n removePricingFromUsers(request: RemovePricingRequest): Observable {\n return this.http.put(this.baseUrl + 'api/pricings/remove-pricing', request);\n }\n\n getOpenInvoiceItemsOfRecipients(pricingId: number, recipientUserIds: string[]): Observable {\n return this.http.post(this.baseUrl + 'api/pricings/'+ pricingId +'/open-invoiceitems/recipients', recipientUserIds);\n }\n\n static matches(pricing: PricingDto, term: string, pipe?: PipeTransform) {\n return pricing.priceId?.toLowerCase().includes(term.toLowerCase())\n || pricing.productId?.toLowerCase().includes(term.toLowerCase())\n || pricing.name?.toLowerCase().includes(term.toLowerCase())\n || pricing.description?.toLowerCase().includes(term.toLowerCase())\n }\n\n //for test\n testMonthEndForCustomer(userId: string): Observable{\n return this.http.put(this.baseUrl + 'api/statictriggers/month-end/issuer/' + userId, null);\n }\n\n testMonthEndForAll(): Observable{\n return this.http.put(this.baseUrl + 'api/statictriggers/month-end/', null);\n }\n}\n","import { EventEmitter, Inject, Injectable, Output, PipeTransform } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { RfidCard } from '@models/rfidCard';\nimport { Observable } from 'rxjs';\nimport { RfidCardDto } from '@dto/rfidCardDto';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RfidCardsService extends EntityService {\n\n public entityRoute = \"rfidCards\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n @Output() rfidCardCreatedEvent = new EventEmitter();\n emitCreated(createdRfidCard: RfidCardDto) {\n this.rfidCardCreatedEvent.emit(createdRfidCard);\n }\n\n getRfidCardsOfCurrentCustomer(): Observable {\n return this.http.get(this.baseUrl + 'api/rfidCards');\n }\n\n getRfidCardsOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/rfidCards');\n }\n\n getRfidCard(id: number): Observable {\n return this.http.get(this.baseUrl + 'api/rfidCards/' + id);\n }\n\n createRfidCard(rfidCard: RfidCard): Observable {\n return this.http.post(this.baseUrl + 'api/rfidCards', rfidCard);\n }\n\n createRfidCardForCustomer(customerId: number, rfidCard: RfidCard): Observable {\n return this.http.post(this.baseUrl + 'api/customers/' + customerId + '/rfidCard', rfidCard);\n }\n\n createRfidCardsForCustomer(customerId: number, rfidCards: RfidCardDto[]): Observable {\n return this.http.post(this.baseUrl + 'api/customers/' + customerId + '/rfidCards', rfidCards);\n }\n\n search(searchTerm: string): Observable {\n return this.http.get(`${this.baseUrl}api/rfidCards/search/${searchTerm}`);\n }\n\n static matches(rfidCard: RfidCardDto, term: string, pipe?: PipeTransform) {\n return rfidCard.idTag?.toLowerCase().includes(term.toLowerCase())\n || rfidCard.userFirstName?.toLowerCase().includes(term.toLowerCase())\n || rfidCard.userLastName?.toLowerCase().includes(term.toLowerCase())\n || rfidCard.tagsString?.toLowerCase().includes(term.toLowerCase())\n || rfidCard.note?.toLowerCase().includes(term.toLowerCase());\n //var datePipe = new DEDatePipe();\n //var lastauthdate = datePipe.transform(rfidCard.lastAuthorizationDate);\n\n //return rfidCard.idTag?.toLowerCase().includes(term.toLowerCase())\n // || rfidCard.userFirstName?.toLowerCase().includes(term.toLowerCase())\n // || rfidCard.userLastName?.toLowerCase().includes(term.toLowerCase())\n // || lastauthdate?.includes(term.toLowerCase())\n // || rfidCard.lastUsedChargingStationName?.toLowerCase().includes(term.toLowerCase());\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IEntity } from '@interfaces/entity';\n\n\n@Injectable()\nexport class SelectEntitiesService {\n selectedEntities: IEntity[];\n\n constructor() {\n this.selectedEntities = [];\n }\n\n addEntity(entity) {\n this.selectedEntities.push(entity);\n }\n\n addEntities(entities) {\n this.selectedEntities = this.selectedEntities.concat(entities);\n }\n\n removeEntity(entity: IEntity) {\n var index: number;\n\n index = this.selectedEntities.findIndex(e => e.getPrimaryKey() === entity.getPrimaryKey());\n\n if (index !== -1) {\n this.selectedEntities.splice(index, 1);\n }\n }\n\n clearEntities() {\n this.selectedEntities = [];\n }\n\n getSelectedIds(): string {\n var selectedIds = \"\";\n\n for (let entity of this.selectedEntities) {\n selectedIds = selectedIds.concat(String(entity.getPrimaryKey()) + \",\");\n }\n\n var lastChar = selectedIds.substr(selectedIds.length - 1);\n\n if (lastChar == \",\") {\n selectedIds = selectedIds.slice(0, -1);\n }\n\n return selectedIds;\n }\n\n checkIfSelected(entity): boolean {\n if (this.selectedEntities.some(e => e.getPrimaryKey() === entity.getPrimaryKey())) {\n return true;\n }\n return false;\n }\n\n entityClicked(entity) {\n var checkboxAllElement = (document.getElementById(\"checkbox-all\"));\n checkboxAllElement.checked = true;\n\n if (this.selectedEntities.some(e => e.getPrimaryKey() === entity.getPrimaryKey())) {\n this.removeEntity(entity);\n }\n else {\n this.addEntity(entity);\n }\n\n if (this.selectedEntities.length == 0) {\n checkboxAllElement.checked = false;\n }\n }\n\n checkboxAllClicked(entities$: Observable) {\n var checkboxAllElement = (document.getElementById(\"checkbox-all\"));\n\n var entities: IEntity[];\n entities$.subscribe(result => { entities = result });\n\n this.clearEntities();\n\n if (checkboxAllElement.checked) {\n this.addEntities(entities);\n }\n }\n\n onPageChange() {\n var checkboxAllElement = (document.getElementById(\"checkbox-all\"));\n this.clearEntities();\n checkboxAllElement.checked = false;\n }\n}\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { StatusNotificationsDto } from '@dto/statusNotificationDto';\nimport { Observable } from 'rxjs';\nimport { EntityService } from './entity.service';\nimport { TableFilter } from '@models/tableFilter';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class StatusNotificationsService extends EntityService {\n\n public entityRoute = \"statusNotifications\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n static matches(statusNotification: StatusNotificationsDto, term: string, pipe?: PipeTransform) {\n return statusNotification.chargingStationId.includes(term.toLowerCase())\n }\n\n getAllStatusNotifications(filter: TableFilter = {}): Observable {\n let headers = new HttpHeaders({\n 'Content-Type': 'application/json'\n });\n let options = { headers: headers };\n\n return this.http.post(this.baseUrl + 'api/statusNotifications/all', filter, options);\n }\n\n getCountOfStatusNotifications(): Observable {\n return this.http.get(this.baseUrl + 'api/statusNotifications/count')\n }\n}\n","import { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { StripeInfo } from '@models/stripeInfo';\nimport { Observable } from 'rxjs';\nimport { StripeInfoDto } from '@dto/stripeInfoDto';\nimport { __param } from 'tslib';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StripeInfosService extends EntityService {\n\n public entityRoute = \"stripeInfos\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n createStripeInfoForUser(userId: string, stripeInfo: StripeInfo): Observable {\n return this.http.post(this.baseUrl + 'api/stripeInfos/user/' + userId, stripeInfo);\n }\n \n getStripeInfoOfUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/stripeInfos/user/' + userId);\n }\n\n getStripeInfoOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/stripeInfos/customer/' + customerId);\n }\n\n getStripeInfo(id: number): Observable {\n return this.http.get(this.baseUrl + 'api/stripeInfos/' + id);\n }\n\n createStripeOnboardingUrl(userId: string, accountId: string): Observable {\n return this.http.get(this.baseUrl + 'api/stripeInfos/onboarding-url/' + userId + '/' + accountId);\n }\n\n createStripeDashboardUrl(userId: string, accountId: string): Observable {\n return this.http.get(this.baseUrl + 'api/stripeInfos/dashboard-url/' + userId + '/' + accountId);\n }\n\n static matches(stripe: StripeInfoDto, term: string, pipe?: PipeTransform) {\n return stripe.stripeCustomerId?.toLowerCase().includes(term.toLowerCase())\n || stripe.stripeAccountId?.toLowerCase().includes(term.toLowerCase())\n || stripe.stripeProductId?.toLowerCase().includes(term.toLowerCase())\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { UpdateSubscriptionTypePermissions } from '@dto/updateSubscriptionTypePermissions';\nimport { Subscription } from '@models/subscription';\nimport { SubscriptionTypePermission } from '@models/subscriptionTypePermission';\nimport { Observable } from 'rxjs';\nimport { EntityService } from './entity.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SubscriptionsService extends EntityService {\n\n public entityRoute = \"subscriptions\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n getSubscriptionTypePermissions(typeId: number): Observable {\n return this.http.get(this.baseUrl + 'api/subscriptions/type/' + typeId + '/permissions');\n }\n\n async getSubscriptionTypePermissionsAsync(typeId: number): Promise {\n return await this.http.get(this.baseUrl + 'api/subscriptions/type/' + typeId + '/permissions').toPromise();\n }\n\n updateSubscriptionTypePermissions(typeId: number, subscriptionTypePermissions: SubscriptionTypePermission[]): Observable {\n return this.http.put(this.baseUrl + 'api/subscriptions/type/' + typeId + '/permissions', subscriptionTypePermissions);\n }\n\n updateAllSubscriptionTypePermissions(body: UpdateSubscriptionTypePermissions): Observable {\n return this.http.put(this.baseUrl + 'api/subscriptions/type/all/permissions', body);\n }\n\n matches(subscription: Subscription, term: string) {\n return subscription.id.toString().includes(term.toLowerCase());\n }\n}\n","import { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { plainToClass } from 'class-transformer';\nimport { DecimalPipe } from '@angular/common';\nimport { EventService } from '@services/event/event.service';\nimport { EntityService } from '@services/entity/entity.service';\nimport { Tag } from '@models/tag';\nimport { Observable } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TagsService extends EntityService {\n\n public entityRoute = \"tags\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n getTagsOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/Tags/' + customerId);\n }\n\n static matches(tag: Tag, term: string, pipe?: PipeTransform) {\n return tag.name.toLowerCase().includes(term);\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { TransactionDto } from '@dto/transactionDto';\nimport { Observable } from 'rxjs';\nimport { EntityService } from './entity.service';\nimport { DEDatePipe } from '../../pipes/de-date.pipe';\nimport { TableFilter } from '@models/tableFilter';\nimport { RunningTransactionDetails } from '@dto/runningTransactionDetails';\nimport { TransactionMeterValuesChartData } from '@models/TransactionMeterValuesChartData';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TransactionsService extends EntityService {\n\n public entityRoute = \"transactions\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n getTransactions(filter: TableFilter = {}): Observable {\n return this.http.post(this.baseUrl + 'api/transactions/all', filter);\n }\n\n getTransactionsOfUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/transactions/users/' + userId);\n }\n\n getTransactionsOfCustomer(customerId: number, filter: TableFilter = {}): Observable {\n return this.http.post(this.baseUrl + 'api/transactions/customers/' + customerId, filter);\n }\n\n getLastTransactionOfChargingPoint(chargingStationId: string, connectorId: number): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/' + connectorId + '/lastTransactions');\n }\n\n getTransactionsOfChargingStation(chargingStationId: string): Observable {\n return this.http.get(this.baseUrl + 'api/chargingStations/' + chargingStationId + '/transactions');\n }\n\n getTransactionsOfLast7Days(): Observable {\n return this.http.get(this.baseUrl + 'api/transactions/lastTransactions');\n }\n\n getTransactionsOfLast7DaysOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/transactions/lastTransactions/' + customerId);\n }\n\n getRunningTransactions(): Observable {\n return this.http.get(this.baseUrl + 'api/transactions/runningTransactions');\n }\n\n getRunningTransactionsOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/transactions/runningTransactionsOfCustomer/' + customerId);\n }\n\n getRunningTransactionsDetail(): Observable {\n return this.http.get(this.baseUrl + 'api/transactions/runningTransactions/details');\n }\n\n getRunningTransactionsDetailOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/transactions/runningTransactionsOfCustomer/' + customerId + '/details');\n }\n\n GetPowerConsumptionCustom(filter?): Observable {\n let params = new HttpParams();\n Object.keys(filter).forEach(\n key => filter[key] && (params = params.append(key, filter[key]))\n );\n return this.http.get(this.baseUrl + 'api/transactions/powerconsumption-custom', { params: params });\n }\n\n deleteTransactionsOfChargingStation(chargingStationId: string): Observable {\n return this.http.delete(this.baseUrl + 'api/transactions/' + chargingStationId + '/delete');\n }\n\n closeTransaction(transactionId: number): Observable {\n return this.http.get(this.baseUrl + 'api/transactions/' + transactionId);\n }\n\n search(searchTerm: string): Observable {\n return this.http.get(`${this.baseUrl}api/transactions/search/${searchTerm}`);\n }\n\n static matches(transaction: TransactionDto, term: string, pipe?: PipeTransform) {\n var meterAmount = transaction.meterAmount / 1000;\n\n var datePipe = new DEDatePipe();\n var startTimestamp = datePipe.transform(transaction.startTimestamp);\n var stopTimestamp = datePipe.transform(transaction.stopTimestamp);\n\n return String(transaction.transactionId).includes(term.toLowerCase()) ||\n transaction.successMessage?.toLowerCase().includes(term.toLowerCase()) ||\n transaction.reason?.toLowerCase().includes(term.toLowerCase()) ||\n transaction.userFirstName?.toLowerCase().includes(term.toLowerCase()) ||\n transaction.userLastName?.toLowerCase().includes(term.toLowerCase()) ||\n transaction.rfidCardIdTag?.toLowerCase().includes(term.toLowerCase()) ||\n transaction.chargingStationName?.toLowerCase().includes(term.toLowerCase()) ||\n meterAmount?.toString().includes(term.toLowerCase()) ||\n startTimestamp?.includes(term.toLowerCase()) ||\n stopTimestamp?.includes(term.toLowerCase()) ||\n transaction.duration?.includes(term.toLowerCase());\n }\n\n getTransactionMeterValuesChartDatas(transactionId: number) : Observable {\n return this.http.get(`${this.baseUrl}api/transactions/getTransactionMeterValuesChartDatas/${transactionId}`);\n }\n\n getKwhOfRunningTransaction(transactionId: number) : Observable {\n return this.http.get(`${this.baseUrl}api/transactions/getKwhOfRunningTransaction/${transactionId}`);\n }\n \n}\n","import { Inject, Injectable, PipeTransform } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { EntityService } from '@services/entity/entity.service';\nimport { User } from '@models/identity/user';\nimport { Observable } from 'rxjs';\nimport { RfidCard } from '@models/rfidCard';\nimport { UserProfile } from '../../dto/userProfile';\nimport { ChangePasswordRequest } from '@dto/changePasswordRequest';\nimport { ChangePasswordResponse } from '@dto/changePasswordResponse';\nimport { DeleteCurrentUserResponse } from '@dto/deleteCurrentUserResponse';\nimport { DeleteCurrentUserRequest } from '@dto/deleteCurrentUserRequest';\nimport { UpdateUserRequest } from '@dto/updateUserRequest';\nimport { Operator } from '@models/operator';\nimport { UserDto } from '@dto/userDto';\nimport { JWTDto } from '@dto/jwtDto';\nimport { __param } from 'tslib';\nimport { UserTableEntry } from '@dto/userTableEntry';\nimport { Setting } from '@models/setting';\nimport { CustomerPermission } from '@models/customerPermission';\nimport { MasterUserOfCustomer } from '@dto/masterUserOfCustomer';\nimport { UserForRfidAuth } from '@dto/userForRfidAuth';\nimport { UserEditDto } from '@dto/userEditDto';\nimport { CustomerDto } from '@dto/customerDto';\nimport { ChargingStationDto } from '@dto/chargingStationDto';\nimport { PatchUserProfilePicture } from '@dto/httpPatch/userProfile';\nimport { SupportMessage } from '@dto/supportMesagge';\nimport { PricingDto } from '@dto/pricingDto';\nimport { SubscriptionDetailDto } from '@dto/subscriptionDetailDto';\nimport { ConfirmationCodeDto } from '../../dto/confirmationCodeDto';\nimport { UpdateUserEmailRequest } from '../../dto/updateUserEmailRequest';\nimport { UpdateAcceptAdRequestDto } from '../../dto/updateAcceptAdRequestDto';\nimport { Address } from '@models/address';\nimport { ExistDummyRequestDto } from '../../dto/existDummyRequestDto';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsersService extends EntityService {\n\n public entityRoute = \"users\";\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n super(http, baseUrl);\n }\n\n getCurrentUserId() {\n return localStorage.getItem(\"userId\")\n }\n\n async getCustomerIdOfUserAsync(userId: string): Promise {\n return await this.http.get(this.baseUrl + 'api/users/' + userId + '/customerId').toPromise();\n }\n\n async getCustomerIdOfCurrentUserAsync(): Promise {\n var userId = this.getCurrentUserId();\n return await this.getCustomerIdOfUserAsync(userId);\n }\n\n getUsersOfCurrentCustomer(): Observable {\n return this.http.get(this.baseUrl + 'api/users');\n }\n\n getUsersOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/users');\n }\n\n getUserTable(): Observable {\n var result = this.http.get(this.baseUrl + 'api/users/table/all');\n return result;\n }\n\n getUserTableOfCurrentCustomer(): Observable {\n return this.http.get(this.baseUrl + 'api/users/table');\n }\n\n getUserTableOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/usersTable');\n }\n\n getUsersForRfidAuth(): Observable {\n return this.http.get(this.baseUrl + 'api/users/rfidAuth');\n }\n\n getUsersOfCustomerForRfidAuth(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/usersForRfidAuth');\n }\n\n getUserEditDto(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/users/' + userId + '/edit');\n }\n\n async getUsersOfCurrentCustomerAsync(): Promise {\n return await this.http.get(this.baseUrl + 'api/users').toPromise();\n }\n\n async getUsersOfCustomerAsync(customerId: number): Promise {\n return await this.http.get(this.baseUrl + 'api/customers/' + customerId + '/users').toPromise();\n }\n\n getLoggedInUser(): Observable {\n return this.http.get(this.baseUrl + 'api/users/current');\n }\n\n async getLoggedInUserAsync(): Promise {\n return await this.http.get(this.baseUrl + 'api/users/current').toPromise();\n }\n\n async getLoggedInUserRolesForSelectedCustomerAsync(): Promise {\n return await this.http.get(this.baseUrl + 'api/users/current/roles').toPromise();\n }\n\n getCustomersOfCurrentUser(): Observable {\n return this.http.get(this.baseUrl + 'api/users/current/customers');\n }\n\n getUserProfile(): Observable {\n return this.http.get(this.baseUrl + 'api/users/profile');\n }\n\n getUserAddressById(userId: string): Observable
    {\n return this.http.get
    (this.baseUrl + 'api/users/' + userId + '/address');\n }\n\n getUserProfileById(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/users/' + userId + '/profile');\n }\n\n getUserDtoById(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/users/' + userId + '/dto');\n }\n\n getUserNameById(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/users/' + userId + '/name' );\n }\n\n getUserProfileOfCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/customers/' + customerId + '/profile');\n }\n\n getUserByEmail(email: string): Observable {\n return this.http.get(this.baseUrl + 'api/users/email/' + email);\n }\n\n getRfidCardsOfUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/users/' + userId + '/RfidCards');\n }\n\n getOperatorOfUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/users/' + userId + '/operator');\n }\n\n getUsersWithTransactionsAtChargingStation(chargingStationId: string): Observable {\n return this.http.get(this.baseUrl + 'api/users/withTransactionsAtChargingStation/' + chargingStationId);\n }\n\n getUsersWithTransactionsAtChargingStations(chargingStations: ChargingStationDto[]): Observable {\n let params = new HttpParams()\n .set('chargingStationIdsString', chargingStations.map(x => x.id).join(','));\n\n return this.http.get(this.baseUrl + 'api/users/withTransactionsAtChargingStations', { params: params });\n }\n\n async getCurrentCustomerPermissionsAsync(): Promise {\n return await this.http.get(this.baseUrl + 'api/Users/current/permissions').toPromise();\n }\n\n async getMasterUserOfCurrentCustomerAsync(): Promise {\n return await this.http.get(this.baseUrl + 'api/Users/current/masterUser').toPromise();\n }\n\n checkIfMasterUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/users/' + userId + '/isMasterUser');\n }\n\n createUserForCurrentCustomer(user: User): Observable {\n return this.http.post(this.baseUrl + 'api/users', user);\n }\n\n createAnonymousUserForCurrentCustomer(user: User): Observable {\n return this.http.post(this.baseUrl + 'api/users/anonym', user);\n }\n\n createUserForCustomer(customerId: number, user: User): Observable {\n return this.http.post(this.baseUrl + 'api/customers/' + customerId + '/user', user);\n }\n\n createAnonymousUserForCustomer(customerId: number, user: User): Observable {\n return this.http.post(this.baseUrl + 'api/customers/' + customerId + '/user/anonym', user);\n }\n\n updateUser(userId: string, updateUserRequest: UpdateUserRequest): Observable {\n return this.http.patch(this.baseUrl + 'api/' + this.entityRoute + '/' + userId, updateUserRequest);\n }\n\n // patchPricingOfUsers(pricingDto: PricingDto): Observable {\n // return this.http.patch(this.baseUrl + 'api/' + this.entityRoute + '/pricing', pricingDto);\n // }\n\n removePricingFromUsers(pricingDto: PricingDto): Observable {\n return this.http.patch(this.baseUrl + 'api/' + this.entityRoute + '/pricing/remove', pricingDto);\n }\n\n changePasswordOfCurrentUser(changePasswordRequest: ChangePasswordRequest): Observable {\n return this.http.post(this.baseUrl + 'api/' + this.entityRoute + '/changepassword', changePasswordRequest);\n }\n\n changePasswordOfCustomer(changePasswordRequest: ChangePasswordRequest, customerId: number): Observable {\n return this.http.post(this.baseUrl + 'api/customers/' + customerId + '/changepassword', changePasswordRequest);\n }\n\n patchUserProfile(body, userId: string) {\n return this.http.patch(this.baseUrl + 'api/users/'+ userId +'/profile', body);\n }\n\n patchMasterUserProfile(body, userId: string) {\n return this.http.patch(this.baseUrl + 'api/users/' + userId + '/profile', body);\n }\n\n patchCurrentUserProfile(body) {\n return this.http.patch(this.baseUrl + 'api/users/profile', body);\n }\n\n patchUserProfileOfCurrentCustomer(userProfile: UserProfile) {\n return this.http.patch(this.baseUrl + 'api/users/' + 'patchUserProfileOfCurrentCustomer/', userProfile);\n }\n\n patchUserProfileOfCustomer(customerId: number, userProfile: UserProfile){\n return this.http.patch(this.baseUrl + 'api/users/' + 'patchUserProfileOfCustomer/' + customerId , userProfile);\n }\n\n patchProfilePicture(body: PatchUserProfilePicture) {\n return this.http.patch(this.baseUrl + 'api/users/profilePicture', body);\n }\n\n patchProfilePictureOfUser(body: PatchUserProfilePicture, userId: string) {\n return this.http.patch(this.baseUrl + 'api/users/' + userId + '/profilePicture', body);\n }\n\n patchProfilePictureOfCustomer(body: PatchUserProfilePicture, customerId: number,) {\n return this.http.patch(this.baseUrl + 'api/customers/' + customerId + '/profilePicture', body);\n }\n\n async changeSelectedCustomerOfCurrentUserAsync(customerId: number) {\n return await this.http.patch(this.baseUrl + 'api/users/current/customer/' + customerId, null).toPromise();\n }\n\n sendMessageToSupport(supportMessage: SupportMessage) {\n return this.http.post(this.baseUrl + 'api/users/sendmessagetosupport', supportMessage);\n }\n\n updateCurrentUserSettings(settings: Setting) {\n return this.http.put(this.baseUrl + 'api/users/settings', settings);\n }\n\n updateMasterUserOfCustomerSettings(customerId: number, settings: Setting) {\n return this.http.put(this.baseUrl + 'api/customers/' + customerId + '/settings', settings);\n }\n\n syncLocalOcppWhitelistForAllUsers(customerId: number): Observable {\n return this.http.put(this.baseUrl + 'api/customers/' + customerId + '/syncLocalOcppWhitelist', null);\n }\n\n deleteCurrentUser(deleteCurrentUserRequest: DeleteCurrentUserRequest): Observable {\n const currentPassword = deleteCurrentUserRequest.currentPassword;\n\n const options = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n body: {\n currentPassword\n },\n };\n return this.http.delete(this.baseUrl + 'api/' + this.entityRoute + '/current/delete', options);\n }\n\n deleteMasterUserOfCustomer(customerId: number): Observable {\n return this.http.delete(this.baseUrl + 'api/customers/' + customerId + '/masterUser');\n }\n\n DisinviteUser(userId: string): Observable {\n return this.http.post(this.baseUrl + 'api/users/DisinviteUser/' +userId, { });\n }\n\n getUpvotyToken(privateKey: string, userId: string, userName: string, userEmail: string): Observable {\n return this.http.get(`${this.baseUrl}api/users/upvoty/${privateKey}/${userId}/${userName}/${userEmail}`);\n }\n\n getCustomerSubscriptionDetailsOfCurrentCustomer(): Observable {\n return this.http.get(this.baseUrl + 'api/users/SubscriptionDetails');\n }\n\n getCountOfUsers(): Observable {\n return this.http.get(this.baseUrl + 'api/users/count')\n }\n\n checkIfEmailExists(email: String): Observable {\n return this.http.get(this.baseUrl + 'api/users/emailExists/' + email);\n }\n\n getMasterUserByCustomerId(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/users/masterUser/' + customerId);\n }\n\n invite(userId: string, payload: any): Observable {\n return this.http.post(this.baseUrl + 'api/users/invite/' + userId, payload);\n }\n\n static matches(user: User, term: string, pipe?: PipeTransform) {\n return user.email?.toLowerCase().includes(term.toLowerCase())\n || user.firstName?.toLowerCase().includes(term.toLowerCase())\n || user.lastName?.toLowerCase().includes(term.toLowerCase())\n || user.rfidCardsString?.toLowerCase().includes(term.toLowerCase())\n || user.allowedChargingStationsString?.toLowerCase().includes(term.toLowerCase())\n || user.company?.toLowerCase().includes(term.toLowerCase())\n }\n\n sendConfirmationCode(confirmationCodeDto: ConfirmationCodeDto): Observable {\n return this.http.post(`${this.baseUrl}api/users/sendConfirmationCode/`, confirmationCodeDto);\n }\n\n isConfirmationCodeValid(confirmationCodeDto: ConfirmationCodeDto): Observable{\n return this.http.post(`${this.baseUrl}api/users/isConfirmationCodeValid/`, confirmationCodeDto)\n }\n\n updateUserEmailByUserId(updateUserEmailRequest: UpdateUserEmailRequest): Observable {\n return this.http.post(`${this.baseUrl}api/users/updateUserEmailByUserId/`, updateUserEmailRequest)\n }\n\n changeVerifiedEmailByUserId(confirmationCodeDto: ConfirmationCodeDto): Observable {\n return this.http.post(`${this.baseUrl}api/users/changeVerifiedEmailByUserId/`, confirmationCodeDto)\n }\n\n updateAcceptAd(updateAcceptAdRequest: UpdateAcceptAdRequestDto): Observable {\n return this.http.post(`${this.baseUrl}api/users/updateAcceptAd/`, updateAcceptAdRequest)\n }\n\n existEmail(eMail: string): Observable {\n const encodedEmail = encodeURIComponent(eMail);\n return this.http.get(`${this.baseUrl}api/users/existEmail/?eMail=${encodedEmail}`);\n }\n\n existDummyUser(requestDto: ExistDummyRequestDto): Observable {\n return this.http.post(`${this.baseUrl}api/users/existDummyUser/`,requestDto);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { Router } from '@angular/router';\n//import { NotifierService } from 'angular-notifier';\n//import { NotificationBarService } from '../notification-bar/notification-bar.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorHandlerService implements HttpInterceptor {\n\n constructor(private router: Router) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request)\n .pipe(\n catchError((error: HttpErrorResponse) => {\n let errorMessage = this.handleError(error);\n return throwError(errorMessage);\n })\n )\n };\n\n private handleError(error: HttpErrorResponse): string {\n if (error.status === 404) {\n return this.handleNotFound(error);\n }\n else if (error.status === 400) {\n return this.handleBadRequest(error);\n }\n else if (error.status === 401) {\n return this.handleUnauthorized(error);\n }\n else if (error.status === 403) {\n return this.handleForbidden(error);\n }\n }\n\n private handleNotFound(error: HttpErrorResponse): string {\n //this.router.navigate(['/404']);\n return error.message;\n }\n\n private handleBadRequest(error: HttpErrorResponse): string {\n if (error.error.errors) {\n let message = '';\n const values = Object.values(error.error.errors);\n values.map((m: string) => {\n message += m + '
    ';\n })\n return message.slice(0, -4);\n }\n else {\n return error.error;\n }\n\n }\n\n private handleUnauthorized(error: HttpErrorResponse) {\n if (this.router.url.startsWith('/auth/login')) {\n return error.error.errorMessage;\n }\n else {\n this.router.navigate(['/auth/login'], { queryParams: { returnUrl: this.router.url } });\n return error.message;\n }\n }\n\n private handleForbidden = (error: HttpErrorResponse) => {\n this.router.navigate([\"/auth/login\"], { queryParams: { returnUrl: \"/\", message: \"\" } });\n return \"Forbidden\";\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EventService {\n\n private entityRefreshSub = new Subject();\n public entityRefresh$ = this.entityRefreshSub.asObservable();\n\n private filesLoadedSub = new Subject();\n public filesLoaded$ = this.filesLoadedSub.asObservable();\n\n constructor() { }\n\n public sendEntityRefresh() {\n this.entityRefreshSub.next();\n }\n\n public sendFilesLoaded() {\n this.filesLoadedSub.next();\n }\n\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { UploadResponse } from '@dto/uploadResponse';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { EventService } from '@services/event/event.service';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FilesService {\n\n userConfig;\n customerConfig;\n operatorConfig;\n\n constructor(\n private http: HttpClient,\n @Inject('BASE_URL') private baseUrl: string,\n private eventService: EventService,\n private authenticationService: AuthenticationService\n ) {\n this.authenticationService.authChanged$.subscribe(result => {\n if (result) {\n this.initializeConfigurations();\n }\n })\n }\n\n async initializeConfigurations() {\n this.userConfig = await this.getJsonAsync(\"config/roles/config.user.json\", true);\n this.customerConfig = await this.getJsonAsync(\"config/roles/config.customer.json\", true);\n this.operatorConfig = await this.getJsonAsync(\"config/roles/config.operator.json\", true);\n this.eventService.sendFilesLoaded();\n }\n\n public async getNotifications() {\n return await this.getJsonAsync(\"config/roles/notifications.json\", true);\n }\n\n upload(formData: FormData): Observable {\n return this.http.post(this.baseUrl + 'api/files/upload', formData);\n }\n\n async getAsync(fileName: string, isGeneralStorage?: boolean): Promise {\n let params = new HttpParams()\n .set('isJson', 'false')\n .set('fileName', fileName)\n \n if (isGeneralStorage) {\n params = params.set('isGeneralStorage', isGeneralStorage.toString());\n }\n\n return await this.http.get(this.baseUrl + 'api/files', { params: params}).toPromise();\n }\n\n async getJsonAsync(fileName: string, isGeneralStorage?: boolean): Promise {\n let params = new HttpParams()\n .set('isJson', 'true')\n .set('fileName', fileName)\n\n if (isGeneralStorage) {\n params = params.set('isGeneralStorage', isGeneralStorage.toString());\n }\n\n return await this.http.get(this.baseUrl + 'api/files', { params: params }).toPromise();\n }\n\n async uploadAsync(formData: FormData, isPublic: boolean = false): Promise {\n return await this.http.post(`${this.baseUrl}api/files/upload${isPublic ? '/public' : '/'}`, formData).toPromise();\n }\n\n download(fileName: string, downloadFileName?: string, isGeneralStorage?: boolean) {\n let params = new HttpParams()\n .set('fileName', fileName)\n\n if (isGeneralStorage) {\n params = params.set('isGeneralStorage', isGeneralStorage.toString());\n }\n\n this.http.get(this.baseUrl + 'api/files/download', { params: params, responseType: 'blob' }).subscribe(result => {\n var url = window.URL.createObjectURL(result);\n var anchor = document.createElement(\"a\");\n anchor.download = downloadFileName ? downloadFileName : fileName;\n anchor.href = url;\n anchor.click();\n });\n }\n\n fileExists(fileName: string, isGeneralStorage?: boolean): Observable {\n let params = new HttpParams()\n .set('fileName', fileName)\n\n if (isGeneralStorage) {\n params = params.set('isGeneralStorage', isGeneralStorage.toString());\n }\n\n return this.http.get(this.baseUrl + 'api/files/exists', { params: params });\n }\n\n whitelabelExists(whitelabel: string): Observable {\n let params = new HttpParams()\n .set('whitelabel', whitelabel)\n\n return this.http.get(this.baseUrl + 'api/files/whitelabel', { params: params });\n }\n\n getPicture(fileName: string, isGeneralStorage?: boolean, fileType?: string) {\n let params = new HttpParams()\n .set('fileName', fileName)\n\n if (isGeneralStorage) {\n params = params.set('isGeneralStorage', isGeneralStorage.toString());\n }\n\n if (fileType) {\n params = params.set('fileType', fileType);\n }\n\n return this.http.get(this.baseUrl + 'api/files/image', { params: params, responseType: 'blob' });\n }\n\n getPublicImage(fileName: string, fileType?: string) {\n let params = new HttpParams()\n .set('fileName', fileName)\n\n if (fileType) {\n params = params.set('fileType', fileType);\n }\n\n return this.http.get(this.baseUrl + 'api/files/public/image', { params: params, responseType: 'blob' });\n }\n\n getSVG(fileName: string) {\n let params = new HttpParams()\n return this.http.get(`${this.baseUrl}assets/${fileName}.svg`, { params: params, responseType: 'text' });\n }\n\n getFileList(directory: string, isGeneralStorage?: boolean) {\n let params = new HttpParams().set('directory', directory)\n if (isGeneralStorage) {\n params = params.set('isGeneralStorage', isGeneralStorage.toString());\n }\n return this.http.get(this.baseUrl + 'api/files/ListDirectory', { params: params, responseType: 'text' });\n }\n\n \n\n}\n","import { AfterViewInit, Injectable, OnInit } from '@angular/core';\nimport { AbstractControl, UntypedFormGroup, ValidationErrors, Validator } from '@angular/forms';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormService {\n\n public form: UntypedFormGroup;\n public formMap: Map;\n\n public patterns;\n public validators;\n\n public formCreated: boolean;\n\n public valuesAtInit;\n public unsavedChanges: boolean = false;\n\n constructor() {\n this.formMap = new Map();\n }\n\n public removeValidators(formGroup: UntypedFormGroup, emitEvent = true) {\n for (const key in formGroup.controls) {\n formGroup.get(key).clearValidators();\n formGroup.get(key).updateValueAndValidity({ emitEvent: emitEvent });\n }\n }\n\n public addValidators(formGroup: UntypedFormGroup, emitEvent = true) {\n for (const key in formGroup.controls) {\n formGroup.get(key).setValidators(this.validators[key]);\n formGroup.get(key).updateValueAndValidity({ emitEvent: emitEvent });\n }\n }\n\n public validateControl(controlName: string) {\n if (!this.form || !this.form.controls) {\n return false; \n }\n\n const control = this.getControl(controlName);\n return control ? control.invalid && control.touched : false;\n }\n\n public hasError(controlName: string, errorName: string) {\n if (!this.form || !this.form.controls) {\n return false; \n }\n\n const control = this.getControl(controlName);\n return control ? control.hasError(errorName) : false;\n }\n\n private getControl(controlName: string) {\n const controlNames = controlName.split('.');\n let control = this.form.get(controlNames[0]);\n\n for (let i = 1; i < controlNames.length && control; i++) {\n control = control.get(controlNames[i]);\n }\n\n return control;\n }\n\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { NominatimResponse } from '../../dto/nominatimResponse';\n\n@Injectable({\n providedIn: 'root'\n})\nexport abstract class MapService{\n\n constructor(public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) { \n }\n\n getMapPosition(Address): Observable {\n var value = Address.toLowerCase();\n value = value.replace(/ä/g, 'ae');\n value = value.replace(/ö/g, 'oe');\n value = value.replace(/ü/g, 'ue');\n return this.http.get(this.baseUrl + 'api/map/' + value)\n }\n\n\n}\n","import { Injectable, TemplateRef } from '@angular/core';\n\n@Injectable({\n providedIn: 'any'\n})\nexport class MessageService {\n\n public errorTemplate: TemplateRef;\n public errorMessage: string = '';\n public showError: boolean;\n\n public successTemplate: TemplateRef;\n public successMessage: string = '';\n public showSuccess: boolean;\n\n constructor() {\n this.clearErrors();\n this.clearSuccess();\n }\n\n public setError(error) {\n this.clearSuccess();\n if (typeof (error) == 'string') {\n this.errorMessage = error;\n }\n else if (error instanceof TemplateRef) {\n this.errorTemplate = error;\n }\n else if (error instanceof Object) {\n if (error.errors) {\n this.errorMessage = error.errors;\n }\n else if (error.errorMessage) {\n this.errorMessage = error.errorMessage;\n }\n }\n\n this.showError = true;\n }\n\n public clearErrors() {\n this.showError = false;\n this.errorMessage = '';\n this.errorTemplate = null;\n }\n\n public setSuccess(message) {\n this.clearErrors();\n if (message instanceof TemplateRef) {\n this.successTemplate = message;\n }\n else {\n this.successMessage = message;\n }\n this.showSuccess = true;\n }\n\n public clearSuccess() {\n this.showSuccess = false;\n this.successMessage = '';\n this.successTemplate = null;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { CheckoutDto } from '@dto/checkoutDto';\nimport { PublicChargeSubscriptionDto as PublicTransactionRequestDto } from '@dto/publicChargeSubscriptionDto';\nimport { Observable } from 'rxjs';\nimport { UserDto } from '@dto/userDto';\nimport { StripeOnboardingDto } from '@dto/stripeOnboarding';\nimport { InvoiceDto } from '@dto/invoiceDto';\nimport { SubscriptionDto } from '@dto/subscriptionDto';\nimport { ChargingParkSubscriptionDto } from '@dto/chargingParkSubscriptionDto';\nimport { StripePublishableKeyDto } from '@dto/stripePublishableKeyDto';\nimport { PublicTransactionSessionDto } from '@dto/publicTransactionSessionDto';\nimport { PaymentReceiptDto } from '@dto/paymentReceiptDto';\nimport { CancelSubscriptionResponse } from '@dto/cancelSubscriptionResponse';\nimport { PaymentIntent } from '@stripe/stripe-js';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentsService {\n\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) {}\n\n getStripePublishableKey(): Observable {\n return this.http.get(this.baseUrl + 'api/payments/stripe-publishable-key');\n }\n\n getCheckoutSession(sessionId: string): Observable {\n return this.http.get(this.baseUrl + 'api/payments/checkout-session/' + sessionId);\n }\n\n getCustomer(customerId: string): Observable {\n return this.http.get(this.baseUrl + 'api/payments/customer/' + customerId);}\n\n createCheckoutSession(checkout: CheckoutDto): Observable {\n return this.http.post(this.baseUrl + 'api/payments/create-checkout-session', checkout);\n }\n\n createCheckoutSessionForCUBOSConnect(checkout: CheckoutDto): Observable {\n return this.http.post(this.baseUrl + 'api/payments/create-checkout-session-for-cubos-connect', checkout);\n }\n\n createCheckoutSessionForUser(checkout: CheckoutDto): Observable {\n return this.http.post(this.baseUrl + 'api/payments/create-checkout-session-for-user', checkout);\n }\n\n onSuccess(sessionId: string): Observable {\n return this.http.post(this.baseUrl + 'api/payments/success/' + sessionId, null);\n }\n\n patchChargingParkSubscriptionId(sessionId: string): Observable {\n return this.http.post(this.baseUrl + 'api/payments/patch-charging-park-subscription-id/' + sessionId, null);\n }\n\n createStripeAccount(user: UserDto): Observable {\n return this.http.post(this.baseUrl + 'api/payments/create-stripe-account', user);\n }\n\n getInvoices(stripeCustomerId: string): Observable {\n return this.http.get(this.baseUrl + 'api/payments/invoices/' + stripeCustomerId);\n }\n\n getInvoicesBySessionId(sessionId: string): Observable {\n return this.http.get(this.baseUrl + 'api/payments/invoices/session/' + sessionId);\n }\n\n createSetupIntent(chargingParkSubscriptionDto: ChargingParkSubscriptionDto): Observable {\n return this.http.post(this.baseUrl + 'api/payments/charging-park/setupIntent/create', chargingParkSubscriptionDto);\n }\n\n createChargingParkSubscription(chargingParkSubscriptionDto: ChargingParkSubscriptionDto): Observable {\n return this.http.post(this.baseUrl + 'api/payments/charging-park/subscription/create', chargingParkSubscriptionDto);\n }\n\n createChargingParkSubscriptionByPaypal(setupIntentId: string): Observable {\n return this.http.post(this.baseUrl + 'api/payments/charging-park/subscription/create-paypal-callback/' + setupIntentId, null);\n }\n\n updateChargingParkSubscription(chargingParkSubscriptionDto: ChargingParkSubscriptionDto): Observable {\n return this.http.post(this.baseUrl + 'api/payments/charging-park/subscription/update', chargingParkSubscriptionDto);\n }\n\n createPublicTransactionPaymentIntent(publicTransactionRequestDto: PublicTransactionRequestDto): Observable {\n return this.http.post(this.baseUrl + 'api/payments/public-transaction/payment-intent/create', publicTransactionRequestDto);\n }\n\n updatePrecisionChargeAmount(paymentIntentId: string, maxAmount: number): Observable {\n return this.http.patch(`${this.baseUrl}api/payments/public-transaction/payment-intent/${paymentIntentId}/${maxAmount}`, null);\n }\n\n getSubscription(subscriptionId: string): Observable {\n return this.http.get(this.baseUrl + 'api/payments/subscription/' + subscriptionId);\n }\n\n cancelSubscription(userId: string): Observable {\n return this.http.put(this.baseUrl + 'api/payments/cancel-subscription/'+ userId, null);\n }\n\n cancelSubscriptionForCUBOSConnect(): Observable {\n return this.http.get(this.baseUrl + 'api/payments/cancel-subscription-for-cubos-connect');\n }\n\n cancelPublicChargeSubscriptionAtPeriodEnd(subscriptionId: string): Observable {\n return this.http.get(this.baseUrl + 'api/payments/cancel-public-charge-subscription-at-period-end/' + subscriptionId);\n }\n\n checkSubscriptionExpired(): Observable {\n return this.http.post(this.baseUrl + 'api/payments/check-subscription-expired', null);\n }\n\n validatePublicTransaction(paymentIntentId: string): Observable {\n return this.http.get(this.baseUrl + 'api/payments/validatePublicTransaction/'+ paymentIntentId);\n }\n\n getPublicTransactionSession(publicTransactionId: number): Observable {\n return this.http.get(this.baseUrl + 'api/payments/publicTransactionSession/' + publicTransactionId);\n }\n\n getPaymentReceiptsOfCustomer(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/payments/getPaymentReceiptsOfCustomer/' + userId);\n }\n\n getPaymentReceiptsOfUser(userId: string): Observable {\n return this.http.get(this.baseUrl + 'api/payments/getPaymentReceiptsOfUser/' + userId);\n }\n\n getPaymentReceiptsOfSelectedCustomer(customerId: number): Observable {\n return this.http.get(this.baseUrl + 'api/payments/getPaymentReceiptsOfSelectedCustomer/' + customerId);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SubscriptionTypeEnum } from '@enums/subscriptionTypeEnum';\nimport { CustomerPermission } from '@models/customerPermission';\nimport { SubscriptionTypePermission } from '@models/subscriptionTypePermission';\nimport { AuthenticationService } from '@services/authentication/authentication.service';\nimport { CustomersService } from '@services/entity/customers.service';\nimport { SubscriptionsService } from '@services/entity/subscriptions.service';\nimport { UsersService } from '@services/entity/users.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PermissionsService {\n\n constructor(private usersService: UsersService, private subscriptionsService: SubscriptionsService, private authenticationService: AuthenticationService) { }\n\n public async getPermissionsOfCurrentCustomer(): Promise {\n var user = this.authenticationService.getLoggedInUser();\n\n if (user.subscriptionTypeId == SubscriptionTypeEnum.Enterprise) {\n var customerPermissions = await this.usersService.getCurrentCustomerPermissionsAsync();\n /* var customerPermissions = await this.customersService.getCustomerPermissionsAsync(user.selectedCustomerId);*/\n\n return customerPermissions;\n }\n else {\n var subscriptionTypePermissions = await this.subscriptionsService.getSubscriptionTypePermissionsAsync(user.subscriptionTypeId);\n\n return subscriptionTypePermissions;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Params } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteDataService {\n\n public params: Params;\n\n constructor() { }\n}\n","import { DecimalPipe, DatePipe, CurrencyPipe } from \"@angular/common\";\nimport { Injectable, PipeTransform } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { IEntity } from \"@interfaces/entity\";\nimport { TableColumnPipe } from \"@models/tableColumnPipe\";\nimport { BehaviorSubject, Observable, of, Subject } from \"rxjs\";\nimport { switchMap } from \"rxjs/operators\";\nimport {\n SortColumn,\n SortDirection,\n} from \"src/app/directives/sortable.directive\";\n\ninterface SearchResult {\n entities: IEntity[];\n total: number;\n}\n\ninterface State {\n page: number;\n pageSize: number;\n searchTerm: string;\n searchTermMap: Map;\n sortColumn: SortColumn;\n sortDirection: SortDirection;\n tableLayout: string;\n}\n\n@Injectable({\n providedIn: \"any\",\n})\nexport class TableFunctionsService {\n public entities: IEntity[];\n public selectedEntities: IEntity[] = [];\n\n private _search$ = new Subject();\n private _entities$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: \"\",\n searchTermMap: new Map(),\n sortColumn: \"\",\n sortDirection: \"\",\n tableLayout: \"table-layout\",\n };\n\n constructor(private pipe: DecimalPipe, private sanitizer: DomSanitizer) {\n // this.total$.subscribe(result => {})\n }\n\n get entities$() {\n return this._entities$.asObservable();\n }\n get total$() {\n return this._total$.asObservable();\n }\n\n get page() {\n return this._state.page;\n }\n get pageSize() {\n return this._state.pageSize;\n }\n get searchTerm() {\n return this._state.searchTerm;\n }\n get searchTermMap() {\n return this._state.searchTermMap;\n }\n get sortColumn() {\n return this._state.sortColumn;\n }\n get sortDirection() {\n return this._state.sortDirection;\n }\n get tableLayout() {\n return this._state.tableLayout;\n }\n\n set page(page: number) {\n this._set({ page });\n }\n set pageSize(pageSize: number) {\n this._set({ pageSize });\n }\n set searchTerm(searchTerm: string) {\n this._set({ searchTerm });\n }\n set searchTermMap(searchTermMap: Map) {\n this._set({ searchTermMap });\n }\n set sortColumn(sortColumn: SortColumn) {\n this._set({ sortColumn });\n }\n set sortDirection(sortDirection: SortDirection) {\n this._set({ sortDirection });\n }\n set tableLayout(tableLayout: string) {\n this._set({ tableLayout });\n }\n\n private _set(patch: Partial) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n public addToSearchTermMap(property, searchTerm) {\n this.searchTermMap.set(property, searchTerm);\n this._search$.next();\n }\n\n setupFilter() {\n this._search$.pipe(switchMap(() => this._search())).subscribe((result) => {\n this._entities$.next(result.entities);\n this._total$.next(result.total);\n });\n\n this._search$.next();\n }\n\n matches(entity: IEntity, term: string, pipe: PipeTransform) {}\n compare = (v1: string | number, v2: string | number) =>\n v1 < v2 ? -1 : v1 > v2 ? 1 : 0;\n\n toComparableValue = (val: any): number | string | null => {\n if (val == null) return null;\n\n if (typeof val === \"string\" && /^\\d+:\\d+$/.test(val)) {\n const [minutes, seconds] = val.split(\":\").map(Number);\n return minutes * 60 + seconds;\n }\n\n if (typeof val === \"string\" && !isNaN(Number(val))) {\n return Number(val);\n }\n\n if (typeof val === \"string\" && !isNaN(Date.parse(val))) {\n return new Date(val).getTime();\n }\n\n return val;\n };\n\n sort(entities: IEntity[], column: SortColumn, direction: string): IEntity[] {\n if (direction === \"\" || column === \"\") {\n return entities;\n } else {\n const properties = column.split(\".\");\n const len = properties.length;\n\n entities.sort((a, b) => {\n let valA: any = a;\n let valB: any = b;\n\n for (let i = 0; i < len; i++) {\n valA = valA[properties[i]];\n valB = valB[properties[i]];\n }\n\n const comparableA = this.toComparableValue(valA);\n const comparableB = this.toComparableValue(valB);\n\n if (comparableA === comparableB) return 0;\n\n if (direction === \"asc\") {\n return comparableA == null\n ? -1\n : comparableB == null\n ? 1\n : comparableA < comparableB\n ? -1\n : 1;\n } else {\n return comparableA == null\n ? 1\n : comparableB == null\n ? -1\n : comparableA < comparableB\n ? 1\n : -1;\n }\n });\n return entities;\n }\n }\n\n onPageSizeChange(componentName: string) {\n localStorage.setItem(\n `${componentName}PageSize`,\n this._state.pageSize.toString()\n );\n }\n\n private _search(): Observable {\n const {\n sortColumn,\n sortDirection,\n pageSize,\n page,\n searchTerm,\n searchTermMap,\n } = this._state;\n\n // 1. sort\n let entities = this.sort(this.entities, sortColumn, sortDirection);\n\n // 2. filter\n if (searchTerm != \"\") {\n const isDecimal = /[0-9]\\,/.test(searchTerm);\n const isDate = /^[0-9]{2}\\.[0-9]{2}?\\.[0-9]{4}?,? ?/.test(searchTerm);\n if (isDecimal && !isDate) {\n entities = entities.filter((entity) =>\n new DecimalPipe(\"de-DE\")\n .transform(entity[\"meterAmount\"] / 1000, \"1.3\")\n .includes(searchTerm)\n );\n } else if (isDate) {\n let started = entities.filter((entity) => {\n const date = new DatePipe(\"de-DE\").transform(\n entity[\"startTimestamp\"],\n \"dd.MM.yyyy, HH:mm\"\n );\n if (date) return date.includes(searchTerm);\n });\n let stopped = entities.filter((entity) => {\n const date = new DatePipe(\"de-DE\").transform(\n entity[\"stopTimestamp\"],\n \"dd.MM.yyyy, HH:mm\"\n );\n if (date) return date.includes(searchTerm);\n });\n entities = started.concat(stopped);\n } else {\n entities = entities.filter((entity) =>\n this.matches(entity, searchTerm, this.pipe)\n );\n }\n }\n\n if (searchTermMap) {\n for (var item of searchTermMap) {\n var key = item[0];\n var value = item[1];\n\n const isDecimal = /[0-9]\\,/.test(value);\n if (isDecimal) {\n entities = entities.filter((entity) => {\n const prop = this.resolveProperty(entity, key, {\n isMeterValue: true,\n });\n if (prop)\n return (\n prop.includes(value) &&\n prop.split(\",\")[0].length == value.split(\",\")[0].length\n );\n });\n } else {\n entities = entities.filter((entity) =>\n this.resolveProperty(entity, key)\n ?.toString()\n .toLowerCase()\n .includes(value?.toLowerCase())\n );\n }\n }\n }\n\n const total = entities.length;\n\n // 3. paginate\n entities = entities.slice(\n (page - 1) * pageSize,\n (page - 1) * pageSize + pageSize\n );\n return of({ entities, total });\n }\n\n resolveProperty(entity, property, options?) {\n var properties = property.split(\".\");\n var returnValue;\n\n if (properties.length == 1) {\n returnValue = entity[property];\n } else if (properties.length == 2) {\n if (entity[properties[0]] != null) {\n returnValue = entity[properties[0]][properties[1]];\n }\n } else if (properties.length == 3) {\n if (\n entity[properties[0]] != null &&\n entity[properties[0]][properties[1]] != null\n ) {\n var childProperty = entity[properties[0]][properties[1]];\n returnValue = childProperty[properties[2]];\n }\n }\n\n if (options?.isLength && returnValue) {\n return returnValue.length;\n }\n\n if (options?.factor) {\n return options?.columnPipe.pipe.transform(returnValue * options?.factor);\n }\n\n if (options?.isLink) {\n const icon =\n '';\n const anchor = `${icon}`;\n return this.sanitizer.bypassSecurityTrustHtml(anchor);\n }\n\n if (options?.isBoolean) {\n if (returnValue == true || returnValue > 0) {\n return this.sanitizer.bypassSecurityTrustHtml(\n ''\n );\n }\n return this.sanitizer.bypassSecurityTrustHtml(\n ''\n );\n }\n\n if (options?.isHTML) {\n return this.sanitizer.bypassSecurityTrustHtml(returnValue);\n }\n\n if (options?.useStatusBadgeComponent) {\n return returnValue.map((cp) => cp.status.name);\n }\n\n if (options?.isLocaleString) {\n return parseFloat(returnValue).toLocaleString(undefined, {\n minimumFractionDigits: 2,\n });\n }\n\n if (options?.isMeterValue) {\n return new DecimalPipe(\"de-DE\").transform(returnValue / 1000, \"1.3\");\n } else if (options?.columnPipe) {\n return options?.columnPipe.pipe.transform(\n returnValue,\n options?.columnPipe.argument\n );\n } else {\n const isDate =\n /^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])Z$/.test(\n returnValue\n );\n const format = options?.datePipeFormat;\n if (isDate) {\n returnValue = new DatePipe(\"de-DE\").transform(\n returnValue,\n format ? format : \"dd.MM.yyyy, HH:mm\"\n );\n }\n return returnValue;\n }\n }\n\n getTableLayout(componentClassName: string) {\n return localStorage.getItem(`${componentClassName}TableLayout`);\n }\n\n getTableLayoutCaption(componentClassName: string) {\n let layout = localStorage.getItem(`${componentClassName}TableLayout`);\n if (layout == \"grid-layout\")\n return `\n \n \n \n Karten-Ansicht\n `;\n else\n return `\n \n \n \n Tabellen-Ansicht\n `;\n }\n\n toggleTableLayout(componentClassName: string, tableId: string, button: any) {\n if (this.tableLayout === \"\") {\n this.tableLayout = this.getTableLayout(componentClassName);\n }\n if (this.tableLayout === \"table-layout\") {\n this.tableLayout = \"grid-layout\";\n button.innerText = \"Tabellen-Ansicht\";\n localStorage.setItem(\n `${componentClassName}TableLayout`,\n this.tableLayout\n );\n } else {\n this.tableLayout = \"table-layout\";\n button.innerText = \"Karten-ansicht\";\n localStorage.setItem(\n `${componentClassName}TableLayout`,\n this.tableLayout\n );\n }\n // Probably a case for refactoring if Angular has a more neat way of handling this\n let classList = document.getElementById(tableId).classList;\n classList.remove(\"table-layout\", \"grid-layout\");\n classList.add(this.tableLayout);\n }\n}\n","import { Injectable, TemplateRef } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastService {\n toasts: any = {\n topcenter: [],\n bottomright: []\n }\n history: string[] = []\n \n types: string[] = [\n 'asking',\n 'success',\n 'info',\n 'warning',\n 'error',\n 'loading',\n 'note'\n ]\n\n colors: string[] = [\n '#fff',\n '#198754',\n '#0dcaf0',\n '#ffc107',\n '#dc3545',\n '#0dcaf0',\n '#ffc107'\n ]\n\n create(type: string, content: string, duration?: number, clear?: boolean, position?: string) {\n const options = {\n type: type,\n delay: duration > 0 ? duration : this.calculateDuration(content),\n isAutoHiding: !duration || duration > -1,\n position: position || 'topcenter'\n }\n\n if (clear === true) this.clear(options.position)\n\n this.show(content, options)\n this.log(type, content)\n }\n\n show(content: string | TemplateRef, options: any = {}) {\n this.toasts[options.position].push({ content, ...options })\n this.history.push(content.toString())\n }\n\n log(type: string, content: string) {\n const typeIndex = this.types.indexOf(type) || 0\n const color = this.colors[typeIndex]\n console.log(\n `🍞 %c ${type.toUpperCase()} %c ${content}`,\n `background: ${color}; color: black; font-weight: bold`,\n ''\n )\n }\n \n success(content: string, duration?: number, clear?: boolean, position?: string) {\n this.create('success', content, duration, clear, position)\n }\n \n info(content: string, duration?: number, clear?: boolean, position?: string) {\n this.create('info', content, duration, clear, position)\n }\n \n warn(content: string, duration?: number, clear?: boolean, position?: string) {\n this.create('warning', content, duration, clear, position)\n }\n \n error(content: string, duration?: number, clear?: boolean, position?: string) {\n this.create('danger', content, duration, clear, position)\n }\n \n loading(content: string, clear?: boolean, position?: string) {\n this.create('loading', content, -1, clear, position)\n }\n \n note(content: string, clear?: boolean, position?: string) {\n this.create('note', content, -1, clear, position)\n }\n \n askToHidePrevious(content: string, clear?: boolean, position?: string) {\n this.create('asking', content, -1, clear, position)\n }\n\n calculateDuration(content: string) {\n return 2000 + content.split(' ').length * 500\n }\n\n remove(toast) {\n this.toasts[toast.position] = this.toasts[toast.position].filter(t => t != toast)\n }\n\n clear(position?: string) {\n if (position == 'all') {\n this.toasts.topcenter = []\n this.toasts.bottomright = []\n return;\n }\n\n if (!position) position = 'topcenter'\n \n this.toasts[position] = []\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: true,\n\n featureToggleConnection: 'Endpoint=https://cubos-connect-dev-feature-toggle.azconfig.io;Id=FPnt-lab-s0:bHbP75JqkvHdZnzdJA7E;Secret=tg5uISpn0cEcm8wbezFXjPQytILqcXj5eehfly0zuCI='\n};\n\n/*\n * In development mode, to ignore zone related error stack frames such as\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\n * import the following file, but please comment it out in production mode\n * because it will have performance impact when throw error\n */\n//import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","/***************************************************************************************************\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\n */\nimport '@angular/localize/init';\nimport { enableProdMode, LOCALE_ID } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nexport function getBaseUrl() {\n return document.getElementsByTagName('base')[0].href;\n}\n\nconst providers = [\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\n];\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\n .catch(err => console.error(err));\n\n//export { renderModule, renderModuleFactory } from '@angular/platform-server';\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["Injector","AuthenticationService","ComponentSettingsService","ConfigurationService","EventService","MessageService","PermissionsService","ComponentBase","constructor","injector","configurationService","get","permissionsService","eventService","messageService","authenticationService","componentSettings","filesLoaded$","subscribe","result","getConfig","currentUserLoaded$","getPermissions","ngOnInit","setDefaultSettings","rolesOfCurrentUser","getRolesOfCurrentUser","getConfiguration","className","then","config","currentUser","getLoggedInUser","getPermissionsOfCurrentCustomer","permissions","forEach","permissionObject","permission","name","value","i0","selectors","features","decls","vars","template","encapsulation","Router","AbstractDialogContent","activeModal","router","onConfirmClick","close","onCancelClick","EventEmitter","FormService","AbstractCreateEntityComponent","entitiesService","formService","createForm","createEntity","entity","params","data","newEntityEvent","emit","error","setError","outputs","newDtoEvent","ActivatedRoute","DtoService","RouteDataService","AbstractEditEntityComponent","entityService","dtoService","activatedRoute","routeDataService","afterInit","getAdditionalEntities","primaryKey","snapshot","key","loadEntity","getEntity","initializeEntity","initializeForm","entityLoadedEvent","valuesAtInit","form","getRawValue","updateEntity","updateWithDto","dto","id","update","entityRoute","TemplateRef","NavigationEnd","TableFunctionsService","AbstractEntitiesTableComponent","tableFunctions","initializeEntities","routerSubscription","events","event","entityRefresh$","sortColumn","searchTerm","searchTermMap","Map","page","pageSize","getPageSizeFromLocalStorage","selectedEntities","lastSegment","getLastSegmentIfCustomer","url","size","storedSize","localStorage","getItem","parseInt","includes","segments","split","pop","ngOnDestroy","unsubscribe","setupTable","table","tableData","entities","tableColumns","tableOptions","actionsTemplate","matchFunction","matches","length","noPagination","footerVisible","tableReady","viewQuery","AbstractShowEntityComponent","ChangeDetectorRef","AppComponent","cdref","dialog","filesService","spinner","show","sendNavigationEventsToGoogleAnalytics","getWhiteLabel","isNavCollapsed","console","log","isUserAuthenticated","sendAuthStateChangeNotification","tryRefreshingTokens","ngAfterViewInit","hide","subdomain","window","location","host","whitelabelExists","isExisting","whitelabel","setItem","document","getElementsByTagName","setAttribute","appendWhiteLabel","removeItem","head","link","createElement","href","append","ngAfterContentChecked","cookie","gtag","urlAfterRedirects","consts","LOCALE_ID","BrowserAnimationsModule","NgxSpinnerModule","BrowserModule","Meta","NgbModule","ClipboardModule","FormsModule","ReactiveFormsModule","HttpClientModule","HTTP_INTERCEPTORS","RouterModule","ErrorHandlerService","AuthInterceptor","NavMenuComponent","HomeComponent","RegisterUserComponent","LoginComponent","JwtModule","AuthenticationModule","SelectEntitiesService","CommonModule","DatePipe","DecimalPipe","UsersTableComponent","ForbiddenComponent","ForgotPasswordComponent","ResetPasswordComponent","EmailConfirmationComponent","IfRolesDirective","EditUserComponent","DashboardComponent","LogoutCallbackComponent","LayoutModule","TableComponent","CreateUserComponent","CreateUserDialogComponent","CreateUserDialogContentComponent","DeleteUserDialogComponent","DeleteUserDialogContentComponent","NgbdSortableHeader","ScrollingModule","ChargingStationsTableComponent","ChargingStationsComponent","ChargingStationsModule","BlackboxesModule","CreateChargingStationComponent","CreateChargingStationDialogComponent","CreateChargingStationDialogContentComponent","CreateChargingStationAssistentComponent","CreateChargingStationAssistentDialogComponent","CreateChargingStationAssistentDialogContentComponent","DetailsChargingStationComponent","DetailsChargingStationDialogComponent","DetailsChargingStationDialogContentComponent","ForgotPasswordSuccessComponent","DashboardRunningTransactionsComponent","registerLocaleData","localeDe","localeDeExtra","UpgradeComponent","ManageComponent","ManageModule","RfidCardsTableComponent","UnassignedRfidCardsTableComponent","RemoveRfidAssignmentDialogContentComponent","NgSelectModule","EnableFreeChargeDialogContentComponent","EnablePublicChargeDialogContentComponent","EnablePrivateChargeDialogContentComponent","LeafletModule","RemoteStartStopDialogContentComponent","EditUserDialogComponent","EditUserDialogContentComponent","AuthGuard","ChargingstationTransactionsTableComponent","ThousandPipe","KwhPipe","SubstractDatePipe","ProfileComponent","DeleteChargingStationDialogComponent","DeleteChargingStationDialogContentComponent","DashboardChargingPointsComponent","ChargingStationRfidAuthComponent","DlmChargingStationComponent","SysChargingStationComponent","DashboardPowerChartComponent","DashboardProfileComponent","DashboardTransactionsComponent","GroupsComponent","DEDatePipe","DEDatePipeShort","ChangePasswordDialogContentComponent","DeleteUserProfileDialogContentComponent","EvaluationComponent","EvaluationModule","DeliveryNotesComponent","CreateGroupsComponent","EditGroupsComponent","ChargingStatisticsComponent","TransactionsComponent","AGBComponent","DatasecurityComponent","EmailChangeConfirmationComponent","CustomersTableComponent","CustomersModule","MessageComponent","RoleGuard","CustomerOverviewComponent","RegisterUserSuccessComponent","RegisterUserSuccessWithInviteComponent","CreateRfidCardComponent","CreateRfidCardDialogComponent","CreateRfidCardDialogContentComponent","InvoicesModule","PricingsModule","PricingsComponent","PricingsTableComponent","CreatePricingComponent","CreatePublicPricingComponent","CreatePricingDialogContentComponent","CreatePublicPricingDialogContentComponent","EditPricingDialogContentComponent","DeletePricingDialogContentComponent","UsedTokenFeedbackComponent","WeekPipe","ChangePasswordDialogForCustomerContentComponent","DeleteUserForCustomerDialogContentComponent","DeleteRFIDCardForCustomerDialogContentComponent","CustomerHistoryComponent","RestartChargingStationDialogContentComponent","UsersModule","ResetChargingStationPasswordDialogContentComponent","ChangeCustomerComponent","CustomerPermissionsComponent","OperatorComponent","SubscriptionTypesComponent","OperatorModule","ChangePasswordSuccessContentComponent","RfidScanDialogContentComponent","DeliveryNoteTemplateComponent","SupportComponent","AngularIbanModule","DeleteGroupDialogComponent","FooterComponent","AboutUsDialogComponent","CreateDeliveryNoteDialogContentComponent","CreateDeliveryCSVDialogContentComponent","CreateDeliveryNoteComponent","CreateDeliveryCSVComponent","ToastsComponent","RestartChargingStationWarningDialogContentComponent","ResetPasswordWarningDialogContentComponent","PaymentSuccessComponent","PaymentCanceledComponent","ChargingStationsStatusHistoryTableComponent","CancelSubscriptionDialogContentComponent","EditGroupDialogComponent","EditRfidCardDialogComponent","EditRfidCardDialogContentComponent","DeliveryNoteActionsDialogComponent","DeliveryNoteActionsDialogContentComponent","EditDeliveryNotesSettingsDialogComponent","EditDeliveryNotesSettingsDialogContentComponent","PublicChargePlansComponent","PublicChargeComponent","PublicChargeCanceledComponent","CreateCustomerComponent","CreateCustomerDialogComponent","CreateCustomerDialogContentComponent","DetailsTransactionDialogComponent","DetailsTransactionDialogContentComponent","DetailsRunningTransactionDialogComponent","DetailsRunningTransactionDialogContentComponent","DetailsTransactionComponent","DeleteDeliveryNoteDialogContentComponent","UpdateChargingStationsDialogContentComponent","SVGComponent","UpvotyComponent","ImageCropperModule","ChargingParkSubscriptionDialogContentComponent","ChargingParkSubscriptionDialogComponent","ChargingParkSubscriptionComponent","InvoicesComponent","InvoicesTableComponent","OpenInvoicesTableComponent","CreateInvoiceDialogContentComponent","PrintInvoiceDialogContentComponent","InvoicePDFComponent","EditInvoiceSettingsDialogComponent","EditInvoiceSettingsDialogContentComponent","ManufacturerTableComponent","ChargingStationProfilesComponent","CreateChargingStationProfileComponent","CreateChargingStationProfileDialogComponent","CreateChargingStationProfileDialogContentComponent","StatusNotificationsTableComponent","CreateManufacturerComponent","CreateManufacturerDialogComponent","CreateManufacturerDialogContentComponent","DiagnosticChargingStationDialogComponent","DiagnosticChargingStationDialogContentComponent","UsersComponent","UserOverviewComponent","QRCodeModule","NgxMaskModule","PaymentReceiptsTableComponent","PaymentReceiptsComponent","PaymentReceiptsModule","InviteCustomerDialogComponent","InviteCustomerDialogContentComponent","WelcomeUserComponent","TableFilterComponent","DashboardOfflineSinceComponent","BlackboxesTableComponent","BlackboxesComponent","EnergyMonitorModule","EnergyMonitorComponent","EnergyDistributionChartComponent","EnergyProductionChartComponent","EnergyConsumptionChartComponent","EnergyHistoryChartComponent","EnergyFlowChartComponent","BlackboxSetupComponent","SetupBlackboxDialogComponent","SetupBlackboxDialogContentComponent","AutofocusDirective","ClaimAutochargeIdComponent","RegisterUserFromOperatorComponent","ChargingPowerProfileBadge","TransactionStatusBadge","RunningTransactionPopupComponent","RequestSupportPopupComponent","PaymentMethodAddedDialogContentComponent","PayoutStatementsComponent","PayoutPreviewComponent","PayoutStatementsDialogComponent","PayoutStatementsDialogContentComponent","CreditStatementsDialogComponent","CreditStatementsDialogContentComponent","CreditStatementsComponent","EditEmailDialogComponent","EditEmailDialogContentComponent","RemovePricingDialogContentComponent","ChargingStationInfo","ChargingStationCombinedStatusBadge","RfidModule","EnergyModule","RfidComponent","BidiChargingComponent","DualRangeSliderComponent","RangeSliderComponent","NgxScannerQrcodeModule","LOAD_WASM","BidiSelectChargingStationComponent","EnergyTabNavigationComponent","EnergyComponent","options","tokenGetter","AppModule","bootstrap","provide","useValue","useClass","multi","imports","withServerTransition","appId","forRoot","type","path","component","pathMatch","canActivate","roles","children","redirectTo","relativeLinkResolution","anchorScrolling","allowedDomains","disallowedRoutes","declarations","i2","i3","i4","i5","setCaption","ngOnChanges","profile","caption","tooltip","inputs","isCaptioned","isColored","isTooltipped","ctx","ChargingStationsService","ChargingPointStatusEnum","ctx_r3","ctx_r6","_r4","unregistered","chargingStation","statusId","Unregistered","Offline","offlineSince","datePipe","offlineSinceText","transform","getPillContent","chargingPoint","chargingPoints","MAX_LARGE_PILLS","status","connectorId","getTooltip","mapStatusTooltip","getBadgeClasses","badgeColorClass","getColorClassForStatus","connectorClass","pillStyleClasses","getChargingStationBadgeClasses","Available","Charging","Faulted","Finishing","Preparing","Reserved","SuspendedEV","SuspendedEVSE","Unavailable","ctx_r1","setToolTip","isShowingProfile","service","clearErrors","clearSuccess","sanitizer","width","height","getSVG","source","replace","svg","bypassSecurityTrustHtml","UntypedFormControl","UntypedFormGroup","TableFilter","NgbDate","_r2","ctx_r4","screen","mobileView","filterForNumberOfEntries","numberOfEntries","filterForTimeSpan","timeSpan","filterSignalWeek","filterDLM","setDefaultValues","formCreated","fromDate","toDate","setValue","defaultFilter","entries","disable","fromDateArray","toDateArray","formatTimeSpan","today","Date","thirtyDaysAgo","getTime","getFullYear","getMonth","getDate","setupFilter","filter","dates","parseDate","dateFrom","dateTo","showDLM","showSignal","updateTable","date","updateFilter","enable","getElementById","removeAttribute","applyFilters","filterOptionsDrop","setFilterEvent","onInputChange","changeFromToDate","filterOptions","fromToSplit","target","fromParts","toParts","FromDay","Number","FromMonth","FromYear","ToDay","ToMonth","ToYear","isHovered","hoveredDate","after","before","isInside","isRange","equals","day","slice","month","year","onDateSelection","drop","onDateSelectionOwn","$localize","QueryList","take","ctx_r5","ctx_r7","column_r40","initializeData","showNumbering","addNumbering","entities$","i","index","checkIfFileExists","fileName","fileExists","getModelPicture","image","model","pictureUri","resolveProperty","getClasses","classes","rowRouterLink","toLowerCase","property","onSort","column","direction","headers","header","sortable","sortDirection","sorted","determineHeaderSortClass","columnProperty","sortClass","checkboxClicked","checkIfSelected","findIndex","x","getPrimaryKey","splice","isAnyCheckBoxClicked","push","checkIfAllSelected","checkboxAllClicked","checked","pipe","currentEntities","isCheckboxAllClicked","e","determineRouterLink","routerLink","propertyToReplaceRegex","propertyToReplaceMatch","match","propertyToReplace","replaceRegex","_r19","toast_r2","toast_r12","toastService","authChanged$","setTimeout","loadNotifications","timeout","notifications","getNotifications","notificaton","from","to","getToastId","message","isHidden","clear","note","position","hidePrevious","content","history","trim","substring","ElementRef","elementRef","usersService","onload","script","src","nativeElement","appendChild","widget","initWidget","undefined","timer","createWidget","checkVisibilityForRoute","pathname","isVisible","user","getUpvotyToken","fullName","email","jwt","token","init","fixFrameHeight","toggleAppearance","button","blur","scrollTo","offsetHeight","classList","toggle","rfidCardService","currentYearLong","onSubmit","formValue","forChild","i1","route","authService","userId","queryParams","rfidCardId","join","claimRfidCard","request","isSuccess","isConfirmed","confirmEmail","newEmail","confirmEmailChange","_","setSuccess","successMessage","Validators","baseUrl","forgotPasswordForm","required","validateControl","controlName","controls","invalid","touched","hasError","errorName","forgotPassword","forgotPasswordFormValue","forgotPass","forgotPasswordRequest","clientURI","navigate","ReleaseNotesDialogComponent","Roles","isNullOrUndefined","ctx_r2","stripeInfosService","customersService","username","password","_returnUrl","_message","loginUser","loginFormValue","login","authRequest","accessToken","refreshToken","customerId","toString","isAuthSuccessful","userHasRole","Operator","getCustomerByName","pool","checkVersion","latestVersion","currentVersion","hideReleaseNotes","cl","lv","openReleaseNotesDialog","dialogRef","open","centered","backdrop","Address","ctx_r9","ctx_r48","passwordConfirmValidator","isOperatorView","getTokenNameClaim","getUserByEmailForRegistration","CreateOperatorForm","validators","postalCode","pattern","maxLength","minLength","city","street","houseNumber","firstName","lastName","gender","company","phone","acceptTos","requiredTrue","acceptPrivacy","acceptAd","addressGroup","address","confirm","setValidators","validateConfirmPassword","formMap","set","agbConfirm","wrbConfirm","dsbConfirm","validateMatch","infoConfirm","isTypeCompany","updateValueAndValidity","clearValidators","dismissAll","validateAllFormFields","formGroup","Object","keys","field","control","markAsTouched","onlySelf","registerUser","registerFormValue","formValues","registrationRequest","phoneNumber","confirmPassword","registerUserWithInvite","updateAcceptAd","UserId","AcceptAd","isRedirectError","scroll","navigationUrl","registerUserFromOperator","success","navigateToLogin","openAGBDialog","openDSDialog","checkEmail","checkIfEmailExists","emailExists","setErrors","checkPassword","p","passwordQuality","upperCase","passwordHasUpperCase","test","lowerCase","passwordHasLowerCase","digit","passwordHasDigit","passwordHasLength","Math","abs","toFixed","specialCharacter","passwordHasSpecialCharacter","passwordRatings","passwordRating","passwordIsMatching","trimValue","formControlName","getAttribute","formControl","_r3","resetPasswordForm","resetPassword","resetPasswordFormValue","resetPass","resetPasswordRequest","pricingsService","loadingSubscriptionDetails","getUser","newPassword","newPasswordConfirm","userEmail","pwResetToken","getUserByEmail","getUserProfileById","userProfile","getSubscriptionDetailsOfCustomer","selectedCustomerId","subscriptionDetails","confirmEmailFromOnboarding","nextPage","previousPage","sendToLogin","Chart","registerables","ChartDataLabels","AnnotationPlugin","register","isReadyForChart","changes","chart","createChart","updateChart","destroy","initDatasets","datasets","addDataset","label","directConsumptionInWh","totalDeliveredInWh","backgroundColor","borderColor","dataset","isNaN","canvas","getContext","plugins","datalabels","color","font","weight","formatter","legend","labels","family","enabled","getBackgroundColor","hex","bigint","r","g","b","isLoading","map","ed","energyMeter","percentageOfTotal","energyMeterType","colorCodeInHex","order","getOrder","em","SankeyController","Flow","EnergyMeterConnectedDeviceType","prepareDataForSankey","flows","colorFrom","c","raw","fromColor","colorTo","toColor","colorMode","priority","priorities","border","sizes","energySources","energySinks","energyStores","meter","distributionData","connectedDeviceType","sourceName","wh","sink","sinkName","store","storeName","flow","PV","some","entry","dataPoints","createEmptyChart","isEnergyMeterAliveAt","dateSelected","createChartDataset","createChartDatasetLimiter","dateTime","lifetimeStartDate","lifetimeStart","setHours","lifetimeEndDate","lifetimeEnd","selectedDate","isAfterStartDate","isBeforeEndDate","isMeterAlive","isAlive","responsive","maintainAspectRatio","scales","time","unit","stepSize","tooltipFormat","displayFormats","millisecond","second","minute","hour","week","quarter","elements","point","radius","filler","propagate","usePointStyle","item","text","external","externalTooltipHandler","bind","intersect","axis","padding","animation","duration","multiplier","showInverted","record","utcTimestamp","y","powerLimitInKw","firstTimestamp","lastTimestamp","borderWidth","borderDash","pointStyle","hidden","unshift","context","tooltipEl","innerHTML","body","tooltipModel","opacity","style","remove","yAlign","add","getBody","bodyItem","lines","titleLines","title","bodyLines","innerHtml","colors","labelColors","marker","tableRoot","querySelector","getBoundingClientRect","background","borderRadius","left","pageXOffset","caretX","top","pageYOffset","caretY","bodyFont","string","pointerEvents","calculateSelfSufficiency","totalProduction","totalConsumption","datasetIndex","stripedPattern","createStripedPattern","totalExportedInWh","color1","color2","fillStyle","fillRect","strokeStyle","lineWidth","offset","beginPath","moveTo","lineTo","stroke","createPattern","interval","chargingStationsService","isOperator","refreshStatus","setRefreshCC","getChargingPointStatusOfCustomer","parent","chargingPointsStatus","max","calculateMax","getChargingPointsStatus","online","charging","busy","offline","refreshEntity","val","endOfISOWeek","endOfMonth","startOfISOWeek","startOfMonth","TransactionDto","plainToClass","transactionsService","ref","getChartColor","isUser","loadBarChartDataWeekly","getComputedStyle","chartGradientA","getPropertyValue","chartGradientB","transactionFilter","toISOString","loadTransactions","loadBarChartDataMonthly","GetPowerConsumptionCustom","transactions","calculateData","loading","powerData","numberOfIntervals","ceil","currentDate","setDate","nextInterval","consumptionOfInterval","t","startTimestamp","reduce","sum","meterAmount","setupChart","barChartData","xAxisLabel","totalAmount","accumulator","current","kwText","changeChart","detectChanges","background_2","createLinearGradient","addColorStop","barPercentage","xAxisID","yAxisID","toLocaleString","beginAtZero","display","anchor","align","onClick","_r8","_r11","dashboardService","customerService","userService","getMasterUserOfCustomer","masterUser","getUserDtoById","getDashboardProfileOfCustomer","dashboardProfile","subscriptionType","subscriptionTypeId","loadProfilePicture","getEmissionsData","getCashflow","getDashboardProfile","emission","tree","floor","isCustomerView","isUserView","pictureFileName","getPicture","unsafeImageUrl","URL","createObjectURL","picture","bypassSecurityTrustUrl","warn","getCashflowOfCustomer","cash","cashflow","getCashflowOfUser","autoBillingExpenses","TransactionsService","ChargingPowerProfile","transaction_r6","ctx_r0","initialTransactions","updateEntities","setRefreshEntities","calcDiff","starttime","startTime","difference","now","humanReadableDuration","sortEntities","sortRunningTransaction","sort","a","reverse","getRunningTransactionsDetailOfCustomer","mapDetails","getRunningTransactionsDetail","trackBy","_index","msDuration","h","m","s","seconds","minutes","hours","details","transactionTotalPower","detail","find","d","chargingStationStatus","chargingPointStatus","chargingPowerProfile","currentMeter","currentMeterValue","currentPower","currentSoC","selectTransaction","selectedTransaction","meterStart","isViewingSelectedTransaction","closePopup","openRemoteStopDialog","transaction","transactionId","force","closeTransaction","res","componentInstance","getChargingPointPosition","chargingStationNumberOfChargingPoints","term","isCustomer","isClosing","openSupportPopup","isRequestingSupport","closeSupportPopup","isOpen","_r6","TransactionSuccess","columnDescription","columnPipe","hideActions","hideSearch","getRoles","isSupporter","getTransactionsOfLast7DaysOfCustomer","mapSuccessMessage","getTransactionsOfLast7Days","lastTransactionsDto","BillingMethodEnum","checkRolesAndInitRequest","navigateByUrl","checkRunningTransactions","pricingId","getPricing","getLoggedInUserSubject","componentReady","pricing","getStripeInfoOfUser","stripeInfo","billingMethod","Automatic","stripePaymentMethodId","showAutoBillingNotification","getRunningTransactionsOfCustomer","runningTransactions","showRunningTransactions","getRunningTransactions","onConfirm","confirmed","currentPassword","changePasswordRequest","changePasswordOfCurrentUser","openChangePasswordSuccessDialog","changePasswordOfCustomer","logout","chargingParkSubscriptionComponent","parkOwnerStripeAccountId","stripeAccountId","openDialog","relativeTo","ChargingStation","createChargingstationForCustomer","FormControl","FormGroup","Swal","Profile","ModelDto","manufacturerService","modelsService","getAllManufacturer","manu","manufacturer","manufacturerId","isErk","numberOfConnectors","isOcpp16","isOcpp20","isOcpp201","isUpdatable","isMobile","isAc","isDc","isPnc","integrationAt","showWrongFileTypeError","fire","icon","showConfirmButton","showDenyButton","denyButtonText","focusDeny","showWrongFileSizeError","confirmButtonText","openSuccessDialog","confirmButtonColor","openCancelSuccessDialog","onFileSelect","files","fileAllowed","fileExtension","shift","blob","newFile","File","uploadResult","uploadFile","fileUri","file","formData","FormData","uploadAsync","integrationDate","createModel","onSelected","selectedTeam","setPicture","setModel","setNumberOfConnectors","newCustomerEvent","newUser","inviteButtonActive","getButtonDisabled","valid","openInviteSuccessDialog","keyboard","deliveryNote","UserDto","InvoiceDto","InvoiceItemDto","InvoiceSettingsDto","invoiceItem_r9","pricingService","spinnerService","invoicesService","getRecipient","recipient","getInvoiceSettings","getInvoices","getInvoiceSettingsOfUser","invoiceSettings","getInvoicesOfCustomer","invoices","getInvoiceItems","getAllUnbilledInvoiceItemsOfRecipientForManualBillingAndAutoBilling","invoiceItems","invoiceItem","selectedInvoiceItems","ii","Manual","isTableReady","toggleInvoiceItem","invoiceItemId","isChecked","getInvoiceMeterAmount","invoiceMeterAmount","quantity","previousValue","currentValue","getInvoiceAmount","invoiceAmount","total","postcode","markAllAsTouched","isFormReady","submit","download","invoice","ownerUserId","recipientUserId","recipientCity","recipientCompany","recipientFirstName","recipientLastName","recipientGender","recipientStreet","recipientHouseNumber","recipientPostcode","recipientEmail","createInvoice","newInvoice","getInvoicePdf","response","Blob","fileUrl","getFilename","click","revokeObjectURL","filenameFirstVariable","filenameSecondVariable","filenameThirdVariable","filename","isDate","getDueDate","days","RegExp","toLocaleDateString","months","CreateInvoiceDialogComponent","Manufacturer","CreatePricingDialogComponent","modalService","onKeydownHandler","preventDefault","modal","hasOpenModals","toDashboard","go","reason","hostBindings","createPublicPricingComponent","setMapUrl","getChargingStationsOfCurrentCustomer","chargingStations","isPublicCharge","mapUrl","rfidCardsService","createRfidCardComponent","newUserEvent","newAnonymousUserEvent","openAnonymousInviteSuccessDialog","deleteEntity","chargingStationId","deleted","paramMap","deliveryNotesService","deleteDeliveryNote","DeleteGroupDialogContentComponent","deleteChargingStationGroup","groupId","DeletePricingRequest","forkJoin","OpenItemsActionEnum","LaterBilling","step","_step","_executed","influencedUsers","getOpenInvoiceItemsOfPricing","users","getUsersOfPricing","next","uniqueRecipientNames","Set","u","influencedUserNamesDisplay","adjustInitialStep","instantBilling","openItemsAction","InstantBilling","noMoreBilling","NoMoreBilling","laterBilling","keepAuth","removeAuth","shouldKeepAuth","deletePricing","DeletePricingDialogComponent","rfidCard","spinner1","userAction","isUserDummy","DisinviteUser","getDeleteText","nonDummy","dummy","getDelButtonText","isMasterUser","checkIfMasterUser","toPromise","deleteMasterUser","deleteUser","deleteMasterUserOfCustomer","firstValueFrom","arg0","Error","deleteUserProfileRequest","deleteCurrentUser","isWrongPassword","resetWrongPassword","DeliveryNote","getDeliveryNote","deliveryNoteId","addressId","isValid","validationIssue","focus","downloadCSV","getDeliveryNoteAsCSV","deliveryNoteNumber","getTransactionData","getTransactionsOfDeliveryNoteAsync","changeDeliveryNoteName","deliveryNoteName","updateDeliveryNoteName","downloadPdf","getDeliveryNotePdf","openSendPdfEmail","showEmail","inputElement","setIsEmailValid","isEmailValid","emailRegex","sendPdfEmail","eMailOverwrite","sendDeliveryNoteMail","openDeleteDialog","SupportTicketRequest","ChangeAvailabilityRequest","AvailabilityType","onEntityLoadedEvent","isAvailable","availability","isHubjectCompatible","ticket","isManufacturerDLM","unlockDisabled","offlineTimesRead","getOfflineTimesSince24h","offlineTimes","subscribeStatusUpdateEvent","statusUpdateSubscription","subscribeStatusUpdateToStations","updateChargingPointsStatusThroughSSE","unsubscribeStatusUpdateToStations","customer","operator","isProduction","createTicket","onCloseHandled","diagnosedata","diagnose","onValueChange","customerEnteredText","getUserOverCustomerId","buildTicket","chargingStationID","chargingStationSerialNo","serialNumber","chargingStationName","chargingStationFirmwareVersion","firmware","chargingStationManufacturer","chargingStationModel","emailSubject","senderName","senderEmail","diagnostics","sendSupportTicket","sendTicket","openResetDialog","cp","openRestartWarningDialog","settingsDropdown","openDiagnosticsDialog","openResetPasswordDialog","openResetPasswordWarningDialog","enableHubjectERoaming","Message","disableHubjectERoaming","setAvailable","OPERATIVE","changeAvailability","setUnavailable","INOPERATIVE","sortParam","NgbActiveModal","downloadSignedMeterValues","downloadFileName","ChartConfiguration","ChartData","getTransactionMeterValuesChartDatas","getKwhOfRunningTransaction","kWh","Promise","resolve","reject","tmvcd","createChartData","setMeterAmountByChartDatas","timestamp","transformedDataPoints","toLocaleTimeString","powerInkW","chartData","fill","pointRadius","newDataPoints","diagnosticsDto","posttriggerAutomaticDiagnosticUpload","info","EditChargingstationProfileDialogContentComponent","getModel","profileId","modell","initialize","intDate","toUTCString","datetimeLocal","formatDateToDatetimeLocal","utcDate","String","padStart","getHours","getMinutes","manufacturerName","modelname","isBidi","patchModel","dismiss","EditChargingStationProfileDialogComponent","DeliveryNoteSettingsDto","setupExample","getDeliveryNotesSettings","fileNameExample","sequentialNumber","createdMonth","createdYear","getDeliveryNoteSettings","deliveryNoteSettings","setFileName","createDeliveryNoteSettings","toggleFileNameVariable","variable","fileNameFirstVariable","fileNameSecondVariable","fileNameThirdVariable","saveAndClose","patchDeliveryNoteSettings","newEmailInput","onConfimClick","existEmail","isConfirmBtnDisabled","ValidatorService","getCustomStationary","newInvoiceSettings","letterheadHeight","footnoteHeight","createInvoiceSettings","createdInvoiceSettings","stationaryFileName","getPublicImage","customStationary","ceo","vatId","commercialRegister","commercialRegisterId","bank","iban","validateIban","bic","isUsingStationery","isUsingFootnote","formReady","refresh","setCustomStationary","filePreview","validateIBAN","bankData","patchValue","patchAndClose","fileUpload","stationaryFileUri","patchInvoiceSettings","getStopDate","highlightHeader","bool","isHeaderHighlighted","highlightFooter","isFooterHighlighted","isInvoiceSettingsValid","settings","invoiceExample","assign","moveToAccount","downloadPreview","previewSettings","previewFile","PricingDto","loadUsers","getUsersOfCustomerAsync","getUsersOfCurrentCustomerAsync","isEligibleForAvailable","isAutomaticBilling","hasEmail","availableUsers","preselectedUsers","pristinePreselectedUsers","usersSelectPlaceholder","localeCompare","description","price","disabled","priceDc","updatePricing","selectedUsers","removedUsers","findRemovedUsers","getOpenInvoiceItemsOfRecipients","items","openInvoiceItems","pricingUpdatePreparedEvent","prepared","patchPricing","patchedPricing","emitUpdated","pristine","EditPricingDialogComponent","RfidCardDto","Tag","tagsService","addTagRef","addTagPromise","getRfidCard","usersPromise","tagsObservable","getTagsOfCustomer","getEntities","sortUsers","tagsResult","tags","sortTags","checkDataReady","onDelete","selectedUserId","selectedTags","updateRfidCard","isOwnerChanged","dirty","tag","checkIfMasterUserOfCustomer","toastText","sendInviteEmail","sendInviteRequest","getSendInviteRequest","sendInvite","openReInviteSuccessDialog","invitingCustomerId","sendInvitation","invite","unsavedChanges","chargingStationService","isResetPressed","state","freeChargeRequest","freeCharging","currentStatus","configureFreeCharge","onOkClick","privateChargeRequest","PrivateCharging","configurePrivateCharge","publicChargeRequest","publicCharging","configurePublicCharge","EnterConfirmationCodeDialogContentComponent","confirmationCodeInput","isConfirmationCodeValid","confirmationCode","code","confirmName","confirmChargingStations","confirmRfid","isButtonDisabled","InvoicePDFType","getInvoice","getInvoiceOfCurrentUser","invoiceId","setFilename","toggleFilenameVariable","firstVariable","downloadAsPDF","sendPerEmail","Email","PrintInvoiceDialogComponent","version","toggleHidden","start","remoteStartRequest","remoteStartTransaction","chargingPointConnectorId","remoteStopRequest","remoteStopTransaction","remoteStopTransactionOfTransactionId","chargingWillBeAssignedToUser","RemovePricingRequest","recipientNamesDisplay","invoiceItemIds","userIds","BillingMethod","removePricingFromUsers","emitPrepared","isSending","supportMessage","send","createSupportTicket","reset","handleKeyboardEvent","ctrlKey","resetChargingstationPassword","RestartChargingStationDialogComponent","resetChargingstation","ChangeScanModeResponse","RfidCard","modalActive","loadEntities","getChargingStationsOfCustomer","chargingStationSortByName","selectedChargingStationId","isScanModeActive","changeChargingStation","getScannerInput","scanActiveChanged","newMode","changeScannerMode","Success","currentScanningChargingStationId","scannedRfidTag","idTag","createRfidCard","createRfidCardForCustomer","setStep","previousStep","nextStep","blackboxSerialNumber","ChargingStationDto","filesservice","getAllChargingStations","stations","mapStatus","uploadChargingStationFirmware","updateChargingStations","closeModal","displayStatus","badgeColor","getBadgeColor","UpdateChargingStationDialogComponent","BidiConfigurationDto","blackboxService","bidiConfigurationService","setCustomerId","blackboxes","getBlackboxes","setPowerMinMaxAndSilder","getAllByCurrentCustomer","getByCustomerId","err","minBidiChargePowerSum","roundDownToHalf","minBidiChargePower","maxBidiChargePowerSum","maxBidiChargePower","minBidiDischargePowerSum","minBidiDischargePower","maxBidiDischargePowerSum","maxBidiDischargePower","targetPowerSliderValue","selectBlackbox","blackbox","selectedBlackbox","onSliderValueChange","currentValues","openScsDialog","preSelectedStations","selectedStations","catch","loadSetting","gatewayId","bidiConfigDto","getBidiConfigurationDtoByGatewayId","saveDisabled","chargingStationDtos","selectedBidiModeId","bidiModeId","targetPowerInWatt","minSoc","maxSoc","saveSettings","bidiConfigurationDto","createUpdateBidiConfiguration","onBlackboxSelected","Array","isArray","_r1","role","getRole","getBidiChargingStationDtos","pre","cs","isStationSelected","station","toggleSelection","saveSelection","closeDialog","COLOR_TRACK","COLOR_RANGE","fromSlider","toSlider","fromTooltip","toTooltip","scale","MIN","MAX","STEPS","oninput","controlFromSlider","emitSliderValues","controlToSlider","fillSlider","setTooltip","createScale","valueChange","trackColor","rangeColor","getParsedValues","controlSlider","rangeDistance","min","fromPosition","valueAsNumber","toPosition","slider","textContent","percent","scaleElement","range","steps","SimpleChanges","setSliderValues","rangeValues","handleFromSliderChange","handleToSliderChange","fromValue","toValue","Blackbox","EnergyMonitorData","energyMeterRecordsService","getData","query","URLSearchParams","search","getBlackbox","startInterval","setInterval","getEnergyMonitorData","utcStartDate","utcEndDate","blackboxId","maxResult","loadingDistribution","loadingHistory","groupDataByType","groupByEnergyMeterTypeName","historyData","acc","typeName","clearInterval","downloadCsv","getPrefix","downloadX","downloadXlsx","getTimezoneOffset","convertToPercentage","round","convertToAbsolute","calculateTotalEnergy","energy","calculateTotalEnergyNeg","energyNeg","calculateTotalEnergyPos","energyPos","onTabChange","tabId","activeTab","hasBlackbox","checkChargingStationsOfCurrentCustomerHasBidi","hasBidi","onRouterOutletActivate","activeComponentClassName","determineActiveTab","links","Customer","MasterUserOfCustomer","FormArray","BlackboxSetup","chargingStation_r19","$event","operatorsService","blackboxesService","energyMeterTypService","getCustomers","getAll","entitiesAvailable","bb","editingColor","chargingPointSignalColors","defaultOuterColors","insideColor","defaultInnerColors","outsideColor","colorsEditable","chargingPointSignal","energyMeters","addEnergyMeter","getMasterUserAndChargingStations","getEnergyMeterTyps","energyMeterTypes","selectEntity","getOperatorOfUser","getCurrentUserId","getCustomersTableOfOperator","customersAvailable","getChargingStations","getUniqueAddressesFromChargingStations","chargingStationsAvailable","chargingStationsAtAddress","customerUserSelected","setChargingStationsFormArray","getUserAddress","getUserAddressById","customerAddress","isPreselected","addControl","chargingStationsAvailableForInputs","uniqueAddresses","addresses","line","isAddressDone","ipAddress","macAddress","recordInverted","removeEnergyMeter","energyMeterIndex","removeAt","addStatusColor","editedStatusColors","resetStatusColor","indexOf","energyMeterTypeId","setup","editColor","isCustomerDone","tabToStep","previousKeyCode","keyCode","stepPrevious","stepNext","tabToPreviousStep","tabToNextStep","stepping","setStatusColor","part","setFeColorMatrix","rgb","matrix","firstDigit","firstDigitPartial","v","red","green","blue","feColorMatrix","ctx_r8","queryParamsHandling","showAll","manufacturersService","DlmMode","compareVersions","entityData","UpdateDlmSettingsFromOcpp","getCurrentMeterValues","SetStatus","getSecondMeterCurrent","rs","currentMeterValues","secondMeterCurrent","parseFloat","MeterSupported","rss","currentMeterValuesSlave","currentPower_slave","MeterSupportedSlave","getChargingPower","chargingPowers","getManufacturer","manufacturers","getConnectorSystems","connectorSystems","isDouble","chargingPower","dlmMode","dlmDiscoveryNetworkId","DlmDisableDiscoveryBroadcast","DlmRecalcInterval","DlmMinCurrentRating","DlmDisconnectedLimit","DlmMasterIp","DlmAllowEVWakeup","DlmPhase1Limit","DlmPhase2Limit","DlmPhase3Limit","DlmOperatorPhase1Limit","DlmOperatorPhase2Limit","DlmOperatorPhase3Limit","DlmInput1CurrOffsetCfg","DlmInput1Polarity","DlmInput1CurrOffsetPhase1","DlmInput1CurrOffsetPhase2","DlmInput1CurrOffsetPhase3","DlmExtMeterEnabled","SecondMeterType","SecondMeterIPAddress","SecondMeterTCPPortNumber","DlmExtMeterMainDistributionLimitPhase1","DlmExtMeterMainDistributionLimitPhase2","DlmExtMeterMainDistributionLimitPhase3","DlmExtLoadHeadroomPhase1","DlmExtLoadHeadroomPhase2","DlmExtLoadHeadroomPhase3","DlmExtMeterLoadFallbackPhase1","DlmExtMeterLoadFallbackPhase2","DlmExtMeterLoadFallbackPhase3","DlmExtMeterLocation","DlmExtLoadAvgLen","DlmCurrImbalancePreventionEnabled","DlmCurrImbalanceLim","DlmSlaveSolarEnabled","DlmSolarMode_dlm","ampere","chargingStationDlm","dlmDisableDiscoveryBroadcast","dlmRecalcInterval","dlmAllowEVWakeup","dlmPhase1Limit","dlmPhase2Limit","dlmPhase3Limit","dlmOperatorPhase1Limit","dlmOperatorPhase2Limit","dlmOperatorPhase3Limit","dlmInput1CurrOffsetCfg","dlmInput1Polarity","dlmInput1CurrOffsetPhase1","dlmInput1CurrOffsetPhase2","dlmInput1CurrOffsetPhase3","dlmExtMeterEnabled","secondMeterType","secondMeterIPAddress","secondMeterTCPPortNumber","dlmExtMeterMainDistributionLimitPhase1","dlmExtMeterMainDistributionLimitPhase2","dlmExtMeterMainDistributionLimitPhase3","dlmExtLoadHeadroomPhase1","dlmExtLoadHeadroomPhase2","dlmExtLoadHeadroomPhase3","dlmExtMeterLoadFallbackPhase1","dlmExtMeterLoadFallbackPhase2","dlmExtMeterLoadFallbackPhase3","dlmExtMeterLocation","dlmExtLoadAvgLen","dlmCurrImbalancePreventionEnabled","dlmCurrImbalanceLim","dlmMinCurrentRating","dlmDisconnectedLimit","dlmMasterIp","dlmSlaveSolarEnabled","dlmSolarMode_dlm","isFirmwareSolarModeSuppoerted","isNotDeactivated","isTypeMaster","isNotStandAlone","isMasterFixedIP","isSecondMeterEnable","isOptoActivated","isDlmCurrImbalancePreventionEnabled","patchDlmMode","dlmClearPersistentSlaves","configureDlmMode","isRestartNecessary","showConfirmRestartDialog","showCancelButton","cancelButtonText","cancelButtonColor","DlmModeMapping","Deaktiviert","dlmMapping","DLMMasterWithInternalSlave","Standalone","MasterAutoDiscovery","MasterFixedIP","changeOperatorPower","power","configureOperatorPower","openRemoteStartStopDialog","needRestart","confirmDlmClearPersistentSlaves","ctx_r44","operatorId","showReservationButton","reservedUntil","showReservationBtn","showCancelReservationButton","showCancelReservationBtn","statusUpdateEventEmitter","initializeChargingPoints","checkCanRemoteStart","getModus","qrCodeUrl","origin","oldId","getChargingPointsOfChargingStation","updateButtonConditions","canRemoteStart","getProfile","NewUpateButtonConditions","ButtonText","bgcolor","canCharging","updateReservations","ToolTipText","reservationMessage","freeChargeStatus","isFreeCharge","privateChargeStatus","isPrivateCharge","publicChargeStatus","syncFreeChargeModeFromOcpp","isModeMismatched","modes","currentChargeMode","freeCharge","authorizeCharge","publicCharge","openPrivateChargeDialog","mode","openPublicChargeDialog","openChangeFreeChargeDialog","connector","copysuccess","setChargingStationReserved","reservationDate","setMinutes","reserveChargingStation","Boolean","cancelChargingStationReservation","cancelReservationChargingStation","models","downloadQrCode","parentElement","elementType","qrcElement","toDataURL","alert","blobData","convertBase64ToBlob","Base64Image","parts","imageType","decodedData","atob","uInt8Array","Uint8Array","charCodeAt","changeMode","doAllChargingPointsHavePublicKeys","publicKey","getChargingPointCountText","loadAllowedUsers","initializeUsers","loadResponse","getAllowedUsersAsync","allowedUsers","getChargingStationAuthorizationResponse","ChargingStationAuthorizationResponse","updatedAt","getUsersOfCustomerForRfidAuth","allUsers","getUsersForRfidAuth","selectedAllowedUsers","compareFn","selected","patch","patchEntityWithEndpoint","synchronWhitelistNow","updateChargingStationWhitelist","isUpdating","getFirmwareVersion","fwVersion","firmwareVersion","getLastTransactionOfChargingPoint","lastTransactions","getFirmwareFiles","checkLastFirmwareStatus","command","keyInput","valueInput","fw","getFileList","fileList","firmwareFiles","selectFirmware","selectConnector","startFirmwareUpdate","firmwareRequest","retries","retrieveDate","retryInterval","updateChargingStationFirmware","setRefreshFwStatus","getChargingStationFirmwareUpdateStatus","firmwareStatus","getFwStatus","getConfigurationRequest","str","JSON","stringify","configurationRequest","rawKeys","rawValues","postConfiguration","onCommandChange","dispatchEvent","Event","refreshSub","ChargingStationStatusHistoryDto","toLocaleLowerCase","setFilter","filterSignal","getCharingStationsHistoryTableOfCustomer","ChargingStationTableDto","ctx_r27","ctx_r31","getTableLayout","componentClassName","stationCount","mapChargeMode","getChargingStationsOfCurrentUser","entitiesWithSortParam","entitiesWithoutSortParam","concat","openUpdateModalDialog","f","chargeMode","displayChargeMode","checkChargingStationStatus","checkOnlineStatus","PushEVSEData","pushEVSEData","ackonwledgement","PushEVSEStatus","pushEVSEStatus","determineTemplate","operatorView","customerView","userView","receiveMessage","modelId","installationDate","connectorSystemsId","generateCredentials","guid","crypto","randomUUID","generatePassword","pwlength","passwordLength","hasNum","includeNumbers","hasSym","includeSymbols","letters","numbers","symbols","validChars","generatedPassword","random","copyToClipboard","navigator","clipboard","writeText","guidCopied","passwordCopied","checkCopies","confirmCopyBtnDisabled","confirmCopy","waitForStationBtnDisabled","waitForStation","showStep1","showStep2","generateCoordinates","encodeURIComponent","fetch","json","lat","lon","nextBtnDisabled","moveToNextStep","showStep3","backToPreviousStep","hideSubmit","initModelsAndManufacturers","getModels","resultModels","modelsOfManufacturer","resultManufacturer","modelIdChange","selectedModelId","modelsById","postalCodeInput","inputValue","regexNonDigits","formatDate","UntypedFormArray","NgbModal","latLng","tileLayer","ctx_r49","_r0","point_r39","transactionService","mapService","layers","maxNativeZoom","maxZoom","attribution","zoom","disableInputs","latitude","longitude","loadMap","updateMap","getCustomer","cc","onMapReady","invalidateSize","getMoreEntities","customers","UpdateDetailsFromOcpp","updateDetailsResponse","CalculateGPS","getMapPosition","markAsDirty","setView","newMarker","iconSize","iconAnchor","iconUrl","shadowUrl","addLayer","connectorSystem","cableLength","localIP","evseIdValidator","evseIdPattern","invalidEvseId","uniqueEvseIdValidator","formArray","evseIds","evseId","duplicates","duplicateEvseId","errors","chargingPointsArray","customerName","chargingstationGroups","chargingstationGroupsDto","chargingPowerId","chargingPowerName","chargingProfile","csId","switchUser","switchCustomer","patchChargingStation","changeCustomer","oldCsId","patchEntity","deauthorize","ccustomer","deleteTransactionsOfChargingStation","markAsPristine","updateAddress","denyButtonColor","isDenied","openLocalIPLink","openMapLink","mapLink","openLatLonLink","latLink","setSelectedChargingPointIndex","selectedChargingPointIndex","setEvseId","chargingPointGroup","at","creditStatementsService","setScheduledCreditDate","getCreditStatements","getUsers","UTC","scheduledCreditDate","getCreditStatementsAsTableData","creditStatements","creditStatement","downloadCreditStatement","documentNumber","loadRecipient","selectedUser","User","createUserForCustomer","createUserForCurrentCustomer","inviteLink","input","copyInviteLink","select","execCommand","CustomerNote","loadData","loadCustomer","loadNotes","loadMasterUser","checkIfAllDataLoaded","getCustomerNotes","customerNotes","customerNotesFiltered","mapGender","subject","author","editForm","saveNote","customerNote","createCustomerNote","clearInput","onEditSubmit","patchCustomerNote","editingEnabledNote","deleteNote","deleteCustomerNote","editNote","isEditingEnabled","cancelEdit","showConfirmDeleteDialog","checkForBlackBox","checkForBidi","checkChargingStationsOfCustomerHasBidi","getMasterUserByCustomerId","masterUserByCustomer","currentRoute","subscriptionsService","loadSubscriptionType","loadPermissions","permissionMap","getCustomerPermissions","setupPermissionMap","getSubscriptionTypePermissions","getSubscriptionTypeAsync","changeSubscriptionType","typeId","patchSubscriptionType","navDashboard","navChargingstations","navEvaluation","navManage","dashboardChargingstations","dashboardPowerchart","dashboardLatestTransactions","dashboardPowerchartDay","dashboardPowerchartMonth","dashboardPowerchartYear","chargingstationsGroups","chargingstationsCreate","chargingstationDetailsAuth","chargingstationDetailsTransactions","chargingstationFreecharge","chargingstationRemoteStart","chargingstationGroupsCreate","evaluationTransactions","evaluationDeliveryNotes","chargingStatisticsWeek","chargingStatisticsMonth","chargingStatisticsYear","chargingStatisticsCustom","chargingStatisticsFilter","chargingStatisticsCheckbox","chargingStatisticsDateFilter","evaluationDeliveryNotesSend","manageUsersCreate","manageUsersCreateCount","manageRfidScan","createDeliveryNotes","numberValue","customerPermission","customerPermissions","values","updateCustomerPermissions","isTestingOrDevStage","testMonthEnd","testMonthEndForAll","internalDescription","DeliveryNoteSettings","showCheckboxes","openErrorDialog","InvoicesService","CurrencyPipe","tdStyleClasses","datePipeFormat","isHTML","hideSearchAll","ownerCustomerId","isBoolean","mapType","getInvoicesOfRecipient","getStatus","QRCode","usersWithPricing","getTransactions","getTransactionsOfCustomer","transactionsToBeBilled","getTransactionsToBeBilledOfUser","getMeterAmountSumForUser","transactionsOfUser","meterAmounts","previous","getPriceSumForUser","isLength","getAllUnbilledInvoiceItemsOfIssuerForManualBillingAndAutoBilling","invoiceItemsToBeBilled","getUsersToBeBilled","groupedItems","recipientFullName","recipientUserFullName","selectedTransactions","getInvoiceMeterAmountOfRecipient","minimumFractionDigits","amount","getInvoiceAmountOfRecipient","currency","payoutStatementsService","setScheduledPayoutDate","getPayoutAmountDue","scheduledPayoutDate","customerUserId","amountDue","payout","PaymentReceiptDto","paymentsService","isLink","factor","getPaymentReceiptsOfSelectedCustomer","paymentReceipts","sortReceipts","mapReceiptType","getPaymentReceiptsOfCustomer","getPaymentReceiptsOfUser","receiptTypeText","dateA","receiptCreatedDate","dateB","getPayoutStatements","firstChild","getCustomerPayoutStatementsAsTableData","payoutStatements","getPayoutStatementsAsTableData","payoutStatement","downloadPayoutStatement","pricingType","getStripeInfo","getPricings","hasStripeAccount","stripeProductId","getPricingsOfUser","pricings","getInvoicePricings","getAbonnementPricings","getQRCodePricings","parsePrice","parsedPrice","pricingToReplace","archivePricingToReplace","usersSelectEmpty","updatedPricingToReplace","pricingAffected","usersOfPricingToReplace","usersSelected","swalFireInvalitePrice","toastPrefix","created","createPricing","newPricing","emitCreated","isInvoicePricing","isAbonnementPricing","isQRCodePricing","newPricingEvent","loadPricings","isPublic","publicPricing","toBeFocused","productId","PricingsService","parent_operator","getMasterUserOfCustomerAsync","getPricingOfUser","ctx_r46","handleUser","pricingCreatedEvent","updateActivePricings","pricingUpdatedEvent","incrementAndCheckLoadCounter","loadCounter","isLoaded","activeInvoicePricings","activeAbonnementPricings","qrcp","activeQRCodePricings","updateOnboardingState","isOnboardingStarted","isOnboardingCompleted","createStripeOnboardingUrl","stripeOnboardingUrl","createStripeDashboardUrl","stripeDashboardUrl","hasAccountId","complete","setPricingType","createStripeAccount","navigateTo","testMonthEndForCustomer","newRfidCard","onInput","regexNonHex","replacedValue","emitEvent","RfidCardsService","rfidCardCreatedEvent","getRfidCardsOfCustomer","getRfidCardsOfCurrentCustomer","openEditDialog","openRemoveAssignmentDialog","openDeleteRFIDDialog","openScanDialog","getTransactionsOfChargingStation","transactionDto","styles","distinctUntilChanged","mailTemplate","primaryTemplate","getRfidCardsOfCurrent","valueChanges","btnSaveDisabled","existDummyRequestDto","existDummyUser","rfidCards","createAnonymousUserForCustomer","temp","createAnonymousUserForCurrentCustomer","ngSelect_KeypressEvent","tagInput","isCharAllowed","rfidTagMaxLength","ngSelect_KeyupEvent","isRfidCardIdTagValid","condition","isRfidCardIdTagConditionMet","ngSelect_InputEvent","isRfidCardIdTagAvailable","card","showToastRfidCardAlreadyEntered","cacheIdTag","ngSelect_PastEvent","clipboardData","onBlur","currentRfidIdTag","updatedRfidIdTag","UserType","filterAvailableRfidCards","rfidCardDtos","rfid","filterAssignedRfidCards","showToastRfidCardInvaild","charCode","char","fromCharCode","rfidTagMinLength","assignedRfidCards","TagId","availableRfidCards","UserEditDto","isEqual","ChargingStationByGroupDto","chargingPowerProfilesService","getUserEditDto","chargingPowerProfileId","loadRfidCards","loadChargingGroups","loadChargingStations","getChargingPowerProfiles","filterRfidCards","getChargingstationGroupsOfCustomer","chargingGroups","getChargingstationGroups","getChargingstationsOfCustomerByGroup","filterChargingStations","getChargingstationsByGroup","chargingPowerProfiles","cpp","pricingName","isBtnSaveDisabled","isAddingNewEmail","updateUserRequest","areChargingStationsEdited","chargingStationEdited","areRfidsEdited","rfidEdited","chargingPowerProfileEdited","updateUser","mapUpdateUserRequestToSendInviteRequest","rfidChanged","chargingStationChanged","chargingGroupChanged","chargingPowerProfileChanged","onIsAddingNewEmailChange","filteredChargingStations","cg","allGroupsId","rfidCardsFiltered","UsersService","UserTableEntry","isAddingEnabled","getUserTable","getUserTableOfCustomer","getStripSubscriptionStatus","getUserTableOfCurrentCustomer","syncWhitelistForAllUsers","syncLocalOcppWhitelistForAllUsers","rfidCardsString","requiredActionMessage","allowedChargingStationsString","isStripeSubscripitionActive","isUserProfile","annotationPlugin","endOfYear","startOfYear","ctx_r22","_r21","ctx_r13","ctx_r42","calendar","getToday","getNext","setShowChart2","showChart2","getEntitiesAsync","chartGradientA2","chartGradientB2","getTransactionFilter","ngbDateToDate","ngbDateToDateEnd","setChartDefault","loadBarChartDataBy","getCurrentDay","getCurrentYear","setDateRangeCurrentWeek","firstDay","lastDay","convertToNgbDate","formatRange","setDateRangeCurrentMonth","setDateRangeCurrentYear","selectedStationId","selectedGroupId","selectedDay","selectedYear","getChargingStationsOfCustomerAsync","groups","getChargingstationGroupsOfCustomerAsync","getChargingStationsOfCurrentCustomerAsync","getChargingstationGroupsAsync","addFreeChargeUserAndQRChargeUser","resetDropdown","filteredGroups","filteredUsers","usersToAdd","userDto","onDateSelectionWeek","onDateSelectionMonth","ngbDate","footerPreviousClicked","newFromDateDay","newFromDate","newToDate","dayLastWeek","dateLastWeek","firstday","lastday","lastMonth","dateLastMonth","setMonth","datePicker","changeLocalFilter","changeYear","applyLocalFilter","transactionLocalFilter","chargingStationGroups","group","updateDropdown","existingChargingStationIds","existingGroupIds","existingUserIds","has","dayOrMonth","paymentIntentId","sessionId","hecId","intervalType","filteredTransactions","nonZeroPowerData","z","average","chart2","annotation","annotations","line1","scaleID","yMin","yMax","maxShow","line2","minShow","line3","averageShow","canvas2","ctx2","totalSavingCo2","openCreateDeliveryNoteDialog","openCreateDeliveryCSVDialog","getDeliveryNotesOfCustomer","getDeliveryNotes","chargingAmount","userFirstName","userLastName","deliveryPeriodString","isMeterValue","mapSuccessMessageAndQRCodeTag","rfidCardIdTag","ChargingstationGroupDto","setupChargingStations","getUsersOfCustomer","setupUsers","getUsersOfCurrentCustomer","selectedChargingstations","chargingStationGroupDto","createChargingStationGroupForCustomer","createChargingStationGroupForCurrentCustomer","chargingstations","loadGroup","getChargingstationGroup","chargingstationsEdited","usersEdited","editChargingStationGroup","chargingstationsChanged","usersChanged","tableStyleClasses","chargingStationGroup","countOfChargingStations","openCreateGroupDialog","ChargingParkSubscriptionDto","loadStripe","loadUser","setupStripe","getStripePublishableKey","stripe","publishableKey","loadUserStripeInfo","getUserProfile","stripeCustomerId","hasStripeCustomerId","stripeCustomerProfile","loadPricing","getUserNameById","owner","parkOwner","loadOwnerStripeInfo","createSubscriptionForm","thereWasNoPreviousPaymentPethod","subscriptionFormService","addressLine1","addressLine2","chargingParkSubscription","parkOwnerName","StripeCustomerId","parkOwnerStripeCustomerId","stripePriceId","priceId","housenumber","isCreatingStripeForm","createSetupIntent","subscription","createStripeForm","clientSecret","stripeClientSecret","appearance","theme","rules","marginBottom","fontSize","lineHeight","boxShadow","variables","colorPrimary","colorBackground","colorText","colorDanger","fontFamily","spacingUnit","paymentElement","create","mount","onStripeSubmit","confirmSetup","redirect","confirmParams","return_url","handleError","setupIntent","handleSuccess","messageContainer","paymentMethodId","payment_method","createChargingParkSubscription","navigateAfterSuccess","showNextStepsDialog","navigateAway","reload","StripeInfoDto","base64ToFile","ConfirmationCodeDto","ctx_r62","_r64","ctx_r81","ctx_r86","ctx_r93","ctx_r108","ctx_r109","ctx_r23","templateView","loadProfile","loadDashboardProfile","handleStripeRedirect","urlParams","setupIntentId","redirectStatus","createChargingParkSubscriptionByPaypal","isRedirectedFromPaypal","getUsage","getCustomerSubscriptionDetailsOfCurrentCustomer","mapSubscriptionType","getUserProfileOfCustomer","createFormForCustomer","createFormForUser","fileChangeEvent","imageChangedEvent","isCropping","imageCropped","base64","patchProfilePictureOfUser","patchProfilePictureOfCustomer","patchProfilePicture","imageLoaded","cropperReady","loadImageFailed","settingsGroup","customDeliveryNotes","ownTransactionNotifications","userTransactionNotifications","patchUserProfileOfCustomer","patchUserProfileOfCurrentCustomer","patchUserProfile","removeProfilePicture","onSettingsChange","updateMasterUserOfCustomerSettings","updateCurrentUserSettings","openChangePasswordDialog","openChangePasswordForCustomerDialog","confirmEmailForCustomer","confirmEmailforCustomer","openDeleteProfileDialog","openDeleteUserForCustomerDialog","openInviteCustomerDialog","showConfirmRemovePaymentMethodDialog","removePaymentMethod","cancelSubscription","parseAmount","getNextInvoiceValue","pv","cv","openChangeEmailAdrDialog","emailDialogRef","closed","emailDialogResult","requestDto","userGuid","updateUserEmailByUserId","confirmationCodeDto","sendConfirmationCode","sendConfirmationCodeResponse","statusCode","openConfirmationCodeDialog","confirmationCodeDialogRef","EnterCodeDialogResult","changeVerifyEmailByUserId","sendCodeDialogResult","changeVerifiedEmailByUserId","changeEmailResponse","getCustomersOfCurrentUser","openVerticallyCentered","hasMultiple","hasMultipleAccounts","selectedCustomer","changeSelectedCustomerOfCurrentUserAsync","deviceService","subscribeToUserAuthState","startsWith","isRoleCustomer","openAboutUsDialog","todayDate","screenWidth","innerWidth","screenHeight","innerHeight","checkPricings","isOffScreen","matchMedia","determineStage","resetRoles","isBlackboxAvailable","isStageTesting","isStageDev","isStageExperimental","isStageLocal","isAllowedInvoices","getPricingsOfCurrentUser","onResize","toggleNavbar","collapse","onlyOnTouchDevice","ModelsService","chargingstationservice","manufacturerservice","DeleteChargingstationprofilesComponent","EditChargingstationprofilesComponent","getOfflineChargeStations","mapReported","reported","offlineStatusReported","displayOffLineReported","timestamp_offline","ManufacturersService","rfidcardsService","blackBoxService","statusNotificationService","getCountofCustomers","getCount","getCountofChargingstations","count","getCountOfModels","getCountOfStatusNotifications","getCountOfUsers","searchForTerm","searchResult","searchCSResult","searchCUResult","searchTRResult","searchRFResult","StatusNotificationsDto","notificationSend","mailaddress","notification","timestamp_ChargeBox","timestampFromChargeBox","timestamp_Server","timestampFromServer","vendorId","vendorErrorCode","errorCode","getAllStatusNotifications","basicReady","standardReady","premiumReady","setupBasicPermissionMap","setupStandardPermissionMap","setupPremiumPermissionMap","checkIfAllPermissionsReady","subscriptionTypePermissions","basicPermissionMap","subscriptionTypePermission","standardPermissionMap","premiumPermissionMap","basicGroup","dashboardCo2","standardGroup","premiumGroup","basic","standard","premium","basicTypePermissions","standardTypePermissions","premiumTypePermissions","updateAllSubscriptionTypePermissions","contactMe","sendMessageToSupport","supportMessageFormValue","CheckoutDto","_r12","_r15","_r18","viewportScroller","abonnements","enterprise","subscribeTo","product","checkout","createCheckoutSessionForCUBOSConnect","checkoutUrl","scrollToAnchor","updateNumberOfChargingStations","numberOfChargingStations","updatePrice","updateNumberOfUsers","numberOfUsers","updateNumberOfCards","numberOfCards","sessionid","onSuccess","DeliveryNoteTemplateType","html2canvas","jsPDF","getSettings","loadPictures","isCustomDelivery","headerPicture","footerPicture","createCanvasData","currentPage","pageCount","TRANSACTIONS_PER_PAGE","transactionsOfPage","pdfPageImages","counter","kwhAmount","priceTag","createdAt","createPdf","canvasHeight","canvasWidth","pdf","fileWidth","internal","getWidth","fileHeight","getHeight","heightLeft","addImage","addPage","Download","save","blobPDF","output","example","calculatePages","stationary","transactionsPerPage","exampleSettings","boxZoom","zoomControl","doubleClickZoom","dragging","minZoom","getChargingStationPublicDetails","attributionControl","setPosition","goBack","back","PublicChargeSubscriptionDto","PublicTransactionRequestDto","divIcon","animate","transition","trigger","point_r36","ctx_r26","_r56","_r9","_r7","metaTagService","updateMetaTags","getChargingStation","updateTag","publicTransactionRequest","addEventListener","updateAmount","precisionCharge","handlePaymentSubmission","payAmount","chargingUnit","updatePrecisionChargeAmount","stripePaymentIntentId","isPaying","confirmPayment","createToken","stripeCard","errorElement","stripeTokenHandler","redirectToCheckout","chargingPointEvseid","csDetailsQuery","getChargingStationPublicDetailsByEvseId","updateChargingPointAvailability","isInitiated","statusInterval","updateStatus","getPublicPricingOfCustomer","loadStripeInfo","html","parseWattHour","wattHour","offsetTop","drawerOpen","bookingConfirm","chargingPointId","anonymous","method","elementToFocus","updateFormValidator","submitButtonCaption","country","createPublicTransactionPaymentIntent","toggleDrawer","chargingAmountPreview","nameControl","streetControl","housenumberControl","postcodeControl","cityControl","togglePrecisionCharge","toggleUnit","selectAmount","isChargingPointAvailable","isAnyChargingPointAvailable","pageBack","_r5","overflow","Layer","_r35","decimalPipe","validatePaymentIntent","storedPaymentIntentId","storedChargingStationId","validatePublicTransaction","publicTransactionSession","stopTimestamp","stopPublicTransactionSession","chargingStationStatusId","durationInterval","updateDuration","startTransaction","clearSession","isEvConnected","getPublicTransactionSession","publicTransaction","startMeterValue","kwhCharged","isNeedingRestart","publicRemoteStartRequest","remoteStartPublicTransaction","isFinished","end","stopCharging","stopTransaction","isFinishing","remoteStopPublicTransaction","stopMeterValue","el","autofocus","ViewContainerRef","viewContainerRef","templateRef","getLoggedInUserAsObservable","getRolesAsStringArray","idx","element","ifRoles","createEmbeddedView","rotate","hostVars","updateValues","Type","__decorate","SubscriptionTypeEnum","ActivatedRouteSnapshot","RouterStateSnapshot","factory","providedIn","isAccessTokenValid","userHasAnyRole","returnUrl","HttpErrorResponse","HttpEvent","HttpHandler","HttpRequest","BehaviorSubject","Observable","throwError","catchError","switchMap","intercept","getAccessToken","addToken","handle","handle401Error","clone","setHeaders","isRefreshing","refreshTokenSubject","tokenMessage","BankDetails","BidiConfiguration","Subscription","StripeInfo","Role","UserRole","Pricing","allowedChargingStations","getRolesAsString","roleString","userRoles","rolesStringArray","userRole","substractDate","valueOf","formatTime","formattedTime","pure","_format","_timezone","transformIso","transformToIso","digits","getWeekNumber","getDay","week1","HttpParams","Subject","CustomEncoder","tap","http","jwtHelper","authChangeSub","asObservable","currentUserSub","onAuthChanged","isAuthenticated","getLoggedInUserAsync","getLoggedInUserRolesForSelectedCustomerAsync","encoder","post","registerOperatorFromOperator","activatedFromOperator","onboardingRequest","getRefreshToken","accessTokenExists","isTokenExpired","isRefreshSuccessful","decodedToken","decodeToken","tokenRoles","claimRfidCardRequest","componentName","operatorConfig","customerConfig","userConfig","encodeKey","encodeValue","decodeKey","decodeURIComponent","decodeValue","PasswordConfirmationValidatorService","matchTo","matching","passwordControl","confirmationControl","confirmValue","passwordValue","mustMatch","EntityService","DashboardService","object","put","delete","BidiConfigurationService","bidiConfigId","BlackboxService","responseType","NgZone","PipeTransform","ngZone","getChargingStationsTableOfCustomer","getChargingStationsTableOfCurrentCustomer","getChargingPointStatus","getChargingStationHasFreechargeTransactions","getChargingStationsWithFreechargeTransactions","getGroupsWithChargingStations","getGroupsWithChargingStation","getChargingStationsOfGroup","getProfiles","getAdress","getFreeChargeStatus","getPublicChargeStatus","getPrivateChargeStatus","getChargeMode","getMeterValue","getCustomerIdOfChargingStation","chargingStationFreeChargeRequest","chargingStationPublicChargeRequest","chargingStationPrivateChargeRequest","newChargingStationGroupDto","isActive","updateRequest","supportTicket","stationIds","activeSubscriptions","observer","clientId","eventSource","EventSource","onmessage","run","parse","onerror","chargePointSerialNumber","ChargingPowerProfilesService","CreditStatementsService","CustomersService","noteId","getCustomerPermissionsAsync","payload","DeliveryNotesService","sendEmail","EnergyMeterRecordsService","getDistribution","EnergyMeterTypService","HttpClient","getEntityAsync","endpoint","changeInvoiceOfUser","change","deleteInvoice","issuerUserId","invoiceNumber","getManufacturers","createManufacturer","getAllModels","OperatorsService","getCustomersOfOperator","PayoutStatementsService","createdPricing","replacedPricing","updatedPricing","pricingDto","patchPricingOfUser","recipientUserIds","createdRfidCard","createRfidCardsForCustomer","tagsString","addEntity","addEntities","removeEntity","clearEntities","getSelectedIds","selectedIds","lastChar","substr","entityClicked","checkboxAllElement","onPageChange","HttpHeaders","StatusNotificationsService","statusNotification","StripeInfosService","createStripeInfoForUser","getStripeInfoOfCustomer","accountId","SubscriptionsService","getSubscriptionTypePermissionsAsync","updateSubscriptionTypePermissions","TagsService","getTransactionsOfUser","getCustomerIdOfUserAsync","getCustomerIdOfCurrentUserAsync","getRfidCardsOfUser","getUsersWithTransactionsAtChargingStation","getUsersWithTransactionsAtChargingStations","getCurrentCustomerPermissionsAsync","getMasterUserOfCurrentCustomerAsync","patchMasterUserProfile","patchCurrentUserProfile","deleteCurrentUserRequest","privateKey","userName","updateUserEmailRequest","updateAcceptAdRequest","eMail","encodedEmail","errorMessage","handleNotFound","handleBadRequest","handleUnauthorized","handleForbidden","entityRefreshSub","filesLoadedSub","sendEntityRefresh","sendFilesLoaded","FilesService","initializeConfigurations","getJsonAsync","upload","getAsync","isGeneralStorage","fileType","directory","removeValidators","addValidators","getControl","controlNames","MapService","errorTemplate","showError","successTemplate","showSuccess","PaymentsService","getCheckoutSession","createCheckoutSession","createCheckoutSessionForUser","patchChargingParkSubscriptionId","getInvoicesBySessionId","chargingParkSubscriptionDto","updateChargingParkSubscription","publicTransactionRequestDto","maxAmount","getSubscription","subscriptionId","cancelSubscriptionForCUBOSConnect","cancelPublicChargeSubscriptionAtPeriodEnd","checkSubscriptionExpired","publicTransactionId","Enterprise","of","tableLayout","v1","v2","_entities$","total$","_total$","_state","_set","_search$","addToSearchTermMap","_search","properties","len","valA","valB","comparableA","toComparableValue","comparableB","onPageSizeChange","isDecimal","started","stopped","prop","returnValue","childProperty","useStatusBadgeComponent","isLocaleString","argument","format","getTableLayoutCaption","layout","toggleTableLayout","tableId","innerText","ToastService","topcenter","bottomright","delay","calculateDuration","isAutoHiding","toasts","typeIndex","types","toUpperCase","askToHidePrevious","toast","environment","production","featureToggleConnection","enableProdMode","getBaseUrl","providers","useFactory","deps","__NgCli_bootstrap_1","bootstrapModule"],"sourceRoot":"webpack:///"}