{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/CancelledServices/CancelledServices.component.ts","./src/app/components/CancelledServices/CancelledServices.component.html","./src/app/components/Faq/Faq.component.ts","./src/app/components/Faq/Faq.component.html","./src/app/components/Marketplace/Marketplace.component.ts","./src/app/components/Marketplace/Marketplace.component.html","./src/app/components/Prospects/Prospects.component.ts","./src/app/components/Prospects/Prospects.component.html","./src/app/components/accountConfiguration/accountConfiguration.component.ts","./src/app/components/accountConfiguration/accountConfiguration.component.html","./src/app/components/accountConfiguration/password-edit.html","./src/app/components/activeDirectory/activeDirectory.component.ts","./src/app/components/activeDirectory/activeDirectory.component.html","./src/app/components/billing/billing.component.ts","./src/app/components/billing/billing.component.html","./src/app/components/calculator-cloud-server/calculator-cloud-server.component.ts","./src/app/components/calculator-cloud-server/calculator-cloud-server.component.html","./src/app/components/calculator-cloud-server/dto/cloud-server-dto.ts","./src/app/components/calculator-cloud-server/dto/machine-dto.ts","./src/app/components/calculator-cloud-server/modals/edit-values/cloud-server-edit-values.component.ts","./src/app/components/calculator-cloud-server/modals/edit-values/cloud-server-edit-values.component.html","./src/app/components/calculator-cloud-server/modals/save-bundle-quote/saveBundleQuoteModal.component.ts","./src/app/components/calculator-cloud-server/modals/save-bundle-quote/saveBundleQuoteModal.component.html","./src/app/components/calculator-cloud-server/modals/server-protection/server-protection.component.ts","./src/app/components/calculator-cloud-server/modals/server-protection/server-protection.component.html","./src/app/components/calculator-cloud-server/view-quotes/view-quotes.component.ts","./src/app/components/calculator-cloud-server/view-quotes/view-quotes.component.html","./src/app/components/credentials/credentials.component.ts","./src/app/components/credentials/credentials.component.html","./src/app/components/credentials/productFamily.ts","./src/app/components/dataCenter/childrenUsers/childrenUsers.component.ts","./src/app/components/dataCenter/childrenUsers/childrenUsers.component.html","./src/app/components/dataCenter/dataCenter.component.ts","./src/app/components/dataCenter/dataCenter.component.html","./src/app/components/dataCenter/machine-settings/disk-configuration/disk-configuration.component.ts","./src/app/components/dataCenter/machine-settings/disk-configuration/disk-configuration.component.html","./src/app/components/dataCenter/machine-settings/machine-settings.component.ts","./src/app/components/dataCenter/machine-settings/machine-settings.component.html","./src/app/components/dataCenter/machineOperations/machineOperations.component.ts","./src/app/components/dataCenter/machineOperations/machineOperations.component.html","./src/app/components/dataCenter/network-settings/FirewallConfiguration/firewall-configuration.component.ts","./src/app/components/dataCenter/network-settings/FirewallConfiguration/firewall-configuration.component.html","./src/app/components/dataCenter/network-settings/NatConfiguration/nat-configuration.component.ts","./src/app/components/dataCenter/network-settings/NatConfiguration/nat-configuration.component.html","./src/app/components/dataCenter/network-settings/RoutingConfiguration/routing-configuration.component.ts","./src/app/components/dataCenter/network-settings/RoutingConfiguration/routing-configuration.component.html","./src/app/components/dataCenter/network-settings/VpnConfiguration/vpn-configuration.component.ts","./src/app/components/dataCenter/network-settings/VpnConfiguration/vpn-configuration.component.html","./src/app/components/dataCenter/network-settings/app-profile-table/app-profile-table.component.ts","./src/app/components/dataCenter/network-settings/app-profile-table/app-profile-table.component.html","./src/app/components/dataCenter/network-settings/application-profile/application-profile.component.ts","./src/app/components/dataCenter/network-settings/application-profile/application-profile.component.html","./src/app/components/dataCenter/network-settings/dhcp-table/dhcp-table.component.ts","./src/app/components/dataCenter/network-settings/dhcp-table/dhcp-table.component.html","./src/app/components/dataCenter/network-settings/dhcpConfiguration/dhcp-configuration.component.ts","./src/app/components/dataCenter/network-settings/dhcpConfiguration/dhcp-configuration.component.html","./src/app/components/dataCenter/network-settings/firewall-component/firewall-component.component.ts","./src/app/components/dataCenter/network-settings/firewall-component/firewall-component.component.html","./src/app/components/dataCenter/network-settings/interfaces-stats/interfaces-stats.component.ts","./src/app/components/dataCenter/network-settings/interfaces-stats/interfaces-stats.component.html","./src/app/components/dataCenter/network-settings/ipset-configuration/ipset-configuration.component.ts","./src/app/components/dataCenter/network-settings/ipset-configuration/ipset-configuration.component.html","./src/app/components/dataCenter/network-settings/ipset-table/ipset-table.component.ts","./src/app/components/dataCenter/network-settings/ipset-table/ipset-table.component.html","./src/app/components/dataCenter/network-settings/nat-table/nat-table.component.ts","./src/app/components/dataCenter/network-settings/nat-table/nat-table.component.html","./src/app/components/dataCenter/network-settings/networkSettings.ts","./src/app/components/dataCenter/network-settings/networkSettings.html","./src/app/components/dataCenter/network-settings/pool-table/pool-table.component.ts","./src/app/components/dataCenter/network-settings/pool-table/pool-table.component.html","./src/app/components/dataCenter/network-settings/pool/pool.component.ts","./src/app/components/dataCenter/network-settings/pool/pool.component.html","./src/app/components/dataCenter/network-settings/routing-table/routing-table.component.ts","./src/app/components/dataCenter/network-settings/routing-table/routing-table.component.html","./src/app/components/dataCenter/network-settings/virtual-server-table/virtual-server-table.component.ts","./src/app/components/dataCenter/network-settings/virtual-server-table/virtual-server-table.component.html","./src/app/components/dataCenter/network-settings/virtual-server/virtual-server.component.ts","./src/app/components/dataCenter/network-settings/virtual-server/virtual-server.component.html","./src/app/components/dataCenter/network-settings/vpn-stats/vpn-stats.component.ts","./src/app/components/dataCenter/network-settings/vpn-stats/vpn-stats.component.html","./src/app/components/dataCenter/network-settings/vpn-table/vpn-table.component.ts","./src/app/components/dataCenter/network-settings/vpn-table/vpn-table.component.html","./src/app/components/dataCenter/pf-sense-network-settings/DTO/dhcp-server-dto.ts","./src/app/components/dataCenter/pf-sense-network-settings/DTO/dnat-rules-dto.ts","./src/app/components/dataCenter/pf-sense-network-settings/DTO/firewall-ip-dto.ts","./src/app/components/dataCenter/pf-sense-network-settings/DTO/firewall-rules-dto.ts","./src/app/components/dataCenter/pf-sense-network-settings/DTO/pfsenseRequest-dto.ts","./src/app/components/dataCenter/pf-sense-network-settings/DTO/rules-response-detail-dto.ts","./src/app/components/dataCenter/pf-sense-network-settings/DTO/snat-rules-dto.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-aliases-all/firewall-aliases-all.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-aliases-all/firewall-aliases-all.component.html","./src/app/components/dataCenter/pf-sense-network-settings/firewall-aliases-ports/firewall-aliases-ports.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-aliases-ports/firewall-aliases-ports.component.html","./src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/firewall-nat-outbound.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/firewall-nat-outbound.component.html","./src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/new-firewall-rule/new-firewall-rule.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/new-firewall-rule/new-firewall-rule.component.html","./src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/firewall-nat-port-forward.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/firewall-nat-port-forward.component.html","./src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component.html","./src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-lan/firewall-rules-lan.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-lan/firewall-rules-lan.component.html","./src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-oneone/firewall-rules-oneone.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-oneone/firewall-rules-oneone.component.html","./src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-wan/firewall-rules-wan.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-wan/firewall-rules-wan.component.html","./src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-wan/new-firewall-rule-wan/new-firewall-rule-wan.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-wan/new-firewall-rule-wan/new-firewall-rule-wan.component.html","./src/app/components/dataCenter/pf-sense-network-settings/pf-sense-menu.service.ts","./src/app/components/dataCenter/pf-sense-network-settings/pf-sense-network-settings.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/pf-sense-network-settings.component.html","./src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/detail-pfsense-ip/detail-pfsense-ip.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/detail-pfsense-ip/detail-pfsense-ip.component.html","./src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component.html","./src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/pfsense-ip.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/pfsense-ip.component.html","./src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/pipes/filter-type.pipe.ts","./src/app/components/dataCenter/pf-sense-network-settings/services-dchserver-lan/new-dhcp-service/new-dhcp-service.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/services-dchserver-lan/new-dhcp-service/new-dhcp-service.component.html","./src/app/components/dataCenter/pf-sense-network-settings/services-dchserver-lan/services-dchserver.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/services-dchserver-lan/services-dchserver.component.html","./src/app/components/dataCenter/pf-sense-network-settings/services-rules-lan/services-rules-lan.component.ts","./src/app/components/dataCenter/pf-sense-network-settings/services-rules-lan/services-rules-lan.component.html","./src/app/components/dataCenter/service-name-modal/service-name-modal.component.ts","./src/app/components/dataCenter/service-name-modal/service-name-modal.component.html","./src/app/components/desktop/control-panel/control-panel.component.ts","./src/app/components/desktop/control-panel/control-panel.component.html","./src/app/components/desktop/desktop.component.ts","./src/app/components/desktop/desktop.component.html","./src/app/components/desktop/snackbar/snackbar.component.ts","./src/app/components/desktop/snackbar/snackbar.component.html","./src/app/components/desktop/welcome-window/welcome-window.component.ts","./src/app/components/desktop/welcome-window/welcome-window.component.html","./src/app/components/emailSetup/emailSetup.component.ts","./src/app/components/emailSetup/emailSetup.component.html","./src/app/components/eventsLog/eventsLog.component.ts","./src/app/components/eventsLog/eventsLog.component.html","./src/app/components/helpDesk/helpDesk.component.ts","./src/app/components/helpDesk/helpDesk.component.html","./src/app/components/pendingMachines/pendingMachines.component.ts","./src/app/components/pendingMachines/pendingMachines.component.html","./src/app/components/replicas-csj/csj-general-graphics/csj-general-graphics.component.ts","./src/app/components/replicas-csj/csj-general-graphics/csj-general-graphics.component.html","./src/app/components/replicas-csj/csj-main-dashboard/csj-main-dashboard.component.ts","./src/app/components/replicas-csj/csj-main-dashboard/csj-main-dashboard.component.html","./src/app/components/replicas-csj/csj-modal/csj-modal.component.ts","./src/app/components/replicas-csj/csj-modal/csj-modal.component.html","./src/app/components/replicas-csj/replicas-csj.component.ts","./src/app/components/replicas-csj/replicas-csj.component.html","./src/app/components/role/role.component.ts","./src/app/components/role/role.component.html","./src/app/components/role/role-add.component.html","./src/app/components/shared/header/header.component.ts","./src/app/components/support/admin-support-contact/admin-support-contact.component.ts","./src/app/components/support/admin-support-contact/admin-support-contact.component.html","./src/app/components/support/support.component.ts","./src/app/components/support/support.component.html","./src/app/components/useStatistics/useStatistics.component.ts","./src/app/components/useStatistics/useStatistics.component.html","./src/app/components/userAccounts/demoServices/demo-services.component.ts","./src/app/components/userAccounts/demoServices/demo-services.component.html","./src/app/components/userAccounts/service-configuration/service-configuration.component.ts","./src/app/components/userAccounts/service-configuration/service-configuration.component.html","./src/app/components/userAccounts/terms/terms.component.ts","./src/app/components/userAccounts/terms/terms.component.html","./src/app/components/userAccounts/user-edition/user-edition.component.ts","./src/app/components/userAccounts/user-edition/user-edition.component.html","./src/app/components/userAccounts/user-settings/user-settings.component.ts","./src/app/components/userAccounts/user-settings/user-settings.component.html","./src/app/components/userAccounts/userAccounts.component.ts","./src/app/components/userAccounts/password-resend.html","./src/app/components/userAccounts/userAccounts.component.html","./src/app/components/virtualServers/planEdition/plan-edition.component.ts","./src/app/components/virtualServers/planEdition/plan-edition.component.html","./src/app/components/virtualServers/virtualServers.component.ts","./src/app/components/virtualServers/virtualServers.component.html","./src/app/components/whiteLabelConfiguration/certificateUpload/certificate-upload.component.ts","./src/app/components/whiteLabelConfiguration/certificateUpload/certificate-upload.component.html","./src/app/components/whiteLabelConfiguration/imageUpload/image-upload.component.ts","./src/app/components/whiteLabelConfiguration/imageUpload/image-upload.component.html","./src/app/components/whiteLabelConfiguration/whiteLabelConfiguration.component.ts","./src/app/components/whiteLabelConfiguration/whiteLabelConfiguration.component.html","./src/app/footer/footer.component.ts","./src/app/footer/footer.component.html","./src/app/globalization/globalization.ts","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/login/login-modal.component.html","./src/app/login/outh2-modal/outh2-modal.component.ts","./src/app/login/outh2-modal/outh2-modal.component.html","./src/app/models/constants.component.ts","./src/app/models/credential.ts","./src/app/models/dtos.component.ts","./src/app/services/BroadcastEmitter.ts","./src/app/services/app.service.ts","./src/app/services/auth/auth-guard.service.ts","./src/app/services/auth/auth-interceptor.ts","./src/app/services/auth/auth.service.ts","./src/app/services/auth/session-check.service.ts","./src/app/services/csj/csj.service.ts","./src/app/services/excel/excel.service.ts","./src/app/services/logs/logs-services.service.ts","./src/app/services/wlservice.service.ts","./src/app/sidebar/sidebar.component.ts","./src/app/sidebar/sidebar.component.html","./src/app/sidebar/sidebar.service.ts","./src/app/tools/CustomValidator.ts","./src/app/tools/grid/grid.component.ts","./src/app/tools/grid/grid.component.html","./src/app/tools/modals/confirmation/modal.component.ts","./src/app/tools/modals/confirmation/modal.component.html","./src/app/tools/modals/sendMail/modal.component.ts","./src/app/tools/modals/sendMail/modal.component.html","./src/app/tools/pipes/SafeHtml.pipe.ts","./src/app/tools/pipes/filter.pipe.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACa;;;AAShD,MAAM,YAAY;;wEAAZ,YAAY;4FAAZ,YAAY,yGAHZ,CAAC,qEAAS,CAAC;QCPxB,2EAA+B;;6FDUlB,YAAY;cAPxB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,qBAAqB,CAAC;gBAClC,SAAS,EAAE,CAAC,qEAAS,CAAC;aACvB;;;;;;;;;;;;;;AERD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACqB;AACd;AACV;AACW;AACqB;AACxC;AACU;AACD;AACF;AACS;AACN;AACN;AACE;AACE;AACZ;AAG3C,YAAY;AACmF;AACH;AACZ;AACiC;AACxB;AACZ;AACqB;AACwB;AACX;AACkB;AACvD;AACT;AACQ;AACU;AACqB;AAC1C;AACkB;AACM;AACZ;AACZ;AACgB;AACqB;AAChB;AACoB;AACtB;AACI;AACqB;AACb;AACD;AACU;AACP;AACD;AACoB;AACZ;AACuB;AAClC;AACV;AAC2C;AACH;AACe;AACf;AACY;AACrC;AACE;AACV;AACP;AACT;AACA;AACyC;AACN;AACA;AAC3G,4CAA4C;AACiG;AACvD;AAEtF,OAAO;AACgD;AACA;AACvD,kBAAkB;AACqD;AACZ;AACa;AACjB;AACQ;AACN;AACa;AACL;AACC;AACF;AACT;AACE;AACF;AACA;AACe;AACQ;AACrB;AACE;AACE;AACS;AACN;AACH;AACN;AACM;AACA;AACJ;AACQ;AAEjB;AAEhD,aAAa;AACsE;AACE;AACjB;AACQ;AAC7B;AAC0F;AACf;AAC7B;AACmC;AACS;AACZ;AAClB;AACG;AACH;AACY;AACW;AACpB;AAC6B;AAC1B;AAEjH,aAAa;AAE2G;AACc;AACzB;AAC6B;AAG1I,WAAW;AAEmD;AAC9D,4GAA4G;AAE5G,QAAQ;AAEgD;AACA;AAGO;AACH;AAEG;AACE;AAuDjE,YAAY;AACyD;AACN;AACiB;AACwD;AACjB;AAC8B;AACK;AACN;AACc;AACX;AACT;AACA;AACA;AACK;AACI;AACD;AACW;AACkB;AACV;AACV;AAC1C;AAC7B;AAC8B;AAC1B;AACgC;;;;;;;AA7E5H,MAAM,gCAAgC,GAAoC;IACxE,eAAe,EAAE,IAAI;CACtB,CAAC;AAGK,MAAM,SAAS,GAAW;IAC/B;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,qEAAc;KAC1B;IACD,gDAAgD;IAChD;QACE,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,kEAAa;QACxB,WAAW,EAAE,CAAC,mFAAS,CAAC;QACxB,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,gGAAmB,EAAG,WAAW,EAAG,CAA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,4DAAK;IACnB,uEACE;IAAA,yDACF;IAAA,4DAAK;IACL,uEACE;IAAA,yDACF;;IAAA,4DAAK;IACP,4DAAK;IACL,uEACE;IAAA,uEAAI;IAAA,kEAAK;IAAA,4DAAK;IACd,uEACE;IAAA,yDACF;IAAA,4DAAK;IACL,uEACE;IAAA,yDACF;;IAAA,4DAAK;IACP,4DAAK;IACL,uEACE;IAAA,uEAAI;IAAA,mEAAM;IAAA,4DAAK;IACf,uEACE;IAAA,yDACF;IAAA,4DAAK;IACL,uEACE;IAAA,yDACF;;IAAA,4DAAK;IACP,4DAAK;IACL,uEACE;IAAA,uEAAI;IAAA,mEAAM;IAAA,4DAAK;IACf,uEACE;IAAA,yDACF;IAAA,4DAAK;IACL,uEACE;IAAA,yDACF;;IAAA,4DAAK;IACP,4DAAK;IACL,uEACE;IAAA,uEAAI;IAAA,oEAAO;IAAA,4DAAK;IAChB,uEACE;IAAA,yDACF;IAAA,4DAAK;IACL,uEACE;IAAA,yDACF;;IAAA,4DAAK;IACP,4DAAK;IACL,uEACE;IAAA,uEAAI;IAAA,+DAAE;IAAA,4DAAK;IACX,uEACE;IAAA,yDACF;IAAA,4DAAK;IACL,uEACE;IAAA,yDACF;;IAAA,4DAAK;IACP,4DAAK;IAEP,4DAAQ;IACV,4DAAQ;;;IAnLA,2DACF;IADE,kMACF;IAEE,0DACF;IADE,kRACF;IAKE,0DACF;IADE,kMACF;IAEE,0DACF;IADE,4UACF;IAKE,0DACF;IADE,iMACF;IAEE,0DACF;IADE,2UACF;IAKE,0DACF;IADE,uPACF;IAEE,0DACF;IADE,2UACF;IAKE,0DACF;IADE,gIACF;IAEE,0DACF;IADE,0QACF;IAKE,0DACF;IADE,sMACF;IAEE,0DACF;IADE,gVACF;IAKE,0DACF;IADE,oMACF;IAEE,0DACF;IADE,8UACF;IAKE,0DACF;IADE,+LACF;IAEE,0DACF;IADE,yUACF;IAKE,0DACF;IADE,sMACF;IAEE,0DACF;IADE,sRACF;IAKE,0DACF;IADE,0LACF;IAEE,0DACF;IADE,oUACF;IAKE,0DACF;IADE,sNACF;IAEE,0DACF;IADE,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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { Component } from '@angular/core';\r\nimport {WlService} from './services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css'],\r\n providers: [WlService]\r\n})\r\n\r\nexport class AppComponent {\r\n spaceScreens: Array;\r\n}\r\n","","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { BroadcastEmitter } from './services/BroadcastEmitter';\r\nimport { WlService } from './services/wlservice.service';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n\r\n//components\r\nimport { VirtualServersComponent } from './components/virtualServers/virtualServers.component';\r\nimport { UseStatisticsComponent } from './components/useStatistics/useStatistics.component';\r\nimport { EventsLogComponent } from './components/eventsLog/eventsLog.component';\r\nimport { AccountConfigurationComponent } from './components/accountConfiguration/accountConfiguration.component';\r\nimport { UserAccountsComponent } from './components/userAccounts/userAccounts.component';\r\nimport { HelpDeskComponent } from './components/helpDesk/helpDesk.component';\r\nimport { ActiveDirectoryComponent } from './components/activeDirectory/activeDirectory.component';\r\nimport { WhiteLabelConfigurationComponent } from './components/whiteLabelConfiguration/whiteLabelConfiguration.component';\r\nimport { ImageUploadComponent } from './components/whiteLabelConfiguration/imageUpload/image-upload.component';\r\nimport { CertificateUploadComponent } from './components/whiteLabelConfiguration/certificateUpload/certificate-upload.component';\r\nimport { BillingComponent } from './components/billing/billing.component';\r\nimport { RoleComponent } from './components/role/role.component';\r\nimport { sendMailDialog } from './tools/modals/sendMail/modal.component';\r\nimport { EmailSetupComponent } from './components/emailSetup/emailSetup.component';\r\nimport { CancelledServicesComponent } from './components/CancelledServices/CancelledServices.component';\r\nimport { FaqComponent } from './components/Faq/Faq.component';\r\nimport { ProspectsComponent } from './components/Prospects/Prospects.component';\r\nimport { MarketplaceComponent } from './components/Marketplace/Marketplace.component';\r\nimport { DesktopComponent } from './components/desktop/desktop.component';\r\nimport { LoginModalComponent } from './login/login.component';\r\nimport { HeaderComponent } from './components/shared/header/header.component';\r\nimport { ControlPanelComponent } from './components/desktop/control-panel/control-panel.component';\r\nimport { DataCenterComponent } from './components/dataCenter/dataCenter.component';\r\nimport { ChildrenUsersComponent } from './components/dataCenter/childrenUsers/childrenUsers.component';\r\nimport { GridComponent, GridDetailComponent } from './tools/grid/grid.component';\r\nimport { SnackBarComponent } from './components/desktop/snackbar/snackbar.component';\r\nimport { machineOperations } from './components/dataCenter/machineOperations/machineOperations.component';\r\nimport { planEdition } from './components/virtualServers/planEdition/plan-edition.component';\r\nimport { UserEdition } from './components/userAccounts/user-edition/user-edition.component';\r\nimport { PasswordEditDialog } from './components/accountConfiguration/accountConfiguration.component';\r\nimport { UserSettings } from './components/userAccounts/user-settings/user-settings.component';\r\nimport { DemoServices } from './components/userAccounts/demoServices/demo-services.component';\r\nimport { ServiceSettings } from './components/userAccounts/service-configuration/service-configuration.component';\r\nimport { MachineSettings } from './components/dataCenter/machine-settings/machine-settings.component';\r\nimport { DiskConfiguration } from './components/dataCenter/machine-settings/disk-configuration/disk-configuration.component';\r\nimport { NetworkSettings } from './components/dataCenter/network-settings/networkSettings';\r\nimport { ConfirmationDialog } from './tools/modals/confirmation/modal.component';\r\nimport { DhcpConfiguration } from './components/dataCenter/network-settings/dhcpConfiguration/dhcp-configuration.component';\r\nimport { NatConfiguration } from './components/dataCenter/network-settings/NatConfiguration/nat-configuration.component';\r\nimport { FirewallConfiguration } from './components/dataCenter/network-settings/FirewallConfiguration/firewall-configuration.component';\r\nimport { VpnConfiguration } from './components/dataCenter/network-settings/VpnConfiguration/vpn-configuration.component';\r\nimport { RoutingConfiguration } from './components/dataCenter/network-settings/RoutingConfiguration/routing-configuration.component';\r\nimport { WelcomeComponent } from './components/desktop/welcome-window/welcome-window.component';\r\nimport { PendingMachinesComponent } from './components/pendingMachines/pendingMachines.component';\r\nimport { PasswordResendDialog } from './components/userAccounts/userAccounts.component';\r\nimport { TermsComponent } from './components/userAccounts/terms/terms.component';\r\nimport { ProfileEditComponent } from './components/role/role.component';\r\nimport { SupportNumbers } from './components/support/support.component';\r\nimport { AdminSupportContact } from './components/support/admin-support-contact/admin-support-contact.component';\r\nimport { ServiceNameModal } from './components/dataCenter/service-name-modal/service-name-modal.component';\r\nimport { VpnStatsComponent } from './components/dataCenter/network-settings/vpn-stats/vpn-stats.component';\r\n// tslint:disable-next-line: max-line-length\r\nimport { SaveBundleQuoteModalComponent } from './components/calculator-cloud-server/modals/save-bundle-quote/saveBundleQuoteModal.component';\r\nimport { CredentialsComponent } from './components/credentials/credentials.component';\r\n\r\n//Pipes\r\nimport { SafeHtml } from './tools/pipes/SafeHtml.pipe';\r\nimport { FilterPipe } from './tools/pipes/filter.pipe';\r\n// Material Design\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\n\r\n//AuthService\r\nimport { AuthGuardService as AuthGuard } from './services/auth/auth-guard.service';\r\nimport { AuthService, TOKEN_NAME, tokennGetter } from './services/auth/auth.service';\r\nimport { MyHttpInterceptor} from './services/auth/auth-interceptor';\r\nimport { SessionCheckService } from './services/auth/session-check.service';\r\nimport { JwtModule } from '@auth0/angular-jwt';\r\nimport { ApplicationProfileComponent } from './components/dataCenter/network-settings/application-profile/application-profile.component';\r\nimport { VirtualServerComponent } from './components/dataCenter/network-settings/virtual-server/virtual-server.component';\r\nimport { PoolComponent } from './components/dataCenter/network-settings/pool/pool.component';\r\nimport { InterfacesStatsComponent } from './components/dataCenter/network-settings/interfaces-stats/interfaces-stats.component';\r\nimport { IpsetConfigurationComponent } from './components/dataCenter/network-settings/ipset-configuration/ipset-configuration.component';\r\nimport { FirewallComponent } from './components/dataCenter/network-settings/firewall-component/firewall-component.component';\r\nimport { NatTableComponent } from './components/dataCenter/network-settings/nat-table/nat-table.component';\r\nimport { DhcpTableComponent } from './components/dataCenter/network-settings/dhcp-table/dhcp-table.component';\r\nimport { VpnTableComponent } from './components/dataCenter/network-settings/vpn-table/vpn-table.component';\r\nimport { RoutingTableComponent } from './components/dataCenter/network-settings/routing-table/routing-table.component';\r\nimport { AppProfileTableComponent } from './components/dataCenter/network-settings/app-profile-table/app-profile-table.component';\r\nimport { PoolTableComponent } from './components/dataCenter/network-settings/pool-table/pool-table.component';\r\nimport { VirtualServerTableComponent } from './components/dataCenter/network-settings/virtual-server-table/virtual-server-table.component';\r\nimport { IpsetTableComponent } from './components/dataCenter/network-settings/ipset-table/ipset-table.component';\r\n\r\n// Calculator\r\n\r\nimport { CalculatorCloudServerComponent } from './components/calculator-cloud-server/calculator-cloud-server.component';\r\nimport { ServerProtectionComponent } from './components/calculator-cloud-server/modals/server-protection/server-protection.component';\r\nimport { ViewQuotesComponent } from './components/calculator-cloud-server/view-quotes/view-quotes.component';\r\nimport {CloudServerEditValuesComponent} from './components/calculator-cloud-server/modals/edit-values/cloud-server-edit-values.component';\r\n\r\n\r\n// services\r\n\r\nimport { ExcelService } from './services/excel/excel.service';\r\n// import { ServerProtectionComponent } from './tools/modals/server-protection/server-protection.component';\r\n\r\n//navbar\r\n\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport {BsDropdownModule} from 'ngx-bootstrap/dropdown';\r\n\r\nimport { NavbarComponent } from './navbar/navbar.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\n\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\n\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true\r\n};\r\n\r\n\r\nexport const appRoutes: Routes = [\r\n {\r\n path: '',\r\n component: LoginComponent\r\n },\r\n // { path: 'terms', component: TermsComponent },\r\n {\r\n path: 'home',\r\n component: HomeComponent ,\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: 'dataCenter/:id/:children', component: DataCenterComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'childrenUsers/:id/:children', component: ChildrenUsersComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'networkSettings/:datacenterID', component: NetworkSettings, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'welcome', component: WelcomeComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'MachineSettings/:MachineID', component: MachineSettings, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'virtualServers', component: VirtualServersComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'useStatistics', component: UseStatisticsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'eventsLog', component: EventsLogComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'accountConfiguration', component: AccountConfigurationComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'userAccounts', component: UserAccountsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'userConfiguration/:UserID', component: UserSettings, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'helpDesk', component: HelpDeskComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'activeDirectory', component: ActiveDirectoryComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'whiteLabelConfiguration', component: WhiteLabelConfigurationComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'billing', component: BillingComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'role', component: RoleComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'calculator', component: CalculatorCloudServerComponent, canActivate: [AuthGuard], outlet: 'main'},\r\n { path: 'calculator/:idBundleQuote', component: CalculatorCloudServerComponent, canActivate: [AuthGuard], outlet: 'main'},\r\n { path: 'emailSetup', component: EmailSetupComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'CancelledServices', component: CancelledServicesComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'Faq', component: FaqComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'Prospects', component: ProspectsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'Marketplace', component: MarketplaceComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'desktop', component: DesktopComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'pendingMachines', component: PendingMachinesComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'supportContacts', component: SupportNumbers, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'viewQuotes', component: ViewQuotesComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'interfacesStats/:datacenterID', component: InterfacesStatsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'deliveryofcredentials', component: CredentialsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'PfsenseNetworkSettings/:datacenterID/:customerID', component: PfSenseNetworkSettingsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'csj', component: ReplicasCSJComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n ]\r\n\r\n }\r\n];\r\n\r\n// translate\r\nimport {TranslateModule, TranslateLoader} from '@ngx-translate/core';\r\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\r\nimport { Outh2ModalComponent } from './login/outh2-modal/outh2-modal.component';\r\nimport { PfSenseNetworkSettingsComponent } from './components/dataCenter/pf-sense-network-settings/pf-sense-network-settings.component';\r\nimport { PfsenseIpComponent } from './components/dataCenter/pf-sense-network-settings/pfsense-ip/pfsense-ip.component';\r\nimport { NewPfSenseIpComponent } from './components/dataCenter/pf-sense-network-settings/pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\nimport { FirewallAliasesPortsComponent } from './components/dataCenter/pf-sense-network-settings/firewall-aliases-ports/firewall-aliases-ports.component';\r\nimport { FirewallAliasesAllComponent } from './components/dataCenter/pf-sense-network-settings/firewall-aliases-all/firewall-aliases-all.component';\r\nimport { FirewallNatPortForwardComponent } from './components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/firewall-nat-port-forward.component';\r\nimport { FirewallNatOutboundComponent } from './components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/firewall-nat-outbound.component';\r\nimport { FirewallRulesWanComponent } from './components/dataCenter/pf-sense-network-settings/firewall-rules-wan/firewall-rules-wan.component';\r\nimport { FirewallRulesLanComponent } from './components/dataCenter/pf-sense-network-settings/firewall-rules-lan/firewall-rules-lan.component';\r\nimport { ServicesRulesLanComponent } from './components/dataCenter/pf-sense-network-settings/services-rules-lan/services-rules-lan.component';\r\nimport { ServicesDchserverComponent } from './components/dataCenter/pf-sense-network-settings/services-dchserver-lan/services-dchserver.component';\r\nimport { FirewallRulesOneoneComponent } from './components/dataCenter/pf-sense-network-settings/firewall-rules-oneone/firewall-rules-oneone.component';\r\nimport { DetailPfsenseIpComponent } from './components/dataCenter/pf-sense-network-settings/pfsense-ip/detail-pfsense-ip/detail-pfsense-ip.component';\r\nimport { NewFirewallRuleComponent } from './components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/new-firewall-rule/new-firewall-rule.component';\r\nimport { NewFirewallPortRuleComponent } from './components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component';\r\nimport { NewFirewallRuleWanComponent } from './components/dataCenter/pf-sense-network-settings/firewall-rules-wan/new-firewall-rule-wan/new-firewall-rule-wan.component';\r\nimport { NewDhcpServiceComponent } from './components/dataCenter/pf-sense-network-settings/services-dchserver-lan/new-dhcp-service/new-dhcp-service.component';\r\nimport { FilterTypePipe } from './components/dataCenter/pf-sense-network-settings/pfsense-ip/pipes/filter-type.pipe';\r\nimport { ReplicasCSJComponent } from './components/replicas-csj/replicas-csj.component';\r\nimport { CsjMainDashboardComponent } from './components/replicas-csj/csj-main-dashboard/csj-main-dashboard.component';\r\nimport { CsjModalComponent } from './components/replicas-csj/csj-modal/csj-modal.component';\r\nimport { CsjGeneralGraphicsComponent } from './components/replicas-csj/csj-general-graphics/csj-general-graphics.component';\r\n\r\n\r\n// AoT requires an exported function for factories\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n HomeComponent,\r\n VirtualServersComponent,\r\n UseStatisticsComponent,\r\n EventsLogComponent,\r\n AccountConfigurationComponent,\r\n UserAccountsComponent,\r\n HelpDeskComponent,\r\n ActiveDirectoryComponent,\r\n WhiteLabelConfigurationComponent,\r\n ImageUploadComponent,\r\n CertificateUploadComponent,\r\n BillingComponent,\r\n RoleComponent,\r\n EmailSetupComponent,\r\n CancelledServicesComponent,\r\n FaqComponent,\r\n ProspectsComponent,\r\n MarketplaceComponent,\r\n DesktopComponent,\r\n LoginModalComponent,\r\n ConfirmationDialog,\r\n sendMailDialog,\r\n PasswordResendDialog,\r\n HeaderComponent,\r\n ControlPanelComponent,\r\n DataCenterComponent,\r\n ChildrenUsersComponent,\r\n GridComponent,\r\n SnackBarComponent,\r\n machineOperations,\r\n planEdition,\r\n UserEdition,\r\n UserSettings,\r\n PasswordEditDialog,\r\n GridDetailComponent,\r\n ServiceSettings,\r\n MachineSettings,\r\n DiskConfiguration,\r\n SafeHtml,\r\n NetworkSettings,\r\n DhcpConfiguration,\r\n NatConfiguration,\r\n RoutingConfiguration,\r\n FirewallConfiguration,\r\n WelcomeComponent,\r\n PendingMachinesComponent,\r\n SaveBundleQuoteModalComponent,\r\n VpnConfiguration,\r\n DemoServices,\r\n FilterPipe,\r\n TermsComponent,\r\n ProfileEditComponent,\r\n SupportNumbers,\r\n AdminSupportContact,\r\n ServiceNameModal,\r\n ApplicationProfileComponent,\r\n VirtualServerComponent,\r\n PoolComponent,\r\n VpnStatsComponent,\r\n InterfacesStatsComponent,\r\n IpsetConfigurationComponent,\r\n VpnStatsComponent,\r\n FirewallComponent,\r\n NatTableComponent,\r\n DhcpTableComponent,\r\n VpnTableComponent,\r\n RoutingTableComponent,\r\n AppProfileTableComponent,\r\n PoolTableComponent,\r\n VirtualServerTableComponent,\r\n IpsetTableComponent,\r\n ServerProtectionComponent,\r\n Outh2ModalComponent,\r\n CalculatorCloudServerComponent,\r\n ViewQuotesComponent,\r\n CloudServerEditValuesComponent,\r\n CredentialsComponent,\r\n PfSenseNetworkSettingsComponent,\r\n PfsenseIpComponent,\r\n SidebarComponent,\r\n FooterComponent,\r\n NewPfSenseIpComponent,\r\n FirewallAliasesPortsComponent,\r\n FirewallAliasesAllComponent,\r\n FirewallNatPortForwardComponent,\r\n FirewallNatOutboundComponent,\r\n FirewallRulesWanComponent,\r\n FirewallRulesLanComponent,\r\n ServicesRulesLanComponent,\r\n ServicesDchserverComponent,\r\n FirewallRulesOneoneComponent,\r\n DetailPfsenseIpComponent,\r\n NewFirewallRuleComponent,\r\n NewFirewallPortRuleComponent,\r\n NewFirewallRuleWanComponent,\r\n NewDhcpServiceComponent,\r\n FilterTypePipe,\r\n ReplicasCSJComponent,\r\n CsjMainDashboardComponent,\r\n CsjModalComponent,\r\n CsjGeneralGraphicsComponent\r\n ],\r\n imports: [\r\n BrowserAnimationsModule,\r\n ReactiveFormsModule,\r\n BrowserModule,\r\n FormsModule,\r\n // HttpModule,\r\n HttpClientModule,\r\n RouterModule.forRoot(appRoutes),\r\n FlexLayoutModule,\r\n FileUploadModule,\r\n NgxPaginationModule,\r\n NgxChartsModule,\r\n [BrowserModule, FormsModule],\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatProgressBarModule,\r\n MatMenuModule,\r\n MatSidenavModule,\r\n MatButtonModule,\r\n MatSelectModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatSlideToggleModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule,\r\n MatAutocompleteModule,\r\n MatTabsModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatListModule,\r\n MatCheckboxModule,\r\n MatStepperModule,\r\n MatRadioModule,\r\n MatExpansionModule,\r\n MatToolbarModule,\r\n MatCardModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatButtonToggleModule,\r\n MatIconModule,\r\n ClipboardModule,\r\n CollapseModule.forRoot(),\r\n BsDropdownModule.forRoot(),\r\n PerfectScrollbarModule,\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: tokennGetter\r\n }\r\n }),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n exports : [\r\n MatButtonModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule\r\n ],\r\n providers:[WlService,\r\n BroadcastEmitter,\r\n MatDialog,\r\n AuthGuard,\r\n SessionCheckService,\r\n AuthService,\r\n DatePipe,\r\n ExcelService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass : MyHttpInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\r\n }\r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [\r\n LoginModalComponent,\r\n PasswordResendDialog,\r\n ProfileEditComponent,\r\n ConfirmationDialog,\r\n sendMailDialog,\r\n ServerProtectionComponent,\r\n PasswordEditDialog,\r\n GridDetailComponent,\r\n ServiceNameModal,\r\n TermsComponent,\r\n VpnStatsComponent,\r\n FirewallComponent,\r\n SaveBundleQuoteModalComponent,\r\n CloudServerEditValuesComponent\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n ]\r\n})\r\n\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-CancelledServices',\r\n templateUrl: './CancelledServices.component.html',\r\n styleUrls: ['./CancelledServices.component.scss']\r\n})\r\nexport class CancelledServicesComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

Cancelled Services

","import { Component, OnInit } from '@angular/core';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { FaqQuestion } from '../../models/dtos.component';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-Faq',\r\n templateUrl: './Faq.component.html',\r\n styleUrls: ['./Faq.component.scss']\r\n})\r\nexport class FaqComponent implements OnInit {\r\n preguntas: Array = [];\r\n leftQuestions: Array = [];\r\n rightQuestions: Array = [];\r\n globalization: any = Globalization;\r\n searchDocument: string = \"\";\r\n token: string;\r\n language: string;\r\n\r\n constructor(private service: WlService, public auth : AuthService ) {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n ngOnInit() {\r\n this.getFaq();\r\n }\r\n\r\n ShowQuestion(question: FaqQuestion, increaseServer: boolean) {\r\n if (!question.show && increaseServer)\r\n this.increasePuntuation(question);\r\n question.show = !question.show;\r\n }\r\n\r\n increasePuntuation(question: FaqQuestion) {\r\n question.Points++;\r\n this.service.IncreasePoints(question.ID).subscribe(\r\n response => { },\r\n error => {\r\n\r\n }\r\n )\r\n }\r\n\r\n getFaq() {\r\n this.service.getQuestions().subscribe(\r\n (response:any) => {\r\n this.preguntas = response;\r\n this.leftQuestions = response.slice(0, 4);\r\n this.rightQuestions = response.slice(4);\r\n },\r\n error => {\r\n\r\n }\r\n );\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{leftQuestion.Question}}
\r\n
\r\n
\r\n

{{leftQuestion.Answer}}

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

{{question.Question}}

\r\n {{question.Icon}}\r\n
\r\n
\r\n

{{question.Answer}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-Marketplace',\r\n templateUrl: './Marketplace.component.html',\r\n styleUrls: ['./Marketplace.component.css']\r\n})\r\nexport class MarketplaceComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

Marketplace

","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-Prospects',\r\n templateUrl: './Prospects.component.html',\r\n styleUrls: ['./Prospects.component.scss']\r\n})\r\nexport class ProspectsComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Name: \r\n Id:\r\n Email:\r\n Telephone:\r\n Registration date:\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Inject, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { UserInfoDTO } from '../../models/dtos.component';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport { Constants } from '../../models/constants.component';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport {CustomFormValidator} from '../../tools/CustomValidator';\r\n\r\n@Component({\r\n selector: 'app-accountConfiguration',\r\n templateUrl: './accountConfiguration.component.html',\r\n styleUrls: ['./accountConfiguration.component.scss']\r\n})\r\nexport class AccountConfigurationComponent implements OnInit {\r\n user: UserInfoDTO = new UserInfoDTO();\r\n constants : Constants = new Constants();\r\n @ViewChild(\"sidenav\") sidenav: MatSidenav;\r\n public loading: boolean = true;\r\n public OldPassword: string = \"\";\r\n public NewPassword: string = \"\";\r\n public RepeatPassword: string = \"\";\r\n initials: string = \"\";\r\n accountForm: FormGroup;\r\n passwordForm: FormGroup;\r\n constructor(public dialog: MatDialog, private service: WlService, public snackbar: MatSnackBar, public navbarBroadcast: BroadcastEmitter, private formBuilder: FormBuilder) {\r\n this.accountForm = this.formBuilder.group({\r\n 'name' : [{value:'',disabled:this.loading},[Validators.required]],\r\n 'username' : ['',[Validators.required]],\r\n 'email' : ['',[Validators.required,Validators.minLength(10),CustomFormValidator.EmailValidator]],\r\n 'language' : ['',[Validators.required]],\r\n });\r\n this.passwordForm = this.formBuilder.group({\r\n 'currentPassword' : ['',[Validators.required]],\r\n 'newPassword' : ['', [Validators.required]],\r\n 'repeatPassword' : ['',[Validators.required]],\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.navbarBroadcast.SendMessage({ text: \"Configuración de cuenta\" });\r\n this.getCustomerInfo();\r\n }\r\n\r\n getCustomerInfo() {\r\n this.service.GetUserInformation().subscribe(\r\n (response:any) => {\r\n this.loading = false;\r\n this.user = response;\r\n this.initials = this.user.Name.split(' ').map(function (e, i) { if (i < 2) { return e.substring(0, 1) } else { return '' } }).join('')\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n )\r\n }\r\n\r\n SaveUserInfo() {\r\n this.accountForm.disable();\r\n this.passwordForm.disable();\r\n this.loading = true;\r\n this.service.SaveUserInfo(this.user).subscribe(\r\n (response:any) => {\r\n this.accountForm.enable();\r\n this.passwordForm.enable();\r\n this.loading = false;\r\n this.user = response;\r\n this.sidenav.close();\r\n this.snackbar.open('Usuario modificado satisfactoriamente', null, {\r\n duration: 2000,\r\n });\r\n },\r\n error => {\r\n this.accountForm.enable();\r\n this.passwordForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Errro modificando usuario' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ChangePassword() {\r\n if (this.NewPassword != this.RepeatPassword)\r\n this.snackbar.open('Las contraseñas no coinciden', null, {\r\n duration: 2000,\r\n });\r\n else if (this.OldPassword == this.NewPassword)\r\n this.snackbar.open('Las contraseña nueva no puede ser la misma', null, {\r\n duration: 2000,\r\n });\r\n else {\r\n this.accountForm.disable();\r\n this.passwordForm.disable();\r\n this.loading = true;\r\n this.service.ChangePassword(this.OldPassword, this.NewPassword).subscribe(\r\n response => {\r\n this.accountForm.enable();\r\n this.passwordForm.enable();\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.snackbar.open('Contraseña cambiada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n\r\n this.accountForm.enable();\r\n this.passwordForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error cambiando contraseña: ' + error.error, null, {\r\n duration: 4000,\r\n });\r\n }\r\n )\r\n }\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'password-edit-dialog',\r\n templateUrl: 'password-edit.html',\r\n styleUrls: ['../../tools/modals/modals.scss']\r\n})\r\nexport class PasswordEditDialog {\r\n constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef, public snackbar: MatSnackBar, private service: WlService) { }\r\n public OldPassword: string = \"\";\r\n public NewPassword: string = \"\";\r\n public RepeatPassword: string = \"\";\r\n public loading: boolean = false;\r\n ChangePassword() {\r\n if (this.NewPassword != this.RepeatPassword)\r\n this.snackbar.open('Las contraseñas no coinciden', null, {\r\n duration: 2000,\r\n });\r\n else if (this.OldPassword == this.NewPassword)\r\n this.snackbar.open('Las contraseña nueva no puede ser la misma', null, {\r\n duration: 2000,\r\n });\r\n else {\r\n this.loading = true;\r\n this.service.ChangePassword(this.OldPassword, this.NewPassword).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.dialogRef.close();\r\n this.snackbar.open('Contraseña cambiada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n console.log(\"error!! 1\", error);\r\n this.loading = false;\r\n this.snackbar.open('Error cambiando contraseña: ' + error.error, null, {\r\n duration: 4000,\r\n });\r\n }\r\n )\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n
\r\n
\r\n
{{ 'ACCOUNT_CONFIGURATION.EDIT_ACCOUNT' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{ 'ACCOUNT_CONFIGURATION.USER_INFORMATION' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{user.Name ? user.Name.length : 0}} / 50\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n \r\n \r\n \r\n done\r\n error\r\n {{user.UserName ? user.UserName.length : 0}} / 50\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n \r\n \r\n \r\n done\r\n error\r\n {{user.Email ? user.Email.length : 0}} / 50\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n \r\n \r\n \r\n {{language.Name}}\r\n \r\n done\r\n error\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{ 'ACCOUNT_CONFIGURATION.CHANGE_PASSWORD' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n {{OldPassword ? OldPassword.length : 0}} / 50\r\n \r\n \r\n \r\n done\r\n error\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n {{NewPassword ? NewPassword.length : 0}} / 50\r\n \r\n \r\n \r\n done\r\n error\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_REQUIRED' | translate}}\r\n {{RepeatPassword ? RepeatPassword.length : 0}} / 50\r\n \r\n

{{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
{{initials}}
\r\n \r\n {{ 'ACCOUNT_CONFIGURATION.NAME' | translate}}: {{user.Name}}\r\n {{ 'ACCOUNT_CONFIGURATION.USER_NAME' | translate}}: {{user.UserName}}\r\n {{ 'ACCOUNT_CONFIGURATION.EMAIL' | translate}}: {{user.Email}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n","
\r\n
\r\n

Cambio de contraseña

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

Active Directory

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

Billing

","\r\nimport {Storage, BundleCost} from './dto/machine-dto';\r\nimport {\r\n TotalDatacenterCost, CloudServerCalculatorIn, ResumenMRC, ResumenCapex, ResumenOpex,\r\n GenericListOption, CloudServerCalculatorOut, MachineLicense, ServerProtection,IselectProperty, CloudserverEmailDTO, BundleDTO, IcurrencyOptions,InternalRole, BundleQuoteDTO, BundleCloudQuoteDto\r\n} from './dto/cloud-server-dto';\r\nimport { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { ConfirmationDialog } from '../../tools/modals/confirmation/modal.component';\r\nimport { sendMailDialog } from '../../tools/modals/sendMail/modal.component';\r\nimport { CloudServerEditValuesComponent } from './modals/edit-values/cloud-server-edit-values.component';\r\nimport { ServerProtectionComponent } from './modals/server-protection/server-protection.component';\r\nimport { SaveBundleQuoteModalComponent } from './modals/save-bundle-quote/saveBundleQuoteModal.component';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-calculator-cloud-server',\r\n templateUrl: './calculator-cloud-server.component.html',\r\n styleUrls: ['./calculator-cloud-server.component.scss']\r\n})\r\n\r\nexport class CalculatorCloudServerComponent implements OnInit {\r\n\r\n @Output() addCloudServerInResumen = new EventEmitter();\r\n @Output() addOrRemoveResumen = new EventEmitter();\r\n @Output() deleteDataCompleteResumen = new EventEmitter();\r\n\r\n public roleActions: any[] = [];\r\n public internalRole: Array = [];\r\n public cloudServerCalcInObj: CloudServerCalculatorIn;\r\n public cloudServerCalcOutObj: CloudServerCalculatorOut = new CloudServerCalculatorOut();\r\n public bundleQuoteDto = new BundleCloudQuoteDto();\r\n public BundleQuote = new BundleQuoteDTO();\r\n public resumenMRC: ResumenMRC = new ResumenMRC();\r\n public resumenOpex: ResumenOpex = new ResumenOpex();\r\n public resumenCapex: ResumenCapex = new ResumenCapex();\r\n public step = 5;\r\n public calculatorFormGroup: FormGroup;\r\n public diskSlider = 100;\r\n public loading: boolean = false;\r\n public isChasisChecked: boolean = false;\r\n public isSophosChecked: boolean = true;\r\n public isDcAlternoChecked: boolean = false;\r\n public count = 1;\r\n public bundleDtoList = new CloudserverEmailDTO();\r\n public dataSendMail: object = {};\r\n sizeMessage = true;\r\n color = '#2581b1';\r\n texColor = '#fff';\r\n colortitle = '#1b5979';\r\n color2 = '#e9e7e7';\r\n texColor2 = '#000';\r\n public currencyOptions: IcurrencyOptions = {\r\n align: 'left',\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: ',',\r\n precision: 0,\r\n prefix: '$ ',\r\n suffix: ' USD',\r\n thousands: '.'\r\n };\r\n public bdList: GenericListOption[] = [];\r\n public ramList: GenericListOption[] = [];\r\n public rdpList: GenericListOption[] = [];\r\n public coreList: GenericListOption[] = [];\r\n public chasisList: GenericListOption[] = [];\r\n public tipoUsoList: GenericListOption[] = [];\r\n public internetList: GenericListOption[] = [];\r\n public gbRecursosList: GenericListOption[] = [];\r\n public osRecursosList: GenericListOption[] = [];\r\n public replicationList: GenericListOption[] = [];\r\n public iopsRecursosList: GenericListOption[] = [];\r\n public periodoContratoList: GenericListOption[] = [];\r\n public serverProtectionList: GenericListOption[] = [];\r\n public resumenCalculatorList: CloudServerCalculatorIn[] = [];\r\n public dataCenterTypeList: GenericListOption[] = [];\r\n public PriceTYPEList = [];\r\n public idBundleQuote: number = null;\r\n\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n private service: WlService,\r\n public snackbar: MatSnackBar,\r\n public dialog: MatDialog\r\n ) {\r\n this.cloudServerCalcInObj = new CloudServerCalculatorIn();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.GetPermission();\r\n this.getGenericOptionsList();\r\n\r\n this.idBundleQuote = this.activatedRoute.snapshot.paramMap.get('idBundleQuote') ?\r\n parseInt(this.activatedRoute.snapshot.paramMap.get('idBundleQuote'), 10) : null;\r\n if (this.idBundleQuote !== null) {\r\n this.getBundleQuoteByID(this.idBundleQuote);\r\n }\r\n this.loadExcelInformation();\r\n this.modalVDI();\r\n this.calculatorFormGroup = this.formBuilder.group({\r\n Uso: ['', Validators.required],\r\n Cores: ['', Validators.required],\r\n Ram: ['', Validators.required],\r\n Gb: ['', Validators.required],\r\n Iops: ['', Validators.required],\r\n Internet: ['', Validators.required],\r\n validateChasis: ['', Validators.required], // Es el parametro AutorizaPresidencia Si o no\r\n OS: ['', Validators.required],\r\n BaseDatos: ['', Validators.required],\r\n Rdp: ['', Validators.required],\r\n Sophos: ['', Validators.required],\r\n DcAlterno: ['', Validators.required],\r\n Agente: ['', Validators.required],\r\n PeriodoContrato: ['', Validators.required],\r\n Datacenter: ['', Validators.required],\r\n CAPEXType: [ '', Validators.required],\r\n OPEXType: [ '', Validators.required]\r\n });\r\n }\r\n GetPermission() {\r\n this.service.GetMenu().subscribe(\r\n (response) => {\r\n this.internalRole = response;\r\n this.roleActions = response.filter(d => d.label === 'Midas');\r\n console.log(\"roleActions\", this.roleActions);\r\n }, (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n GetActions(identifier: number): boolean {\r\n if (this.roleActions.length > 0) {\r\n return this.roleActions.filter(item => item.actions.some(s => s.ID === identifier)).length > 0 ? true : false;\r\n }\r\n }\r\n\r\n onChanges(editMRC: boolean =false): void {\r\n this.loadExcelInformation(editMRC);\r\n }\r\n\r\n DcAlterno(){\r\n if(!this.isDcAlternoChecked){\r\n this.cloudServerCalcOutObj.Agente = 'N/A';\r\n }\r\n this.onChanges();\r\n }\r\n\r\n\r\n compareObjectSelect(data?: IselectProperty) {\r\n return data ? data.Name : undefined;\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.ID === o2.ID;\r\n }\r\n\r\n loadExcelInformation(editMRC: boolean = false ): void {\r\n this.loading = true;\r\n this.setSlideToogleValue();\r\n this.checkSettings();\r\n this.cloudServerCalcOutObj.editMRC = (editMRC) ? true : false;\r\n this.service.CloudServerCalculatorOut(this.cloudServerCalcOutObj).subscribe(\r\n (response: CloudServerCalculatorIn) => {\r\n console.log('responseCloud', response );\r\n this.cloudServerCalcInObj = response;\r\n this.cloudServerCalcInObj.resumenCapex = response.resumenCapex;\r\n this.cloudServerCalcInObj.resumenOpex = response.resumenOpex;\r\n this.cloudServerCalcInObj.resumenMrc = response.resumenMrc;\r\n this.cloudServerCalcInObj.Cost = this.TypeCost(response);\r\n if (editMRC) {\r\n this.cloudServerCalcInObj.Cost.MRC = response.resumenMrc.MrcManual;\r\n } else {\r\n this.cloudServerCalcInObj.Cost.MRC = response.resumenMrc.MrcSugerido;\r\n }\r\n\r\n if (!this.cloudServerCalcInObj.configValidation) {\r\n this.modalLicenceseDB();\r\n }\r\n\r\n this.cloudServerCalcInObj.Cost.DiscountMRC = response.resumenMrc.MrcSugerido;\r\n this.cloudServerCalcInObj.currency = 'USD';\r\n this.cloudServerCalcInObj.objCloudServerOut = response.objCloudServerOut;\r\n this.loading = false;\r\n });\r\n }\r\n\r\n TypeCost(response: CloudServerCalculatorIn): BundleCost {\r\n const cost = new BundleCost();\r\n\r\n if (response.objCloudServerOut.OPEXType === 'Real') {\r\n cost.OPEX = response.resumenOpex.Total;\r\n\r\n } else {\r\n cost._OPEX = response.resumenOpex.Total;\r\n }\r\n\r\n if (response.objCloudServerOut.CAPEXType === 'Real') {\r\n cost.CAPEX = response.resumenCapex.Total;\r\n\r\n } else {\r\n cost._CAPEX = response.resumenCapex.Total;\r\n }\r\n return cost;\r\n }\r\n\r\n getGenericOptionsList(): void {\r\n this.service.GetGenericListOptionsByListID('tipoUsoListCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.tipoUsoList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('coresRecursosCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.coreList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('ramRecursosCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.ramList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('internetRecursosCloud').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.internetList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('gbRecursosCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.gbRecursosList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('iopsRecursosCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.iopsRecursosList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('becauseChasisRecurosCloud').subscribe(\r\n (response:GenericListOption[]) => {\r\n this.chasisList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('osLicenciamientoCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.osRecursosList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('bdLicenciamientoCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.bdList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('rdpLicenciamientoCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.rdpList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('serverProtectionLicenciamientoCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.serverProtectionList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('replicationContiniudadCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.replicationList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('periodo_contratado_cloud_server').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.periodoContratoList = response;\r\n }\r\n );\r\n\r\n this.service.GetGenericListOptionsByListID('datacenter_type').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.dataCenterTypeList = response;\r\n }\r\n );\r\n\r\n this.service.GetGenericListOptionsByListID('PriceTYPE').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.PriceTYPEList = response;\r\n }\r\n );\r\n }\r\n\r\n totaldata(): BundleCost {\r\n const totalCost = new BundleCost();\r\n this.resumenCalculatorList.forEach(element => {\r\n if (element.addResumen) {\r\n totalCost.MRC += element.Cost.MRC;\r\n totalCost.CAPEX += element.Cost.CAPEX;\r\n totalCost.OPEX += element.Cost.OPEX;\r\n totalCost._OPEX += element.Cost._OPEX;\r\n totalCost._CAPEX += element.Cost._CAPEX;\r\n }\r\n });\r\n return totalCost;\r\n }\r\n\r\n\r\n addCloudServerCalculatorOut(): void {\r\n if (this.resumenCalculatorList.length === 0) {\r\n this.count = 1;\r\n }\r\n this.cloudServerCalcInObj.UUID = this.service.generateUUID();\r\n this.cloudServerCalcInObj.Name = 'Servidor' + (this.count++);\r\n this.cloudServerCalcInObj.addResumen = true;\r\n this.cloudServerCalcInObj.Cores = this.cloudServerCalcOutObj.Cores;\r\n this.cloudServerCalcInObj.Ram = this.cloudServerCalcOutObj.Ram;\r\n this.cloudServerCalcInObj.Gb = this.cloudServerCalcOutObj.Gb;\r\n this.cloudServerCalcInObj.objCloudServerOut.BaseDatos = this.cloudServerCalcOutObj.BaseDatos;\r\n this.cloudServerCalcInObj.objCloudServerOut.CAPEXType = this.cloudServerCalcOutObj.CAPEXType;\r\n this.cloudServerCalcInObj.objCloudServerOut.OPEXType = this.cloudServerCalcOutObj.OPEXType;\r\n const cloudServeDataClone = JSON.parse(JSON.stringify(this.cloudServerCalcInObj));\r\n const cloudServeDataClone2 = JSON.parse(JSON.stringify(this.cloudServerCalcInObj));\r\n this.addCloudServerInResumen.emit({ type: 5, data: cloudServeDataClone }); // Agregar clodu servers al Resumen General\r\n this.resumenCalculatorList.push({ ...cloudServeDataClone2 });\r\n }\r\n\r\n TotalResources(): TotalDatacenterCost {\r\n const resources = new TotalDatacenterCost();\r\n this.resumenCalculatorList.forEach(element => {\r\n if (element.addResumen) {\r\n if (element.objCloudServerOut.DcAlterno === 'NO') {\r\n resources.principal.Cost.MRC += element.Cost.MRC;\r\n resources.principal.Cost.CAPEX += element.Cost.CAPEX;\r\n resources.principal.Cost.OPEX += element.Cost.OPEX;\r\n resources.principal.Cost._OPEX += element.Cost._OPEX;\r\n resources.principal.Cost._CAPEX += element.Cost._CAPEX;\r\n if (element.objCloudServerOut.BaseDatos !== 'N/A') {\r\n resources.principal.RAM += element.objCloudServerOut.Ram\r\n resources.principal.Cores += element.objCloudServerOut.Cores\r\n resources.principal.Storage += element.objCloudServerOut.Gb\r\n } else {\r\n resources.principal.RAMDB += element.objCloudServerOut.Ram\r\n resources.principal.CoresDB += element.objCloudServerOut.Cores\r\n resources.principal.StorageDB += element.objCloudServerOut.Gb\r\n }\r\n\r\n } else {\r\n\r\n resources.alternate.Cost.MRC += element.Cost.MRC;\r\n resources.alternate.Cost.CAPEX += element.Cost.CAPEX;\r\n resources.alternate.Cost.OPEX += element.Cost.OPEX;\r\n resources.alternate.Cost._OPEX += element.Cost._OPEX;\r\n resources.alternate.Cost._CAPEX += element.Cost._CAPEX;\r\n\r\n if (element.objCloudServerOut.BaseDatos !== 'N/A') {\r\n resources.alternate.RAM += element.objCloudServerOut.Ram\r\n resources.alternate.Cores += element.objCloudServerOut.Cores\r\n resources.alternate.Storage += element.objCloudServerOut.Gb\r\n } else {\r\n resources.alternate.RAMDB += element.objCloudServerOut.Ram\r\n resources.alternate.CoresDB += element.objCloudServerOut.Cores\r\n resources.alternate.StorageDB += element.objCloudServerOut.Gb\r\n }\r\n }\r\n }\r\n });\r\n\r\n return resources;\r\n }\r\n\r\n deleteServerBySummary(index: any): void {\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Eliminar Servidor',\r\n Message: '¿Está seguro que eliminar este servidor de la cotización?',\r\n Ok: () => {\r\n this.resumenCalculatorList.splice(index, 1);\r\n this.deleteDataCompleteResumen.emit({ data: { ...this.resumenCalculatorList[index] }, type: 5 }); // Metodo para borrar Equipo\r\n }\r\n }\r\n });\r\n }\r\n\r\n setStep(index: number): void {\r\n this.step = index;\r\n }\r\n\r\n nextStep(): void {\r\n this.step++;\r\n }\r\n\r\n prevStep(): void {\r\n this.step--;\r\n }\r\n\r\n snackBarMessage(message: string): void {\r\n this.snackbar.open(message, null, {\r\n duration: 2000,\r\n });\r\n }\r\n\r\n checkSettings() {\r\n if (this.cloudServerCalcOutObj.OS !== 'Windows Server') {\r\n this.cloudServerCalcOutObj.Rdp = 0;\r\n }\r\n if (this.cloudServerCalcOutObj.Uso !== 'Database') {\r\n this.cloudServerCalcOutObj.BaseDatos = 'N/A';\r\n }\r\n }\r\n\r\n setSlideToogleValue() {\r\n if (this.isChasisChecked === false) {\r\n this.cloudServerCalcOutObj.AutorizaPresidencia = 'NO';\r\n } else {\r\n this.cloudServerCalcOutObj.AutorizaPresidencia = 'SI';\r\n }\r\n\r\n if (this.isDcAlternoChecked === false) {\r\n this.cloudServerCalcOutObj.DcAlterno = 'NO';\r\n } else {\r\n this.cloudServerCalcOutObj.DcAlterno = 'SI';\r\n }\r\n }\r\n\r\n serverProtection() {\r\n if (this.isSophosChecked === false) {\r\n const d = this.dialog.open(ServerProtectionComponent, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Server Protection',\r\n Ok: () => {\r\n this.isSophosChecked = false;\r\n this.cloudServerCalcOutObj.Sophos = 'NO';\r\n this.loadExcelInformation();\r\n },\r\n Cancel: () => {\r\n this.isSophosChecked = true;\r\n this.cloudServerCalcOutObj.Sophos = 'SI'\r\n this.loadExcelInformation();\r\n }\r\n }\r\n });\r\n d.afterClosed()\r\n .subscribe(result => {});\r\n\r\n } else {\r\n this.isSophosChecked = true;\r\n this.cloudServerCalcOutObj.Sophos = 'SI';\r\n this.loadExcelInformation();\r\n }\r\n }\r\n\r\n addOrRemoveResumenMethod(data: any) {\r\n data.addResumen = !data.addResumen;\r\n this.addOrRemoveResumen.emit({ type: 5, UUID: data.UUID, status: data.addResumen });\r\n }\r\n\r\n removeCheckInResumen(UUID: string) {\r\n this.resumenCalculatorList = this.resumenCalculatorList.map((dato) => {\r\n if (dato.UUID === UUID) { dato.addResumen = false; }\r\n return dato;\r\n });\r\n }\r\n\r\n sendQuote(): void {\r\n const d = this.dialog.open(sendMailDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Enviar Cotización'\r\n }\r\n });\r\n\r\n d.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.cloudMachineList();\r\n this.dataSendMail = {\r\n Configuration: this.bundleQuoteDto,\r\n Email: result.email,\r\n Name: result.name,\r\n Detail: result.detail\r\n }\r\n\r\n this.service.sendCalculatorCloudServerSendEmail(this.dataSendMail).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.snackbar.open('Correo Enviado Correctamente', null, {\r\n duration: 2000,\r\n });\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Ocurrió un error por favor intentelo nuevamente'+ error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n\r\n }\r\n });\r\n }\r\n\r\n cloudMachineList() {\r\n this.bundleQuoteDto = new BundleCloudQuoteDto();\r\n const totalData = this.totaldata();\r\n const storage = new Storage();\r\n const _machineType = new MachineLicense();\r\n this.resumenCalculatorList.forEach((element) => {\r\n const bundleDto = new BundleDTO();\r\n bundleDto.BundleMachine.MachineLicenses = [];\r\n _machineType.Identifier = element.objCloudServerOut.Uso;\r\n _machineType.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineType);\r\n bundleDto.ID = element.UUID\r\n bundleDto.BundleMachine.Cores.Value = element.objCloudServerOut.Cores;\r\n storage.diskType = element.objCloudServerOut.Iops;\r\n storage.size = element.objCloudServerOut.Gb;\r\n bundleDto.BundleMachine.MachineStorage = [storage];\r\n bundleDto.BundleMachine.Duration = parseInt(element.objCloudServerOut.PeriodoContrato, 10);\r\n bundleDto.BundleMachine.Cores.Value = element.objCloudServerOut.Cores;\r\n bundleDto.BundleMachine.Ram.Value = element.objCloudServerOut.Ram;\r\n bundleDto.BundleMachine.Network.Internet = element.objCloudServerOut.Internet;\r\n bundleDto.BundleMachine.OperativeSystem.Os = element.objCloudServerOut.OS;\r\n bundleDto.BundleMachine.DataBase = element.objCloudServerOut.BaseDatos;\r\n bundleDto.BundleMachine.MachineName = element.Name;\r\n bundleDto.BundleMachine.Cost.CAPEX = element.Cost.CAPEX;\r\n bundleDto.BundleMachine.Cost.OPEX = element.Cost.OPEX;\r\n bundleDto.BundleMachine.Cost._CAPEX = element.Cost._CAPEX;\r\n bundleDto.BundleMachine.Cost._OPEX = element.Cost._OPEX;\r\n bundleDto.BundleMachine.Cost.MRC = element.Cost.MRC;\r\n bundleDto.BundleMachine.Cost.DiscountMRC = element.Cost.MRC;\r\n if (element.objCloudServerOut.Rdp > 0) {\r\n const _machineLicenseRdp = new MachineLicense();\r\n _machineLicenseRdp.Identifier = 'RDP';\r\n _machineLicenseRdp.Quantity = element.objCloudServerOut.Rdp;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseRdp);\r\n }\r\n if (element.objCloudServerOut.BaseDatos !== 'N/A') {\r\n const _machineLicenseDb = new MachineLicense();\r\n _machineLicenseDb.Identifier = 'RDP';\r\n _machineLicenseDb.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseDb);\r\n }\r\n if (element.objCloudServerOut.Agente !== 'N/A') {\r\n const _machineLicenseDb = new MachineLicense();\r\n _machineLicenseDb.Identifier = 'Agente -' + element.objCloudServerOut.Agente;\r\n _machineLicenseDb.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseDb);\r\n }\r\n if (element.objCloudServerOut.Sophos !== 'NO') {\r\n const _machineLicenseDb = new MachineLicense();\r\n _machineLicenseDb.Identifier = 'Sophos -' + element.objCloudServerOut.Sophos;\r\n _machineLicenseDb.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseDb);\r\n }\r\n if (element.objCloudServerOut.DcAlterno !== 'NO') {\r\n const _machineLicenseDcAlterno = new MachineLicense();\r\n _machineLicenseDcAlterno.Identifier = 'D -' + element.objCloudServerOut.DcAlterno;\r\n _machineLicenseDcAlterno.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseDcAlterno);\r\n }\r\n this.bundleQuoteDto.CloudConfiguration.push(bundleDto);\r\n });\r\n this.bundleQuoteDto.TotalBundleCost = totalData;\r\n }\r\n\r\n addDataWithIdQuotation(data: any) {\r\n\r\n this.resumenCalculatorList = data;\r\n }\r\n\r\n ChangeTotalMRC() {\r\n const d = this.dialog.open(CloudServerEditValuesComponent, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Modificar MRC',\r\n value : this.cloudServerCalcInObj.Cost.MRC,\r\n Ok: (response) => {\r\n this.cloudServerCalcOutObj.Cost.MRC = response.value;\r\n this.cloudServerCalcOutObj.editMRC = true;\r\n this.onChanges(true);\r\n }\r\n }\r\n });\r\n\r\n d.afterClosed().subscribe(result => {\r\n if (result) {\r\n return;\r\n }\r\n });\r\n }\r\n\r\n createNewQuote() {\r\n const d = this.dialog.open(SaveBundleQuoteModalComponent, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Guardar Cotización',\r\n CustomerName : this.BundleQuote.CustomerName\r\n }\r\n });\r\n d.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.SaveQuoteObject(result);\r\n }\r\n });\r\n }\r\n\r\n updateBundleQuote() {\r\n if ( this.BundleQuote.ID !== this.idBundleQuote ) {\r\n this.BundleQuote.ParentID = this.idBundleQuote ;\r\n } else {\r\n this.BundleQuote.ParentID = null;\r\n }\r\n }\r\n\r\n\r\n SaveQuoteObject( value: any) {\r\n this.BundleQuote.Name = value.Name;\r\n this.BundleQuote.CustomerName = (typeof value.Customer === 'object') ? value.Customer.Name : value.Customer;\r\n this.BundleQuote.CustomerID = (typeof value.Customer === 'object') ? value.Customer.ID : null;\r\n this.BundleQuote.Description = value.Description;\r\n this.BundleQuote.ID = null;\r\n this.BundleQuote.CloudConfiguration = this.resumenCalculatorList;\r\n this.service.SaveBundleQuote(this.BundleQuote).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.snackbar.open('Cotización Guardada Correctamente', null, {\r\n duration: 2000,\r\n });\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Ocurrió un error por favor intentelo nuevamente', null, {\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n viewQuotes() {\r\n if (this.totaldata().MRC > 0) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: '⚠ Advertencia',\r\n Message: 'Los cambios en la cotización que no hayan sido guardados se perderán, ¿Está seguro?',\r\n Ok: () => this.router.navigateByUrl('/home/(main:viewQuotes)')\r\n },\r\n disableClose: true\r\n });\r\n } else {\r\n this.router.navigateByUrl('/home/(main:viewQuotes)');\r\n }\r\n }\r\n\r\n getBundleQuoteByID(idBundleQuote: number) {\r\n this.loading = true;\r\n this.service.getBundleQuoteByID(idBundleQuote).subscribe((dataBundleQuote: BundleQuoteDTO) => {\r\n this.BundleQuote = dataBundleQuote;\r\n this.resumenCalculatorList = this.BundleQuote.CloudConfiguration;\r\n this.loading = false;\r\n },\r\n ( error: { error: string; }) => {\r\n this.snackbar.open('Error al cargar cotización, por favor intente nuevamente.', error.error, {\r\n duration: 3000\r\n });\r\n }\r\n );\r\n }\r\n\r\n typeServerChange() {\r\n if (this.cloudServerCalcOutObj.Uso === 'Database' || this.cloudServerCalcOutObj.Uso === 'SAP') {\r\n this.iopsRecursosList = this.iopsRecursosList.filter(x => parseInt(x.Name) == 5000 || parseInt(x.Name) === 8000 || parseInt(x.Name) === 10000 );\r\n this.cloudServerCalcOutObj.Iops = 5000;\r\n this.onChanges();\r\n} else {\r\n this.service.GetGenericListOptionsByListID('iopsRecursosCloudServer').subscribe(\r\n (response) => {\r\n this.iopsRecursosList = response;\r\n this.cloudServerCalcOutObj.Iops = 1000;\r\n this.onChanges();\r\n }\r\n );\r\n }\r\n}\r\n\r\noperativeSystem() {\r\n if (this.cloudServerCalcOutObj.OS === 'Windows Server') {\r\n this.cloudServerCalcOutObj.BaseDatos = 'N/A';\r\n this.service.GetGenericListOptionsByListID('bdLicenciamientoCloudServer')\r\n .subscribe(\r\n (response) => {\r\n this.bdList = response;\r\n }\r\n );\r\n\r\n } else {\r\n this.cloudServerCalcOutObj.BaseDatos = 'N/A';\r\n this.bdList = this.bdList.filter(x => x.ParentID === null );\r\n }\r\n}\r\n\r\n\r\n\r\nstorageChange() {\r\n if (this.cloudServerCalcOutObj.Gb > 4000 && this.sizeMessage) {\r\n this.sizeMessage = false;\r\n this.snackbar.open('Recuerda que una MV despues de 4Tb no tiene backup, debes agregar un servicio IFX CLOUD Backup', null, {\r\n duration: 5500,\r\n });\r\n }\r\n}\r\n\r\n\r\nmodalVDI() {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: '⚠ Advertencia',\r\n Message: 'Para ambientes de acceso remoto o VDI por favor contactar al equipo de producto.',\r\n Ok: () => console.log('ok')\r\n },\r\n disableClose: true\r\n });\r\n}\r\n\r\n\r\nmodalLicenceseDB(){\r\n\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: '⚠ Advertencia',\r\n Message: 'Configuración no valida, Limitación de capacidad del motor de DB.',\r\n Ok: () => console.log('ok')\r\n },\r\n disableClose: true\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Infraestructura\r\n
\r\n
\r\n
\r\n
\r\n
Tipo
\r\n
\r\n \r\n Uso\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Datacenter
\r\n
\r\n\r\n
\r\n
\r\n Principal\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Alterno\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Definir recursos de cómputo
\r\n
\r\n
\r\n \r\n Cores\r\n \r\n \r\n {{item.Name }}\r\n \r\n \r\n \r\n Ram\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n Internet\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
Almacenamiento
\r\n
\r\n
\r\n \r\n Gb\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n Iops\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total MRC
\r\n

{{currencyOptions.prefix}}{{ cloudServerCalcInObj.Cost.MRC | number : '1.2-2' }} {{currencyOptions.suffix}}

\r\n

N/A

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Licenciamientos y Continuidad\r\n
\r\n
\r\n
\r\n
\r\n
Definir Licenciamientos
\r\n
\r\n
\r\n \r\n OS\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n BaseDatos\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n
\r\n
\r\n \r\n Rdp\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Server Protection\r\n
\r\n
\r\n
\r\n No\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Si\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Definir Continuidad a nivel de infraestructura
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Replicación\r\n
\r\n
\r\n
\r\n No\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Si\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Agente\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Total MRC
\r\n

{{currencyOptions.prefix}} {{ cloudServerCalcInObj.Cost.MRC | number : '1.2-2' }} {{currencyOptions.suffix}}

\r\n

N/A

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Resumen Servidor Actual\r\n \r\n Periodo de Contratacion\r\n \r\n \r\n {{item.Name }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Indicadores \r\n MRC Sugerido\r\n MRC Manual \r\n ROI\r\n {{ cloudServerCalcInObj.resumenIndicadores?.RoiPorContrato}}\r\n {{ cloudServerCalcInObj.resumenIndicadores?.RoiMrcIndicadores }}\r\n Margen\r\n {{ cloudServerCalcInObj.resumenIndicadores?.MargenPorContrato | percent:'1.1-1'}}\r\n Configuración invalida\r\n {{ cloudServerCalcInObj.resumenIndicadores?.MargenIndicadores | percent:'1.1-1'}} \r\n Configuración invalida\r\n\r\n Analisis Financiero\r\n Capex Real\r\n USD $ {{ cloudServerCalcInObj.resumenCapex.Total }}\r\n Opex real\r\n USD $ {{ cloudServerCalcInObj.resumenOpex.Total }}\r\n MRC Sugerido \r\n USD $ {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.MrcSugerido | number : '1.2-2' ) : 'N/A' }}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
Tipo
\r\n
\r\n \r\n CAPEX\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n \r\n OPEX\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
MRC MANUAL : {{currencyOptions.prefix}} {{ cloudServerCalcInObj.Cost.MRC }} {{currencyOptions.suffix}} edit
\r\n
Error de licencia de base de datos.
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Resumen
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n
CaracterísticaCapex DistribuidoPorcentaje de Distribucion
\r\n Total\r\n \r\n USD $ {{ cloudServerCalcInObj.resumenCapex.Total | number : '1.2-2'}}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeTotal | percent:'1.1-1'}}\r\n
Procesamiento \r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Procesamiento | number : '1.2-2'}}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeProcesamiento | percent:'1.1-1'}}\r\n
Ram\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Ram | number : '1.2-2' }}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeRam | percent:'1.1-1'}}\r\n
Storage\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Storage | number : '1.2-2' }}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeStorage | percent:'1.1-1'}}\r\n
Chasis\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Chasis }}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeChasis | percent:'1.1-1'}}\r\n
Server Protection\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.ServerProtection | number : '1.2-2'}}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeServerProtection | percent:'1.1-1'}}\r\n
Watcher\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Watcher }}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeWatcher | percent:'1.1-1'}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
CaracterísticaOpex Distribuido Porcentaje de Distribucion
\r\n Total\r\n \r\n USD $ {{ cloudServerCalcInObj.resumenOpex.Total }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeTotal | percent:'1.1-1' }}\r\n
Licenciamiento VMware\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.LicenciamientoVware }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoVware | percent:'1.1-1' }}\r\n
Licenciamiento RDP\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.LicenciamientoRdp }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoRdp | percent:'1.1-1'}}\r\n
Licenciamiento Backup\r\n USD $ {{ cloudServerCalcInObj.resumenOpex.LicenciamientoBackup }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoBackup | percent:'1.1-1'}}\r\n
OPEX IP\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.OpexIp }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeOpexIp | percent:'1.1-1'}}\r\n
Licenciamiento Bases de Datos\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.LicenciamientoBD }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoBD | percent:'1.1-1' }}\r\n
Licenciamiento Sistema Operativo\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.LicenciamientoSO }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoSO | percent:'1.1-1' }}\r\n
Replicación\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.Replicacion }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeReplicacion | percent:'1.1-1' }}\r\n
Watcher\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.Watcher }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeWatcher | percent:'1.1-1' }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
Característica/VersiónMRC DistribuidoPorcentaje de Distribucion
\r\n Total\r\n \r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.MrcSugerido }}\r\n \r\n {{ cloudServerCalcInObj.resumenMrc?.PorcentajeMrcSugerido | percent:'1.1-1' }}\r\n
Cores Unidad \r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.CoresUnidad }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeCoresUnidad | percent:'1.1-1') : 'N/A'}}\r\n
Ram\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.MemoriaRam}}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeMemoriaRam | percent:'1.1-1') : 'N/A' }}\r\n
Storage\r\n USD $ {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.StorageTb) :''}}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeMemoriaRam | percent:'1.1-1') : 'N/A'}}\r\n
IOPS\r\n USD $ {{ cloudServerCalcInObj.resumenMrc.Iops }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc.PorcentajeIops | percent:'1.1-1') : 'N/A'}}\r\n
Base de Datos SQL Enterprise\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.BDSqlEnterprice }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeBDSqlEnterprice | percent:'1.1-1') : 'N/A'}}\r\n
Base de Datos SQL Standard \r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.BDSqlStandard }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeBDSqlStandard | percent:'1.1-1') : 'N/A'}}\r\n
Base de Datos SQL Web\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.BDSqlWeb }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeBDSqlWeb | percent:'1.1-1'):'N/A'}}\r\n
Windows Standard X MV\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.WindowsStandard }}\r\n \r\n {{ cloudServerCalcInObj.resumenMrc?.PorcentajeWindowsStandard | percent:'1.1-1'}}\r\n
RDP\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Rdp }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeRdp | percent:'1.1-1') : 'N/A'}}\r\n
Linux Suse Enterprise\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.PorcentajeLcSuseLinuxEnterprise }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeLcSuseLinuxEnterprise | percent:'1.1-1') :'N/A'}}\r\n
Linux Suse Enterprise SAP\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.LcSuseLinuxEnterpriseSap }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeLcSuseLinuxEnterpriseSap | percent:'1.1-1') : 'N/A' }}\r\n
Linux Red Hat Enterprise\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.LcRedHatSapEnterprise }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeLcRedHatSapEnterprise | percent:'1.1-1') :'N/A'}}\r\n
Linux Red Hat SAP\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.PorcentajeLinuxRedHatSap }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeLinuxRedHatSap | percent:'1.1-1') :'N/A'}}\r\n
Doubletake\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Doubletake }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeDoubletake | percent:'1.1-1') :'N/A'}}\r\n
Zerto\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Zerto }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? ( cloudServerCalcInObj.resumenMrc?.PorcentajeZerto | percent:'1.1-1') :'N/A'}}\r\n
Backup\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.BackupServidor }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ?( cloudServerCalcInObj.resumenMrc?.PorcentajeBackupServidor | percent:'1.1-1'):'N/A'}}\r\n
Sophos\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Sophos }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ?( cloudServerCalcInObj.resumenMrc?.PorcentajeSophos | percent:'1.1-1') :'N/A'}}\r\n
Watcher\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Watcher }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ?(cloudServerCalcInObj.resumenMrc?.PorcentajeWatcher | percent:'1.1-1'): 'N/A'}}\r\n
IP\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Ip }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeIp | percent:'1.1-1') :'N/A' }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Total OPEX {{currencyOptions.suffix}}
\r\n

${{ totaldata().OPEX | number : '1.2-2' }}

\r\n
\r\n
\r\n
Total CAPEX {{currencyOptions.suffix}}
\r\n

${{ totaldata().CAPEX | number : '1.2-2' }}

\r\n
\r\n
\r\n
Total MRC
\r\n

{{currencyOptions.prefix}} {{ totaldata().MRC | number : '1.2-2' }} {{currencyOptions.suffix}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Analisís\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Recursos\r\n \r\n \r\n \r\n \r\n DC PRINCIPAL\r\n DC ALTERNO \r\n \r\n \r\n RECURSOS\r\n DB \r\n NO DB \r\n DB \r\n NO DB \r\n TOTAL DB \r\n TOTAL NO DB \r\n \r\n CORES\r\n \r\n \r\n {{TotalResources().principal.Cores | number}}\r\n \r\n \r\n {{TotalResources().principal.CoresDB | number}}\r\n \r\n \r\n {{TotalResources().alternate.Cores | number}}\r\n \r\n \r\n {{TotalResources().alternate.CoresDB | number}}\r\n \r\n \r\n {{TotalResources().principal.Cores + TotalResources().alternate.Cores | number }}\r\n \r\n \r\n {{TotalResources().principal.CoresDB + TotalResources().alternate.CoresDB | number }}\r\n \r\n \r\n RAM\r\n \r\n \r\n {{TotalResources().principal.RAM | number}}\r\n \r\n \r\n {{TotalResources().principal.RAMDB | number}}\r\n \r\n \r\n {{TotalResources().alternate.RAM | number}}\r\n \r\n \r\n {{TotalResources().alternate.RAMDB | number}}\r\n \r\n \r\n {{TotalResources().principal.RAM + TotalResources().alternate.RAM }}\r\n \r\n \r\n {{TotalResources().principal.RAMDB + TotalResources().alternate.RAMDB | number }}\r\n \r\n \r\n STORAGE\r\n \r\n \r\n {{TotalResources().principal.Storage | number}}\r\n \r\n \r\n {{TotalResources().principal.StorageDB | number}}\r\n \r\n \r\n {{TotalResources().alternate.Storage | number}}\r\n \r\n \r\n {{TotalResources().alternate.StorageDB | number}}\r\n \r\n \r\n {{TotalResources().principal.Storage + TotalResources().alternate.Storage | number }}\r\n \r\n \r\n {{TotalResources().principal.StorageDB + TotalResources().alternate.StorageDB | number }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Financieros\r\n \r\n \r\n \r\n \r\n CAPEX REAL {{currencyOptions.suffix}} \r\n CAPEX HUNDIDO {{currencyOptions.suffix}}\r\n OPEX REAL {{currencyOptions.suffix}}\r\n OPEX HUNDIDO {{currencyOptions.suffix}}\r\n MRC SUGERIDO {{currencyOptions.suffix}} \r\n \r\n DC PRINCIPAL\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.CAPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost._CAPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.OPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost._OPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.MRC | number : '1.2-2'}}\r\n \r\n \r\n DC ALTERNO\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost.CAPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost._CAPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost.OPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost._OPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost.MRC | number : '1.2-2'}}\r\n \r\n \r\n TOTALES\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.CAPEX + TotalResources().alternate.Cost.CAPEX | number : '1.2-2' }}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost._CAPEX + TotalResources().alternate.Cost._CAPEX | number : '1.2-2' }}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.OPEX + TotalResources().alternate.Cost.OPEX | number : '1.2-2' }}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost._OPEX + TotalResources().alternate.Cost._OPEX | number : '1.2-2' }}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.MRC + TotalResources().alternate.Cost.MRC | number : '1.2-2' }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Resumen de la cotización\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{ resumenMRCItem.Name}} - MRC: USD\r\n ${{ resumenMRCItem.Cost.MRC}} Cores: {{resumenMRCItem.Cores}} -\r\n RAM: {{resumenMRCItem.Ram}} - GB : {{resumenMRCItem.Gb}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n

\r\n \r\n Cores Unidad: {{resumenMRCItem.Cores}}\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.CoresUnidad | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Memoria RAM: {{resumenMRCItem.Ram}}\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.MemoriaRam | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Storage: {{resumenMRCItem.Gb}}\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.StorageTb | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n IOPS:\r\n \r\n \r\n {{ resumenMRCItem.resumenMrc?.Iops }}\r\n \r\n

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

\r\n \r\n Base de Datos SQL Enterprise:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.BDSqlEnterprice | number : '1.2-2'}}\r\n \r\n

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

\r\n \r\n Base de Datos BDSqlWeb:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.BDSqlWeb | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Sistema Operativo Windows Standard:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.WindowsStandard | number : '1.2-2'}}\r\n \r\n

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

\r\n \r\n Sistema Operativo Linux Free:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LcSuseLinuxEnterprise }}\r\n \r\n

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

\r\n \r\n Sistema Operativo Suse Linux Enterprise:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LcSuseLinuxEnterprise | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Sistema Operativo Suse Linux Enterprise SAP:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LcSuseLinuxEnterpriseSap | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Sistema Operativo Red Hat Linux Enterprise SAP:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LinuxRedHatSap }}\r\n \r\n

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

\r\n \r\n RDP:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Rdp }}\r\n \r\n

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

\r\n \r\n Licenciamiento Linux:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LcRedHatSapEnterprise }}\r\n \r\n

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

\r\n \r\n Agente:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Doubletake }}\r\n \r\n

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

\r\n \r\n Zerto:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Zerto }}\r\n \r\n

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

\r\n \r\n Backup:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.BackupServidor }}\r\n \r\n

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

\r\n \r\n Sophos:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Sophos }}\r\n \r\n

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

\r\n \r\n Watcher:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Watcher }}\r\n \r\n

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

\r\n \r\n IP:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Ip }}\r\n \r\n

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

\r\n \r\n Total\r\n \r\n \r\n \r\n $ {{ cloudServerCalcInObj.Cost.MRC }}\r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n shopping_cart\r\n

Tu lista de cloud server esta vacia

\r\n

Haz click en agregar cotizacion

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { BundleCost, Machine } from './machine-dto';\r\nexport interface IselectProperty {\r\n Name: string;\r\n ID: number;\r\n Value?: string;\r\n Identifier?: string;\r\n}\r\n\r\n\r\nexport class CloudServerCalculatorOut {\r\n public Uso: string;\r\n public Cores: number;\r\n public Ram: number;\r\n public Gb: number;\r\n public Iops: number;\r\n public Internet: number;\r\n public AutorizaPresidencia: string;\r\n public OS: string;\r\n public BaseDatos: string;\r\n public Rdp: number;\r\n public Sophos: string;\r\n public DcAlterno: string;\r\n public Agente: string;\r\n public PeriodoContrato: string;\r\n public OPEXType: string;\r\n public CAPEXType: string;\r\n public Cost: BundleCost;\r\n public editMRC: boolean;\r\n constructor() {\r\n this.Uso = 'General';\r\n this.Cores = 2;\r\n this.Ram = 2;\r\n this.Gb = 100;\r\n this.Iops = 1000;\r\n this.Internet = 5;\r\n this.AutorizaPresidencia = 'NO';\r\n this.OS = 'Windows Server';\r\n this.BaseDatos = 'N/A';\r\n this.Rdp = 0;\r\n this.Sophos = 'SI';\r\n this.DcAlterno = 'Principal';\r\n this.Agente = 'N/A';\r\n this.PeriodoContrato = '12';\r\n this.OPEXType = 'Real';\r\n this.CAPEXType = 'Real';\r\n this.Cost = new BundleCost();\r\n this.editMRC = false;\r\n }\r\n}\r\n\r\nexport class ResumenMRC {\r\n public CoresUnidad: number;\r\n public MemoriaRam: number;\r\n public StorageTb: number;\r\n public Iops: number;\r\n public BDSqlEnterprice: number;\r\n public BDSqlStandard: number;\r\n public BDSqlWeb: number;\r\n public WindowsStandard: number;\r\n public Rdp: number;\r\n public LcSuseLinuxEnterprise: number;\r\n public LcSuseLinuxEnterpriseSap: number;\r\n public LcRedHatSapEnterprise: number;\r\n public LinuxRedHatSap: number;\r\n public Doubletake: number;\r\n public Zerto: number;\r\n public BackupServidor: number;\r\n public Sophos: number;\r\n public Watcher: number;\r\n public Ip: number;\r\n public MrcSugerido: number;\r\n public MrcManual: number;\r\n public Total: number;\r\n public PorcentajeCoresUnidad: number;\r\n public PorcentajeMemoriaRam: number;\r\n public PorcentajeStorageTb: number;\r\n public PorcentajeIops: number;\r\n public PorcentajeBDSqlEnterprice: number;\r\n public PorcentajeBDSqlStandard: number;\r\n public PorcentajeBDSqlWeb: number;\r\n public PorcentajeWindowsStandard: number;\r\n public PorcentajeRdp: number;\r\n public PorcentajeLcSuseLinuxEnterprise: number;\r\n public PorcentajeLcSuseLinuxEnterpriseSap: number;\r\n public PorcentajeLcRedHatSapEnterprise: number;\r\n public PorcentajeLinuxRedHatSap: number;\r\n public PorcentajeDoubletake: number;\r\n public PorcentajeZerto: number;\r\n public PorcentajeBackupServidor: number;\r\n public PorcentajeSophos: number;\r\n public PorcentajeWatcher: number;\r\n public PorcentajeIp: number;\r\n public PorcentajeMrcSugerido: number;\r\n public PorcentajeTotal: number;\r\n constructor() {\r\n this.CoresUnidad = 0;\r\n this.MemoriaRam = 0;\r\n this.StorageTb = 0;\r\n this.Iops = 0;\r\n this.BDSqlEnterprice = 0;\r\n this.BDSqlStandard = 0;\r\n this.BDSqlWeb = 0;\r\n this.WindowsStandard = 0;\r\n this.Rdp = 0;\r\n this.LcSuseLinuxEnterprise = 0;\r\n this.LcSuseLinuxEnterpriseSap = 0;\r\n this.LcRedHatSapEnterprise = 0;\r\n this.LinuxRedHatSap = 0;\r\n this.Doubletake = 0;\r\n this.Zerto = 0;\r\n this.BackupServidor = 0;\r\n this.Sophos = 0;\r\n this.Watcher = 0;\r\n this.Ip = 0;\r\n this.MrcSugerido = 0;\r\n this.Total = 0;\r\n this.PorcentajeCoresUnidad = 0;\r\n this.PorcentajeMemoriaRam = 0;\r\n this.PorcentajeStorageTb = 0;\r\n this.PorcentajeIops = 0;\r\n this.PorcentajeBDSqlEnterprice = 0;\r\n this.PorcentajeBDSqlStandard = 0;\r\n this.PorcentajeBDSqlWeb = 0;\r\n this.PorcentajeWindowsStandard = 0;\r\n this.PorcentajeRdp = 0;\r\n this.PorcentajeLcSuseLinuxEnterprise = 0;\r\n this.PorcentajeLcSuseLinuxEnterpriseSap = 0;\r\n this.PorcentajeLcRedHatSapEnterprise = 0;\r\n this.PorcentajeLinuxRedHatSap = 0;\r\n this.PorcentajeDoubletake = 0;\r\n this.PorcentajeZerto = 0;\r\n this.PorcentajeBackupServidor = 0;\r\n this.PorcentajeSophos = 0;\r\n this.PorcentajeWatcher = 0;\r\n this.PorcentajeIp = 0;\r\n this.PorcentajeMrcSugerido = 0;\r\n this.PorcentajeTotal = 0;\r\n }\r\n}\r\n\r\nexport class ResumenCapex {\r\n public Procesamiento: number;\r\n public Ram: number;\r\n public Storage: number;\r\n public Chasis: number;\r\n public ServerProtection: number;\r\n public Watcher: number;\r\n public Total: number;\r\n public PorcentajeProcesamiento: number;\r\n public PorcentajeRam: number;\r\n public PorcentajeStorage: number;\r\n public PorcentajeChasis: number;\r\n public PorcentajeServerProtection: number;\r\n public PorcentajeWatcher: number;\r\n public PorcentajeTotal: number;\r\n constructor() {\r\n this.Procesamiento = 0;\r\n this.Ram = 0;\r\n this.Storage = 0;\r\n this.Chasis = 0;\r\n this.ServerProtection = 0;\r\n this.Watcher = 0;\r\n this.Total = 0;\r\n this.PorcentajeProcesamiento = 0;\r\n this.PorcentajeRam = 0;\r\n this.PorcentajeStorage = 0;\r\n this.PorcentajeChasis = 0;\r\n this.PorcentajeServerProtection = 0;\r\n this.PorcentajeWatcher = 0;\r\n this.PorcentajeTotal = 0;\r\n }\r\n}\r\n\r\nexport class ResumenOpex {\r\n public LicenciamientoVware: number;\r\n public LicenciamientoRdp: number;\r\n public LicenciamientoBackup: number;\r\n public OpexIp: number;\r\n public LicenciamientoBD: number;\r\n public LicenciamientoSO: number;\r\n public Replicacion: number;\r\n public Watcher: number;\r\n public Total: number;\r\n public PorcentajeLicenciamientoVware: number;\r\n public PorcentajeLicenciamientoRdp: number;\r\n public PorcentajeLicenciamientoBackup: number;\r\n public PorcentajeOpexIp: number;\r\n public PorcentajeLicenciamientoBD: number;\r\n public PorcentajeLicenciamientoSO: number;\r\n public PorcentajeReplicacion: number;\r\n public PorcentajeWatcher: number;\r\n public PorcentajeTotal: number;\r\n constructor() {\r\n this.LicenciamientoVware = 0;\r\n this.LicenciamientoRdp = 0;\r\n this.LicenciamientoBackup = 0;\r\n this.OpexIp = 0;\r\n this.LicenciamientoBD = 0;\r\n this.LicenciamientoSO = 0;\r\n this.Replicacion = 0;\r\n this.Watcher = 0;\r\n this.Total = 0;\r\n this.PorcentajeLicenciamientoVware = 0;\r\n this.PorcentajeLicenciamientoRdp = 0;\r\n this.PorcentajeLicenciamientoBackup = 0;\r\n this.PorcentajeOpexIp = 0;\r\n this.PorcentajeLicenciamientoBD = 0;\r\n this.PorcentajeLicenciamientoSO = 0;\r\n this.PorcentajeReplicacion = 0;\r\n this.PorcentajeWatcher = 0;\r\n this.PorcentajeTotal = 0;\r\n }\r\n}\r\n\r\nexport class ResumenIndicadores {\r\n public RoiPorContrato: number;\r\n public MargenPorContrato: number;\r\n public RoiMrcIndicadores: number;\r\n public MargenIndicadores: number;\r\n constructor() {\r\n this.RoiPorContrato = 0;\r\n this.MargenPorContrato = 0;\r\n this.RoiMrcIndicadores = 0;\r\n this.MargenIndicadores = 0;\r\n }\r\n}\r\n\r\nexport class CloudServerCalculatorIn {\r\n public Name: string;\r\n public Cores: number;\r\n public Ram: number;\r\n public Gb: number;\r\n public resumenMrc: ResumenMRC;\r\n public resumenCapex: ResumenCapex;\r\n public resumenOpex: ResumenOpex;\r\n public resumenIndicadores: ResumenIndicadores;\r\n public addResumen: boolean;\r\n public UUID: string;\r\n public Cost: BundleCost;\r\n public currency?: string;\r\n public objCloudServerOut: CloudServerCalculatorOut;\r\n public configValidation: boolean;\r\n constructor() {\r\n this.Name = '' ;\r\n this.resumenMrc = null;\r\n this.resumenCapex = null;\r\n this.resumenOpex = null;\r\n this.resumenIndicadores = null;\r\n this.Cost = new BundleCost();\r\n this.objCloudServerOut = new CloudServerCalculatorOut();\r\n this.currency = 'USD';\r\n this.configValidation = true;\r\n }\r\n}\r\n\r\nexport class GenericListOption {\r\n public ID: number;\r\n public Name: string;\r\n public Identifier: string;\r\n public Value: string;\r\n // public GenericListsID: number;\r\n // public NetSuiteID: string;\r\n public ParentID: number;\r\n // public Active: boolean;\r\n consturctor() {\r\n this.ID = 0;\r\n this.Name = '';\r\n this.Identifier = '';\r\n this.Value = '';\r\n // this.GenericListsID = 0;\r\n // this.NetSuiteID = '';\r\n this.ParentID = null;\r\n // this.Active = false\r\n }\r\n}\r\n\r\nexport class MachineLicense {\r\n public Identifier: string;\r\n public Quantity: number;\r\n public LicenseType: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Identifier = 'WINRDP';\r\n this.Quantity = 0;\r\n this.LicenseType = 0;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class Ha {\r\n public availabilityType: number;\r\n public replicationServer: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.availabilityType = 0;\r\n this.replicationServer = null;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class Hypervisor {\r\n public plataform: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.plataform = 1;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class Cores {\r\n public Value: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Value = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class Ram {\r\n public Value: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Value = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class DataBase {\r\n public Db: number;\r\n public Name: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Cost = new BundleCost();\r\n this.Name = '';\r\n }\r\n}\r\n\r\nexport class Networking {\r\n public localNetworkType: number;\r\n public Internet: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.localNetworkType = 0;\r\n this.Internet = 5;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class OperativeSystem {\r\n public Os: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Cost = new BundleCost();\r\n this.Os = '';\r\n }\r\n}\r\n\r\nexport class ServerProtection {\r\n public Active: boolean;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Active = true;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class MachineService {\r\n public LicenseName: string;\r\n public LicenseType: string;\r\n public Quantity: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.LicenseName = '';\r\n this.LicenseType = '2';\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class MachineServerDTO {\r\n public ID: string;\r\n public Duration: number;\r\n public Cores: Cores;\r\n public Ram: Ram;\r\n public Hypervisor: Hypervisor;\r\n public Availability: Ha;\r\n public Network: Networking;\r\n public MachineStorage: [Storage];\r\n public OperativeSystem: OperativeSystem;\r\n public DataBase: any;\r\n public MachineName: string;\r\n public RemoteAccess: any;\r\n public PrivateIp: string;\r\n public MacAddress: string;\r\n public MachineLicenses: Array;\r\n public MachineServices: Array;\r\n public Monitoring: BundleCost;\r\n public ServerProtection: ServerProtection;\r\n public Cost: BundleCost;\r\n public Vcenter: string;\r\n public ServiceID: string;\r\n constructor() {\r\n this.ID = null;\r\n this.Duration = null;\r\n this.Cores = new Cores();\r\n this.Ram = new Ram();\r\n this.Hypervisor = new Hypervisor();\r\n this.Availability = new Ha();\r\n this.Network = new Networking();\r\n this.MachineStorage = [new Storage()];\r\n this.OperativeSystem = new OperativeSystem();\r\n this.DataBase = new DataBase();\r\n this.MachineName = '';\r\n this.RemoteAccess = '';\r\n this.MacAddress = null;\r\n this.MachineLicenses = [new MachineLicense()];\r\n this.MachineServices = [new MachineService()];\r\n this.Monitoring = new BundleCost();\r\n this.ServerProtection = new ServerProtection();\r\n this.Cost = new BundleCost();\r\n this.Vcenter = null;\r\n this.ServiceID = null;\r\n }\r\n}\r\n\r\n\r\nexport class TotalDatacenterCost {\r\n principal: TotalResources;\r\n alternate: TotalResources;\r\n constructor() {\r\n this.principal = new TotalResources();\r\n this.alternate = new TotalResources();\r\n }\r\n\r\n}\r\n\r\n\r\nexport class TotalResources {\r\n dataCenterType: string;\r\n Cores: number;\r\n RAM: number;\r\n Storage: number;\r\n DB: number\r\n CoresDB: number;\r\n RAMDB: number;\r\n StorageDB: number;\r\n Cost: BundleCost;\r\n constructor() {\r\n this.dataCenterType = null;\r\n this.Cores = 0;\r\n this.RAM = 0;\r\n this.Storage = 0;\r\n this.DB = 0;\r\n this.CoresDB = 0;\r\n this.RAMDB = 0;\r\n this.StorageDB = 0;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\n\r\n\r\nexport class BundleDTO {\r\n ID: string;\r\n BundleMachine: Machine;\r\n BundleServices: Array;\r\n BundleLicenses: Array;\r\n BundleCost: any;\r\n constructor() {\r\n this.ID = '';\r\n this.BundleMachine = new Machine();\r\n this.BundleServices = null;\r\n this.BundleLicenses = null;\r\n this.BundleCost = {};\r\n }\r\n}\r\n\r\n\r\nexport class CloudserverEmailDTO{\r\n CloudConfiguration: Array;\r\n contructor() {\r\n this.CloudConfiguration = new Array();\r\n }\r\n}\r\n\r\n\r\nexport interface IcurrencyOptions {\r\n align: string;\r\n allowNegative: boolean;\r\n allowZero: boolean;\r\n decimal: string;\r\n precision: number;\r\n prefix: string;\r\n suffix: string;\r\n thousands: string;\r\n}\r\n\r\n\r\nexport class InternalRole {\r\n public ID: string;\r\n public Name: string;\r\n\r\n constructor() {\r\n this.ID = \"\";\r\n this.Name = \"\";\r\n }\r\n}\r\n\r\n\r\nexport class BundleQuoteDTO {\r\n ID: number;\r\n Name: string;\r\n ParentID: number;\r\n CustomerName: string;\r\n CustomerID: number;\r\n Description: string;\r\n CloudConfiguration: Array;\r\n Status: boolean;\r\n Date: Date;\r\n PlanDiscountCount: number;\r\n Viewers: Array;\r\n Owner: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.ParentID = null;\r\n this.Name = '';\r\n this.CustomerID = null;\r\n this.CustomerName = '';\r\n this.Description = '';\r\n this.CloudConfiguration = new Array();\r\n this.Status = true;\r\n this.Date = new Date();\r\n this.PlanDiscountCount = 0;\r\n this.Viewers = new Array();\r\n }\r\n}\r\n\r\nexport class BundleCloudQuoteDto {\r\n CloudConfiguration: Array;\r\n TotalBundleCost: BundleCost;\r\n constructor() {\r\n this.CloudConfiguration = new Array();\r\n this.TotalBundleCost = new BundleCost();\r\n };\r\n}\r\n\r\n\r\n\r\n\r\n","export class Machine {\r\n public ID: string;\r\n public Duration: number;\r\n public Cores: Cores;\r\n public Ram: Ram;\r\n public Hypervisor: Hypervisor;\r\n public Availability: Ha;\r\n public Network: Networking;\r\n public MachineStorage: [Storage];\r\n public OperativeSystem: OperativeSystem;\r\n public DataBase: any;\r\n public MachineName: string;\r\n public RemoteAccess: any;\r\n public PrivateIp: string;\r\n public PublicIp: string;\r\n public MacAddress: string;\r\n public MachineLicenses: any;\r\n public MachineServices: any;\r\n public Cost: BundleCost;\r\n public Vcenter: string;\r\n public ServiceID: string;\r\n public Configuration: any;\r\n public State?: string;\r\n public ServiceName?: string;\r\n constructor() {\r\n this.Configuration = null;\r\n this.ID = null;\r\n this.Duration = 0;\r\n this.Cores = new Cores();\r\n this.Ram = new Ram();\r\n this.Hypervisor = new Hypervisor();\r\n this.Availability = new Ha();\r\n this.Network = new Networking();\r\n this.MachineStorage = [new Storage()];\r\n this.OperativeSystem = new OperativeSystem();\r\n this.DataBase = new DataBase();\r\n this.MachineName = null;\r\n this.RemoteAccess = \"\";\r\n this.MacAddress = null;\r\n this.MachineLicenses = [];\r\n this.MachineServices = [];\r\n this.Cost = new BundleCost();\r\n this.Vcenter = null;\r\n this.ServiceID = null;\r\n this.ServiceName = null;\r\n this.State = null;\r\n }\r\n}\r\n\r\nclass DataBase {\r\n public Db: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Db = \"\";\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class BundleCost {\r\n public _CAPEX?: number;\r\n public _OPEX?: number;\r\n public CAPEX?: number;\r\n public OPEX?: number;\r\n public MRC?: number;\r\n public DiscountMRC?: number;\r\n constructor() {\r\n this._CAPEX = 0;\r\n this._OPEX = 0;\r\n this.CAPEX = 0;\r\n this.OPEX = 0;\r\n this.MRC = 0;\r\n this.DiscountMRC = 0;\r\n }\r\n}\r\n\r\n\r\nclass Networking {\r\n public localNetworkType: number;\r\n public Internet: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.localNetworkType = 0;\r\n this.Internet = 5;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Hypervisor {\r\n public plataform: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.plataform = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\n\r\nclass Ha {\r\n public availabilityType: number;\r\n public replicationServer: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.availabilityType = 0;\r\n this.replicationServer = null;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Cores{\r\n public Value:number;\r\n constructor(){\r\n this.Value=0;\r\n }\r\n}\r\n\r\nclass Ram{\r\n public Value:number;\r\n constructor(){\r\n this.Value=0;\r\n }\r\n}\r\n\r\nexport class Storage{\r\n public diskType : number;\r\n public size:number;\r\n public Backup:Backup;\r\n constructor(){\r\n this.diskType = 0;\r\n this.size = 0;\r\n this.Backup = new Backup();\r\n }\r\n}\r\n\r\nclass Backup{\r\n public month:number;\r\n constructor(){\r\n this.month = 0;\r\n }\r\n}\r\n\r\nclass OperativeSystem {\r\n public Os: string;\r\n constructor() {\r\n this.Os = '';\r\n }\r\n}\r\n\r\nexport class MachineOld {\r\n public ServiceID : number;\r\n public Cores : number;\r\n public Ram : number;\r\n public HardDisk : number;\r\n public Iops : number;\r\n public OperativeSystem : string;\r\n public VirtualNetworkID : number;\r\n public CloudID : number;\r\n\r\n constructor(){\r\n this.ServiceID = null;\r\n this.Cores = null;\r\n this.Ram = null;\r\n this.HardDisk = null;\r\n this.Iops = null;\r\n this.OperativeSystem = null;\r\n this.VirtualNetworkID = null;\r\n this.CloudID = null;\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { CustomFormValidator } from '../../../../tools/CustomValidator';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-cloud-server-edit',\r\n templateUrl: './cloud-server-edit-values.component.html',\r\n styleUrls: ['./cloud-server-edit-values.component.css']\r\n})\r\nexport class CloudServerEditValuesComponent implements OnInit {\r\n resource: any = {};\r\n TotalValueForm: FormGroup;\r\n loading = false;\r\n constructor(private dialog : MatDialogRef ,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private auth: AuthService,\r\n private router: Router,\r\n private formBuilder: FormBuilder) {\r\n this.resource = data;\r\n this.TotalValueForm = this.formBuilder.group({\r\n value : [{value: '', disabled: false}, [Validators.required, CustomFormValidator.DecimalNumberValidator]],\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.auth.isAuthenticated()) {\r\n this.router.navigate(['']);\r\n return false;\r\n }\r\n }\r\n\r\n savePrice() : void{\r\n if(this.TotalValueForm.valid){\r\n this.okClick();\r\n }\r\n }\r\n\r\n okClick(){\r\n this.dialog.close();\r\n this.data.Ok(this.data);\r\n }\r\n cancelClick(){\r\n this.dialog.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo requerido *
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, Inject, Output, AfterViewInit, ChangeDetectorRef, EventEmitter } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\nimport { Validators, FormGroup, FormBuilder} from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { UserQuoteDTO } from '../../../../models/dtos.component';\r\n\r\n@Component({\r\n selector: 'app-calc-confirm',\r\n templateUrl: './saveBundleQuoteModal.component.html',\r\n styleUrls: [ '../../../../tools/modals/modals.scss', './saveBundleQuoteModal.component.scss']\r\n })\r\n\r\nexport class SaveBundleQuoteModalComponent implements OnInit, AfterViewInit {\r\n loading = false;\r\n SaveQuoteForm : FormGroup;\r\n public selectedCustomer : object;\r\n filteredCustomer: Observable;\r\n customerName = '';\r\n public users: any = [];\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA)\r\n public data: any,\r\n private service: WlService,\r\n public snackbar: MatSnackBar,\r\n public auth: AuthService,\r\n private formBuilder : FormBuilder,\r\n private changeDetector: ChangeDetectorRef\r\n\r\n ){\r\n this.customerName = data.customerName;\r\n this.SaveQuoteForm = this.formBuilder.group({\r\n Customer : [{ value: '', disabled: false }, [Validators.required]],\r\n Description: [],\r\n Name : [{ value: '', disabled: false }, [Validators.required]]\r\n });\r\n }\r\n\r\n onNoClick() : void {\r\n this.dialogRef.close();\r\n }\r\n ngOnInit() {\r\n this.GetCustomer();\r\n }\r\n\r\n\r\n closeDialog() : void{\r\n this.dialogRef.close();\r\n }\r\n\r\n cancelClick() {\r\n if(!this.data.Cancel)\r\n this.dialogRef.close();\r\n else\r\n this.data.Cancel();\r\n }\r\n\r\n okClick() : void{\r\n this.dialogRef.close();\r\n this.data.Ok(this.data);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.filteredCustomer = this.SaveQuoteForm.valueChanges.pipe(startWith(''),map(s => s ? this._filteredCustomers(s) : this.users.slice()))\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n GetCustomer() {\r\n this.users = [];\r\n this.selectedCustomer = null;\r\n this.service.GetUserAccounts()\r\n .subscribe((response:any) => {\r\n this.users = response.filter(s => s.CustomerID != null);\r\n }, error => {\r\n });\r\n }\r\n\r\n GetCustomerData(customer?: UserQuoteDTO) {\r\n return customer ? customer.Name : undefined;\r\n }\r\n\r\n private _filteredCustomers(value:any) :UserQuoteDTO[]{\r\n if(typeof value.Customer !== \"string\")\r\n return;\r\n const filterValue = value.Customer.toLowerCase();\r\n return this.users.filter(s => s.Name.toLowerCase().indexOf(filterValue) != -1 || s.Email.toLowerCase().indexOf(filterValue) != -1);\r\n }\r\n\r\n SaveBundleQuote() {\r\n let quoteDate = {\r\n Customer : this.GetSelectedCustomer(),\r\n Name : this.SaveQuoteForm.value.Name,\r\n Description : this.SaveQuoteForm.value.Description\r\n };\r\n this.dialogRef.close(quoteDate);\r\n }\r\n\r\n GetSelectedCustomer() : any {\r\n if (this.SaveQuoteForm.valid){\r\n return this.SaveQuoteForm.value.Customer;\r\n }\r\n else{\r\n this.snackbar.open('Cliente Invalido ', null, {\r\n duration: 2000,\r\n });\r\n }\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {{customer.Name | titlecase}} |\r\n Email: {{customer.Email}}\r\n
\r\n
\r\n
\r\n done\r\n error\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component,Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-server-protection',\r\n templateUrl: './server-protection.component.html',\r\n styleUrls: ['./server-protection.component.scss']\r\n})\r\nexport class ServerProtectionComponent {\r\n loading:boolean = false;\r\n optionSelected : string;\r\n options: string[] = ['Cliente tiene solución AV', 'Cliente acepta riesgo infección', 'Solución solicitada no disponible'];\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) {}\r\n okClick(){\r\n if(this.optionSelected!=null){\r\n this.data.Ok()\r\n this.dialogRef.close();\r\n ;\r\n }\r\n\r\n }\r\n cancelClick(){\r\n this.data.Cancel();\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{option}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import {Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { BundleQuoteDTO } from '../dto/cloud-server-dto';\r\n\r\nclass Item {\r\n isActive: boolean;\r\n name: string;\r\n icon: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-view-quotes',\r\n templateUrl: './view-quotes.component.html',\r\n styleUrls: ['./view-quotes.component.scss']\r\n})\r\n\r\n/**\r\n * @title Table with QuoteList\r\n */\r\n\r\nexport class ViewQuotesComponent implements OnInit {\r\n public items: Array = [];\r\n displayedColumns: string[] = ['Cod', 'BusinessOpportunityID','Owner', 'Name', 'Client', 'Date', 'Description', 'Acciones'];\r\n dataSource = new MatTableDataSource();\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n dataSendMail: object = {};\r\n loading = false;\r\n public Quotes = new Array();\r\n constructor(private service: WlService,\r\n private route: ActivatedRoute,\r\n public snackbar: MatSnackBar,\r\n private router: Router,\r\n private dialog: MatDialog) {}\r\n\r\n ngOnInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.GetQuotesByUser();\r\n this.dataSource.sort = this.sort;\r\n this.items = [\r\n {\r\n icon : 'folder',\r\n name: 'Mis cotizaciones',\r\n isActive : true,\r\n },\r\n\r\n {\r\n icon : 'people_outline',\r\n name: 'Compartidas Conmigo',\r\n isActive : false,\r\n }\r\n ]\r\n }\r\n\r\n caculatorRoute() {\r\n this.router.navigateByUrl('/home/(main:calculator)', { skipLocationChange: true });\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n GetQuotesByUser() {\r\n this.loading = true;\r\n this.service.GetBundleQuotesByUser(0).subscribe(\r\n response => {\r\n this.Quotes = response;\r\n this.dataSource.data = response;\r\n this.loading = false;\r\n this.toggleItem(this.items[0]);\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error consultando servicio' + error.error, null, {\r\n duration: 3000\r\n });\r\n\r\n }\r\n )\r\n }\r\n\r\n EditQuote(idBundleQuote: number ) {\r\n this.router.navigate(['home', { outlets: { main: [ 'calculator', idBundleQuote ] }}]);\r\n }\r\n\r\n public toggleItem(data: Item) {\r\n this.filteredData(data.name);\r\n const items = this.items.filter(item => item.isActive === true);\r\n items.forEach(element => {\r\n element.isActive = false;\r\n });\r\n data.isActive = true;\r\n\r\n }\r\n\r\n\r\n public filteredData(name: string) {\r\n let data = [];\r\n data = this.Quotes.filter(item => item.Owner);\r\n if (name === 'Mis cotizaciones') {\r\n data = this.Quotes.filter(item => item.Owner);\r\n } else if (name === 'Compartidas Conmigo') {\r\n data = this.Quotes.filter(item => !item.Owner);\r\n }\r\n this.dataSource.data = data;\r\n }\r\n\r\n\r\n SendQuoteObject(value: any, item: BundleQuoteDTO ) {\r\n\r\n const dataSendMail = {\r\n Configuration: item,\r\n Email: value.email,\r\n Name: value.name,\r\n Detail : value.detail\r\n }\r\n\r\n this.service.SendBundleQuote(dataSendMail)\r\n .subscribe( response => {\r\n if (response) {\r\n this.snackbar.open('Cotización Enviada Correctamente', null, {\r\n duration: 2000,\r\n });\r\n } else {\r\n this.snackbar.open('Ocurrió un error enviando la Cotización por favor intentelo nuevamente', null, {\r\n duration: 2000,\r\n });\r\n }\r\n },\r\n error => {\r\n this.snackbar.open('Ocurrió un error enviando la Cotización por favor intentelo nuevamente' + error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n DeleteQuote(index: number) {\r\n this.service.DeleteBundleQuoteByID(this.Quotes[index].ID)\r\n .subscribe(\r\n response => {\r\n this.Quotes.splice(index, 1);\r\n this.snackbar.open('Cotización eliminada correctamente' , null, {\r\n duration: 3000\r\n });\r\n this.GetQuotesByUser();\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando Cotización' , null, {\r\n duration: 3000\r\n });\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n {{'MYQUOTES.MY_QUOTES'|translate}}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{item.icon}} \r\n \r\n {{item.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{'MYQUOTES.CODE'|translate}} \r\n {{element.ID}} \r\n \r\n\r\n \r\n ID Oportunidad \r\n {{element.BusinessOpportunityID}} \r\n \r\n\r\n \r\n {{'MYQUOTES.QUOTED_FOR'|translate}} \r\n {{element.OwnerName}} \r\n \r\n\r\n \r\n \r\n {{'MYQUOTES.TITLE'|translate}} \r\n {{element.Name}} \r\n \r\n\r\n \r\n \r\n {{'MYQUOTES.DESCRIPTION'|translate}} \r\n {{element.Description}} \r\n \r\n\r\n \r\n \r\n {{'MYQUOTES.CLIENT'|translate}} \r\n {{element.CustomerName}} \r\n \r\n\r\n \r\n \r\n {{'MYQUOTES.DATE'|translate}} \r\n {{element.Date | date: 'medium' }} \r\n \r\n\r\n \r\n \r\n \r\n apps \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { productFamily } from './productFamily';\r\nimport { CredentialDTO } from '../../models/credential';\r\nimport { MatHorizontalStepper } from '@angular/material/stepper';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from 'src/app/services/wlservice.service';\r\nimport { AuthService } from 'src/app/services/auth/auth.service';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-credentials',\r\n templateUrl: './credentials.component.html',\r\n styleUrls: ['./credentials.component.scss']\r\n})\r\nexport class CredentialsComponent implements OnInit {\r\n public credentialForm: FormGroup;\r\n public credential: CredentialDTO;\r\n public products = productFamily;\r\n public passwordVisible: boolean;\r\n public isLoading: boolean;\r\n @ViewChild('stepper') stepper: MatHorizontalStepper;\r\n constructor(private snackbar: MatSnackBar,\r\n private service: WlService,\r\n private auth: AuthService,\r\n public router: Router,\r\n public _fbuilder: FormBuilder\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (!this.auth.isAuthenticated()) {\r\n this.router.navigate(['']);\r\n return false;\r\n }\r\n this.passwordVisible = false;\r\n this.credential = new CredentialDTO();\r\n this.isLoading = false;\r\n this.credentialForm = this._fbuilder.group({\r\n 'usermail': ['', [Validators.email, Validators.required]],\r\n 'product': ['', [Validators.required]],\r\n 'password': ['', [Validators.required]],\r\n });\r\n }\r\n SendCredential() {\r\n this.isLoading = true;\r\n this.service.GenerateCredential(this.credential).subscribe(response => {\r\n this.isLoading = false;\r\n this.credential = response;\r\n this.stepper.next();\r\n this.ShowSnackbar(\"Credencial generada satisfactoriamente\");\r\n }, error => {\r\n this.isLoading = false;\r\n });\r\n\r\n }\r\n ShowSnackbar(message: string) {\r\n this.snackbar.open(message, null, {\r\n duration: 3000\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'CREDENTIALS.CREDENTIALS_GENERATION' | translate }}\r\n

\r\n {{'CREDENTIALS.IFX_NETWORKS' | translate}}\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n {{p.Name}}\r\n \r\n \r\n \r\n {{'CREDENTIALS.REQUIRED_FIELD' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n {{'CREDENTIALS.REQUIRED_FIELD' | translate}}\r\n \r\n \r\n {{'CREDENTIALS.ENTER_A_VALID_EMAIL_ADDRESS' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{'CREDENTIALS.REQUIRED_FIELD' | translate}}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{'CREDENTIALS.CONFIRMATION' | translate}}\r\n

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

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","export const productFamily = [\r\n { ID : \"IFX_CLOUD_SERVER\" , Name : \"CLOUD Server Credentials\"},\r\n { ID : \"OTHER\" , Name : \"Otro\"}\r\n];","import { GraphDto } from './../DTO/dtos';\r\nimport { Component, ViewChild, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DataCenterComponent } from '../dataCenter.component';\r\nimport { WlService } from 'src/app/services/wlservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n\r\nconst graph: GraphDto = {\r\n CPU: [\r\n {\r\n name: 'Usada',\r\n value: 24.0\r\n },\r\n {\r\n name: 'Libre',\r\n value: 0.0\r\n }\r\n ],\r\n RAM: [\r\n {\r\n name: 'Usada',\r\n value: 168.0\r\n },\r\n {\r\n name: 'Libre',\r\n value: 40.0\r\n }\r\n ],\r\n HD: [\r\n {\r\n name: 'Usada',\r\n value: 3826.00\r\n },\r\n {\r\n name: 'Libre',\r\n value: -26.00\r\n }\r\n ]\r\n}\r\n\r\n@Component({\r\n selector: 'app-childrenUsers',\r\n templateUrl: './childrenUsers.component.html',\r\n styleUrls: ['./childrenUsers.component.scss']\r\n})\r\nexport class ChildrenUsersComponent implements OnInit {\r\n @ViewChild(DataCenterComponent) dataCenterComponent: DataCenterComponent;\r\n public resourcePoolChart: any = {\r\n colorScheme: {\r\n domain: ['#e83e8c', '#6c757d', '#FD443A', '#AAAAAA']\r\n },\r\n customColors: [\r\n {\r\n name: 'Success',\r\n value: '#e83e8c'\r\n },\r\n {\r\n name: 'Failed',\r\n value: '#6c757d'\r\n },\r\n {\r\n name: 'Error',\r\n value: '#FD443A'\r\n },\r\n {\r\n name: 'Warning',\r\n value: '#FF992C'\r\n },\r\n ],\r\n data: [],\r\n showXAxis: false,\r\n showYAxis: false,\r\n gradient: false,\r\n showLegend: true,\r\n showXAxisLabel: false,\r\n showYAxisLabel: true,\r\n autoScale: true,\r\n view: [450, 200]\r\n };\r\n\r\n\r\n public selectedCustomer: any;\r\n public displayedColumns = [\r\n 'HV', 'SQL', 'Estado',\r\n 'SID', 'SistemaOperativo', 'RAM',\r\n 'Cores', 'HDD', 'Options'];\r\n public indexcloud: number;\r\n public clouds: any = [];\r\n public resourcesPool: any = [];\r\n public customerId: string;\r\n public services: any = [];\r\n public isLoading = false;\r\n public machines: any = [];\r\n public machinesResources: any = [];\r\n public allMachinesCloud: any[] = [];\r\n constructor(\r\n private service: WlService,\r\n private route: ActivatedRoute,\r\n public snackbar: MatSnackBar\r\n ) {\r\n this.route.params.subscribe(params => {\r\n this.customerId = params.id;\r\n this.getUser(this.customerId);\r\n this.getCustomerCloud();\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.getResourcePoolChart();\r\n }\r\n\r\n validShowPool() {\r\n return this.services.some((vm) => vm.category === \"RP\")\r\n }\r\n\r\n getResourcePoolChart() {\r\n\r\n this.resourcePoolChart.data = {\r\n CPU: [{\r\n name: 'Usada',\r\n value: 0,\r\n },\r\n {\r\n name: 'Libre',\r\n value: 0,\r\n }\r\n ],\r\n RAM: [{\r\n name: 'Usada',\r\n value: 0,\r\n },\r\n {\r\n name: 'Libre',\r\n value: 0,\r\n }],\r\n HD: [{\r\n name: 'Usada',\r\n value: 0,\r\n },\r\n {\r\n name: 'Libre',\r\n value: 0,\r\n }]\r\n };\r\n }\r\n\r\n getUser(customerId) {\r\n this.service.GetUserInformation(customerId).subscribe((customer) => {\r\n this.selectedCustomer = customer;\r\n });\r\n }\r\n\r\n SelectedGraphPoolMethod($event) {\r\n if ($event.serviceID !== 'CS' || $event.serviceID !== null || $event.customerID !== null) {\r\n this.service.GetGraphPool($event.customerID, $event.serviceID).subscribe(\r\n response => {\r\n this.resourcePoolChart.data = response; // Metodo para borrar Equipo\r\n }, () => {\r\n this.resourcePoolChart.data = graph;\r\n });\r\n }\r\n }\r\n\r\n getCustomerCloud() {\r\n this.machines = [];\r\n this.machinesResources = []\r\n this.isLoading = true;\r\n this.service.GetCustomerCloud(this.customerId).subscribe(\r\n (response) => {\r\n this.clouds = response;\r\n this.resourcesPool = response;\r\n this.service.GetCustomerMachines(this.customerId).subscribe(\r\n (machines) => {\r\n this.services = machines;\r\n this.services.forEach(element => {\r\n switch (element.category) {\r\n case 'CS':\r\n this.machines = element.machinesList;\r\n break;\r\n case 'RP':\r\n this.machinesResources = element.machinesList;\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n\r\n for (let i = 0; i < this.clouds.length; i++) {\r\n this.clouds[i].machines = this.getFilteredMachines(this.clouds[i]);\r\n console.log('Despues del filtro las CS', this.clouds)\r\n this.clouds[i].machinesResources = this.GetMachinesPool(this.clouds[i]);\r\n\r\n }\r\n this.onCloudChanged({ index: this.indexcloud });\r\n },\r\n (error) => {\r\n this.isLoading = false;\r\n console.error(error);\r\n }\r\n );\r\n },\r\n error => {\r\n this.isLoading = false;\r\n console.error(error);\r\n }\r\n );\r\n this.isLoading = false;\r\n }\r\n\r\n openNetworkSettings(datacenterID: string) {\r\n this.dataCenterComponent.OpenNetworkSettings(datacenterID);\r\n }\r\n\r\n onSelect(event) {\r\n }\r\n\r\n onCloudChanged(data) {\r\n this.indexcloud = data.index;\r\n this.allMachinesCloud = this.clouds[this.indexcloud] && this.clouds[this.indexcloud].machines ?\r\n this.clouds[this.indexcloud].machines : [];\r\n }\r\n\r\n getFilteredMachines(cloud) {\r\n var _tmp = this.machines.filter(s => s.VcenterID === cloud.DataCenterID);\r\n return _tmp;\r\n }\r\n\r\n getFilteredReorucesPool(cloud) {\r\n var _tmp = this.machinesResources.filter(s => s.VcenterID === cloud.DataCenterID);\r\n\r\n return _tmp;\r\n }\r\n\r\n getMachineImage(machine: any) {\r\n if (machine.Configuration.OperativeSystem.Os.indexOf('WIN') !== -1) {\r\n return '/assets/img/windows.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('DEBIAN') !== -1) {\r\n return '/assets/img/debianLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('CENTOS') !== -1) {\r\n return '/assets/img/centosLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('UBUNTU') !== -1) {\r\n return '/assets/img/ubuntuLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('SUSE') !== -1) {\r\n return '/assets/img/suseLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('REDHAT') !== -1) {\r\n return '/assets/img/redhatLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('Other') !== -1) {\r\n return '/assets/img/noOS-en.png';\r\n } else {\r\n return '../assets/img/linuxM.png';\r\n }\r\n }\r\n\r\n GetAlias(machine: any) {\r\n if (machine.ServiceID == null) {\r\n return this.ReplaceName(machine.Configuration.OperativeSystem.Os);\r\n } else if (machine.ServiceName != null) {\r\n return this.ReplaceName(machine.ServiceName);\r\n } else {\r\n return this.ReplaceName(machine.Configuration.OperativeSystem.Os);\r\n }\r\n }\r\n\r\n ReplaceName(name) {\r\n const response = name.replace(/_/g, ' ');\r\n let capitalizeName = '';\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length !== 0) {\r\n capitalizeName += ' ';\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n\r\n GetMachinesPool(cloud) {\r\n const pools = {};\r\n const machines = this.machinesResources.filter(s => s.VcenterID === cloud.DataCenterID);\r\n machines.map((element) => {\r\n const sid = element.ServiceID.split('_')[0];\r\n if (!pools[sid]) {\r\n pools[sid] = machines.filter(s => s.ServiceID.includes(sid));\r\n }\r\n });\r\n return pools;\r\n }\r\n\r\n}\r\n","
\r\n No se encontró el cliente, por favor valida nuevamente\r\n
\r\n\r\n \r\n \r\n {{selectedCustomer ? selectedCustomer.Name : \"\"}}\r\n \r\n \r\n \r\n
\r\n \r\n Obteniendo información del cliente\r\n
\r\n
\r\n El cliente no cuenta con nubes creadas.\r\n
\r\n\r\n\r\n \r\n \r\n Cloud Server\r\n \r\n \r\n \r\n \r\n {{cloud.DataCenterName}} ({{cloud.machines.length}})\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Pool de recursos\r\n \r\n \r\n \r\n \r\n {{cloud.DataCenterName}} \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n","import { LogsService } from \"src/app/services/logs/logs-services.service\";\r\nimport {\r\n Component,\r\n ViewChild,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnChanges,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { WlService } from \"../../services/wlservice.service\";\r\nimport {\r\n ServiceDTO,\r\n CustomerMachinesService,\r\n} from \"../../models/dtos.component\";\r\nimport { MatSidenav } from \"@angular/material/sidenav\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { Constants } from \"../../models/constants.component\";\r\nimport { BroadcastEmitter } from \"../../services/BroadcastEmitter\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { Globalization } from \"../../globalization/globalization\";\r\nimport { AuthService } from \"../../services/auth/auth.service\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { GraphDto } from \"./DTO/dtos\";\r\nimport { ThemePalette } from \"@angular/material/core\";\r\nimport { ProgressBarMode } from \"@angular/material/progress-bar\";\r\nimport { machineOperations } from \"./machineOperations/machineOperations.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ConfirmationDialog } from \"../../tools/modals/confirmation/modal.component\";\r\nimport { subscribeOn } from \"rxjs/operators\";\r\nimport { PfenseRequestDto } from \"./pf-sense-network-settings/DTO/pfsenseRequest-dto\";\r\n\r\n@Component({\r\n // tslint:disable-next-line: component-selector\r\n selector: \"app-DataCenter\",\r\n templateUrl: \"./dataCenter.component.html\",\r\n styleUrls: [\"./dataCenter.component.scss\"],\r\n})\r\nexport class DataCenterComponent implements OnChanges {\r\n color: ThemePalette = \"primary\";\r\n color2: ThemePalette = \"warn\";\r\n mode: ProgressBarMode = \"determinate\";\r\n bufferValue = 100;\r\n\r\n public fecha: Date = null;\r\n public loading = false;\r\n public selectedMachine: ServiceDTO = new ServiceDTO();\r\n public constants: Constants = new Constants();\r\n public globalization: any = Globalization;\r\n public userInformation: any;\r\n public selectedPool: any = null;\r\n public customerInfo: any = null;\r\n public PfenseRequest: PfenseRequestDto = new PfenseRequestDto();\r\n public displayedColumns = [\r\n \"Estado\",\r\n \"SID\",\r\n \"SistemaOperativo\",\r\n \"RAM\",\r\n \"Cores\",\r\n \"HDD\",\r\n \"Options\",\r\n ];\r\n public dataSource = new MatTableDataSource();\r\n public inPool: boolean = false;\r\n public poolChardKeys = {};\r\n public chartData: boolean = true;\r\n\r\n @Output() SelectedGraphPool = new EventEmitter();\r\n @Input(\"machinesChildren\") machinesChild: Array = [];\r\n @Input() machines: Array = [];\r\n @Input(\"customerInfo\") selectedCustomer: any;\r\n @Input() dataCenterID: string;\r\n @ViewChild(\"sidenav\") sidenav: MatSidenav;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n public machinesResourcePool: any;\r\n public barChart: any = {\r\n colorScheme: {\r\n domain: [\"#FD443A\", \"#3AB05A\"],\r\n },\r\n data: [],\r\n showXAxis: true,\r\n showYAxis: true,\r\n gradient: false,\r\n showLegend: true,\r\n showXAxisLabel: true,\r\n showYAxisLabel: true,\r\n yAxisLabel: \"RAM\",\r\n xAxisLabel: \"Status\",\r\n autoScale: true,\r\n };\r\n public modal: MatDialog;\r\n MachineOperations: machineOperations = new machineOperations(\r\n this.service,\r\n this.router,\r\n this.snackbar,\r\n this.modal,\r\n this.auth,\r\n this.logsServices\r\n );\r\n constructor(\r\n private service: WlService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n public snackbar: MatSnackBar,\r\n public navbarBroadcast: BroadcastEmitter,\r\n private dialog: MatDialog,\r\n public auth: AuthService,\r\n private logsServices: LogsService\r\n ) {\r\n this.route.params.subscribe((params) => {\r\n if (params.id && params.children !== \"true\") {\r\n this.machines = [];\r\n this.dataCenterID = params.id;\r\n this.RefreshDatacenter();\r\n }\r\n });\r\n this.fecha = new Date();\r\n }\r\n\r\n buildVmsParent() {\r\n if (!this.selectedCustomer) {\r\n this.service.GetUserInformation().subscribe(\r\n (response: any) => {\r\n this.customerInfo = response;\r\n this.buildPool();\r\n },\r\n (error) => {\r\n console.log(\"Error obteniendo al usuario => \", error);\r\n }\r\n );\r\n } else {\r\n this.customerInfo = this.selectedCustomer;\r\n this.buildPool();\r\n }\r\n }\r\n\r\n buildPool() {\r\n this.loading = true;\r\n this.machinesResourcePool = this.machines.filter(\r\n (f) => f.category === \"RP\"\r\n );\r\n if (this.machinesResourcePool.length > 0) {\r\n this.inPool = true;\r\n this.machinesChild = [];\r\n }\r\n\r\n this.getFilteredReorucesPool(this.machinesResourcePool[0]);\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGEPF_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"timeline\",\r\n name: \"DATACENTER.STATISTICS\",\r\n action: () => {\r\n this.OpenInterfaceStatics();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n\r\n this.service\r\n .GetNetworkType(this.dataCenterID)\r\n .subscribe((response: any) => {\r\n if (response == 3) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGEPF_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else if (response === 0) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else if (response === 2) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenNetworkSettings();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"timeline\",\r\n name: \"DATACENTER.STATISTICS\",\r\n action: () => {\r\n this.OpenInterfaceStatics();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.machines && changes.machines.currentValue.length > 0) {\r\n this.buildVmsParent();\r\n }\r\n }\r\n\r\n getMachineImage(machine: ServiceDTO) {\r\n if (machine.Configuration.OperativeSystem.Os.indexOf(\"WIN\") !== -1) {\r\n return \"/assets/img/windows.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"DEBIAN\") !== -1\r\n ) {\r\n return \"/assets/img/debianLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"CENTOS\") !== -1\r\n ) {\r\n return \"/assets/img/centosLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"UBUNTU\") !== -1\r\n ) {\r\n return \"/assets/img/ubuntuLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"SUSE\") !== -1\r\n ) {\r\n return \"/assets/img/suseLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"REDHAT\") !== -1\r\n ) {\r\n return \"/assets/img/redhatLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"Other\") !== -1\r\n ) {\r\n return \"/assets/img/noOS-en.png\";\r\n } else {\r\n return \"../assets/img/linuxM.png\";\r\n }\r\n }\r\n\r\n ShowSnackbar() {\r\n this.snackbar.open(\"Escoja su opción\", null, {\r\n duration: 2000,\r\n });\r\n }\r\n\r\n ShowMachineConsole(machine) {\r\n this.snackbar.open(\"Generando acceso remoto, por favor espere.\", null, {\r\n duration: 3000,\r\n });\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.service.GetMachineToken(machine.ID).subscribe(\r\n (response: any) => {\r\n if (response == null) {\r\n this.snackbar.open(\r\n \"Error generando token, Intente nuevamente o contacte a soporte técnico.\",\r\n null,\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Consola VM\",\r\n false,\r\n \"No fue posible mostrar la consola de la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Consola VM\",\r\n true,\r\n \"Mostrar consola de la VM fue exitoso\",\r\n machine.ServiceID\r\n );\r\n\r\n if (response && response.Type) {\r\n switch (response.Type) {\r\n case \"HYPERV\":\r\n const link = document.createElement(\"a\");\r\n link.download = \"a\";\r\n link.href = environment.serviceUrl + \"tmp/\" + response.Data;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n break;\r\n case \"VMWARE\":\r\n window.open(environment.console + response.Data, \"_blank\");\r\n break;\r\n case \"ORACLEVM\":\r\n // Ajuste para permitir la conexión a traves de OracleVM\r\n let url = \"\";\r\n if (response.Data.id.uri.includes(\"oraclevmmanagercl\")) {\r\n url = environment.OVMConsoleCl + response.Data.consoleURI;\r\n } else {\r\n url = environment.OVMConsole + response.Data.consoleURI;\r\n }\r\n window.open(url + response.Data.consoleURI, \"_blank\");\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n machine.State = currentState;\r\n },\r\n (error) => {\r\n machine.State = currentState;\r\n this.snackbar.open(\"Error generando token, \" + error.error, null, {\r\n duration: 2000,\r\n });\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Consola VM\",\r\n false,\r\n \"No fue posible mostrar la consola de la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n }\r\n\r\n validShow(machine: any) {\r\n return (\r\n (machine.category !== \"CP\" &&\r\n !(\r\n this.machines.some((vm) => vm.category === \"RP\") &&\r\n machine.category === \"CS\"\r\n )) ||\r\n (machine.category === \"CS\" && this.machinesChild.length === 0)\r\n );\r\n }\r\n\r\n ShowMachineActions(machine) {\r\n this.selectedMachine = machine;\r\n this.sidenav.open();\r\n }\r\n\r\n RefreshDatacenter() {\r\n this.service.GetUserInformation().subscribe(\r\n (response: any) => {\r\n this.customerInfo = response;\r\n this.inPool = false;\r\n this.loading = true;\r\n this.service.GetDataCenterMachines(this.dataCenterID).subscribe(\r\n (response: any) => {\r\n this.loading = false;\r\n this.machines = response;\r\n\r\n this.machinesResourcePool = this.machines.filter(\r\n (f) => f.category === \"RP\"\r\n );\r\n if (this.machinesResourcePool.length > 0) {\r\n this.inPool = true;\r\n this.machinesChild = [];\r\n }\r\n console.log(\"Respuesta del POOL\", this.machinesResourcePool);\r\n this.getFilteredReorucesPool(this.machinesResourcePool[0]);\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGEPF_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"timeline\",\r\n name: \"DATACENTER.STATISTICS\",\r\n action: () => {\r\n this.OpenInterfaceStatics();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n /** */\r\n this.service.GetNetworkType(this.dataCenterID).subscribe(\r\n (response: any) => {\r\n console.log(\"response\", response);\r\n if (response == 3) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGEPF_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else if (response === 0) {\r\n console.log(\"llega aqui\");\r\n\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else if (response === 2) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenNetworkSettings();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"timeline\",\r\n name: \"DATACENTER.STATISTICS\",\r\n action: () => {\r\n this.OpenInterfaceStatics();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.snackbar.open(\r\n \"Error consultando el tipo red \" + error.error,\r\n null,\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n }\r\n );\r\n },\r\n (error) => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl(\"/\");\r\n } else {\r\n this.loading = false;\r\n this.snackbar.open(\r\n \"Error consultando maquinas \" + error.error,\r\n null,\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n }\r\n }\r\n );\r\n },\r\n (error) => {}\r\n );\r\n }\r\n\r\n ReplaceName(name) {\r\n const response = name.replace(/_/g, \" \");\r\n let capitalizeName = \"\";\r\n response.split(\" \").forEach((element) => {\r\n if (capitalizeName.length !== 0) {\r\n capitalizeName += \" \";\r\n }\r\n capitalizeName +=\r\n element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n\r\n OpenNetworkSettings(datacenterID?: string) {\r\n const datacenter = datacenterID ? datacenterID : this.dataCenterID;\r\n this.service.VerifyVirtualNetwork(datacenter).subscribe(\r\n (response) => {\r\n this.router.navigateByUrl(\r\n \"/home/(main:networkSettings/\" + encodeURIComponent(datacenter) + \")\",\r\n { skipLocationChange: true }\r\n );\r\n },\r\n (error) => {\r\n this.snackbar.open(\r\n \"Error consultando nube del cliente\" + error.error,\r\n null,\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n OpenPfsenseNetworkSettings(datacenterID?: string) {\r\n this.PfenseRequest.customerId = this.customerInfo.ID;\r\n this.PfenseRequest.datacenterId = datacenterID\r\n ? datacenterID\r\n : this.dataCenterID;\r\n this.router.navigateByUrl(\r\n \"/home/(main:PfsenseNetworkSettings/\" +\r\n encodeURIComponent(this.PfenseRequest.datacenterId) +\r\n \"/\" +\r\n encodeURIComponent(this.PfenseRequest.customerId) +\r\n \")\",\r\n { skipLocationChange: true }\r\n );\r\n }\r\n\r\n OpenInterfaceStatics() {\r\n this.router.navigateByUrl(\r\n \"/home/(main:interfacesStats/\" +\r\n encodeURIComponent(this.dataCenterID) +\r\n \")\",\r\n { skipLocationChange: true }\r\n );\r\n }\r\n\r\n GetAlias(machine: ServiceDTO) {\r\n if (machine.ServiceID == null) {\r\n return this.ReplaceName(machine.Configuration.OperativeSystem.Os);\r\n } else if (machine.ServiceName != null) {\r\n return this.ReplaceName(machine.ServiceName);\r\n } else {\r\n return this.ReplaceName(machine.Configuration.OperativeSystem.Os);\r\n }\r\n }\r\n\r\n GetMachineStateClass(machine) {\r\n return \"circle-\" + machine.State + \" datacenter-vm-circle\";\r\n }\r\n\r\n setTabTitle(machinesKeyName: string) {\r\n switch (machinesKeyName) {\r\n case \"CS\":\r\n return \"Cloud Server\";\r\n case \"OP\":\r\n return \"Service Order\";\r\n default:\r\n return \"SID Pool: \" + machinesKeyName;\r\n }\r\n }\r\n\r\n getChartInfo(serviceID: string, customerID: string) {\r\n this.SelectedGraphPool.emit({ serviceID, customerID });\r\n }\r\n\r\n getFilteredReorucesPool(resorcePool) {\r\n if (resorcePool != null) {\r\n const grouped = resorcePool.machinesList.reduce((r, a) => {\r\n const sid = a.ServiceID.split(\"_\")[0];\r\n r[sid] = r[sid] || [];\r\n r[sid].push(a);\r\n return r;\r\n }, Object.create(null));\r\n console.log(\"Elgrouped\", grouped);\r\n this.machinesResourcePool = grouped;\r\n this.getPoolChart(Object.keys(this.machinesResourcePool));\r\n }\r\n }\r\n\r\n GetColorState(state) {\r\n switch (state) {\r\n case \"PENDING\":\r\n return \"machine-pending\";\r\n case \"POWER_ON\":\r\n return \"machine-on\";\r\n case \"POWER_OFF\":\r\n return \"machine-off\";\r\n case \"BUSY\":\r\n return \"machine-busy\";\r\n case \"SUSPEND\":\r\n return \"machine-suspended\";\r\n case \"POWER_OFF_GUEST\":\r\n return \"machine-off\";\r\n case \"SUSPEND_GUEST\":\r\n return \"machine-suspended\";\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\n GetStateMachine(state) {\r\n switch (state) {\r\n case \"PENDING\":\r\n return \"Pendiente de aprovisionamiento\";\r\n case \"POWER_ON\":\r\n return \"Encendida\";\r\n case \"POWER_OFF\":\r\n return \"Apagada\";\r\n case \"BUSY\":\r\n return \"Ocupada\";\r\n case \"SUSPEND\":\r\n return \"Suspendida\";\r\n case \"POWER_OFF_GUEST\":\r\n return \"Apagada\";\r\n case \"SUSPEND_GUEST\":\r\n return \"Suspendida\";\r\n default:\r\n return \"-\";\r\n }\r\n }\r\n\r\n selectPool(poolKey: any) {\r\n this.selectedPool = poolKey;\r\n }\r\n\r\n getPoolChart(arraysKeys: any) {\r\n arraysKeys.forEach((element) => {\r\n // this.service.GetGraphPool(\"hTU2xdt1kEcPdgLNkcME8Q==\", \"1151896\").subscribe((data: any) => {\r\n this.service.GetGraphPool(this.customerInfo.ID, element).subscribe(\r\n (data: any) => {\r\n console.log(\"infografica\", data);\r\n if (data === null) {\r\n this.chartData = false;\r\n this.poolChardKeys[element] = [];\r\n } else {\r\n this.chartData = true;\r\n this.poolChardKeys[element] = data;\r\n }\r\n },\r\n (error) => {\r\n this.chartData = false;\r\n this.poolChardKeys[element] = [];\r\n console.error(\"Error consultando nube del cliente\" + error.error);\r\n }\r\n );\r\n });\r\n console.log(\"El thisPoolChar\", this.poolChardKeys);\r\n }\r\n\r\n getUser() {\r\n this.service.GetUserInformation().subscribe(\r\n (response: any) => {\r\n this.customerInfo = response;\r\n },\r\n (error) => {}\r\n );\r\n }\r\n\r\n onChangeTypeMachine(change) {\r\n if (change === 1) {\r\n this.inPool = true;\r\n } else {\r\n this.inPool = false;\r\n this.selectedPool = null;\r\n }\r\n }\r\n\r\n ShowVmSnackbar(message, action) {\r\n this.snackbar.open(message, action, {\r\n duration: 2000,\r\n });\r\n }\r\n\r\n PowerOnVM(machine: ServiceDTO) {\r\n this.ShowVmSnackbar(\"Encendiendo máquina por favor espere\", null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.service.PowerOnVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"POWER_ON\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" encendida correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Encender VM\",\r\n true,\r\n \"VM encendida correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Encender VM\",\r\n false,\r\n \"No fue posible encender la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n }\r\n PowerOffVm(machine: ServiceDTO) {\r\n // this.ShowVmSnackbar('Apagando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Apagar VM\",\r\n Message: \"Va a apagar esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.PowerOffVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"POWER_OFF\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" apagada correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Apagar VM\",\r\n true,\r\n \"VM apagada correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Apagar VM\",\r\n true,\r\n \"No fue posible apagar la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n SuspendVM(machine: ServiceDTO) {\r\n // this.ShowVmSnackbar('Suspendiendo máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Suspender VM\",\r\n Message: \"Va a suspender esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.SuspendVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"SUSPEND\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" suspendida correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Suspender VM\",\r\n true,\r\n \"VM suspendida correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Suspender VM\",\r\n false,\r\n \"No fue posible suspender la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n ResumeVm(machine: ServiceDTO) {\r\n this.ShowVmSnackbar(\"Reactivando máquina por favor espere\", null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Suspender VM\",\r\n Message: \"Va a suspender esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.ResumeVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"POWER_ON\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" reactivada correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Reactivar VM\",\r\n true,\r\n \"VM reactivada correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Reactivar VM\",\r\n false,\r\n \"No fue posible reactivar la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n RestartVm(machine: ServiceDTO) {\r\n // this.ShowVmSnackbar('Reiniciando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Reiniciar VM\",\r\n Message: \"Va a reiniciar esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.RestartVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"SUSPEND\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" suspendida correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Reiniciar VM\",\r\n true,\r\n \"VM reiniciada correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Reiniciar VM\",\r\n false,\r\n \"No fue posible reiniciar la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n GuestPowerOffVmAPI(machine: ServiceDTO) {\r\n // this.ShowVmSnackbar('Apagando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Aapagar sistema Operativo Invitado\",\r\n Message:\r\n \"Va a apagar sistema Operativo Invitado de esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.GuestPowerOffVmAPI(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"POWER_OFF\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" apagada correctamente\",\r\n null\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n GuestSuspendVmAPI(machine: ServiceDTO) {\r\n this.ShowVmSnackbar(\"Suspendiendo máquina por favor espere\", null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Suspender sistema Operativo Invitado\",\r\n Message:\r\n \"Va a suspender sistema Operativo Invitado de esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.GuestSuspendVmAPI(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"SUSPEND\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" suspendida correctamente\",\r\n null\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n GuestResetVMAPI(machine: ServiceDTO) {\r\n this.ShowVmSnackbar(\"Reiniciando máquina por favor espere\", null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Reiniciar sistema Operativo Invitado\",\r\n Message:\r\n \"Va a reiniciar sistema Operativo Invitado de esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.GuestResetVMAPI(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"SUSPEND\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" suspendida correctamente\",\r\n null\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n checkInNewVcenter(machine: ServiceDTO) {\r\n if (machine.vCenterVersion === \"6.7\") {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ \"DATACENTER.LOADING\" | translate }}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n No cuenta con máquinas registradas en esta nube\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{ \"DATACENTER.\" + machine.category | translate }}\r\n \r\n \r\n \r\n {{ \"DATACENTER.\" + machine.category | translate }}\r\n \r\n \r\n
\r\n \r\n No cuenta con máquinas\r\n
\r\n \r\n \r\n \r\n
\r\n {{ \"DATACENTER.STATUS\" | translate }}\r\n
\r\n
\r\n \r\n
\r\n \r\n fiber_manual_record\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
SID
\r\n
\r\n \r\n
\r\n {{ machine.ServiceID }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{ \"DATACENTER.VMNAME\" | translate }}\r\n
\r\n
\r\n \r\n
\r\n {{\r\n GetAlias(machine)\r\n }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
RAM
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.Ram.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
Cores
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.Cores.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
HDD
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.MachineStorage[0].size }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n apps\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n more_horiz\r\n
\r\n \r\n \r\n \r\n \r\n \r\n power_settings_new\r\n {{ \"DATACENTER.TURN_OFF\" | translate }}\r\n \r\n \r\n \r\n power_settings_new\r\n {{\r\n \"DATACENTER.TURN_ON\" | translate\r\n }}\r\n \r\n \r\n pause\r\n {{\r\n \"DATACENTER.LAY_OFF\" | translate\r\n }}\r\n \r\n \r\n play_arrow\r\n {{ \"DATACENTER.RESUME\" | translate }}\r\n \r\n \r\n repeat\r\n {{\r\n \"DATACENTER.RESTART\" | translate\r\n }}\r\n \r\n \r\n \r\n \r\n {{\r\n \"DATACENTER.SHOWCONSOLE\" | translate\r\n }}\r\n \r\n \r\n {{\r\n \"DATACENTER.EDITCONFIG\" | translate\r\n }}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n No cuenta con máquinas\r\n
\r\n \r\n \r\n \r\n SID Pool: {{ rpMachine.key }}\r\n \r\n \r\n VMS: ({{ machinesResourcePool[rpMachine.key].length }})\r\n \r\n \r\n
\r\n \r\n
    \r\n
  • \r\n CPU\r\n \r\n Libre:\r\n {{\r\n poolChardKeys[rpMachine.key].CPU[0].series[1]\r\n .value\r\n }}\r\n Cores\r\n \r\n \r\n \r\n \r\n \r\n \r\n Utilizado:\r\n {{\r\n poolChardKeys[rpMachine.key].CPU[0].series[0]\r\n .value\r\n }}\r\n Cores\r\n \r\n \r\n Capacidad:\r\n {{\r\n poolChardKeys[rpMachine.key].CPU[0].series[0]\r\n .value +\r\n poolChardKeys[rpMachine.key].CPU[0].series[1]\r\n .value\r\n }}\r\n Cores\r\n \r\n
  • \r\n
  • \r\n MEMORIA\r\n \r\n Libre:\r\n {{\r\n poolChardKeys[rpMachine.key].RAM[0].series[1]\r\n .value\r\n }}\r\n GB\r\n \r\n \r\n \r\n \r\n \r\n \r\n Utilizado:\r\n {{\r\n poolChardKeys[rpMachine.key].RAM[0].series[0]\r\n .value\r\n }}\r\n GB\r\n \r\n \r\n Capacidad:\r\n {{\r\n poolChardKeys[rpMachine.key].RAM[0].series[0]\r\n .value +\r\n poolChardKeys[rpMachine.key].RAM[0].series[1]\r\n .value\r\n }}\r\n GB\r\n \r\n
  • \r\n
  • \r\n ALMACENAMIENTOs\r\n \r\n Libre:\r\n {{\r\n poolChardKeys[rpMachine.key].HD[0].series[1]\r\n .value\r\n }}\r\n GB\r\n \r\n \r\n \r\n \r\n \r\n \r\n Utilizado:\r\n {{\r\n poolChardKeys[rpMachine.key].HD[0].series[0]\r\n .value\r\n }}\r\n GB\r\n \r\n \r\n Capacidad:\r\n {{\r\n poolChardKeys[rpMachine.key].HD[0].series[0]\r\n .value +\r\n poolChardKeys[rpMachine.key].HD[0].series[1]\r\n .value\r\n }}\r\n GB\r\n \r\n
  • \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Volver\r\n \r\n \r\n SID Pool: {{ selectedPool }}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{ \"DATACENTER.STATUS\" | translate }}\r\n
\r\n \r\n \r\n
\r\n \r\n fiber_manual_record\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
SID
\r\n \r\n \r\n
{{ rpItem.ServiceID }}
\r\n \r\n
\r\n \r\n \r\n
\r\n {{ \"DATACENTER.VMNAME\" | translate }}\r\n
\r\n \r\n \r\n
\r\n {{\r\n GetAlias(rpItem)\r\n }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
RAM
\r\n \r\n \r\n
\r\n {{ rpItem.Configuration.Ram.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
Cores
\r\n \r\n \r\n
\r\n {{ rpItem.Configuration.Cores.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
HDD
\r\n \r\n \r\n
\r\n {{ rpItem.Configuration.MachineStorage[0].size }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n apps\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n more_horiz\r\n
\r\n \r\n \r\n \r\n Acciones\r\n \r\n \r\n \r\n power_settings_new\r\n {{ \"DATACENTER.TURN_OFF\" | translate }}\r\n \r\n \r\n \r\n power_settings_new\r\n {{\r\n \"DATACENTER.TURN_ON\" | translate\r\n }}\r\n \r\n \r\n pause\r\n {{\r\n \"DATACENTER.LAY_OFF\" | translate\r\n }}\r\n \r\n \r\n play_arrow\r\n {{\r\n \"DATACENTER.RESUME\" | translate\r\n }}\r\n \r\n \r\n repeat\r\n {{\r\n \"DATACENTER.RESTART\" | translate\r\n }}\r\n \r\n \r\n \r\n \r\n {{\r\n \"DATACENTER.SHOWCONSOLE\" | translate\r\n }}\r\n \r\n \r\n {{\r\n \"DATACENTER.EDITCONFIG\" | translate\r\n }}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n No cuenta con máquinas registradas \r\n \r\n
\r\n \r\n
\r\n \r\n No cuenta con máquinas registradas\r\n \r\n \r\n \r\n \r\n \r\n
SID Pool: {{ machines.key }}
\r\n \r\n Máquinas \r\n
\r\n\r\n \r\n No cuenta con máquinas registradas\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"DATACENTER.STATUS\" | translate }}\r\n
\r\n
\r\n \r\n
\r\n \r\n fiber_manual_record\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
SID
\r\n
\r\n \r\n
\r\n {{ machine.ServiceID }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{ \"DATACENTER.VMNAME\" | translate }}\r\n
\r\n
\r\n \r\n
\r\n {{\r\n GetAlias(machine)\r\n }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
RAM
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.Ram.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
Cores
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.Cores.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
HDD
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.MachineStorage[0].size }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n apps\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n more_horiz\r\n \r\n \r\n \r\n \r\n \r\n power_settings_new\r\n {{ \"DATACENTER.TURN_OFF\" | translate }}\r\n \r\n \r\n \r\n power_settings_new\r\n {{\r\n \"DATACENTER.TURN_ON\" | translate\r\n }}\r\n \r\n \r\n pause\r\n {{\r\n \"DATACENTER.LAY_OFF\" | translate\r\n }}\r\n \r\n \r\n play_arrow\r\n {{ \"DATACENTER.RESUME\" | translate }}\r\n \r\n \r\n repeat\r\n {{\r\n \"DATACENTER.RESTART\" | translate\r\n }}\r\n \r\n \r\n \r\n \r\n {{\r\n \"DATACENTER.SHOWCONSOLE\" | translate\r\n }}\r\n \r\n \r\n {{\r\n \"DATACENTER.EDITCONFIG\" | translate\r\n }}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n","import { Component, Input, Output,OnChanges, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { AdditionalServiceDTO, ServiceDTO } from '../../../../models/dtos.component';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'disk-configuration',\r\n templateUrl: './disk-configuration.component.html',\r\n styleUrls: ['../../dataCenter.component.scss'],\r\n})\r\n\r\nexport class DiskConfiguration implements OnInit,OnChanges {\r\n @Input() AdditionalService: AdditionalServiceDTO;\r\n @Input() sidenav:MatSidenav;\r\n @Input() Machine: ServiceDTO;\r\n @Output() savedAdditionalService = new EventEmitter();\r\n backup : number = 1;\r\n constants : Constants = new Constants();\r\n public loading:boolean = false;\r\n diskConfigurationFb : FormGroup;\r\n constructor(private service: WlService, public snackbar: MatSnackBar, public formBuilder : FormBuilder) {\r\n this.diskConfigurationFb = this.formBuilder.group({\r\n 'iops' : [{value: '', disabled:this.loading},[Validators.required]],\r\n 'size' : [{value: '', disabled:this.loading},[Validators.required]],\r\n 'backup' : [{value: '', disabled:this.loading},[Validators.required]],\r\n });\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes.AdditionalService && changes.AdditionalService.currentValue) {\r\n console.log(\"changes\", changes);\r\n this.getDiskPrice();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.AdditionalService = new AdditionalServiceDTO();\r\n }\r\n\r\n saveDisk(){\r\n this.loading = true;\r\n this.service.AddAdditionalService(this.AdditionalService).subscribe(\r\n (response:any)=>{\r\n this.loading = false;\r\n this.snackbar.open(\"Cambios guardados satisfactoriamente\", null, {\r\n duration: 3000\r\n });\r\n this.sidenav.close();\r\n this.savedAdditionalService.emit(response);\r\n },\r\n error=>{\r\n this.loading = false;\r\n this.snackbar.open(\"Error guardando disco\" + error.error, null, {\r\n duration: 4000\r\n });\r\n }\r\n )\r\n }\r\n\r\n getDiskPrice(){\r\n this.loading=true;\r\n this.service.GetStorageCost(this.AdditionalService.Configuration).subscribe(\r\n (response: any)=>{\r\n this.loading=false;\r\n this.AdditionalService.Configuration = response;\r\n },\r\n error=>{\r\n this.loading=false;\r\n }\r\n )\r\n }\r\n}\r\n\r\n","\r\n
\r\n
\r\n
Configurar disco adicional
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{speed}} Iops\r\n \r\n \r\n \r\n \r\n {{size.value}} GB\r\n \r\n \r\n \r\n \r\n 1 Mes\r\n \r\n \r\n
\r\n
\r\n
\r\n ${{AdditionalService.Configuration.Cost.MRC + AdditionalService.Configuration.Backup.Cost.MRC | number : '1.2-2' }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { GridComponent } from \"../../../tools/grid/grid.component\";\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { UserInfoDTO, ProfileDTO, ServiceDTO, AdditionalServiceDTO } from '../../../models/dtos.component';\r\nimport { machineOperations } from '../machineOperations/machineOperations.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { ServiceNameModal } from '../service-name-modal/service-name-modal.component';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\nimport { LogsService } from 'src/app/services/logs/logs-services.service';\r\n\r\n@Component({\r\n selector: 'machine-settings',\r\n templateUrl: './machine-settings.component.html',\r\n styleUrls: ['../dataCenter.component.scss']\r\n})\r\n\r\nexport class MachineSettings implements OnInit {\r\n @ViewChild('AdditionalServicesGrid') AdditionalServicesGrid: GridComponent;\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n\r\n machine: ServiceDTO;\r\n SelectedDisk: AdditionalServiceDTO;\r\n\r\n MachineOperations: machineOperations = new machineOperations(this.service, this.router, this.snackbar, this.modal,this.auth, this.logsServices);\r\n globalization: any = Globalization;\r\n constants: Constants = new Constants();\r\n token: string;\r\n language: string;\r\n dataGrid = [];\r\n public additionalServicesGrid = {\r\n columns: [\r\n { name: \"State\", title: \"Descripción\" },\r\n { name: \"Configuration.size\", title: \"Tamaño\" },\r\n { name: \"Configuration.diskType\", title: \"Velocidad\" },\r\n { name: \"Configuration.totalMRC\", title: \"Valor\" , format: \"currency\"},\r\n ],\r\n data: [],\r\n toolbar: [\r\n { \"type\": \"button\", \"click\": () => { this.AddDisk() }, \"text\": \"AGREGAR DISCO\", \"align\": \"left\" }\r\n ],\r\n filter: \"ServiceID\",\r\n refresh: (u) => { this.getAdditionalServices() }\r\n }\r\n\r\n constructor(private service: WlService, public navbarBroadcast: BroadcastEmitter, private route: ActivatedRoute, public snackbar: MatSnackBar, private router: Router, private modal: MatDialog, public auth: AuthService, private logsServices: LogsService) {\r\n this.route.params.subscribe(params => {\r\n this.GetServiceInformation(params[\"MachineID\"]);\r\n });\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n closeSidenav() {\r\n this.SelectedDisk = new AdditionalServiceDTO();\r\n }\r\n\r\n RenameMachineModal(machine: ServiceDTO) {\r\n let dialogRef = this.modal.open(ServiceNameModal, {\r\n data: {\r\n ServiceID: machine.ServiceID,\r\n ServiceName: machine.ServiceName,\r\n ID: machine.ID\r\n },\r\n width: \"440px\",\r\n });\r\n dialogRef.afterClosed().subscribe(\r\n result => {\r\n if(result)\r\n this.machine.ServiceName = result;\r\n }\r\n )\r\n }\r\n\r\n getAdditionalServices() {\r\n this.service.GetAdditionalServices(this.machine.ID).subscribe(\r\n (response:any) => {\r\n this.navbarBroadcast.SendMessage({\r\n text: this.ReplaceName(this.machine.ServiceName),\r\n actions: [\r\n { icon: 'add', name: 'Agregar Disco', action: () => { this.AddDisk() } },\r\n { icon: 'undo', name: 'Volver a Máquinas', action: () => { this.GoBack() } }\r\n ],\r\n display: true\r\n });\r\n this.dataGrid = [];\r\n response.forEach(element => {\r\n element.Configuration.totalMRC = (element.Configuration.Cost.MRC + element.Configuration.Backup.Cost.MRC );\r\n this.dataGrid.push(element);\r\n });\r\n this.AdditionalServicesGrid.setData(this.dataGrid);\r\n },\r\n error => {\r\n\r\n }\r\n )\r\n }\r\n\r\n ngOnInit() {\r\n this.machine = new ServiceDTO;\r\n this.navbarBroadcast.SendMessage({\r\n text: \" \",\r\n actions: []\r\n });\r\n\r\n }\r\n\r\n AddDisk() {\r\n this.SelectedDisk = new AdditionalServiceDTO();\r\n this.SelectedDisk.ServiceParentID = this.machine.ID;\r\n this.sidenav.open();\r\n }\r\n\r\n SaveDisk(row) {\r\n this.AdditionalServicesGrid.pushRow(row);\r\n }\r\n\r\n GoBack() {\r\n this.router.navigateByUrl('/home/(main:dataCenter/' + encodeURIComponent(this.machine.VcenterID) + ')', { skipLocationChange: true });\r\n }\r\n\r\n GetServiceInformation(ServiceID: string) {\r\n this.service.GetService(ServiceID).subscribe(\r\n (response:any) => {\r\n this.machine = response;\r\n this.getAdditionalServices();\r\n },\r\n error => {\r\n this.router.navigateByUrl('/home/(main:dataCenter/' + this.machine.VcenterID + ')', { skipLocationChange: true });\r\n this.snackbar.open(\"Error consultando servicio\" + error.error, null, {\r\n duration: 3000\r\n });\r\n }\r\n )\r\n }\r\n ReplaceName(name) {\r\n let response = name.replace(/_/g, ' ');\r\n let capitalizeName = \"\";\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length != 0) {\r\n capitalizeName += \" \";\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n getMachineImage(machine: ServiceDTO) {\r\n if (machine.Configuration.OperativeSystem.Os.indexOf(\"WIN\") != -1)\r\n return \"sidenav-detail-windows\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"DEBIAN\") != -1)\r\n return \"sidenav-detail-debian\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"CENTOS\") != -1)\r\n return \"sidenav-detail-centos\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"UBUNTU\") != -1)\r\n return \"sidenav-detail-ubuntu\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"SUSE\") != -1)\r\n return \"sidenav-detail-suse\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"REDHAT\") != -1)\r\n return \"sidenav-detail-redhat\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"Other\") != -1)\r\n return \"sidenav-detail-noos\";\r\n else\r\n return \"sidenav-detail-linux\";\r\n }\r\n GetMachineState(state: string) {\r\n let response;\r\n if (state) {\r\n response = this.constants.MachineStates.filter(f => f.State == state);\r\n if (response && response[0]) {\r\n response = response[0].Name;\r\n } else {\r\n response = null;\r\n }\r\n }\r\n return (response ? response : '-');\r\n\r\n }\r\n\r\n GetVMState(state){\r\n return \"circle-\"+state;\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Configuración del servicio\r\n
\r\n
\r\n
\r\n
\r\n {{machine.ServiceID}}\r\n
\r\n
\r\n # de Servicio\r\n
\r\n
\r\n
\r\n
\r\n {{ReplaceName(machine.Configuration.OperativeSystem.Os)}}\r\n
\r\n
\r\n Sistema operativo\r\n
\r\n
\r\n
\r\n
\r\n Configuración de la máquina\r\n
\r\n
\r\n
\r\n
\r\n fiber_manual_record\r\n
\r\n
\r\n {{globalization.dcSidenav.machinestatus[language]}}\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.Cores.Value}}\r\n
\r\n
\r\n {{globalization.dcSidenav.cores[language]}}\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.Ram.Value}}\r\n
\r\n
\r\n {{globalization.dcSidenav.ram[language]}}\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.MachineStorage[0].size}}\r\n
\r\n
\r\n {{globalization.dcSidenav.diskSize[language]}}\r\n
\r\n
\r\n
\r\n
\r\n {{(machine.VcenterID != null) ? constants.GetDataCenterName(machine.VcenterID):''}}\r\n
\r\n
\r\n {{globalization.dcSidenav.datacenter[language]}}\r\n
\r\n
\r\n
\r\n
\r\n Configuración de red\r\n
\r\n
\r\n
\r\n
\r\n {{globalization.dcSidenav.privateip[language]}}\r\n
\r\n
\r\n {{machine.Configuration.PrivateIp}}\r\n
\r\n
\r\n
\r\n
\r\n {{globalization.dcSidenav.macaddress[language]}}\r\n
\r\n
\r\n {{machine.Configuration.MacAddress}}\r\n
\r\n
\r\n
\r\n
\r\n {{globalization.dcSidenav.rdpaccess[language]}}\r\n
\r\n
\r\n {{machine.Configuration.RemoteAccess}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, OnChanges, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { ServiceDTO } from '../../../models/dtos.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { ServiceNameModal } from '../service-name-modal/service-name-modal.component';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\nimport { LogsService } from 'src/app/services/logs/logs-services.service';\r\n\r\n\r\n@Component({\r\n selector: 'machineOperations',\r\n templateUrl: './machineOperations.component.html',\r\n styleUrls: ['../dataCenter.component.scss']\r\n})\r\nexport class machineOperations implements OnInit,OnChanges {\r\n @Input('machine') machine: ServiceDTO;\r\n @Output() machineAction = new EventEmitter();\r\n constants: Constants = new Constants();\r\n token: string;\r\n language: string;\r\n machinePassword = '$5yXz4!3';\r\n\r\n ngOnInit() {}\r\n constructor(private service: WlService,\r\n private router: Router,\r\n private snackbar: MatSnackBar,\r\n public dialog: MatDialog,\r\n public auth: AuthService,\r\n private logsServices: LogsService\r\n ) {\r\n this.token = auth.getToken()\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n LoadMachineConfiguration() {\r\n this.router.navigateByUrl('/home/(main:MachineSettings/' +\r\n encodeURIComponent(this.machine.ServiceID.toString()) +\r\n ')', { skipLocationChange: true });\r\n }\r\n GetMachineState(state: string) {\r\n if (state) {\r\n return this.constants.MachineStates.filter((f) => f.State === state)[0].Name;\r\n }\r\n }\r\n ngOnChanges(changes) {\r\n this.machine = changes['machine'].currentValue;\r\n if (this.machine.ID) {\r\n this.service.GetMachinePassword(this.machine.ID)\r\n .subscribe((response:any) => {\r\n this.machinePassword = response;\r\n console.log(response);\r\n }, (error) => {\r\n this.machinePassword = 'Error consultando contraseña';\r\n this.snackbar.open('Error consultando contraseña, ' + error.error, null, {\r\n duration: 2000\r\n });\r\n });\r\n }\r\n }\r\n RenameMachineModal(machine: ServiceDTO) {\r\n const dialogRef = this.dialog.open(ServiceNameModal, {\r\n data: {\r\n ServiceID : machine.ServiceID,\r\n ServiceName : machine.ServiceName,\r\n ID: machine.ID\r\n },\r\n width : '440px',\r\n });\r\n dialogRef.afterClosed().subscribe(\r\n result => {\r\n if (result) {\r\n this.machine.ServiceName = result;\r\n }\r\n }\r\n )\r\n }\r\n PowerOnVM(machine: ServiceDTO) {\r\n this.ShowSnackbar('Encendiendo máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = 'BUSY';\r\n this.service.PowerOnVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = 'POWER_ON';\r\n this.ShowSnackbar(machine.ServiceID + ' encendida correctamente', null);\r\n this.logsServices.postAppLog('Acción Maquina', 'Encender VM', true, 'VM encendida correctamente', machine.ServiceID)\r\n },\r\n error => {\r\n this.ShowSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog('Acción Maquina', 'Encender VM', false, 'No fue posible encender la VM', machine.ServiceID)\r\n }\r\n );\r\n }\r\n PowerOffVm(machine: ServiceDTO) {\r\n this.ShowSnackbar('Apagando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = 'BUSY';\r\n this.service.PowerOffVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = 'POWER_OFF';\r\n this.ShowSnackbar(machine.ServiceID + ' apagada correctamente', null);\r\n this.logsServices.postAppLog('Acción Maquina', 'Apagar VM', true, 'VM apagada correctamente', machine.ServiceID)\r\n },\r\n error => {\r\n this.ShowSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog('Acción Maquina', 'Apagar VM', true, 'No fue posible apagar la VM', machine.ServiceID)\r\n }\r\n );\r\n }\r\n SuspendVM(machine: ServiceDTO) {\r\n this.ShowSnackbar('Suspendiendo máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = 'BUSY';\r\n this.service.SuspendVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = 'SUSPEND';\r\n this.ShowSnackbar(machine.ServiceID + ' suspendida correctamente', null);\r\n this.logsServices.postAppLog('Acción Maquina', 'Suspender VM', true, 'VM suspendida correctamente', machine.ServiceID)\r\n },\r\n error => {\r\n this.ShowSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog('Acción Maquina', 'Suspender VM', false, 'No fue posible suspender la VM', machine.ServiceID)\r\n }\r\n );\r\n }\r\n ResumeVm(machine: ServiceDTO) {\r\n this.ShowSnackbar('Reactivando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = 'BUSY';\r\n this.service.ResumeVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = 'POWER_ON';\r\n this.ShowSnackbar(machine.ServiceID + ' reactivada correctamente', null);\r\n this.logsServices.postAppLog('Acción Maquina', 'Reactivar VM', true, 'VM reactivada correctamente', machine.ServiceID)\r\n },\r\n error => {\r\n this.ShowSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog('Acción Maquina', 'Reactivar VM', false, 'No fue posible reactivar la VM', machine.ServiceID)\r\n }\r\n );\r\n }\r\n ShowSnackbar(message, action) {\r\n this.snackbar.open(message, action, {\r\n duration: 2000\r\n });\r\n }\r\n ReplaceName(name) {\r\n const response = name.replace(/_/g, ' ');\r\n let capitalizeName = '';\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length !== 0) {\r\n capitalizeName += ' ';\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n getMachineImage(machine: ServiceDTO) {\r\n if (machine.Configuration.OperativeSystem.Os.indexOf('WIN') !== -1) {\r\n return 'sidenav-detail-windows';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('DEBIAN') !== -1) {\r\n return 'sidenav-detail-debian';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('CENTOS') !== -1) {\r\n return 'sidenav-detail-centos';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('UBUNTU') !== -1) {\r\n return 'sidenav-detail-ubuntu';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('SUSE') !== -1) {\r\n return 'sidenav-detail-suse';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('REDHAT') !== -1) {\r\n return 'sidenav-detail-redhat';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('Other') !== -1) {\r\n return 'sidenav-detail-noos';\r\n } else {\r\n return 'sidenav-detail-linux';\r\n }\r\n }\r\n GetOperationsState(state) {\r\n return 'circle-' + state;\r\n }\r\n showPassword() {\r\n const x = document.getElementById('passwordMachine');\r\n const type = x.getAttribute('type');\r\n if (type === 'password') {\r\n x.setAttribute('type', 'text');\r\n } else {\r\n x.setAttribute('type', 'password');\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n # {{machine.ServiceID}}\r\n
\r\n {{ReplaceName(machine.Configuration.OperativeSystem.Os)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.MACHINE_CONFIGURATION' | translate}}\r\n
\r\n
\r\n
\r\n
\r\n fiber_manual_record\r\n
\r\n
\r\n {{'DATACENTER.MACHINESTATUS' | translate}}:\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.Cores.Value}}\r\n
\r\n
\r\n {{'DATACENTER.CORES' | translate}}:\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.Ram.Value}}\r\n
\r\n
\r\n {{'DATACENTER.RAM' | translate}}:\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.NETWORK_CONFIGURATION' | translate}}\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.PRIVATE_IP' | translate}}:\r\n
\r\n
\r\n {{machine.Configuration.PrivateIp}}\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.MAC_ADDRESS' | translate}}:\r\n
\r\n
\r\n {{machine.Configuration.MacAddress}}\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.RDP_ACCESS' | translate}}:\r\n
\r\n
\r\n {{machine.Configuration.RemoteAccess}}\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.PASSWORD' | translate}}:\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, Output, OnInit, OnChanges, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { FirewallDTO, FirewallSourceDTO, FirewallApplication, FirewallSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'firewall-settings',\r\n templateUrl: './firewall-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class FirewallConfiguration implements OnInit, OnChanges {\r\n @Input(\"FirewallRule\") Rule: FirewallDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"IpSets\") ipSets: Array;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"PrivateIps\") PrivateIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"IsNew\") IsNew : boolean = true;\r\n @Output() NewBindings = new EventEmitter();\r\n const: Constants = new Constants();\r\n loading: boolean = false;\r\n requirePort: boolean = false;\r\n private validForm: boolean = false;\r\n source: FirewallSourceDTO = new FirewallSourceDTO();\r\n Destination: FirewallSourceDTO = new FirewallSourceDTO();\r\n newApplication: FirewallApplication = new FirewallApplication();\r\n saveRequest: FirewallSaveRequestDTO = new FirewallSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n firewallForm: FormGroup;\r\n applicationForm:FormGroup;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.firewallForm = this.formBuilder.group({\r\n 'name' : ['',[Validators.required]],\r\n 'ruleType' : ['',[Validators.required]],\r\n 'sourceIp' : ['',''],\r\n 'status' : ['',[Validators.required]],\r\n 'destinationIP' : ['',''],\r\n\r\n });\r\n\r\n this.applicationForm = this.formBuilder.group({\r\n 'specifyPorts' : ['',[Validators.required]],\r\n 'protocol' : ['', [Validators.required]],\r\n 'port' : ['', [Validators.pattern(/(^(\\d{1,5}\\-\\d{1,5})$)|(^\\d{1,5}$)/)]],\r\n });\r\n }\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.requirePort = false;\r\n this.source = new FirewallSourceDTO();\r\n this.Destination = new FirewallSourceDTO();\r\n this.newApplication = new FirewallApplication();\r\n this.saveRequest = new FirewallSaveRequestDTO();\r\n }\r\n\r\n getPorts() {\r\n if (this.Rule.Port){\r\n\r\n return this.Rule.Port.split(\", \").filter(f => f.toUpperCase() != \"ANY\")\r\n }\r\n else{\r\n\r\n return [];\r\n }\r\n }\r\n\r\n saveApplication() {\r\n var temp = this.getPorts();\r\n temp.push(this.newApplication.protocol + \" \" + this.newApplication.port);\r\n this.Rule.Port = temp.join(\", \")\r\n this.newApplication = new FirewallApplication();\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new FirewallDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['Rule']) {\r\n this.requirePort = false;\r\n if (changes['Rule'].currentValue && changes['Rule'].currentValue.Port.toUpperCase() != \"\" && changes['Rule'].currentValue.Port.toUpperCase() != \"ANY\" && changes['Rule'].currentValue.Port.split(\", \").length > 0)\r\n {\r\n this.requirePort = true;\r\n console.log(changes['Rule'].currentValue.Port.toUpperCase());\r\n }\r\n if (changes['Rule'].currentValue.Source != null && changes['Rule'].currentValue.Source.IpAddress.length > 0)\r\n this.source.IpAddress = changes['Rule'].currentValue.Source.IpAddress;\r\n else if (changes['Rule'].currentValue.Source == null)\r\n this.source.IpAddress = [\"any\"];\r\n\r\n if (changes['Rule'].currentValue.Destination != null && changes['Rule'].currentValue.Destination.IpAddress.length > 0)\r\n this.Destination.IpAddress = changes['Rule'].currentValue.Destination.IpAddress;\r\n else if (changes['Rule'].currentValue.Destination == null)\r\n {\r\n this.Destination = new FirewallSourceDTO();\r\n this.Destination.IpAddress = [\"any\"];\r\n }\r\n\r\n if (changes['Rule'].currentValue.Destination) {\r\n if (changes['Rule'].currentValue.Destination.GroupingObjectId && changes['Rule'].currentValue.Destination.GroupingObjectId.length > 0) {\r\n this.Rule.Destination.groupingObjectId = changes['Rule'].currentValue.Destination.GroupingObjectId;\r\n this.Destination.groupingObjectId = changes['Rule'].currentValue.Destination.GroupingObjectId;\r\n this.Rule.Destination.IpAddress = [];\r\n this.Destination.IpAddress = [];\r\n for(let detIP of this.Rule.Destination.groupingObjectId)\r\n {\r\n let tmp = this.ipSets.filter(i => i.ObjectId == detIP)[0];\r\n if (tmp) {\r\n this.Rule.Destination.IpAddress.push(tmp.Value);\r\n this.Destination.IpAddress.push(tmp.Value.toString());\r\n }\r\n }\r\n }\r\n else\r\n {\r\n this.Destination.IpAddress = changes['Rule'].currentValue.Destination.IpAddress;\r\n this.Rule.Destination.IpAddress = changes['Rule'].currentValue.Destination.IpAddress;\r\n }\r\n\r\n if(changes['Rule'].currentValue.Application == null || changes['Rule'].currentValue.Application == [])\r\n this.Rule.Application = [];\r\n }\r\n else if(changes['Rule'].currentValue.Destination == null)\r\n {\r\n this.Destination = new FirewallSourceDTO();\r\n this.Rule.Destination = new FirewallSourceDTO();\r\n }\r\n }\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n this.IsNew = false;\r\n }\r\n }\r\n }\r\n\r\n removePort(item) {\r\n this.Rule.Port = this.Rule.Port.split(\", \").filter(f => f != item).join(\", \");\r\n var protocol = item.split(\" \")[0];\r\n var port = item.split(\" \")[1]\r\n this.Rule.Application = this.Rule.Application.filter(f => f.port != port && f.protocol.toLowerCase() != protocol.toLowerCase());\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.firewallForm.disable();\r\n this.applicationForm.disable();\r\n\r\n if (this.source.IpAddress.length == 0)\r\n this.Rule.Source = null;\r\n else\r\n {\r\n this.Rule.Source = new FirewallSourceDTO();\r\n this.Rule.Source.groupingObjectId = [];\r\n this.Rule.Source.IpAddress = [];\r\n for(let detIP of this.source.IpAddress)\r\n {\r\n let tmp = this.ipSets.filter(i => i.Value == detIP)[0];\r\n if (tmp) {\r\n this.Rule.Source.groupingObjectId.push(tmp.ObjectId);\r\n }\r\n else {\r\n if(detIP != \"\" && detIP != null)\r\n this.Rule.Source.IpAddress.push(detIP);\r\n }\r\n }\r\n }\r\n\r\n if (this.Destination.IpAddress.length == 0)\r\n this.Rule.Destination = null;\r\n else\r\n {\r\n this.Rule.Destination = new FirewallSourceDTO();\r\n this.Rule.Destination.groupingObjectId = [];\r\n this.Rule.Destination.IpAddress = [];\r\n for(let detIP of this.Destination.IpAddress)\r\n {\r\n let tmp = this.ipSets.filter(i => i.Value == detIP)[0];\r\n if (tmp) {\r\n this.Rule.Destination.groupingObjectId.push(tmp.ObjectId);\r\n }\r\n else {\r\n if(detIP != \"\" && detIP != null)\r\n this.Rule.Destination.IpAddress.push(detIP);\r\n }\r\n }\r\n }\r\n\r\n if(this.Rule.Port.toUpperCase() == \"ANY\")\r\n this.Rule.Port = \"\";\r\n\r\n this.saveRequest.firewallRules.Rule = [];\r\n this.saveRequest.firewallRules.Rule.push(this.Rule);\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n\r\n this.wlservice.SaveFirewallRule(this.saveRequest).subscribe(\r\n response => {\r\n this.firewallForm.enable();\r\n this.applicationForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Regla de firewall creada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.Rule);\r\n },\r\n error => {\r\n this.firewallForm.enable();\r\n this.applicationForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error agregando regla de firewall ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'FIREWALL_CONFIGURATION.ADD_FIREWALL_RULE' | translate}}
\r\n
{{'FIREWALL_CONFIGURATION.EDIT_FIREWALL_RULE' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'FIREWALL_CONFIGURATION.SETTING_THE_RULE' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'FIREWALL_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{Rule.Name ? Rule.Name.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n Aceptar\r\n {{'FIREWALL_CONFIGURATION.DENY' | translate}}\r\n \r\n
\r\n
{{'FIREWALL_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n\r\n \r\n \r\n {{ipset.Value}}\r\n \r\n \r\n \r\n \r\n {{'FIREWALL_CONFIGURATION.ENABLED' | translate}}\r\n {{'FIREWALL_CONFIGURATION.DISABLED' | translate}}\r\n \r\n \r\n
\r\n
{{'FIREWALL_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n\r\n \r\n \r\n {{ipset.Value}}\r\n \r\n \r\n\r\n \r\n
\r\n
{{'FIREWALL_CONFIGURATION.PORT_CONFIGURATION' | translate}}
\r\n
\r\n 0\" class=\"margin-bottom-10\">\r\n \r\n
\r\n
{{item}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {{'FIREWALL_CONFIGURATION.NO' | translate}}\r\n {{'FIREWALL_CONFIGURATION.YES' | translate}}\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n TCP\r\n UDP\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { NatDTO, NATSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'nat-settings',\r\n templateUrl: './nat-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class NatConfiguration implements OnInit {\r\n @Input(\"NatRule\") Rule: NatDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"PublicIps\") PublicIps: Array;\r\n @Input(\"PrivateIps\") PrivateIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Output() NewBindings = new EventEmitter();\r\n constants: Constants = new Constants();\r\n loading: boolean = false;\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n natRuleForm : FormGroup;\r\n saveRequest : NATSaveRequestDTO = new NATSaveRequestDTO();\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder : FormBuilder, public auth: AuthService ) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.natRuleForm = this.formBuilder.group({\r\n 'protocolo' : ['',[Validators.required]],\r\n 'description' : ['',[Validators.required, Validators.maxLength(50)]],\r\n 'ipSource' : ['',[Validators.required, Validators.maxLength(15)]],\r\n 'ipDestination' : ['',[Validators.required, Validators.maxLength(15)]],\r\n 'originalPort' : ['',[Validators.required, Validators.maxLength(15)]],\r\n 'portDestination' : ['',[Validators.required, Validators.maxLength(15)]],\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new NatDTO();\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.natRuleForm.disable();\r\n this.saveRequest.natRules.natRule = [];\r\n this.saveRequest.natRules.natRule.push(this.Rule);\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.SaveNat(this.saveRequest).subscribe(\r\n () => {\r\n this.natRuleForm.enable();\r\n this.snackbar.open('Regla de Firewall guardada satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.Rule);\r\n },\r\n error => {\r\n this.natRuleForm.enable();\r\n this.snackbar.open('Error guardando regla NAT ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'NAT_CONFIGURATION.ADD_NAT_RULE' | translate}}
\r\n
{{'NAT_CONFIGURATION.EDIT_NAT_RULE' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'NAT_CONFIGURATION.INITIAL_SETUP' | translate}}
\r\n
\r\n \r\n {{protocol}}\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{Rule.Description ? Rule.Description.length : 0}} / 50\r\n
\r\n
\r\n
{{'NAT_CONFIGURATION.SOURCE_CONFIGURATION' | translate}}
\r\n
\r\n \r\n {{publicip}}\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{ Rule.OriginalPort ? Rule.OriginalPort.length : 0}} / 50\r\n
\r\n
\r\n
{{'NAT_CONFIGURATION.DESTINATION_CONFIGURATION' | translate}}
\r\n
\r\n \r\n {{privateip}}\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{Rule.TranslatedPort ? Rule.TranslatedPort.length : 0}} / 30\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, Output, OnInit, EventEmitter, OnChanges } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { RoutingDTO, RoutingSaveRequestDTO, InterfaceDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'routing-settings',\r\n templateUrl: './routing-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class RoutingConfiguration implements OnInit, OnChanges {\r\n @Input(\"RoutingRule\") Rule: RoutingDTO;\r\n @Input(\"RoutingRuleId\") RuleID: string;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"Vnics\") Vnics: Array;\r\n @Output() NewBindings = new EventEmitter();\r\n constants: Constants = new Constants();\r\n loading: boolean = false;\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n routingForm : any;\r\n saveRoutingRequest : RoutingSaveRequestDTO = new RoutingSaveRequestDTO();\r\n routing: any = null;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder:FormBuilder, public auth: AuthService) {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.routingForm = this.formBuilder.group({\r\n 'description' : [{value: '', disabled:this.loading},[Validators.required]],\r\n 'vnic' : [{value: '', disabled:this.loading},[Validators.required]],\r\n // tslint:disable-next-line:max-line-length\r\n 'network' : [{value: '', disabled:this.loading},[Validators.required, Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))$/)]],\r\n // tslint:disable-next-line:max-line-length\r\n 'nextHop' : [{value: '', disabled:this.loading},[Validators.required, Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]]\r\n });\r\n this.Rule = new RoutingDTO();\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new RoutingDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.routing = null;\r\n this.Rule.Mtu = \"9000\";\r\n this.Rule.AdminDistance = \"1\";\r\n this.wlservice.GetNetworkInformation(this.DatacenterID).subscribe(\r\n (response:any) => {\r\n this.routing = response.Routing;\r\n\r\n if(this.RuleID != null)\r\n {\r\n this.routing.StaticRoutes.Route.splice(this.RuleID,1);\r\n }\r\n this.routing.StaticRoutes.Route.push(this.Rule);\r\n this.saveRoutingRequest.DatacenterID = this.DatacenterID;\r\n this.saveRoutingRequest.StaticRouting = this.routing;\r\n this.wlservice.SaveRouting(this.saveRoutingRequest).subscribe(\r\n response => {\r\n this.snackbar.open('Regla de Routing guardada satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.NewBindings.emit(response);\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error guardando regla Routing ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n },\r\n error => {\r\n\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'ROUTING_CONFIGURATION.ADD_ROUTING' | translate}}
\r\n
{{'ROUTING_CONFIGURATION.MODIFY_ROUTING' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'ROUTING_CONFIGURATION.SERVICE_CONFIGURATION' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{'ROUTING_CONFIGURATION.INVALID_SUBNET' | translate}}\r\n {{'ROUTING_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.Description ? Rule.Description.length : 0}} / 50\r\n \r\n\r\n \r\n \r\n done\r\n error\r\n {{'ROUTING_CONFIGURATION.INVALID_SUBNET' | translate}}\r\n {{'ROUTING_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.Network ? Rule.Network.length : 0}} / 50\r\n \r\n\r\n \r\n \r\n done\r\n error\r\n {{'ROUTING_CONFIGURATION.INVALID_IP' | translate}}\r\n {{'ROUTING_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.NextHop ? Rule.NextHop.length : 0}} / 50\r\n \r\n\r\n \r\n \r\n {{vnic.Name}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Component, Input, Output, OnInit, EventEmitter, OnChanges } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { VpnDTO, VPNSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'vpn-settings',\r\n templateUrl: './vpn-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class VpnConfiguration implements OnInit, OnChanges {\r\n @Input(\"VpnRule\") Rule: VpnDTO;\r\n @Input(\"VpnRuleId\") RuleID: string;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"PublicIps\") PublicIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Output() NewBindings = new EventEmitter();\r\n constants: Constants = new Constants();\r\n localSubnets: string = \"\";\r\n peerSubnets: string = \"\";\r\n loading: boolean = false;\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n vpnForm : any;\r\n saveVPNRequest : VPNSaveRequestDTO = new VPNSaveRequestDTO();\r\n network: any = null;\r\n checked = false;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder:FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.vpnForm = this.formBuilder.group({\r\n 'algorithm' : ['',[Validators.required]],\r\n 'group' : ['',[Validators.required]],\r\n 'habilitarPFS' : ['',[Validators.required]],\r\n 'status' : ['',[Validators.required]],\r\n 'localIp' : ['',[Validators.required]],\r\n 'name' : ['',[Validators.required]],\r\n 'editPassword': ['',[]],\r\n 'password' : ['',[Validators.required, Validators.maxLength(64)]],\r\n 'localSubnet' : ['',[Validators.required, Validators.maxLength(600), Validators.pattern(/^((((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))\\,?)*)-?)*$/)]],\r\n 'peerIp' : ['',[Validators.required, Validators.maxLength(600)]],\r\n 'destinationIp' : ['',[Validators.required, Validators.maxLength(600), Validators.pattern(/^((((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))\\,?)*)-?)*$/)]],\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new VpnDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['Rule']) {\r\n this.localSubnets = changes['Rule'].currentValue.LocalSubnets.Subnet ? changes['Rule'].currentValue.LocalSubnets.Subnet.join(\",\") : \"\";\r\n this.peerSubnets = changes['Rule'].currentValue.PeerSubnets.Subnet ? changes['Rule'].currentValue.PeerSubnets.Subnet.join(\",\") : \"\";\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.vpnForm.disable();\r\n this.Rule.LocalSubnets.Subnet = this.localSubnets.split(',');\r\n this.Rule.PeerSubnets.Subnet = this.peerSubnets.split(',');\r\n this.Rule.LocalId = this.Rule.LocalIp;\r\n this.Rule.PeerId = this.Rule.PeerIp;\r\n this.network = null;\r\n if (!this.checked) {\r\n this.Rule.Psk = null;\r\n }\r\n console.log(this.RuleID);\r\n this.wlservice.GetNetworkInformation(this.DatacenterID).subscribe(\r\n response => {\r\n this.network = response;\r\n if(this.RuleID != null && !this.Rule.IsNew)\r\n {\r\n this.network.IpSec.Sites.Site.splice(this.RuleID,1);\r\n }\r\n this.network.IpSec.Sites.Site.push(this.Rule);\r\n this.network.IpSec.Enabled = 'true';\r\n this.saveVPNRequest.DatacenterID = this.DatacenterID;\r\n this.saveVPNRequest.IpSec = this.network.IpSec;\r\n this.wlservice.SaveVpn(this.saveVPNRequest).subscribe(\r\n (response) => {\r\n this.vpnForm.enable();\r\n this.snackbar.open('Regla de vpn guardada satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.NewBindings.emit(response);\r\n },\r\n error => {\r\n this.loading = false;\r\n this.vpnForm.enable();\r\n this.snackbar.open('Error guardando regla VPN ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n },\r\n error => {\r\n console.error(error);\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.CREATE_VPN_CONNECTION' | translate}}
\r\n
{{'VPN_CONFIGURATION.EDIT_VPN_CONNECTION' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.INITIAL_SETUP' | translate}}
\r\n
\r\n \r\n \r\n {{'VPN_CONFIGURATION.ENABLED' | translate}}\r\n {{'VPN_CONFIGURATION.DISABLED' | translate}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{Rule.Name ? Rule.Name.length : 0}} / 50\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.SECURITY_SETTINGS' | translate}}
\r\n
\r\n \r\n \r\n {{encryptionAlgorithm.Name}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n {{dhGroup.Name}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n {{'VPN_CONFIGURATION.YES' | translate}}\r\n {{'VPN_CONFIGURATION.NO' | translate}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n {{'VPN_CONFIGURATION.EDIT_PASSWORD' | translate}}\r\n \r\n done\r\n error\r\n {{Rule.Psk ? Rule.Psk.length : 0}} / 64\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.THE_FIELD_MUST_BE_A_MAXIMUM_15' | translate}}
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.SOURCE_CONFIGURATION' | translate}}
\r\n
\r\n \r\n \r\n {{publicip}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{localSubnets ? localSubnets.length : 0}} / 600\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.THE_FIELD_MUST_BE_A_MAXIMUM_600' | translate}}
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.DESTINATION_SETTINGS' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{Rule.PeerIp ? Rule.PeerIp.length : 0}} / 600\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.THE_FIELD_MUST_BE_A_MAXIMUM_600' | translate}}
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{peerSubnets ? peerSubnets.length : 0}} / 600\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.THE_FIELD_MUST_BE_A_MAXIMUM_600' | translate}}
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { AppProfileDTO, AppProfileSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'app-profile-table',\r\n templateUrl: './app-profile-table.component.html',\r\n styleUrls: ['./app-profile-table.component.scss']\r\n})\r\nexport class AppProfileTableComponent implements OnInit, OnChanges {\r\n @Input(\"AppProfiles\") AppProfiles: Array;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'Method', 'Template', 'CookieName', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.AppProfiles == null)\r\n this.dataSource.data = [];\r\n else\r\n this.dataSource.data = this.AppProfiles;\r\n\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.AppProfiles == null)\r\n this.dataSource.data = [];\r\n else\r\n this.dataSource.data = this.AppProfiles;\r\n\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveApplicationProfileModal(rule: AppProfileDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Application Profile\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveApplicationProfile(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveApplicationProfile(rule: AppProfileDTO) {\r\n let req = new AppProfileSaveRequestDTO();\r\n req.ApplicationProfile = rule;\r\n req.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemoveAppProfile(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Application Profile eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando Application Profile ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditAppProfile(rule: AppProfileDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n Método\r\n {{row.Persistence.Method}} \r\n \r\n \r\n Cookie Name\r\n {{row.Persistence.Expire}} \r\n \r\n \r\n Tipo de Template\r\n {{row.Template}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, Input, Output, OnInit, OnChanges, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { AppProfileDTO, AppProfileSaveRequestDTO, PersistenceAppProfileDTO } from '../../../../models/dtos.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'applicationProfile-settings',\r\n templateUrl: './application-profile.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class ApplicationProfileComponent implements OnInit, OnChanges {\r\n @Input(\"ApplicationProfile\") AppProfile: AppProfileDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"IpSets\") ipSets: Array;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"PrivateIps\") PrivateIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"IsNew\") IsNew : boolean = true;\r\n @Output() NewBindings = new EventEmitter();\r\n const: Constants = new Constants();\r\n loading: boolean = false;\r\n private validForm: boolean = false;\r\n saveRequest: AppProfileSaveRequestDTO = new AppProfileSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n appProfileForm: FormGroup;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.appProfileForm = this.formBuilder.group({\r\n 'Name' : ['',[Validators.required]],\r\n 'Template' : ['',[Validators.required]],\r\n 'Method' : ['',[Validators.required]],\r\n 'CookieName' : [{value: '', disabled: false},[]],\r\n 'CookieMode' : [{value: '', disabled: false},[]],\r\n 'Expire' : [{value: '', disabled: false},[]],\r\n\r\n });\r\n\r\n this.appProfileForm.valueChanges.subscribe(values => {\r\n if(values['Method'] === 'cookie'){\r\n this.appProfileForm.controls['CookieName'].setValidators([Validators.required]);\r\n this.appProfileForm.controls['CookieName'].updateValueAndValidity({emitEvent: false});\r\n this.appProfileForm.controls['CookieMode'].setValidators([Validators.required]);\r\n this.appProfileForm.controls['CookieMode'].updateValueAndValidity({emitEvent: false});\r\n }\r\n else{\r\n if(this.AppProfile.ApplicationProfileId == null)\r\n {\r\n this.appProfileForm.controls['CookieName'].setValue('',{emitEvent: false});\r\n this.appProfileForm.controls['CookieMode'].setValue('',{emitEvent: false});\r\n }\r\n\r\n this.appProfileForm.controls['CookieName'].setValidators([]);\r\n this.appProfileForm.controls['CookieName'].updateValueAndValidity({emitEvent: false});\r\n this.appProfileForm.controls['CookieMode'].setValidators([]);\r\n this.appProfileForm.controls['CookieMode'].updateValueAndValidity({emitEvent: false});\r\n }\r\n\r\n if(values['Method'] === 'none' || values['Method'] === '')\r\n {\r\n if(this.AppProfile.ApplicationProfileId == null)\r\n this.appProfileForm.controls['Expire'].setValue('',{emitEvent: false});\r\n\r\n this.appProfileForm.controls['Expire'].setValidators([]);\r\n this.appProfileForm.controls['Expire'].updateValueAndValidity({emitEvent: false});\r\n }\r\n else{\r\n this.appProfileForm.controls['Expire'].setValidators([Validators.required]);\r\n this.appProfileForm.controls['Expire'].updateValueAndValidity({emitEvent: false});\r\n }\r\n });\r\n }\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.saveRequest = new AppProfileSaveRequestDTO();\r\n }\r\n\r\n ngOnInit() {\r\n this.AppProfile = new AppProfileDTO();\r\n this.AppProfile.Persistence = new PersistenceAppProfileDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n this.IsNew = false;\r\n }\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.appProfileForm.disable();\r\n\r\n this.saveRequest.ApplicationProfile = this.AppProfile;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.SaveAppProfile(this.saveRequest).subscribe(\r\n response => {\r\n this.appProfileForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('App profile creada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n },\r\n error => {\r\n this.appProfileForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error agregando app profile ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'APPLICATION_PROFILE.ADD_APPLICATION_PROFILE' | translate}}
\r\n
{{'APPLICATION_PROFILE.EDIT_APPLICATION_PROFILE' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'APPLICATION_PROFILE.CONFIGURATION_OF_THE_APPLICATION_PROFILE' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'APPLICATION_PROFILE.REQUIRED_FIELD' | translate}}
\r\n
\r\n
\r\n {{AppProfile.Name ? AppProfile.Name.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n TCP\r\n HTTP\r\n HTTPS\r\n UDP\r\n \r\n \r\n \r\n \r\n None\r\n Cookie\r\n {{'APPLICATION_PROFILE.IP_SOURCE' | translate}}\r\n MSRDP\r\n \r\n \r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'APPLICATION_PROFILE.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{AppProfile.Persistence.CookieName ? AppProfile.Persistence.CookieName.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n Insert\r\n Prefix\r\n App Session\r\n \r\n \r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'APPLICATION_PROFILE.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{AppProfile.Persistence.Expire ? AppProfile.Persistence.Expire.length : 0}} / 50\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { DHCPDTO, DHCPSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'dhcp-table',\r\n templateUrl: './dhcp-table.component.html',\r\n styleUrls: ['./dhcp-table.component.scss']\r\n})\r\nexport class DhcpTableComponent implements OnInit, OnChanges {\r\n @Input(\"DHCPRules\") DHCPRules: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['IpAddress', 'ServiceID', 'ServiceName', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n this.dataSource.data = this.DHCPRules;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n this.dataSource.data = this.DHCPRules;\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveDHCPRuleModal(rule: DHCPDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla DHCP\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveDHCPRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveDHCPRule(rule: DHCPDTO) {\r\n let DeleteDHCPRequest = new DHCPSaveRequestDTO();\r\n DeleteDHCPRequest.staticBinding = rule;\r\n DeleteDHCPRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemoveDHCPRule(DeleteDHCPRequest).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla DHCP eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla DHCP ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditDHCPRule(rule: DHCPDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Ip Privada\r\n {{row.IpAddress}} \r\n \r\n \r\n Service ID\r\n {{row.ServiceID}} \r\n \r\n \r\n Nombre Máquina\r\n {{row.ServiceName}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, OnChanges, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { DHCPDTO, ServiceDTO, DHCPSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'dhcp-settings',\r\n templateUrl: './dhcp-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class DhcpConfiguration implements OnInit, OnChanges {\r\n @Input(\"DhcpRule\") Rule: DHCPDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"AvailableMacs\") AvailableMacs: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Output() NewBindings = new EventEmitter();\r\n loading: boolean = false;\r\n selectedMac: ServiceDTO = new ServiceDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n dhcpConfigurationFb : FormGroup;\r\n saveRequest : DHCPSaveRequestDTO = new DHCPSaveRequestDTO();\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, public formBuilder : FormBuilder, public auth: AuthService ) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.dhcpConfigurationFb = this.formBuilder.group({\r\n 'mac' : [{value: '', disabled:this.loading},[Validators.required]],\r\n 'ipAddress' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n 'defaultGateway' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n 'primaryNameServer' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n 'secondaryNameServer' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n 'subnetMask' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]]\r\n });\r\n\r\n }\r\n\r\n selectServiceID(selected) {\r\n this.Rule.MacAddress = selected.value.Configuration.MacAddress;\r\n this.Rule.Hostname = \"VM\" + selected.value.ServiceID;\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new DHCPDTO();\r\n this.AvailableMacs = [];\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['Rule'] && changes['Rule'].currentValue.MacAddress) {\r\n this.selectedMac = this.AvailableMacs.filter(f => f.Configuration.MacAddress == changes['Rule'].currentValue.MacAddress)[0];\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.dhcpConfigurationFb.disable();\r\n this.saveRequest.staticBinding = this.Rule;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.AddDHCPRule(this.saveRequest).subscribe(\r\n response => {\r\n this.dhcpConfigurationFb.enable();\r\n this.snackbar.open('Regla DHCP guardada satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.NewBindings.emit(response);\r\n },\r\n error => {\r\n this.dhcpConfigurationFb.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando regla DHCP ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'DHCP_CONFIGURATION.ADD_DHCP' | translate}}
\r\n
{{'DHCP_CONFIGURATION.EDIT_DHCP' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'DHCP_CONFIGURATION.SERVICE_CONFIGURATION' | translate}}
\r\n
\r\n \r\n \r\n {{mac.ServiceID}}\r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n \r\n\r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{ Rule.IpAddress ? Rule.IpAddress.length : 0}} / 50\r\n \r\n
\r\n
{{'DHCP_CONFIGURATION.NETWORK_CONFIGURATION' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.DefaultGateway ? Rule.DefaultGateway.length : 0}} / 50\r\n \r\n\r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.PrimaryNameServer ? Rule.PrimaryNameServer.length : 0}} / 20\r\n \r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.SecondaryNameServer ? Rule.SecondaryNameServer.length : 0}} / 30\r\n \r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.SubnetMask ? Rule.SubnetMask.length : 0}} / 30\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { FirewallDTO, FirewallSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'firewall-component',\r\n templateUrl: './firewall-component.component.html',\r\n styleUrls: ['./firewall-component.component.scss']\r\n})\r\nexport class FirewallComponent implements OnInit, OnChanges {\r\n @Input(\"FirewallRules\") FirewallRules: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'Action', 'SourceIp', 'DestinationIp', 'Port', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n this.dataSource.data = this.FirewallRules;\r\n \r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n this.dataSource.data = this.FirewallRules;\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveFirewallModal(rule: FirewallDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla de Firewall\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveFirewallRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveFirewallRule(rule: FirewallDTO) {\r\n let req = new FirewallSaveRequestDTO()\r\n req.DatacenterID = this.DatacenterID;\r\n req.firewallRules.Rule.push(rule);\r\n this.wlservice.RemoveFirewallRule(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla eliminada satisfactoriamente. ', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditFirewallRule(rule: FirewallDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n Acción\r\n {{row.Action}} \r\n \r\n \r\n IP Origen\r\n {{row.SourceIp}} \r\n \r\n \r\n IP Destino\r\n {{row.DestinationIp}} \r\n \r\n \r\n Puerto\r\n {{row.Port}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit, Input, Output } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-interfaces-stats',\r\n templateUrl: './interfaces-stats.component.html',\r\n styleUrls: ['./interfaces-stats.component.css']\r\n})\r\nexport class InterfacesStatsComponent implements OnInit {\r\n\r\n dataCenterID: string;\r\n InterfacesCharts : any = {\r\n colorScheme : {\r\n domain: ['#fac51d','#66bd6d','#faa026','#C7B42C','#29bb9c','#e96b56','#bbef94','#ff9f9f','#92e7ef','#5b8e7d']\r\n },\r\n // options\r\n showXAxis : true,\r\n showYAxis : true,\r\n roundDomains: true,\r\n gradient : true,\r\n showLegend : true,\r\n showXAxisLabel : true,\r\n showYAxisLabel : true,\r\n yAxisLabel : 'kbps',\r\n autoScale : true,\r\n data : [],\r\n schemeType : 'ordinal',\r\n animations : true\r\n }\r\n\r\n constructor( private wlservice: WlService , public snackbar: MatSnackBar, private router: Router, private route: ActivatedRoute) {\r\n this.route.params.subscribe(params => {\r\n this.dataCenterID = params[\"datacenterID\"];\r\n });\r\n }\r\n\r\n filterData(timeFilter : string){ \r\n this.GetDataCharts(timeFilter); \r\n }\r\n\r\n ngOnInit() {\r\n this.GetDataCharts(\"oneDay\");\r\n }\r\n onSelect(event) {\r\n console.log(event);\r\n }\r\n GetDataCharts(timeFilter : string){\r\n this.wlservice.GetInterfacesStats(this.dataCenterID,timeFilter).subscribe((response:any) => {\r\n this.InterfacesCharts.data = response.Data;\r\n },error => {\r\n this.InterfacesCharts.data = [];\r\n this.snackbar.open('Error al consultar estadísticas en la nube'+ error.error, null, {\r\n duration: 3000,\r\n });\r\n });\r\n }\r\n Refresh(){\r\n this.InterfacesCharts.data = [];\r\n this.GetDataCharts(\"oneDay\");\r\n }\r\n calendarAxisTickFormatting(date: string) {\r\n const day : Date = new Date(date);\r\n return day.toLocaleTimeString('en-US', { hour12: true, \r\n hour: \"numeric\", \r\n minute: \"numeric\"})\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input, Output, OnInit, OnChanges, ViewChild, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { IPSetDTO, IPSetSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ipset-settings',\r\n templateUrl: './ipset-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class IpsetConfigurationComponent implements OnInit, OnChanges {\r\n @Input(\"IPSet\") IPSet: IPSetDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Output() NewBindings = new EventEmitter();\r\n loading: boolean = false;\r\n private validForm: boolean = false;\r\n saveRequest: IPSetSaveRequestDTO = new IPSetSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n ipsetForm: FormGroup;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.ipsetForm = this.formBuilder.group({\r\n 'Value' : ['', [Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n\r\n });\r\n }\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.saveRequest = new IPSetSaveRequestDTO();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n }\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.ipsetForm.disable();\r\n\r\n if(this.IPSet.ObjectId != null)\r\n {\r\n this.IPSet.Revision = this.IPSet.Revision + 1;\r\n } else{\r\n this.IPSet.Name = this.IPSet.Value;\r\n }\r\n this.saveRequest.IPSet = this.IPSet;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.SaveIPSet(this.saveRequest).subscribe(\r\n response => {\r\n this.ipsetForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('IPSet Guardado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.IPSet);\r\n },\r\n error => {\r\n this.ipsetForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando IPSet ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
Agregar IPSet
\r\n
Editar IPSet
\r\n
\r\n
\r\n
\r\n
\r\n
Configuración del IPSet
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n {{IPSet.Value ? IPSet.Value.length : 0}} / 50\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IPSetDTO, IPSetSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'ipset-table',\r\n templateUrl: './ipset-table.component.html',\r\n styleUrls: ['./ipset-table.component.scss']\r\n})\r\nexport class IpsetTableComponent implements OnInit, OnChanges {\r\n @Input(\"IPSet\") IPSet: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Value', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.IPSet != null)\r\n this.dataSource.data = this.IPSet;\r\n else\r\n this.dataSource.data = [];\r\n\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.IPSet != null)\r\n this.dataSource.data = this.IPSet;\r\n else\r\n this.dataSource.data = [];\r\n\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveIPSetModal(rule: IPSetDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar IPSet\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveIPSet(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveIPSet(rule: IPSetDTO) {\r\n let req = new IPSetSaveRequestDTO();\r\n req.IPSet = rule;\r\n req.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemoveIPSet(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('IP Set eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando IP Set ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditIPSet(rule: IPSetDTO) {\r\n console.log(rule);\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Miembros\r\n {{row.Value}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges, ChangeDetectorRef } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource, MatTable } from '@angular/material/table';\r\nimport { NatDTO, NATSaveRequestDTO, AllNATSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'nat-table',\r\n templateUrl: './nat-table.component.html',\r\n styleUrls: ['./nat-table.component.scss']\r\n})\r\nexport class NatTableComponent implements OnInit, OnChanges {\r\n @Input(\"NatRules\") NatRules: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n public resultsLength = 10;\r\n changeOrder: boolean = false;\r\n dataSource: MatTableDataSource = new MatTableDataSource();\r\n saveRequest : AllNATSaveRequestDTO = new AllNATSaveRequestDTO();\r\n displayedColumns = ['Index','Description', 'Protocol', 'OriginalAddress', 'OriginalPort', 'TranslatedAddress', 'TranslatedPort', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar, private changeDetectorRefs: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n this.dataSource.data = this.NatRules;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n this.dataSource.data = this.NatRules;\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n RemoveNatRuleModal(rule: NatDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla NAT\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveNatRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveNatRule(rule: NatDTO) {\r\n let req = new NATSaveRequestDTO();\r\n\r\n req.natRules.natRule = [];\r\n req.natRules.natRule.push(rule);\r\n req.DatacenterID = this.DatacenterID;\r\n req.natRules.natRule[0].RuleTag = \"0\";\r\n this.wlservice.RemoveNatRule(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla de NAT eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla de NAT ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n}\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.changeOrder = false;\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditNatRule(rule: NatDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n\r\n RuleUp(index){\r\n var temp = this.dataSource.data[index - 1];\r\n this.dataSource.data[index - 1] = this.dataSource.data[index]\r\n this.dataSource.data[index] = temp;\r\n this.changeOrder = true;\r\n this.dataSource.sort = this.sort;\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n\r\n RuleDown(index){\r\n var temp = this.dataSource.data[index + 1];\r\n this.dataSource.data[index + 1] = this.dataSource.data[index]\r\n this.dataSource.data[index] = temp;\r\n this.changeOrder = true;\r\n this.dataSource.sort = this.sort;\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n \r\n SaveNatRules() {\r\n this.Loading = true;\r\n this.saveRequest.nat.natRules.natRule = this.dataSource.data;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n\r\n for(let rule of this.saveRequest.nat.natRules.natRule){\r\n rule.RuleId = null;\r\n rule.RuleTag = null;\r\n\r\n if(rule.Action == \"snat\")\r\n {\r\n rule.OriginalPort = null;\r\n rule.TranslatedPort = null;\r\n }\r\n }\r\n this.wlservice.SaveAllNat(this.saveRequest).subscribe(\r\n response => {\r\n this.snackbar.open('Reglas de NAT guardadas satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.ReloadNetwork();\r\n },\r\n error => {\r\n this.snackbar.open('Error guardando reglas NAT ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n this.ReloadNetwork();\r\n }\r\n )\r\n \r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n #\r\n {{dataSource.data.indexOf(row) + 1}} \r\n \r\n \r\n Nombre\r\n {{row.Description}} \r\n \r\n \r\n Protocolo\r\n {{row.Protocol}} \r\n \r\n \r\n IP Origen\r\n {{row.OriginalAddress}} \r\n \r\n \r\n Puerto Origen\r\n {{row.OriginalPort}} \r\n \r\n \r\n IP Destino\r\n {{row.TranslatedAddress}} \r\n \r\n \r\n Puerto Destino\r\n {{row.TranslatedPort}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { ServiceDTO, VpnDTO, RoutingDTO,\r\n FirewallDTO, DHCPDTO, NatDTO, InterfaceDTO, AppProfileDTO, PersistenceAppProfileDTO,\r\n VirtualServerDTO, PoolDTO, IPSetDTO, IPSetSaveRequestDTO, FirewallSourceDTO, CustomerMachinesService } from '../../../models/dtos.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { MatTabChangeEvent } from '@angular/material/tabs';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\n\r\n@Component({\r\n selector: 'network-settings',\r\n styleUrls: ['networkSettings.scss'],\r\n templateUrl: 'networkSettings.html'\r\n})\r\n\r\nexport class NetworkSettings implements OnInit {\r\n \r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n loadBalancerOption = 'applicationProfile';\r\n dataCenterID: string;\r\n isNewFirewallRule = true;\r\n AvailableMacs: Array;\r\n Vnics: Array = [];\r\n PublicIps: Array = [];\r\n PrivateIps: Array = [];\r\n selectedRule: DHCPDTO = new DHCPDTO();\r\n mostrarIp = false;\r\n selectedNatRule: NatDTO = new NatDTO();\r\n selectedVpnRule: VpnDTO = new VpnDTO();\r\n selectedVpnRuleID: string = null;\r\n ID: string = null;\r\n selectedRoutingRule: RoutingDTO = new RoutingDTO();\r\n selectedRoutingRuleID: string = null;\r\n selectedApplicationProfile: AppProfileDTO = new AppProfileDTO();\r\n selectedIPSet: IPSetDTO = new IPSetDTO();\r\n selectedVirtualServer: VirtualServerDTO = new VirtualServerDTO();\r\n selectedPool: PoolDTO = new PoolDTO();\r\n selectedFirewallRule: FirewallDTO = new FirewallDTO();\r\n machines: Array = [];\r\n network: any = null;\r\n selectedService = 'FIREWALL';\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n DeleteIPSet: IPSetSaveRequestDTO = new IPSetSaveRequestDTO();\r\n FirewallRules: Array = [];\r\n NatRules: Array = [];\r\n DHCPRules: Array = [];\r\n Routing: any;\r\n IpSec: any;\r\n AppProfiles: Array;\r\n Pool: Array;\r\n VirtualServer: Array;\r\n IPSet: Array;\r\n Loading: boolean;\r\n errorLoadingEdge = false;\r\n\r\n constructor(private wlservice: WlService,\r\n public dialog: MatDialog,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n public snackbar: MatSnackBar,\r\n private broadcast: BroadcastEmitter) {\r\n this.route.params.subscribe(params => {\r\n console.log('El Dtacenter', params)\r\n this.dataCenterID = params.datacenterID;\r\n this.token = localStorage.getItem('usertoken');\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetMachines();\r\n this.GetEdge();\r\n }\r\n\r\n SetToolbar() {\r\n this.broadcast.SendMessage({\r\n actions: [\r\n { icon: 'queue', name: 'Agregar regla de NAT',\r\n action: () => { this.ServiceButtonClick('NAT'); this.AddNat(); } },\r\n { icon: 'add_circle_outline', name: 'Agregar regla DHCP',\r\n action: () => { this.ServiceButtonClick('DHCP'); this.AddDhcp(); } },\r\n { icon: 'add_box_outline', name: 'Agregar VPN',\r\n action: () => { this.ServiceButtonClick('VPN'); this.AddVpn(); } },\r\n { icon: 'whatshot', name: 'Agregar regla de firewall',\r\n action: () => { this.ServiceButtonClick('FIREWALL'); this.AddFirewallRule(); } },\r\n { icon: 'compare_arrows', name: 'Agregar Routing',\r\n action: () => { this.ServiceButtonClick('ROUTING'); this.AddRouting(); } },\r\n { icon: 'http', name: 'Agregar Application Profile',\r\n action: () => { this.ServiceButtonClick('APP_PROFILE'); this.AddApplicationProfile(); } },\r\n { icon: 'dvr', name: 'Agregar Virtual Server',\r\n action: () => { this.ServiceButtonClick('VIRTUAL_SERVER'); this.AddVirtualServer(); } },\r\n { icon: 'view_list', name: 'Agregar Pool',\r\n action: () => { this.ServiceButtonClick('POOL'); this.AddPool(); } },\r\n { icon: 'link', name: 'Agregar IPSet',\r\n action: () => { this.ServiceButtonClick('IPSET'); this.AddIPSet(); } },\r\n { icon: 'undo', name: 'Ir a máquinas virtuales',\r\n action: () => { this.GoToMachinesView(); } },\r\n ],\r\n display : true\r\n });\r\n }\r\n\r\n GetEdge() {\r\n this.Vnics = [];\r\n this.wlservice.GetEdge(this.dataCenterID).subscribe(\r\n (response: any) => {\r\n this.Vnics = response.Vnics.Vnic.filter(v => v.IsConnected === 'true');\r\n },\r\n error => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n );\r\n }\r\n\r\n GetNetworkConfiguration() {\r\n this.network = null;\r\n this.Loading = true;\r\n this.wlservice.GetNetworkInformation(this.dataCenterID).subscribe(\r\n response => {\r\n this.network = response;\r\n this.SetToolbar();\r\n this.LoadDhcp();\r\n this.LoadNat();\r\n this.LoadVpn();\r\n this.LoadFirewall();\r\n this.LoadRouting();\r\n this.LoadAppProfile();\r\n this.LoadVirtualServer();\r\n this.LoadPool();\r\n this.LoadIpSet();\r\n this.Loading = false;\r\n },\r\n error => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n this.errorLoadingEdge = true;\r\n console.error(error);\r\n });\r\n }\r\n\r\n AddFirewallRule() {\r\n this.isNewFirewallRule = true;\r\n this.selectedFirewallRule = new FirewallDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n EditFirewall(u) {\r\n if (u.Source == null) {\r\n u.Source = new FirewallSourceDTO();\r\n }\r\n if (u.SourceIp.toString().indexOf(', ') === -1) {\r\n u.Source.IpAddress = [u.SourceIp.toString()];\r\n } else {\r\n u.Source.IpAddress = u.SourceIp.toString().split(', ');\r\n }\r\n\r\n if (u.Destination == null) {\r\n u.Destination = new FirewallSourceDTO();\r\n }\r\n if (u.DestinationIp.toString().indexOf(', ') === -1) {\r\n u.Destination.IpAddress = [u.DestinationIp.toString()];\r\n } else {\r\n u.Destination.IpAddress = u.DestinationIp.toString().split(', ');\r\n }\r\n this.isNewFirewallRule = false;\r\n this.selectedFirewallRule = u;\r\n this.sidenav.open();\r\n }\r\n\r\n EditApplicationProfile(u) {\r\n this.selectedService = 'APP_PROFILE';\r\n this.selectedApplicationProfile = u;\r\n this.sidenav.open();\r\n }\r\n\r\n EditPool(u) {\r\n this.selectedService = 'POOL';\r\n this.selectedPool = u;\r\n this.sidenav.open();\r\n }\r\n\r\n EditVirtualServer(u) {\r\n this.selectedService = 'VIRTUAL_SERVER';\r\n this.selectedVirtualServer = u;\r\n this.sidenav.open();\r\n }\r\n\r\n EditIPSet(u) {\r\n this.selectedService = 'IPSET';\r\n this.selectedIPSet = u;\r\n this.sidenav.open();\r\n }\r\n\r\n GoToMachinesView() {\r\n this.router.navigateByUrl('/home/(main:dataCenter/' + encodeURIComponent(this.dataCenterID) + ')', { skipLocationChange: true });\r\n }\r\n\r\n ServiceButtonClick(service) {\r\n this.selectedService = service;\r\n }\r\n\r\n GetMachines() {\r\n this.Loading = true;\r\n this.wlservice.GetDataCenterMachines(this.dataCenterID).subscribe(\r\n (response: Array) => {\r\n response.forEach((machinesCategory) => {\r\n if (machinesCategory && machinesCategory.machinesList && machinesCategory.machinesList.length > 0) {\r\n this.machines = [...this.machines, ...machinesCategory.machinesList];\r\n }\r\n });\r\n this.GetNetworkConfiguration();\r\n },\r\n error => {\r\n this.GetNetworkConfiguration();\r\n this.Loading = false;\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n ReplaceName(name) {\r\n const response = name.replace(/_/g, ' ');\r\n let capitalizeName = '';\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length !== 0) {\r\n capitalizeName += ' ';\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n\r\n LoadFirewall() {\r\n\r\n this.network.Firewall.FirewallRules.Rule.forEach(element => {\r\n if (element.Source == null) {\r\n element.SourceIp = 'any';\r\n } else if (element.Source.GroupingObjectId === null || element.Source.GroupingObjectId.length === 0) {\r\n if (element.Source.IpAddress != null && element.Source.IpAddress.length > 0) {\r\n element.SourceIp = '';\r\n element.Source.IpAddress.forEach(ip => {\r\n element.SourceIp += ip + ', ';\r\n });\r\n } else if (element.Source.VnicGroupId == null) {\r\n element.SourceIp = 'any';\r\n } else {\r\n element.SourceIp = element.Source.VnicGroupId;\r\n }\r\n } else if (element.Source.GroupingObjectId.length > 0) {\r\n element.SourceIp = '';\r\n element.Source.GroupingObjectId.forEach(grob => {\r\n const agr = this.network.groupingObjects.Ipset.filter(ag => ag.ObjectId === grob)[0];\r\n element.SourceIp += agr.Value + ', ';\r\n });\r\n }\r\n\r\n if (element.Destination == null) {\r\n element.DestinationIp = 'any';\r\n } else if (element.Destination.GroupingObjectId == null || element.Destination.GroupingObjectId.length === 0) {\r\n if (element.Destination.VnicGroupId == null) {\r\n element.DestinationIp = 'any';\r\n } else {\r\n element.DestinationIp = element.Destination.VnicGroupId;\r\n }\r\n } else if (element.Destination.GroupingObjectId.length > 0) {\r\n element.DestinationIp = '';\r\n element.Destination.GroupingObjectId.forEach(grob => {\r\n const agr = this.network.groupingObjects.Ipset.filter(ag => ag.ObjectId === grob)[0];\r\n if (agr) {\r\n element.DestinationIp += agr.Value + ', ';\r\n } else {\r\n console.log('not found in groupingobjects ' + grob);\r\n }\r\n });\r\n element.DestinationIp = element.DestinationIp.slice(0, -2);\r\n }\r\n\r\n if (element.Application == null || element.Application.ApplicationId.length === 0) {\r\n element.Port = 'any';\r\n } else {\r\n\r\n element.Port = '';\r\n element.Application.ApplicationId.forEach(app => {\r\n const portsgr = this.network.ApplicationGroups.Application.filter(ag => ag.ObjectId === app)[0];\r\n if (portsgr == null){\r\n element.Port = ' any ';\r\n }else{\r\n if (portsgr.Element == null || portsgr.Element.length === 0){\r\n element.Port = ' any ';\r\n }else{\r\n console.log(\"En el IF\",portsgr.Element);\r\n element.Port += portsgr.Element.ApplicationProtocol + ' ' + portsgr.Element.Value + ', ';\r\n }\r\n\r\n }\r\n \r\n });\r\n element.Port = element.Port.slice(0, -2);\r\n }\r\n });\r\n const services = this.machines;\r\n this.PrivateIps = services.map(f => f.Configuration.PrivateIp).filter(f => f != null);\r\n this.FirewallRules = this.network.Firewall.FirewallRules.Rule;\r\n }\r\n\r\n LoadNat() {\r\n const services = this.machines;\r\n this.PublicIps = this.network.groupingObjects.Ipset.filter(f => f.Name.indexOf('PUBLIC') !== -1).map(f => f.Value);\r\n this.PrivateIps = services.map(f => f.Configuration.PrivateIp);\r\n this.NatRules = this.network.Nat.NatRules.NatRule;\r\n }\r\n\r\n LoadDhcp() {\r\n const services = this.machines;\r\n this.network.DHCP.StaticBindings.StaticBinding.forEach(element => {\r\n const service = services.filter(f => f.Configuration.MacAddress === element.MacAddress)[0];\r\n element.ServiceName = service ? this.ReplaceName(service.Configuration.OperativeSystem.Os) : null;\r\n element.ServiceID = service ? service.ServiceID : null;\r\n });\r\n this.AvailableMacs = services.filter(s => this.network.DHCP.StaticBindings.StaticBinding\r\n .map(u => u.MacAddress).indexOf(s.Configuration.MacAddress) === -1 && s.Configuration.MacAddress != null);\r\n this.DHCPRules = this.network.DHCP.StaticBindings.StaticBinding;\r\n }\r\n\r\n LoadVpn() {\r\n this.PublicIps = this.network.groupingObjects.Ipset.filter(f => f.Name.indexOf('PUBLIC') !== -1).map(f => f.Value);\r\n this.IpSec = this.network.IpSec;\r\n }\r\n\r\n LoadRouting() {\r\n this.Routing = this.network.Routing;\r\n }\r\n\r\n LoadAppProfile() {\r\n this.network.LoadBalancer.ApplicationProfile.forEach(element => {\r\n if (element.Persistence == null) {\r\n element.Persistence = new PersistenceAppProfileDTO();\r\n element.Persistence.Method = 'none';\r\n }\r\n });\r\n\r\n this.AppProfiles = this.network.LoadBalancer.ApplicationProfile;\r\n }\r\n\r\n LoadVirtualServer() {\r\n this.network.LoadBalancer.VirtualServer.forEach(element => {\r\n if (element.ApplicationProfileId == null) {\r\n element.ApplicationProfileName = '';\r\n } else {\r\n element.ApplicationProfileName = this.network.LoadBalancer.ApplicationProfile\r\n .filter(m => m.ApplicationProfileId === element.ApplicationProfileId)[0].Name;\r\n }\r\n if (element.DefaultPoolId == null) {\r\n element.DefaultPoolName = '';\r\n } else {\r\n element.DefaultPoolName = this.network.LoadBalancer.Pool.filter(m => m.PoolId === element.DefaultPoolId)[0].Name;\r\n }\r\n });\r\n this.VirtualServer = this.network.LoadBalancer.VirtualServer;\r\n }\r\n\r\n LoadPool() {\r\n this.network.LoadBalancer.Pool.forEach(element => {\r\n if (element.MonitorId == null) {\r\n element.MonitorName = '';\r\n } else {\r\n element.MonitorName = this.network.LoadBalancer.Monitor.filter(m => m.MonitorId === element.MonitorId)[0].Name;\r\n }\r\n });\r\n\r\n this.Pool = this.network.LoadBalancer.Pool;\r\n }\r\n\r\n LoadIpSet() {\r\n this.IPSet = this.network.groupingObjects.Ipset;\r\n }\r\n\r\n AddDhcp() {\r\n this.AvailableMacs = this.machines.filter(s => this.network.DHCP.StaticBindings.StaticBinding\r\n .map(u => u.MacAddress).indexOf(s.Configuration.MacAddress) === -1 && s.Configuration.MacAddress != null);\r\n if (this.AvailableMacs.length > 0) {\r\n this.selectedRule = new DHCPDTO();\r\n this.sidenav.open();\r\n } else {\r\n this.sidenav.close();\r\n this.snackbar.open('No hay maquinas disponibles', null, {\r\n duration: 3000,\r\n });\r\n }\r\n }\r\n\r\n EditDhcp(rule: DHCPDTO) {\r\n this.AvailableMacs = this.machines.filter(s => this.network.DHCP.StaticBindings.StaticBinding\r\n .map(u => u.MacAddress).filter(f => f !== rule.MacAddress)\r\n .indexOf(s.Configuration.MacAddress) === -1 && s.Configuration.MacAddress != null);\r\n this.selectedRule = rule;\r\n this.sidenav.open();\r\n }\r\n\r\n EditNat(rule: NatDTO) {\r\n this.selectedNatRule = rule;\r\n this.sidenav.open();\r\n }\r\n\r\n EditVpn(rule: VpnDTO) {\r\n this.selectedVpnRule = rule;\r\n this.selectedVpnRuleID = this.network.IpSec.Sites.Site.indexOf(rule);\r\n this.sidenav.open();\r\n }\r\n\r\n EditRouting(rule: RoutingDTO) {\r\n this.selectedRoutingRule = rule;\r\n this.selectedRoutingRuleID = this.network.Routing.StaticRoutes.Route.indexOf(rule);\r\n this.sidenav.open();\r\n }\r\n\r\n AddNat() {\r\n this.selectedNatRule = new NatDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n AddVpn() {\r\n this.selectedVpnRule = new VpnDTO();\r\n this.selectedVpnRule.IsNew = true;\r\n this.selectedVpnRuleID = null;\r\n this.sidenav.open();\r\n }\r\n\r\n AddRouting() {\r\n this.selectedRoutingRule = new RoutingDTO();\r\n this.sidenav.open();\r\n this.selectedRoutingRuleID = null;\r\n }\r\n\r\n AddApplicationProfile() {\r\n this.selectedApplicationProfile = new AppProfileDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n AddVirtualServer() {\r\n this.selectedVirtualServer = new VirtualServerDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n AddPool() {\r\n this.selectedPool = new PoolDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n AddIPSet() {\r\n this.selectedIPSet = new IPSetDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n SavedNetworkConf(Bindings) {\r\n this.GetNetworkConfiguration();\r\n }\r\n\r\n NatTab(event: MatTabChangeEvent) {\r\n this.selectedService = event.tab.textLabel;\r\n }\r\n\r\n loadBalancerActions(loadBalancerOption: string) {\r\n this.loadBalancerOption = loadBalancerOption;\r\n }\r\n}\r\n","\r\n
\r\n ERROR: La administración de redes no se encontró para esta nube\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n fiber_manual_recordFirewall\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordNAT\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordDHCP\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordVPN\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordRouting\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordLoad Balancer\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'NETWORK_SETTINGS.APPLICATION_PROFILE' | translate}}\r\n \r\n \r\n \r\n {{'NETWORK_SETTINGS.RESOURCE_POOLS' | translate}}\r\n \r\n \r\n \r\n {{'NETWORK_SETTINGS.VIRTUAL_SERVERS' | translate}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordIPSet\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { PoolDTO, PoolSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'pool-table',\r\n templateUrl: './pool-table.component.html',\r\n styleUrls: ['./pool-table.component.scss']\r\n})\r\nexport class PoolTableComponent implements OnInit, OnChanges {\r\n @Input(\"Pool\") Pool: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'Algorithm', 'MonitorName', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.Pool != null)\r\n this.dataSource.data = this.Pool;\r\n else\r\n this.dataSource.data = [];\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.Pool != null)\r\n this.dataSource.data = this.Pool;\r\n else\r\n this.dataSource.data = [];\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemovePoolModal(rule: PoolDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Pool\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemovePool(rule),\r\n }\r\n });\r\n }\r\n\r\n RemovePool(rule: PoolDTO) {\r\n let req = new PoolSaveRequestDTO();\r\n req.Pool = rule;\r\n req.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemovePool(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Pool eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando Pool ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditPool(rule: PoolDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n Algoritmo\r\n {{row.Algorithm}} \r\n \r\n \r\n Monitor\r\n {{row.MonitorName}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, Input, Output, OnInit, OnChanges, ViewChild, EventEmitter, ChangeDetectorRef } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { PoolDTO, PoolServerDTO, PoolSaveRequestDTO, MonitorDTO, ServiceDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'pool-settings',\r\n templateUrl: './pool.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class PoolComponent implements OnInit {\r\n @Input(\"Pool\") Pool: PoolDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"IpSets\") ipSets: Array;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"PrivateIps\") PrivateIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"IsNew\") IsNew : boolean = true;\r\n @Input(\"Monitors\") Monitors: Array;\r\n @Input(\"Machines\") Machines: Array;\r\n @Output() NewBindings = new EventEmitter();\r\n const: Constants = new Constants();\r\n loading: boolean = false;\r\n requirePort: boolean = false;\r\n private validForm: boolean = false;\r\n Member: PoolServerDTO = new PoolServerDTO();\r\n saveRequest: PoolSaveRequestDTO = new PoolSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n poolForm: FormGroup;\r\n serverForm:FormGroup;\r\n showMemberDetail:boolean = false;\r\n newMember:boolean = false;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService, private cdRef: ChangeDetectorRef) {\r\n // this.Machines = this.Machines.filter(f => f.Configuration.PrivateIp != null)\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.poolForm = this.formBuilder.group({\r\n 'Name' : ['',[Validators.pattern(/^[a-zA-Z0-9]+$/)]],\r\n 'Algorithm' : ['',[Validators.required]],\r\n 'MonitorId' : ['',''],\r\n });\r\n\r\n this.serverForm = this.formBuilder.group({\r\n 'IpAddress' : ['',[Validators.required]],\r\n 'Weight' : ['', [Validators.required]],\r\n 'Port' : ['', [Validators.required]],\r\n 'MonitorPort' : ['', [Validators.required]],\r\n 'MaxConn' : ['', [Validators.required]],\r\n 'MinConn' : ['', [Validators.required]],\r\n });\r\n }\r\n\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.requirePort = false;\r\n this.Member = new PoolServerDTO();\r\n this.saveRequest = new PoolSaveRequestDTO();\r\n }\r\n\r\n addMember() {\r\n this.Member = new PoolServerDTO();\r\n this.showMemberDetail = true;\r\n this.newMember = true;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n getMembers() {\r\n if (this.Pool.Member) {\r\n return this.Pool.Member;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n\r\n getMachines() {\r\n if (this.Machines) {\r\n return this.Machines.filter(f => f.Configuration.PrivateIp != null);\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n saveMember() {\r\n if(this.newMember)\r\n this.Pool.Member.push(this.Member);\r\n\r\n this.showMemberDetail = false;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n this.Pool = new PoolDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n this.IsNew = false;\r\n }\r\n }\r\n }\r\n\r\n removeMember(item) {\r\n var i = this.Pool.Member.indexOf(item);\r\n this.Pool.Member.splice(i,1);\r\n }\r\n\r\n editMember(item) {\r\n this.Member = item;\r\n this.showMemberDetail = true;\r\n this.newMember = false;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.poolForm.disable();\r\n this.serverForm.disable();\r\n\r\n for(let m of this.Pool.Member)\r\n {\r\n var machineName = this.Machines.filter(f => f.Configuration.PrivateIp == m.IpAddress).map(f => f.ServiceName)[0];\r\n m.Name = 'LB'+ machineName.replace(\".\",\"\");\r\n }\r\n\r\n this.Pool.MonitorName = null;\r\n this.saveRequest.Pool = this.Pool;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n\r\n this.wlservice.SavePool(this.saveRequest).subscribe(\r\n response => {\r\n this.poolForm.enable();\r\n this.serverForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Pool creado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.Pool);\r\n },\r\n error => {\r\n this.poolForm.enable();\r\n this.serverForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error agregando Pool ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
Agregar Pool
\r\n
Editar Pool
\r\n
\r\n
\r\n
\r\n
\r\n
Configuración
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n {{Pool.Name ? Pool.Name.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n Round-Robin\r\n IP-Hash\r\n Leastconn\r\n URI\r\n \r\n \r\n\r\n \r\n \r\n {{monitor.Name}}\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
{{globalization.networkSettings.sideNavPool.members[language]}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n {{machine.Configuration.PrivateIp}}\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n 0\" class=\"margin-bottom-10\">\r\n \r\n
\r\n
{{item.IpAddress}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { RoutingDTO, RoutingSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'routing-table',\r\n templateUrl: './routing-table.component.html',\r\n styleUrls: ['./routing-table.component.scss']\r\n})\r\nexport class RoutingTableComponent implements OnInit, OnChanges {\r\n @Input(\"Routing\") Routing: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Description', 'Network', 'NextHop', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.Routing != null)\r\n this.dataSource.data = this.Routing.StaticRoutes.Route;\r\n else\r\n this.dataSource.data = [];\r\n\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.Routing != null)\r\n this.dataSource.data = this.Routing.StaticRoutes.Route;\r\n else\r\n this.dataSource.data = [];\r\n \r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n\r\n RemoveRoutingModal(rule: RoutingDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla Routing\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveRoutingRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveRoutingRule(rule: RoutingDTO) {\r\n var i = this.Routing.StaticRoutes.Route.indexOf(rule);\r\n this.Routing.StaticRoutes.Route.splice(i,1);\r\n\r\n let req = new RoutingSaveRequestDTO();\r\n req.DatacenterID = this.DatacenterID;\r\n req.StaticRouting = this.Routing;\r\n\r\n this.wlservice.SaveRouting(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla de Routing eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla de Routing ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditRoutingRule(rule: RoutingDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Description}} \r\n \r\n \r\n Red\r\n {{row.Network}} \r\n \r\n \r\n Redireccionamiento\r\n {{row.NextHop}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { VirtualServerDTO, VirtualServerSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'virtual-server-table',\r\n templateUrl: './virtual-server-table.component.html',\r\n styleUrls: ['./virtual-server-table.component.scss']\r\n})\r\nexport class VirtualServerTableComponent implements OnInit, OnChanges {\r\n @Input(\"VirtualServer\") VirtualServer: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'ApplicationProfileName', 'IpAddress', 'Protocol', 'Port', 'DefaultPoolName', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.VirtualServer)\r\n this.dataSource.data = this.VirtualServer;\r\n else\r\n this.dataSource.data = [];\r\n\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.VirtualServer)\r\n this.dataSource.data = this.VirtualServer;\r\n else\r\n this.dataSource.data = [];\r\n \r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveVirtualServerModal(rule: VirtualServerDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Virtual Server\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveVirtualServer(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveVirtualServer(rule: VirtualServerDTO) {\r\n let req = new VirtualServerSaveRequestDTO();\r\n req.VirtualServer = rule;\r\n req.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemoveVirtualServer(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Virtual Server eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando Virtual Server ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditVirtualServer(rule: VirtualServerDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n App Profile\r\n {{row.ApplicationProfileName}} \r\n \r\n \r\n Dirección IP\r\n {{row.IpAddress}} \r\n \r\n \r\n Protocolo\r\n {{row.Protocol}} \r\n \r\n \r\n Puerto\r\n {{row.Port}} \r\n \r\n \r\n Pool\r\n {{row.DefaultPoolName}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { VirtualServerDTO, VirtualServerSaveRequestDTO, AppProfileDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'virtualServer-settings',\r\n templateUrl: './virtual-server.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\nexport class VirtualServerComponent implements OnInit {\r\n @Input(\"VirtualServer\") VirtualServer: VirtualServerDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"IpSets\") ipSets: Array;\r\n @Input(\"AppProfiles\") AppProfiles: Array;\r\n @Input(\"Pools\") Pools: Array;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"PublicIps\") PublicIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"IsNew\") IsNew : boolean = true;\r\n @Output() NewBindings = new EventEmitter();\r\n const: Constants = new Constants();\r\n loading: boolean = false;\r\n private validForm: boolean = false;\r\n saveRequest: VirtualServerSaveRequestDTO = new VirtualServerSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n virtualServerForm: FormGroup;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.virtualServerForm = this.formBuilder.group({\r\n 'Name' : ['',[Validators.required]],\r\n 'ApplicationProfileId' : ['',[Validators.required]],\r\n 'IpAddress' : ['',[Validators.required]],\r\n 'Protocol' : ['',[Validators.required]],\r\n 'Port' : ['',[Validators.required]],\r\n 'DefaultPoolId' : ['',[Validators.required]],\r\n 'ConnectionLimit' : ['',[]],\r\n 'ConnectionRateLimit' : ['',[]],\r\n });\r\n }\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.saveRequest = new VirtualServerSaveRequestDTO();\r\n }\r\n\r\n ngOnInit() {\r\n this.VirtualServer = new VirtualServerDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n this.IsNew = false;\r\n }\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.virtualServerForm.disable();\r\n\r\n this.VirtualServer.ApplicationProfileName = null;\r\n this.VirtualServer.DefaultPoolName = null;\r\n\r\n this.saveRequest.VirtualServer = this.VirtualServer;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.SaveVirtualServer(this.saveRequest).subscribe(\r\n response => {\r\n this.virtualServerForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Virtual Server creado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.VirtualServer);\r\n },\r\n error => {\r\n this.virtualServerForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error agregando Virtual Server ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'VIRTUAL_SERVER.ADD_APPLICATION_PROFILE' | translate}}
\r\n
{{'VIRTUAL_SERVER.EDIT_APPLICATION_PROFILE' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'VIRTUAL_SERVER.CONFIGURATION_OF_THE_APPLICATION_PROFILE' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{VirtualServer.Name ? VirtualServer.Name.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n {{appProfile.Name}}\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n\r\n \r\n \r\n {{publicip}}\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n\r\n \r\n \r\n TCP\r\n HTTP\r\n HTTPS\r\n UDP\r\n \r\n \r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {{pool.Name}}\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component,Inject, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'vpn-stats',\r\n templateUrl: './vpn-stats.component.html',\r\n styleUrls: ['./vpn-stats.component.scss']\r\n})\r\nexport class VpnStatsComponent{\r\n StatsArray: MatTableDataSource = new MatTableDataSource();\r\n displayedColumns = ['LocalSubnet', 'PeerSubnet', 'LastInformationalMessage', 'TunnelStatus'];\r\n loading:boolean = false;\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) {\r\n this.StatsArray.data = data.Stats;\r\n }\r\n\r\n okClick(){\r\n this.dialogRef.close();\r\n this.data.Ok();\r\n }\r\n\r\n cancelClick(){\r\n if(!this.data.Cancel)\r\n this.dialogRef.close();\r\n else\r\n this.data.Cancel();\r\n }\r\n}","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n \r\n \r\n Local Subnet \r\n {{row.LocalSubnet}} \r\n \r\n \r\n Peer Subnets\r\n {{row.PeerSubnet}} \r\n \r\n \r\n Last Informational Message\r\n {{row.LastInformationalMessage}} \r\n \r\n \r\n Tunnel Status\r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n//import { GridComponent } from 'app/tools/grid/grid.component';\r\nimport { VpnDTO, VPNSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { VpnStatsComponent } from '../vpn-stats/vpn-stats.component';\r\n\r\n@Component({\r\n selector: 'vpn-table',\r\n templateUrl: './vpn-table.component.html',\r\n styleUrls: ['./vpn-table.component.scss']\r\n})\r\nexport class VpnTableComponent implements OnInit, OnChanges {\r\n @Input(\"IpSec\") IpSec: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'Enabled', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.IpSec != null)\r\n this.dataSource.data = this.IpSec.Sites.Site;\r\n else\r\n this.dataSource.data = [];\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.IpSec != null)\r\n this.dataSource.data = this.IpSec.Sites.Site;\r\n else\r\n this.dataSource.data = [];\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveVpnModal(rule: VpnDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla Vpn\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveVpnRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveVpnRule(rule: VpnDTO) {\r\n var i = this.IpSec.Sites.Site.indexOf(rule);\r\n this.IpSec.Sites.Site.splice(i,1);\r\n\r\n if(this.IpSec.Sites.Site.length == 0)\r\n this.IpSec.Enabled = \"false\";\r\n else\r\n this.IpSec.Enabled = \"true\";\r\n \r\n let DeleteVPNRequest = new VPNSaveRequestDTO();\r\n DeleteVPNRequest.DatacenterID = this.DatacenterID;\r\n DeleteVPNRequest.IpSec = this.IpSec;\r\n\r\n this.wlservice.SaveVpn(DeleteVPNRequest).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla de VPN eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla de Vpn ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n}\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditVpnRule(rule: VpnDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n\r\n GetIpSecStats(rule: VpnDTO) {\r\n this.wlservice.GetIpSecStats(this.DatacenterID).subscribe(\r\n (response:any) => {\r\n var stats = response.SiteStatistics.filter(s => s.IkeStatus.PeerId == rule.PeerId);\r\n var TunnelStats = [];\r\n for(let s of stats)\r\n {\r\n TunnelStats.push(s.TunnelStats);\r\n }\r\n\r\n var totalUp = TunnelStats.filter(s => s.TunnelStatus.toUpperCase() == \"UP\").length;\r\n var totalDown = TunnelStats.filter(s => s.TunnelStatus.toUpperCase() == \"DOWN\").length;\r\n var title = totalUp + \" UP \" + totalDown + \" DOWN\";\r\n\r\n this.dialog.open(VpnStatsComponent, {\r\n data: {\r\n Title: title,\r\n Stats: TunnelStats\r\n }\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error consultando estadísticas de Vpn ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n Estado\r\n {{row.Enabled}} \r\n \r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","export class DhcpServerDto\r\n{\r\n public mac : string;\r\n public cid : string; \r\n public ipaddr : string; \r\n public hostname : string;\r\n public descr: string; \r\n public arp_table_static_entry: string;\r\n public filename : string\r\n public rootpath : string\r\n public defaultleasetime: string\r\n public maxleasetime :string\r\n public gateway :string\r\n public domain : string\r\n public domainsearchlist : string \r\n public ddnsdomain :string\r\n public ddnsdomainprimary : string\r\n public ddnsdomainkeyname : string\r\n public ddnsdomainkey : string\r\n public tftp : string\r\n public ldap : string\r\n public dnsserver : Array ;\r\n}","export class DnatRuleDto{\r\n\r\n public source: SourceDnatRuleDto;\r\n public destination : DestinationDnatRuleDto ; \r\n public protocol : string;\r\n public target: string;\r\n public localPort:string;\r\n public interface : string;\r\n public descr: string;\r\n public associatedRuleId :string; \r\n public updated : UpdatedDnatRuleDto; \r\n public created : UpdatedDnatRuleDto; \r\n}\r\n\r\nexport class SourceDnatRuleDto{ \r\n public address?: string;\r\n public any?: string;\r\n public network? :string;\r\n public port ?: string;\r\n}\r\n\r\nexport class DestinationDnatRuleDto {\r\n public address?: string;\r\n public any?: string;\r\n public network? :string;\r\n public port ?: string;\r\n}\r\n\r\nexport class UpdatedDnatRuleDto\r\n{\r\n public time : string; \r\n public username : string; \r\n}","export class FirewallIPDto {\r\n public name: string;\r\n public description: string;\r\n public values :string;\r\n public type:string;\r\n constructor() {\r\n this.name = null;\r\n this.description = null;\r\n this.values = null;\r\n this.type = null;\r\n }\r\n}\r\n\r\n export class FirewallIPInDto {\r\n public name: string;\r\n public description: string;\r\n public value :ipObject[];\r\n public type:string;\r\n constructor() {\r\n this.name = null;\r\n this.description = null;\r\n this.value = new Array();\r\n this.type = null;\r\n }\r\n}\r\n \r\nexport class ipObject {\r\n public address: string;\r\n public descr: string;\r\n public type :string;\r\n\r\n constructor() {\r\n this.address = '';\r\n this.descr = '';\r\n this.type = '';\r\n }\r\n\r\n}\r\n\r\nexport class RequestAliasFirewallDto\r\n{\r\n public customerId: string;\r\n public datacenterId : string;\r\n public ccid?: number ;\r\n public rulePosition? : number;\r\n public NewAliasFirewallDto: FirewallIPInDto;\r\n}\r\n\r\n\r\n\r\n\r\n","export class FirewallRulesDto {\r\n public id: string;\r\n public tracker: string;\r\n public type : string;\r\n public interface: string;\r\n public ipprotocol: string;\r\n public tag: string;\r\n public tagged: string;\r\n public max: string; \r\n public maxSrcNodes:string;\r\n public maxSrcConn: string;\r\n public maxSrcStates : string;\r\n public statetimeout : string;\r\n public statetype :string;\r\n public os : string;\r\n public protocol :string;\r\n public icmptype : string;\r\n public source :SourceFirewallRulesDto;\r\n public destination : DestinationFirewallRulesDto;\r\n public descr : string;\r\n public updated :UpdatedFirewallRulesDto;\r\n public created : UpdatedFirewallRulesDto;\r\n\r\n}\r\n\r\n\r\n\r\nexport class SourceFirewallRulesDto {\r\n public address?: string;\r\n public any?: string;\r\n public network? :string;\r\n public port ?: string;\r\n}\r\n\r\nexport class DestinationFirewallRulesDto{\r\n public address?: string;\r\n public any?: string;\r\n public network? :string;\r\n public port ?: string;\r\n}\r\n\r\n\r\nexport class UpdatedFirewallRulesDto\r\n{\r\n public time: string;\r\n public username: string; \r\n}","\r\nexport class PfenseRequestDto {\r\n public customerId :string;\r\n public datacenterId :string;\r\n}\r\n \r\n","import { AliasFirewallRulesDto} from './alias-firewall-rules-dto';\r\nimport { FirewallRulesDto} from './firewall-rules-dto';\r\nimport { SnatRulesDto } from './snat-rules-dto';\r\nimport { DnatRuleDto } from './dnat-rules-dto';\r\nimport { DhcpServerDto} from './dhcp-server-dto';\r\n\r\n\r\nexport class RulesResponseDetailsDto\r\n {\r\n public aliasFirewallRules: Array;\r\n public firewallRules: Array;\r\n public snatRules: Array;\r\n public dnatRule : Array;\r\n public dhcpServer : Array;\r\n }","export class SnatRulesDto { \r\n public sourcereport: string;\r\n public descr :string;\r\n public target: string;\r\n public targetip :string;\r\n public targetip_subnet :string;\r\n public interface :string;\r\n public poopLopts :string;\r\n public destination : DestinationSnatRulesDto;\r\n public dstport :string;\r\n public protocol: string;\r\n public source_hash_key :string;\r\n public updated :UpdatedSnatRulesDto;\r\n public created :UpdatedSnatRulesDto;\r\n public source : SourceSnatRulesDto;\r\n public staticnatport? : string;\r\n}\r\n\r\nexport class SourceSnatRulesDto{\r\n public address? : string;\r\n public any? : string;\r\n public port? : string;\r\n public network? :string;\r\n}\r\n\r\nexport class DestinationSnatRulesDto\r\n{\r\n public address? : string;\r\n public any? : string;\r\n public port? : string;\r\n public network? :string;\r\n}\r\n\r\nexport class UpdatedSnatRulesDto\r\n{\r\n public time : string;\r\n public username : string;\r\n}\r\n\r\n","import { Component, OnInit, Input, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { FirewallIPDto } from '../DTO/firewall-ip-dto';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { NewPfSenseIpComponent } from '../pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n\r\n@Component({\r\n selector: 'app-firewall-aliases-all',\r\n templateUrl: './firewall-aliases-all.component.html',\r\n styleUrls: ['./firewall-aliases-all.component.scss']\r\n})\r\nexport class FirewallAliasesAllComponent implements AfterViewInit{\r\n @Input() item:FirewallIPDto[] = [];\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['name', 'description', 'address'];\r\n dataSource: MatTableDataSource;\r\n constructor(public dialog: MatDialog) { \r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item;\r\n }\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewPfSenseIpComponent, {\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if(result){\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Name {{element.name}} Description {{element.descr}} Value {{element.address}}
\r\n \r\n
\r\n","import { Component, OnInit, Input, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { FirewallIPDto } from '../DTO/firewall-ip-dto';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NewPfSenseIpComponent } from '../pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-firewall-aliases-ports',\r\n templateUrl: './firewall-aliases-ports.component.html',\r\n styleUrls: ['./firewall-aliases-ports.component.scss']\r\n})\r\nexport class FirewallAliasesPortsComponent implements AfterViewInit {\r\n @Input() item:FirewallIPDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['name', 'description', 'address'];\r\n dataSource: MatTableDataSource;\r\n\r\n\r\n constructor(public dialog: MatDialog) { \r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item.filter(item => item.type ==='port');\r\n }\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewPfSenseIpComponent, {\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n \r\n });\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Name {{element.name}} Description {{element.descr}} Value {{element.address}}
\r\n \r\n
\r\n \r\n","import { Component, OnInit, Input, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { SnatRulesDto } from '../DTO/snat-rules-dto';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NewFirewallRuleComponent } from './new-firewall-rule/new-firewall-rule.component';\r\n\r\n@Component({\r\n selector: 'app-firewall-nat-outbound',\r\n templateUrl: './firewall-nat-outbound.component.html',\r\n styleUrls: ['./firewall-nat-outbound.component.scss']\r\n})\r\nexport class FirewallNatOutboundComponent implements AfterViewInit {\r\n\r\n @Input() item:SnatRulesDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['Interface', 'Source', 'Source Port', 'Destination', 'Destination Port','NAT Address', 'NAT Port', 'Static Port','Description' ];\r\n dataSource: MatTableDataSource;\r\n\r\n constructor(public dialog: MatDialog) { \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item;\r\n }\r\n }\r\n\r\n newRule() {\r\n\r\n const dialogRef = this.dialog.open(NewFirewallRuleComponent, {\r\n \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(\"data!!\")\r\n if(result){\r\n //this.dataSource.data.push = result;\r\n console.log(\"result\", result);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Interface {{element.interface}} Source {{element.source.network}} Source Port {{element.sourcereport}} Destination {{element.destination.address}} Destination Port {{element.dstport}} NAT Address {{element.interface}} Address NAT Port * Static Port {{(element.staticnatport) ? element.staticnatport: 'true' }} Description {{element.descr}}
\r\n \r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SnatRulesDto } from '../../DTO/snat-rules-dto';\r\n\r\n@Component({\r\n selector: 'app-new-firewall-rule',\r\n templateUrl: './new-firewall-rule.component.html',\r\n styleUrls: ['./new-firewall-rule.component.scss']\r\n})\r\nexport class NewFirewallRuleComponent implements OnInit {\r\n\r\n newRule : SnatRulesDto;\r\n disabled: boolean = false;\r\n\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder ) { \r\n this.newRule = new SnatRulesDto();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n AddRule(){\r\n /*this.service.AddFirewallRule(this.newRule).subscribe(\r\n response=>{\r\n this.rules.add(response);\r\n },\r\n error=>{}\r\n ) */\r\n }\r\n\r\n CloseRuleFormView(){\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n\r\n Crear nueva regla\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Edit Advanced Outbound NAT Entry\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Do not NAT \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n WAN\r\n \r\n \r\n LAN\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n IPv4\r\n \r\n \r\n IPv6\r\n \r\n \r\n IPv4 + IPv6\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n any\r\n \r\n \r\n TCP\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Translation\r\n
\r\n
\r\n \r\n \r\n \r\n Interface Address\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n MISC\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n ","import { AfterViewInit, Component, Inject, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { DnatRuleDto } from '../DTO/dnat-rules-dto';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NewFirewallPortRuleComponent } from '../firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component'\r\n\r\n@Component({\r\n selector: 'app-firewall-nat-port-forward',\r\n templateUrl: './firewall-nat-port-forward.component.html',\r\n styleUrls: ['./firewall-nat-port-forward.component.scss']\r\n})\r\nexport class FirewallNatPortForwardComponent implements AfterViewInit {\r\n @Input() item:DnatRuleDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['Interface', 'Protocol', 'Source Address', 'Source Ports', 'Dest. Address','Dest. Ports', 'NAT IP', 'NAT Ports', 'Description'];\r\n dataSource: MatTableDataSource;\r\n \r\n \r\n constructor(public dialog: MatDialog) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item;\r\n }\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewFirewallPortRuleComponent, {\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n \r\n });\r\n\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
Interface {{element.interface}} Protocol {{element.protocol}} Source Address {{(element.source.address) ? element.source.address : '*'}} Source Ports {{(element.source.port) ? element.source.port : '*'}} Dest. Address {{(element.source.address) ? element.source.address : '*'}} Dest. Ports {{element.destination.port}} NAT IP {{element.target}} NAT Ports Description {{element.descr}}
\r\n \r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DnatRuleDto } from '../../DTO/dnat-rules-dto';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\n@Component({\r\n selector: 'app-new-firewall-port-rule',\r\n templateUrl: './new-firewall-port-rule.component.html',\r\n styleUrls: ['./new-firewall-port-rule.component.scss']\r\n})\r\nexport class NewFirewallPortRuleComponent implements OnInit {\r\n\r\n newRule : DnatRuleDto;\r\n disabled: boolean = false;\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder) {\r\n this.newRule = new DnatRuleDto();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n AddRule(){\r\n /*this.service.AddFirewallRule(this.newRule).subscribe(\r\n response=>{\r\n this.rules.add(response);\r\n },\r\n error=>{}\r\n ) */\r\n }\r\n\r\n CloseRuleFormView(){\r\n\r\n }\r\n}","\r\n\r\n Edit Redirect Entry\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Edit Redirect Entry\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n No RDR (NOT) \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n WAN\r\n \r\n \r\n LAN\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n TCP\r\n \r\n \r\n UDP\r\n \r\n \r\n TCP/UPD\r\n \r\n \r\n ICMP\r\n \r\n \r\n ESP\r\n \r\n \r\n AH\r\n \r\n \r\n GRE\r\n \r\n \r\n IPV6\r\n \r\n \r\n IGMP\r\n \r\n \r\n PIM\r\n \r\n \r\n OSPF\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Any\r\n \r\n \r\n Network\r\n \r\n \r\n Single host or alas\r\n \r\n \r\n This Firewall (Self)\r\n \r\n \r\n PPPoE clients\r\n \r\n \r\n L2TP clients\r\n \r\n \r\n WAN Address\r\n \r\n \r\n WAN NET\r\n \r\n \r\n LAN NET \r\n \r\n \r\n MGMT net\r\n \r\n \r\n MGMT Address\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Destination port range\r\n
\r\n
\r\n \r\n \r\n \r\n Other\r\n \r\n \r\n Any\r\n \r\n \r\n BGP\r\n \r\n \r\n CVsup\r\n \r\n \r\n DNS\r\n \r\n \r\n DNS over TLS\r\n \r\n \r\n FTP\r\n \r\n \r\n HBCI\r\n \r\n \r\n HTTP \r\n \r\n \r\n HTTPS\r\n \r\n \r\n ICQ\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Other\r\n \r\n \r\n Any\r\n \r\n \r\n BGP\r\n \r\n \r\n CVsup\r\n \r\n \r\n DNS\r\n \r\n \r\n DNS over TLS\r\n \r\n \r\n FTP\r\n \r\n \r\n HBCI\r\n \r\n \r\n HTTP \r\n \r\n \r\n HTTPS\r\n \r\n \r\n ICQ\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Redirect target IP\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Description\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n No XMLRPC Sync\r\n
\r\n
\r\n Do not automatically sync to other CARP members\r\n \r\n
\r\n
\r\n
\r\n
\r\n NAT reflection\r\n
\r\n
\r\n \r\n \r\n \r\n Use System default\r\n \r\n \r\n Enable (NAT + proxy)\r\n \r\n \r\n Enable (Pure NAT)\r\n \r\n \r\n Disable\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Filter rule association\r\n
\r\n
\r\n \r\n \r\n \r\n None\r\n \r\n \r\n Add associated filter rule\r\n \r\n \r\n Add unassociated filter rule\r\n \r\n \r\n Pass\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n ","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FirewallRulesDto } from '../DTO/firewall-rules-dto';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NewFirewallRuleWanComponent} from '../firewall-rules-wan/new-firewall-rule-wan/new-firewall-rule-wan.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-firewall-rules-lan',\r\n templateUrl: './firewall-rules-lan.component.html',\r\n styleUrls: ['./firewall-rules-lan.component.scss']\r\n})\r\nexport class FirewallRulesLanComponent implements AfterViewInit {\r\n @Input() item:FirewallRulesDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['States', 'Protocol', 'Source', 'Port','Destination', 'Gateway', 'Queue', 'Schedule','Description'];\r\n dataSource: MatTableDataSource;\r\n\r\n constructor( public dialog: MatDialog) { \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item.filter(item => item.interface ==='lan');\r\n }\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewFirewallRuleWanComponent, {\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n \r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n"," \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
States {{element.statetype}} Protocol {{(element.protocol) ? element.protocol : '*'}} Source {{(element.source.address) ? element.source.address : '*'}} Port {{element.destination.port }} Destination {{element.destination.network }} Gateway * Queue none Schedule Description {{(element.descr) ? element.descr : ''}}
\r\n \r\n
\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SnatRulesDto } from '../DTO/snat-rules-dto';\r\n\r\n\r\n@Component({\r\n selector: 'app-firewall-rules-oneone',\r\n templateUrl: './firewall-rules-oneone.component.html',\r\n styleUrls: ['./firewall-rules-oneone.component.scss']\r\n})\r\n\r\nexport class FirewallRulesOneoneComponent implements OnInit {\r\n @Input() item:SnatRulesDto[] = []; // decorate the property with @Input()\r\n displayedColumns: string[] = ['Interface', 'External IP', 'Internal IP', 'Destination IP', 'Description'];\r\n dataSource = this.item;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource = this.item;\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
Interface {{element.Interface}} External IP Internal IP Internal IP Description
\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FirewallRulesDto } from '../DTO/firewall-rules-dto';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NewFirewallRuleWanComponent} from './new-firewall-rule-wan/new-firewall-rule-wan.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-firewall-rules-wan',\r\n templateUrl: './firewall-rules-wan.component.html',\r\n styleUrls: ['./firewall-rules-wan.component.scss']\r\n})\r\nexport class FirewallRulesWanComponent implements AfterViewInit {\r\n\r\n @Input() item:FirewallRulesDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['States', 'Protocol', 'Source', 'Port','Destination', 'Gateway', 'Queue', 'Schedule','Description' ];\r\n dataSource: MatTableDataSource;\r\n\r\n constructor(public dialog: MatDialog) { \r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item.filter(item => item.interface ==='wan');\r\n }\r\n }\r\n\r\n newRule(){\r\n const dialogRef = this.dialog.open(NewFirewallRuleWanComponent, {\r\n \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if(result){\r\n //this.dataSource.data.push = result;\r\n }\r\n\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
States {{element.statetype}} Protocol {{(element.protocol) ? element.protocol : '*'}} Source {{(element.source.address) ? element.source.address : '*'}} Port {{element.destination.port }} Destination {{element.destination.network }} Gateway * Queue none Schedule Description {{(element.descr) ? element.descr : ''}} acciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FirewallRulesDto } from '../../DTO/firewall-rules-dto';\r\nimport { NewFirewallPortRuleComponent } from '../../firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component';\r\n\r\n@Component({\r\n selector: 'app-new-firewall-rule-wan',\r\n templateUrl: './new-firewall-rule-wan.component.html',\r\n styleUrls: ['./new-firewall-rule-wan.component.scss']\r\n})\r\nexport class NewFirewallRuleWanComponent implements OnInit {\r\n\r\n newRule : FirewallRulesDto;\r\n disabled: boolean = false;\r\n advancedOptions :boolean = false;\r\n constructor( public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n AddRule(){\r\n /*this.service.AddFirewallRule(this.newRule).subscribe(\r\n response=>{\r\n this.rules.add(response);\r\n },\r\n error=>{}\r\n ) */\r\n }\r\n\r\n}\r\n","\r\n\r\n Edit Firewall Rule\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Edit Firewall Rule\r\n
\r\n
\r\n \r\n \r\n \r\n Pass\r\n \r\n \r\n Block\r\n \r\n \r\n Reject\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Disabled \r\n

This option is rarely needed. Don't use this without thorough knowledge of the implications.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n WAN\r\n \r\n \r\n LAN\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n IPv4\r\n \r\n \r\n IPv6\r\n \r\n \r\n IPv4 + IPv6\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n any\r\n \r\n \r\n TCP\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Source\r\n
\r\n
\r\n Invert match \r\n
\r\n
\r\n \r\n \r\n \r\n Any\r\n \r\n \r\n Network\r\n \r\n \r\n Single host or alas\r\n \r\n \r\n This Firewall (Self)\r\n \r\n \r\n PPPoE clients\r\n \r\n \r\n L2TP clients\r\n \r\n \r\n WAN Address\r\n \r\n \r\n WAN NET\r\n \r\n \r\n LAN NET \r\n \r\n \r\n MGMT net\r\n \r\n \r\n MGMT Address\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Destination\r\n
\r\n
\r\n Invert match \r\n
\r\n
\r\n \r\n \r\n \r\n Any\r\n \r\n \r\n Network\r\n \r\n \r\n Single host or alas\r\n \r\n \r\n This Firewall (Self)\r\n \r\n \r\n PPPoE clients\r\n \r\n \r\n L2TP clients\r\n \r\n \r\n WAN Address\r\n \r\n \r\n WAN NET\r\n \r\n \r\n LAN NET \r\n \r\n \r\n MGMT net\r\n \r\n \r\n MGMT Address\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Destination Port Range \r\n
\r\n
\r\n \r\n \r\n \r\n Other\r\n \r\n \r\n Any\r\n \r\n \r\n BGP\r\n \r\n \r\n CVsup\r\n \r\n \r\n DNS\r\n \r\n \r\n DNS over TLS\r\n \r\n \r\n FTP\r\n \r\n \r\n HBCI\r\n \r\n \r\n HTTP \r\n \r\n \r\n HTTPS\r\n \r\n \r\n ICQ\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Other\r\n \r\n \r\n Any\r\n \r\n \r\n BGP\r\n \r\n \r\n CVsup\r\n \r\n \r\n DNS\r\n \r\n \r\n DNS over TLS\r\n \r\n \r\n FTP\r\n \r\n \r\n HBCI\r\n \r\n \r\n HTTP \r\n \r\n \r\n HTTPS\r\n \r\n \r\n ICQ\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Extra Options\r\n
\r\n
\r\n Log\r\n

Hint: the firewall has limited local log space. Don't turn on logging for everything. If doing a lot of logging, consider using a remote syslog server (see the Status: System Logs: Settings page).

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

A description may be entered here for administrative reference. A maximum of 52 characters will be used in the ruleset and displayed in the firewall log.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Advanced Options\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Allow IP options\r\n

Allow packets with IP options to pass. Otherwise they are blocked by default. This is usually only seen with multicast traffic.

\r\n
\r\n
\r\n Disable reply-to\r\n

Disable auto generated reply-to for this rule.

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n\r\nexport class PfSenseMenuService {\r\n\r\n toggled = false;\r\n _hasBackgroundImage = true;\r\n menus = [\r\n {\r\n title: 'FIREWALL',\r\n icon: 'fa fa-server',\r\n active: false,\r\n type: 'dropdown',\r\n link: 'aliases',\r\n submenus: [\r\n {\r\n title: 'ALIAS',\r\n active: false,\r\n icon : 'fa fa-globe',\r\n type: 'simple',\r\n link: 'aliases'\r\n },\r\n {\r\n title: 'NAT',\r\n icon : 'fa fa fa-globe',\r\n active: false,\r\n type: 'simple',\r\n link: 'nat'\r\n },\r\n {\r\n title: 'FW',\r\n icon : 'fa fa fa-globe',\r\n active: false,\r\n type: 'simple',\r\n link: 'rules',\r\n }\r\n ]\r\n },\r\n {\r\n title: 'SERVICES',\r\n icon: 'fa fa-cog',\r\n active: false,\r\n type: 'dropdown',\r\n link: 'dhcp',\r\n submenus: [\r\n {\r\n title: 'DHCP SERVICES',\r\n icon :'fa fa fa-globe',\r\n component : \"Administration\",\r\n link: 'dhcp'\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Extra',\r\n type: 'header'\r\n }\r\n ];\r\n constructor() { }\r\n\r\n toggle() {\r\n this.toggled = ! this.toggled;\r\n }\r\n\r\n getSidebarState() {\r\n return this.toggled;\r\n }\r\n\r\n setSidebarState(state: boolean) {\r\n this.toggled = state;\r\n }\r\n\r\n getMenuList() {\r\n return this.menus;\r\n }\r\n\r\n get hasBackgroundImage() {\r\n return this._hasBackgroundImage;\r\n }\r\n\r\n set hasBackgroundImage(hasBackgroundImage) {\r\n this._hasBackgroundImage = hasBackgroundImage;\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from 'src/app/services/wlservice.service';\r\nimport { PfSenseMenuService } from './pf-sense-menu.service';\r\nimport { NewPfSenseIpComponent } from './pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\nimport { RulesResponseDetailsDto} from './DTO/rules-response-detail-dto';\r\nimport { PfenseRequestDto } from './DTO/pfsenseRequest-dto';\r\n\r\n\r\n@Component({\r\n selector: 'app-pf-sense-network-settings',\r\n templateUrl: './pf-sense-network-settings.component.html',\r\n styleUrls: ['./pf-sense-network-settings.component.scss'],\r\n animations: [\r\n trigger('slide', [\r\n state('up', style({ height: 0 })),\r\n state('down', style({ height: '*' })),\r\n transition('up <=> down', animate(200))\r\n ])\r\n ]\r\n})\r\nexport class PfSenseNetworkSettingsComponent implements OnInit {\r\n menus = [];\r\n PfenseRequest :PfenseRequestDto = new PfenseRequestDto() ;\r\n RulesResponseDetail : RulesResponseDetailsDto = new RulesResponseDetailsDto();\r\n loading: boolean;\r\n activeItem : string = 'alias';\r\n\r\n constructor(private menuService : PfSenseMenuService, \r\n public dialog: MatDialog, \r\n private wlservice: WlService, \r\n public snackbar: MatSnackBar,\r\n private route: ActivatedRoute) {\r\n\r\n this.route.params.subscribe(params => {\r\n this.PfenseRequest.datacenterId = params.datacenterID;\r\n this.PfenseRequest.customerId = params.customerID;\r\n\r\n //this.PfenseRequest.datacenterId = '1565';\r\n //this.PfenseRequest.customerId = null\r\n });\r\n this.menus = this.menuService.getMenuList();\r\n this.loading= false;\r\n }\r\n\r\n ngOnInit() {\r\n this.getNetworkRules();\r\n }\r\n\r\n getSideBarState() {\r\n return this.menuService.getSidebarState();\r\n }\r\n\r\n toggle (level :number, currentMenu) {\r\n if (currentMenu.type === 'dropdown') {\r\n \r\n this.menus.forEach(element => {\r\n if(level ===1){\r\n if (element === currentMenu) {\r\n currentMenu.active = !currentMenu.active;\r\n } else {\r\n element.active = false;\r\n }\r\n }else if(level ===2){\r\n \r\n if( element.submenus && element.submenus.length > 0){\r\n element.submenus.forEach(data => {\r\n if (data === currentMenu) {\r\n currentMenu.active = !currentMenu.active;\r\n } else {\r\n data.active = false;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n \r\n }\r\n }\r\n\r\n getState(currentMenu) {\r\n\r\n if (currentMenu.active) {\r\n return 'down';\r\n } else {\r\n return 'up';\r\n }\r\n }\r\n\r\n hasBackgroundImage() {\r\n return this.menuService.hasBackgroundImage;\r\n }\r\n \r\n\r\n getNetworkRules(){\r\n this.wlservice.getNeworkPfsenseRules(this.PfenseRequest).subscribe(\r\n response => {\r\n this.loading = false;\r\n if (response.data){\r\n this.RulesResponseDetail = response.data;\r\n } else{\r\n this.snackbar.open('No se encontraron redes de tipo PfSense', null, {\r\n duration: 2000,\r\n });\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('No se encontró una red de tipo pfsense', null, {\r\n duration: 2000,\r\n });\r\n }\r\n ); \r\n\r\n }\r\n\r\n\r\n public displayItem(data: string ) {\r\n this.activeItem = data;\r\n }\r\n\r\n addPfsense(){\r\n const d = this.dialog.open(NewPfSenseIpComponent, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Agregar ALLIACES'\r\n }\r\n });\r\n\r\n d.afterClosed().subscribe(result => {\r\n if (result) {\r\n\r\n console.log(\"result\", result);\r\n \r\n /* this.service.sendCalculatorCloudServerSendEmail(this.dataSendMail).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.snackbar.open('Correo Enviado Correctamente', null, {\r\n duration: 2000,\r\n });\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Ocurrió un error por favor intentelo nuevamente'+ error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n ); */\r\n\r\n }\r\n });\r\n\r\n \r\n }\r\n\r\n \r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FirewallRulesDto } from '../../DTO/firewall-rules-dto';\r\n\r\n\r\n@Component({\r\n selector: 'app-detail-pfsense-ip',\r\n templateUrl: './detail-pfsense-ip.component.html',\r\n styleUrls: ['./detail-pfsense-ip.component.scss']\r\n})\r\nexport class DetailPfsenseIpComponent implements OnInit {\r\n resource : FirewallRulesDto;\r\n\r\n constructor( private dialog : MatDialogRef ,@Inject(MAT_DIALOG_DATA) public data: FirewallRulesDto ) { \r\n this.resource = new FirewallRulesDto();\r\n if(data !=null)\r\n this.resource = data;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n okClick(){\r\n this.dialog.close();\r\n }\r\n cancelClick(){\r\n this.dialog.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Detalles\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Sistema Operativo
\r\n
computer
\r\n
1231
\r\n
\r\n
\r\n
\r\n
\r\n
Cores
\r\n
nfc
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Ram
\r\n
memory
\r\n
GB
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Estado
\r\n
adjust
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Hdd
\r\n
storage
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Remote Access
\r\n
important_devices
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Mac Address
\r\n
vpn_lock
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Orion IP
\r\n
public
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FirewallIPInDto, RequestAliasFirewallDto, ipObject} from '../../../DTO/firewall-ip-dto';\r\nimport { WlService } from '../../../../../..//services/wlservice.service';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-new-pf-sense-ip',\r\n templateUrl: './new-pf-sense-ip.component.html',\r\n styleUrls: ['./new-pf-sense-ip.component.scss']\r\n})\r\nexport class NewPfSenseIpComponent implements OnInit {\r\n loading:boolean = false;\r\n newIpForm : FormGroup;\r\n newRule : FirewallIPInDto;\r\n AddHostRuleForm : FormGroup;\r\n AddNetworkRuleForm : FormGroup;\r\n AddPortRuleForm : FormGroup;\r\n AddURLRuleForm : FormGroup;\r\n AddURLPortsRuleForm : FormGroup;\r\n AddURLTableRuleForm :FormGroup;\r\n AddURLTablePortsRuleForm :FormGroup;\r\n requestAliasFirewall : RequestAliasFirewallDto = new RequestAliasFirewallDto();\r\n\r\n rule : ipObject = new ipObject();\r\n rulesRows: ipObject[] = [];\r\n \r\n\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder, private service :WlService) { \r\n this.newIpForm = this.formBuilder.group({\r\n 'Name' : [{value:'',disabled: this.loading},[Validators.required]],\r\n 'Description' : [{value:'',disabled: this.loading},[Validators.required]],\r\n 'Type' : [{value:''} ,[Validators.required]]\r\n });\r\n\r\n this.newRule = new FirewallIPInDto();\r\n this.newRule.type = 'host';\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.AddHostRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddNetworkRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n \r\n this.AddPortRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddURLRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddURLPortsRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddURLTableRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddURLTablePortsRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n \r\n }\r\n\r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n AddRules(){\r\n\r\n this.requestAliasFirewall.NewAliasFirewallDto = this.newRule;\r\n this.requestAliasFirewall.customerId = this.data.customerId,\r\n this.requestAliasFirewall.datacenterId = this.data.datacenterId,\r\n\r\n console.log(\"AliasFirewall\", this.requestAliasFirewall);\r\n\r\n this.service.PfCreateAliasFirewall(this.requestAliasFirewall)\r\n .subscribe(\r\n response => {\r\n console.log(\"regla agregada correctamente\", response)\r\n },\r\n error => {\r\n console.log(\"Error al guardar las reglas \", error)\r\n }\r\n ) \r\n }\r\n\r\n\r\n\r\n initRulesRows() {\r\n this.rule.type = this.newRule.type;\r\n return this.formBuilder.group(this.rule);\r\n }\r\n\r\n\r\n addElements(){\r\n\r\n let control = null; \r\n\r\n switch (this.newRule.type) {\r\n case 'host':\r\n control = this.AddHostRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'network': \r\n control = this.AddNetworkRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'port': \r\n control = this.AddPortRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'url': \r\n control = this.AddURLRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'url_ports': \r\n control = this.AddURLPortsRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'urltable': \r\n control = this.AddURLTableRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'urltable_ports': \r\n control = this.AddURLTablePortsRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break; \r\n default:\r\n break;\r\n }\r\n this.updateRulesArray();\r\n\r\n }\r\n\r\n updateRulesArray(){ \r\n\r\n let values = this.AddHostRuleForm.controls['rulesRows'].value +\r\n this.AddNetworkRuleForm.controls['rulesRows'].value +\r\n this.AddPortRuleForm.controls['rulesRows'].value +\r\n this.AddURLRuleForm.controls['rulesRows'].value +\r\n this.AddURLPortsRuleForm.controls['rulesRows'].value + \r\n this.AddURLTableRuleForm.controls['rulesRows'].value +\r\n this.AddURLTablePortsRuleForm.controls['rulesRows'].value;\r\n \r\n\r\n this.newRule.value = values ; \r\n\r\n console.log(\"values\", this.newRule);\r\n }\r\n\r\n deleteHost(index){\r\n this.newRule.value.splice(index, 1);\r\n }\r\n\r\n deleteDisk(index: number) {\r\n if(this.newRule.value.length > 1){\r\n const control = this.AddHostRuleForm.controls['rulesRows'];\r\n control.removeAt(index);\r\n this.updateRulesArray();\r\n } \r\n }\r\n \r\n\r\n\r\n}\r\n","\r\n Crear nueva regla\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Properties\r\n
\r\n
\r\n \r\n \r\n Host(s)\r\n Network(s)\r\n Port(s)\r\n URL (IPs)\r\n URL (Ports)\r\n URL Table (IPs)\r\n URL Table (Ports)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{newRule.type}} (s)\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Hint
\r\n

Networks are specified in CIDR format. Select the CIDR mask that pertains to each entry. /32 specifies a single IPv4 host, /128 specifies a single IPv6 host, /24 specifies 255.255.255.0, /64 specifies a normal IPv6 network, etc. Hostnames (FQDNs) may also be specified, using a /32 mask for IPv4 or /128 for IPv6. An IP range such as 192.168.1.1-192.168.1.254 may also be entered and a list of CIDR networks will be derived to fill the range.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter ports as desired, with a single port or port range per entry. Port ranges can be expressed by separating with a colon.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter as many URLs as desired. After saving, the URLs will be downloaded and the items imported into the alias. Use only with small sets of IP addresses (less than 3000).

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter as many URLs as desired. After saving, the URLs will be downloaded and the items imported into the alias. Use only with small sets of Ports (less than 3000).\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter a single URL containing a large number of IPs and/or Subnets. After saving, the URLs will be downloaded and a table file containing these addresses will be created. This will work with large numbers of addresses (30,000+) or small numbers.\r\n The value after the \"/\" is the update frequency in days.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter a single URL containing a list of Port numbers and/or Port ranges. After saving, the URL will be downloaded.\r\n The value after the \"/\" is the update frequency in days.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatTableDataSource} from '@angular/material/table';\r\nimport { FirewallIPDto} from '../DTO/firewall-ip-dto'\r\nimport { DetailPfsenseIpComponent } from './detail-pfsense-ip/detail-pfsense-ip.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator} from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { NewPfSenseIpComponent } from './forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-pfsense-ip',\r\n templateUrl: './pfsense-ip.component.html',\r\n styleUrls: ['./pfsense-ip.component.scss']\r\n})\r\nexport class PfsenseIpComponent implements AfterViewInit {\r\n @Input() item:FirewallIPDto[] = []; // decorate the property with @Input()\r\n @Input() customerId:string = null; // decorate the property with @Input()\r\n @Input() datacenterId:string = null; // decorate the property with @Input()\r\n \r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['name', 'description', 'address'];\r\n dataSource: MatTableDataSource;\r\n\r\n constructor( public dialog: MatDialog) { \r\n this.dataSource = new MatTableDataSource(this.item);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item.filter(item => item.type ==='host' || item.type ==='network');\r\n\r\n \r\n }\r\n }\r\n\r\n OpenDetail(item) {\r\n this.dialog.open(DetailPfsenseIpComponent, {\r\n width: '65%',\r\n disableClose: true,\r\n data: item\r\n })\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewPfSenseIpComponent, {\r\n data: {\r\n customerId: this.customerId,\r\n datacenterId : this.datacenterId,\r\n ccid : null,\r\n rulePosition : 1,\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n if(result){\r\n \r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Name {{element.name}} Description {{element.descr}} Value {{element.address}} Actions\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {ipObject} from '../../DTO/firewall-ip-dto';\r\n\r\n@Pipe({\r\n name: 'filterType'\r\n})\r\nexport class FilterTypePipe implements PipeTransform {\r\n\r\n transform(item: any[], ...args: string[]): any[] {\r\n \r\n if(item.length > 0){\r\n \r\n return item.filter(item => (item.value.type) ? item.value.type.indexOf(args[0]) !== -1 : null);\r\n }\r\n\r\n \r\n \r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DhcpServerDto } from '../../DTO/dhcp-server-dto';\r\n\r\n@Component({\r\n selector: 'app-new-dhcp-service',\r\n templateUrl: './new-dhcp-service.component.html',\r\n styleUrls: ['./new-dhcp-service.component.scss']\r\n})\r\nexport class NewDhcpServiceComponent implements OnInit {\r\n newRule : DhcpServerDto;\r\n loading:boolean = false;\r\n dialogRef: any;\r\n\r\n constructor() { \r\n this.newRule = new DhcpServerDto ();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n AddRule(){\r\n /*this.service.AddFirewallRule(this.newRule).subscribe(\r\n response=>{\r\n this.rules.add(response);\r\n },\r\n error=>{}\r\n ) */\r\n }\r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n Edit Static Mapping\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Static DHCP Mapping on LAN\r\n
\r\n
\r\n \r\n \r\n \r\n

MAC address (6 hex octets separated by colons)

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

If an IPv4 address is entered, the address must be outside of the pool.

\r\n

If no IPv4 address is given, one will be dynamically allocated from the pool

\r\n

The same IP address may be assigned to multiple mappings.

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Host(s)\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport {DhcpServerDto} from '../DTO/dhcp-server-dto';\r\nimport { MatSort} from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NewDhcpServiceComponent } from './new-dhcp-service/new-dhcp-service.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-services-dchserver',\r\n templateUrl: './services-dchserver.component.html',\r\n styleUrls: ['./services-dchserver.component.scss']\r\n})\r\nexport class ServicesDchserverComponent implements AfterViewInit {\r\n\r\n @Input() item:DhcpServerDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort; \r\n displayedColumns: string[] = ['Static ARP', 'MAC address', 'Client Id', 'IP address','Hostname', 'Description'];\r\n dataSource: MatTableDataSource;\r\n \r\n \r\n\r\n constructor( public dialog: MatDialog) { \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item;\r\n }\r\n }\r\n\r\n newRule(){\r\n\r\n const dialogRef = this.dialog.open(NewDhcpServiceComponent, {\r\n \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(\"data!!\")\r\n if(result){\r\n //this.dataSource.data.push = result;\r\n console.log(\"result\", result);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n"," \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
Static AR MAC address {{element.mac}} Client Id {{element.cid}} IP address {{element.ipaddr }} Hostname {{element.hostname }} Description {{element.descr }}
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-services-rules-lan',\r\n templateUrl: './services-rules-lan.component.html',\r\n styleUrls: ['./services-rules-lan.component.scss']\r\n})\r\nexport class ServicesRulesLanComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

services-rules-lan works!

\r\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\n@Component({\r\n selector: 'service-name-modal',\r\n templateUrl: 'service-name-modal.component.html',\r\n styleUrls: ['../../../tools/modals/modals.scss']\r\n})\r\nexport class ServiceNameModal {\r\n public loading: boolean = false;\r\n public ServiceName: string = \"\";\r\n ServiceNameFormFb : FormGroup;\r\n \r\n constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef, public snackbar: MatSnackBar, private service: WlService, private formBuilder : FormBuilder) { \r\n this.ServiceName = data.ServiceName;\r\n this.ServiceNameFormFb = this.formBuilder.group({\r\n 'ServiceName' : [{value:'',disabled: this.loading},[Validators.required]]\r\n });\r\n }\r\n \r\n ChangeName() {\r\n this.loading = true;\r\n this.service.ChangeServiceName(this.data.ServiceID,this.data.ID, this.ServiceName).subscribe(\r\n response=>{\r\n this.loading = false;\r\n this.dialogRef.close(response);\r\n },\r\n error=>{\r\n this.loading = false;\r\n this.snackbar.open('Error Modificando Nombre ' + error.error, null, {\r\n duration: 4000,\r\n });\r\n }\r\n );\r\n }\r\n CloseDialog(){\r\n this.dialogRef.close();\r\n }\r\n}","
\r\n
\r\n
\r\n
Cambio de Nombre
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
Ingrese un nuevo nombre para la máquina seleccionada:
\r\n \r\n \r\n done\r\n error\r\n Campo requerido\r\n {{ServiceName.length}} / 40\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { FormControl } from '@angular/forms';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { PasswordEditDialog } from '../../accountConfiguration/accountConfiguration.component';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { SupportContact } from '../../../models/dtos.component';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-control-panel',\r\n templateUrl: './control-panel.component.html',\r\n styleUrls: ['./control-panel.component.scss']\r\n})\r\n\r\nexport class ControlPanelComponent implements OnInit {\r\n Changelog: Array = [];\r\n user: any = {};\r\n supportContact : SupportContact = null;\r\n colorHome = {\r\n blue: '#3a60a3',\r\n green: '#3aad60',\r\n purple: '#64277a',\r\n darkBlue: '#075384',\r\n orange: '#ed8a20',\r\n darkGray: '#424242',\r\n mediumGray: '#636363',\r\n lightGray: '#8e8e8e',\r\n darkWhite: '#e5e5e5',\r\n }\r\n myControl = new FormControl();\r\n public loading: boolean = true;\r\n private AllUsers: Array = [];\r\n globalization: any = Globalization;\r\n contactLoading :boolean = true;\r\n token: string;\r\n language: string;\r\n filteredOptions: Observable;\r\n constructor(private service: WlService, private router: Router, public dialog: MatDialog, private navbarBroadcast: BroadcastEmitter, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n getSupport(){\r\n this.service.GetFavouriteSupportContact().subscribe(\r\n (response:any)=>{\r\n this.contactLoading = false;\r\n this.supportContact = response;\r\n },\r\n error=>{\r\n this.contactLoading = false;\r\n }\r\n )\r\n }\r\n\r\n getAllUsers() {\r\n this.service.getAllUsers().subscribe(\r\n (response:any) => {\r\n console.log(\"all users\",response )\r\n this.AllUsers = response;\r\n }\r\n )\r\n }\r\n\r\n getUserInformation() {\r\n this.service.GetUserInformation().subscribe(\r\n response => {\r\n \r\n this.user = response;\r\n if (this.user.DefaultPassword && !JSON.parse(atob(this.auth.getToken().split(\".\")[1])).Impersonation) {\r\n this.dialog.open(PasswordEditDialog, {\r\n hasBackdrop: true, disableClose: true\r\n });\r\n }\r\n this.loading = false;\r\n this.user.initials = this.user.Name.split(' ').map(function (e, i) { if (i < 2) { return e.substring(0, 1).toUpperCase() } else { return '' } }).join('')\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/');\r\n }\r\n )\r\n }\r\n\r\n getChangeLog() {\r\n this.service.getChangeLog().subscribe(\r\n (response:any) => {\r\n this.Changelog = response;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n ngOnInit() {\r\n this.filteredOptions = this.myControl.valueChanges\r\n .startWith(null)\r\n .map(val => val ? this.filter(val) : this.AllUsers.slice());\r\n this.getUserInformation();\r\n //this.getAllUsers();\r\n this.getChangeLog();\r\n this.getSupport();\r\n this.navbarBroadcast.SendMessage({\r\n text: \"\"\r\n })\r\n }\r\n\r\n filter(val: string): string[] {\r\n return this.AllUsers.filter(option => new RegExp(`^${val}`, 'gi').test(option.Name));\r\n }\r\n}\r\n","\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{user.initials}}\r\n

{{user.Name}}

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

{{'DESKTOP.CONTACT' | translate}}

\r\n
    \r\n
  • email{{'DESKTOP.EMAIL' | translate}}: {{user.Email}}
  • \r\n
  • phone{{'DESKTOP.TELEPHONE' | translate}}: {{user.Telephone}}
  • \r\n
  • traffic{{'DESKTOP.STATUS' | translate}}: {{user.Status==true?\"Activo\":\"Inactivo\"}}
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{user.UsersCount}}

\r\n

{{'DESKTOP.USERS' | translate}}

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

{{user.ServiceCount}}

\r\n

{{'DESKTOP.ACTIVE_MACHINES' | translate}}

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

{{user.pendingCancellations}}

\r\n

{{'DESKTOP.PENDING_CANCELATIONS' | translate}}

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

{{user.ActiveCustomers}}

\r\n

{{'DESKTOP.ACTIVE_CUSTOMERS' | translate}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit , ViewChild} from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport { Globalization } from '../../globalization/globalization';\r\n\r\n@Component({\r\n selector: 'app-desktop',\r\n templateUrl: './desktop.component.html',\r\n styleUrls: ['./desktop.component.scss']\r\n})\r\nexport class DesktopComponent implements OnInit {\r\n @ViewChild('sidenavdesktop') secondSideNav : MatSidenav;\r\n name = null;\r\n lastName = null;\r\n globalization: any = Globalization;\r\n constructor(public navbarBroadcast: BroadcastEmitter){\r\n\r\n }\r\n\r\n ngOnInit(){\r\n this.navbarBroadcast.SendMessage({actions: [], text: \"\"});\r\n }\r\n\r\n SecondSidenavClick(){\r\n this.secondSideNav.open();\r\n }\r\n\r\n SubmitForm(event){\r\n event.preventDefault();\r\n alert();\r\n }\r\n}\r\n","\r\n \r\n \r\n
\r\n {{'DESKTOP.MANAGE_USER' | translate }}\r\n
\r\n
\r\n
\r\n \r\n \r\n {{name ? name.length : 0}} / 30\r\n \r\n \r\n \r\n {{lastName ? lastName.length : 0}} / 30\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-snackbar',\r\n templateUrl: './snackbar.component.html',\r\n styleUrls: ['./snackbar.component.scss']\r\n})\r\nexport class SnackBarComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n-->","import { Component, OnInit , ViewChild} from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\n\r\n@Component({\r\n selector: 'welcome-window',\r\n templateUrl: './welcome-window.component.html',\r\n styleUrls: ['../desktop.component.scss']\r\n})\r\nexport class WelcomeComponent implements OnInit { \r\n ngOnInit(){\r\n \r\n }\r\n}","
\r\n

\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-emailSetup',\r\n templateUrl: './emailSetup.component.html',\r\n styleUrls: ['./emailSetup.component.css']\r\n})\r\nexport class EmailSetupComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

Email Setup

","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-eventsLog',\r\n templateUrl: './eventsLog.component.html',\r\n styleUrls: ['./eventsLog.component.css']\r\n})\r\nexport class EventsLogComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","
\r\n \r\n
","import { Component, OnInit, NgModule, ViewChild} from '@angular/core';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { HelpdeskDTO } from '../../models/dtos.component';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FormsModule } from '@angular/forms'\r\nimport { NgForm } from '@angular/forms';\r\nimport { BrowserModule} from '@angular/platform-browser'\r\nimport { environment } from '../../../environments/environment';\r\nimport { NgClass, NgStyle} from '@angular/common';\r\nimport { FileUploader, FileSelectDirective } from 'ng2-file-upload';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-helpDesk',\r\n templateUrl: './helpDesk.component.html',\r\n styleUrls: ['./helpDesk.component.scss'],\r\n})\r\n\r\nexport class HelpDeskComponent implements OnInit {\r\n @ViewChild(\"fileInput\") fileInput;\r\n searchDocument : any;\r\n globalization: any = Globalization;\r\n term : any;\r\n maxSizeFile = 5261359;\r\n public loading = false;\r\n p: any;\r\n token: string;\r\n total : any;\r\n language: string;\r\n selectedCustomers = [];\r\n customersType=[];\r\n HelpDeskMaterial = [];\r\n userFilter: any = { name: '' };\r\n document: HelpdeskDTO;\r\n validationMessage: string;\r\n documentLoading : boolean = true;\r\n\r\n public uploader:FileUploader = new FileUploader({});\r\n public hasBaseDropZoneOver:boolean = false;\r\n public hasAnotherDropZoneOver:boolean = false;\r\n\r\n public fileOverBase(e:any):void {\r\n this.hasBaseDropZoneOver = e;\r\n }\r\n\r\n public fileOverAnother(e:any):void {\r\n this.hasAnotherDropZoneOver = e;\r\n }\r\n\r\n constructor(private service: WlService , public snackbar: MatSnackBar, public auth :AuthService){\r\n this.document = new HelpdeskDTO();\r\n this.validationMessage = \"\";\r\n }\r\n ngOnInit(){\r\n this.inicializate();\r\n this.getHelpDeskMaterial();\r\n }\r\n getHelpDeskMaterial(){\r\n this.service.getHelpDeskMaterial().subscribe(\r\n (response:any)=>{\r\n this.HelpDeskMaterial = response;\r\n this.documentLoading = false;\r\n },\r\n error=>{\r\n this.snackbar.open('Error consultando Material de ayuda' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n restoreData (document: NgForm){\r\n document.reset();\r\n this.clearForm();\r\n }\r\n\r\n saveHelpDeskMaterial(document: NgForm){\r\n if(this.validationform(document))\r\n if(this.validationsize()) this.sendData(document);\r\n else\r\n this.snackbar.open('El tamaño del archivo excede el limite', null, {\r\n duration: 2000,\r\n });\r\n else\r\n this.snackbar.open('Por favor complete todos los campos obligatorios', null, {\r\n duration: 2000,\r\n });\r\n }\r\n validationform(document):boolean{\r\n return (document.valid\r\n && this.uploader.queue.length > 0\r\n && this.selectedCustomers.length > 0) ? true : false;\r\n }\r\n sendData(document): void{\r\n let params = {\r\n ExtensionFile : this.getExtensionFile(this.uploader.queue[0]._file.name),\r\n Type :\"HelpDeskMaterial\",\r\n Users: this.createCleanArray(this.selectedCustomers),\r\n Date : new Date(),\r\n Title : document.value.Title,\r\n Description : document.value.Description\r\n }\r\n this.service.uploadFile(this.uploader.queue[0]._file,\"Domain/UploadhelpMaterial\", params).subscribe(\r\n response=>{\r\n this.snackbar.open('Documento cargado correctamente', null, {\r\n duration: 2000,\r\n });\r\n document.onReset();\r\n this.clearForm();\r\n this.getHelpDeskMaterial();\r\n },\r\n error=>{\r\n this.snackbar.open('Error consultando Material de ayuda ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n changeCustomer(obj){\r\n const updateItem = this.selectedCustomers.find(this.findIndexToUpdate, obj.Identifier);\r\n const index = this.selectedCustomers.indexOf(updateItem);\r\n if (index > -1) {\r\n this.selectedCustomers.splice(index, 1);\r\n } else {\r\n this.selectedCustomers.push(obj);\r\n }\r\n }\r\n getExtensionFile(fileName){\r\n const extesion = fileName.split('.');\r\n return extesion[1];\r\n }\r\n findIndexToUpdate(obj) {\r\n return obj.Identifier === this;\r\n }\r\n inicializate(){\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.customersType = [\r\n {Identifier: 'WHITE_LABEL', Label: 'HELPDESK.TOPICS_WHITELABEL'},\r\n {Identifier: 'SYSTEM_USER', Label: 'HELPDESK.TOPICS_SYSTEMUSER'},\r\n {Identifier: 'CUSTOMER_USER', Label: 'HELPDESK.TOPICS_CUSTOMER'}\r\n ];\r\n }\r\n createCleanArray(selectedCustomers):string[]{\r\n let customers = [];\r\n selectedCustomers.forEach(element => {\r\n customers.push(element.Identifier);\r\n })\r\n return customers;\r\n }\r\n\r\n clearForm(): void{\r\n for (let option of this.customersType) {\r\n option.checked = false;\r\n }\r\n this.selectedCustomers = [];\r\n if( this.uploader.queue[0]){\r\n this.uploader.queue[0].remove();\r\n }\r\n }\r\n downloadDocument(fileName :string) : void {\r\n let url = environment.serviceUrl+\"SupportMaterial/\"+fileName;\r\n window.open(url);\r\n }\r\n validationsize(): boolean{\r\n return (this.uploader.queue[0].file.size > this.maxSizeFile) ? false : true;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n \r\n
\r\n
\r\n \r\n \r\n {{(document.value.Title)? document.value.Title.length :\"\" }} / 40\r\n \r\n
\r\n
\r\n \r\n \r\n {{(document.value.Description)? document.value.Description.length :\"\" }} / 60\r\n \r\n
\r\n
{{ 'HELPDESK.SIDENAV_SELECTTOPIC' | translate}}
\r\n
\r\n
\r\n
\r\n {{option.Label | translate}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
0\">\r\n
\r\n

{{ item?.file?.name }}

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

{{ 'HELPDESK.MAIN_INFO' | translate}}

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

{{ 'HELPDESK.RECENTMATERIAL' | translate}}

\r\n \r\n \r\n description\r\n

{{document.Title}}

\r\n

{{document.Description}}

\r\n

{{document.UpdateDate | date }}

\r\n
\r\n \r\n
\r\n \r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { GridComponent } from \"../../tools/grid/grid.component\";\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-pending-machines',\r\n templateUrl: './pendingMachines.component.html',\r\n styleUrls: ['./pendingMachines.component.scss']\r\n})\r\n\r\nexport class PendingMachinesComponent implements OnInit {\r\n @ViewChild('pendingMachines') pendingMachines: GridComponent;\r\n public grid = {\r\n columns: [\r\n { name: \"Name\", title: \"Cliente\" },\r\n { name: \"ServiceID\", title: \"Service ID\" },\r\n { name: \"OperativeSystem\", title: \"Os\" },\r\n { name: \"Progress\", title: \"Progreso\", type:\"progressbar\" },\r\n { name: \"ElapsedTime\", title: \"Tiempo (Minutos)\" }\r\n ],\r\n data: [],\r\n filter: \"ServiceID\",\r\n pageSize: 10,\r\n rowClick: (u) => { },\r\n refresh: (u) => { this.getMachines() },\r\n actions: [\r\n {\r\n text: \"Reiniciar proceso\",\r\n action: (u) => { this.resetProvisioning(u) },\r\n }\r\n ]\r\n }\r\n\r\n constructor(private service: WlService) { }\r\n\r\n\r\n getMachines() {\r\n this.pendingMachines.loading = true;\r\n this.service.GetPendingMachines().subscribe(\r\n response => {\r\n this.pendingMachines.setData(response);\r\n }\r\n )\r\n }\r\n\r\n resetProvisioning(row) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.getMachines();\r\n }\r\n}\r\n","
\r\n \r\n
","import { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { CsjService } from './../../../services/csj/csj.service';\r\nimport { Component, OnInit, AfterViewInit, ViewChild, Inject} from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n// import domtoimage from \"dom-to-image\";\r\nimport { ExcelService } from 'src/app/services/excel/excel.service';\r\n\r\n@Component({\r\n selector: 'app-csj-general-graphics',\r\n templateUrl: './csj-general-graphics.component.html',\r\n styleUrls: ['./csj-general-graphics.component.scss']\r\n})\r\nexport class CsjGeneralGraphicsComponent {\r\n\r\n public dataSource = new MatTableDataSource();\r\n data: any[];\r\n multi: any[];\r\n\r\n //Graphics options\r\n view: any[] = [550, 280];\r\n colorScheme = {\r\n domain: [\r\n \"#5AA454\",\r\n \"#E44D25\",\r\n \"#CFC0BB\",\r\n \"#7aa3e5\",\r\n \"#a8385d\",\r\n \"#aae3f6\",\r\n \"#17A5DE\",\r\n \"#e5e\",\r\n \"#FE7878\",\r\n ],\r\n };\r\n\r\n legend: boolean = true;\r\n showLabels: boolean = true;\r\n animations: boolean = true;\r\n xAxis: boolean = true;\r\n yAxis: boolean = true;\r\n showYAxisLabel: boolean = true;\r\n showXAxisLabel: boolean = true;\r\n xAxisLabel: string = \"Días\";\r\n yAxisLabel: string = \"Efectividad\";\r\n timeline: boolean = true;\r\n autoScale: boolean = true;\r\n unit: string = \"Unidad\";\r\n legendPosition: string = \"below\";\r\n\r\n maxDate: Date;\r\n\r\n // Table\r\n displayedColumns = [\r\n \"Unit\",\r\n \"T_FILESORIGEN\",\r\n \"T_FILESDESTINO\",\r\n \"FILES_SIORIGEN_SIDESTINO\",\r\n \"FILES_SIORIGEN_NODESTINO\",\r\n \"FILES_NOORIGEN_SIDESTINO\",\r\n \"S_FILES_SIORIGEN_SIDESTINO\",\r\n \"S_FILES_SIORIGEN_NODESTINO\",\r\n \"S_FILES_NOORIGEN_SIDESTINO\",\r\n ];\r\n resultsLength = 10;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n constructor(\r\n public csjService: CsjService,\r\n public dialog: MatDialog,\r\n private snackbar: MatSnackBar,\r\n private excelService: ExcelService\r\n ) {\r\n this.getReport(csjService);\r\n this.getMissingFilesToCopy(csjService);\r\n this.getTimeUseOfDisk(csjService);\r\n }\r\n\r\n getValue(array: any, item: string, search: string) {\r\n const ob: any = array.find((e: any) => e.name == search);\r\n return ob && ob[item] ? ob[item] : 0;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n getReport(csjService: CsjService) {\r\n csjService.getReport().subscribe(\r\n (res: any) => {\r\n this.dataSource.data = res.report;\r\n },\r\n (err) => console.log(err)\r\n );\r\n }\r\n\r\n getMissingFilesToCopy(csjService: CsjService) {\r\n csjService.getMissingFilesToCopy().subscribe(\r\n (res: any) => {\r\n this.data = res.files;\r\n this.forEachArrays(this.data);\r\n },\r\n (err) => console.log(err)\r\n );\r\n }\r\n\r\n getTimeUseOfDisk(csjService: CsjService) {\r\n csjService.getTimeUseOfDisk().subscribe(\r\n (res: any) => {\r\n this.multi = res.files;\r\n this.forEachArrays(this.multi);\r\n },\r\n (err) => console.log(err)\r\n );\r\n }\r\n\r\n exportToExcel(data: any) {\r\n const result = [];\r\n data.forEach((disk: any) => {\r\n const newDisk = {\r\n disco: disk.unit,\r\n TotalArchivosOrigen: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"Total Archivos Origen Unidad\"\r\n ),\r\n TotalArchivosDestino: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"Total Archivos Destino Unidad\"\r\n ),\r\n ArchivosSiOrigenSiDestino: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"[SIORIGEN_SIDESTINO]\"\r\n ),\r\n ArchivosSiOrigenNoDestino: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"[SIORIGEN_NODESTINO]\"\r\n ),\r\n ArchivosNoOrigenSiDestino: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"[NOORIGEN_SIDESTINO]\"\r\n ),\r\n TamArchivosSiOrigenSiDestino: this.getValue(\r\n disk.columns,\r\n \"size\",\r\n \"[SIORIGEN_SIDESTINO]\"\r\n ),\r\n TamArchivosSiOrigenNoDestino: this.getValue(\r\n disk.columns,\r\n \"size\",\r\n \"[SIORIGEN_NODESTINO]\"\r\n ),\r\n TamArchivosNoOrigenSiDestino: this.getValue(\r\n disk.columns,\r\n \"size\",\r\n \"[NOORIGEN_SIDESTINO]\"\r\n ),\r\n };\r\n result.push(newDisk);\r\n });\r\n this.excelService.exportAsJsonExcelFile(\r\n result,\r\n \"Información de los discos\"\r\n );\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n filterValue = filterValue.trim(); // Remove whitespace\r\n filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n downloadToJpeg(id: string) {\r\n // domtoimage\r\n // .toJpeg(document.getElementById(id), { bgcolor: \"#FFF\" })\r\n // .then(function (dataUrl) {\r\n // var link = document.createElement(\"a\");\r\n // link.download = id + \".jpeg\";\r\n // link.href = dataUrl;\r\n // link.click();\r\n // });\r\n }\r\n\r\n refresh() {\r\n this.dataSource.data = [];\r\n this.multi = [];\r\n this.data = [];\r\n this.getReport(this.csjService);\r\n this.getMissingFilesToCopy(this.csjService);\r\n this.getTimeUseOfDisk(this.csjService);\r\n }\r\n\r\n forEachArrays(array) {\r\n array.forEach((disk: any) => {\r\n if (disk.name) {\r\n disk.series.forEach((serie: any) => {\r\n if (!this.maxDate) this.maxDate = serie.name;\r\n else {\r\n if (this.maxDate < serie.name) this.maxDate = serie.name;\r\n }\r\n });\r\n }\r\n if (disk.name) {\r\n disk.series.forEach((serie: any) => {\r\n if (!this.maxDate) this.maxDate = serie.name;\r\n else {\r\n if (this.maxDate < serie.name) this.maxDate = serie.name;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
\r\n

Gráficos generales en línea de tiempo

\r\n
\r\n
\r\n Última actualización: {{ maxDate }}\r\n
\r\n
\r\n \r\n refresh\r\n \r\n
\r\n
\r\n
\r\n \r\n get_app\r\n \r\n
\r\n
Gráfico de archivos faltantes por día
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n get_app\r\n \r\n
\r\n
\r\n Gráfico porcentaje de uso de los discos\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Información de los discos
\r\n
\r\n
\r\n \r\n save\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
Disco
\r\n
\r\n \r\n
\r\n {{ row.unit }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total
\r\n Archivos Origen\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"Total Archivos Origen Unidad\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total
\r\n Archivos Destino\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"Total Archivos Destino Unidad\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Archivos [SIORIGEN_SIDESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"[SIORIGEN_SIDESTINO]\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Archivos [SIORIGEN_NODESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"[SIORIGEN_NODESTINO]\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Archivos [NOORIGEN_SIDESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"[NOORIGEN_SIDESTINO]\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Tamaño Archivos (GB) [SIORIGEN_SIDESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(row.columns, \"size\", \"[SIORIGEN_SIDESTINO]\")\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Tamaño Archivos (GB) [SIORIGEN_NODESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(row.columns, \"size\", \"[SIORIGEN_NODESTINO]\")\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Tamaño Archivos (GB) [NOORIGEN_SIDESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(row.columns, \"size\", \"[NOORIGEN_SIDESTINO]\")\r\n }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { CsjModalComponent } from \"./../csj-modal/csj-modal.component\";\r\nimport { CsjService } from \"./../../../services/csj/csj.service\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\n// import domtoimage from \"dom-to-image\";\r\nimport { ExcelService } from \"src/app/services/excel/excel.service\";\r\n\r\nclass Disk {\r\n unit = \"\";\r\n total = 0;\r\n noDestino = 0;\r\n colors = { class: \"success\", hex: \"#32AB4E\" };\r\n graphicFiles = {};\r\n graphicTimeUseDisk = {};\r\n tableHistoryFailedFiles = {\r\n name: \"\",\r\n series: [],\r\n };\r\n pie = [\r\n {\r\n name: \"Diferencia\",\r\n value: 0,\r\n },\r\n ];\r\n}\r\n\r\n@Component({\r\n selector: \"app-csj-main-dashboard\",\r\n templateUrl: \"./csj-main-dashboard.component.html\",\r\n styleUrls: [\"./csj-main-dashboard.component.scss\"],\r\n})\r\nexport class CsjMainDashboardComponent {\r\n loadData: boolean = false;\r\n loadInfoDisk: boolean = false;\r\n dataSumm: any[];\r\n dataDisk: any[];\r\n maxDate: Date;\r\n\r\n copyView: any[] = [200, 170];\r\n\r\n constructor(\r\n public csjService: CsjService,\r\n public dialog: MatDialog,\r\n private snackbar: MatSnackBar,\r\n private excelService: ExcelService\r\n ) {\r\n this.getInfoDisks(csjService);\r\n this.constructObjectDisk(csjService);\r\n }\r\n\r\n getInfoDisks(csjService: CsjService) {\r\n csjService.getDiskDetails().subscribe(\r\n (res: any) => {\r\n this.dataSumm = res.disks;\r\n this.getMaxDate();\r\n this.loadInfoDisk = true;\r\n },\r\n (err) => console.log(err)\r\n );\r\n }\r\n\r\n constructObjectDisk(csjService: CsjService) {\r\n csjService.getInfoDisk().subscribe(\r\n (res: any) => {\r\n this.dataDisk = res.data.discos;\r\n\r\n let resultlist: any[] = [];\r\n\r\n for (const item of this.dataDisk) {\r\n const unit = item.Path.replace(\":\\\\\", \"\");\r\n const server = item.Server.substring(0, 20);\r\n\r\n let infoDisk = new Disk();\r\n\r\n if (this.loadInfoDisk) {\r\n const indexDisk: number = this.dataSumm.findIndex(\r\n (disk: any) => disk.unit === unit\r\n );\r\n\r\n if (indexDisk != -1) {\r\n infoDisk = this.dataSumm[indexDisk];\r\n infoDisk.pie = [\r\n {\r\n name: \"Diferencia\",\r\n value: this.dataSumm[indexDisk].noDestino,\r\n },\r\n ];\r\n }\r\n }\r\n resultlist.push({\r\n name: `${unit}: ${server}`,\r\n value: 100 - item.Percent,\r\n info: infoDisk,\r\n });\r\n }\r\n\r\n this.dataDisk = resultlist;\r\n this.sortData();\r\n this.loadData = true;\r\n },\r\n (err) => {\r\n console.error(err);\r\n this.loadData = true;\r\n this.snackbar.open(\r\n \"No podemos realizar esta consulta actualmente, intenta nuevamente más tarde\",\r\n null,\r\n {\r\n duration: 3000,\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n sortData(): void {\r\n this.dataDisk.sort((a, b) => {\r\n if (a.info.noDestino > b.info.noDestino) return -1;\r\n if (a.info.noDestino < b.info.noDestino) return 1;\r\n if (a.info.noDestino == b.info.noDestino) {\r\n if (a.value > b.value) return -1;\r\n if (a.value < b.value) return 1;\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n refresh() {\r\n this.dataDisk = [];\r\n this.loadData = false;\r\n this.getInfoDisks(this.csjService);\r\n this.constructObjectDisk(this.csjService);\r\n }\r\n\r\n stringParseInt(data: any) {\r\n return typeof data == \"string\" ? parseInt(data.trim()) : data;\r\n }\r\n\r\n getMaxDate() {\r\n this.dataSumm.forEach((disk) => {\r\n disk.total = this.stringParseInt(disk.total);\r\n disk.noDestino = this.stringParseInt(disk.noDestino);\r\n\r\n if (disk.graphicFiles.name) {\r\n disk.graphicFiles.series.forEach((serie: any) => {\r\n if (!this.maxDate) this.maxDate = serie.name;\r\n else {\r\n if (this.maxDate < serie.name) this.maxDate = serie.name;\r\n }\r\n });\r\n }\r\n if (disk.graphicTimeUseDisk.name) {\r\n disk.graphicTimeUseDisk.series.forEach((serie: any) => {\r\n if (!this.maxDate) this.maxDate = serie.name;\r\n else {\r\n if (this.maxDate < serie.name) this.maxDate = serie.name;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n exportToExcel() {\r\n const data = [];\r\n\r\n this.dataDisk.forEach((disk) => {\r\n disk.info.tableHistoryFailedFiles.series.forEach((serie: any) => {\r\n data.push(serie);\r\n });\r\n });\r\n\r\n this.excelService.exportAsJsonExcelFile(data, \"Estado de los discos\");\r\n }\r\n\r\n OnDetailClick(data: any, graphic: any, showTab) {\r\n let dataModal = {\r\n name: data.name,\r\n showTab,\r\n graphic,\r\n table: data.info.tableHistoryFailedFiles,\r\n };\r\n if (graphic.name) {\r\n this.dialog.open(CsjModalComponent, {\r\n data: dataModal,\r\n width: \"90%\",\r\n disableClose: true,\r\n });\r\n } else {\r\n this.snackbar.open(\"Esta unidad no tiene datos para graficar\", null, {\r\n duration: 3000,\r\n });\r\n }\r\n }\r\n\r\n downloadToJpeg(id: string) {\r\n // domtoimage\r\n // .toJpeg(document.getElementById(id), { bgcolor: \"#FFF\" })\r\n // .then(function (dataUrl) {\r\n // var link = document.createElement(\"a\");\r\n // link.download = id + \".jpeg\";\r\n // link.href = dataUrl;\r\n // link.click();\r\n // });\r\n }\r\n}\r\n","\r\n
\r\n

Estado de sincronización por disco

\r\n
\r\n
\r\n Última actualización: {{ maxDate }}\r\n
\r\n
\r\n \r\n refresh\r\n \r\n \r\n save\r\n \r\n \r\n get_app\r\n \r\n
\r\n \r\n \r\n
\r\n \"\"\r\n

Consultado información...

\r\n
\r\n\r\n \r\n
\r\n \r\n timeline\r\n
\r\n 90,\r\n libre: disk.value < 80,\r\n medio: disk.value >= 80 && disk.value <= 90\r\n }\"\r\n matTooltip=\"Ver linea de tiempo de uso del disco\"\r\n >\r\n storage\r\n
\r\n
\r\n {{ disk.name }}\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n Archivos faltantes ultimo día:\r\n {{ disk.info.noDestino }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n Total archivos origen:\r\n {{ disk.info.total }}\r\n
\r\n
\r\n
\r\n Uso de Disco: {{ disk.value }}%\r\n
\r\n 90,\r\n libre: disk.value < 80,\r\n medio: disk.value >= 80 && disk.value <= 90\r\n }\"\r\n >
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit, AfterViewInit, ViewChild, Inject} from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ExcelService } from 'src/app/services/excel/excel.service';\r\n// import domtoimage from \"dom-to-image\";\r\n\r\n@Component({\r\n selector: 'app-csj-modal',\r\n templateUrl: './csj-modal.component.html',\r\n styleUrls: ['./csj-modal.component.scss']\r\n})\r\nexport class CsjModalComponent implements AfterViewInit\r\n{\r\n private static instance: CsjModalComponent = null;\r\n name: string = \"\";\r\n dataGraph = [];\r\n\r\n selectedIndex: number = 0;\r\n\r\n view: any[] = [700, 380];\r\n xAxisLabel: string = \"Días\";\r\n yAxisLabel: string = \"Numero de archivos faltantes\";\r\n timeline: boolean = true;\r\n autoScale: boolean = true;\r\n unit: string = \"Unidad\";\r\n legendPosition: string = \"below\";\r\n showYAxisLabel: boolean = true;\r\n showXAxisLabel: boolean = true;\r\n xAxis: boolean = true;\r\n yAxis: boolean = true;\r\n colorScheme = {\r\n domain: [\"#F44336\"],\r\n };\r\n\r\n showTab: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n resultsLength = 10;\r\n displayedColumns = [\"Disco\", \"Path\", \"Size\"];\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialog: MatDialogRef,\r\n private excelService: ExcelService\r\n ) {\r\n this.name = data.name;\r\n this.dataGraph = [data.graphic];\r\n this.showTab = data.showTab;\r\n\r\n if (!this.showTab) {\r\n this.yAxisLabel = \"Porcentaje de uso\";\r\n this.xAxisLabel = \"Fecha\";\r\n }\r\n\r\n if (data.table.name) {\r\n this.dataSource.data = data.table.series;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n // Modal Dialog Action\r\n okClick() {\r\n this.dialog.close();\r\n }\r\n\r\n cancelClick() {\r\n this.dialog.close();\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n filterValue = filterValue.trim(); // Remove whitespace\r\n filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n exportToExcel() {\r\n this.excelService.exportAsJsonExcelFile(\r\n this.dataSource.data,\r\n \"Archivos faltantes\"\r\n );\r\n }\r\n\r\n downloadToJpeg(id:string) {\r\n // domtoimage.toJpeg(document.getElementById(id), { bgcolor: '#FFF' })\r\n // .then(function (dataUrl) {\r\n // var link = document.createElement('a');\r\n // link.download = id + '.jpeg';\r\n // link.href = dataUrl;\r\n // link.click();\r\n // });\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n {{ name }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n get_app\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n save\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Disco\r\n
\r\n \r\n
\r\n {{ row.Unit }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Path\r\n
\r\n \r\n
\r\n {{ row.PathFileName }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Size (Mb)\r\n
\r\n \r\n
\r\n {{ row.Size }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { HttpHeaders } from \"@angular/common/http\";\r\nimport { Component, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { CsjService } from \"src/app/services/csj/csj.service\";\r\n\r\n@Component({\r\n selector: \"app-replicas-csj\",\r\n templateUrl: \"./replicas-csj.component.html\",\r\n styleUrls: [\"./replicas-csj.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ReplicasCSJComponent implements OnInit {\r\n selectedIndex: number = 0;\r\n show: boolean = false;\r\n private snackbar: MatSnackBar;\r\n constructor(public csjService: CsjService) {\r\n csjService.login().subscribe(\r\n (res) => {\r\n localStorage.setItem(\"csjtoken\", res.token);\r\n this.show = true;\r\n },\r\n (err) => {\r\n this.snackbar.open(`Error: ${err}`, null, {\r\n duration: 3100,\r\n });\r\n }\r\n );\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"Rdp\"\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { ProfileDTO, PermissionDTO } from '../../models/dtos.component';\r\nimport { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport {FormControl, Validators, FormGroup, FormBuilder, AbstractControl} from '@angular/forms';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-role',\r\n templateUrl: './role.component.html',\r\n styleUrls: ['./role.component.scss']\r\n})\r\nexport class RoleComponent implements OnInit {\r\n profileList: Array = [];\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n public searchProfile: string = \"\";\r\n public selectedProfile: ProfileDTO = null;\r\n public profilesLoading: boolean = true;\r\n public LoadingPermissions: boolean = false;\r\n public AvailablePermissions: Array = [];\r\n\r\n constructor(private service: WlService, public snackbar: MatSnackBar, public dialog: MatDialog, public navbarBroadcast: BroadcastEmitter, public auth : AuthService ) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n\r\n }\r\n\r\n getProfileInitial(profile: ProfileDTO) {\r\n return profile.Name.substr(0, 1);\r\n }\r\n\r\n ngOnInit() {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n { icon: 'add', name: 'Agregar Role', action: () => { this.AddProfile() } }\r\n ],\r\n display: true\r\n });\r\n this.GetProfiles();\r\n }\r\n\r\n GetProfiles() {\r\n this.profilesLoading = true;\r\n this.service.GetProfiles().subscribe(\r\n (response:any) => {\r\n this.profilesLoading = false;\r\n this.profileList = response;\r\n },\r\n error => {\r\n this.profilesLoading = false;\r\n this.snackbar.open('Error consultando perfiles. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n AddProfile() {\r\n this.dialog.open(ProfileEditComponent, {\r\n data: new ProfileDTO(),\r\n });\r\n this.dialog.afterAllClosed.subscribe(\r\n response=>{\r\n this.GetProfiles();\r\n }\r\n )\r\n }\r\n\r\n EditProfile(profile: ProfileDTO) {\r\n this.selectedProfile = profile;\r\n this.LoadingPermissions = true;\r\n this.service.GetProfilePermissions(profile.ID).subscribe(\r\n (response:any) => {\r\n this.LoadingPermissions = false;\r\n this.AvailablePermissions = response;\r\n }, error => {\r\n this.LoadingPermissions = false;\r\n this.snackbar.open('Error consultando permisos del perfil. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n });\r\n }\r\n\r\n SaveProfile() {\r\n this.LoadingPermissions = true;\r\n this.service.SaveProfilePermissions(this.AvailablePermissions, this.selectedProfile.ID).subscribe(\r\n response => {\r\n this.LoadingPermissions = false;\r\n this.snackbar.open('Cambios guardados satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n }, error => {\r\n this.LoadingPermissions = false;\r\n this.snackbar.open('Error guardando datos. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n loadProfilePermissions(profile: ProfileDTO) {\r\n\r\n }\r\n}\r\n@Component({\r\n selector: 'role-edit-dialog',\r\n templateUrl: 'role-add.component.html',\r\n styleUrls: ['../../tools/modals/modals.scss']\r\n})\r\nexport class ProfileEditComponent {\r\n public loading: boolean = false;\r\n addRoleForm : FormGroup;\r\n constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef, public snackbar: MatSnackBar, private service: WlService, private formBuilder : FormBuilder) {\r\n this.addRoleForm = this.formBuilder.group({\r\n 'RoleName' : [{value:'',disabled: false},[Validators.required]],\r\n });\r\n }\r\n SaveForm() {\r\n this.loading = true;\r\n this.service.SaveProfile(this.data).subscribe(\r\n response=>{\r\n this.loading = false;\r\n this.dialogRef.close(response);\r\n },\r\n error=>{\r\n this.loading = false;\r\n this.snackbar.open('Error guardando datos. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
{{profile.Name}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Agregue o retire permisos.
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
{{ globalization.role.components[comp.Template][language] }}
\r\n \r\n \r\n Permiso concedido\r\n \r\n \r\n {{globalization.role.components[child.Template][language]}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","
\r\n
\r\n

\r\n Administración de perfiles\r\n

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

\r\n \r\n \r\n done\r\n error\r\n Campo requerido \r\n {{data && data.Name ? data.Name.length : 0}} / 50\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n // nombrePagina:string = (\"Home\");\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, Inject, Input, Output, EventEmitter } from '@angular/core';\r\nimport { GridComponent } from \"../../../tools/grid/grid.component\";\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { SupportContact } from '../../../models/dtos.component';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { ConfirmationDialog } from '../../../tools/modals/confirmation/modal.component';\r\nimport { FormGroup, FormControl, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport {CustomFormValidator} from '../../../tools/CustomValidator';\r\n\r\n@Component({\r\n selector: 'admin-support-contact', \r\n templateUrl: './admin-support-contact.component.html',\r\n styleUrls: ['../support.component.scss']\r\n})\r\n\r\nexport class AdminSupportContact implements OnInit {\r\n @Input() supportContact: SupportContact;\r\n @Output() savedContact = new EventEmitter();\r\n @Input() sidenavin: MatSidenav;\r\n loading : boolean = false;\r\n supportForm: any; \r\n constructor(public service: WlService, public snackbar: MatSnackBar, public navbarBroadcast: BroadcastEmitter, private formBuilder: FormBuilder) {\r\n this.supportForm = this.formBuilder.group({\r\n 'name' : ['',[Validators.required]],\r\n 'phone' : ['',[Validators.required]],\r\n 'email' : ['',[Validators.required,Validators.minLength(10),CustomFormValidator.EmailValidator]],\r\n 'country' : ['',[Validators.required]],\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n saveContact(){\r\n this.loading = true;\r\n this.service.SaveContact(this.supportContact).subscribe(\r\n (response:any)=>{\r\n this.loading = false;\r\n this.savedContact.emit(response);\r\n this.sidenavin.close();\r\n },\r\n error=>{\r\n this.loading = false;\r\n this.snackbar.open('Error guardando contacto. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}","\r\n
\r\n
\r\n
Agregar contacto de soporte
\r\n
\r\n
\r\n
\r\n \r\n \r\n live_help\r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n {{supportContact.Name ? supportContact.Name.length : 0}} / 50\r\n
\r\n \r\n \r\n live_help\r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n {{supportContact.Telephone ? supportContact.Telephone.length : 0}} / 50\r\n
\r\n \r\n \r\n live_help\r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
El formato no corresponde.
\r\n
\r\n
\r\n {{supportContact.Email ? supportContact.Email.length : 0}} / 50\r\n
\r\n \r\n \r\n {{supportContact.Country ? supportContact.Country.length : 0}} / 50\r\n live_help\r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { GridComponent } from \"../../tools/grid/grid.component\";\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { SupportContact } from '../../models/dtos.component';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport { ConfirmationDialog } from '../../tools/modals/confirmation/modal.component';\r\nimport { FormControl, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-supportNumbers',\r\n templateUrl: './support.component.html',\r\n styleUrls: ['./support.component.scss']\r\n})\r\nexport class SupportNumbers implements OnInit {\r\n @ViewChild('sideNav') sideNav: MatSidenav;\r\n @ViewChild('supportNumbersGrid') supportNumbersGrid: GridComponent;\r\n selectedContact: SupportContact = new SupportContact();\r\n public SupportContacts: Array = [];\r\n\r\n public grid = {\r\n columns: [\r\n { name: \"Telephone\", title: \"Número\" },\r\n { name: \"Email\", title: \"Email\" },\r\n { name: \"Country\", title: \"Pais\" },\r\n { name: \"Favourite\", title: \"Favorito\" }\r\n ],\r\n data: [],\r\n toolbar: [\r\n { \"type\": \"button\", \"permission\": \"AddCustomer\", \"click\": () => { this.addNumber() }, \"text\": \"Agregar cliente\", \"align\": \"left\" }\r\n ],\r\n filter: \"Email\",\r\n pageSize: 10,\r\n // rowClick: (u) => { this.userSettings(u) },\r\n refresh: (u) => { this.getNumbers() },\r\n actions: [\r\n {\r\n text: \"Favorito\",\r\n action: (u) => { this.EditFav(u) },\r\n hide: (u) => { return u.Favourite }\r\n }, {\r\n text: \"Quitar Favorito\",\r\n action: (u) => { this.EditFav(u) },\r\n hide: (u) => { return !u.Favourite }\r\n },\r\n {\r\n text: \"Eliminar\",\r\n action: (u) => { this.RemoveFav(u) }\r\n }\r\n ]\r\n }\r\n\r\n constructor(public service: WlService, public snackbar: MatSnackBar, public navbarBroadcast: BroadcastEmitter) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.navbarBroadcast.SendMessage({\r\n text: \"Contactos de soporte\",\r\n actions: [{ icon: 'person_add', name: 'Agregar número', action: () => { this.addNumber() } }], display: true\r\n });\r\n this.getNumbers();\r\n }\r\n\r\n savedContact(supportUser: SupportContact) {\r\n this.supportNumbersGrid.pushRow(supportUser);\r\n }\r\n\r\n RemoveFav(supportUser: SupportContact) {\r\n this.supportNumbersGrid.loading = true;\r\n this.service.RemoveContact(supportUser).subscribe(\r\n response => {\r\n this.getNumbers();\r\n },\r\n error => {\r\n this.snackbar.open('Error Eliminando Favorito. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n EditFav(supportUser: SupportContact) {\r\n this.supportNumbersGrid.loading = true;\r\n this.service.EditFavoriteContact(supportUser).subscribe(\r\n response => {\r\n this.snackbar.open('Cambios guardados satisfactoriamente. ', null, {\r\n duration: 3000,\r\n });\r\n this.getNumbers();\r\n },\r\n error => {\r\n this.supportNumbersGrid.loading = false;\r\n this.snackbar.open('Error Editando Favorito. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n getNumbers() {\r\n this.supportNumbersGrid.loading = true;\r\n this.service.GetSupportContacts().subscribe(\r\n result => {\r\n this.supportNumbersGrid.setData(result);\r\n },\r\n error => {\r\n this.supportNumbersGrid.loading = false;\r\n this.snackbar.open('Error consultando numeros de soporte. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n addNumber() {\r\n this.selectedContact = new SupportContact();\r\n this.sideNav.open();\r\n }\r\n\r\n}","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-useStatistics',\r\n templateUrl: './useStatistics.component.html',\r\n styleUrls: ['./useStatistics.component.css']\r\n})\r\nexport class UseStatisticsComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

User statistics

","import { Component, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\n// import { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { UserDTO,ServiceDTO } from '../../../models/dtos.component';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { TermsComponent } from '../terms/terms.component';\r\n\r\n@Component({\r\n selector: 'demo-services',\r\n templateUrl: './demo-services.component.html',\r\n styleUrls: ['../service-configuration/service-configuration.component.scss']\r\n})\r\n\r\nexport class DemoServices implements OnInit {\r\n @Input() sidenav: MatSidenav;\r\n @Input() selectedUser: UserDTO;\r\n @Output() onSave = new EventEmitter();\r\n @ViewChild('stepper') stepper : MatStepper;\r\n DatacenterID: string;\r\n loading: boolean = false;\r\n Os: number = null;\r\n constants: Constants = new Constants();\r\n confirmedTerms:boolean = false;\r\n bundleSelectFG:FormGroup;\r\n constructor(private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder,private dialog : MatDialog) {\r\n this.bundleSelectFG = this.formBuilder.group({\r\n 'bundle': [{ value: null, disable: this.loading }, [Validators.required]],\r\n 'datacenter': [{ value: null, disable: this.loading }, [Validators.required]]\r\n });\r\n }\r\n\r\n ShowTerms() {\r\n this.dialog.open(TermsComponent, {\r\n width: \"60%\"\r\n });\r\n }\r\n\r\n changeStep(index : number){\r\n this.stepper.selectedIndex = index;\r\n }\r\n\r\n savePlan() {\r\n this.loading = true;\r\n this.service.SaveTestService(this.DatacenterID, this.Os , this.selectedUser.ID).subscribe(\r\n (response:any) => {\r\n this.snackbar.open('Servicio creado satisfactoriamente.', null, {\r\n duration: 3000,\r\n });\r\n this.changeStep(0);\r\n this.bundleSelectFG.reset();\r\n this.onSave.emit(response);\r\n this.loading = false;\r\n this.DatacenterID = null;\r\n this.Os = null;\r\n this.confirmedTerms = false;\r\n this.sidenav.close();\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error creando servicio.' + error.error, null, {\r\n duration: 4000,\r\n });\r\n }\r\n )\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.sidenav.closedStart.subscribe(() => {\r\n this.changeStep(0);\r\n })\r\n }\r\n}","\r\n \r\n \r\n \r\n desktop_mac\r\n \r\n \r\n
\r\n
\r\n
\r\n
Seleccione un plan
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{dc.Name}}\r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n Linux Ubuntu\r\n \"ubuntu\"\r\n \r\n \r\n Windows\r\n \"Windows\"\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n check_circle\r\n \r\n \r\n
\r\n
\r\n
\r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Acepto los terminos y condiciones\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Total\r\n $ 0.00\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, Output, OnInit, OnChanges, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { ServiceDTO, ProductDTO, BundleDTO, ServiceAdditionalInfo } from '../../../models/dtos.component';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { CustomFormValidator } from '../../../tools/CustomValidator';\r\nimport { TermsComponent } from '../terms/terms.component';\r\n@Component({\r\n selector: 'service-settings',\r\n templateUrl: './service-configuration.component.html',\r\n styleUrls: ['./service-configuration.component.scss']\r\n})\r\n\r\nexport class ServiceSettings implements OnInit, OnChanges {\r\n @Input() Service: ServiceDTO;\r\n @Input() sidenav: MatSidenav;\r\n @Output() onSave = new EventEmitter();\r\n @ViewChild('stepper') stepper : MatStepper;\r\n public bundle: BundleDTO = new BundleDTO();\r\n constants: Constants = new Constants();\r\n serviceAdditionalInfo: ServiceAdditionalInfo = new ServiceAdditionalInfo();\r\n progress: number = 0;\r\n TemplateList: Array = [];\r\n OsType: number = null;\r\n loading: boolean = false;\r\n loadingTemplates: boolean = false;\r\n confirmedTerms: boolean = false;\r\n domainProducts: Array = [];\r\n confirmForm: FormGroup;\r\n bundleSelectFG: FormGroup;\r\n currentBundle: ProductDTO;\r\n constructor(private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, private dialog: MatDialog) {\r\n this.confirmForm = this.formBuilder.group({\r\n 'datacenter': ['', [Validators.required]],\r\n 'osType': ['', [Validators.required]],\r\n 'os': ['', [Validators.required]],\r\n 'iops': ['', [Validators.required]],\r\n 'availability': ['', [Validators.required]],\r\n 'paymentConst': ['', [Validators.required]],\r\n });\r\n this.bundleSelectFG = this.formBuilder.group({\r\n 'bundle': [{ value: null, disable: this.loading }, [Validators.required]]\r\n });\r\n }\r\n\r\n changeStep(index : number){\r\n if(this.stepper.selectedIndex != index)\r\n this.stepper.selectedIndex = index;\r\n }\r\n\r\n resetComponent() {\r\n this.bundle = new BundleDTO();\r\n this.constants = new Constants();\r\n this.progress = 0;\r\n this.TemplateList = [];\r\n this.OsType = null;\r\n this.loading = false;\r\n this.loadingTemplates = false;\r\n this.confirmedTerms = false;\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['Service'].currentValue) {\r\n this.serviceAdditionalInfo.CustomerID = changes['Service'].currentValue.CustomerID;\r\n this.bundle.BundleMachine = changes['Service'].currentValue.Configuration;\r\n this.progress = 0;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.Service = new ServiceDTO();\r\n this.getDomainProducts();\r\n this.sidenav.closedStart.subscribe(() => {\r\n this.bundleSelectFG.reset();\r\n this.confirmForm.reset();\r\n this.changeStep(0);\r\n })\r\n }\r\n\r\n getDomainProducts() {\r\n this.loading = true;\r\n this.service.GetProducts().subscribe(\r\n (response:any) => {\r\n this.loading = false;\r\n this.domainProducts = response;\r\n },\r\n error => {\r\n\r\n }\r\n )\r\n }\r\n\r\n selectPlan() {\r\n this.bundle.BundleMachine = this.currentBundle.Configuration.BundleMachine;\r\n this.serviceAdditionalInfo.BundleID = this.currentBundle.ID;\r\n if (this.bundle.BundleMachine.Duration == 0) {\r\n this.bundle.BundleMachine.Duration = null;\r\n }\r\n this.refreshPrice();\r\n this.progress = 1;\r\n }\r\n\r\n getOsList() {\r\n if (this.bundle.BundleMachine.Vcenter != null && this.OsType != null) {\r\n this.loadingTemplates = true;\r\n this.service.GetOsList(this.bundle.BundleMachine.Vcenter, this.OsType).subscribe(\r\n (response:any) => {\r\n this.loadingTemplates = false;\r\n this.TemplateList = response;\r\n },\r\n error => {\r\n this.loadingTemplates = false;\r\n this.TemplateList = [];\r\n }\r\n );\r\n }\r\n }\r\n\r\n viewTerms() {\r\n \r\n }\r\n\r\n selectTemplate() {\r\n this.refreshPrice();\r\n }\r\n\r\n refreshPrice() {\r\n this.loading = true;\r\n this.service.GetProductPrice(this.bundle).subscribe(\r\n (response:any) => {\r\n this.loading = false;\r\n this.bundle = response;\r\n if (this.bundle.BundleMachine.Duration == 0) {\r\n this.bundle.BundleMachine.Duration = null;\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n processConfig() {\r\n this.progress = 2;\r\n }\r\n\r\n selecttab() {\r\n this.confirmedTerms = false;\r\n }\r\n\r\n SaveService() {\r\n this.confirmForm.disable();\r\n this.loading = true;\r\n this.service.SaveService(this.bundle, this.serviceAdditionalInfo).subscribe(\r\n (response:any) => {\r\n this.confirmForm.enable();\r\n this.loading = false;\r\n this.onSave.emit(response);\r\n this.bundleSelectFG.reset();\r\n this.confirmForm.reset();\r\n this.resetComponent();\r\n this.sidenav.close();\r\n this.changeStep(0);\r\n this.snackbar.open('Servicio guardado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.confirmForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando servicio. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n ShowTerms() {\r\n this.dialog.open(TermsComponent, {\r\n width: '60%'\r\n });\r\n }\r\n\r\n GetConstantValue(Id: string, type: string) {\r\n if (Id == null || Id === 'null' || Id === '0') {\r\n return '';\r\n } else if (type === 'dc') {\r\n return this.constants.DataCenter.filter(dc => dc.ID === Id)[0].Name;\r\n } else if (type === 'pc') {\r\n return this.constants.PaymentConditions.filter(dc => dc.ID.toString() === Id)[0].Name;\r\n } else if (type === 'av') {\r\n return this.constants.Availability.filter(dc => dc.ID.toString() === Id)[0].Name;\r\n } else {\r\n console.log(Id, type);\r\n }\r\n }\r\n ReplaceName(name) {\r\n let response = name.replace(/_/g, ' ');\r\n let capitalizeName = \"\";\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length != 0) {\r\n capitalizeName += \" \";\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n desktop_mac\r\n \r\n \r\n
\r\n
\r\n
\r\n
Seleccione un plan
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{product.Name}}\r\n
\r\n
\r\n

\r\n {{product.Description}}\r\n

\r\n
\r\n
\r\n
{{product.Configuration.BundleMachine.Cores.Value}}
\r\n
CPU
\r\n
\r\n
\r\n
{{product.Configuration.BundleMachine.Ram.Value}}
\r\n
RAM
\r\n
\r\n
\r\n
{{product.Configuration.Cost.DiscountMRC | currency:'USD':true:'2.0-1' }}
\r\n
Costo
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Total{{bundle.Cost.DiscountMRC | currency:'USD':true:'2.0-2'}}\r\n
\r\n
\r\n Total{{currentBundle.Configuration.Cost.DiscountMRC | currency:'USD':true:'2.0-2'}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n settings_applications\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Configuración
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ dc.Name }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.Name }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.OsName }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.Name }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.ID }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.Name }}\r\n \r\n \r\n Campo requerido.\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Total{{bundle.Cost.DiscountMRC | currency:'USD':true:'2.0-2'}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n check_circle\r\n \r\n \r\n
\r\n
\r\n
\r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{\"\"+bundle.BundleMachine.Cores.Value}}\r\n {{\"\"+bundle.BundleMachine.Ram.Value}}\r\n {{ReplaceName(\"\"+bundle.BundleMachine.OperativeSystem.Os)}}\r\n {{GetConstantValue(\"\"+bundle.BundleMachine.Vcenter,\"dc\")}}\r\n {{GetConstantValue(\"\"+bundle.BundleMachine.Availability.availabilityType,\"av\")}}\r\n
\r\n
\r\n {{GetConstantValue(\"\"+bundle.BundleMachine.Duration,\"pc\")}}\r\n {{bundle.Cost.DiscountMRC | currency:'USD':true:'2.0-2'}}\r\n
\r\n\r\n \r\n Acepto los terminos y condiciones\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Total{{bundle.Cost.DiscountMRC | currency:'USD':true:'2.0-2'}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'terms-component',\r\n templateUrl: './terms.component.html',\r\n styleUrls: ['./terms.component.scss']\r\n})\r\nexport class TermsComponent {\r\n rememberEmail: string;\r\n loading: boolean = false;\r\n\r\n constructor(public dialogRef: MatDialogRef, public snackbar: MatSnackBar) {\r\n }\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
Términos y condiciones
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n Responsabilidad:
\r\n IFX es responsable por:
\r\n
    \r\n
  1. La infraestructura física que soporta los servidores virtuales, así como la estabilidad de la plataforma\r\n de virtualización.
  2. \r\n
  3. Del licenciamiento de los sistemas operativos ofrecidos, así como el licenciamiento de los aplicativos\r\n ofrecidos. Cualquier licenciamiento diferente a los ofrecidos, deberá ser suministrado por el cliente,\r\n teniendo en cuenta el modelo de licenciamiento del proveedor de software y ajustándose a las condiciones\r\n que cada uno maneje para ambientes tipo cloud.
  4. \r\n
  5. La infraestructura física de hardware, la configuración de software y la custodia de medios para la retención\r\n ofrecida en el servicio de backup. IFX no se responsabiliza por la información del cliente que no\r\n está cubierta mediante la descripción de los servicios de backup ofrecidos al cliente.
  6. \r\n
\r\n Alcance:
\r\n El alcance del servicio es:
\r\n
    \r\n
  1. El servicio cuenta con un sistema operativo instalado de forma básica. Los aplicativos ofertados se entregan\r\n instalados de manera básica o se le presentan al servidor en una unidad de almacenamiento virtual\r\n para que el cliente proceda con la instalación personalizada.
  2. \r\n
  3. El servicio contempla el suministro de los recursos de poder de cómputo acordados previamente con el\r\n cliente (vCPU, RAM, discos, backup, conectividad, sistema operativo y aplicaciones adicionales).
  4. \r\n
  5. El espacio en disco entregado en los servidores virtuales constituye espacio total; es decir, es necesario\r\n tener en consideración que parte de este espacio será consumido por el sistema operativo y las aplicaciones\r\n que en él se instalen.
  6. \r\n
  7. IFX Networks no se hace responsable por el manejo y acceso que el cliente brinde sobre la infraestructura\r\n y los datos almacenados en la misma. En caso de daño o pérdida de información, IFX Networks será\r\n responsable únicamente por las copias de seguridad pactadas.
  8. \r\n
  9. Características adicionales de seguridad perimetral tales como: Application control, Web filtering, IPS,\r\n IDS, DLP y Log inspection, no están incluidas en el alcance de seguridad de IFX CLOUD White Label,\r\n en caso de ser requerido, deberán ofrecerse a través de servicios de “IFX SECURITY Solutions”.
  10. \r\n
  11. Al finalizar la relación contractual con IFX Networks, el cliente podrá solicitar los \"log de eventos\"\r\n que demuestren la eliminación total y definitiva de la información del cliente, alojada en la infraestructura\r\n contratada. IFX realiza una operación de borrado seguro de acuerdo con las especificaciones de la\r\n norma ISO 27001 y SAS70. Este procedimiento se realiza a solicitud formal del cliente e implica el\r\n cobro de servicios profesionales.
  12. \r\n
  13. La infraestructura puede ser contratada con dos términos diferentes: Mensual o con compromiso de permanencia\r\n mínima de un año. En ambos casos, el contrato se renueva de forma automática con la misma periodicidad\r\n contratada inicialmente, a no ser que el distribuidor solicite la cancelación del servicio mediante\r\n la plataforma de gestión. La solicitud de cancelación se puede realizar en cualquier momento, pero\r\n la cancelación real, el des-aprovisionamiento de los recursos y la suspensión de la facturación de\r\n los mismos, solo ocurrirá cuando se haya completado el periodo actual de contratación.
  14. \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, Output,OnChanges, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { UserDTO,ProfileDTO } from '../../../models/dtos.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport {FormControl, Validators, FormGroup, FormBuilder, AbstractControl} from '@angular/forms';\r\nimport {CustomFormValidator} from '../../../tools/CustomValidator';\r\nimport { LogsService } from 'src/app/services/logs/logs-services.service';\r\n\r\n\r\n@Component({\r\n selector: 'user-edition',\r\n templateUrl: './user-edition.component.html',\r\n styleUrls: ['../userAccounts.component.scss']\r\n})\r\n\r\nexport class UserEdition implements OnInit, OnChanges {\r\n @Input() user: UserDTO;\r\n @Input() sidenav: MatSidenav;\r\n @Input() customerType: string;\r\n @Output() savedUser = new EventEmitter();\r\n public profiles: Array = [];\r\n public loading = false;\r\n public addClientForm: FormGroup = null;\r\n\r\n constructor(private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, private logsServices: LogsService) {\r\n this.getProfileList();\r\n this.addClientForm = this.formBuilder.group({\r\n userType : [{value: '', disabled: this.loading}, [Validators.required]],\r\n userProfile : [{value: '', disabled: this.loading}, this.customerType === 'SYSTEM_USER' ? [Validators.required] : []],\r\n name : [{value: '', disabled: this.loading}, [Validators.required, Validators.maxLength(100)]],\r\n login : [{value: '', disabled: this.loading}, [Validators.required]],\r\n phone : [{value: '', disabled: this.loading}, [Validators.required, Validators.pattern(/^\\d{1,10}$/)]],\r\n id : [{value: '', disabled: this.loading}, [Validators.required]],\r\n address : [{value: '', disabled: this.loading}, [Validators.required]],\r\n emailInput : [{value: '', disabled: this.loading}, [Validators.required,\r\n Validators.minLength(10), Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)]]\r\n });\r\n }\r\n\r\n clear(){\r\n this.user.Name = '';\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes.user.currentValue) {\r\n if (!changes.user.currentValue.ID) {\r\n this.addClientForm.reset();\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.user = new UserDTO();\r\n }\r\n\r\n getProfileList() {\r\n this.service.GetProfiles().subscribe(\r\n (response: any) => {\r\n this.profiles = response;\r\n },\r\n error => {\r\n this.snackbar.open('Error obteniendo perfiles ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n saveUser() {\r\n this.addClientForm.disable();\r\n this.loading = true;\r\n this.user.CustomerTypeID = this.customerType;\r\n this.service.SaveUser(this.user).subscribe(\r\n (response: any) => {\r\n this.addClientForm.enable();\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.savedUser.emit(response);\r\n this.logsServices.postAppLog('Agregar Usuario', 'Uso', true, 'Usuario creado correctamente', null)\r\n },\r\n (error) => {\r\n this.addClientForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando usuario ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n this.logsServices.postAppLog('Agregar Usuario', 'Uso', false, 'No fue posible crear el usuario', null)\r\n }\r\n )\r\n }\r\n}\r\n\r\n\r\n","\r\n
\r\n
Agregar usuario
\r\n
Editar usuario
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Datos del usuario
\r\n
\r\n
\r\n \r\n \r\n \r\n {{profile.Name}}\r\n \r\n \r\n done\r\n error\r\n Campo requerido\r\n \r\n
\r\n \r\n \r\n {{customerType}}\r\n \r\n done\r\n error\r\n Campo requerido.\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n {{ user.Login ? user.Login.length : 0}} / 50\r\n \r\n
\r\n
Datos de contacto
\r\n
\r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n {{user.Name ? user.Name.length : 0}} / 100\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n El número no cuenta con un formato válido\r\n {{user.Telephone ? user.Telephone.length : 0}} / 20\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n {{user.Identification ? user.Identification.length : 0}} / 30\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n {{user.Address ? user.Address.length : 0}} / 150\r\n \r\n \r\n \r\n done\r\n error\r\n {{user.Email ? user.Email.length : 0}} / 50\r\n Campo requerido.\r\n El tamaño minimo del correo son 10 caracteres.\r\n El correo electrónico no cuenta con el formato adecuado.\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { GridComponent } from \"../../../tools/grid/grid.component\";\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { UserInfoDTO, ProfileDTO, ServiceDTO, UserDTO } from '../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../tools/modals/confirmation/modal.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ServiceSettings } from '../service-configuration/service-configuration.component';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\nimport { PasswordResendDialog } from '../userAccounts.component';\r\n\r\n@Component({\r\n selector: 'user-settings-new',\r\n templateUrl: 'user-settings.component.html',\r\n styleUrls: ['../userAccounts.component.scss']\r\n})\r\n\r\nexport class UserSettings implements OnInit {\r\n user: UserInfoDTO;\r\n @ViewChild('AdditionalServicesGrid') AdditionalServicesGrid: GridComponent;\r\n @ViewChild('UsersGrid') UsersGrid: GridComponent;\r\n @ViewChild('sideNav') sideNav: MatSidenav;\r\n @ViewChild('SerSet') SerSet: ServiceSettings;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n dataSource = new MatTableDataSource();\r\n public userServices: any;\r\n public selectedUser: UserDTO;\r\n private profiles: Array = [];\r\n public loading: boolean = false;\r\n public selectedService: ServiceDTO = new ServiceDTO();\r\n sidenavMode: string = \"\";\r\n displayedColumns = ['State', 'ServiceName', 'ServiceID', 'Cores', 'RAM', 'Options'];\r\n public resultsLength = 10;\r\n tokenPayload :any;\r\n userRole: any;\r\n\r\n public usersGrid = {\r\n columns: [\r\n { name: \"Name\", title: \"Nombre\" },\r\n { name: \"Email\", title: \"Email\" },\r\n { name: \"TotalCost\", title: \"Costo\", format: \"currency\" },\r\n ],\r\n data: [],\r\n id:\"ID\",\r\n toolbar: [\r\n { \"type\": \"button\", \"click\": () => { this.AddUser() }, \"text\": \"AGREGAR USUARIO\", \"align\": \"left\" },\r\n ],\r\n filter: \"Name\",\r\n rowClick: (u) => { this.EditUser(u) },\r\n refresh: (u) => { this.getUsers() },\r\n actions: [\r\n {\r\n text: \"Editar\",\r\n action: (u) => { this.EditUser(u) },\r\n hide: (u) => { return u.ID == JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID }\r\n },\r\n {\r\n text: \"Eliminar\",\r\n action: (u) => { this.removeCustomerConfirm(u) },\r\n hide: (u) => { return u.ID == JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID }\r\n },\r\n {\r\n text: \"Reenviar Contraseña\",\r\n action: (u) => { this.ResendUserMailWindow(u) }\r\n }\r\n ]\r\n }\r\n\r\n public additionalServicesGrid = {\r\n columns: [\r\n { name: \"ServiceID\", title: \"Service ID\" },\r\n { name: \"Configuration.diskType\", title: \"Velocidad(IOPS)\" },\r\n { name: \"Configuration.size\", title: \"Tamaño(GB)\" },\r\n ],\r\n data: [],\r\n filter: \"ServiceID\",\r\n }\r\n\r\n constructor(private service: WlService, private route: ActivatedRoute, public snackbar: MatSnackBar, public router: Router, public dialog: MatDialog, public navbarBroadcast: BroadcastEmitter, public auth : AuthService) {\r\n this.route.params.subscribe(params => {\r\n this.GetUseriformation(params[\"UserID\"]);\r\n });\r\n this.getProfileList();\r\n this.tokenPayload = this.auth.tokenPayload(this.auth.getToken());\r\n this.userRole = this.tokenPayload.CustomerType;\r\n }\r\n\r\n GetColorState(state) {\r\n switch (state) {\r\n case \"PENDING\": return \"machine-pending\";\r\n case \"POWER_ON\": return \"machine-on\";\r\n case \"POWER_OFF\": return \"machine-off\";\r\n case \"BUSY\": return \"machine-busy\";\r\n case \"SUSPEND\": return \"machine-suspended\";\r\n default: return \"\";\r\n }\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.dataSource.data = this.userServices;\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n ResendUserMailWindow(user: UserDTO) {\r\n\r\n this.dialog.open(PasswordResendDialog, {\r\n data: user\r\n });\r\n }\r\n\r\n public resetSidenav(){\r\n this.SerSet.resetComponent();\r\n }\r\n\r\n public AddFreeService() {\r\n console.log(this.user);\r\n this.sidenavMode = \"demoservice\"\r\n this.sideNav.open();\r\n }\r\n\r\n public AddUser() {\r\n this.sidenavMode = \"user\"\r\n this.selectedUser = new UserDTO();\r\n this.selectedUser.ParentID = this.user.ID;\r\n this.selectedUser.Language = JSON.parse(atob(this.auth.getToken().split('.')[1])).Language;\r\n this.sideNav.open();\r\n }\r\n\r\n public EditUser(user) {\r\n this.sidenavMode = \"user\"\r\n this.selectedUser = user;\r\n this.sideNav.open();\r\n }\r\n\r\n removeCustomerConfirm(User: UserDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminando Cliente\",\r\n Message: \"¿Desea continuar?\",\r\n Ok: () => this.RemoveUser(User),\r\n }\r\n });\r\n }\r\n\r\n public RemoveUser(user) {\r\n this.service.RemoveUser(user.ID).subscribe(\r\n response => {\r\n this.getUsers();\r\n this.snackbar.open('Cliente eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n console.log(error);\r\n this.snackbar.open('Error elminando cliente. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n });\r\n }\r\n\r\n public AddService() {\r\n this.sidenavMode = \"service\"\r\n this.selectedService = new ServiceDTO();\r\n this.selectedService.CustomerID = this.user.ID;\r\n this.sideNav.open();\r\n }\r\n\r\n public EditService(Service) {\r\n this.sidenavMode = \"service\"\r\n }\r\n\r\n public savedUser(savedUser: UserDTO) {\r\n this.snackbar.open('Usuario guardado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n this.UsersGrid.pushRow(savedUser);\r\n }\r\n\r\n public savedService(savedService: ServiceDTO) {\r\n this.snackbar.open('Servicio creado satisfactoriamente.', null, {\r\n duration: 3000,\r\n });\r\n this.getServices();\r\n }\r\n\r\n ngOnInit() {\r\n this.user = new UserInfoDTO();\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n { icon: 'person_add', name: 'Agregar Usuario', action: () => { this.AddUser() } },\r\n/* { icon: 'add_box', name: 'Agregar Servicio', action: () => { this.AddService() } },\r\n { icon: 'add_to_photos', name: 'Agregar Servicio de prueba', action: () => { this.AddFreeService() } }, */\r\n { icon: 'keyboard_backspace', name: 'Volver a usuarios', action: () => { this.GoBack() } }\r\n ],\r\n display : true\r\n });\r\n }\r\n\r\n getServices() {\r\n this.loading = true;\r\n this.service.GetDataCenterMachines(null, this.user.ID).subscribe(\r\n (response: any) => {\r\n this.loading = false;\r\n const data = response.filter(f => f.category === 'CS');\r\n this.userServices = (data[0] && data[0].machinesList) ? data[0].machinesList : [];\r\n this.dataSource.data = this.userServices;\r\n this.dataSource.paginator = this.paginator;\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n getUsers() {\r\n this.service.getSystemUserAccounts(this.user.ID).subscribe(\r\n response => {\r\n this.UsersGrid.setData(response);\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n getAdditionalServices() {\r\n this.AdditionalServicesGrid.loading = true;\r\n this.service.GetAdditionalServicesByCustomer(this.user.ID).subscribe(\r\n response => {\r\n this.AdditionalServicesGrid.setData(response);\r\n },\r\n error => {\r\n\r\n }\r\n )\r\n }\r\n\r\n GoBack() {\r\n this.router.navigateByUrl('/home/(main:userAccounts)', { skipLocationChange: true });\r\n }\r\n\r\n GetUseriformation(CustomerID: string) {\r\n this.service.GetUserInformation(CustomerID).subscribe(\r\n (response : any) => {\r\n this.user = response;\r\n this.getServices();\r\n this.getUsers();\r\n this.getAdditionalServices();\r\n },\r\n error => {\r\n this.snackbar.open('Error obteniendo información. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n this.router.navigateByUrl('/home/(main:userAccounts)', { skipLocationChange: true });\r\n }\r\n )\r\n }\r\n\r\n getProfileList() {\r\n this.service.GetProfiles().subscribe(\r\n (response:any) => { this.profiles = response },\r\n error => {\r\n this.snackbar.open('Error obteniendo perfiles ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n\r\n","\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n account_balance_wallet\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n developer_board\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n sentiment_neutral\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n sentiment_very_satisfied\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n Option\r\n \r\n \r\n\r\n
\r\n \r\n \r\n Estado\r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n \r\n Nombre\r\n \r\n
\r\n {{row.ServiceName}}\r\n
\r\n
\r\n
\r\n \r\n Service ID\r\n {{row.ServiceID}} \r\n \r\n \r\n Cores\r\n {{row.Configuration.Cores.Value}} \r\n \r\n \r\n RAM\r\n {{row.Configuration.Ram.Value}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { GridComponent } from \"../../tools/grid/grid.component\";\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { UserEdition } from './user-edition/user-edition.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Router } from '@angular/router';\r\nimport { UserDTO } from '../../models/dtos.component';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport { ConfirmationDialog } from '../../tools/modals/confirmation/modal.component';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-userAccounts',\r\n templateUrl: './userAccounts.component.html',\r\n styleUrls: ['./userAccounts.component.scss']\r\n})\r\nexport class UserAccountsComponent implements OnInit {\r\n @ViewChild('sideNav') sideNav: MatSidenav;\r\n @ViewChild('usersGrid') usersGrid: GridComponent;\r\n public selectedUser: UserDTO;\r\n constructor(public service: WlService,\r\n private router: Router,\r\n public snackBar: MatSnackBar,\r\n public navbarBroadcast: BroadcastEmitter,\r\n public dialog: MatDialog,\r\n public auth: AuthService) {\r\n this.service.ModuleName = 'userAccounts';\r\n }\r\n message: string = 'Haz doble clic sobre el nombre del usuario para editar';\r\n openSnackBar(message: string) {\r\n this.snackBar.open(message, null, {\r\n duration: 4000,\r\n });\r\n }\r\n\r\n public grid = {\r\n columns: [\r\n { name: \"Name\", title: \"Name\" },\r\n { name: \"Email\", title: \"Email\" },\r\n { name: \"TotalCost\", title: \"Cost\", format: \"currency\" },\r\n ],\r\n data: [],\r\n toolbar: [\r\n { \"type\": \"button\", \"permission\": \"AddCustomer\", \"click\": () => { this.addUser() }, \"text\": \"Agregar cliente\", \"align\": \"left\" }\r\n ],\r\n filter: \"Name\",\r\n pageSize: 10,\r\n rowClick: (u) => { this.userSettings(u) },\r\n refresh: (u) => { this.getUsers() },\r\n minWidth: '900px',\r\n actions: [\r\n {\r\n text: \"Detalle y Servicios\",\r\n action: (u) => { this.userSettings(u) },\r\n },\r\n {\r\n text: \"Editar\",\r\n action: (u) => { this.editUser(u) },\r\n hide: (u) => { return u.CustomerTypeID != \"CUSTOMER\" }\r\n },\r\n {\r\n text: \"Eliminar\",\r\n action: (u) => { this.removeCustomerConfirm(u) },\r\n hide: (u) => { return u.CustomerTypeID != \"CUSTOMER\" || u.ID == JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID }\r\n },\r\n {\r\n text: \"Iniciar Sesión\",\r\n action: (u) => { this.ImpersonateUser(u) },\r\n hide: (u) => { return JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID == u.ID }\r\n },\r\n {\r\n text: \"Reenviar Contraseña\",\r\n action: (u) => { this.ResendUserMailWindow(u) }\r\n }\r\n ]\r\n }\r\n\r\n ResendUserMailWindow(user: UserDTO) {\r\n this.dialog.open(PasswordResendDialog, {\r\n data: user\r\n });\r\n }\r\n\r\n ImpersonateUser(user: UserDTO) {\r\n this.service.GenerateToken(user.ID).subscribe(\r\n (response:any) => {\r\n localStorage.setItem(\"usertoken\", response.token);\r\n window.open(user.DomainName + \"/?t=\" + response.token, '_blank');\r\n }\r\n )\r\n }\r\n\r\n removeCustomerConfirm(User: UserDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Cliente\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.removeCustomer(User),\r\n }\r\n });\r\n }\r\n\r\n removeCustomer(User: UserDTO): void {\r\n if (this.usersGrid) {\r\n this.usersGrid.loading = true;\r\n }\r\n this.service.RemoveUser(User.ID).subscribe(\r\n () => {\r\n this.getUsers();\r\n this.snackBar.open('Cliente eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.usersGrid.loading = false;\r\n this.snackBar.open('Error eliminando cliente. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n userSettings(User) {\r\n this.router.navigateByUrl('/home/(main:userConfiguration/' + encodeURIComponent(User.ID) + ')', { skipLocationChange: true });\r\n }\r\n\r\n editUser(User) {\r\n this.selectedUser = User;\r\n this.sideNav.open();\r\n }\r\n\r\n addUser() {\r\n this.selectedUser = new UserDTO();\r\n this.selectedUser.ParentID = JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID;\r\n this.selectedUser.Language = JSON.parse(atob(this.auth.getToken().split('.')[1])).Language;\r\n this.sideNav.open();\r\n }\r\n\r\n public savedUser(savedUser: UserDTO) {\r\n this.snackBar.open('Cliente guardado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n }\r\n\r\n\r\n finishSaving() {\r\n this.selectedUser = new UserDTO();\r\n this.usersGrid.loading = true;\r\n this.getUsers();\r\n }\r\n\r\n ngOnInit() {\r\n this.navbarBroadcast.SendMessage({ text: \"Cuentas de usuario\", actions: [{ icon: 'person_add', name: 'Agregar cliente', action: () => { this.addUser() } }] ,display : true});\r\n this.getUsers();\r\n }\r\n\r\n getUsers() {\r\n if (this.usersGrid) {\r\n this.usersGrid.loading = true;\r\n }\r\n this.service.getCustomerAccounts()\r\n .subscribe((response) => {\r\n this.usersGrid.setData(response);\r\n }, (error) => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n );\r\n }\r\n}\r\nconst EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\r\n@Component({\r\n selector: 'password-resend-dialog',\r\n templateUrl: 'password-resend.html',\r\n styleUrls: ['../../tools/modals/modals.scss']\r\n})\r\nexport class PasswordResendDialog {\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public snackbar: MatSnackBar,\r\n private service: WlService) { }\r\n public loading = false;\r\n public emailAddress = '';\r\n emailFormControl = new FormControl('', [\r\n Validators.pattern(EMAIL_REGEX)]\r\n );\r\n ResendUserMail() {\r\n this.loading = true;\r\n this.service.ResendUserMail(this.data.ID, this.emailAddress).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.dialogRef.close();\r\n this.snackbar.open('Correo enviado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error enviando correo. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","
\r\n
\r\n

Reenvio de credenciales\r\n\r\n

\r\n
\r\n
\r\n
\r\n Por favor ingrese el correo al cual se deben enviar las credenciales\r\n

\r\n \r\n \r\n \r\n Please enter a valid email address\r\n \r\n {{emailAddress.length}} / 50\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Component, Input, Output, OnInit, EventEmitter, OnChanges } from '@angular/core';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { ProductDTO, BundleDTO } from '../../../models/dtos.component';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\n\r\n@Component({\r\n// tslint:disable-next-line: component-selector\r\n selector: 'plan-edition',\r\n templateUrl: 'plan-edition.component.html',\r\n styleUrls: ['../virtualServers.component.scss']\r\n})\r\n\r\nexport class planEdition implements OnInit, OnChanges {\r\n @Input() product: ProductDTO;\r\n @Input() sidenav: MatSidenav;\r\n @Output() savedProduct = new EventEmitter();\r\n constants: Constants = new Constants();\r\n public loading = false;\r\n token: string;\r\n language: string;\r\n virtualServerForm: FormGroup;\r\n\r\n\r\n constructor(private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder,public auth: AuthService) {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.virtualServerForm = this.formBuilder.group({\r\n 'nombredelPlan': [{ value: '', disabled: this.loading }, [Validators.required, Validators.minLength(4)]],\r\n 'descripciondelPlan': [{ value: '', disabled: this.loading }, [Validators.required, Validators.maxLength(130)]],\r\n 'cantidadCores': [{ value: '', disabled: this.loading }, [Validators.required]],\r\n 'cantidadRam': [{ value: '', disabled: this.loading }, [Validators.required]],\r\n 'tipodeProductos': [{ value: '', disabled: this.loading }, [Validators.required]],\r\n });\r\n }\r\n ngOnInit() {\r\n this.product = new ProductDTO();\r\n this.refreshProductPrice();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['product'].currentValue) {\r\n if (!changes['product'].currentValue.ID) {\r\n this.virtualServerForm.reset({\r\n cantidadCores: 2,\r\n cantidadRam: 2,\r\n tipodeProductos: '/assets/img/gralServer.png',\r\n });\r\n }\r\n this.refreshProductPrice();\r\n }\r\n }\r\n\r\n public SaveProduct() {\r\n this.virtualServerForm.disable();\r\n this.loading = true;\r\n this.service.SaveProduct(this.product).subscribe(\r\n (response:any) => {\r\n this.virtualServerForm.enable();\r\n this.loading = false;\r\n this.savedProduct.emit(response);\r\n this.sidenav.close();\r\n },\r\n error => {\r\n this.virtualServerForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando producto ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n public closeDialog() {\r\n this.sidenav.close();\r\n }\r\n\r\n public changeProductType(value) {\r\n switch (value.value) {\r\n case '/assets/img/gralServer.png':\r\n this.product.VirtualizationProviderID = 1;\r\n this.product.Configuration.BundleMachine.Hypervisor.plataform = 1;\r\n break;\r\n case '/assets/img/sapLogoBg.png':\r\n this.product.VirtualizationProviderID = 2;\r\n this.product.Configuration.BundleMachine.Hypervisor.plataform = 2;\r\n break;\r\n default:\r\n break;\r\n }\r\n console.log(value);\r\n }\r\n\r\n public clearSelection() {\r\n this.product.Configuration = new BundleDTO();\r\n this.product.Name = '';\r\n this.product.Description = '';\r\n }\r\n\r\n public refreshProductPrice() {\r\n this.loading = true;\r\n this.service.GetProductPrice(this.product.Configuration).subscribe(\r\n (response:any) => {\r\n this.loading = false;\r\n this.product.Configuration = response;\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error consultando precio ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'VIRTUAL_SERVERS.ADD_VIRTUAL_SERVER' | translate}}
\r\n
{{'VIRTUAL_SERVERS.EDIT_VIRTUAL_SERVER' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'VIRTUAL_SERVERS.PLAN_DATA' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
El nombre debe contar con al menos 4 caracteres
\r\n
El nombre del plan es un campo requerido.
\r\n
\r\n
\r\n {{product.Name ? product.Name.length : 0}} / 50\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
El tamaño mínimo es 20 caracteres.
\r\n
La descripción es un campo requerido.
\r\n
\r\n
\r\n {{product.Description ? product.Description.length : 0}} / 130\r\n
\r\n
\r\n
Configuración del plan
\r\n
\r\n \r\n \r\n {{c.value}}\r\n \r\n \r\n\r\n\r\n \r\n \r\n {{r.value}}\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{c.Name}}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{{'VIRTUAL_SERVERS.TOTAL_COST' | translate}}: {{ product.Configuration.BundleMachine.Cost.DiscountMRC\r\n | currency:'USD':true:'1.2-2'}}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ProductDTO } from '../../models/dtos.component';\r\nimport { Constants } from '../../models/constants.component';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { BroadcastEmitter} from '../../services/BroadcastEmitter';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n// tslint:disable-next-line: component-selector\r\n selector: 'app-virtualServers',\r\n templateUrl: './virtualServers.component.html',\r\n styleUrls: ['./virtualServers.component.scss']\r\n})\r\nexport class VirtualServersComponent implements OnInit {\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n canCloseSidenav = true;\r\n dataCenterID: number;\r\n domainProducts = new Array();\r\n selectedProduct: ProductDTO = new ProductDTO();\r\n constants: Constants = new Constants();\r\n mostrar = false;\r\n token: string;\r\n language: string;\r\n\r\n\r\n constructor(private service: WlService,\r\n public snackbar: MatSnackBar,\r\n public navBrodcaster: BroadcastEmitter,\r\n public auth: AuthService) {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n public ngOnInit() {\r\n this.getProducts();\r\n this.navBrodcaster.SendMessage({\r\n text : 'Servidores virtuales',\r\n actions : [\r\n {icon : 'note_add', name: 'Nueva plantilla', action : () => {this.AddProduct()}}\r\n ],\r\n display: true\r\n });\r\n }\r\n\r\n public finishSaving(_product) {\r\n if(this.selectedProduct.ID != _product.ID){\r\n this.domainProducts[this.domainProducts.indexOf(this.selectedProduct)] = _product;\r\n }\r\n }\r\n\r\n public closeSidenav() {\r\n this.domainProducts = this.domainProducts.filter((u)=>{return u.ID != null });\r\n }\r\n\r\n public getProducts() {\r\n this.service.GetProducts().subscribe(\r\n (response:any) => {\r\n this.domainProducts = response\r\n },\r\n error => {\r\n this.snackbar.open('Error consultando productos ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n public AddProduct(){\r\n this.domainProducts = this.domainProducts.filter((u) => {return u.ID != null });\r\n const p = new ProductDTO();\r\n p.ProductType = 'GENERAL';\r\n this.domainProducts.unshift(p);\r\n this.editProduct(p);\r\n }\r\n\r\n public editProduct(product) {\r\n this.selectedProduct = product;\r\n this.sidenav.open();\r\n }\r\n\r\n public disableProduct(product) {\r\n product.IsSaving = true;\r\n this.service.changeProductState(product).subscribe(\r\n (response :any) => {\r\n this.snackbar.open('estado de producto ' + product.Name + ' cambiado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n product.State = response.State;\r\n product.IsSaving = false;\r\n },\r\n error => {\r\n product.IsSaving = false;\r\n this.snackbar.open('Error cambiando estado del producto ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n public removeProduct(product) {\r\n product.IsSaving = true;\r\n this.service.RemoveProduct(product).subscribe(\r\n () => {\r\n this.snackbar.open('Producto eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n this.getProducts();\r\n },\r\n error=>{\r\n product.IsSaving = false;\r\n this.snackbar.open('Error elminando producto ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n\r\n }\r\n }\r\n\r\n","\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'VIRTUAL_SERVERS.ACTIVE' | translate}}\r\n {{'VIRTUAL_SERVERS.INACTIVE' | translate}}\r\n
\r\n \"Card\r\n \r\n
\r\n

{{product.Name}}

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

{{product.Description}}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{'VIRTUAL_SERVERS.CONFIGURATION' | translate}} {{'VIRTUAL_SERVERS.PRICE' | translate}} {{'VIRTUAL_SERVERS.TOTAL' | translate}}
{{product.Configuration.BundleMachine.Cores.Value}} {{'VIRTUAL_SERVERS.CORES' | translate}} {{product.Configuration.BundleMachine.Ram.Value}}GB\r\n Ram 100GB/SSD {{ product.Configuration.Cost.MRC | currency:'USD':true:'1.2-2'}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'certificate-upload',\r\n templateUrl: './certificate-upload.component.html',\r\n styleUrls: ['./certificate-upload.component.scss'],\r\n})\r\nexport class CertificateUploadComponent {\r\n @ViewChild(\"fileInput\") fileInput;\r\n globalization: any = Globalization;\r\n loaded: boolean = false;\r\n fileSrc: string = '';\r\n pwd : string;\r\n saveButton : boolean = false;\r\n SSLCertificate : boolean = false;\r\n SSLLoading : boolean = true;\r\n fileToUpload: any;\r\n token: string;\r\n language: string;\r\n constructor( private service: WlService , public snackbar: MatSnackBar, public auth: AuthService){}\r\n\r\n public ngOnInit(){\r\n this.inicializate();\r\n this.getDomainData(); \r\n }\r\n\r\n inicializate(){\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n public getDomainData(){\r\n this.service.GetDomainInformation().subscribe(\r\n (response:any)=>{\r\n this.SSLCertificate = response.SSLCertificate;\r\n this.SSLLoading = false;\r\n }, \r\n error=>{\r\n this.snackbar.open('Error consultando domainInfo ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n \r\n )\r\n }\r\n\r\n saveFile(): void {\r\n if(this.validate()){\r\n let fi = this.fileInput.nativeElement;\r\n if (fi.files && fi.files[0]) {\r\n this.fileToUpload = fi.files[0];\r\n let params = {\r\n Type :\"CertificateSSL\",\r\n password : this.pwd\r\n }\r\n this.SSLLoading = true;\r\n this.service\r\n .uploadFile(this.fileToUpload,\"Domain/UploadCertificateSSL\", params)\r\n .subscribe(\r\n res => {\r\n this.saveButton = false; \r\n this.snackbar.open('Certificado cargado correctamente', null, {\r\n duration: 2000,\r\n });\r\n this.pwd = \"\";\r\n this.SSLLoading = false;\r\n\r\n }, \r\n error=>{\r\n this.snackbar.open('Error al cargar el certificado por favor verifique el archivo y el password', null, {\r\n duration: 2000,\r\n });\r\n this.SSLLoading = false;\r\n }\r\n );\r\n }\r\n\r\n }else{\r\n this.snackbar.open('Por favor verifique el password' , null, {\r\n duration: 2000,\r\n });\r\n }\r\n \r\n }\r\n\r\n uploadFile():void {\r\n let fi = this.fileInput.nativeElement;\r\n if (fi.files && fi.files[0]) {\r\n this.fileToUpload = fi.files[0];\r\n this.saveButton = true;\r\n }else{\r\n this.saveButton = false;\r\n }\r\n }\r\n validate():boolean{ \r\n let validate = (this.pwd && this.pwd.length != null && this.pwd.length !== 0 ) ? true: false;\r\n return validate;\r\n }\r\n cancelUpload():void {\r\n this.saveButton = false;\r\n this.fileToUpload = {};\r\n this.pwd = \"\";\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
{{ 'WHITELABELCONFIGURATION.UPLOADCERTIFICATE' | translate}}
\r\n {{ 'WHITELABELCONFIGURATION.PASSWORD' | translate}}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{fileToUpload.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewChild, OnInit} from '@angular/core';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'image-upload',\r\n templateUrl: './image-upload.component.html',\r\n styleUrls: ['./image-upload.component.scss'],\r\n inputs:['activeColor','baseColor','overlayColor']\r\n})\r\n\r\nexport class ImageUploadComponent implements OnInit {\r\n\r\n @ViewChild(\"fileInput\") fileInput;\r\n globalization: any = Globalization;\r\n dragging: boolean = false;\r\n loaded: boolean = false;\r\n customerImage: string = '';\r\n editImage: boolean = false\r\n imageLoaded: boolean = false;\r\n imageSrc: string = '';\r\n activeColor: string = 'green';\r\n baseColor: string = '#ccc';\r\n borderColor :string;\r\n iconColor : string;\r\n HeaderConfiguration : any;\r\n overlayColor: string = 'rgba(255,255,255,0.5)';\r\n token: string;\r\n language: string;\r\n\r\n constructor(private service: WlService , public snackbar: MatSnackBar, public auth : AuthService) {}\r\n\r\n public ngOnInit(){\r\n this.inicializate();\r\n this.getDomainData();\r\n }\r\n\r\n inicializate(){\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n public getDomainData(){\r\n this.service.GetDomainInformation().subscribe(\r\n (response:any)=>{\r\n this.HeaderConfiguration = JSON.parse(response.HeaderConfiguration);\r\n if(this.HeaderConfiguration.Logo.length > 0){\r\n this.customerImage = environment.serviceUrl+\"CustomerImages/\"+this.HeaderConfiguration.Logo;\r\n this.imageSrc = this.customerImage;\r\n }\r\n }, \r\n error=>{\r\n this.snackbar.open('Error consultando domainInfo ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n \r\n )\r\n }\r\n\r\n\r\n \r\n saveFile(): void {\r\n let fi = this.fileInput.nativeElement;\r\n if (fi.files && fi.files[0]) {\r\n let fileToUpload = fi.files[0];\r\n this.service.uploadFile(fileToUpload, \"Domain/UploadLogo\").subscribe(\r\n response => {\r\n this.snackbar.open('Logo actualizado correctamente', null, {\r\n duration: 2000,\r\n });\r\n this.getDomainData();\r\n this.editImage = false;\r\n }, \r\n error=>{\r\n this.snackbar.open('Error actualizando el logo' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n cancelUpload(): void{\r\n this.imageSrc = (this.customerImage) ? this.customerImage : this.imageSrc ='';\r\n this.editImage = false;\r\n }\r\n\r\n handleDragEnter() {\r\n this.dragging = true;\r\n }\r\n \r\n handleDragLeave() {\r\n this.dragging = false;\r\n }\r\n \r\n handleDrop(e) {\r\n e.preventDefault();\r\n this.dragging = false;\r\n this.handleInputChange(e);\r\n }\r\n \r\n handleImageLoad() {\r\n this.imageLoaded = true \r\n this.iconColor = this.overlayColor;\r\n }\r\n\r\n handleInputChange(e) {\r\n var file = e.dataTransfer ? e.dataTransfer.files[0] : e.target.files[0];\r\n var pattern = /image-*/;\r\n var reader = new FileReader();\r\n\r\n if (!file.type.match(pattern)) {\r\n this.snackbar.open('Formato Invalido', null, {\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.editImage = true;\r\n this.loaded = false;\r\n reader.onload = this.handleReaderLoaded.bind(this);\r\n reader.readAsDataURL(file);\r\n }\r\n \r\n handleReaderLoaded(e) {\r\n var reader = e.target;\r\n this.imageSrc = reader.result;\r\n this.loaded = true;\r\n }\r\n\r\n setActive() {\r\n this.borderColor = this.activeColor;\r\n if (this.imageSrc.length === 0) {\r\n this.iconColor = this.activeColor;\r\n }\r\n }\r\n \r\n setInactive() {\r\n this.borderColor = this.baseColor;\r\n if (this.imageSrc.length === 0) {\r\n this.iconColor = this.baseColor;\r\n }\r\n }\r\n}","
\r\n
\r\n \r\n
\r\n
{{ 'WHITELABELCONFIGURATION.UPLOADFILE' | translate}}
\r\n {{ 'WHITELABELCONFIGURATION.DESCRIPTION' | translate}}, ({{ 'WHITELABELCONFIGURATION.SIZEIMAGE' | translate}}).\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-whiteLabelConfiguration',\r\n templateUrl: './whiteLabelConfiguration.component.html',\r\n styleUrls: ['./whiteLabelConfiguration.component.scss'],\r\n})\r\nexport class WhiteLabelConfigurationComponent {}","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n www.ifxnetworks.com 2021 © todos los derechos reservados. \r\n
\r\n
\r\n
","export const Globalization = {\r\n general : {\r\n\r\n required : {\r\n 'en-us': 'Required', 'es-co': 'Campo requerido.',\r\n }\r\n },\r\n login:\r\n {\r\n message: {\r\n // 'en-us':'Enter your user name and password.',\r\n // 'es-co':'Ingrese su usuario y contraseña',\r\n 'en-us': 'Hi! We wish you to have a very nice day.',\r\n 'es-co': 'Hola!, Esperamos que tengas un muy buen día',\r\n },\r\n user: {\r\n 'en-us': 'type your user name',\r\n 'es-co': 'Usuario',\r\n },\r\n password: {\r\n 'en-us': 'Place your Password',\r\n 'es-co': 'Contraseña',\r\n },\r\n loginButton: {\r\n 'en-us': 'Login',\r\n 'es-co': 'Ingresar',\r\n },\r\n forgotPassword: {\r\n 'en-us': 'Forgot your password?',\r\n 'es-co': '¿Olvidaste tu contraseña?',\r\n }\r\n },\r\n\r\n menu:\r\n {\r\n home: {\r\n 'en-us': 'Home', 'es-co': 'Inicio',\r\n },\r\n dataCenter: {\r\n 'en-us': 'Datacenter', 'es-co': 'Centro de datos',\r\n },\r\n plans: {\r\n 'en-us': 'Services', 'es-co': 'Servicios',\r\n },\r\n Administration: {\r\n 'en-us': 'Administration', 'es-co': 'Administración',\r\n },\r\n Configuration: {\r\n 'en-us': 'Settings', 'es-co': 'Configuración',\r\n },\r\n Information: {\r\n 'en-us': 'Information', 'es-co': 'Información',\r\n },\r\n logout: {\r\n 'en-us': 'Logout', 'es-co': 'Cerrar sesión',\r\n },\r\n virtualServers: {\r\n 'en-us': 'Virtual servers', 'es-co': 'Servidores virtuales',\r\n },\r\n calculator: {\r\n 'en-us': 'Calculator', 'es-co': 'Cotizador',\r\n },\r\n Prospects: {\r\n 'en-us': 'Prospects', 'es-co': 'Prospectos',\r\n },\r\n eventsLog: {\r\n 'en-us': 'Event viewer', 'es-co': 'Log de eventos',\r\n },\r\n useStatistics: {\r\n 'en-us': 'Statistics', 'es-co': 'Estadisticas de uso',\r\n },\r\n whiteLabelConfiguration: {\r\n 'en-us': 'Look and Feel', 'es-co': 'Mi portal',\r\n },\r\n CancelledServices: {\r\n 'en-us': 'Cancelled services', 'es-co': 'Servicios cancelados',\r\n },\r\n userAccounts: {\r\n 'en-us': 'User accounts', 'es-co': 'Cuentas de usuario',\r\n },\r\n billing: {\r\n 'en-us': 'Billing', 'es-co': 'Facturación',\r\n },\r\n Marketplace: {\r\n 'en-us': 'Marketplace', 'es-co': 'Tienda',\r\n },\r\n accountConfiguration: {\r\n 'en-us': 'My account', 'es-co': 'Mi cuenta',\r\n },\r\n activeDirectory: {\r\n 'en-us': 'Active Directory', 'es-co': 'Directorio activo',\r\n },\r\n role: {\r\n 'en-us': 'Roles', 'es-co': 'Roles',\r\n },\r\n emailSetup: {\r\n 'en-us': 'Email branding', 'es-co': 'Correos',\r\n },\r\n helpDesk: {\r\n 'en-us': 'Helpdesk', 'es-co': 'Material de ayuda',\r\n },\r\n Faq: {\r\n 'en-us': 'FAQ', 'es-co': 'FAQ',\r\n },\r\n pendingMachines: {\r\n 'en-us': 'Machines in progress', 'es-co': 'Máquinas pendientes',\r\n },\r\n supportContacts: {\r\n 'en-us': 'Support Contacts', 'es-co': 'Contactos de Soporte',\r\n },\r\n desktop: {\r\n 'en-us': 'Home', 'es-co': 'Inicio',\r\n }\r\n },\r\n desktop:\r\n {\r\n whitelabelinfo:\r\n {\r\n cloud: {\r\n 'en-us': 'Cloud: ', 'es-co': 'Nube: '\r\n },\r\n telephone: {\r\n 'en-us': 'Telephone: ', 'es-co': 'Teléfono: '\r\n },\r\n status: {\r\n 'en-us': 'Status: ', 'es-co': 'Estado: '\r\n },\r\n cost: {\r\n 'en-us': 'Cost: ', 'es-co': 'Costo:'\r\n },\r\n currentlyyouhave: {\r\n 'en-us': 'Currently you have: ', 'es-co': 'Cuentas con: '\r\n },\r\n users: {\r\n 'en-us': 'Users', 'es-co': 'Usuarios'\r\n },\r\n services: {\r\n 'en-us': 'Service(s)', 'es-co': 'Servicio(s)'\r\n },\r\n aditionalservices: {\r\n 'en-us': 'Aditional Service(s)', 'es-co': 'Servicio(s) Adicional(es)'\r\n },\r\n },\r\n\r\n favorites:\r\n {\r\n title: {\r\n 'en-us': 'Favorites', 'es-co': 'Favoritos'\r\n },\r\n user: {\r\n 'en-us': 'User', 'es-co': 'Usuario'\r\n },\r\n machine: {\r\n 'en-us': 'Machine', 'es-co': 'Máquina'\r\n },\r\n firewall: {\r\n 'en-us': 'Firewall', 'es-co': 'Cortafuegos'\r\n },\r\n },\r\n\r\n accountsumary:\r\n {\r\n title: {\r\n 'en-us': 'ACCOUNT SUMMARY', 'es-co': 'RESUMEN DE CUENTA'\r\n },\r\n acounttodate: {\r\n 'en-us': 'Account status to date', 'es-co': 'Estado de cuenta'\r\n },\r\n currentbalance: {\r\n 'en-us': 'Current Balance', 'es-co': 'Balance Actual'\r\n },\r\n activemachines: {\r\n 'en-us': 'Active Machines', 'es-co': 'Máquina Activas'\r\n },\r\n activemachinesnumber: {\r\n 'en-us': 'Active Machines', 'es-co': 'Total Activas'\r\n },\r\n pendingcancelations: {\r\n 'en-us': 'Pending', 'es-co': 'Cancelaciones'\r\n },\r\n balancetodate: {\r\n 'en-us': 'Cancelations', 'es-co': 'Pendientes'\r\n },\r\n activecustomers: {\r\n 'en-us': 'Active Customers', 'es-co': 'Clientes Activos'\r\n },\r\n activecustnumber: {\r\n 'en-us': 'Current', 'es-co': 'Total Activos'\r\n },\r\n },\r\n\r\n changelog:\r\n {\r\n title: {\r\n 'en-us': 'CHANGE LOG', 'es-co': 'REGISTRO DE CAMBIOS'\r\n }\r\n }\r\n\r\n },\r\n\r\n datacenter:\r\n {\r\n serviceid: {\r\n 'en-us': 'Service Id: ', 'es-co': 'Id del Servicio: '\r\n },\r\n status: {\r\n 'en-us': 'Status: ', 'es-co': 'Estado: '\r\n },\r\n edit: {\r\n 'en-us': 'Edit ', 'es-co': 'Editar '\r\n },\r\n menu: {\r\n adminnet: {\r\n 'en-us': 'Admin Networks', 'es-co': 'Administrar Redes '\r\n }\r\n },\r\n TURN_OFF: {\r\n 'en-us': 'Shutdown', 'es-co': 'Apagar'\r\n },\r\n TURN_ON: {\r\n 'en-us': 'Power On', 'es-co': 'Encender'\r\n },\r\n LAY_OFF: {\r\n 'en-us': 'Suspend', 'es-co': 'Suspender'\r\n },\r\n RESTART: {\r\n 'en-us': 'Restart', 'es-co': 'Reiniciar '\r\n },\r\n RESUME: {\r\n 'en-us': 'Restart', 'es-co': 'Reiniciar '\r\n },\r\n TURN_OFF_GUEST: {\r\n 'en-us': 'Power On Guest OS', 'es-co': 'Encender Sistema Operativo Invitado'\r\n },\r\n LAY_OFF_GUEST: {\r\n 'en-us': 'Suspend Guest OS', 'es-co': 'Suspender Sistema Operativo Invitado'\r\n },\r\n RESTART_GUEST: {\r\n 'en-us': 'Restart Guest OS', 'es-co': 'Reiniciar Sistema Operativo Invitado'\r\n },\r\n },\r\n\r\n dcSidenav:\r\n {\r\n actions: {\r\n 'en-us': 'Actions', 'es-co': 'Acciones'\r\n },\r\n cores: {\r\n 'en-us': 'Configured Cores: ', 'es-co': 'CPU'\r\n },\r\n ram: {\r\n 'en-us': 'Configured Ram: ', 'es-co': 'Ram (GB)'\r\n },\r\n machinestatus: {\r\n 'en-us': 'Machine status: ', 'es-co': 'Estado'\r\n },\r\n password: {\r\n 'en-us': 'Password: ', 'es-co': 'Contraseña'\r\n },\r\n privateip: {\r\n 'en-us': 'Private Ip: ', 'es-co': 'Ip Privada: '\r\n },\r\n rdpaccess: {\r\n 'en-us': 'RDP/SSH access: ', 'es-co': 'Acceso RDP/SSH: '\r\n },\r\n macaddress: {\r\n 'en-us': 'Mac Address: ', 'es-co': 'Dirección Mac: '\r\n },\r\n viewconfig: {\r\n 'en-us': 'Set up', 'es-co': 'Configurar'\r\n },\r\n diskSize: {\r\n 'en-us': 'Disk size', 'es-co': 'Disco'\r\n },\r\n datacenter: {\r\n 'en-us': 'Datacenter', 'es-co': 'Centro de datos'\r\n }\r\n },\r\n\r\n networkSettings: {\r\n gettingInfo: {\r\n 'en-us': 'Obtaining information from the net', 'es-co': 'Obteniendo información de red'\r\n },\r\n services: {\r\n 'en-us': 'Services', 'es-co': 'Servicios'\r\n },\r\n publicips: {\r\n 'en-us': 'Public Ips', 'es-co': 'Ips Públicas'\r\n },\r\n\r\n sideNavNat:\r\n {\r\n protocol: {\r\n 'en-us': 'Protocol', 'es-co': 'Protocolo'\r\n },\r\n description: {\r\n 'en-us': 'Description', 'es-co': 'Descripción'\r\n },\r\n ipSource: {\r\n 'en-us': 'Ip Source', 'es-co': 'Ip Origen'\r\n },\r\n sourcePort: {\r\n 'en-us': 'Source Port', 'es-co': 'Puerto Origen'\r\n },\r\n ipDestination: {\r\n 'en-us': 'Destination Ip', 'es-co': 'Ip Destino'\r\n }\r\n },\r\n\r\n sideNavDHCP:\r\n {\r\n serviceId: {\r\n 'en-us': 'Service Id', 'es-co': 'Id del Servicio'\r\n },\r\n defaultGateway: {\r\n 'en-us': 'Default Gateway', 'es-co': 'Puerta Predeterminada'\r\n },\r\n ipAddress: {\r\n 'en-us': 'Ip Address', 'es-co': 'Driección Ip'\r\n },\r\n dnsPrimary: {\r\n 'en-us': 'Primary DNS', 'es-co': 'DNS Primario'\r\n },\r\n dnsSecondary: {\r\n 'en-us': 'Secondary DNS', 'es-co': 'DNS Secundario'\r\n },\r\n netMask: {\r\n 'en-us': 'Net Mask', 'es-co': 'Mascara de Red'\r\n },\r\n },\r\n sideNavRouting:\r\n {\r\n network: {\r\n 'en-us': 'Network', 'es-co': 'Red'\r\n },\r\n nextHop: {\r\n 'en-us': 'Next Hop', 'es-co': 'Enrutamiento'\r\n },\r\n vnic: {\r\n 'en-us': 'Interface', 'es-co': 'Interfaz'\r\n },\r\n description: {\r\n 'en-us': 'Description', 'es-co': 'Descripción'\r\n }\r\n },\r\n sideNavVPN:\r\n {\r\n algorithm: {\r\n 'en-us': 'Encryption Algorithm', 'es-co': 'Algoritmo de Encripción'\r\n },\r\n diffieHellman: {\r\n 'en-us': 'Team Diffie-Hellman', 'es-co': 'Grupo Diffie-Hellman'\r\n },\r\n enablePFS: {\r\n 'en-us': 'Enable PFS', 'es-co': 'Habilitar PFS'\r\n },\r\n status: {\r\n 'en-us': 'Status', 'es-co': 'Estado'\r\n },\r\n localIp: {\r\n 'en-us': 'Local Ip', 'es-co': 'Ip Local'\r\n },\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n password: {\r\n 'en-us': 'Password', 'es-co': 'Contraseña'\r\n },\r\n localSubnets: {\r\n 'en-us': 'Local Subnets', 'es-co': 'Subnets Locales'\r\n },\r\n ipDestination: {\r\n 'en-us': 'Ip Destionation', 'es-co': 'Ip Destino'\r\n },\r\n },\r\n\r\n sideNavIPSet:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n value: {\r\n 'en-us': 'IP Addresses', 'es-co': 'Direcciones IP'\r\n }\r\n },\r\n sideNavAppProfile:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n template: {\r\n 'en-us': 'Type', 'es-co': 'Tipo'\r\n },\r\n method: {\r\n 'en-us': 'Persistence', 'es-co': 'Persistencia'\r\n },\r\n cookieName: {\r\n 'en-us': 'Cookie name', 'es-co': 'Nombre de cookie'\r\n },\r\n cookieMode: {\r\n 'en-us': 'Mode', 'es-co': 'Modo'\r\n },\r\n expire: {\r\n 'en-us': 'Expires (in seconds)', 'es-co': 'Expiración (en segundos)'\r\n }\r\n },\r\n sideNavVirtualServer:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n applicationProfileId: {\r\n 'en-us': 'Application Profile', 'es-co': 'Application Profile'\r\n },\r\n ipAddress: {\r\n 'en-us': 'IP Address', 'es-co': 'Dirección IP'\r\n },\r\n protocol: {\r\n 'en-us': 'Protocol', 'es-co': 'Protocolo'\r\n },\r\n port: {\r\n 'en-us': 'Port', 'es-co': 'Puerto'\r\n },\r\n defaultPool: {\r\n 'en-us': 'Default Pool', 'es-co': 'Default Pool'\r\n },\r\n connectionLimit: {\r\n 'en-us': 'Connection Limit', 'es-co': 'Límite de conexión'\r\n },\r\n connectionRateLimit: {\r\n 'en-us': 'Connection Rate Limit', 'es-co': 'Límite de velocidad de conexión'\r\n }\r\n },\r\n sideNavPool:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n algorithm: {\r\n 'en-us': 'Algorithm', 'es-co': 'Algoritmo'\r\n },\r\n monitorId: {\r\n 'en-us': 'Monitor', 'es-co': 'Monitor'\r\n },\r\n ipAddress: {\r\n 'en-us': 'IP Address', 'es-co': 'Dirección IP'\r\n },\r\n port: {\r\n 'en-us': 'Port', 'es-co': 'Puerto'\r\n },\r\n monitorPort: {\r\n 'en-us': 'Monitor Port', 'es-co': 'Puerto de monitoreo'\r\n },\r\n weight: {\r\n 'en-us': 'Weight', 'es-co': 'Peso'\r\n },\r\n members: {\r\n 'en-us': 'Members', 'es-co': 'Miembros'\r\n },\r\n minConn: {\r\n 'en-us': 'Min. Connections', 'es-co': 'Conexiones mín.'\r\n },\r\n maxConn: {\r\n 'en-us': 'Max. Connections', 'es-co': 'Conexiones máx.'\r\n }\r\n },\r\n sideNavFW:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n rule: {\r\n 'en-us': 'Rule Type', 'es-co': 'Tipo de Regla'\r\n },\r\n sourceIp: {\r\n 'en-us': 'Source Ip', 'es-co': 'Ip Origen'\r\n },\r\n status: {\r\n 'en-us': 'Action', 'es-co': 'Acción'\r\n },\r\n ipDestination: {\r\n 'en-us': 'Ip Destination', 'es-co': 'Ip Destino'\r\n },\r\n portConfig: {\r\n 'en-us': 'Port Configuration', 'es-co': 'Configuración de Puertos'\r\n },\r\n portSet: {\r\n 'en-us': 'Set Ports?', 'es-co': '¿Especificar Puertos?'\r\n },\r\n protocol: {\r\n 'en-us': 'Protocol', 'es-co': 'Protocolo'\r\n },\r\n port: {\r\n 'en-us': 'Port', 'es-co': 'Puerto'\r\n },\r\n }\r\n\r\n },\r\n\r\n grid: {\r\n gridFirstPart: {\r\n 'en-us': 'Showing records of', 'es-co': 'Mostrando registros de'\r\n },\r\n gridSecondPart: {\r\n 'en-us': 'Records', 'es-co': 'registros'\r\n },\r\n },\r\n\r\n virtualServer: {\r\n disabled: {\r\n 'en-us': 'Disable', 'es-co': 'INHABILITAR'\r\n },\r\n enabled: {\r\n 'en-us': 'Enable', 'es-co': 'HABILITAR'\r\n },\r\n delete: {\r\n 'en-us': 'Delete', 'es-co': 'BORRAR'\r\n },\r\n\r\n sideNavVS: {\r\n planName: {\r\n 'en-us': 'Plan Name', 'es-co': 'Nombre del plan'\r\n },\r\n planDescription: {\r\n 'en-us': 'Plan Description', 'es-co': 'Descripción del plan'\r\n },\r\n machineConfig: {\r\n 'en-us': 'Machine Configuration', 'es-co': 'Configuración de la Máquina'\r\n },\r\n productType: {\r\n 'en-us': 'Product Type', 'es-co': 'Tipo de Producto'\r\n },\r\n totalCost: {\r\n 'en-us': 'Total Cost: ', 'es-co': 'Costo inicial: '\r\n },\r\n suggestedCost: {\r\n 'en-us': 'Suggested Cost: ', 'es-co': 'Costo Sugerido: '\r\n },\r\n save: {\r\n 'en-us': 'Save', 'es-co': 'Guardar'\r\n },\r\n restore: {\r\n 'en-us': 'Restore', 'es-co': 'Restaurar'\r\n }\r\n }\r\n },\r\n\r\n whiteLabelConfiguration : {\r\n logo: {\r\n uploadFile : {\r\n 'en-us': 'Upload Logo', 'es-co': 'Subir Logo'\r\n },\r\n description : {\r\n 'en-us': 'Add the image or the logo of your company', 'es-co': 'Agrega la imagen o el logo de tu empresa,'\r\n },\r\n sizeImage : {\r\n 'en-us': 'The recommended size is 500px X 190px', 'es-co': 'El tamaño recomendado es de 500px X 190px'\r\n },\r\n accept : {\r\n 'en-us': 'ACCEPT', 'es-co': 'ACEPTAR'\r\n },\r\n cancel: {\r\n 'en-us': 'CANCEL', 'es-co': 'CANCELAR'\r\n }\r\n },\r\n sslCertificate: {\r\n uploadFile : {\r\n 'en-us': 'Upload Certificate', 'es-co': 'Cargar Certificado'\r\n },\r\n password: {\r\n // tslint:disable-next-line:max-line-length\r\n 'en-us': 'Please enter a certificate and then validate it using the password provided by your provider', 'es-co': 'Por favor ingresa un certificado y luego validalo usando la contraseña proporcionada por tu proveedor'\r\n },\r\n accept : {\r\n 'en-us': 'ACCEPT', 'es-co': 'ACEPTAR'\r\n },\r\n\r\n cancel : {\r\n 'en-us': 'CANCEL', 'es-co': 'CANCELAR'\r\n }\r\n }\r\n },\r\n\r\n helpMaterial: {\r\n mainInfo: {\r\n 'en-us': 'Upload or review help material', 'es-co': 'Revise o adjunte material de ayuda'\r\n },\r\n placeholder: {\r\n 'en-us': 'Start your search...', 'es-co': 'Inicie su busqueda...'\r\n },\r\n addHelpMaterial : {\r\n 'en-us': 'Add Material', 'es-co': 'Agregar Material de Ayuda'\r\n },\r\n save : {\r\n 'en-us': 'SAVE', 'es-co': 'GUARDAR'\r\n },\r\n restore : {\r\n 'en-us': 'RESTORE', 'es-co': 'RESTAURAR'\r\n },\r\n recentMaterial : {\r\n 'en-us': 'Recent Material', 'es-co': 'Material Reciente'\r\n },\r\n uploadFile : {\r\n 'en-us': 'Upload File', 'es-co': 'Subir Archivo'\r\n },\r\n sideNav:\r\n {\r\n title: {\r\n 'en-us': 'Title', 'es-co': 'Titulo'\r\n },\r\n description: {\r\n 'en-us': 'Description', 'es-co': 'Descripción'\r\n },\r\n selectTopic: {\r\n 'en-us': 'Select Topic', 'es-co': 'Selecione Tema'\r\n },\r\n\r\n topics:\r\n {\r\n whiteLabel: {\r\n 'en-us': 'WhiteLabel', 'es-co': 'Marca Blanca'\r\n },\r\n agent: {\r\n 'en-us': 'Agent', 'es-co': 'Agente'\r\n },\r\n reseller: {\r\n 'en-us': 'Reseller', 'es-co': 'Revendedor'\r\n },\r\n systemUser: {\r\n 'en-us': 'System User', 'es-co': 'Usuario del sistema'\r\n },\r\n customer: {\r\n 'en-us': 'Customer', 'es-co': 'Cliente'\r\n },\r\n }\r\n\r\n }\r\n\r\n },\r\n\r\n calculator: {\r\n\r\n serverName : {\r\n 'en-us': 'Server Name', 'es-co': 'Nombre de la maquina'\r\n },\r\n hypervisor : {\r\n 'en-us': 'Hypervisor', 'es-co': 'Hypervisor'\r\n },\r\n serverProfile : {\r\n 'en-us' : 'Server Profile' , 'es-co': 'Perfil del servidor'\r\n },\r\n detail: {\r\n 'en-us': 'Detail', 'es-co': 'Detalle'\r\n },\r\n quantity : {\r\n 'en-us': 'Quantity', 'es-co': 'Cantidad'\r\n },\r\n propertity : {\r\n 'en-us': 'propertity', 'es-co': 'Propiedad'\r\n },\r\n gb : {\r\n 'en-us': '# GB', 'es-co': '# GB'\r\n },\r\n speed : {\r\n 'en-us': 'Speed', 'es-co': 'Velocidad'\r\n },\r\n\r\n hardDisk : {\r\n 'en-us': 'Hard Disk', 'es-co': 'Disco Duro'\r\n },\r\n\r\n MRC : {\r\n 'en-us': 'MRC', 'es-co': 'MRC'\r\n },\r\n\r\n selectNetwork : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione'\r\n },\r\n\r\n AmountOfIps : {\r\n 'en-us': 'Amount Of IPs', 'es-co': 'Cantidad de IPs'\r\n },\r\n serverTitle: {\r\n 'en-us': 'Server Name', 'es-co': 'Nombre del servidor'\r\n },\r\n\r\n hardDiskconfig : {\r\n 'en-us': 'hard Disk Configuration', 'es-co': ' Configuración discos duros'\r\n },\r\n\r\n stepperNext : {\r\n 'en-us': 'Next', 'es-co': 'Siguiente'\r\n },\r\n\r\n stepperPrevious : {\r\n 'en-us': 'Back', 'es-co': 'Anterior'\r\n },\r\n\r\n connectivity : {\r\n 'en-us': 'Connectivity', 'es-co': 'Conectividad'\r\n },\r\n ROI : {\r\n 'en-us': 'New ROI', 'es-co': 'Nuevo ROI'\r\n },\r\n\r\n financialAnalitycs : {\r\n 'en-us': 'Financial Analitycs', 'es-co': 'Análisis Financiero'\r\n },\r\n\r\n margen: {\r\n 'en-us': 'Margen', 'es-co': 'Margen'\r\n },\r\n\r\n addDisk : {\r\n 'en-us': 'Add Disk', 'es-co': 'Agregar Disco'\r\n },\r\n\r\n infrastructure: {\r\n title: {\r\n 'en-us': 'Infrastructure', 'es-co': 'Infraestructura'\r\n },\r\n\r\n Ram : {\r\n 'en-us': 'Ram', 'es-co': 'Memoria RAM'\r\n },\r\n Network : {\r\n 'en-us': 'Network', 'es-co': 'Internet'\r\n },\r\n Availability : {\r\n 'en-us': 'Availability', 'es-co': 'Disponibilidad'\r\n },\r\n\r\n table: {\r\n propertity : {\r\n label : {\r\n 'en-us': 'Property', 'es-co': 'Propiedad'\r\n },\r\n prosecution: {\r\n 'en-us': 'prosecution', 'es-co': 'Procesamiento',\r\n },\r\n RAM: {\r\n 'en-us': 'RAM', 'es-co': 'Memoria RAM',\r\n },\r\n networks : {\r\n 'en-us': 'Networks', 'es-co': 'Redes',\r\n },\r\n availability: {\r\n 'en-us': 'Availability', 'es-co': 'Disponibilidad',\r\n }\r\n },\r\n detail : {\r\n label : {\r\n 'en-us': 'Detail', 'es-co': 'Detalle'\r\n },\r\n cores : {\r\n 'en-us': '# Cores', 'es-co': '# Cores'\r\n },\r\n gb : {\r\n 'en-us': '# GB', 'es-co': '# GB'\r\n },\r\n internet : {\r\n 'en-us': 'Internet', 'es-co': 'Internet'\r\n },\r\n level : {\r\n 'en-us': 'Level(%)', 'es-co': 'Nivel(%)'\r\n },\r\n selectCore : {\r\n 'en-us': 'Select Cores', 'es-co': 'Seleccione Cores'\r\n },\r\n selectRAM : {\r\n 'en-us': 'Select RAM', 'es-co': 'Seleccione RAM'\r\n },\r\n selectNetwork : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione'\r\n },\r\n\r\n selectAvailability : {\r\n 'en-us': 'Select Availability', 'es-co': 'Seleccione Disponibilidad'\r\n },\r\n item: {\r\n 'en-us': 'Item', 'es-co': 'Item'\r\n },\r\n MRC : {\r\n MRC: 'Item', 'es-co': 'MRC'\r\n }\r\n }\r\n }\r\n },\r\n\r\n software : {\r\n title: {\r\n 'en-us': 'Software licensing', 'es-co': 'Licenciamiento de Software'\r\n },\r\n\r\n item : {\r\n 'en-us': 'Item', 'es-co': 'Item'\r\n },\r\n\r\n selectOS: {\r\n 'en-us': 'Select OS', 'es-co': 'Seleccione sistema operativo'\r\n },\r\n\r\n selectDB: {\r\n 'en-us': 'Select database', 'es-co': 'Seleccione base de datos'\r\n },\r\n selectApplications: {\r\n 'en-us': 'Select Applications', 'es-co': 'Seleccione aplicaciones'\r\n },\r\n selectUsers: {\r\n 'en-us': 'Select Applications', 'es-co': 'Seleccione aplicaciones'\r\n },\r\n Os : {\r\n 'en-us': 'OS', 'es-co': 'Sistema Operativo'\r\n },\r\n database : {\r\n 'en-us': 'Database', 'es-co': 'Base de datos'\r\n },\r\n\r\n MachineLicenses : {\r\n 'en-us': 'MachineLicenses', 'es-co': 'Licencias'\r\n },\r\n table: {\r\n item1: {\r\n OS : {\r\n 'en-us': 'OS', 'es-co': 'Sistema Operativo'\r\n },\r\n database : {\r\n 'en-us': 'Database', 'es-co': 'Base de datos'\r\n },\r\n applications : {\r\n 'en-us': 'Applications', 'es-co': 'Aplicaciones'\r\n }\r\n },\r\n\r\n itemTwo: {\r\n version : {\r\n 'en-us': 'Version', 'es-co': 'Versión'\r\n },\r\n Application : {\r\n 'en-us': 'Application', 'es-co': 'Aplicación'\r\n },\r\n Users : {\r\n 'en-us': 'Users', 'es-co': 'Usuarios'\r\n },\r\n\r\n },\r\n detail : {\r\n label : {\r\n 'en-us': 'Detail', 'es-co': 'Detalle'\r\n }\r\n },\r\n MrcSoftware: {\r\n 'en-us': 'MRC Software', 'es-co': 'MRC Software'\r\n },\r\n MRC: {\r\n 'en-us': 'MRC', 'es-co': 'MRC'\r\n }\r\n }\r\n },\r\n\r\n licensing : {\r\n title: {\r\n 'en-us': 'Licenses', 'es-co': 'Licencias'\r\n },\r\n quantity : {\r\n 'en-us': 'Quantity', 'es-co': 'Cantidad'\r\n },\r\n select : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione Cantidad'\r\n },\r\n selectLicense : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione Aplicación'\r\n }\r\n },\r\n disk : {\r\n title : {\r\n 'en-us': 'Hard Disk', 'es-co': 'Discos Duros'\r\n },\r\n gb : {\r\n 'en-us': 'GB', 'es-co': 'GB'\r\n },\r\n selectDriveSpeed : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione velocidad'\r\n },\r\n driveSpeed : {\r\n 'en-us': 'Drive\\'s speed', 'es-co': 'Velocidad de Disco'\r\n },\r\n selectBackup : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione Almacenamiento'\r\n },\r\n backup : {\r\n 'en-us': 'Backup and retention', 'es-co': 'Backup y retención'\r\n },\r\n\r\n database: {\r\n 'en-us': 'Database', 'es-co': 'Base de datos'\r\n },\r\n MRC : {\r\n 'en-us': 'MRC additional disks', 'es-co': 'MRC discos adicionales'\r\n },\r\n\r\n Month : {\r\n 'en-us': 'Month', 'es-co': 'Mes'\r\n }\r\n },\r\n\r\n priceSumary : {\r\n title: {\r\n 'en-us': 'Price Sumary', 'es-co': 'Resumen cotización servidor Actual'\r\n }\r\n },\r\n\r\n currentSummary : {\r\n title : {\r\n 'en-us': 'Current server summary', 'es-co': 'Resumen servidor actual'\r\n },\r\n totalVirtualServer : {\r\n 'en-us': 'Virtual Server', 'es-co': 'Servidor virtual'\r\n },\r\n totalSoftware : {\r\n 'en-us': 'Software', 'es-co': 'Software'\r\n },\r\n aditionalservices : {\r\n 'en-us': 'Additional services', 'es-co': 'Servicio adicionales'\r\n },\r\n total : {\r\n 'en-us': 'Total :', 'es-co' : 'Total'\r\n },\r\n\r\n AddToQuote : {\r\n 'en-us': 'Add to Quote', 'es-co': 'Agregar a la solución'\r\n },\r\n\r\n SuggestedRetail : {\r\n 'en-us': 'Suggested retail price', 'es-co': 'Precio público sugerido'\r\n },\r\n\r\n totalSurvey : {\r\n totalSolution : {\r\n 'en-us': 'Total Solution', 'es-co': 'Total Solución'\r\n },\r\n SuggestedPrice : {\r\n 'en-us': 'Suggested price', 'es-co': 'Precio Sugerido'\r\n }\r\n },\r\n currentTotalServer : {\r\n 'en-us': 'Current Server Total', 'es-co': 'Total servidor actual'\r\n }\r\n },\r\n },\r\n buttons : {\r\n cancel : {\r\n 'en-us': 'Cancel', 'es-co': 'Cancelar'\r\n },\r\n\r\n accept : {\r\n 'en-us': 'Accept', 'es-co': 'Aceptar'\r\n }\r\n },\r\n\r\n role: {\r\n title: {\r\n 'en-us': 'Enter the profile you want to edit', 'es-co': 'Ingrese el perfil que desea editar'\r\n },\r\n placeholder: {\r\n 'en-us': 'Enter the profile you want to edit', 'es-co': 'Ingrese el perfil que desea editar'\r\n },\r\n components: {\r\n 'data-center': { 'es-co': 'Centro de Datos' },\r\n 'use-statistic': { 'es-co': 'Estadísticas de Uso' },\r\n 'registry-load': { 'es-co': 'Log de eventos' },\r\n 'account-setup': { 'es-co': 'Configuración de Cuenta' },\r\n 'user-accounts': { 'es-co': 'Cuentas de Usuario' },\r\n 'HelpMaterial': { 'es-co': 'Material de Ayuda' },\r\n 'active-directory': { 'es-co': 'Directorio Activo' },\r\n 'whitelabel-configuration': { 'es-co': 'Configuracion de Sitio' },\r\n 'virtual-server': { 'es-co': 'Configuracion de Planes' },\r\n 'billing-load': { 'es-co': 'Facturacion' },\r\n 'documents-load': { 'es-co': 'Documentos' },\r\n 'role-configuration': { 'es-co': 'Configuracion de roles' },\r\n 'calculator-load': { 'es-co': 'Cotizador' },\r\n 'email-setup': { 'es-co': 'Configuración de Correos' },\r\n 'common': { 'es-co': 'Common' },\r\n 'CancelledServices': { 'es-co': 'Servicios Cancelados' },\r\n 'faq': { 'es-co': 'FAQ' },\r\n 'prospects': { 'es-co': 'Prospectos' },\r\n 'pendingMachine': { 'es-co': 'Maquinas en Aprovisionamiento' },\r\n 'AddCustomer': { 'es-co': 'Agregar Cliente' },\r\n 'supportContacts': {'es-co':'Contactos de soporte'},\r\n },\r\n }\r\n }\r\n","import { Component, OnInit, OnDestroy, ViewChild, HostListener } from '@angular/core';\r\nimport { WlService } from '../services/wlservice.service';\r\nimport { MenuDTO, UserInfoDTO } from '../models/dtos.component';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { BroadcastEmitter } from '../services/BroadcastEmitter';\r\nimport { AuthService } from '../services/auth/auth.service';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss'],\r\n})\r\nexport class HomeComponent implements OnInit, OnDestroy {\r\n public menu = new MenuDTO();\r\n private token: string;\r\n public userName = '';\r\n public menuLoading = true;\r\n public headerText = '';\r\n private subscription: Subscription;\r\n public actions = [];\r\n private language: string;\r\n public languageSelect = '';\r\n public displayMenu = false;\r\n user: UserInfoDTO = new UserInfoDTO();\r\n tokenPayload: any;\r\n @ViewChild(MatSidenav) sidenav: MatSidenav;\r\n constructor(private service: WlService,\r\n private router: Router,\r\n private broadcast: BroadcastEmitter,\r\n public auth: AuthService,\r\n public snackBar: MatSnackBar,\r\n public translate: TranslateService,\r\n private appService: AppService) {\r\n\r\n\r\n translate.addLangs(['en', 'es']);\r\n this.translate.setDefaultLang('es');\r\n this.subscription = this.broadcast.GetMessage()\r\n .subscribe(message => {\r\n setTimeout(() => {\r\n if (message.text) {\r\n this.headerText = message.text;\r\n }\r\n if (message.actions) {\r\n this.actions = message.actions;\r\n }\r\n if (message.display) {\r\n this.displayMenu = message.display;\r\n } else {\r\n this.displayMenu = false;\r\n }\r\n }, 0);\r\n });\r\n this.tokenPayload = this.auth.tokenPayload(this.auth.getToken());\r\n }\r\n\r\n getClasses() {\r\n const classes = {\r\n 'pinned-sidebar': this.appService.getSidebarStat().isSidebarPinned,\r\n 'toggeled-sidebar': this.appService.getSidebarStat().isSidebarToggeled\r\n }\r\n return classes;\r\n }\r\n toggleSidebar() {\r\n this.appService.toggleSidebar();\r\n }\r\n\r\n ngOnInit() {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n if (this.language.indexOf('en') !== -1) {\r\n this.translate.use('en');\r\n this.languageSelect = 'HOME.ENGLISH';\r\n } else {\r\n this.languageSelect = 'HOME.SPANISH';\r\n this.translate.use('es');\r\n }\r\n if (this.token == null) {\r\n this.router.navigateByUrl('/');\r\n } else {\r\n this.getMenu();\r\n this.getUser();\r\n try {\r\n this.userName = JSON.parse(atob(this.token.split('.')[1])).UserName;\r\n } catch (ex) { this.userName = null; }\r\n }\r\n }\r\n @HostListener('window:beforeunload')\r\n doSomething() {\r\n this.auth.setToken(this.token);\r\n }\r\n\r\n getUser() {\r\n this.service.GetUserInformation()\r\n .subscribe((response: any) => {\r\n this.user = response;\r\n this.user.Initials = this.user.Name.split(' ').map(function (e, i) { if (i < 2) { return e.substring(0, 1).toUpperCase() } else { return '' } }).join('')\r\n }, (error) => {\r\n this.translate.get('HOME.USER_NOT_FOUND').subscribe((response) => {\r\n this.snackBar.open(response + ': ' + error, null, {\r\n duration: 5000,\r\n });\r\n });\r\n });\r\n }\r\n changeLang(lang) {\r\n this.translate.use(lang);\r\n if (lang === 'es') {\r\n this.user.Language = 'es-co';\r\n this.languageSelect = 'HOME.SPANISH';\r\n } else {\r\n this.user.Language = 'en-us';\r\n this.languageSelect = 'HOME.ENGLISH';\r\n }\r\n this.service.SaveUserInfo(this.user)\r\n .subscribe(() => {\r\n this.translate.get('HOME.LANGUAGE_SUCCESSFULLY_MODIFIED').subscribe((response) => {\r\n this.snackBar.open(response, null, {\r\n duration: 2000,\r\n });\r\n });\r\n }, (error) => {\r\n this.translate.get('HOME.ERROR_UPDATING_USER_LANGUAGE').subscribe((response) => {\r\n this.snackBar.open(response + error, null, {\r\n duration: 2000,\r\n });\r\n });\r\n });\r\n }\r\n\r\n logout() {\r\n this.auth.clearStorage();\r\n this.router.navigateByUrl('/');\r\n }\r\n goHome() {\r\n this.headerText = '';\r\n this.actions = [];\r\n this.router.navigateByUrl('/home/(main:desktop)', { skipLocationChange: true });\r\n }\r\n\r\n getMenu() {\r\n this.service.getMenu()\r\n .subscribe((response: any) => {\r\n this.menu = response;\r\n console.log(\"menu1\", this.menu);\r\n this.service.getUsersAndDatacenters()\r\n .subscribe((dataUsers: any) => {\r\n if (dataUsers && dataUsers.length > 0) {\r\n this.menu.Children.forEach((data) => {\r\n if (data.leaf === 'dataCenter') {\r\n data.Children = dataUsers;\r\n }\r\n\r\n console.log(\"menu\" , this.menu);\r\n return data;\r\n });\r\n }\r\n this.menuLoading = false;\r\n const start = this.GetFirstChild(this.menu);\r\n this.router.navigateByUrl('/home/(main:' + start + ')', { skipLocationChange: true });\r\n }, (error) => {\r\n this.menuLoading = false;\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n });\r\n }, (error) => {\r\n this.menuLoading = false;\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n );\r\n }\r\n GetFirstChild(data: any): string {\r\n try {\r\n if (data.Children.length === 0 || data.leaf === 'desktop') {\r\n return data.leaf;\r\n } else {\r\n return this.GetFirstChild(data.Children[0]);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n return data.leaf;\r\n }\r\n }\r\n menuClick(component) {\r\n if (component.Children && component.Children.length !== 0) {\r\n return;\r\n }\r\n this.headerText = '';\r\n this.actions = [];\r\n if (!component.ParentCustomerID) {\r\n this.auth.setToken(this.token);\r\n }\r\n if (component.ParentCustomerID) {\r\n this.service.GenerateToken(component.ID).subscribe(\r\n (response: any) => {\r\n this.auth.setToken(response.token);\r\n this.router.navigateByUrl('/home/(main:childrenUsers/' + encodeURIComponent(component.ID)\r\n + '/' + true + ')', { skipLocationChange: true });\r\n }\r\n );\r\n } else if (component.Id) {\r\n this.router.navigateByUrl('/home/(main:dataCenter/' + encodeURIComponent(component.Id) + '/' + false + ')',\r\n { skipLocationChange: true });\r\n } else {\r\n this.router.navigateByUrl('/home/(main:' + component.leaf + ')', { skipLocationChange: true });\r\n }\r\n this.sidenav.close();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n setCountryLeafName(countryName: string) {\r\n switch (countryName) {\r\n case 'Colombia TMK':\r\n return 'Colombia';\r\n case 'Colombia67':\r\n return 'Colombia';\r\n case 'Colombia vcdtc':\r\n return 'Colombia';\r\n default:\r\n return countryName;\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n person {{userName}}\r\n
\r\n
\r\n \r\n \r\n \r\n {{item.Icon}}\r\n

{{'MENU.'+item.leaf | translate}}

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n close\r\n

{{'MENU.logout' | translate}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{headerText | uppercase}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LoginDTO } from '../models/dtos.component';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { WlService } from '../services/wlservice.service';\r\nimport { Globalization } from '../globalization/globalization';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { environment } from '../../environments/environment';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { CustomFormValidator } from '../tools/CustomValidator';\r\nimport { Constants } from '../models/constants.component';\r\nimport { AuthService } from '../services/auth/auth.service';\r\nimport { Outh2ModalComponent } from './outh2-modal/outh2-modal.component';\r\nimport { LogsService } from '../services/logs/logs-services.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\n\r\nexport class LoginComponent implements OnInit {\r\n loginDTO: LoginDTO = new LoginDTO();\r\n isLoading: boolean = false;\r\n glob: any = Globalization;\r\n domainInformation: any;\r\n domainLanguage: string = \"es-co\";\r\n HeaderConfiguration: any;\r\n domainLogo: string;\r\n constants = new Constants();\r\n hide: boolean = true;\r\n loginForm: FormGroup;\r\n mostrar: boolean = true;\r\n currentYear: number = (new Date()).getFullYear();\r\n public outhValue: string;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private service: WlService,\r\n private dialog: MatDialog,\r\n private snackbar: MatSnackBar,\r\n private formBuilder: FormBuilder,\r\n public auth: AuthService,\r\n private logsServices: LogsService\r\n ) {\r\n this.loginForm = this.formBuilder.group({\r\n 'username': ['', [Validators.required, Validators.maxLength(50), Validators.minLength(2)]],\r\n 'password': ['', [Validators.required]]\r\n });\r\n }\r\n login(event: any) {\r\n this.isLoading = true;\r\n this.service.login(this.loginDTO).subscribe(\r\n (response: any) => {\r\n this.isLoading = false;\r\n this.auth.setToken(response.token);\r\n if (response.auth) {\r\n this.outhValue = atob(response.auth);\r\n this.outh2Modal();\r\n } else {\r\n this.logsServices.postAppLog('Inicio de Sesión', 'Uso', true, 'Login correctamente', null)\r\n this.router.navigateByUrl('/home');\r\n }\r\n },\r\n error => {\r\n this.isLoading = false;\r\n if (error.status == 400)\r\n this.snackbar.open('El usuario no se encuentra registrado en el dominio', null, {\r\n duration: 3000,\r\n });\r\n else if (error.status == 401)\r\n this.snackbar.open('El usuario o contraseña es incorrecto, por favor intente de nuevo', null, {\r\n duration: 3000,\r\n });\r\n else\r\n console.log(error);\r\n this.logsServices.postAppLog('Inicio de Sesión', 'Uso', false, 'No fue posible el login', null)\r\n }\r\n )\r\n }\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe((params: Params) => {\r\n let token = params['t'];\r\n if (token) {\r\n this.auth.setToken(token);\r\n this.router.navigateByUrl('/home');\r\n }\r\n });\r\n this.service.GetDomainInformation().subscribe(\r\n respose => {\r\n this.domainInformation = respose;\r\n this.HeaderConfiguration = JSON.parse(this.domainInformation.HeaderConfiguration);\r\n this.domainLanguage = this.domainInformation.DefaultLanguage;\r\n this.domainLogo = environment.serviceUrl + \"CustomerImages/\" + this.HeaderConfiguration.Logo;\r\n localStorage.setItem(\"language\", this.domainLanguage);\r\n },\r\n error => {\r\n console.log(\"Invalid WL Domain\", error);\r\n }\r\n )\r\n }\r\n openDialog() {\r\n this.dialog.open(LoginModalComponent, { hasBackdrop: true, disableClose: true, width: \"600px\" });\r\n }\r\n\r\n outh2Modal() {\r\n this.dialog.open(Outh2ModalComponent, {\r\n width: '40%',\r\n disableClose: true\r\n }).afterClosed().subscribe(result => {\r\n if (result === this.outhValue) {\r\n this.logsServices.postAppLog('Inicio de Sesión', 'Uso', true, 'Login correctamente', null)\r\n this.router.navigateByUrl('/home');\r\n } else {\r\n this.snackbar.open('El código ingresado no es válido', null, {\r\n duration: 3000\r\n });\r\n this.isLoading = false;\r\n this.loginForm.enable();\r\n }\r\n });\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-login-modal',\r\n templateUrl: './login-modal.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginModalComponent {\r\n rememberEmail: string;\r\n loading: boolean = false;\r\n rememberForm: FormGroup;\r\n constructor(public dialogRef: MatDialogRef, private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder) {\r\n this.rememberForm = this.formBuilder.group({\r\n 'rememberEmail': [{ value: '', disable: this.loading }, [Validators.required, Validators.minLength(10), CustomFormValidator.EmailValidator]]\r\n });\r\n\r\n }\r\n rememberPassword() {\r\n if (this.rememberEmail && this.rememberEmail != \"\") {\r\n this.rememberForm.disable();\r\n this.loading = true;\r\n this.service.rememberPassword(this.rememberEmail).subscribe(\r\n response => {\r\n this.rememberForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Contraseña reiniciada satisfactoriamente, por favor revise su correo', null, {\r\n duration: 2000,\r\n });\r\n this.dialogRef.close();\r\n },\r\n error => {\r\n\r\n this.rememberForm.enable();\r\n this.loading = false;\r\n this.snackbar.open(error.error, null, {\r\n\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \"Logo\"/\r\n
\r\n
\r\n
\r\n
\r\n \r\n Usuario\r\n \r\n done\r\n error\r\n {{loginDTO.UserName ? loginDTO.UserName.length : 0}} / 50\r\n Campo requerido.\r\n \r\n\r\n \r\n Contraseña\r\n \r\n done\r\n error\r\n Campo requerido.\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{currentYear}} © Todos los derechos reservados.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
Recordar contraseña
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
El correo debe contar con al menos 10 caracteres
\r\n
La correo es un campo requerido.
\r\n
El correo electrónico no cuenta con el formato adecuado.
\r\n
\r\n
\r\n {{rememberEmail ? rememberEmail.length : 0}} / 50\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-outh2-modal',\r\n templateUrl: './outh2-modal.component.html',\r\n styleUrls: ['./outh2-modal.component.scss']\r\n})\r\nexport class Outh2ModalComponent implements OnInit {\r\n\r\n public outhCode: string = '';\r\n public isValid: boolean = true;\r\n public validateOuthForm: FormGroup;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialog: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n ) {\r\n this.validateOuthForm = this.formBuilder.group(\r\n {\r\n 'OuthCode': [{ value: '', disabled: false }, [Validators.required, Validators.maxLength(4), Validators.minLength(4)]],\r\n });\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n cancelClick() {\r\n this.dialog.close(this.outhCode);\r\n }\r\n\r\n saveClick() {\r\n this.dialog.close(this.outhCode);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Autenticación por doble factor\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n

Ingrese el código de 4 dígitos que fue envíado a su correo

\r\n
\r\n \r\n \r\n \r\n Campo obligatorio\r\n \r\n \r\n Longitud numérica no válida\r\n \r\n \r\n Longitud numérica no válida\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","export class Constants {\r\n\r\n FormFontSize = 15;\r\n\r\n CoreList = this.quantityValueList(2,32,2);\r\n CoreListDb = this.quantityValueList(2,4,2);\r\n CoreListDb2 = this.quantityValueList(2,16,2);\r\n Gb = this.quantityValueList(100,4000,100,[5000]);\r\n QuantityRDP = this.quantityValueList(0,500,1);\r\n Users = this.quantityValueList(1,20,1);\r\n QuantityIp = this.quantityValueList(1,10,1);\r\n RamList = this.quantityValueList(2,96,2,[128,256,512, 768, 1024]);\r\n Backups = this.quantityValueList(1,12,1);\r\n Iops = [100, 500, 1000, 2000, 5000, 8000, 10000];\r\n IopsDB = [5000];\r\n IopsServer = [5000, 8000, 10000];\r\n Size = this.quantityValueList(100,1000,100);\r\n discountMRC = [];\r\n ServerProfile = [\r\n {ID:0, Name :\"Servidor Proposito General\"},\r\n {ID:1 ,Name : \"Servidor SAP HANA\"},\r\n {ID:2 ,Name : \"Servidor SQL SERVER\"}\r\n ];\r\n\r\n Hypervisor = [\r\n {\"ID\": 2, \"Name\": \"Vmware\"}\r\n ];\r\n\r\n NetworkList = [\r\n {\"ID\": 1, \"Name\": \"1 Mbps\"},\r\n {\"ID\": 5, \"Name\": \"5 Mbps\" },\r\n {\"ID\": 10, \"Name\": \"10 Mbps\" },\r\n {\"ID\": 15, \"Name\": \"15 Mbps\" },\r\n {\"ID\": 20, \"Name\": \"20 Mbps\"},\r\n {\"ID\": 25, \"Name\": \"25 Mbps\" },\r\n {\"ID\": 30, \"Name\": \"30 Mbps\" },\r\n {\"ID\": 35, \"Name\": \"35 Mbps\" },\r\n {\"ID\": 40, \"Name\": \"40 Mbps\" },\r\n {\"ID\": 45, \"Name\": \"45 Mbps\" },\r\n {\"ID\": 50, \"Name\": \"50 Mbps\" },\r\n {\"ID\": 55, \"Name\": \"55 Mbps\" },\r\n {\"ID\": 60, \"Name\": \"60 Mbps\" },\r\n {\"ID\": 65, \"Name\": \"65 Mbps\" },\r\n {\"ID\": 70, \"Name\": \"70 Mbps\" },\r\n {\"ID\": 75, \"Name\": \"75 Mbps\" },\r\n {\"ID\": 80, \"Name\": \"80 Mbps\" },\r\n {\"ID\": 85, \"Name\": \"85 Mbps\" },\r\n {\"ID\": 90, \"Name\": \"90 Mbps\" },\r\n {\"ID\": 95, \"Name\": \"95 Mbps\" },\r\n ];\r\n\r\n MachineStates = [\r\n { State: \"PENDING\", Name: \"Creando\" },\r\n { State: \"POWER_ON\", Name: \"Encendida\" },\r\n { State: \"SUSPEND\", Name: \"Suspendida\" },\r\n { State: \"POWER_OFF\", Name: \"Detenida\" },\r\n { State: \"ERROR\", Name: \"Error\" },\r\n { State: \"READY\", Name: \"Listo\" },\r\n { State: \"BUSY\", Name: \"Ocupada\" },\r\n { State: \"CANCELED\", Name: \"Cancelada\" },\r\n { State: \"CANCEL_PENDING\", Name: \"Pendiente por cancelar\" },\r\n { State: \"DELETED\", Name: \"Eliminada\" }\r\n ]\r\n DataCenter = [\r\n { \"ID\": 'cc5RtZcIAzlH6z3ZgzgN8A==', \"Name\": \"Colombia WBP\" },\r\n { \"ID\": 'Na6QThAtGhG3rG7kEjXo+Q==', \"Name\": 'Colombia 67'},\r\n { \"ID\": 'SMN0EiXAe8iqDjEupG+QBw==', \"Name\": 'Colombia vcdtc'},\r\n { \"ID\": 'HZMRO7Y3fC/5/GvKZTvT7g==', \"Name\": \"Miami\" },\r\n { \"ID\": 'GojyQtp3+QinPereA5PD/A==', \"Name\": \"Chile\" },\r\n { \"ID\": 's+7Szdbb/0JIdIcFTZKMoQ==', \"Name\": \"Argentina\" },\r\n { \"ID\": 'nriJ68AI8WWFbkoVEc4x9g==', \"Name\": \"Peru\" },\r\n { \"ID\": 'dA/wnfBKTWLH4Ecgc2vO1g==', \"Name\": \"Panamá\" },\r\n { \"ID\": 'LdOyveD+2juFgfRSLDi6eA==', \"Name\": \"Guatemala\"},\r\n { \"ID\": 'cq5cAWNTGTnPD7ugZ41Cew==', \"Name\": \"Honduras tgu\"},\r\n { \"ID\": 'iEADs+2thehXTNlprt/S4g==', \"Name\": \"Honduras sap\"},\r\n ];\r\n\r\n OSHANA = [\r\n { \"ID\": 4, \"Name\": \"Linux SUSE for SAP\", \"RelationApplication\" :\"Linux SUSE\"}\r\n ];\r\n OS = [\r\n { \"ID\": 1, \"Name\": \"Windows Server\", \"RelationApplication\" :\"WINSER_STD\" },\r\n { \"ID\": 3, \"Name\": \"Ubuntu / Centos / Debian / Sin SO\", \"RelationApplication\" :\"LINUX\" },\r\n { \"ID\": 4, \"Name\": \"Linux RHEL\", \"RelationApplication\" :\"Linux REHL\" },\r\n { \"ID\": 4, \"Name\": \"Linux SUSE for SAP\", \"RelationApplication\" :\"Linux SUSE\" }\r\n ];\r\n\r\n\r\n OSSQLSERVER = [\r\n { \"ID\": 1, \"Name\": \"Windows Server\", \"RelationApplication\" :\"WINSER_STD\" },\r\n ];\r\n ProvisioningOS = [\r\n {\"ID\": 1 , \"Name\" : \"Windows\"},\r\n {\"ID\": 2 , \"Name\" : \"Linux\"}\r\n ];\r\n Database = [];\r\n\r\n Application =[\r\n {\"SO\":1, \"ID\":1, \"Name\": \"Windows Remote Desktop\", \"Identifier\": \"WINRDP\"},\r\n {\"SO\":2, \"ID\":1, \"Name\": \"Linux Remote Desktop\", \"Identifier\": \"RDP\" }\r\n ];\r\n IOPS = [\r\n {\"ID\": 100},\r\n {\"ID\": 500},\r\n {\"ID\": 1000},\r\n {\"ID\": 2000},\r\n {\"ID\": 5000},\r\n {\"ID\": 8000},\r\n {\"ID\": 10000},\r\n ];\r\n Availability = [\r\n { \"ID\": 1, \"Name\": \"99.9%\" }\r\n ];\r\n\r\n AvailabilityDB = [\r\n { \"ID\": 1, \"Name\": \"99.9%\"}\r\n ];\r\n HypervisorDB = [\r\n {\"ID\": 2, \"Name\": \"Vmware\"}\r\n ]\r\n\r\n PaymentConditions = [\r\n { \"ID\": 1, \"Name\": \"Mes a mes sin contrato\" },\r\n { \"ID\": 12, \"Name\": \"Un año contrato mensual\" }\r\n ];\r\n ProductImages = [\r\n { \"Value\": \"/assets/img/gralServer.png\", \"Name\": \"General\" },\r\n { \"Value\": \"/assets/img/sapLogoBg.png\", \"Name\": \"SAP\" },\r\n ];\r\n dhGroups = [\r\n { \"Value\": \"dh2\", \"Name\": \"DH2\" },\r\n { \"Value\": \"dh5\", \"Name\": \"DH5\" },\r\n { \"Value\": \"dh14\", \"Name\": \"DH14\" },\r\n { \"Value\": \"dh15\", \"Name\": \"DH15\" },\r\n { \"Value\": \"dh16\", \"Name\": \"DH16\" },\r\n ];\r\n encryptionAlgorithms = [\r\n { Value: \"aes\", Name: \"AES\" },\r\n { Value: \"aes256\", Name: \"AES256\" },\r\n { Value: \"3des\", Name: \"3DES\" },\r\n { Value: \"aes-gcm\", Name: \"AES-GCM\" },\r\n ];\r\n Protocols = [\"tcp\", \"udp\", \"any\"];\r\n Languages = [\r\n { Code: \"es-co\", Name: \"Español\" },\r\n { Code: \"en-us\", Name: \"Inglés\" }\r\n ];\r\n\r\n DiscountMRCList = [\r\n {\"ID\": 0, \"Name\": \"Mensual\",\"value\" :\"oneMonth\", \"span\" :\"0%\" , \"icon\":\"local_offer\"},\r\n {\"ID\": 1, \"Name\": \"1 año\",\"value\" :\"OneYear\", \"span\" :\"-5%\" , \"icon\":\"local_offer\"},\r\n {\"ID\": 2, \"Name\": \"2 años \", \"value\" :\"TwoYear\", \"span\" :\"-10%\" ,\"icon\":\"local_offer\" },\r\n {\"ID\": 3, \"Name\":\" 3 años \" ,\"value\" : \"ThreeYear\", \"span\" :\"-15%\", \"icon\":\"local_offer\"},\r\n ];\r\n\r\n public GetDataCenterName(DataCenterID: string) {\r\n let response;\r\n if (DataCenterID) {\r\n response = this.DataCenter.filter(dc => dc.ID == DataCenterID);\r\n if (response && response[0]) {\r\n response = response[0].Name;\r\n } else {\r\n response = null;\r\n }\r\n }\r\n return (response ? response : 'Sin registro');\r\n }\r\n\r\n public quantityValueList(startVal:number, endVal :number, incrementVal , extraoptions : number[] = [] ): any{\r\n let arrayList = [];\r\n for (var _i = startVal; _i <= endVal; _i+=incrementVal) {\r\n arrayList.push({\"value\":_i })\r\n }\r\n if(extraoptions.length> 0){\r\n extraoptions.forEach(element => {\r\n arrayList.push({\"value\":element})\r\n });\r\n }\r\n return arrayList;\r\n }\r\n}\r\n","export class CredentialDTO{\r\n public email : string;\r\n public productType: string;\r\n public credentialHref : string;\r\n public password : string;\r\n constructor(){\r\n this.email = null;\r\n this.productType = null;\r\n this.credentialHref = null;\r\n this.password = null;\r\n }\r\n}","import { Component } from '@angular/core';\r\n\r\nexport class FaqQuestion {\r\n public ID: string;\r\n public Answer: string;\r\n public Color: string;\r\n public CustomerName: string;\r\n public Icon: string;\r\n public Language: string;\r\n public Module: string;\r\n public Points: number;\r\n public Question: string;\r\n public show: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.Answer = '';\r\n this.Color = '';\r\n this.CustomerName = null;\r\n this.Icon = '';\r\n this.Language = 'es-co';\r\n this.Module = null;\r\n this.Points = 0;\r\n this.Question = '';\r\n this.show = false;\r\n }\r\n}\r\n\r\nexport class SupportContact {\r\n public ID: string;\r\n public Name: string;\r\n public Telephone: string;\r\n public Email: string;\r\n public Country: string;\r\n constructor() {\r\n this.ID = null;\r\n this.Name = '';\r\n this.Telephone = '';\r\n this.Email = '';\r\n this.Country = '';\r\n }\r\n}\r\n\r\nexport class ProfileDTO {\r\n public ID: string;\r\n public Name: string;\r\n constructor() {\r\n this.ID = null;\r\n this.Name = '';\r\n }\r\n}\r\n\r\nexport class PermissionDTO {\r\n public ID: string;\r\n public Template: string;\r\n public Children: Array;\r\n public isChecked: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.Template = null;\r\n this.Children = [];\r\n this.isChecked = false;\r\n }\r\n}\r\n\r\nexport class ServiceAdditionalInfo {\r\n BundleID: string;\r\n CustomerID: string;\r\n constructor() {\r\n this.BundleID = null;\r\n this.CustomerID = null;\r\n }\r\n}\r\nexport class RoutingSaveRequestDTO {\r\n StaticRouting: any;\r\n DatacenterID: string;\r\n constructor() {\r\n this.StaticRouting = null;\r\n }\r\n}\r\n\r\nexport class RoutingDTO {\r\n Description: string;\r\n Network: string;\r\n NextHop: string;\r\n Vnic: string;\r\n Mtu: string;\r\n AdminDistance: string;\r\n Type: string;\r\n constructor() {\r\n this.Description = null;\r\n this.Network = null;\r\n this.NextHop = null;\r\n this.Vnic = null;\r\n this.Mtu = null;\r\n this.AdminDistance = null;\r\n this.Type = 'user';\r\n }\r\n}\r\nexport class VPNSaveRequestDTO {\r\n IpSec: any;\r\n DatacenterID: string;\r\n constructor() {\r\n this.IpSec = null;\r\n }\r\n}\r\nexport class VpnDTO {\r\n Enabled: boolean;\r\n Name: string;\r\n LocalId: string;\r\n LocalIp: string;\r\n PeerId: string;\r\n PeerIp: string;\r\n EncryptionAlgorithm: string;\r\n EnablePfs: boolean;\r\n DhGroup: string;\r\n Psk: string;\r\n AuthenticationMode: string;\r\n LocalSubnets: SubnetDTO;\r\n IsNew: boolean;\r\n PeerSubnets: SubnetDTO;\r\n constructor() {\r\n this.Enabled = null;\r\n this.Name = null;\r\n this.LocalId = null;\r\n this.IsNew = false;\r\n this.LocalIp = null;\r\n this.PeerId = null;\r\n this.PeerIp = null;\r\n this.EncryptionAlgorithm = null;\r\n this.EnablePfs = null;\r\n this.DhGroup = null;\r\n this.Psk = null;\r\n this.AuthenticationMode = null;\r\n this.LocalSubnets = new SubnetDTO();\r\n this.PeerSubnets = new SubnetDTO();\r\n }\r\n}\r\n\r\nexport class SubnetDTO {\r\n Subnet: Array;\r\n constructor() {\r\n this.Subnet = [];\r\n }\r\n}\r\nexport class FirewallApplication {\r\n protocol: string;\r\n port: string;\r\n constructor() {\r\n this.protocol = null;\r\n this.port = null;\r\n }\r\n}\r\nexport class DHCPSaveRequestDTO {\r\n staticBinding: DHCPDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.staticBinding = new DHCPDTO();\r\n }\r\n}\r\nexport class AllNATSaveRequestDTO {\r\n nat: NATSaveRequestDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.nat = new NATSaveRequestDTO();\r\n }\r\n}\r\nexport class NATSaveRequestDTO {\r\n natRules: NATRequestDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.natRules = new NATRequestDTO();\r\n }\r\n}\r\nexport class NATRequestDTO {\r\n natRule: Array;\r\n constructor() {\r\n this.natRule = [];\r\n }\r\n}\r\n\r\nexport class VirtualServerSaveRequestDTO {\r\n VirtualServer: VirtualServerDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.VirtualServer = new VirtualServerDTO();\r\n }\r\n}\r\n\r\nexport class PoolSaveRequestDTO {\r\n Pool: PoolDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.Pool = new PoolDTO();\r\n }\r\n}\r\n\r\nexport class AppProfileSaveRequestDTO {\r\n ApplicationProfile: AppProfileDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.ApplicationProfile = new AppProfileDTO();\r\n }\r\n}\r\n\r\nexport class FirewallSaveRequestDTO {\r\n firewallRules: FirewallRequestDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.firewallRules = new FirewallRequestDTO();\r\n }\r\n}\r\nexport class FirewallRequestDTO {\r\n Rule: Array;\r\n constructor() {\r\n this.Rule = [];\r\n }\r\n}\r\n\r\nexport class VirtualServerDTO {\r\n AccelerationEnabled: boolean;\r\n ApplicationProfileId: string;\r\n ApplicationProfileName: string;\r\n ConnectionLimit: number;\r\n ConnectionRateLimit: number;\r\n DefaultPoolId: string;\r\n DefaultPoolName: string;\r\n EnableServiceInsertion: boolean;\r\n Enabled: boolean;\r\n IpAddress: string;\r\n Name: string;\r\n Port: string;\r\n Protocol: string;\r\n VirtualServerId: string;\r\n constructor() {\r\n this.AccelerationEnabled = null;\r\n this.ApplicationProfileId = null;\r\n this.ApplicationProfileName = null;\r\n this.ConnectionLimit = 0;\r\n this.ConnectionRateLimit = 0;\r\n this.DefaultPoolId = null;\r\n this.DefaultPoolName = null;\r\n this.EnableServiceInsertion = null;\r\n this.Enabled = null;\r\n this.IpAddress = '';\r\n this.Name = '';\r\n this.Port = '';\r\n this.Protocol = '';\r\n this.VirtualServerId = '';\r\n }\r\n}\r\n\r\nexport class AppProfileDTO {\r\n ApplicationProfileId: string;\r\n InsertXForwardedFor: boolean;\r\n Name: string;\r\n Persistence: PersistenceAppProfileDTO;\r\n ServersSslEnabled: boolean;\r\n SslPassthrough: boolean;\r\n Template: string;\r\n constructor() {\r\n this.ApplicationProfileId = null;\r\n this.InsertXForwardedFor = null;\r\n this.Name = '';\r\n this.Persistence = new PersistenceAppProfileDTO();\r\n this.ServersSslEnabled = null;\r\n this.SslPassthrough = null;\r\n this.Template = '';\r\n }\r\n}\r\n\r\nexport class PersistenceAppProfileDTO {\r\n CookieMode: string;\r\n CookieName: string;\r\n Expire: string;\r\n Method: string;\r\n constructor() {\r\n this.CookieMode = '';\r\n this.CookieName = '';\r\n this.Expire = '';\r\n this.Method = '';\r\n }\r\n}\r\n\r\nexport class MonitorDTO {\r\n Interval: number;\r\n MaxRetries: number;\r\n MonitorId: string;\r\n Name: string;\r\n Timeout: number;\r\n Type: string;\r\n constructor() {\r\n this.Interval = null;\r\n this.MaxRetries = null;\r\n this.MonitorId = null;\r\n this.Name = '';\r\n this.Timeout = null;\r\n this.Type = '';\r\n }\r\n}\r\n\r\nexport class PoolDTO {\r\n Algorithm: string;\r\n Member: Array;\r\n MonitorId: string;\r\n MonitorName: string;\r\n Name: string;\r\n PoolId: string;\r\n Transparent: boolean;\r\n constructor() {\r\n this.Algorithm = '';\r\n this.Member = [];\r\n this.MonitorId = null;\r\n this.MonitorName = null;\r\n this.Name = '';\r\n this.PoolId = null;\r\n this.Transparent = null;\r\n }\r\n}\r\n\r\nexport class PoolServerDTO {\r\n MemberId: string;\r\n IpAddress: string;\r\n Weight: number;\r\n MonitorPort: number;\r\n Port: number;\r\n MaxConn: number;\r\n MinConn: number;\r\n Condition: string;\r\n Name: string;\r\n constructor() {\r\n this.MemberId = '';\r\n this.IpAddress = '';\r\n this.Weight = 1;\r\n this.MonitorPort = null;\r\n this.Port = null;\r\n this.MaxConn = 0;\r\n this.MinConn = 0;\r\n this.Condition = 'enabled';\r\n this.Name = '';\r\n }\r\n}\r\n\r\nexport class IPSetDTO {\r\n ObjectId: string;\r\n Name: string;\r\n Description: string;\r\n Value: string;\r\n Revision: number;\r\n constructor() {\r\n this.ObjectId = null;\r\n this.Name = '';\r\n this.Description = '';\r\n this.Value = '';\r\n this.Revision = null;\r\n }\r\n}\r\n\r\nexport class IPSetSaveRequestDTO {\r\n IPSet: IPSetDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.IPSet = new IPSetDTO();\r\n }\r\n}\r\n\r\nexport class FirewallDTO {\r\n id: number;\r\n Name: string;\r\n ruleType: string;\r\n Enabled: boolean;\r\n loggingEnabled: boolean;\r\n description: string;\r\n Action: string;\r\n Source: FirewallSourceDTO;\r\n Destination: FirewallSourceDTO;\r\n Application: Array;\r\n Port: string;\r\n SourceIP: string;\r\n constructor() {\r\n this.id = null;\r\n this.Port = '';\r\n this.Name = null;\r\n this.ruleType = null;\r\n this.Enabled = null;\r\n this.loggingEnabled = true;\r\n this.description = null;\r\n this.Action = 'accept';\r\n this.Source = new FirewallSourceDTO();\r\n this.Destination = new FirewallSourceDTO();\r\n this.Application = [];\r\n this.SourceIP = '';\r\n }\r\n}\r\n\r\nexport class FirewallSourceDTO {\r\n exclude: string;\r\n groupingObjectId: Array;\r\n IpAddress: Array;\r\n vnicGroupID: string;\r\n constructor() {\r\n this.exclude = null;\r\n this.groupingObjectId = [];\r\n this.IpAddress = [];\r\n this.vnicGroupID = null;\r\n }\r\n}\r\n\r\nexport class NatDTO {\r\n Action: string;\r\n RuleId: number;\r\n RuleTag: string;\r\n OriginalAddress: string;\r\n TranslatedAddress: string;\r\n Description: string;\r\n Protocol: string;\r\n OriginalPort: string;\r\n TranslatedPort: string;\r\n DnatMatchSourceAddress: string;\r\n DnatMatchSourcePort: string;\r\n constructor() {\r\n this.Action = 'dnat';\r\n this.RuleId = null;\r\n this.RuleTag = '0';\r\n this.OriginalAddress = null;\r\n this.TranslatedAddress = null;\r\n this.Description = null;\r\n this.Protocol = null;\r\n this.OriginalPort = null;\r\n this.TranslatedPort = null;\r\n this.DnatMatchSourceAddress = null;\r\n this.DnatMatchSourcePort = null;\r\n }\r\n}\r\n\r\nexport class DHCPDTO {\r\n MacAddress: string;\r\n BindingId: string;\r\n DefaultGateway: string;\r\n Hostname: string;\r\n IpAddress: string;\r\n PrimaryNameServer: string;\r\n SecondaryNameServer: string;\r\n SubnetMask: string;\r\n ServiceID: string;\r\n constructor() {\r\n this.BindingId = null;\r\n this.DefaultGateway = null;\r\n this.Hostname = null;\r\n this.IpAddress = null;\r\n this.PrimaryNameServer = '200.62.2.180';\r\n this.SecondaryNameServer = '200.62.2.181';\r\n this.SubnetMask = '255.255.255.0';\r\n }\r\n}\r\n\r\nexport class UserInfoDTO {\r\n public ID: string;\r\n public Name: string;\r\n public Email: string;\r\n public UserName: string;\r\n public LastUpdate: Date;\r\n public Language: string;\r\n public Cost: number;\r\n public ServiceCount: number;\r\n public pendingCancellations: number;\r\n public ActiveCustomers: number;\r\n public Initials:string\r\n constructor() {\r\n this.ID = null;\r\n this.Language = 'es-co';\r\n this.Name = '';\r\n this.Email = '';\r\n this.UserName = '';\r\n this.LastUpdate = new Date();\r\n this.Initials = '';\r\n }\r\n}\r\n\r\nexport class UserDTO {\r\n public ID: string;\r\n public DomainName: string;\r\n public CustomerTypeID: string;\r\n public Name: string;\r\n public LastName: string;\r\n public Identification: string;\r\n public Active: boolean;\r\n public Login: string;\r\n public Address: string;\r\n public Telephone: string;\r\n public Email: string;\r\n public ParentID: string;\r\n public RoleID: string;\r\n public RoleInt: string;\r\n public Language: string;\r\n public IsDemo: boolean;\r\n public CreatedDate: Date;\r\n public UpdateDate: Date;\r\n public CustomerID: number;\r\n public ServiceID: number;\r\n public TotalCost: number;\r\n public Calculator: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.CustomerTypeID = null;\r\n this.DomainName = null;\r\n this.Name = null;\r\n this.LastName = '';\r\n this.Identification = null;\r\n this.Active = true;\r\n this.Login = null;\r\n this.Address = null;\r\n this.Telephone = null;\r\n this.Email = null;\r\n this.ParentID = null;\r\n this.RoleID = null;\r\n this.Language = null;\r\n this.IsDemo = false;\r\n this.CreatedDate = new Date();\r\n this.UpdateDate = new Date();\r\n this.CustomerID = null;\r\n this.ServiceID = null;\r\n this.TotalCost = null;\r\n this.Calculator = false;\r\n }\r\n}\r\n\r\n\r\nexport interface UserQuoteDTO {\r\n ID?: string;\r\n DomainName: string;\r\n CustomerTypeID: string;\r\n Name: string;\r\n LastName: string;\r\n Identification: string;\r\n Active: boolean;\r\n Login: string;\r\n Address: string;\r\n Telephone: string;\r\n Email: string;\r\n ParentID: string;\r\n RoleID: string;\r\n RoleInt: string;\r\n Language: string;\r\n IsDemo: boolean;\r\n CreatedDate: Date;\r\n UpdateDate: Date;\r\n CustomerID: number;\r\n ServiceID: number;\r\n TotalCost: number;\r\n Calculator: boolean;\r\n}\r\n\r\nexport class LoginDTO {\r\n public UserName: string;\r\n public Password: string;\r\n constructor() {\r\n this.UserName = '';\r\n this.Password = '';\r\n }\r\n}\r\n\r\nexport class MenuDTO {\r\n public Id: number;\r\n public Children: Array;\r\n public leaf: string;\r\n public Icon: string;\r\n constructor() {\r\n this.Id = 0;\r\n this.Children = [];\r\n this.leaf = '';\r\n }\r\n}\r\n\r\nexport class InterfaceDTO {\r\n public Label: string;\r\n public Name: string;\r\n public AddressGroups: Array;\r\n public Mtu: string;\r\n public Type: string;\r\n public PortGroupId: string;\r\n public PortGroupName: string;\r\n public Index: string;\r\n public IsConnected: string;\r\n}\r\n\r\nexport class AddressGroupDTO {\r\n public primaryAddress: string;\r\n public subnetMask: string;\r\n public subnetPrefixLength: string;\r\n}\r\n\r\nexport class ServiceDTO {\r\n public ID: string;\r\n public ServiceType: string;\r\n public ServiceName: string;\r\n public Configuration: Machine;\r\n public State: string;\r\n public ServiceID: number;\r\n public VcenterID: string;\r\n public Duration: number;\r\n public CustomerID: string;\r\n public BundleID: string;\r\n public Progress: number;\r\n public ErrorMessage: string;\r\n public vCenterVersion: string;\r\n constructor() {\r\n this.ID = null;\r\n this.ServiceType = null;\r\n this.ServiceName = '';\r\n this.Configuration = new Machine();\r\n this.State = null;\r\n this.ServiceID = null;\r\n this.VcenterID = null;\r\n this.Duration = null;\r\n this.CustomerID = null;\r\n this.BundleID = null;\r\n this.Progress = 0.0;\r\n this.ErrorMessage = null;\r\n this.vCenterVersion = null;\r\n }\r\n}\r\n\r\nexport class ProductDTO {\r\n public ID: string;\r\n public ProductType: string;\r\n public Name: string;\r\n public State: boolean;\r\n public Configuration: BundleDTO;\r\n public Updated: Date;\r\n public IsSaving = false;\r\n public shown = false;\r\n public Description: string;\r\n public Image: string;\r\n public VirtualizationProviderID: number;\r\n constructor() {\r\n this.ID = null;\r\n this.ProductType = null;\r\n this.Name = null;\r\n this.State = true;\r\n this.Configuration = new BundleDTO();\r\n this.Updated = null;\r\n this.Description = null;\r\n this.Image = '/assets/img/gralServer.png';\r\n this.VirtualizationProviderID = 1;\r\n }\r\n public clearProduct() {\r\n this.Name = '';\r\n this.Description = '';\r\n this.Configuration = new BundleDTO();\r\n }\r\n}\r\n\r\nexport class BundleDTO {\r\n ID: number;\r\n Title: string;\r\n BundleMachine: Machine;\r\n BundleServices: Array;\r\n BundleLicenses: Array;\r\n Cost: any;\r\n\r\n constructor() {\r\n this.ID = null;\r\n this.BundleMachine = new Machine();\r\n this.BundleServices = null;\r\n this.BundleLicenses = null;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class BundleQuoteDTO {\r\n ID: number;\r\n Name: string;\r\n CustomerID: string;\r\n CustomerName: string;\r\n CloudConfiguration: Array;\r\n ConfigurationString: string;\r\n Status: boolean;\r\n Date: Date;\r\n Description: string;\r\n PlanDiscountCount: number;\r\n constructor() {\r\n this.ID = null;\r\n this.CustomerID = null;\r\n this.CloudConfiguration = [];\r\n this.Name = '';\r\n this.CustomerName = '';\r\n this.Status = true;\r\n this.Date = new Date();\r\n this.Description = '';\r\n this.ConfigurationString = '';\r\n this.PlanDiscountCount = 0;\r\n }\r\n}\r\n\r\n\r\nexport class BundleCost {\r\n public _CAPEX: number;\r\n public _OPEX: number;\r\n public CAPEX: number;\r\n public OPEX: number;\r\n public MRC: number;\r\n public DiscountMRC: number;\r\n constructor() {\r\n this._CAPEX = 0;\r\n this._OPEX = 0;\r\n this.CAPEX = 0;\r\n this.OPEX = 0;\r\n this.MRC = 0;\r\n this.DiscountMRC = 0;\r\n }\r\n}\r\n\r\nexport class Machine {\r\n public ID: string;\r\n public Duration: number;\r\n public Cores: Cores;\r\n public Ram: Ram;\r\n public Hypervisor: Hypervisor;\r\n public Availability: Ha;\r\n public Network: Networking;\r\n public MachineStorage: [Storage];\r\n public OperativeSystem: OperativeSystem;\r\n public DataBase: any;\r\n public MachineName: string;\r\n public RemoteAccess: any;\r\n public PrivateIp: string;\r\n public MacAddress: string;\r\n public MachineLicenses: Array;\r\n public MachineServices: Array;\r\n public Monitoring: BundleCost;\r\n public ServerProtection: ServerProtection;\r\n public Cost: BundleCost;\r\n public Vcenter: string;\r\n public ServiceID: string;\r\n constructor() {\r\n this.ID = null;\r\n this.Duration = null;\r\n this.Cores = new Cores();\r\n this.Ram = new Ram();\r\n this.Hypervisor = new Hypervisor();\r\n this.Availability = new Ha();\r\n this.Network = new Networking();\r\n this.MachineStorage = [new Storage()];\r\n this.OperativeSystem = new OperativeSystem();\r\n this.DataBase = new DataBase();\r\n this.MachineName = '';\r\n this.RemoteAccess = '';\r\n this.MacAddress = null;\r\n this.MachineLicenses = [new MachineLicense()];\r\n this.MachineServices = [new MachineService()];\r\n this.Monitoring = new BundleCost();\r\n this.ServerProtection = new ServerProtection();\r\n this.Cost = new BundleCost();\r\n this.Vcenter = null;\r\n this.ServiceID = null;\r\n }\r\n}\r\n\r\nclass ServerProtection {\r\n public Active: boolean;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Active = true;\r\n this.Cost = new BundleCost();\r\n }\r\n\r\n}\r\n\r\nclass MachineService {\r\n public LicenseName: string;\r\n public LicenseType: string;\r\n public Quantity: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.LicenseName = '';\r\n this.LicenseType = '2';\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class MachineLicense {\r\n public Identifier: string;\r\n public Quantity: number;\r\n public LicenseType: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Identifier = 'WINRDP';\r\n this.Quantity = 0;\r\n this.LicenseType = 0;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass DataBase {\r\n public Db: number;\r\n public Name: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Cost = new BundleCost();\r\n this.Name = '';\r\n }\r\n}\r\n\r\nclass Networking {\r\n public localNetworkType: number;\r\n public Internet: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.localNetworkType = 0;\r\n this.Internet = 5;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Ha {\r\n public availabilityType: number;\r\n public replicationServer: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.availabilityType = 0;\r\n this.replicationServer = null;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Hypervisor {\r\n public plataform: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.plataform = 1;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Cores {\r\n public Value: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Value = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Ram {\r\n public Value: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Value = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class AdditionalServiceDTO {\r\n public ID: string;\r\n public ServiceParentID: string;\r\n public Configuration: Storage;\r\n public ServiceType: string;\r\n public CreationDate: Date;\r\n public ExpirationDate: Date;\r\n public ServiceID: number;\r\n public CancelState: string;\r\n public State: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.ServiceParentID = null;\r\n this.Configuration = new Storage();\r\n this.ServiceType = 'DISK';\r\n this.CreationDate = new Date();\r\n this.ExpirationDate = null;\r\n this.ServiceID = null;\r\n this.CancelState = null;\r\n this.State = true;\r\n }\r\n}\r\n\r\nclass Backup {\r\n public Month: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Month = 1;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\nexport class Storage {\r\n public diskType: number;\r\n public size: number;\r\n public Backup: Backup;\r\n public database: boolean;\r\n public Cost: BundleCost;\r\n public SqlLicense: boolean;\r\n constructor() {\r\n this.diskType = 100;\r\n this.size = 100;\r\n this.database = false;\r\n this.Backup = new Backup();\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\n\r\nclass OperativeSystem {\r\n public Os: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Cost = new BundleCost();\r\n this.Os = '';\r\n }\r\n}\r\n\r\nexport class HelpdeskDTO {\r\n public Title: string;\r\n public Description: string;\r\n public File: string;\r\n public Users: string[];\r\n constructor() {\r\n this.Title = '';\r\n this.Description = '';\r\n this.File = '';\r\n this.Users = [];\r\n }\r\n}\r\nexport class OptionsCalculator {\r\n ID: number;\r\n NAME: string;\r\n constructor() {\r\n this.ID = 0;\r\n this.NAME = 'seleccione una opción';\r\n }\r\n}\r\n\r\n\r\nexport class serverCalculatorList {\r\n\r\n Name: string;\r\n AdditionalService: any;\r\n AditionalIPs: any;\r\n Disk: [Storage];\r\n}\r\n\r\nexport class PriceItemDTO {\r\n public IDPL: string;\r\n public item: PriceItemDetail;\r\n\r\n constructor() {\r\n this.IDPL = '';\r\n this.item = new PriceItemDetail();\r\n }\r\n}\r\n\r\nexport class VirtualMachineType {\r\n category: string;\r\n virtualMachineTypeName: string;\r\n machineList: [ServiceDTO];\r\n constructor() {\r\n this.category = '';\r\n this.virtualMachineTypeName = '';\r\n this.machineList = [new ServiceDTO()];\r\n }\r\n}\r\n\r\n\r\nexport class PriceItemDetail {\r\n Name: string;\r\n Identifier: string;\r\n MRC: number;\r\n CAPEXReuse: number;\r\n CAPEXReal: number;\r\n OPEXReal: number;\r\n OPEXReuse: number;\r\n PriceTypeID: number;\r\n IDPT: number;\r\n Relation: string;\r\n MaxCores: number;\r\n SAL: boolean;\r\n Active: boolean;\r\n\r\n constructor() {\r\n this.Name = '';\r\n this.Identifier = '';\r\n this.MRC = null;\r\n this.CAPEXReal = null;\r\n this.OPEXReal = null;\r\n }\r\n}\r\n\r\nexport class CustomerMachinesService {\r\n public category: string;\r\n public virtualMachineTypeName: string;\r\n public machinesList: Array;\r\n constructor() {\r\n this.category = null;\r\n this.virtualMachineTypeName = null;\r\n this.machinesList = new Array();\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Subject } from 'rxjs/Subject';\r\n \r\n@Injectable()\r\nexport class BroadcastEmitter {\r\n private subject = new Subject();\r\n \r\n SendMessage(message: any) {\r\n this.subject.next(message);\r\n }\r\n \r\n GetMessage(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppService {\r\n\r\n isSidebarPinned = false;\r\n isSidebarToggeled = false;\r\n\r\n constructor() { }\r\n\r\n toggleSidebar() {\r\n this.isSidebarToggeled = ! this.isSidebarToggeled;\r\n }\r\n\r\n toggleSidebarPin() {\r\n this.isSidebarPinned = ! this.isSidebarPinned;\r\n }\r\n\r\n getSidebarStat() {\r\n return {\r\n isSidebarPinned: this.isSidebarPinned,\r\n isSidebarToggeled: this.isSidebarToggeled\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivate {\r\n constructor(public auth: AuthService, public router: Router) {}\r\n canActivate(): boolean {\r\n if (!this.auth.isAuthenticated()) {\r\n this.router.navigate(['login']);\r\n return false;\r\n }\r\n \r\n return true;\r\n }\r\n}","\r\n\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { AuthService } from './auth.service';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/observable/throw'\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class MyHttpInterceptor implements HttpInterceptor {\r\n constructor(public auth: AuthService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const IdToken = this.auth.getToken();\r\n if (IdToken) {\r\n const authReq = req.clone(\r\n {\r\n headers: req.headers.set('Authorization', 'Basic ' + IdToken)\r\n }\r\n );\r\n return next.handle(authReq)\r\n } else {\r\n return next.handle(req)\r\n .catch((error, caught) => {\r\n console.log(\"Error Occurred\");\r\n console.log(error);\r\n return Observable.throw(error);\r\n }) as any;\r\n }\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\nexport const TOKEN_NAME: string = 'usertoken';\r\n\r\nexport function tokennGetter() { \r\n return localStorage.getItem(TOKEN_NAME);\r\n}\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor(public jwtHelper: JwtHelperService) {}\r\n\r\n public isAuthenticated(): boolean {\r\n const token = localStorage.getItem(TOKEN_NAME);\r\n if(token!=null){\r\n return !this.jwtHelper.isTokenExpired(token);\r\n }\r\n }\r\n\r\n setToken(token: string): void {\r\n localStorage.setItem(TOKEN_NAME, token);\r\n }\r\n\r\n public getToken(): string {\r\n return localStorage.getItem(TOKEN_NAME);\r\n }\r\n\r\n public getTokenExpirationDate(token: string): Date {\r\n return this.jwtHelper.getTokenExpirationDate(token); \r\n }\r\n\r\n public tokenPayload( token: string) :object{\r\n return this.jwtHelper.decodeToken(token);\r\n }\r\n\r\n public clearStorage(){\r\n return localStorage.clear();\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class SessionCheckService {\r\n constructor( private jwtHelper: JwtHelperService , public auth: AuthService ){};\r\n\r\n public validate( token:string ): Observable< any > {\r\n return Observable.interval(1000).map( (x) => this.jwtHelper.isTokenExpired(token) );\r\n }\r\n}","import { environment } from \"./../../../environments/environment\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CsjService {\r\n private urlCSJ = environment.CSJ_URL;\r\n private baseUrl = \"/api/v1/\";\r\n private headers: HttpHeaders = new HttpHeaders({\r\n TypeCustom: \"Bearer\",\r\n });\r\n private CSJTOKEN_NAME: string = \"csjtoken\";\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n public getToken(): string {\r\n return localStorage.getItem(this.CSJTOKEN_NAME);\r\n }\r\n\r\n login(): Observable {\r\n return this.http.post(`${this.urlCSJ}${this.baseUrl}auth/token`, {\r\n csjC: environment.CSJC,\r\n });\r\n }\r\n\r\n getMissingFilesToCopy(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}diskFiles/getMissingFilesToCopy`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n\r\n getTimeUseOfDisk(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}diskFiles/getTimeUseOfDisk`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n\r\n getDiskDetails(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}diskFiles/getDiskDetails`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n\r\n getInfoDisk(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}openFaas/getListDiskInfo`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n\r\n getReport(): Observable {\r\n return this.http.get(`${this.urlCSJ}${this.baseUrl}diskFiles/getReport`, {\r\n headers: this.headers,\r\n });\r\n }\r\n\r\n getYesOriginNoDestination(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}diskFiles/getYesOriginNoDestination`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { saveAs } from \"file-saver\";\r\n// import { utils, write, WorkBook } from \"xlsx\";\r\nconst EXCEL_EXTENSION = \".xlsx\";\r\n@Injectable()\r\nexport class ExcelService {\r\n constructor(private datePipe: DatePipe) {}\r\n generateInvoceExcel(\r\n title: string,\r\n header: string[],\r\n data: object[],\r\n totalServer: any,\r\n discountType: number\r\n ) {\r\n this.saveExcelFile(title);\r\n }\r\n\r\n saveExcelFile(title: string) {}\r\n\r\n public exportAsJsonExcelFile(json: any[], excelFileName: string): void {\r\n // let ws_name = \"SomeSheet\";\r\n // let wb: WorkBook = { SheetNames: [], Sheets: {} };\r\n // let ws: any = utils.json_to_sheet(json);\r\n // wb.SheetNames.push(ws_name);\r\n // wb.Sheets[ws_name] = ws;\r\n // const wbout = write(wb, {\r\n // bookType: \"xlsx\",\r\n // bookSST: true,\r\n // type: \"binary\",\r\n // });\r\n // this.saveAsExcelFile(wbout, excelFileName);\r\n }\r\n\r\n public s2ab(s: any): any {\r\n // const buf = new ArrayBuffer(s.length);\r\n // const view = new Uint8Array(buf);\r\n // for (let i = 0; i !== s.length; ++i) {\r\n // view[i] = s.charCodeAt(i) & 0xff;\r\n // }\r\n // return buf;\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, excelFileName: string): void {\r\n // saveAs(\r\n // new Blob([this.s2ab(buffer)], { type: \"application/octet-stream\" }),\r\n // excelFileName + \"_export_\" + new Date().getTime() + EXCEL_EXTENSION\r\n // );\r\n }\r\n}\r\n","import { WlService } from \"./../wlservice.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { environment } from \"./../../../environments/environment\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { appLog } from \"./logs-interface\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LogsService {\r\n private baseUrl: string = environment.urlApiLogs;\r\n private headers = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"No-Auth\": \"True\",\r\n });\r\n\r\n constructor(private http: HttpClient, private service: WlService) {}\r\n\r\n postAppLog(\r\n moduleName: string,\r\n actionName: string,\r\n success: boolean,\r\n message: string,\r\n serviceId: number\r\n ): any {\r\n this.service.GetUserInformation().subscribe(\r\n (data: any) => {\r\n const { Email, Name, UserName } = data;\r\n\r\n const payload: appLog = {\r\n application: \"White Label\",\r\n moduleName,\r\n actionName,\r\n email: Email || \"N/A\",\r\n userName: UserName,\r\n customerName: Name,\r\n serviceId,\r\n success,\r\n message,\r\n };\r\n\r\n this.http\r\n .post(this.baseUrl, payload, {\r\n headers: this.headers,\r\n })\r\n .subscribe((resp: any) => console.log(\"LogSubmitted\"));\r\n },\r\n (error: any) => console.log(\"ERROR\", error)\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { SupportContact, VpnDTO, ProfileDTO, Storage, PermissionDTO, LoginDTO, FirewallSaveRequestDTO,\r\n BundleDTO, ProductDTO, UserDTO, UserInfoDTO, ServiceAdditionalInfo, AdditionalServiceDTO,\r\n DHCPSaveRequestDTO, AppProfileSaveRequestDTO, PriceItemDTO, VirtualServerSaveRequestDTO,\r\n PoolSaveRequestDTO, IPSetSaveRequestDTO, VirtualMachineType } from '../models/dtos.component';\r\nimport { environment } from '../../environments/environment';\r\nimport { AuthService } from '../services/auth/auth.service';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport { Observable } from 'rxjs';\r\nimport { CloudServerCalculatorOut } from '../components/calculator-cloud-server/dto/cloud-server-dto';\r\nimport { v4 as uuid } from 'uuid';\r\nimport {BundleQuoteDTO} from '../components/calculator-cloud-server/dto/cloud-server-dto'\r\nimport { PfenseRequestDto } from '../components/dataCenter/pf-sense-network-settings/DTO/pfsenseRequest-dto';\r\nimport { RequestAliasFirewallDto} from '../components/dataCenter/pf-sense-network-settings/DTO/firewall-ip-dto';\r\n\r\n\r\n@Injectable()\r\nexport class WlService {\r\n private serviceURL = environment.serviceUrl;\r\n public ModuleName = '';\r\n public Permissions: Array = [];\r\n constructor(private http: HttpClient, private router: Router, public auth: AuthService) {\r\n this.ModuleName = '';\r\n }\r\n\r\n public GetGraphPool(customerId: string, serviceId: string) {\r\n return this.processData('chart/GetGraphPool', { CustomerId: customerId, ServiceId: serviceId });\r\n }\r\n\r\n public getQuestions() {\r\n return this.getData('Faq/GetFaq', '');\r\n }\r\n\r\n public GetProfiles() {\r\n return this.getData('Profile/GetProfileList', '');\r\n }\r\n\r\n public GetProducts() {\r\n return this.getData('Product/GetProducts', '');\r\n }\r\n\r\n public GetProductPrice(product: BundleDTO) {\r\n return this.processData('Calculator/GetSolutionPrice', product);\r\n }\r\n\r\n public GetBundleQuotesByUser(isWhiteLabel) {\r\n return this.processData('Calculator/GetBundleQuotesByUser', isWhiteLabel);\r\n // isWhiteLabel valida que la peticios es desde white label\r\n }\r\n\r\n public CalculatorSendEmail(product: any) {\r\n return this.processData('Product/CalculatorSendEmail', product);\r\n }\r\n\r\n public SaveProduct(product: ProductDTO) {\r\n return this.processData('Product/SaveProduct', product);\r\n }\r\n\r\n public RemoveProduct(product: ProductDTO) {\r\n return this.processData('Product/RemoveProduct', { ProductID: product.ID });\r\n }\r\n\r\n public changeProductState(product: ProductDTO) {\r\n return this.processData('Product/changeProductState', product);\r\n }\r\n\r\n public GetDomainInformation() {\r\n return this.getData('Domain/GetDomainInformation', '', null);\r\n }\r\n\r\n public GetUserInformation(CustomerID: string = null) {\r\n return this.processData('Customer/GetUserInformation', { CustomerID });\r\n }\r\n\r\n public GetUser(CustomerID: string) {\r\n return this.processData('Customer/GetCustomer', {userid: CustomerID});\r\n }\r\n public GenerateCredential(data: any) {\r\n return this.processData('Customer/GenerateCredential', data);\r\n }\r\n\r\n public getMenu() {\r\n return this.getData('Menu/GetMenu', '');\r\n }\r\n\r\n public getUsersAndDatacenters() {\r\n return this.getData('Menu/GetUsersAndDatacenters', '');\r\n }\r\n\r\n public login(loginDTO: LoginDTO) {\r\n return this.processData('Authentication/Login', loginDTO, null);\r\n }\r\n\r\n public rememberPassword(email: string) {\r\n return this.processData('Authentication/RememberPassword', { Email: email }, null);\r\n }\r\n\r\n public getCustomerAccounts(CustomerID: string = '') {\r\n return this.getData('Customer/getCustomerAccounts', CustomerID);\r\n }\r\n\r\n public getUserAccounts(CustomerID: string = '') {\r\n return this.getData('Customer/GetUserAccounts', CustomerID);\r\n }\r\n\r\n public getSystemUserAccounts(CustomerID: string = null) {\r\n return this.processData('Customer/GetSystemUserAccounts', { CustomerID });\r\n }\r\n\r\n public getAllUsers() {\r\n return this.getData('Customer/GetParentUsers', '');\r\n }\r\n\r\n public getChangeLog() {\r\n return this.getData('Domain/GetChangeLog', '', null);\r\n }\r\n\r\n public getHelpDeskMaterial() {\r\n return this.getData('Domain/GethelpMaterial', '');\r\n }\r\n\r\n public GetService(ServiceID: string) {\r\n return this.processData('VirtualMachine/GetService', { ServiceID });\r\n }\r\n\r\n public GetDataCenterMachines(DataCenterID: string = null, CustomerID: string = null) {\r\n return this.processData('VirtualMachine/GetServices', { User: CustomerID, VcenterID: DataCenterID });\r\n }\r\n\r\n public GetCustomerCloud(CustomerID: string) {\r\n return this.processData('Customer/GetCustomerClouds', { CustomerID });\r\n }\r\n\r\n public GetCustomerMachines(CustomerID: string) {\r\n return this.processData('VirtualMachine/GetServices', { User: CustomerID });\r\n }\r\n\r\n public GetAdditionalServices(MachineID: string) {\r\n return this.processData('VirtualMachine/GetAdditionalServices', { ServiceParentID: MachineID });\r\n }\r\n\r\n public GetAdditionalServicesByCustomer(CustomerID: string) {\r\n return this.processData('VirtualMachine/GetAdditionalServicesByCustomer', { CustomerID });\r\n }\r\n\r\n public PowerOnVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/PowerOnVm', { ServiceID });\r\n }\r\n\r\n public PowerOffVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/PowerOffVm', { ServiceID });\r\n }\r\n\r\n public SuspendVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/SuspendVm', { ServiceID });\r\n }\r\n\r\n public ResumeVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/ResumeVm', { ServiceID });\r\n }\r\n\r\n public RestartVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/RestartVm', { ServiceID });\r\n }\r\n\r\n public GuestPowerOffVmAPI(ServiceID: string) {\r\n return this.processData('VirtualMachine/GuestPowerOffVmAPI', { ServiceID });\r\n }\r\n\r\n public GuestSuspendVmAPI(ServiceID: string) {\r\n return this.processData('VirtualMachine/GuestSuspendVmAPI', { ServiceID });\r\n }\r\n\r\n public GuestResetVMAPI(ServiceID: string) {\r\n return this.processData('VirtualMachine/GuestResetVMAPI', { ServiceID });\r\n }\r\n\r\n public SaveUser(user: UserDTO, domain: any = null) {\r\n return this.processData('Customer/SaveUser', { user, domain });\r\n }\r\n\r\n public RemoveUser(CustomerID: string) {\r\n return this.processData('Customer/DeleteUser', { CustomerID });\r\n }\r\n\r\n public ChangePassword(OldPassword: string, NewPassword: string) {\r\n return this.processData('Authentication/ChangePassword', { OldPassword, NewPassword });\r\n }\r\n\r\n public SaveUserInfo(userInfo: UserInfoDTO) {\r\n return this.processData('Customer/ChangeUserInformation', userInfo);\r\n }\r\n\r\n public GetOsList(VcenterID: string = null, OsType: number = null) {\r\n return this.processData('VirtualMachine/GetOsList', { VcenterID, OsType });\r\n }\r\n\r\n public SaveService(Bundle: BundleDTO, additionalServiceConfiguration: ServiceAdditionalInfo) {\r\n return this.processData('VirtualMachine/AddService', { serviceDefinition: Bundle,\r\n serviceAdditionalConfiguration: additionalServiceConfiguration });\r\n }\r\n\r\n public SaveTestService(DataCenterID: string, Os: number, CustomerID: string) {\r\n return this.processData('VirtualMachine/AddTestService', { DataCenterID, Os, CustomerID });\r\n }\r\n\r\n public GetNetworkInformation(cloudid: string) {\r\n return this.processData('network/getnetworkconfiguration', { CloudID: cloudid });\r\n }\r\n\r\n public GetEdge(datacenterid: string) {\r\n return this.processData('network/getEdgeByDatacenter', { DatacenterID: datacenterid });\r\n }\r\n\r\n public AddAdditionalService(additionalServiceDTO: AdditionalServiceDTO) {\r\n return this.processData('VirtualMachine/AddAdditionalService', additionalServiceDTO);\r\n }\r\n\r\n public AddDHCPRule(dto: DHCPSaveRequestDTO) {\r\n return this.processData('Network/SaveStaticBinding', dto);\r\n }\r\n\r\n public SaveNat(dto: any) {\r\n return this.processData('Network/SaveNatRule', dto);\r\n }\r\n\r\n public SaveAllNat(dto: any) {\r\n return this.processData('Network/SetNatRules', dto);\r\n }\r\n\r\n public RemoveDHCPRule(dto: DHCPSaveRequestDTO) {\r\n return this.processData('Network/DeleteStaticBinding', dto);\r\n }\r\n\r\n public RemoveNatRule(dto: any) {\r\n return this.processData('Network/DeleteNatRule', dto);\r\n }\r\n\r\n public SaveVpn(dto: any) {\r\n return this.processData('Network/SaveIpSec', dto);\r\n }\r\n\r\n public GetIpSecStats(datacenterid: string) {\r\n return this.processData('Network/GetIpSecStats', {DatacenterID: datacenterid});\r\n }\r\n\r\n public SaveRouting(dto: any) {\r\n return this.processData('Network/SaveRouting', dto);\r\n }\r\n\r\n public RemoveVpn(dto: VpnDTO, DataCenterID: string) {\r\n return this.processData('Network/DeleteIpSec', { Request: dto, DataCenterID });\r\n }\r\n\r\n public SaveAppProfile(dto: AppProfileSaveRequestDTO) {\r\n return this.processData('Network/AddAppProfile', dto);\r\n }\r\n\r\n public SaveIPSet(dto: IPSetSaveRequestDTO) {\r\n return this.processData('Network/SaveIPSet', dto);\r\n }\r\n\r\n public RemoveIPSet(dto: IPSetSaveRequestDTO) {\r\n return this.processData('Network/RemoveIPSet', dto);\r\n }\r\n\r\n public SaveVirtualServer(dto: VirtualServerSaveRequestDTO) {\r\n return this.processData('Network/AddVirtualServer', dto);\r\n }\r\n\r\n public RemoveAppProfile(dto: AppProfileSaveRequestDTO) {\r\n return this.processData('Network/RemoveAppProfile', dto);\r\n }\r\n\r\n public SavePool(dto: PoolSaveRequestDTO) {\r\n return this.processData('Network/AddPool', dto);\r\n }\r\n\r\n public RemovePool(dto: PoolSaveRequestDTO) {\r\n return this.processData('Network/RemovePool', dto);\r\n }\r\n\r\n public RemoveVirtualServer(dto: VirtualServerSaveRequestDTO) {\r\n return this.processData('Network/RemoveVirtualServer', dto);\r\n }\r\n\r\n public SaveFirewallRule(dto: FirewallSaveRequestDTO) {\r\n return this.processData('Network/SaveFirewallRule', dto);\r\n }\r\n\r\n public RemoveFirewallRule(dto: FirewallSaveRequestDTO) {\r\n return this.processData('Network/DeleteFirewallRule', dto);\r\n }\r\n\r\n public GetInterfacesStats(cloudid: string , interval: string) {\r\n\r\n return this.processData('Network/GetInterfacesStats', { CloudID: cloudid, interval });\r\n }\r\n\r\n public GetMachineToken(ServiceID: string) {\r\n return this.processData('VirtualMachine/GetMachineToken', { ServiceID });\r\n }\r\n\r\n public GetMachinePassword(ServiceID: string) {\r\n return this.processData('VirtualMachine/GetMachinePassword', { ServiceID });\r\n }\r\n\r\n public GetStorageCost(storage: Storage) {\r\n return this.processData('Calculator/GetStoragePrice', storage);\r\n }\r\n\r\n public GetPendingMachines() {\r\n return this.getData('VirtualMachine/GetPendingMachines', '');\r\n }\r\n\r\n public ResendUserMail(CustomerID: string, Email: string = '') {\r\n return this.processData('Customer/ResendUserMail', { CustomerID, Email });\r\n }\r\n\r\n public GetAvailablePermissions() {\r\n return this.getData('Profile/GetAvailablePermissions', '');\r\n }\r\n\r\n public GetProfilePermissions(ProfileID: string) {\r\n return this.processData('Profile/GetProfilePermissions', { ProfileID });\r\n }\r\n\r\n public SaveProfilePermissions(Permissions: Array, ProfileID: string) {\r\n return this.processData('Profile/SaveProfilePermissions', { ProfileID, Permissions });\r\n }\r\n\r\n public SaveProfile(Profile: ProfileDTO) {\r\n return this.processData('Profile/SaveProfile', Profile);\r\n }\r\n\r\n public GetSupportContacts() {\r\n return this.getData('Domain/GetSupportContacts', '');\r\n }\r\n\r\n public EditFavoriteContact(supportContact: SupportContact) {\r\n return this.processData('Domain/EditFavoriteContact', supportContact);\r\n }\r\n\r\n public RemoveContact(supportContact: SupportContact) {\r\n return this.processData('Domain/RemoveContact', supportContact);\r\n }\r\n\r\n public SaveContact(supportContact: SupportContact) {\r\n return this.processData('Domain/SaveSupportContact', supportContact);\r\n }\r\n\r\n public GetFavouriteSupportContact() {\r\n return this.getData('Domain/GetFavouriteSupportContact', '');\r\n }\r\n\r\n public GetRelationAplicationsOS(PriceTypeID: number, Os: string) {\r\n return this.processData('Product/RelationProductMachineLicense', { PriceTypeID, Os });\r\n }\r\n\r\n public IncreasePoints(QuestionID: string) {\r\n return this.processData('Faq/IncreasePoints', { QuestionID });\r\n }\r\n\r\n public ChangeServiceName(ServiceID: string, Id: string, ServiceName: string = '') {\r\n return this.processData('VirtualMachine/RenameMachine', { ServiceID, ServiceName, Id });\r\n }\r\n\r\n public SaveBundleQuote(bundleQuoteDTO: BundleQuoteDTO) {\r\n return this.processData('Calculator/SaveBundleQuote', bundleQuoteDTO);\r\n }\r\n public DeleteBundleQuote(bundleQuoteDTO: BundleQuoteDTO) {\r\n\r\n return this.processData ('Calculator/DeleteBundleQuote', bundleQuoteDTO);\r\n }\r\n\r\n public GetUserAccounts() {\r\n return this.getData('customer', 'getdomaincustomers');\r\n }\r\n\r\n public SearchService(ServiceID: string, CustomerID: string) {\r\n return this.processData('VirtualMachine/GetErpServiceDetails', { ServiceID, CustomerID });\r\n }\r\n\r\n public TrackingRoute( CustomerID: string, Route: string ) {\r\n return this.processData('Customer/UpdateCustomerTrackingVisitsRoute', { CustomerID , Route});\r\n }\r\n\r\n public GetTrackinguUsers(Route: string ) {\r\n return this.processData('Customer/GetCustomerTrackingVisits', {Route});\r\n }\r\n\r\n public VerifyVirtualNetwork(DatacenterID: string) {\r\n return this.processData('Network/VerifyVirtualNetwork', {DatacenterId: DatacenterID});\r\n }\r\n\r\n public RefreshToken() {\r\n this.getData('Authentication/RefreshToken', this.ModuleName, false).subscribe(\r\n (response: any) => {\r\n this.auth.setToken(response.token);\r\n if (JSON.parse(atob(response.token.split('.')[1])).Permissions) {\r\n this.Permissions = JSON.parse(JSON.parse(atob(response.token.split('.')[1])).Permissions);\r\n } else {\r\n this.Permissions = [];\r\n }\r\n }, (error) => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n );\r\n }\r\n\r\n public getPriceList() {\r\n return this.getData('Calculator/GetPriceList', '');\r\n }\r\n\r\n public updatePriceList(item: PriceItemDTO) {\r\n return this.processData('Calculator/UpdatePriceList', item);\r\n }\r\n\r\n public GenerateToken(CustomerID) {\r\n return this.processData('Authentication/ImpersonateUser', { CustomerID });\r\n }\r\n\r\n\r\n\r\n\r\n public uploadFile(fileToUpload: any, url: string = '', params: any = '') {\r\n const Input = new FormData();\r\n Input.append('uploadFile', fileToUpload, fileToUpload.name);\r\n if (params) {\r\n if (params.Type === 'CertificateSSL') {\r\n Input.append('password', params.password);\r\n } else if (params.Type === 'HelpDeskMaterial') {\r\n Input.append('ExtensionFile', params.ExtensionFile);\r\n Input.append('Title', params.Title);\r\n Input.append('Description', params.Description);\r\n Input.append('Users', JSON.stringify(params.Users));\r\n }\r\n }\r\n return this.http.post(this.serviceURL + url, Input)\r\n .map((res: Response) => res)\r\n .catch((error: any) =>\r\n this.HandleError(error)\r\n );\r\n }\r\n\r\n\r\n public CloudServerCalculatorOut(cloudServerCalcObj: CloudServerCalculatorOut): any {\r\n return this.processData('CalculatorCloudServer/Calculate', cloudServerCalcObj);\r\n }\r\n\r\n\r\n public GetGenericListOptionsByListID(listName: string) : any {\r\n return this.processData('Calculator/GetGenericListOptionsByListID', { 'Name': listName });\r\n }\r\n\r\n public generateUUID(): string {\r\n return uuid();\r\n }\r\n\r\n public sendCalculatorCloudServerSendEmail(BundleQuote: any) {\r\n return this.processData('Product/CalculatorCloudServerSendEmail', BundleQuote);\r\n }\r\n\r\n public GetMenu(): any {\r\n return this.getData('menu', 'GetMinosMenu');\r\n }\r\n\r\n public getBundleQuoteByID(idBundleQuote: number) {\r\n return this.processData('Calculator/GetBundleQuoteByID', idBundleQuote);\r\n }\r\n\r\n public DeleteBundleQuoteByID(idBundleQuote) {\r\n // tslint:disable-next-line:radix\r\n const identifier = parseInt(idBundleQuote);\r\n return this.processData('Calculator/DeleteBundleQuoteById', identifier);\r\n }\r\n\r\n public SendBundleQuote(BundleQuoteDTO: any) {\r\n return this.processData('Product/CalculatorPreSaleSendEmail', BundleQuoteDTO);\r\n }\r\n\r\n public getNeworkPfsenseRules(pfsenseRequest : PfenseRequestDto){\r\n return this.processData('VirtualMachine/GetNetworkRules', pfsenseRequest);\r\n }\r\n public GetNetworkType(DataCenterID: string = null, CustomerID: string = null) {\r\n return this.processData('VirtualMachine/GetNetworkType', { VcenterID: DataCenterID });\r\n }\r\n\r\n public PfCreateAliasFirewall ( pfsenseRequest : RequestAliasFirewallDto ){\r\n return this.processData ('VirtualMachine/PfCreateAliasFirewall', pfsenseRequest);\r\n }\r\n\r\n\r\n\r\n private getData(url: string, params: string, refreshToken: boolean = true ) {\r\n if (refreshToken) {\r\n this.RefreshToken();\r\n }\r\n return this.http.get(this.serviceURL + url + '/' + params)\r\n .map((res: Response) => res)\r\n .catch((error: any) =>\r\n this.HandleError(error)\r\n );\r\n }\r\n\r\n private processData(url: string, body: any, refreshToken: boolean = true) : any {\r\n if (refreshToken) {\r\n this.RefreshToken();\r\n }\r\n return this.http.post(this.serviceURL + url, body)\r\n .map((res: Response) => res)\r\n .catch((error: any) =>\r\n this.HandleError(error)\r\n );\r\n }\r\n\r\n private HandleError(error: Response | any) {\r\n try {\r\n // tslint:disable-next-line: deprecation\r\n return Observable.throw(error);\r\n } catch (ex) {\r\n // tslint:disable-next-line: deprecation\r\n return Observable.throw(error);\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { SidebarService } from './sidebar.service';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss'],\r\n animations: [\r\n trigger('slide', [\r\n state('up', style({ height: 0 })),\r\n state('down', style({ height: '*' })),\r\n transition('up <=> down', animate(200))\r\n ])\r\n ]\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n @Input() user: any; \r\n @Input() menu: any;\r\n menus = [];\r\n constructor(private sidebarservice : SidebarService) {\r\n this.menus = this.sidebarservice.getMenuList();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSideBarState() {\r\n return this.sidebarservice.getSidebarState();\r\n }\r\n\r\n toggle (level :number, currentMenu) {\r\n if (currentMenu.type === 'dropdown') {\r\n console.log(\"==MENU==\",this.menus)\r\n this.menus.forEach(element => {\r\n if(level ===1){\r\n if (element === currentMenu) {\r\n currentMenu.active = !currentMenu.active;\r\n } else {\r\n element.active = false;\r\n }\r\n }else if(level ===2){\r\n \r\n if( element.submenus && element.submenus.length > 0){\r\n element.submenus.forEach(data => {\r\n if (data === currentMenu) {\r\n currentMenu.active = !currentMenu.active;\r\n } else {\r\n data.active = false;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n \r\n }\r\n }\r\n\r\n getState(currentMenu) {\r\n\r\n if (currentMenu.active) {\r\n return 'down';\r\n } else {\r\n return 'up';\r\n }\r\n }\r\n\r\n hasBackgroundImage() {\r\n return this.sidebarservice.hasBackgroundImage;\r\n }\r\n\r\n\r\n}\r\n","\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SidebarService {\r\n toggled = false;\r\n _hasBackgroundImage = true;\r\n menus = [\r\n {\r\n title: 'general',\r\n type: 'header'\r\n },\r\n {\r\n title: 'Inicio',\r\n icon: 'fa fa-home',\r\n active: false,\r\n type: 'simple',\r\n component : \"home\",\r\n Id :''\r\n },\r\n {\r\n title: 'Centro de datos',\r\n icon: 'fa fa-server',\r\n active: false,\r\n type: 'dropdown',\r\n Id :'',\r\n badge: {\r\n text: '3',\r\n class: 'badge-danger'\r\n },\r\n submenus: [\r\n {\r\n title: 'Colombia',\r\n active: false,\r\n icon : 'fa fa-globe',\r\n type: 'dropdown',\r\n submenus:[\r\n {\r\n title: 'Seidor Colombia sas',\r\n active: false,\r\n icon : 'fa fa-user',\r\n type: 'simple',\r\n component : \"datacenter\",\r\n Id :'V5fEK79GV/MMN6hLbE/ZvQ=='\r\n },\r\n {\r\n title: 'Seidor Colombia Auren',\r\n active: false,\r\n icon : 'fa fa-user',\r\n type: 'simple',\r\n component : \"datacenter\",\r\n Id :'V5fEK79GV/MMN6hLbE/ZvQ=='\r\n },\r\n {\r\n title: 'Seidor Colombia National Clinics',\r\n active: false,\r\n icon : 'fa fa-user',\r\n type: 'simple',\r\n component : \"datacenter\",\r\n Id :'V5fEK79GV/MMN6hLbE/ZvQ=='\r\n }\r\n ]\r\n\r\n },\r\n {\r\n title: 'Argentina',\r\n icon : 'fa fa fa-globe',\r\n active: false,\r\n type: 'simple',\r\n Id :''\r\n },\r\n {\r\n title: 'Honduras',\r\n icon : 'fa fa fa-globe',\r\n active: false,\r\n type: 'simple',\r\n Id :''\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Servicios',\r\n icon: 'fa fa-align-center',\r\n active: false,\r\n type: 'dropdown',\r\n submenus: [\r\n {\r\n title: 'Servidores Virtuales',\r\n icon :'fa fa fa-globe',\r\n component : \"virtualServers\",\r\n Id :''\r\n },\r\n {\r\n title: 'Cotizador',\r\n icon :'fa fa fa-globe',\r\n component : \"calculator\",\r\n Id :''\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Administración',\r\n icon: 'fa fa-globe',\r\n active: false,\r\n type: 'dropdown',\r\n submenus: [\r\n {\r\n title: 'Mi portal',\r\n icon :'fa fa fa-globe',\r\n component : \"calculator\",\r\n Id :''\r\n },\r\n {\r\n title: 'Cuentas de usuario',\r\n icon :'fa fa fa-globe',\r\n component : \"calculator\",\r\n Id :''\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Configuración',\r\n icon: 'fa fa-cog',\r\n active: false,\r\n type: 'dropdown',\r\n submenus: [\r\n {\r\n title: 'Mi cuenta',\r\n icon :'fa fa fa-globe',\r\n component : \"Administration\",\r\n Id :''\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Extra',\r\n type: 'header'\r\n },\r\n {\r\n title: 'Información',\r\n icon: 'fa fa-info-circle',\r\n active: false,\r\n type: 'simple',\r\n badge: {\r\n text: 'Beta',\r\n class: 'badge-primary'\r\n },\r\n },\r\n {\r\n title: 'Maquinas Pendientes',\r\n icon: 'fa fa-folder',\r\n active: false,\r\n type: 'simple'\r\n },\r\n {\r\n title: 'Entrega de credenciales',\r\n icon: 'fa fa-id-card',\r\n active: false,\r\n type: 'simple'\r\n } \r\n ];\r\n constructor() { }\r\n\r\n toggle() {\r\n this.toggled = ! this.toggled;\r\n }\r\n\r\n getSidebarState() {\r\n return this.toggled;\r\n }\r\n\r\n setSidebarState(state: boolean) {\r\n this.toggled = state;\r\n }\r\n\r\n getMenuList() {\r\n return this.menus;\r\n }\r\n\r\n get hasBackgroundImage() {\r\n return this._hasBackgroundImage;\r\n }\r\n\r\n set hasBackgroundImage(hasBackgroundImage) {\r\n this._hasBackgroundImage = hasBackgroundImage;\r\n }\r\n}\r\n","export class CustomFormValidator{\r\n static AlphaNumericValidator(control){\r\n var regexp = new RegExp(/^[a-zA-Z0-9]+$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'alphaNumericValidator': true};\r\n }\r\n }\r\n\r\n static PasswordStrengthValidator(control){\r\n var regexp = new RegExp(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'passwordValidator': true};\r\n }\r\n }\r\n static EmailValidator(control){\r\n var regexp = new RegExp(/^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'emailValidator': true};\r\n }\r\n }\r\n static NumberValidator(control){\r\n var regexp = new RegExp(/^\\d{1,10}$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'NumberValidator': true};\r\n }\r\n }\r\n\r\n static DecimalNumberValidator(control){\r\n var regexp = new RegExp(/^(\\d*\\.)?\\d+$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'DecimalNumberValidator': true};\r\n }\r\n }\r\n static InputValidator(control){\r\n var regexp = new RegExp(/^\\d{1,5}$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'InputValidator': true};\r\n }\r\n }\r\n\r\n static PortValidator(control){\r\n var regexp = new RegExp(/(^(\\d{1,5}\\-\\d{1,5})$)|(^\\d{1,5}$)/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'PortValidator': true};\r\n }\r\n }\r\n\r\n static ipAddressValidator(control){\r\n var regexp = new RegExp(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/);\r\n\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'ipAddressValidator': true};\r\n }\r\n\r\n }\r\n\r\n static maskValidator(control){\r\n var regexp = new RegExp(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))$/);\r\n\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'maskValidator': true};\r\n }\r\n\r\n }\r\n\r\n static networkGroupValidator(control){\r\n var regexp = new RegExp(/^((((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))\\,?)*)-?)*$/);\r\n\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'networkGroupValidator': true};\r\n }\r\n\r\n }\r\n}","import { Component, OnInit, Input, ViewChild, Inject, Pipe, PipeTransform } from '@angular/core';\r\nimport { CurrencyPipe } from \"@angular/common\";\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser'\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'simple-grid',\r\n templateUrl: './grid.component.html',\r\n styleUrls: ['./grid.component.scss'],\r\n providers: [CurrencyPipe]\r\n})\r\n\r\nexport class GridComponent implements OnInit {\r\n @ViewChild('FilterInput') FilterInput: any;\r\n public columns = [];\r\n private tempData = [];\r\n public filtering = false;\r\n public filterText = \"\";\r\n public pageNumber = 0;\r\n public pageSize = 5;\r\n public pageData = [];\r\n public loading = true;\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n @Input() settings: any = {\r\n columns: [],\r\n data: [],\r\n toolbar: [],\r\n filter: \"\",\r\n refresh: null,\r\n hideActions: null,\r\n actions: null,\r\n pageSize: 5,\r\n id: \"ID\",\r\n sortable: false,\r\n minWidth: \"100%\",\r\n };\r\n\r\n constructor(private currencyPipe: CurrencyPipe, public dialog: MatDialog, public service: WlService, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n getValue(row, column) {\r\n if (typeof (row[column.name]) == \"boolean\") {\r\n return row[column.name] ? 'done' : 'clear';\r\n } else {\r\n var retValue = \"\";\r\n column.name.split('.').forEach((u) => {\r\n if (retValue != \"\")\r\n retValue = retValue[u];\r\n else\r\n retValue = row[u];\r\n });\r\n if (column.format) {\r\n if (column.format == \"currency\")\r\n retValue = this.currencyPipe.transform(retValue, 'USD', true);\r\n else\r\n console.log(\"format not supported\");\r\n }\r\n return retValue == null ? \"\" : retValue;\r\n }\r\n }\r\n\r\n GetIcon(row, column) {\r\n\r\n }\r\n GetGridIconName(row, name){\r\n return \"icon-\" + row[name];\r\n }\r\n viewDetail(row, column) {\r\n if (column.showDetail) {\r\n let data = { title: column.title, data: this.getValue(row, column).split(\", \") }\r\n this.dialog.open(GridDetailComponent, { data: data });\r\n }\r\n }\r\n\r\n ShowFilter() {\r\n this.filtering = true;\r\n this.FilterInput.nativeElement.focus();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n this.settings = changes['settings'].currentValue;\r\n if (this.settings) {\r\n if (this.settings.data.length > 0) {\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n }\r\n }\r\n }\r\n\r\n filterGrid() {\r\n this.pageNumber = 0;\r\n if (this.filterText == \"\")\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n else {\r\n this.pageData = this.settings.data.filter(d => d[this.settings.filter] != null && d[this.settings.filter].toString().toLowerCase().includes(this.filterText.toString().toLowerCase())).slice(this.pageNumber, this.pageSize);\r\n }\r\n }\r\n\r\n clearFilter() {\r\n if (this.filterText == \"\")\r\n this.hideFilter();\r\n else {\r\n this.filterText = \"\";\r\n this.pageNumber = 0;\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n this.FilterInput.nativeElement.focus();\r\n }\r\n }\r\n\r\n hideFilter() {\r\n if (this.filterText == \"\")\r\n this.filtering = false;\r\n }\r\n\r\n public getData() {\r\n return this.settings.data;\r\n }\r\n\r\n public setData(data) {\r\n this.loading = false;\r\n this.settings.data = data;\r\n this.pageNumber = 0;\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n }\r\n\r\n public RemoveRow(row) {\r\n this.settings.data = this.settings.data.filter(f => f != row);\r\n this.pageNumber = 0;\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n }\r\n\r\n public pushRow(row) {\r\n var update = false;\r\n this.settings.data.forEach((i) => {\r\n if (i[this.settings.id] != null && i[this.settings.id] != undefined && row[this.settings.id] != null && row[this.settings.id] != undefined && row[this.settings.id] == i[this.settings.id]) {\r\n i = row;\r\n update = true;\r\n }\r\n });\r\n if (!update)\r\n this.settings.data.push(row);\r\n this.pageNumber = 0;\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n }\r\n log(a) {\r\n console.log(a);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n previousPage() {\r\n if (this.pageNumber > 0) {\r\n this.pageNumber--;\r\n this.pageData = this.settings.data.slice(this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize), (this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) + (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize));\r\n }\r\n }\r\n\r\n nextPage() {\r\n if (this.pageNumber < (this.settings.data.length / (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) - 1) {\r\n this.pageNumber++;\r\n this.pageData = this.settings.data.slice(this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize), (this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) + (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize));\r\n }\r\n }\r\n\r\n\r\n GetActionButtons(index, row) {\r\n if (!this.settings.sortable) {\r\n return this.settings.actions.filter(f => !f.hide || !f.hide(row))\r\n }\r\n let response = Object.assign([], this.settings.actions);\r\n /*\r\n if (index > 0)\r\n response.push({\r\n text: \"Subir\",\r\n action: (u) => { this.UpRow(index, row) },\r\n });\r\n if (index < this.settings.data.length - 1)\r\n response.push({\r\n text: \"Bajar\",\r\n action: (u) => { this.DownRow(index, row) },\r\n });\r\n */\r\n return response;\r\n }\r\n\r\n UpRow(index, row) {\r\n this.settings.data.splice(index, 1);\r\n this.settings.data.splice(index - 1, 0, row);\r\n this.pageData = this.settings.data.slice(this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize), (this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) + (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize));\r\n }\r\n DownRow(index, row) {\r\n this.settings.data.splice(index, 1);\r\n this.settings.data.splice(index + 1, 0, row);\r\n this.pageData = this.settings.data.slice(this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize), (this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) + (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'grid-detail',\r\n template: `\r\n
\r\n
\r\n
{{data.title}}
\r\n
\r\n
\r\n \r\n {{item}}\r\n \r\n
\r\n
\r\n `,\r\n styleUrls: ['./grid.component.scss']\r\n})\r\nexport class GridDetailComponent {\r\n rememberEmail: string;\r\n loading: boolean = false;\r\n constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef) { }\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n search\r\n \r\n
\r\n clear\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{column.icon(row[column.name]).icon}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{globalization.grid.gridFirstPart[language]}} \r\n {{settings.data.length == 0 ? 0 : ((pageNumber * (settings.pageSize==null?5:settings.pageSize))+1)}}\r\n a \r\n {{(pageNumber * (settings.pageSize==null?5:settings.pageSize)) + (settings.pageSize==null?5:settings.pageSize)}}\r\n settings.data.length\">{{settings.data.length}}\r\n de \r\n {{settings.data.length}} {{globalization.grid.gridSecondPart[language]}}\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component,Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'confirmation-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls:['../modals.scss']\r\n})\r\nexport class ConfirmationDialog {\r\n loading:boolean = false;\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) {}\r\n\r\n okClick(){\r\n this.dialogRef.close();\r\n this.data.Ok();\r\n }\r\n\r\n cancelClick(){\r\n if(!this.data.Cancel)\r\n this.dialogRef.close();\r\n else\r\n this.data.Cancel();\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n {{data.Message}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component,Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Validators, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { CustomFormValidator } from '../../CustomValidator';\r\n\r\n@Component({\r\n selector: 'confirmation-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls:['../modals.scss']\r\n})\r\nexport class sendMailDialog {\r\n loading:boolean = false;\r\n SendMailForm : FormGroup;\r\n user:string;\r\n\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder) {\r\n this.SendMailForm = this.formBuilder.group({\r\n 'userName' : [{value:'',disabled: this.loading},[Validators.required]],\r\n 'emailInput' : [{value:'',disabled: this.loading},[Validators.required,Validators.minLength(10),CustomFormValidator.EmailValidator]],\r\n 'Capex' : []\r\n });\r\n }\r\n sendMail(){\r\n this.SendMailForm.disable();\r\n this.loading = true;\r\n this.dialogRef.close(this.data);\r\n }\r\n\r\n cancelClick(){\r\n if(!this.data.Cancel)\r\n this.dialogRef.close();\r\n else\r\n this.data.Cancel();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n El tamaño minimo del correo son 10 caracteres.\r\n El correo electrónico no cuenta con el formato adecuado.\r\n {{data.email ? data.email.length : 0}} / 50\r\n
\r\n Enviar detalle CAPEX Y OPEX\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Pipe,PipeTransform} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser'\r\n\r\n@Pipe({ name: 'SafeHtml'})\r\nexport class SafeHtml implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) {}\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], field: string , args: string): any {\r\n if(!items) return []\r\n if(!args) return items\r\n return items.filter(item => item[field].toLowerCase().indexOf(args.toLowerCase()) > -1)\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n serviceUrl: \"https://cloudapi.ifxcorp.com/\",\r\n console: \"https://cloudadmin.ifxcorp.com:4000/index.html\",\r\n OVMConsole: \"https://cloudconsole.ifxcorp.com:7002\",\r\n OVMConsoleCl: \"https://cloudconsole.ifxcorp.com:7003\",\r\n CSJ_URL: \"https://dashboardcsjapi.api.ifxcorp.com\",\r\n CSJC: \"a5626a8de7bff8b35e887df47860b27a4cc78c03e6602f5fb5f8dd38205e5e97f15164186528d398cc40e33b683eac112a9caf71f30da48f0483604112eee4a4aaec8b59286ab413061f436e908ff530536b36b4f2b36f47b9247bd8173eeb447ece975e8cba2d7eebe4727644\",\r\n urlApiLogs: \"https://ifx-core-system-prd.us-e1.cloudhub.io/api/logs\",\r\n //KEY_RSA_PUB_DEVC: \"-----BEGIN PUBLIC KEY-----MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgHYfi+b2Zil7WVFXtSqQ2jFsVAHNl3spvs9Zy8V/flcivcOm4CCQm+Ds56gHMOgTgvZLwp+ZuR0uSAbpwpqQzDn0kFPPWVqdC4SCAT6z7C1fgyamdjxv/23NlUGRgfeXuuTSut6ODGzk5TUpYwJqq6C3nXPTan6aScuOnTfgHk1vAgMBAAE=-----END PUBLIC KEY-----\"\r\n KEY_RSA_PUB_DEVC: `-----BEGIN PUBLIC KEY-----\r\n MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZCa09hc+moDezpQJj7m0x99if\r\n ZUncXPpOsT9VmqxRIk++lYRjJBFG2vZFpiwSB2M9qvLtOEbAfrVI5Uq8fesv0niq\r\n M+Y78zHEt3LRPt7ULzMcKeRkG3P6lBp6aaxyl7a53HaW3PLbOf084WGze1ymKPWk\r\n JLdpVPjp0p4zLgGC/QIDAQAB\r\n -----END PUBLIC KEY-----`\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}