{"version":3,"sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/Models/Acquisto.ts","./src/app/Models/AcquistoPacchetto.ts","./src/app/Models/CFG.ts","./src/app/Models/Categoria.ts","./src/app/Models/Censimento.ts","./src/app/Models/CensimentoAggiorna.ts","./src/app/Models/Cloud/Center.ts","./src/app/Models/Cloud/CloudLicense.ts","./src/app/Models/Cloud/CompanyBusiness.ts","./src/app/Models/Cloud/Group.ts","./src/app/Models/Cloud/SellPoint.ts","./src/app/Models/Cloud/SuperAdmin.ts","./src/app/Models/Item.ts","./src/app/Models/LicenzeStat.ts","./src/app/Models/Log.ts","./src/app/Models/Modulo.ts","./src/app/Models/Ordine.ts","./src/app/Models/Payment.ts","./src/app/Models/SoftwareListino.ts","./src/app/Models/Update.ts","./src/app/Models/User.ts","./src/app/Services/Admin/log.service.ts","./src/app/Services/Admin/user-store.service.ts","./src/app/Services/AuthService/auth.service.ts","./src/app/Services/CartService/cart.service.ts","./src/app/Services/CensisService/censis.service.ts","./src/app/Services/Cloud/business.service.ts","./src/app/Services/Cloud/center.service.ts","./src/app/Services/Cloud/group.service.ts","./src/app/Services/Cloud/license-cloud.service.ts","./src/app/Services/Cloud/sellpoint.service.ts","./src/app/Services/FileService/file.service.ts","./src/app/Services/HTTPHeader.ts","./src/app/Services/LicenseService/license.service.ts","./src/app/Services/Payment/payment.service.ts","./src/app/Services/ShopService/shop.service.ts","./src/app/Services/StatsService/stats.service.ts","./src/app/Services/UserService/user.service.ts","./src/app/admin/admin.component.html","./src/app/admin/admin.component.ts","./src/app/admin/log/log.component.ts","./src/app/admin/log/log.component.html","./src/app/admin/store-manager/crea-elemento/crea-elemento.component.ts","./src/app/admin/store-manager/crea-elemento/crea-elemento.component.html","./src/app/admin/store-manager/img-viewer/img-viewer.component.ts","./src/app/admin/store-manager/img-viewer/img-viewer.component.html","./src/app/admin/store-manager/modifica-elemento/modifica-elemento.component.ts","./src/app/admin/store-manager/modifica-elemento/modifica-elemento.component.html","./src/app/admin/store-manager/store-manager.component.ts","./src/app/admin/store-manager/store-manager.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/censur-card/censur-card.component.ts","./src/app/censur-card/censur-card.component.html","./src/app/census/census.component.ts","./src/app/census/census.component.html","./src/app/cloud/business-manager/business-manager.component.ts","./src/app/cloud/business-manager/business-manager.component.html","./src/app/cloud/cloud.component.ts","./src/app/cloud/cloud.component.html","./src/app/cloud/group-manager/center-manager/center-manager.component.ts","./src/app/cloud/group-manager/center-manager/center-manager.component.html","./src/app/cloud/group-manager/center-manager/centerform/centerform.component.ts","./src/app/cloud/group-manager/center-manager/centerform/centerform.component.html","./src/app/cloud/group-manager/center-manager/sellpointform/sellpointform.component.ts","./src/app/cloud/group-manager/center-manager/sellpointform/sellpointform.component.html","./src/app/cloud/group-manager/group-manager.component.ts","./src/app/cloud/group-manager/group-manager.component.html","./src/app/cloud/license-manager/license-manager.component.ts","./src/app/cloud/license-manager/license-manager.component.html","./src/app/global.ts","./src/app/licenses/censimento-info/censimento-info.component.ts","./src/app/licenses/censimento-info/censimento-info.component.html","./src/app/licenses/license-genera/license-genera.component.ts","./src/app/licenses/license-genera/license-genera.component.html","./src/app/licenses/license-upgrade/license-upgrade.component.ts","./src/app/licenses/license-upgrade/license-upgrade.component.html","./src/app/licenses/licenses.component.ts","./src/app/licenses/licenses.component.html","./src/app/lists/lists.component.ts","./src/app/lists/lists.component.html","./src/app/login/login.component.html","./src/app/login/login.component.ts","./src/app/manuals/manuals.component.ts","./src/app/manuals/manuals.component.html","./src/app/payment/paypal-payment/paypal-payment.component.ts","./src/app/payment/paypal-payment/paypal-payment.component.html","./src/app/payment/stripe-payment/stripe-payment.component.ts","./src/app/payment/stripe-payment/stripe-payment.component.html","./src/app/shop/buypackagelicense/buypackagelicense.component.ts","./src/app/shop/buypackagelicense/buypackagelicense.component.html","./src/app/shop/buysinglelicense/buysinglelicense.component.ts","./src/app/shop/buysinglelicense/buysinglelicense.component.html","./src/app/shop/cart/cart.component.ts","./src/app/shop/cart/cart.component.html","./src/app/shop/checkout/checkout.component.ts","./src/app/shop/checkout/checkout.component.html","./src/app/shop/choosepackage/choosepackage.component.html","./src/app/shop/choosepackage/choosepackage.component.ts","./src/app/shop/dettaglio-prodotto/dettaglio-prodotto.component.ts","./src/app/shop/dettaglio-prodotto/dettaglio-prodotto.component.html","./src/app/shop/shop-acquisto/shop-acquisto.component.ts","./src/app/shop/shop.component.ts","./src/app/shop/shop.component.html","./src/app/shop/shopheader/shopheader.component.ts","./src/app/shop/shopheader/shopheader.component.html","./src/app/shop/tipologialicenza/tipologialicenza.component.ts","./src/app/shop/tipologialicenza/tipologialicenza.component.html","./src/app/sidebar/changelog/changelog.component.ts","./src/app/sidebar/changelog/changelog.component.html","./src/app/sidebar/sidebar.component.ts","./src/app/sidebar/sidebar.component.html","./src/app/signup/signup.component.ts","./src/app/stats/licenses-expiring/licenses-expiring.component.ts","./src/app/stats/licenses-expiring/licenses-expiring.component.html","./src/app/stats/stats.component.ts","./src/app/stats/stats.component.html","./src/app/updates/updates.component.ts","./src/app/updates/updates.component.html","./src/app/user-personal/user-personal.component.ts","./src/app/user-personal/user-personal.component.html","./src/app/users/cashmatic/user-create-cashmatic/user-create-cashmatic.component.ts","./src/app/users/cashmatic/user-create-cashmatic/user-create-cashmatic.component.html","./src/app/users/user-admin-permission-config/user-admin-permission-config.component.ts","./src/app/users/user-admin-permission-config/user-admin-permission-config.component.html","./src/app/users/user-cfg-edit/user-cfg-edit.component.ts","./src/app/users/user-cfg-edit/user-cfg-edit.component.html","./src/app/users/user-create/user-create.component.ts","./src/app/users/user-create/user-create.component.html","./src/app/users/user-edit/user-edit.component.ts","./src/app/users/user-edit/user-edit.component.html","./src/app/users/user-software-config/user-software-config.component.html","./src/app/users/user-software-config/user-software-config.component.ts","./src/app/users/users.component.ts","./src/app/users/users.component.html","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale|sync|/^/.*$"],"names":[],"mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yB","file":"main.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(() => {\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 = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 8255;\nmodule.exports = webpackEmptyAsyncContext;","export default class Acquisto {\r\n public ID: number\r\n public Username: string\r\n public PIVA: string\r\n public RagSoc: string;\r\n public NumeroLicenze: number\r\n public CodiceArticolo: string\r\n public Descrizione: string;\r\n public DataOrdine: Date\r\n\r\n public PrezzoUnitario: number;\r\n public PrezzoTotale: number\r\n public PrezzoScontato: number\r\n\r\n public Tipo: string;\r\n\r\n public ImgName: string = \"\";\r\n\r\n public DateToString() {\r\n const date: Date = new Date(this.DataOrdine);\r\n\r\n return date.getDate() + \"/\" + date.getMonth() + \"/\" + date.getFullYear();\r\n }\r\n \r\n\r\n}","import SoftwareListino from '../../app/Models/SoftwareListino';\r\n\r\nexport default class AcquistoPacchetto {\r\n public software: SoftwareListino;\r\n public quantita: number;\r\n public pacchetto: number;\r\n\r\n public constructor(software: SoftwareListino, quantita: number, pacchetto: number) {\r\n this.software = software;\r\n this.quantita = quantita;\r\n this.pacchetto = pacchetto;\r\n }\r\n}","export default class CFG {\r\n public id: number; //ID;\r\n public pv: number; //PUNTO VENDITA\r\n public cs: number; //CASSA\r\n public mc: string; //MAC ADDRESS\r\n public ds: string; //DESCRIZIONE\r\n public piva?: string;\r\n \r\n public constructor() {\r\n this.id = 0;\r\n this.pv = 0;\r\n this.cs = 0;\r\n this.mc = \"\";\r\n this.ds = \"\";\r\n }\r\n\r\n public IsEqual(cfgToCompare: CFG) {\r\n return this.id === cfgToCompare.id && this.pv === cfgToCompare.pv && this.cs === cfgToCompare.cs && this.mc === cfgToCompare.mc && this.ds === cfgToCompare.ds;\r\n }\r\n\r\n public static Clone(cfg: CFG): CFG {\r\n const clonedCFG: CFG = new CFG();\r\n clonedCFG.id = cfg.id;\r\n clonedCFG.pv = cfg.pv;\r\n clonedCFG.cs = cfg.cs;\r\n clonedCFG.mc = cfg.mc;\r\n clonedCFG.ds = cfg.ds;\r\n\r\n return clonedCFG;\r\n }\r\n\r\n}","import SoftwareListino from './SoftwareListino';\r\n\r\nexport default class Categoria {\r\n public ID: number;\r\n public IDPadre: number;\r\n public Nome: string;\r\n public Elementi: SoftwareListino[] = [];\r\n public SottoCategorie: Categoria[] = [];\r\n public Visibile: number;\r\n\r\n //BOOL GRAFICO COMPONENTE\r\n public IsSubMenu: boolean = false;\r\n\r\n\r\n constructor(id: number, nome: string) {\r\n this.ID = id;\r\n this.Nome = nome;\r\n this.IDPadre = -1;\r\n this.Visibile = 1;\r\n }\r\n\r\n}\r\n","import Modulo from '../Models/Modulo';\r\n\r\nexport default class Censimento {\r\n public PIVA: string;\r\n public NMAG: number;\r\n public NCASSA: number;\r\n public DESMAG: string;\r\n public RAGSOC: string;\r\n public LOC: string;\r\n public VIA: string;\r\n public CAP: string;\r\n public PROV: string;\r\n public SERVB2B: string;\r\n public IDTRAB2B: string;\r\n public MATRICOLA: string;\r\n public AZZER: string;\r\n public LOTTERIA: string;\r\n public XML7: string;\r\n public GIART: string;\r\n public MAC: string;\r\n public RIVENDITORE: string;\r\n public LASTDATA: Date;\r\n public LASTDATASTRING: string;\r\n public VP: string;\r\n public VB: string;\r\n public DR: string;\r\n public VU: string;\r\n public CPU: string;\r\n public RT_MODEL:string;\r\n public RT_FW:string;\r\n public RE_MATR:string;\r\n public UltimoAccessoInGiorni: number;\r\n public MODULI: Modulo[] = [];\r\n public TEAMVIEWER: string = \"\";\r\n public CLIENTE:string;\r\n public AVVIORT: string;\r\n public LICENZA: string[] = [];\r\n public INT_SCO: string;\r\n public ShowView: boolean = false;\r\n public Hidden: boolean = false;\r\n}\r\n","export default class CensimentoAggiorna {\r\n public PIVA: string\r\n public NMAG: string\r\n public NCASSA : string\r\n public MAC : string\r\n public SOFTWARE : string\r\n public VERSION : string\r\n public DESMAG : string\r\n public RAGSOC : string\r\n}\r\n","import { CompanyBusiness } from 'src/app/Models/Cloud/CompanyBusiness';\r\nimport { Group } from './Group';\r\nimport { SellPoint } from './SellPoint';\r\nimport { ZipCode } from './ZipCode';\r\n\r\nexport class Center {\r\n id: number;\r\n companyName: string;\r\n uuid: string;\r\n vatNumber: string;\r\n fiscalCode: string;\r\n sdiCode: string;\r\n rea: string;\r\n address: string;\r\n street: string;\r\n zipCodeId: string;\r\n zipCode: ZipCode;\r\n phone: string;\r\n phonePrefix: string;\r\n mobile: string;\r\n mobilePrefix: string;\r\n fax: string;\r\n faxPrefix: string;\r\n email: string;\r\n contact: string;\r\n website: string;\r\n bank: string;\r\n branchBank: string;\r\n iban: string;\r\n cin: string;\r\n abi: string;\r\n cab: string;\r\n swift: string;\r\n note: string;\r\n business: CompanyBusiness;\r\n group: Group;\r\n sellPoints: SellPoint[];\r\n }\r\n \r\n ","export class CloudLicense {\r\n public authorities: string[];\r\n public createdAt: Date;\r\n public updatedAt: Date;\r\n public name: string;\r\n public description: string;\r\n public maxCabins: number;\r\n public maxOperators: number;\r\n public uuid: string;\r\n public id: number;\r\n public licenseCloudValue: CloudLicenseValue;\r\n public constructor() {\r\n this.authorities = [];\r\n this.licenseCloudValue = new CloudLicenseValue();\r\n }\r\n}\r\n\r\nexport class CloudLicenseDate {\r\n public id: number;\r\n public startDate: Date;\r\n public expirationDate: Date;\r\n}\r\n\r\nexport class CloudLicenseValue {\r\n public month: number;\r\n public quarter: number;\r\n public year: number;\r\n \r\n public constructor() {\r\n this.month = 0;\r\n this.quarter = 0;\r\n this.year = 0;\r\n }\r\n}\r\n\r\nexport enum Authority\r\n{\r\n /*MANAGE_CONTACT, MANAGE_CONFIGURATION, MANAGE_PRODUCT,*/\r\n DASHBOARD = \"DASHBOARD\",\r\n PLANNING = \"PLANNING\",\r\n PAYMENT = \"PAYMENT\",\r\n\r\n /*CONTACTS*/\r\n CLIENT = \"CLIENT\",\r\n COMPANY = \"COMPANY\",\r\n PROVIDER = \"PROVIDER\",\r\n\r\n /*Back office*/\r\n ARTICLE = \"ARTICLE\",\r\n TREATMENT = \"TREATMENT\",\r\n STOCK = \"STOCK\",\r\n MOVEMENT = \"MOVEMENT\",\r\n INVENTORY = \"INVENTORY\",\r\n QUOTE = \"QUOTE\",\r\n SUBSCRIPTION = \"SUBSCRIPTION\",\r\n FIDELITY = \"FIDELITY\",\r\n DOCUMENT_MANAGEMENT = \"DOCUMENT_MANAGEMENT\",\r\n FIRST_NOTE = \"FIRST_NOTE\",\r\n CASH_DESK = \"CASH_DESK\",\r\n\r\n /*MARKETING*/\r\n PROMOTION = \"PROMOTION\",\r\n PROMO_SMS = \"PROMO_SMS\",\r\n\r\n /*STATISTICS*/\r\n PRODUCT_REPORTS = \"PRODUCT_REPORTS\",\r\n TREATMENT_REPORTS = \"TREATMENT_REPORTS\",\r\n OPERATOR_REPORTS = \"OPERATOR_REPORTS\",\r\n\r\n /*CONFIGURATIONS*/\r\n ADMINISTRATION = \"ADMINISTRATION\",\r\n SETUP_SELL_POINT = \"SETUP_SELL_POINT\",\r\n SETUP_CLIENTS = \"SETUP_CLIENTS\",\r\n PRODUCTS_AND_SERVICES = \"PRODUCTS_AND_SERVICES\",\r\n PRINTERS = \"PRINTERS\",\r\n SATISPAY = \"SATISPAY\",\r\n /*PRODUCT_AND_SERVICES,\r\n MOVEMENT_AND_STOCK,\r\n SMS,\r\n PROMO,\r\n REPORT,\r\n CONFIGURATION_TABLE,\r\n PAYMENT,\r\n SALES,*/\r\n // authorities for hierarchy authentication\r\n /*GROUP, OWNER, SELL_POINT, GROUPP*/\r\n}","export class CompanyBusiness {\r\n public id: number;\r\n public uuid: string;\r\n public description: string;\r\n}","import { Admin } from './SuperAdmin';\r\nimport { Account } from \"./Account\";\r\nimport { Center } from \"./Center\";\r\n\r\nexport class Group {\r\n id?: number;\r\n uuid?: string;\r\n name: string;\r\n description: string;\r\n active: boolean;\r\n startDate: Date;\r\n expirationDate: Date;\r\n expired: boolean;\r\n features?: string[];\r\n createdAt?: Date;\r\n updateAt?: Date;\r\n confirmed: boolean;\r\n deleted: boolean;\r\n qrCode: string;\r\n superAdmins: Admin[];\r\n centers: Center[];\r\n licenseConfigurationId: number;\r\n public billingType: BillingType;\r\n\r\n\r\n public constructor() {\r\n this.superAdmins = [];\r\n this.billingType = BillingType.YEAR\r\n }\r\n\r\n }\r\n\r\n export enum BillingType\r\n {\r\n MONTH, QUARTER, YEAR\r\n }","import { ZipCode } from './ZipCode';\r\nimport { Center } from './Center';\r\nexport class SellPoint {\r\n id: number;\r\n name: string;\r\n uuid: string;\r\n address: string;\r\n street: string;\r\n zipCodeId: string;\r\n zipCode: ZipCode;\r\n phone: string;\r\n phonePrefix: string;\r\n mobile: string;\r\n mobilePrefix: string;\r\n email: string;\r\n contact: string;\r\n planningType: PlanningType;\r\n startHour: string;\r\n finishHour: string;\r\n center: Center;\r\n centerName: string;\r\n note: string;\r\n }\r\n\r\n export enum PlanningType\r\n {\r\n OPERATOR, CABIN, OPERATOR_AND_CABIN\r\n }","export class Admin {\r\n public id: number;\r\n public uuid: string;\r\n public username: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public sequence: number;\r\n public mobile: string;\r\n public password: string;\r\n public groupId: number;\r\n}\r\n\r\n\r\n/*\r\n\r\nprivate Long id;\r\n private String uuid;\r\n private String username;\r\n private String firstName;\r\n private String lastName;\r\n private String email;\r\n private long sequence;\r\n private String mobile;\r\n private String mobilePrefix;\r\n private String password;\r\n private Long groupId;\r\n */","export default class Item {\r\n public product: string;\r\n public version: string;\r\n public softCode: string;\r\n public downloadFileName: string;\r\n\r\n constructor(product: string, version: string, softCode: string, downloadFileName: string) {\r\n this.product = product;\r\n this.version = version;\r\n this.softCode = softCode;\r\n this.downloadFileName = downloadFileName;\r\n }\r\n}","import SoftwareListino from './SoftwareListino';\r\n\r\n\r\n//CLASSE PER GESTIRE LE STATISTICHE DELLE LICENZE\r\nexport class LicenseStat {\r\n public NumeroLicenze: number = 0;\r\n public LicenzeGenerate: number = 0;\r\n public CodiceArticolo: string;\r\n public Data: Date;\r\n public Descrizione: string = '';\r\n\r\n public GetDescrizione(listino: SoftwareListino[]) {\r\n for (let i = 0; i < listino.length; ++i) {\r\n if (this.CodiceArticolo === listino[i].CodiceArticolo) {\r\n this.Descrizione = listino[i].Descrizione;\r\n return;\r\n }\r\n }\r\n }\r\n}\r\n \r\nexport class LicenseInfo {\r\n public ActivationDate: string;\r\n public CreationDate: string;\r\n public ExpirationDate: string;\r\n public ActivationDateLimit: string;\r\n\r\n public License: License;\r\n public Descrizione: string;\r\n public Stato: number;\r\n public Creatore: string;\r\n public CreatoreID?: number;\r\n public Segnalatore: string;\r\n public LicenseClient: LicenseClient[] = [];\r\n public ShowClient: boolean = false;\r\n }\r\n\r\nexport class License {\r\n public License: string;\r\n public Modules: string;\r\n \r\n constructor(license: string, modules: string) {\r\n this.License = license;\r\n this.Modules = modules;\r\n }\r\n}\r\n\r\nexport class LicenseClient {\r\n public License: License;\r\n public CreationDate: string;\r\n public ActivationDate?: string;\r\n public ExpirationDate?: string;\r\n public Creatore: string;\r\n public Descrizione: string;\r\n public Master: string;\r\n public Stato: number;\r\n constructor(license, creationDate: string, stato: number) {\r\n this.License = new License(license.license, license.module);\r\n this.CreationDate = creationDate;\r\n this.Stato = stato;\r\n }\r\n}","export class Log {\r\n public Logs: LogRow[];\r\n public Date: Date;\r\n}\r\n\r\nexport class LogRow {\r\n public Date: string;\r\n public Time: string;\r\n public IP: string;\r\n public OP: string;\r\n public User: string;\r\n public License: string;\r\n}","export default class Modulo {\r\n public CODICE: string;\r\n public DESCRIZIONE: string;\r\n\r\n public constructor(codice: string, descrizione: string) {\r\n this.CODICE = codice;\r\n this.DESCRIZIONE = descrizione;\r\n }\r\n\r\n}","export default class Ordine {\r\n public ID: number;\r\n public Username: string;\r\n public Piva: string;\r\n public NumeroLicenze: number;\r\n public CodiceArticolo: string;\r\n public Descrizione: string;\r\n public DataOrdine: Date;\r\n public CodiceOrdine: string;\r\n public Totale: number;\r\n\r\n public DateToString() {\r\n const date: Date = new Date(this.DataOrdine);\r\n\r\n return date.getDate() + \"/\" + (date.getMonth() + 1) + \"/\" + date.getFullYear();\r\n }\r\n\r\n}","import { TickOptions } from \"chart.js\";\r\n\r\nexport class Payment {\r\n public ID_ut: number;\r\n public Username_ut: string;\r\n public Piva_ut: string;\r\n public Data: Date;\r\n public Totale: number;\r\n public Tipo: Tipo;\r\n public CodiceOrdine: string = \"\";\r\n\r\n public constructor(id: number, username: string, piva: string, quantita: number, tipo: Tipo) {\r\n this.ID_ut = id;\r\n this.Username_ut = username;\r\n this.Piva_ut = piva;\r\n this.Totale = quantita;\r\n this.Data = new Date();\r\n this.Tipo = tipo;\r\n\r\n const chars: string = \"0123456789\";\r\n for (let i = 0; i < 8; ++i) {\r\n this.CodiceOrdine += chars.charAt(Math.floor(Math.random() * chars.length));\r\n }\r\n }\r\n\r\n public DateToString() {\r\n const date: Date = new Date(this.Data);\r\n\r\n return date.getDate() + \"/\" + (date.getMonth() + 1) + \"/\" + date.getFullYear();\r\n }\r\n\r\n public TipoToString() {\r\n switch(this.Tipo) {\r\n case Tipo.CARTA: {\r\n return \"CARTA\";\r\n }\r\n case Tipo.BONIFICO: {\r\n return \"BONIFICO\";\r\n }\r\n case Tipo.PAYPAL: {\r\n return \"PAYPAL\";\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\nexport enum Tipo {\r\n CARTA, BONIFICO, PAYPAL\r\n}","export default class SoftwareListino {\r\n public CodiceArticolo: string\r\n public Descrizione: string\r\n public Testo: string;\r\n public Costo: number\r\n public Img: File;\r\n public ImgName: string = '';\r\n public IdCat: number;\r\n public IdSubCat: number;\r\n public Ordine: number;\r\n\r\n public constructor() {\r\n this.CodiceArticolo = \"ND000000\";\r\n this.Descrizione = \"\";\r\n this.Costo = 0;\r\n this.IdSubCat = -1;\r\n this.Img = null;\r\n this.Testo = '';\r\n }\r\n}\r\n","export default class Update {\r\n public softwareName: string;\r\n public version: string;\r\n public softCode: string;\r\n public downloadFileName: string;\r\n public releaseDate: string;\r\n public releaseDatePrint: string;\r\n public downloading: boolean = false;\r\n\r\n public IsSubmenu: boolean = false;\r\n\r\n constructor(softwareName: string, version: string, softCode: string, downloadFileName: string, releaseData: string) {\r\n this.softwareName = softwareName;\r\n this.version = version;\r\n this.softCode = softCode;\r\n this.downloadFileName = downloadFileName;\r\n this.releaseDate = releaseData;\r\n this.releaseDatePrint = this.ConvertDate(releaseData);\r\n\r\n //CONVERTO DATA\r\n }\r\n\r\n private ConvertDate(releaseData: string): string {\r\n return releaseData.substr(8, 2) + \"/\" + releaseData.substr(5, 2) + \"/\" + releaseData.substr(0, 4)\r\n }\r\n}","import Pacchetti from '../Models/Pacchetti';\r\n\r\nexport class User {\r\n\r\n public ID: number;\r\n public Username: string;\r\n\r\n public Password: string;\r\n\r\n public Role: Role;\r\n public Role2: Role;\r\n\r\n public PIVA: string;\r\n\r\n public RagioneSociale: string;\r\n public Citta: string;\r\n public Via: string;\r\n public Email: string;\r\n public PEC: string;\r\n public SDI: string;\r\n public IBAN: string;\r\n public Key: string;\r\n\r\n public Creatore: string;\r\n public Segnalatore: string;\r\n public SoftwareAbbinatiCreatore: string;\r\n public SoftwareAbbinatiCreatoreBoolean = {\r\n VisualFood: false,\r\n VisualSelf: false,\r\n VisualRetail: false,\r\n VisualShop: false\r\n }\r\n\r\n public Tipo: string;\r\n\r\n public NumeroLicenzePacchetto: number = 0;\r\n\r\n public ScontoEncrypted: string = \"\";\r\n public ScontoCloudEncrypted: string = \"\";\r\n public Sconto = {\r\n S: 0,\r\n SBonus: 0,\r\n P: {\r\n Cinque: 0,\r\n Dieci: 0,\r\n Quindici: 0,\r\n Venti: 0\r\n },\r\n PBonus: {\r\n Cinque: 0,\r\n Dieci: 0,\r\n Quindici: 0,\r\n Venti: 0\r\n },\r\n C: 0,\r\n CBonus: 0,\r\n };\r\n\r\n public ScontoCloud = {\r\n PrimoScaglione: {\r\n SX: 0,\r\n DX: 0,\r\n PrimoAnno: 0,\r\n PrimoAnnoBonus: 0,\r\n SecondoAnno: 0,\r\n SecondoAnnoBonus: 0,\r\n },\r\n SecondoScaglione: {\r\n SX: 0,\r\n DX: 0,\r\n PrimoAnno: 0,\r\n PrimoAnnoBonus: 0,\r\n SecondoAnno: 0,\r\n SecondoAnnoBonus: 0,\r\n },\r\n TerzoScaglione: {\r\n SX: 0, \r\n DX: -1,\r\n PrimoAnno: 0,\r\n PrimoAnnoBonus: 0,\r\n SecondoAnno: 0,\r\n SecondoAnnoBonus: 0,\r\n }\r\n }\r\n\r\n public ScontoRinnovo: string = \"\";\r\n public ScontoModuli: string = \"\";\r\n\r\n public Canone: number //SE TIPOCONESSIONARIO CANONE, VALORE MENSILE\r\n public SoftwareAbbinati: string //SE TIPOCONESSIONARIO CANONE, SOFTWARE ASSOCIATI AL CANONE\r\n public SoftwareAbbinatiBoolean = {\r\n VisualFood: false,\r\n VisualSelf: false,\r\n VisualRetail: false,\r\n VisualShop: false\r\n }\r\n\r\n //Lista dei softcodes associati all'utente\r\n public SoftCodes: string[];\r\n\r\n public VisualIntelligence: boolean;\r\n public VisualReservation: boolean;\r\n public VisualOrder: boolean;\r\n\r\n\r\n //Stato\r\n public Stato: number;\r\n\r\n // SE UN UTENTE E' UN CONCESSIONARIO, PUò ESSERE SINGOLO, PACCHETTI, CANONE\r\n public CodiceMailCanone: string = \"prova\";\r\n\r\n //SEGNALATORE\r\n public Provvigione = {\r\n Software: false,\r\n Hardware: false,\r\n VenditaSoftware: 0,\r\n RinnovoSoftware: 0,\r\n VenditaHardware: 0\r\n }\r\n \r\n\r\n //PERMESSI ADMIN\r\n public Permessi: string = '';\r\n\r\n public SettingsPermessi = {\r\n Licenze: {\r\n Generazione: false, //GENERAZIONE NUOVA LICENZA\r\n Upgrade: false, //AGGIORNAMENTO LICENZA\r\n Stato: false, //MODIFICA STATO LICENZA\r\n Rinnovo: false, //RINNOVO LICENZA\r\n Attivazione: false //ATTIVAZIONE LICENZA PER TERZI\r\n },\r\n Shop: {\r\n Inserimento: false,\r\n Modifica: false //VISUALIZZAZIONE GESTIORE STORE E INTERAZIONE CON QUEST'ULTIMO\r\n },\r\n Manuali: {\r\n Inserimento: false,\r\n Eliminazione: false,\r\n },\r\n Listini: {\r\n Inserimento: false,\r\n Eliminazione: false,\r\n },\r\n Aggiornamenti: {\r\n Inserimento: false,\r\n Eliminazione: false,\r\n },\r\n Utenti: {\r\n Creazione: false,\r\n Modifica: false,\r\n Eliminazione: false\r\n },\r\n Censimenti: {\r\n Aggiornamento: false,\r\n Eliminazione: false\r\n }\r\n }\r\n\r\n public constructor() {\r\n\r\n }\r\n\r\n\r\n public DecryptPermessi() {\r\n //LICENZE\r\n let index: number = this.Permessi.indexOf('L');\r\n this.SettingsPermessi.Licenze.Generazione = (this.Permessi[index + 1] === '1' ? true : false);\r\n this.SettingsPermessi.Licenze.Upgrade = (this.Permessi[index + 2] === '1' ? true : false);\r\n this.SettingsPermessi.Licenze.Stato = (this.Permessi[index + 3] === '1' ? true : false);\r\n this.SettingsPermessi.Licenze.Rinnovo = (this.Permessi[index + 4] === '1' ? true : false);\r\n this.SettingsPermessi.Licenze.Attivazione = (this.Permessi[index + 5] === '1' ? true : false);\r\n //SHOP\r\n index = this.Permessi.indexOf('S');\r\n this.SettingsPermessi.Shop.Inserimento = (this.Permessi[index + 1] === '1' ? true : false);\r\n this.SettingsPermessi.Shop.Modifica = (this.Permessi[index + 2] === '1' ? true : false);\r\n //MANUALI\r\n index = this.Permessi.indexOf('M');\r\n this.SettingsPermessi.Manuali.Inserimento = (this.Permessi[index + 1] === '1' ? true : false);\r\n this.SettingsPermessi.Manuali.Eliminazione = (this.Permessi[index + 2] === '1' ? true : false);\r\n //LISTINI\r\n index = this.Permessi.indexOf('N');\r\n this.SettingsPermessi.Listini.Inserimento = (this.Permessi[index + 1] === '1' ? true : false);\r\n this.SettingsPermessi.Listini.Eliminazione = (this.Permessi[index + 2] === '1' ? true : false);\r\n //AGGIORNAMENTI\r\n index = this.Permessi.indexOf('A');\r\n this.SettingsPermessi.Aggiornamenti.Inserimento = (this.Permessi[index + 1] === '1' ? true : false);\r\n this.SettingsPermessi.Aggiornamenti.Eliminazione = (this.Permessi[index + 2] === '1' ? true : false);\r\n //UTENTE\r\n index = this.Permessi.indexOf('U');\r\n this.SettingsPermessi.Utenti.Creazione = (this.Permessi[index + 1] === '1' ? true : false);\r\n this.SettingsPermessi.Utenti.Modifica = (this.Permessi[index + 2] === '1' ? true : false);\r\n this.SettingsPermessi.Utenti.Eliminazione = (this.Permessi[index + 3] === '1' ? true : false);\r\n //CENSIMENTI\r\n index = this.Permessi.indexOf('C');\r\n this.SettingsPermessi.Censimenti.Aggiornamento = (this.Permessi[index + 1] === '1' ? true : false);\r\n this.SettingsPermessi.Censimenti.Eliminazione = (this.Permessi[index + 2] === '1' ? true : false);\r\n }\r\n\r\n public CreateUser(username: string, password: string, role: number, role2, PIVA: string, rsociale: string, citta: string,\r\n via: string, email: string, pec: string, sdi: string, iban: string) {\r\n this.Password = password;\r\n this.Username = username;\r\n if (role === 0) {\r\n this.Role = Role.ADMIN;\r\n } else if (role === 1) {\r\n this.Role = Role.SELLER;\r\n } else if (role === 2) {\r\n this.Role = Role.USER;\r\n } else if (role === 3) {\r\n this.Role = Role.SIGNAL;\r\n } else if (role === 4) {\r\n this.Role = Role.DEALER;\r\n }\r\n if (role2 === 0) {\r\n this.Role2 = Role.ADMIN;\r\n } else if (role2 === 1) {\r\n this.Role2 = Role.SELLER;\r\n } else if (role2 === 2) {\r\n this.Role2 = Role.USER;\r\n } else if (role2 === 3) {\r\n this.Role2 = Role.SIGNAL;\r\n } else if (role2 === 4) {\r\n this.Role2 = Role.DEALER;\r\n }\r\n\r\n this.PIVA = PIVA;\r\n this.RagioneSociale = rsociale;\r\n this.Citta = citta;\r\n this.Via = via;\r\n this.Email = email;\r\n this.PEC = pec;\r\n this.SDI = sdi;\r\n this.IBAN = iban;\r\n }\r\n\r\n public SignUpUser(username: string, password: string, role: number, role2, PIVA: string, rsociale: string, citta: string,\r\n via: string, email: string, pec: string, sdi: string, iban: string) {\r\n this.Password = password;\r\n this.Username = username;\r\n this.Role = Role.USER;\r\n this.Role2 = Role.USER;\r\n this.PIVA = PIVA;\r\n this.RagioneSociale = rsociale;\r\n this.Citta = citta;\r\n this.Via = via;\r\n this.Email = email;\r\n this.PEC = pec;\r\n this.SDI = sdi;\r\n this.IBAN = iban;\r\n }\r\n}\r\n\r\nexport enum Role {\r\n ADMIN, SELLER, USER, SIGNAL, DEALER\r\n}\r\n\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { start } from 'repl';\r\nimport { Log, LogRow } from '../../Models/Log';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LogService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public async GetLogs(startDate: Date, endDate: Date): Promise {\r\n\r\n\r\n //CREO UNA STRINGA DATA IN FORMATO YYYY-MM-DD, SOTTRAENDO ALLA DATA L'OFFSET UTC\r\n // getTimezoneOffset() * 60000 --> Minuti per Millisecondi\r\n\r\n startDate = new Date(startDate);\r\n endDate = new Date(endDate);\r\n\r\n const startDateString = new Date(startDate.getTime() - (startDate.getTimezoneOffset() * 60000)).toISOString().split(\"T\")[0];\r\n const endDateString = new Date(endDate.getTime() - (endDate.getTimezoneOffset() * 60000)).toISOString().split(\"T\")[0];\r\n \r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"startDate\", startDateString)\r\n .set(\"endDate\", endDateString);\r\n \r\n const logs: Log[] = await this.http.get('/api/admin/log', {params}).toPromise();\r\n\r\n return logs.map(l => {\r\n\r\n const log: Log = new Log();\r\n log.Date = (l as any).date;\r\n log.Logs = (l as any).logs.map(lr=> {\r\n const logRow: LogRow = new LogRow();\r\n\r\n const datetime: string[] = ((lr as any).date as string).split('T');\r\n const date: string[] = datetime[0].split('-');\r\n const time: string[] = datetime[1].split(':');\r\n \r\n logRow.Date = `${date[2]}/${date[1]}/${date[0]}`;\r\n logRow.Time = `${time[0]}:${time[1]}`;\r\n logRow.IP = (lr as any).ip;\r\n logRow.OP = (lr as any).op;\r\n logRow.User = (lr as any).user;\r\n\r\n logRow.License = (lr as any).license;\r\n\r\n return logRow;\r\n })\r\n \r\n return log;\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { element } from 'protractor';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport {IsDev} from '../../global';\r\nimport Categoria from '../../Models/Categoria';\r\nimport SoftwareListino from '../../Models/SoftwareListino';\r\nimport {AlertService} from 'ngx-alerts';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserStoreService {\r\n\r\n\r\n listino:any;\r\n constructor(private http: HttpClient, private alert: AlertService) { }\r\n\r\n public async CreateCategoria(nome: string, idCreatore: number): Promise {\r\n\r\n const result: any = await this.http.post('/api/shopconfig/categoria', {nome, idCreatore}, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async CreateSottoCategoria(nome: string, idCat: number, idCreatore: number): Promise {\r\n const result: any = await this.http.post('/api/shopconfig/sottocategoria', {nome, id: idCat, idCreatore}, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async UploadListino(softwareListino: SoftwareListino, idCreatore: number): Promise {\r\n\r\n const formData: FormData = new FormData();\r\n formData.append(\"idCreatore\", String(idCreatore));\r\n formData.append(\"codice\", softwareListino.CodiceArticolo);\r\n formData.append(\"descrizione\", softwareListino.Descrizione);\r\n formData.append(\"costo\", String(softwareListino.Costo));\r\n formData.append(\"testo\", softwareListino.Testo);\r\n\r\n if (softwareListino.Img !== null) {\r\n formData.append(\"file\", softwareListino.Img, softwareListino.Img.name);\r\n }\r\n\r\n formData.append(\"idCat\", String(softwareListino.IdCat));\r\n formData.append(\"idSub\", String(softwareListino.IdSubCat));\r\n\r\n const result: any = await this.http.post('/api/shopconfig/listino', formData, {}).toPromise();\r\n\r\n return result.response === \"ok\"\r\n }\r\n\r\n\r\n public async EditCategoria(nome: string, id: number, idCreatore: number): Promise {\r\n const result: any = await this.http.put('/api/shopconfig/categoria', {nome, id, idCreatore}, {}).toPromise();\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async EditSottoCategoria(nome: string, id: number, id_cat: number, idCreatore: number): Promise {\r\n const result: any = await this.http.put('/api/shopconfig/sottocategoria', {nome, id, id_cat, idCreatore}, {}).toPromise();\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async EditListino(softwareListino: SoftwareListino, idCreatore: number): Promise {\r\n const formData: FormData = new FormData();\r\n\r\n formData.append(\"codice\", softwareListino.CodiceArticolo);\r\n formData.append(\"descrizione\", softwareListino.Descrizione);\r\n formData.append(\"costo\", String(softwareListino.Costo));\r\n formData.append(\"testo\", softwareListino.Testo);\r\n formData.append(\"idCreatore\", String(idCreatore));\r\n \r\n\r\n if (softwareListino.Img !== null) {\r\n formData.append(\"file\", softwareListino.Img, softwareListino.Img.name);\r\n }\r\n\r\n formData.append(\"idCat\", String(softwareListino.IdCat));\r\n formData.append(\"idSub\", String(softwareListino.IdSubCat));\r\n\r\n const result: any = await this.http.put('/api/shopconfig/listino', formData, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n\r\n public async DeleteCategoria(id: number, idCreatore: number): Promise {\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(id))\r\n .set(\"idCreatore\", String(idCreatore));\r\n\r\n const result: any = await this.http.delete('/api/shopconfig/categoria', {params}).toPromise();\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async DeleteSottoCategoria(id: number, idCat: number, idCreatore: number): Promise {\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(id))\r\n .set(\"idCat\", String(idCat))\r\n .set(\"idCreatore\", String(idCreatore));\r\n\r\n const result: any = await this.http.delete('/api/shopconfig/sottocategoria', {params}).toPromise();\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async EditVisibilitaCategoria(categoria: Categoria, idCreatore: number): Promise {\r\n\r\n const object = {\r\n categoria, idCreatore\r\n }\r\n \r\n const content: string = JSON.stringify(object);\r\n\r\n const result: any = await this.http.post('/api/shopconfig/categoria/visibilita', content, {headers: {\r\n 'Content-Type': 'application/json'\r\n }}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n\r\n public async DeleteListino(codiceArticolo: string, idCat: number, idSub: number, ordine: number, idCreatore: number): Promise {\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"codiceArticolo\", codiceArticolo)\r\n .set(\"idCat\", String(idCat))\r\n .set(\"idSub\", String(idSub))\r\n .set(\"ordine\", String(ordine))\r\n .set(\"idCreatore\", String(idCreatore));\r\n\r\n const result: any = await this.http.delete('/api/shopconfig/listino', {params}).toPromise();\r\n return result.response === \"ok\";\r\n }\r\n\r\n\r\n\r\n\r\n public async GetCategorie(): Promise {\r\n const result: any = await this.http.get('/api/shopconfig/categorie', {}).toPromise();\r\n \r\n const Categorie: Categoria[] = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n\r\n const categoria: Categoria = new Categoria(result[i].id, result[i].nome);\r\n categoria.Visibile = result[i].visibile;\r\n\r\n\r\n //ELEMENTI DELLA CATEGORIA\r\n if (result[i].elementi.length > 0) {\r\n const elementi: SoftwareListino[] = [];\r\n\r\n for (let j = 0; j < result[i].elementi.length; ++j) {\r\n const softwareListino: SoftwareListino = new SoftwareListino();\r\n softwareListino.CodiceArticolo = result[i].elementi[j].codiceArticolo;\r\n softwareListino.Descrizione = result[i].elementi[j].descrizione;\r\n softwareListino.Costo = result[i].elementi[j].costo;\r\n softwareListino.ImgName = result[i].elementi[j].img;\r\n softwareListino.IdCat = result[i].elementi[j].idCat;\r\n softwareListino.IdSubCat = result[i].elementi[j].idSubCat;\r\n softwareListino.Testo = result[i].elementi[j].testo;\r\n softwareListino.Ordine = result[i].elementi[j].ordine;\r\n elementi.push(softwareListino);\r\n }\r\n\r\n categoria.Elementi = elementi;\r\n }\r\n\r\n //SOTTOCATEGORIE\r\n if (result[i].sottoCategoria.length > 0) {\r\n const subcategorie: Categoria[] = [];\r\n for (let j = 0; j < result[i].sottoCategoria.length; ++j) {\r\n const subcategoria: Categoria = new Categoria(result[i].sottoCategoria[j].id, result[i].sottoCategoria[j].nome);\r\n subcategoria.Visibile = result[i].sottoCategoria[j].visibile;\r\n subcategoria.IDPadre = categoria.ID;\r\n const elementi: SoftwareListino[] = [];\r\n\r\n //ELEMENTI DELLA SOTTOCATEGORIA\r\n for (let k = 0; k < result[i].sottoCategoria[j].elementi.length; ++k) {\r\n const softwareListino: SoftwareListino = new SoftwareListino();\r\n softwareListino.CodiceArticolo = result[i].sottoCategoria[j].elementi[k].codiceArticolo;\r\n softwareListino.Descrizione = result[i].sottoCategoria[j].elementi[k].descrizione;\r\n softwareListino.Costo = result[i].sottoCategoria[j].elementi[k].costo;\r\n softwareListino.ImgName = result[i].sottoCategoria[j].elementi[k].img;\r\n softwareListino.IdCat = result[i].sottoCategoria[j].elementi[k].idCat;\r\n softwareListino.IdSubCat = result[i].sottoCategoria[j].elementi[k].idSubCat;\r\n softwareListino.Testo = result[i].sottoCategoria[j].elementi[k].testo;\r\n softwareListino.Ordine = result[i].sottoCategoria[j].elementi[k].ordine;\r\n elementi.push(softwareListino);\r\n }\r\n\r\n subcategoria.Elementi = elementi\r\n\r\n subcategorie.push(subcategoria);\r\n }\r\n categoria.SottoCategorie = subcategorie;\r\n }\r\n Categorie.push(categoria);\r\n }\r\n \r\n return Categorie;\r\n }\r\n\r\n public async GetListino(): Promise {\r\n\r\n \r\n const Categorie: Categoria[] = await this.GetCategorie();\r\n\r\n this.listino = Categorie;\r\n\r\n return Categorie;\r\n }\r\n\r\n\r\n public async GetIva(): Promise {\r\n return await this.http.get('/api/shopconfig/iva', {}).toPromise() as number;\r\n }\r\n\r\n public async SetIva(iva: number, idCreatore: number): Promise {\r\n\r\n const object = {\r\n iva, idCreatore\r\n }\r\n\r\n const body: string = JSON.stringify(object);\r\n const result: any = await this.http.post('/api/shopconfig/iva', body, {headers: {\r\n 'Content-Type': 'application/json'\r\n }}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async OrdineUp(codiceArticolo: string): Promise {\r\n const result: any = await this.http.post('/api/shopconfig/listino/up', {codiceArticolo}, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async OrdineDown(codiceArticolo: string): Promise {\r\n const result: any = await this.http.post('/api/shopconfig/listino/down', {codiceArticolo}, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n}\r\n","import { waitForAsync } from '@angular/core/testing';\r\nimport { IsDev } from '../../global';\r\n\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Token } from '@angular/compiler/src/ml_parser/lexer';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {Role, User} from 'src/app/Models/User';\r\nimport { UserService } from '../UserService/user.service';\r\nimport { ChangeDetectorRef } from '@angular/core'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n //FLAG PER CONTROLLO SE SCHERMATA LOGIN O NO\r\n public IsLogin: boolean = true;\r\n public IsPassword: boolean = false;\r\n\r\n\r\n //SE HO GIA' FATTO L'ACCESSO E VERIFICATO, NON FACCIO IL CHECK DI NUOVO\r\n public IsValidationDone: boolean = false;\r\n public IsStatsLoad: boolean = false;\r\n\r\n //FLAG CHE INDICA SE LA PAGINA E' CARICATA\r\n public Ready: boolean = false;\r\n\r\n public AuthUser: User = new User();\r\n\r\n //VARIABILE USATA PER DEFINIRE IL NOME DELL'ADMIN\r\n public AdminUsername: string = \"\";\r\n public AdminID: number = 0;\r\n\r\n //FLAG SIDEBAR\r\n public ShowShop: boolean = false;\r\n\r\n //CASHSERVIZI\r\n public IsCashServizi: boolean = false;\r\n\r\n \r\n\r\n\r\n \r\n\r\n constructor(private http: HttpClient, private router: Router, private user: UserService) {}\r\n\r\n public async Login(username: string, password: string): Promise {\r\n //LOGIN\r\n //console.log(IsDev)\r\n\r\n try {\r\n const result: any = await this.http.post('/api/login', {username, password }).toPromise();\r\n if (result.response !== \"ko\") {\r\n localStorage.setItem('token', result.token.token);\r\n localStorage.setItem('expiration', result.token.expirationTime)\r\n\r\n //USER LOCALSTORAGE DATA\r\n localStorage.setItem(\"id\", result.response.id);\r\n localStorage.setItem(\"username\", username);\r\n\r\n //////////////////////////////////\r\n /**/await this.GetUserInformation();/**/\r\n /////////////////////////////////\r\n this.IsValidationDone = true;\r\n return true;\r\n }\r\n return false;\r\n } catch (e) {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n public async ValidateLogin() {\r\n\r\n const result: any = await this.http.post('/api/login', {username: localStorage.getItem('username'), password: null}, {}).toPromise();\r\n if (result.response === 'ok') {\r\n\r\n //PRELEVO LE INFORMAZIONI\r\n await this.GetUserInformation();\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n public Logout() {\r\n localStorage.removeItem(\"id\");\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"username\");\r\n this.IsLogin = true;\r\n this.IsStatsLoad = false;\r\n this.IsValidationDone = false;\r\n this.Ready = false;\r\n this.AdminUsername = \"\";\r\n this.AdminID = 0;\r\n this.router.navigate([\"login\"]);\r\n this.AuthUser = new User();\r\n //this.IsCashServizi = false;\r\n }\r\n\r\n /*\r\n Se esiste il token, possono mantenere l'accesso al sito\r\n Altrimenti, devo accedere e generarne uno nuovo\r\n */\r\n public IsLoggedIn(): boolean {\r\n const token: string = localStorage.getItem('token');\r\n if (token === null) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n public IsLoggedOut(): boolean {\r\n return !this.IsLoggedIn();\r\n }\r\n\r\n private async GetUserInformation() {\r\n this.AuthUser = new User();\r\n\r\n\r\n let params: HttpParams = new HttpParams()\r\n .set(\"username\", localStorage.getItem('username'))\r\n .set(\"id\", localStorage.getItem(\"id\"));\r\n let result: any = await this.http.get('/api/users/single', {params}).toPromise();\r\n\r\n //USERNAME\r\n this.AuthUser.Username = localStorage.getItem('username').toLowerCase();\r\n //ID\r\n this.AuthUser.ID = Number(localStorage.getItem('id'));\r\n //ROLE\r\n if (result.userRole[0] !== undefined) {\r\n this.AuthUser.Role = result.userRole[0];\r\n }\r\n if (result.userRole[1] !== undefined) {\r\n this.AuthUser.Role2 = result.userRole[1];\r\n }\r\n\r\n // SE SONO UN ADMIN MA NON SONO IL SUPERADMIN\r\n let AdminPermessi: string = \"\";\r\n if (this.AuthUser.Role == Role.ADMIN && result.id === 10) {\r\n this.AdminID = result.id;\r\n this.AdminUsername = result.username;\r\n }\r\n\r\n\r\n if (this.AuthUser.Role == Role.ADMIN && result.id !== 10) {\r\n AdminPermessi = result.permessi;\r\n this.AuthUser.Username = 'gab';\r\n this.AuthUser.ID = 10;\r\n this.AuthUser.Role = 0;\r\n this.AuthUser.Role2 = 4;\r\n this.AdminID = result.id;\r\n this.AdminUsername = result.username;\r\n \r\n params = new HttpParams()\r\n .set(\"username\", \"gab\")\r\n .set(\"id\", String(10));\r\n result = await this.http.get('/api/users/single', {params}).toPromise();\r\n }\r\n \r\n\r\n //CREATORE\r\n this.AuthUser.Creatore = result.creatore;\r\n if (result.softwareAbbinatiCreatore.length > 0) {\r\n this.AuthUser.SoftwareAbbinatiCreatore = result.softwareAbbinatiCreatore;\r\n const splitString: string[] = (result.softwareAbbinatiCreatore as string).split('|');\r\n for (let i = 0; i < splitString.length; ++i) {\r\n if (splitString[i] === \"vfood\") this.AuthUser.SoftwareAbbinatiCreatoreBoolean.VisualFood = true;\r\n if (splitString[i] === \"vretail\") this.AuthUser.SoftwareAbbinatiCreatoreBoolean.VisualRetail = true;\r\n if (splitString[i] === \"vself\") this.AuthUser.SoftwareAbbinatiCreatoreBoolean.VisualSelf = true;\r\n if (splitString[i] === \"vshop\") this.AuthUser.SoftwareAbbinatiCreatoreBoolean.VisualShop = true;\r\n }\r\n }\r\n\r\n\r\n if (this.AuthUser.Role === 1 || this.AuthUser.Role2 === 1 || this.AuthUser.Role === 4 || this.AuthUser.Role2 === 4) {\r\n this.AuthUser.Tipo = result.tipo;\r\n this.AuthUser.Sconto = this.user.DecodeSconto(result.sconto);\r\n this.AuthUser.NumeroLicenzePacchetto = result.numeroLicenzePacchetto;\r\n\r\n //Software abbinati\r\n if (result.softwareAbbinati.length > 0) {\r\n this.AuthUser.SoftwareAbbinati = result.softwareAbbinati;\r\n const splitString: string[] = (result.softwareAbbinati as string).split('|');\r\n for (let i = 0; i < splitString.length; ++i) {\r\n if (splitString[i] === \"vfood\") this.AuthUser.SoftwareAbbinatiBoolean.VisualFood = true;\r\n if (splitString[i] === \"vretail\") this.AuthUser.SoftwareAbbinatiBoolean.VisualRetail = true;\r\n if (splitString[i] === \"vself\") this.AuthUser.SoftwareAbbinatiBoolean.VisualSelf = true;\r\n if (splitString[i] === \"vshop\") this.AuthUser.SoftwareAbbinatiBoolean.VisualShop = true;\r\n }\r\n }\r\n\r\n if (this.AuthUser.Tipo.includes('S') || this.AuthUser.Tipo.includes('P')) {\r\n this.ShowShop = true;\r\n }\r\n\r\n }\r\n\r\n //PERMESSI\r\n if (this.AuthUser.Role === 0) {\r\n if (AdminPermessi.length > 0) {\r\n this.AuthUser.Permessi = AdminPermessi;\r\n } else {\r\n this.AuthUser.Permessi = result.permessi;\r\n }\r\n this.AuthUser.DecryptPermessi();\r\n }\r\n\r\n this.AuthUser.PIVA = result.piva;\r\n this.AuthUser.Stato = result.stato;\r\n\r\n this.AuthUser.SoftCodes = result.softCodes;\r\n\r\n //Visual Intelligence\r\n\r\n //this.AuthUser.VisualIntelligence = (information[3] === '1') ? true: false;\r\n //Visual Reservation\r\n //this.AuthUser.VisualReservation = (information[4]s === '1') ? true: false;\r\n //Visual Order\r\n //this.AuthUser.VisualOrder = (information[5] === '1') ? true: false;\r\n\r\n if (this.AuthUser.Creatore === 'cashmatic' || this.AuthUser.Username === 'cashmatic') {\r\n this.IsCashServizi = true;\r\n }\r\n\r\n }\r\n\r\n\r\n public async CompleteUserInfo() {\r\n\r\n //SE SONO ADMIN, PASSO DEI DATI DIVERSI\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"username\", ((this.AuthUser.Role === 0 || this.AuthUser.Role2 === 0) && this.AdminID !== 10) ? this.AdminUsername : this.AuthUser.Username)\r\n .set(\"id\", ((this.AuthUser.Role === 0 || this.AuthUser.Role2 === 0) && this.AdminID !== 10) ? String(this.AdminID) : String(this.AuthUser.ID));\r\n \r\n const result: any = await this.http.get('/api/users/completeprofile', {params}).toPromise();\r\n\r\n const stringSplit: string[] = result.response.split(\"<>\");\r\n\r\n this.AuthUser.RagioneSociale = stringSplit[0];\r\n this.AuthUser.Email = stringSplit[1];\r\n this.AuthUser.PEC = stringSplit[2];\r\n this.AuthUser.Citta = stringSplit[3];\r\n this.AuthUser.Via = stringSplit[4];\r\n this.AuthUser.SDI = stringSplit[5];\r\n this.AuthUser.IBAN = stringSplit[6];\r\n\r\n }\r\n\r\n public async GetIdByUsername() {\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"username\", this.AdminUsername);\r\n \r\n if (this.AdminUsername === \"\") {\r\n return this.AuthUser.ID;\r\n } else {\r\n const result: any = await this.http.get('/api/users/id', {params}).toPromise();\r\n\r\n return result.response as number;\r\n }\r\n }\r\n\r\n\r\n public ControlloPartitaIva(sz_Codice){\r\n if (sz_Codice.length != 11) return false;\r\n }\r\n\r\n\r\n ControlloIban(iban: string) {\r\n let reg = /^IT\\d{2}[ ][a-zA-Z]\\d{3}[ ]\\d{4}[ ]\\d{4}[ ]\\d{4}[ ]\\d{4}[ ]\\d{3}|IT\\d{2}[a-zA-Z]\\d{22}$/;\r\n if (!reg.test(iban)) {\r\n return false\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Contenitore } from './../../shop/tipologialicenza/tipologialicenza.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CartService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public async Insert(contenitore: Contenitore) {\r\n const result: any = await this.http.post('/api/shop/cart/insert', {Contenuto: contenitore.Contenuto, IdPacchettoCart: contenitore.IdPacchettoCart, Tipo: contenitore.Tipo}, {}).toPromise();\r\n \r\n return result.response === \"ok\";\r\n \r\n }\r\n\r\n\r\n}\r\n","import { lastValueFrom } from 'rxjs';\r\nimport { AuthService } from './../AuthService/auth.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport Censimento from 'src/app/Models/Censimento';\r\nimport CensimentoAggiorna from 'src/app/Models/CensimentoAggiorna';\r\nimport Modulo from 'src/app/Models/Modulo';\r\nimport { StringDecoder } from 'string_decoder';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CensisService {\r\n\r\n constructor(private http: HttpClient, private auth: AuthService) { }\r\n\r\n public async LoadStatus(): Promise {\r\n const params: HttpParams = new HttpParams().set(\"rivenditore\",this.auth.AuthUser.Username).set(\"id\", String(this.auth.AuthUser.ID));\r\n const result: any = await this.http.get('/api/censis/status', {params}).toPromise();\r\n\r\n const status: CensimentoAggiorna[] = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n const censimento: CensimentoAggiorna = new CensimentoAggiorna();\r\n censimento.PIVA = result[i].piva;\r\n censimento.NMAG = result[i].nmag;\r\n censimento.NCASSA = result[i].ncassa;\r\n censimento.MAC = result[i].mac;\r\n censimento.SOFTWARE = result[i].software;\r\n censimento.VERSION = result[i].version;\r\n censimento.DESMAG = result[i].desmag;\r\n censimento.RAGSOC = result[i].ragsoc;\r\n status.push(censimento);\r\n }\r\n\r\n return status;\r\n\r\n }\r\n\r\n public async LoadCensimenti(): Promise {\r\n const params: HttpParams = new HttpParams()\r\n .set('id', String(this.auth.AuthUser.ID))\r\n .set('rivenditore', this.auth.AuthUser.Username);\r\n\r\n const result: any = await this.http.get('/api/censis', { params }).toPromise();\r\n\r\n const Censimenti: Censimento[] = [];\r\n for (let i = 0; i < result.length; ++i) {\r\n const censimento: Censimento = this.GenerateCensimento(result[i]);\r\n const oggi: Date = new Date();\r\n const lastData: Date = new Date(censimento.LASTDATA);\r\n const millisecondi = oggi.getTime() - lastData.getTime();\r\n censimento.UltimoAccessoInGiorni = millisecondi / (1000 * 60 * 60 * 24);\r\n Censimenti.push(censimento);\r\n }\r\n\r\n return Censimenti;\r\n }\r\n\r\n public async SingleCensimento(licenza: string) {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"licenza\", licenza);\r\n let result: any = await this.http.get('/api/censis/single', {params}).toPromise();\r\n \r\n return result;\r\n }\r\n\r\n private GenerateCensimento(result: any) {\r\n const censimento: Censimento = new Censimento();\r\n censimento.PIVA = result.piva;\r\n censimento.NMAG = result.nmag;\r\n censimento.NCASSA = result.ncassa;\r\n censimento.DESMAG = result.desmag;\r\n censimento.RAGSOC = result.ragsoc;\r\n censimento.LOC = result.loc;\r\n censimento.VIA = result.via;\r\n censimento.CAP = result.cap;\r\n censimento.PROV = result.prov;\r\n censimento.SERVB2B = result.servB2B;\r\n censimento.IDTRAB2B = result.idtraB2B;\r\n censimento.MATRICOLA = result.matricola;\r\n censimento.AZZER = result.azzer;\r\n censimento.LOTTERIA = result.lotteria;\r\n censimento.XML7 = result.xmL7;\r\n censimento.AVVIORT = result.avviort;\r\n censimento.GIART = result.giart;\r\n censimento.MAC = result.mac;\r\n censimento.RIVENDITORE = result.rivenditore;\r\n censimento.INT_SCO = result.inT_SCO;\r\n /*\r\n if (this.auth.AuthUser.ID !== 10) {\r\n censimento.RIVENDITORE = this.auth.AuthUser.Username;\r\n } else {\r\n }\r\n */\r\n\r\n censimento.RT_FW = result.rT_FW;\r\n censimento.RT_MODEL = result.rT_MODEL;\r\n censimento.RE_MATR = result.rE_MATR;\r\n // LAST DATA --> CONVERTO IN FORMATO DD/MM/YYYY\r\n censimento.LASTDATA = result.lastdata;\r\n const lastData: Date = new Date(censimento.LASTDATA);\r\n const data: Date = lastData;\r\n const giorno: number = data.getDate();\r\n const mese: number = data.getMonth() + 1;\r\n const anno: number = data.getFullYear();\r\n // tslint:disable-next-line:max-line-length\r\n censimento.LASTDATASTRING = giorno + '/' + ((mese >= 10) ? (mese) : ('0' + mese)) + '/' + anno + ' ' + ((data.getHours() >= 10) ? (data.getHours()) : ('0' + data.getHours())) + ':' + ((data.getMinutes() >= 10) ? (data.getMinutes()) : ('0' + data.getMinutes()));\r\n censimento.VP = result.vp;\r\n censimento.VB = result.vb;\r\n censimento.DR = result.dr;\r\n censimento.VU = result.vu;\r\n censimento.CPU = result.cpu;\r\n\r\n censimento.LICENZA = result.licenza;\r\n\r\n return censimento;\r\n }\r\n\r\n public async UpdateVisualPos(censimento: Censimento) {\r\n const response: any = await this.http.post('/api/censis/update/visualpos',\r\n // tslint:disable-next-line:max-line-length\r\n { PIVA: censimento.PIVA, NMAG: censimento.NMAG, NCASSA: censimento.NCASSA, MAC: censimento.MAC }, {}).toPromise();\r\n\r\n return response.response;\r\n }\r\n\r\n public async UpdateDriver(censimento: Censimento) {\r\n const result: any = await this.http.post('/api/censis/update/driver',\r\n // tslint:disable-next-line:max-line-length\r\n { PIVA: censimento.PIVA, NMAG: censimento.NMAG, NCASSA: censimento.NCASSA, MAC: censimento.MAC }, {}).toPromise();\r\n\r\n return result.response;\r\n }\r\n\r\n public async GetStatus(): Promise {\r\n const params: HttpParams = new HttpParams().set(\"rivenditore\",this.auth.AuthUser.Username)\r\n const result: any = await this.http.get('/api/getstatus', {params}).toPromise();\r\n\r\n const status: CensimentoAggiorna[] = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < result.length; ++i) {\r\n const censimento: CensimentoAggiorna = new CensimentoAggiorna();\r\n censimento.PIVA = result[i].piva;\r\n censimento.NMAG = result[i].nmag;\r\n censimento.NCASSA = result[i].ncassa;\r\n censimento.MAC = result[i].mac;\r\n censimento.SOFTWARE = result[i].software;\r\n censimento.VERSION = result[i].version;\r\n censimento.DESMAG = result[i].desmag;\r\n censimento.RAGSOC = result[i].ragsoc;\r\n status.push(censimento);\r\n }\r\n\r\n return status;\r\n }\r\n\r\n public async UpdateLicense(censimento: Censimento) {\r\n const returnValue: any = await this.http.put('/api/censis/update/license',\r\n // tslint:disable-next-line:max-line-length\r\n { PIVA: censimento.PIVA, NMAG: censimento.NMAG, NCASSA: censimento.NCASSA, MAC: censimento.MAC }, {}).toPromise();\r\n\r\n return returnValue.response;\r\n\r\n }\r\n\r\n public async InsertLicense(censimento: Censimento, licenza: string[]) {\r\n const result: any = await this.http.post('/api/censis/update/license',\r\n // tslint:disable-next-line:max-line-length\r\n { PIVA: censimento.PIVA, NMAG: censimento.NMAG, NCASSA: censimento.NCASSA, MAC: censimento.MAC, LICENZA: licenza }, {}).toPromise();\r\n \r\n return result.response === \"ok\";\r\n \r\n }\r\n\r\n public async DeleteCensimento(censimento: Censimento) {\r\n const params: HttpParams = new HttpParams()\r\n .set('piva', censimento.PIVA)\r\n .set('nmag', String(censimento.NMAG))\r\n .set('ncassa', String(censimento.NCASSA))\r\n .set('mac', censimento.MAC);\r\n\r\n const result: any = await this.http.delete('/api/censis', { params }).toPromise();\r\n \r\n return result.response === \"ok\";\r\n \r\n }\r\n\r\n public async GetModuli(censimento: Censimento) {\r\n const params: HttpParams = new HttpParams()\r\n .set('piva', censimento.PIVA)\r\n .set('nmag', String(censimento.NMAG))\r\n .set('ncassa', String(censimento.NCASSA))\r\n .set('mac', censimento.MAC);\r\n\r\n const resultModuli: any = await this.http.get('/api/censis/moduli', { params }).toPromise();\r\n censimento.MODULI = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < resultModuli.length; ++i) {\r\n\r\n if ((resultModuli[i].codice as string).startsWith('IDTEAM')) {\r\n const idTeamViewer: string = (resultModuli[i].codice as string).substr(6);\r\n censimento.TEAMVIEWER = idTeamViewer;\r\n } else {\r\n const modulo: Modulo = new Modulo(resultModuli[i].codice, resultModuli[i].descrizione);\r\n censimento.MODULI.push(modulo);\r\n }\r\n }\r\n }\r\n\r\n public async GetFormattedIntSco(int_sco: string) {\r\n return await lastValueFrom(this.http.post('/api/censis/intsco', {int_sco}, {}));\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CompanyBusiness } from 'src/app/Models/Cloud/CompanyBusiness';\r\nimport { GroupService } from './group.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BusinessService {\r\n\r\n constructor(private http: HttpClient, private groupService: GroupService) { }\r\n\r\n public GetBusiness() {\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n return this.http.get('/api/cloud/activity', {headers});\r\n }\r\n\r\n public DeleteBusiness(id: number) {\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(id));\r\n\r\n return this.http.delete('/api/cloud/activity', {headers, params});\r\n }\r\n\r\n\r\n public CreateBusiness(description: string, business?: CompanyBusiness) {\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n if (business) {\r\n business.description = description;\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n return this.http.post('/api/cloud/activity', business, {headers});\r\n }\r\n \r\n const companyBusiness: CompanyBusiness = new CompanyBusiness();\r\n companyBusiness.description = description;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n return this.http.post('/api/cloud/activity', companyBusiness, {headers});\r\n }\r\n}\r\n","import { GroupService } from './group.service';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { Center } from 'src/app/Models/Cloud/Center';\r\nimport { SellPoint } from 'src/app/Models/Cloud/SellPoint';\r\nimport { SellpointsService } from './sellpoint.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CenterService {\r\n \r\n constructor(private http: HttpClient, private groupService: GroupService, private sellpointsService: SellpointsService) { }\r\n\r\n public async GetCentersById(groupId: number) {\r\n\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(groupId));\r\n\r\n const centers: Center[] = await lastValueFrom(this.http.get('/api/cloud/centers', {headers, params}))\r\n \r\n centers.forEach(async center => {\r\n center.sellPoints = await lastValueFrom(this.sellpointsService.GetSellPoint(center.id));\r\n })\r\n return centers;\r\n }\r\n\r\n public async EditCenter(center: Center) {\r\n\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const returnCenter: Center = await lastValueFrom(this.http.put
('/api/cloud/centers', center, {headers}))\r\n\r\n return returnCenter;\r\n }\r\n\r\n public async CreateCenter(center: Center) {\r\n\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const returnCenter: Center = await lastValueFrom(this.http.post
('/api/cloud/centers', center, {headers}))\r\n\r\n return returnCenter;\r\n }\r\n\r\n public async DeleteCenter(center: Center) {\r\n\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(center.id))\r\n .set(\"groupId\", String(center.group.id));\r\n\r\n return await lastValueFrom(this.http.delete('/api/cloud/centers', {headers, params}))\r\n }\r\n\r\n}\r\n","import { catchError } from 'rxjs/operators';\r\nimport { SellPoint } from '../../Models/Cloud/SellPoint';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { AuthResponse } from './../../Models/Security/AuthResponse';\r\nimport { Group } from '../../Models/Cloud/Group';\r\nimport { Center } from '../../Models/Cloud/Center';\r\nimport { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/internal/operators/map';\r\nimport { CloudLicenseDate } from 'src/app/Models/Cloud/CloudLicense';\r\nimport { Admin } from 'src/app/Models/Cloud/SuperAdmin';\r\nimport { lastValueFrom, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GroupService {\r\n\r\n public AuthResponse: AuthResponse;\r\n\r\n constructor(private http: HttpClient) { \r\n\r\n }\r\n\r\n //FUNZIONE CHE CONTATTA LE API DI VANITY/NEW SOFTWARE AL FINE DI RICEVERE IL TOKEN\r\n public async InitToken() {\r\n\r\n \r\n if (this.AuthResponse !== undefined) {\r\n return;\r\n }\r\n\r\n this.AuthResponse = await lastValueFrom(this.http.post('/api/cloud/auth', {}, {}));\r\n\r\n return;\r\n }\r\n\r\n public getAllGroups() {\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", this.AuthResponse.token);\r\n\r\n return this.http.get('/api/cloud/groups', {headers}).pipe(map(groups => {\r\n groups.forEach(group => {\r\n const startDate = new Date(group.startDate);\r\n const endDate = new Date(group.expirationDate);\r\n\r\n group.startDate = startDate;\r\n group.expirationDate = endDate;\r\n });\r\n\r\n return groups;\r\n }));\r\n }\r\n\r\n public getGroup(id: number) {\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", this.AuthResponse.token);\r\n\r\n return this.http.get('/api/cloud/groups/' + id, {headers})\r\n }\r\n\r\n public EditGroupDate(cloudLicenseDate: CloudLicenseDate) {\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", this.AuthResponse.token);\r\n\r\n return this.http.put('/api/cloud/license/date', cloudLicenseDate, {headers});\r\n }\r\n\r\n public ToggleGroupState(id: number) {\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", this.AuthResponse.token);\r\n\r\n return this.http.put('/api/cloud/groups/toggle', {id}, {headers});\r\n }\r\n\r\n public ToggleGroupDisabled(id: number) {\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", this.AuthResponse.token);\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(id));\r\n\r\n return this.http.delete('/api/cloud/groups/toggle', {headers, params});\r\n }\r\n\r\n public EditGroupLicense(group: Group) {\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", this.AuthResponse.token);\r\n\r\n return this.http.put('/api/cloud/groups', group, {headers}); \r\n }\r\n\r\n public NewGroup(group: Group) {\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", this.AuthResponse.token);\r\n\r\n return this.http.post('/api/cloud/groups', group, {headers}).pipe(catchError((error => {\r\n return throwError(() => new Error(error.message));\r\n })));\r\n }\r\n\r\n public NewOrEditAdmin(admin: Admin) {\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", this.AuthResponse.token);\r\n\r\n return this.http.post('/api/cloud/groups/admin', admin, {headers}); \r\n }\r\n\r\n public DeleteAdmin(admin: Admin) {\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", this.AuthResponse.token);\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(admin.id));\r\n\r\n return this.http.delete('/api/cloud/groups/admin', {headers, params}); \r\n }\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CloudLicense, CloudLicenseDate } from 'src/app/Models/Cloud/CloudLicense';\r\nimport { GroupService } from './group.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LicenseCloudService {\r\n\r\n constructor(private http: HttpClient, private groupService: GroupService) {}\r\n\r\n public GetLicenses() {\r\n const token = this.groupService.AuthResponse.token;\r\n \r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n return this.http.get('/api/cloud/license', {headers});\r\n }\r\n public CreateLicense(licenseCloud: CloudLicense) {\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n return this.http.post('/api/cloud/license', licenseCloud, {headers});\r\n }\r\n\r\n public EditLicense(licenseCloud: CloudLicense) {\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n return this.http.put('/api/cloud/license', licenseCloud, {headers});\r\n }\r\n\r\n public DeleteLicense(licenseCloudId: number) {\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(licenseCloudId));\r\n\r\n return this.http.delete('/api/cloud/license', {headers, params});\r\n }\r\n\r\n \r\n\r\n}\r\n","import { SellPoint } from 'src/app/Models/Cloud/SellPoint';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { GroupService } from './group.service';\r\nimport { lastValueFrom } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SellpointsService {\r\n\r\n constructor(private http: HttpClient, private groupService: GroupService) { }\r\n\r\n public GetSellPoint(centerId: number) {\r\n\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(centerId));\r\n\r\n return this.http.get('/api/cloud/sellpoints', {headers, params});\r\n }\r\n\r\n public async EditSellPoint(sellPoint: SellPoint) {\r\n\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const returnSellPoint: SellPoint = await lastValueFrom(this.http.put('/api/cloud/sellpoints', sellPoint, {headers}))\r\n\r\n return returnSellPoint;\r\n }\r\n\r\n public async CreateSellPoint(sellPoint: SellPoint) {\r\n\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const returnSellPoint: SellPoint = await lastValueFrom(this.http.post('/api/cloud/sellpoints', sellPoint, {headers}))\r\n \r\n return returnSellPoint;\r\n }\r\n\r\n public async DeleteSellPoint(sellPoint: SellPoint) {\r\n\r\n const token = this.groupService.AuthResponse.token;\r\n\r\n const headers: HttpHeaders = new HttpHeaders()\r\n .set(\"Authorization-Cloud\", token);\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(sellPoint.id))\r\n .set(\"groupId\", String(sellPoint.center.group.id));\r\n\r\n return await lastValueFrom(this.http.delete('/api/cloud/sellpoints', {headers, params}))\r\n }\r\n}\r\n","import { AuthService } from './../AuthService/auth.service';\r\nimport { IsDev } from '../../global';\r\n\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { HttpClient, HttpEvent, HttpEventType, HttpParams, HttpProgressEvent, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport Update from 'src/app/Models/Update';\r\nimport Item from 'src/app/Models/Item';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileService {\r\n\r\n\r\n public Progress: number = 0;\r\n\r\n constructor(private http: HttpClient, private alertService: AlertService, private auth: AuthService) {\r\n \r\n }\r\n\r\n public async GetManuals() {\r\n const result: any = await this.http.get('/api/manuals', {}).toPromise();\r\n \r\n const list: Item[] = [];\r\n \r\n for (let i = 0; i < result.length; ++i) {\r\n\r\n const item: Item = this.GenerateList(result[i]);\r\n\r\n list.push(item)\r\n }\r\n\r\n return list;\r\n\r\n }\r\n public async ManualUpload(fileToUpload: File, productName: string, version: string, softcode: string) {\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n\r\n const formData: FormData = new FormData();\r\n formData.append(\"file\", fileToUpload, fileToUpload.name);\r\n formData.append(\"productName\", productName);\r\n formData.append(\"version\", version);\r\n formData.append(\"softCode\", softcode);\r\n\r\n const result: any = await this.http.post('/api/manuals/upload', formData, {}).toPromise();\r\n\r\n return result.response === true;\r\n }\r\n\r\n public async ListUpload(fileToUpload: File, productName: string, version: string) {\r\n \r\n // const id = await this.auth.GetIdByUsername();\r\n \r\n const formData: FormData = new FormData();\r\n // formData.append(\"id\", String(id));\r\n formData.append(\"file\", fileToUpload, fileToUpload.name);\r\n formData.append(\"productName\", productName);\r\n formData.append(\"version\", version);\r\n\r\n const result: any = await this.http.post('/api/lists/upload', formData, {}).toPromise();\r\n\r\n return result.response === true;\r\n }\r\n\r\n public async UpdateUpload(fileToUpload: File, softwareName: string, version: string, softcode: string, releaseDate: string) {\r\n \r\n // const id = await this.auth.GetIdByUsername();\r\n \r\n const formData: FormData = new FormData();\r\n formData.append(\"file\", fileToUpload, fileToUpload.name);\r\n formData.append(\"softwareName\", softwareName);\r\n formData.append(\"softCode\", softcode);\r\n formData.append(\"version\", version);\r\n formData.append(\"releaseDate\", releaseDate)\r\n\r\n const result: any = await this.http.post('/api/updates/upload', formData, {}).toPromise();\r\n\r\n return (result.response === true) ? true: false;\r\n }\r\n\r\n public async GetUpdates(): Promise {\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID));\r\n\r\n const result: any = await this.http.get('/api/updates', {params}).toPromise();\r\n\r\n const updates: Update[] = [];\r\n \r\n for (let i = 0; i < result.length; ++i) {\r\n\r\n const update: Update = this.GenerateUpdate(result[i]);\r\n\r\n updates.push(update)\r\n }\r\n\r\n return updates;\r\n\r\n }\r\n\r\n private GenerateUpdate(result: any): Update {\r\n return new Update(result.softwareName, result.version, result.softCode, result.downloadFileName, result.releaseDate);\r\n }\r\n\r\n public async InitSoftcodes() {\r\n return await this.http.get('/api/softcodes').toPromise();\r\n }\r\n\r\n public async DeleteManual(product: string, softCode: string, fileName: string) {\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"product\", product)\r\n .set(\"softCode\", softCode)\r\n .set(\"fileName\", encodeURIComponent(fileName));\r\n \r\n await this.http.delete('/api/manuals/delete', {params}).toPromise();\r\n\r\n return true;\r\n }\r\n\r\n public async GetLists() {\r\n const result: any = await this.http.get('/api/lists', {}).toPromise();\r\n \r\n const list: Item[] = [];\r\n \r\n for (let i = 0; i < result.length; ++i) {\r\n\r\n const item: Item = this.GenerateList(result[i]);\r\n\r\n list.push(item)\r\n }\r\n\r\n return list;\r\n }\r\n private GenerateList(result: any): Item {\r\n return new Item(result.product, result.version, \"\", result.downloadFileName);\r\n }\r\n\r\n public async DeleteList(product: string, fileName: string) {\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"product\", product)\r\n .set(\"fileName\", encodeURI(fileName));\r\n\r\n\r\n await this.http.delete('/api/lists/delete', {params}).toPromise();\r\n\r\n\r\n return true;\r\n }\r\n\r\n public async DeleteUpdate(softwareName: string, fileName: string, version: string, date: string) {\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"softwareName\", softwareName)\r\n .set(\"fileName\", encodeURIComponent(fileName))\r\n .set(\"version\", version)\r\n .set(\"date\", date)\r\n\r\n await this.http.delete('/api/updates/delete', {params}).toPromise();\r\n\r\n return true;\r\n }\r\n\r\n public async DownloadManual(fileName: string) {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"fileName\", encodeURIComponent(fileName))\r\n\r\n const result: Blob = await this.http.get('/api/manuals/download', {params, responseType: 'blob'}).toPromise(); //File\r\n\r\n //GENERATION FILE DOWNLOAD\r\n const a: HTMLAnchorElement = document.createElement('a');\r\n const fileURL: string = URL.createObjectURL(result);\r\n \r\n a.download = fileName;\r\n a.href = fileURL;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n\r\n public async DownloadList(fileName: string) {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"fileName\", encodeURIComponent(fileName));\r\n\r\n const result: Blob = await this.http.get('/api/lists/download', {params, responseType: 'blob'}).toPromise(); //File\r\n\r\n //GENERATION FILE DOWNLOAD\r\n const a: HTMLAnchorElement = document.createElement('a');\r\n const fileURL: string = URL.createObjectURL(result);\r\n \r\n a.download = fileName;\r\n a.href = fileURL;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n\r\n public async DownloadUpdate(update: Update) {\r\n\r\n this.Progress = 0;\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n \r\n const params: HttpParams = new HttpParams()\r\n .set(\"fileName\", encodeURIComponent(update.downloadFileName));\r\n\r\n this.alertService.info(\"Download in corso\")\r\n update.downloading = true;\r\n\r\n this.http.get('/api/updates/download', \r\n {params, responseType: 'blob', reportProgress: true, observe: 'events',}).subscribe(result => {\r\n\r\n if (result.type === HttpEventType.DownloadProgress) {\r\n this.Progress = Math.round((100 * result.loaded) / result.total);\r\n }\r\n if (result.type === HttpEventType.Response) {\r\n update.downloading = false;\r\n this.alertService.success(\"Download completato\")\r\n\r\n //GENERATION FILE DOWNLOAD\r\n const a: HTMLAnchorElement = document.createElement('a');\r\n const fileURL: string = URL.createObjectURL(result.body);\r\n \r\n a.download = update.downloadFileName;\r\n a.href = fileURL;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n });\r\n }\r\n}","import {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n HttpErrorResponse,\r\n } from '@angular/common/http';\r\n import { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n \r\n export class AddHeaderInterceptor implements HttpInterceptor {\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n //GET TOKEN\r\n const token: string = localStorage.getItem('token');\r\n\r\n if (token === null) {\r\n return next.handle(req)\r\n }\r\n \r\n const clonedRequest = req.clone({ headers: req.headers.append('Authorization', `Bearer ${token}`) });\r\n \r\n return next.handle(clonedRequest);\r\n }\r\n }\r\n\r\n","import { lastValueFrom } from 'rxjs';\r\nimport { AuthService } from './../AuthService/auth.service';\r\nimport { LicenseInfo, LicenseClient, License } from './../../Models/LicenzeStat';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ShopService } from '../ShopService/shop.service';\r\nimport { Selected } from 'src/app/licenses/license-genera/license-genera.component';\r\nimport { ModuleInfo } from 'src/app/licenses/license-upgrade/license-upgrade.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LicenseService {\r\n\r\n\r\n public async ChangeLicenzeState(licenseInfo: LicenseInfo) {\r\n \r\n // const id = await this.auth.GetIdByUsername();\r\n \r\n const result: any = await this.http.post('/api/license/state', {license: licenseInfo.License.License, stato: licenseInfo.Stato}, {}).toPromise();\r\n\r\n if (result.response === \"ok\") {\r\n\r\n if (licenseInfo.Stato != 1) {\r\n for (let i = 0; i < licenseInfo.LicenseClient.length; ++i) {\r\n licenseInfo.LicenseClient[i].Stato = licenseInfo.Stato;\r\n }\r\n\r\n }\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public async ChangeLicenseStateClient(licenseClient: LicenseClient) {\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n\r\n const result: any = await this.http.post('/api/license/state', {license: licenseClient.License.License, stato: licenseClient.Stato, id: this.auth.AuthUser.ID}, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async ChangeMacAddress(MacAddress: string, license: string) {\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n\r\n const result: any = await this.http.post('/api/license/mac', {mac: MacAddress, license}, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async SendMailClient(License: LicenseInfo, quantita: number) {\r\n //SALVO LA NUOVA MAIL\r\n await this.http.post('/api/license/client/mail',\r\n {licenza: License.License.License, creazione: License.CreationDate, attivazione: License.ActivationDate, scadenza: License.ExpirationDate, quantita,\r\n id: this.auth.AuthUser.ID, username: this.auth.AuthUser.Username}).toPromise();\r\n }\r\n \r\n public async GenerateLicense(selected: Selected, TipoGenerazione: string, UserIDLicenza?: number, UserIDSegnalatore?: number, ScadenzaLicenza?: Date) {\r\n \r\n if (UserIDLicenza && UserIDSegnalatore && ScadenzaLicenza) {\r\n return this.http.post('/api/license/master/gen',\r\n {Modules: selected.Modules, Visual: selected.Visual, UserID: selected.UserID, Username: selected.Username,\r\n TipoGenerazione, CodiceArticolo: selected.CodiceArticolo, UserIDLicenza: UserIDLicenza, UserIDSegnalatore: UserIDSegnalatore, ScadenzaLicenza: ScadenzaLicenza}, {}).toPromise(); \r\n }\r\n \r\n return await this.http.post('/api/license/master/gen',\r\n {Modules: selected.Modules, Visual: selected.Visual, UserID: selected.UserID, Username: selected.Username, TipoGenerazione, CodiceArticolo: selected.CodiceArticolo}, {}).toPromise();\r\n \r\n }\r\n\r\n public async GenerateLicenseClient(id: number, license: string) {\r\n return await this.http.post('/api/license/client/gen', {id, license}, {responseType: 'text'}).toPromise();\r\n\r\n }\r\n\r\n public async UpgradeLicense(Upgradable: any, moduli: ModuleInfo[], license: string, id: number, CanRetail: any): Promise {\r\n const result: any = await this.http.post('/api/license/upgrade',\r\n {upgradable: Upgradable, moduli, license, id, canone: CanRetail.Tipo.Canone}).toPromise();\r\n\r\n return result.response;\r\n }\r\n\r\n \r\n\r\n public async GenerateLicenseDemo() {\r\n return await this.http.post('/api/license/demo/gen',\r\n {UserID: this.auth.AuthUser.ID, Username: this.auth.AuthUser.Username}, {}).toPromise();\r\n\r\n }\r\n\r\n public async GenerateLicenseCashmatic(id?: number) {\r\n return this.http.post('/api/license/cashmatic', id ? {id} : {}, {}).toPromise();\r\n }\r\n\r\n public async GetLicenses(): Promise {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID));\r\n\r\n let result: any = await this.http.get('/api/license', {params}).toPromise();\r\n\r\n while (result === null) {\r\n result = await this.http.get('/api/license', {params}).toPromise();\r\n }\r\n\r\n const licenses: LicenseInfo[] = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n\r\n const licenseInfo: LicenseInfo = await this.GenerateLicenseInfo(result[i]);\r\n\r\n licenses.push(licenseInfo)\r\n }\r\n\r\n return licenses;\r\n }\r\n\r\n public async GetExpiringLicenses(): Promise {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID));\r\n\r\n let result: any = await lastValueFrom(this.http.get('/api/license/expiring', {params}));\r\n\r\n\r\n const licenses: LicenseInfo[] = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n\r\n const licenseInfo: LicenseInfo = await this.GenerateLicenseInfo(result[i]);\r\n\r\n licenses.push(licenseInfo)\r\n }\r\n\r\n return licenses;\r\n }\r\n\r\n\r\n\r\n //Numero degli elementi selezionati\r\n\r\n private async GenerateLicenseInfo(result: any) {\r\n const licenseInfo: LicenseInfo = new LicenseInfo();\r\n \r\n let resultValue: string = result.activationDate;\r\n licenseInfo.ActivationDate = resultValue.substr(8,2) + \"/\" + resultValue.substr(5,2) + \"/\" + resultValue.substr(0,4);\r\n if (resultValue.substr(0,4) === \"2001\") {\r\n licenseInfo.ActivationDate = \"N/D\"\r\n }\r\n \r\n \r\n resultValue = result.creationDate;\r\n licenseInfo.CreationDate = resultValue.substr(8,2) + \"/\" + resultValue.substr(5,2) + \"/\" + resultValue.substr(0,4);\r\n if (resultValue.substr(0,4) === \"2001\") {\r\n licenseInfo.CreationDate = \"N/D\"\r\n }\r\n \r\n \r\n resultValue = result.expirationDate;\r\n licenseInfo.ExpirationDate = resultValue.substr(8,2) + \"/\" + resultValue.substr(5,2) + \"/\" + resultValue.substr(0,4);\r\n if (resultValue.substr(0,4) === \"2001\") {\r\n licenseInfo.ExpirationDate = \"N/D\"\r\n }\r\n if (resultValue.substr(0,4) === \"2099\") {\r\n licenseInfo.ExpirationDate = \"SPOT\"\r\n }\r\n \r\n resultValue = result.activationDateLimit;\r\n licenseInfo.ActivationDateLimit = resultValue.substr(8,2) + \"/\" + resultValue.substr(5,2) + \"/\" + resultValue.substr(0,4);\r\n if (resultValue.substr(0,4) === \"2001\") {\r\n licenseInfo.ActivationDateLimit = \"N/D\"\r\n }\r\n if (result.expirationDate.substr(0,4) === \"2099\") {\r\n licenseInfo.ActivationDateLimit = \"SPOT\"\r\n }\r\n \r\n //STATO\r\n resultValue = result.statoLic;\r\n licenseInfo.Stato = Number(resultValue);\r\n \r\n //CREATORE\r\n licenseInfo.Creatore = result.creatore;\r\n \r\n //SEGNALATORE\r\n licenseInfo.Segnalatore = result.segnalatore;\r\n \r\n //LICENZE CLIENT\r\n for (let i = 0; i < result.licenseClient.length; ++i) {\r\n const licenseClient: LicenseClient = new LicenseClient(result.licenseClient[i].license, result.licenseClient[i].creationDate, result.licenseClient[i].stato);\r\n licenseClient.ActivationDate = result.licenseClient[i].activationDate;\r\n licenseClient.ExpirationDate = result.licenseClient[i].expirationDate;\r\n\r\n licenseClient.CreationDate = licenseClient.CreationDate.substr(8,2) + \"/\" + licenseClient.CreationDate.substr(5,2) + \"/\" + licenseClient.CreationDate.substr(0,4);\r\n licenseClient.ActivationDate = licenseClient.ActivationDate.substr(8,2) + \"/\" + licenseClient.ActivationDate.substr(5,2) + \"/\" + licenseClient.ActivationDate.substr(0,4);\r\n licenseClient.ExpirationDate = licenseClient.ExpirationDate.substr(8,2) + \"/\" + licenseClient.ExpirationDate.substr(5,2) + \"/\" + licenseClient.ExpirationDate.substr(0,4);\r\n\r\n licenseInfo.LicenseClient.push(licenseClient);\r\n };\r\n \r\n \r\n //licenseInfo.Client = result.client;\r\n const license: License = new License(result.license.license, result.license.module);\r\n licenseInfo.License = license;\r\n \r\n const descrizioneObject = {\r\n primo: (result.license.module as string).charAt(1),\r\n secondo: (result.license.module as string).charAt(2),\r\n terzo: (result.license.module as string).charAt(3),\r\n quarto: (result.license.module as string).charAt(4),\r\n };\r\n \r\n licenseInfo.Descrizione = ''\r\n \r\n if (license.Modules === \"DZZZZ\") {\r\n licenseInfo.Descrizione = \"DEMO\"\r\n } else {\r\n switch(descrizioneObject.primo) {\r\n case 'A': {\r\n licenseInfo.Descrizione += \"Visual Food Start, \";\r\n break;\r\n }\r\n case 'B': {\r\n licenseInfo.Descrizione += \"Visual Food Pro, \";\r\n break;\r\n }\r\n case 'C': {\r\n licenseInfo.Descrizione += \"Visual Food Gold, \";\r\n break;\r\n }\r\n }\r\n \r\n \r\n switch(descrizioneObject.secondo) {\r\n case 'A': {\r\n licenseInfo.Descrizione += \"Visual Shop Start, \";\r\n break;\r\n }\r\n case 'B': {\r\n licenseInfo.Descrizione += \"Visual Shop Pro, \";\r\n break;\r\n }\r\n }\r\n \r\n \r\n switch(descrizioneObject.terzo) {\r\n case 'A': {\r\n licenseInfo.Descrizione += \"Visual Kiosk Start, \";\r\n break;\r\n }\r\n case 'B': {\r\n licenseInfo.Descrizione += \"Visual Kiosk Pro, \";\r\n break;\r\n }\r\n case 'C': {\r\n licenseInfo.Descrizione += \"Visual Kiosk Gold, \";\r\n break;\r\n }\r\n \r\n case 'G': {\r\n licenseInfo.Descrizione += \"Visual Self Start, \";\r\n break;\r\n }\r\n case 'H': {\r\n licenseInfo.Descrizione += \"Visual Self Pro, \";\r\n break;\r\n }\r\n case 'I': {\r\n licenseInfo.Descrizione += \"Visual Self Gold, \";\r\n break;\r\n }\r\n \r\n case 'M': {\r\n licenseInfo.Descrizione += \"Visual Beach Start, \";\r\n break;\r\n }\r\n case 'N': {\r\n licenseInfo.Descrizione += \"Visual Beach Pro, \";\r\n break;\r\n }\r\n case 'O': {\r\n licenseInfo.Descrizione += \"Visual Beach Gold, \";\r\n break;\r\n }\r\n case 'S': {\r\n licenseInfo.Descrizione += \"APPagato, \";\r\n break;\r\n }\r\n }\r\n \r\n \r\n switch(descrizioneObject.quarto) {\r\n case 'A': {\r\n licenseInfo.Descrizione += \"Visual Retail Start, \";\r\n break;\r\n }\r\n case 'B': {\r\n licenseInfo.Descrizione += \"Visual Retail Pro, \";\r\n break;\r\n }\r\n }\r\n const lengthDescrizione: number = licenseInfo.Descrizione.length;\r\n licenseInfo.Descrizione = licenseInfo.Descrizione.substr(0, lengthDescrizione - 2);\r\n }\r\n \r\n return licenseInfo;\r\n }\r\n\r\n\r\n public async GetLicenseCount(): Promise {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID));\r\n\r\n return await this.http.get('/api/license/count', {params}).toPromise();\r\n }\r\n\r\n public async GetLicenseDemoCount() {\r\n const params: HttpParams = new HttpParams().set('id', String(this.auth.AuthUser.ID));\r\n return await this.http.get('/api/license/demo/count', {params}).toPromise();\r\n }\r\n\r\n public async RenewLicense(username: string, license: string) {\r\n\r\n const licenseObj = {\r\n username, license\r\n }\r\n\r\n return await lastValueFrom(this.http.post('/api/license/renew', licenseObj, {}));\r\n }\r\n\r\n constructor(private shopService: ShopService, private http: HttpClient, private auth: AuthService) {\r\n if (shopService.IsInit === false) {\r\n this.shopService.Init();\r\n this.shopService.IsInit = true;\r\n }\r\n }\r\n}\r\n","import { UserStoreService } from '../Admin/user-store.service';\r\nimport { AuthService } from './../AuthService/auth.service';\r\nimport { ShopService } from './../ShopService/shop.service';\r\nimport {Injectable, TemplateRef} from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { IsDev } from 'src/app/global';\r\nimport { Payment, Tipo } from 'src/app/Models/Payment';\r\nimport Contenitore from 'src/app/Models/Contenitore';\r\nimport {BsModalRef, BsModalService} from 'ngx-bootstrap/modal';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentService {\r\n\r\n\r\n constructor(private http: HttpClient, private shopService: ShopService, private auth: AuthService,public modalService: BsModalService, private userStoreService: UserStoreService\r\n ) {\r\n }\r\n public modalRef: BsModalRef;\r\n public async StripeIntent(pagamento: Payment) {\r\n\r\n await this.InitShop();\r\n\r\n const iva = await this.userStoreService.GetIva();\r\n const carrelloTotal = this.shopService.GetCarrelloTotal();\r\n\r\n const ivaParziale: number = carrelloTotal * (iva / 100);\r\n const totalePagamento: number = carrelloTotal + ivaParziale;\r\n //const Carrello: Contenitore[] = this.shopService.Carrello;\r\n\r\n //QUESTO OGGETTO CONTIENE AL SUO INTERNO LE INFORMAZIONI SUL PAGAMENTO ED IL CARRELLO\r\n /*\r\n IL CARRELLO è\r\n\r\n */\r\n const body: string = JSON.stringify(pagamento);\r\n\r\n const result: any = await this.http.post('/api/payment/stripe', body, {headers: {\r\n 'Content-Type': 'application/json'\r\n }}).toPromise();\r\n return result; //PAYMENT INTENT ID\r\n }\r\n\r\n private async InitShop() {\r\n if (this.shopService.IsInit === false) {\r\n await this.shopService.Init();\r\n this.shopService.IsInit = true;\r\n }\r\n }\r\n\r\n}\r\n","import { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { Role, User } from './../../Models/User';\r\nimport { IsDev } from '../../global';\r\n\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport {HostListener, Injectable, OnDestroy} from '@angular/core';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport Acquisto from 'src/app/Models/Acquisto';\r\nimport Cart from 'src/app/Models/Cart';\r\nimport { License, LicenseStat } from 'src/app/Models/LicenzeStat';\r\nimport {Contenitore} from 'src/app/shop/tipologialicenza/tipologialicenza.component';\r\nimport AcquistoPacchetto from '../../Models/AcquistoPacchetto';\r\n\r\n\r\nimport SoftwareListino from '../../Models/SoftwareListino';\r\n\r\nimport { AuthService } from '../AuthService/auth.service';\r\nimport {Router} from '@angular/router';\r\nimport { Payment } from 'src/app/Models/Payment';\r\nimport {UserStoreService} from '../Admin/user-store.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ShopService{\r\n //CHECKOUT\r\n public Stripe = false;\r\n public Paypal = false;\r\n public Bonifico = false;\r\n\r\n //ULTIMO DETTAGLIO MOSTRATO\r\n public lastSoftwareDetail:any;\r\n\r\n //PRODOTTI MOSTRATI\r\n public prodottiMostrati: SoftwareListino[] = [];\r\n\r\n //MOSTRA CARRELLO\r\n public ShowCarrello:boolean;\r\n\r\n //MOSTRA DROPDOWN CATEGORIE\r\n public ShowSceltaCategorie:boolean;\r\n\r\n //MOSTRA ACQUISTO PACCHETTI\r\n public ShowSelezioneQuantitaPacchetti: boolean = false;\r\n public ShowAcquistoPacchetti: boolean = false;\r\n\r\n //MOSTRA ACQUISTO SINGOLO\r\n public ShowAcquistoSingolo: boolean = false;\r\n\r\n //FLAG PERCORSO DI ACQUISTO\r\n\r\n public SectionSceltaElementi: boolean = false;\r\n public SectionCarrello: boolean = true;\r\n\r\n //FLAG CARRELLO\r\n public ErroreCarrello: boolean = false;\r\n public AlertSuccess: boolean = false;\r\n\r\n //Quantità scelta all'inizio dell'ordine\r\n public PacchettoScelto: number = 0;\r\n public LeftPacchettoScelto: number = 0;\r\n\r\n //Acquisto per pacchetto\r\n public Pacchetto: AcquistoPacchetto[] = [];\r\n\r\n //Selezione di un elemento\r\n public SoftwareSelezionato: SoftwareListino;\r\n public QuantitaSelezionato: number = 0;\r\n\r\n //MODAL\r\n public DettaglioProdotto: boolean = false;\r\n\r\n //SCEGLI TRA LICENZA SINGOLA O PACCHETTO DI LICENZE\r\n public ShowTipologiaLicenza: boolean;\r\n public ListinoSoftware: SoftwareListino[] = [];\r\n\r\n public Carrello: Contenitore[] = [];\r\n public CarrelloNonOrdinato: Contenitore[] = []; //CARRELLO GREZZO\r\n\r\n //STORICO\r\n public StoricoAcquisti: Acquisto[] = [];\r\n\r\n public IsInit: boolean = false;\r\n public lglt: boolean;\r\n\r\n //EVENTO CARRELLO VUOTO\r\n public CarrelloAperto: boolean = false;\r\n public mobileCart: boolean = false;\r\n\r\n public errorProductsNotFound:string;\r\n\r\n constructor(private http: HttpClient, private auth: AuthService, private alertService: AlertService, private router: Router, public UserStoreService: UserStoreService, private modalService: BsModalService) {\r\n\r\n }\r\n @HostListener('window:resize', ['$event'])\r\n setLtLg(event?): void{\r\n if (window.innerWidth < 1279){\r\n this.lglt = true;\r\n }else{\r\n this.lglt = false;\r\n }\r\n }\r\n public async Init() {\r\n this.setLtLg();\r\n if(this.lglt){\r\n this.mobileCart = true;\r\n } else{\r\n this.mobileCart = false;\r\n }\r\n await this.InitListino();\r\n await this.InitCart();\r\n\r\n }\r\n\r\n public async Logout() {\r\n this.IsInit = false;\r\n\r\n this.Carrello = [];\r\n this.StoricoAcquisti = [];\r\n\r\n //this.ListinoSoftware = [];\r\n\r\n this.CarrelloAperto = false;\r\n }\r\n\r\n public Reset() {\r\n this.Pacchetto = [];\r\n this.PacchettoScelto = 0;\r\n this.LeftPacchettoScelto = 0;\r\n\r\n /*this.PacchettoScelto = 0;\r\n this.LeftPacchettoScelto = 0;\r\n this.ShowTipologiaLicenza = true;\r\n this.SectionSceltaElementi = false;\r\n this.ShowAcquistoSingolo= false;\r\n this.ShowSelezionePacchetti = false;\r\n this.ShowAcquistoPacchetti = false;\r\n this.DettaglioProdotto = false;\r\n this.CarrelloAperto = false;*/\r\n }\r\n public async AggiuntaAlCarrelloProdottoSingolo(software: SoftwareListino, i:number) {\r\n let value = parseInt((document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value, 10);\r\n if (isNaN(value) || value < 1){\r\n this.alertService.danger('Perfavore inserisci una quantità corretta')\r\n }else{\r\n this.SoftwareSelezionato = software;\r\n this.QuantitaSelezionato = value;\r\n await this.AggiungiCarrelloTemp();\r\n }\r\n\r\n }\r\n\r\n // PASSO AL SERVIZIO, OLTRE CHE IL PRODOTTO, ANCHE LA QUANTITA, SINGOLA O PACCHETTO\r\n // IN QUESTO MODO, POSSO ESTRARRE LO SCONTO CORRETTO, CALCOLARLO ED INSERLO NEL CARRELLO\r\n public async AggiungiCarrelloTemp() {\r\n let Ordine: boolean = false;\r\n if (this.auth.AuthUser.Role === Role.USER) {\r\n Ordine = true;\r\n }\r\n\r\n //SE ORDINE, PRIMA DI AGGIUNGERE UN ELEMENTO CONTROLLO SE ESISTE UN CONTENITORE TALE CHE ESISTA IL SOFTWARE SELEZIONATO\r\n const contenitore: Contenitore = new Contenitore;\r\n contenitore.IdPacchettoCart = '_' + Math.random().toString(36).substr(2,9);\r\n\r\n //AGGIUNGO IL CONTENUTORE AL CARRELLO GREZZO\r\n const contenitoreTemp: Contenitore = Object.assign({}, contenitore);\r\n\r\n contenitoreTemp.Tipo = 'S'\r\n\r\n this.CarrelloNonOrdinato.push(contenitoreTemp);\r\n\r\n const successCarrello: boolean = await this.AggiungiCarrello(this.SoftwareSelezionato, this.QuantitaSelezionato, 1, contenitore, Ordine);\r\n if (successCarrello) {\r\n this.Carrello.push(contenitore);\r\n } else {\r\n this.alertService.danger(\"Impossibile aggiungere al carrello. Contatta il tuo distributore per maggiori informazioni\")\r\n return;\r\n }\r\n //INSERISCO NEL DB\r\n const result: any = await this.http.post('/api/shop/cart/insert', {Contenuto: contenitore.Contenuto, IdPacchettoCart: contenitore.IdPacchettoCart, Tipo: contenitore.Tipo}, {}).toPromise();\r\n\r\n if (result.response === 'ok') {\r\n this.alertService.success('Elemento aggiunto al carrello');\r\n this.OrderCartS();\r\n }\r\n }\r\n getInputMax(left, total): number {\r\n return Number(total-left);\r\n }\r\n private async InitListino() {\r\n\r\n const result: any = await this.http.get('/api/shop/listino', {}).toPromise();\r\n\r\n this.ListinoSoftware = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n\r\n const item: SoftwareListino = new SoftwareListino();\r\n item.CodiceArticolo = result[i].codiceArticolo;\r\n item.Descrizione = result[i].descrizione;\r\n item.Costo = result[i].costo;\r\n\r\n this.ListinoSoftware.push(item)\r\n\r\n }\r\n }\r\n\r\n\r\n public async InitCart() {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID))\r\n .set(\"username\", this.auth.AuthUser.Username)\r\n .set(\"piva\", this.auth.AuthUser.PIVA)\r\n\r\n\r\n const result: any = await this.http.get('/api/shop/cart', {params}).toPromise();\r\n\r\n this.Carrello = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n\r\n const contenuto: Contenitore = new Contenitore();\r\n contenuto.Tipo = result[i].tipo;\r\n contenuto.IdPacchettoCart = result[i].idPacchettoCart;\r\n\r\n for (let j = 0; j < result[i].contenuto.length; ++j) {\r\n const acquisto: Acquisto = new Acquisto();\r\n acquisto.ID = result[i].contenuto[j].id;\r\n acquisto.Username = result[i].contenuto[j].username;\r\n acquisto.PIVA = result[i].contenuto[j].piva;\r\n acquisto.CodiceArticolo = result[i].contenuto[j].codiceArticolo;\r\n acquisto.ImgName = result[i].contenuto[j].imgName;\r\n\r\n acquisto.Descrizione = result[i].contenuto[j].descrizione;\r\n\r\n acquisto.DataOrdine = result[i].contenuto[j].dataOrdine;\r\n acquisto.NumeroLicenze = result[i].contenuto[j].numeroLicenze;\r\n acquisto.PrezzoScontato = result[i].contenuto[j].prezzoScontato;\r\n acquisto.PrezzoTotale = result[i].contenuto[j].prezzoTotale;\r\n acquisto.PrezzoUnitario = acquisto.PrezzoTotale / acquisto.NumeroLicenze;\r\n\r\n contenuto.Contenuto.push(acquisto);\r\n }\r\n\r\n this.Carrello.push(contenuto);\r\n\r\n //SE IL CODICE ARTICOLO HA IL TERZ'ULTIMO ELEMENTO DIVERSO, CREO UN ARRAY NUOVO DENTRO LISTINOSOFTWARE\r\n //this.Carrello.push(item.ToAcquisto(this.ListinoSoftware))\r\n\r\n }\r\n this.CarrelloNonOrdinato = [...this.Carrello]; //CLONO IL CARRELLO\r\n\r\n this.OrderCartS();\r\n\r\n return;\r\n }\r\n\r\n /*\r\n public async InitStorico() {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID))\r\n .set(\"piva\", this.auth.AuthUser.PIVA)\r\n .set(\"username\", this.auth.AuthUser.Username);\r\n\r\n const result: any = await this.http.get('/api/shop/storico', {params}).toPromise();\r\n\r\n //LO STORICO E' ORDINATO PER BLOCCHI DI DATE\r\n this.StoricoAcquisti = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n const acquisto: Acquisto = new Acquisto();\r\n acquisto.ID = result[i].id;\r\n acquisto.Username = result[i].username;\r\n acquisto.PIVA = result[i].piva;\r\n acquisto.NumeroLicenze = result[i].numeroLicenze;\r\n acquisto.CodiceArticolo = result[i].codiceArticolo;\r\n acquisto.Tipo = result[i].tipo;\r\n\r\n //LA FUNZIONE FIND NON FUNZIONA\r\n for (let j = 0; j < this.ListinoSoftware.length; ++j) {\r\n if (this.ListinoSoftware[j].CodiceArticolo === acquisto.CodiceArticolo) {\r\n acquisto.Descrizione = this.ListinoSoftware[j].Descrizione;\r\n break;\r\n }\r\n }\r\n\r\n acquisto.DataOrdine = result[i].dataOrdine;\r\n acquisto.DataOrdine = new Date(acquisto.DataOrdine);\r\n acquisto.PrezzoTotale = result[i].prezzoTotale;\r\n acquisto.PrezzoScontato = result[i].prezzoScontato;\r\n\r\n this.StoricoAcquisti.push(acquisto);\r\n }\r\n\r\n return;\r\n }\r\n */\r\n\r\n public GetCarrelloSize(): number {\r\n let size: number = 0;\r\n for (let i = 0; i < this.Carrello.length; ++i) {\r\n for (let j = 0; j < this.Carrello[i].Contenuto.length; ++j)\r\n size += this.Carrello[i].Contenuto[j].NumeroLicenze;\r\n }\r\n return size;\r\n }\r\n\r\n\r\n public ApriCarrello() {\r\n if (this.Carrello.length > 0) {\r\n this.router.navigate(['shop/cart']);\r\n this.SetPacchettoPrezzoTotale();\r\n this.SetCarrelloLicenzeTotali();\r\n } else {\r\n this.alertService.danger('Inserisci un elemento nel carrello per accedere');\r\n }\r\n }\r\n public async RemoveCarrello(contenitore: Contenitore) {\r\n if (contenitore.Tipo === 'P'){\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", contenitore.IdPacchettoCart);\r\n \r\n const result: any = await this.http.delete('/api/shop/cart/delete', {params}).toPromise();\r\n if (result.response === \"ok\") {\r\n this.Carrello.splice(this.Carrello.indexOf(contenitore), 1);\r\n }\r\n } else {\r\n\r\n\r\n for (let i = 0; i < this.CarrelloNonOrdinato.length; ++i) {\r\n if (this.CarrelloNonOrdinato[i].Tipo === 'S' && this.CarrelloNonOrdinato[i].Contenuto[0].CodiceArticolo === contenitore.Contenuto[0].CodiceArticolo) {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", this.CarrelloNonOrdinato[i].IdPacchettoCart);\r\n\r\n const result: any = await this.http.delete('/api/shop/cart/delete', {params}).toPromise();\r\n\r\n if (result.response !== \"ok\") {\r\n this.alertService.danger(\"Impossibile rimuovere l'elemento\");\r\n }\r\n }\r\n }\r\n\r\n await this.InitCart();\r\n }\r\n }\r\n public async ConfirmPacchetti() {\r\n if (this.LeftPacchettoScelto === this.PacchettoScelto) {\r\n const contenitore: Contenitore = new Contenitore;\r\n contenitore.Tipo = \"P\";\r\n contenitore.IdPacchettoCart = '_' + Math.random().toString(36).substr(2,9);\r\n\r\n\r\n for (let i = 0; i < this.Pacchetto.length; ++i) {\r\n const successCarrello: boolean = await this.AggiungiCarrello(this.Pacchetto[i].software, this.Pacchetto[i].quantita, this.Pacchetto[i].pacchetto, contenitore);\r\n\r\n //SE FALSE, ALERT E SVUOTAMENTO CARRELLO DEL PACCHETTO CHE HO PROVATO AD AGGIUNGERE\r\n if (!successCarrello) {\r\n this.alertService.danger(\"Impossibile aggiungere il pacchetto al carrello. Contatta il tuo distributore per maggiori informazioni\");\r\n return;\r\n }\r\n }\r\n this.Carrello.push(contenitore);\r\n\r\n const result: any = await this.http.post('/api/shop/cart/insert', {Contenuto: contenitore.Contenuto, IdPacchettoCart: contenitore.IdPacchettoCart, Tipo: contenitore.Tipo}, {}).toPromise();\r\n\r\n if (result.response === 'ok') {\r\n this.alertService.success('Elementi aggiunto al carrello');\r\n this.LeftPacchettoScelto = 0;\r\n }\r\n\r\n } else {\r\n this.alertService.danger(\"Seleziona un numero di pacchetti corretto\")\r\n }\r\n }\r\n\r\n\r\n //FUNZIONE STANDARD PER PULIRE IL CARRELLO. DA CHIAMARE PER LA VECCHIA GESTIONE DELLO STORE\r\n public async ClearCarrello() {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID))\r\n .set('piva', this.auth.AuthUser.PIVA)\r\n .set(\"username\", this.auth.AuthUser.Username);\r\n\r\n const result: any = await this.http.delete('/api/shop/cart/clear', {params}).toPromise();\r\n\r\n if (result.response === \"ok\") {\r\n this.Carrello = []; //CARRELLO SVUOTATO\r\n this.alertService.warning(\"Carrello svuotato\");\r\n\r\n //TORNO ALLO STORICO\r\n this.CarrelloAperto = false;\r\n }\r\n }\r\n\r\n //FUNZIONE CHE ORDINA, LATO FRONT-END, GLI ACQUISTI SINGOLI\r\n public OrderCartS() {\r\n const cartOrdinato: Contenitore[] = [];\r\n for (let i = 0; i < this.Carrello.length; ++i) {\r\n if (this.Carrello[i].Tipo === 'P') {\r\n const contenitore: Contenitore = Object.assign({}, this.Carrello[i]);\r\n cartOrdinato.push(contenitore);\r\n } else {\r\n //SE ESISTE UN ELEMENTO DENTRO IL CARRELLO DI TIPO S CON LO STESSO CODICE ARTICOLO, SOMMO SEMPLICEMENTE I VALORI\r\n let index: number = -1;\r\n\r\n for (let j = 0; j < cartOrdinato.length; ++j) {\r\n if (cartOrdinato[j].Contenuto[0].CodiceArticolo === this.Carrello[i].Contenuto[0].CodiceArticolo && cartOrdinato[j].Tipo === 'S' ) {\r\n index = j;\r\n break;\r\n }\r\n }\r\n if (index === -1) {\r\n const contenitore: Contenitore = Object.assign({}, this.Carrello[i]);\r\n cartOrdinato.push(contenitore);\r\n } else {\r\n cartOrdinato[index].Contenuto[0].NumeroLicenze += this.Carrello[i].Contenuto[0].NumeroLicenze;\r\n cartOrdinato[index].Contenuto[0].PrezzoTotale = cartOrdinato[index].Contenuto[0].NumeroLicenze * this.Carrello[i].Contenuto[0].PrezzoUnitario;\r\n cartOrdinato[index].Contenuto[0].PrezzoScontato = cartOrdinato[index].Contenuto[0].PrezzoTotale - ((cartOrdinato[index].Contenuto[0].PrezzoTotale * this.auth.AuthUser.Sconto.S) / 100);\r\n cartOrdinato[index].Contenuto[0].PrezzoScontato = cartOrdinato[index].Contenuto[0].PrezzoScontato - ((cartOrdinato[index].Contenuto[0].PrezzoScontato * this.auth.AuthUser.Sconto.SBonus) / 100)\r\n }\r\n }\r\n }\r\n\r\n this.Carrello = cartOrdinato;\r\n }\r\n\r\n\r\n public loading: boolean = false;\r\n\r\n public async ConfirmCarrello() {\r\n if (this.Carrello.length > 0) {\r\n\r\n //SE IL TIPO DI UTENTE E' USER, PASSO AL CHECKOUT, ALTRIMENTI SEMPLICEMENTE CONFERMO E DEFINISCO L'ACQUISTO COME ORDINARIO\r\n if (this.auth.AuthUser.Role === Role.USER) {\r\n this.router.navigate(['shop/checkout']);\r\n return;\r\n } else {\r\n const result = await this.ConfirmCarrelloAcquisto();\r\n if (result) {\r\n this.router.navigate(['home']);\r\n return;\r\n }\r\n }\r\n } else {\r\n this.alertService.danger(\"Il carrello è vuoto\");\r\n }\r\n }\r\n\r\n //FUNZIONE ASSOCIATA ALL'ACQUISTO DA PARTE DI CONCESSIONARIO/DISTRIBUTORE\r\n public async ConfirmCarrelloAcquisto() {\r\n\r\n const result: any = await this.http.post('/api/shop/cart/confirm', \r\n {id: this.auth.AuthUser.ID, piva: this.auth.AuthUser.PIVA, username: this.auth.AuthUser.Username, creatore: this.auth.AuthUser.Creatore}, {}).toPromise();\r\n\r\n if (result.response === \"ok\") {\r\n this.loading = false;\r\n this.Carrello = []; //CARRELLO SVUOTATO\r\n this.alertService.success(\"Carrello confermato\");\r\n\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n public async AggiungiCarrello(softwareSelezionato: SoftwareListino, numeroLicenze: number, pacchettoScelto: number, contenitore: Contenitore, isOrdine: boolean = false) {\r\n const acquisto: Acquisto = new Acquisto();\r\n acquisto.ID = this.auth.AuthUser.ID;\r\n acquisto.Username = this.auth.AuthUser.Username;\r\n acquisto.PIVA = this.auth.AuthUser.PIVA;\r\n acquisto.RagSoc = this.auth.AuthUser.RagioneSociale;\r\n\r\n acquisto.CodiceArticolo = softwareSelezionato.CodiceArticolo;\r\n acquisto.Descrizione = softwareSelezionato.Descrizione;\r\n acquisto.ImgName = softwareSelezionato.ImgName;\r\n acquisto.DataOrdine = new Date();\r\n acquisto.NumeroLicenze = numeroLicenze;\r\n\r\n acquisto.PrezzoUnitario = softwareSelezionato.Costo;\r\n acquisto.PrezzoTotale = numeroLicenze * softwareSelezionato.Costo;\r\n\r\n if (pacchettoScelto === 1) {\r\n const prezzoScontato: number = acquisto.PrezzoTotale - ((acquisto.PrezzoTotale * this.auth.AuthUser.Sconto.S) / 100);\r\n const prezzoScontatoBonus: number = prezzoScontato - ((prezzoScontato * this.auth.AuthUser.Sconto.SBonus) / 100);\r\n\r\n acquisto.PrezzoScontato = prezzoScontatoBonus;\r\n }\r\n if (pacchettoScelto === 5) {\r\n const prezzoScontato: number = acquisto.PrezzoTotale - ((acquisto.PrezzoTotale * this.auth.AuthUser.Sconto.P.Cinque) / 100);\r\n const prezzoScontatoBonus: number = prezzoScontato - ((prezzoScontato * this.auth.AuthUser.Sconto.PBonus.Cinque) / 100);\r\n\r\n acquisto.PrezzoScontato = prezzoScontatoBonus;\r\n }\r\n if (pacchettoScelto === 10) {\r\n const prezzoScontato: number = acquisto.PrezzoTotale - ((acquisto.PrezzoTotale * this.auth.AuthUser.Sconto.P.Dieci) / 100);\r\n const prezzoScontatoBonus: number = prezzoScontato - ((prezzoScontato * this.auth.AuthUser.Sconto.PBonus.Dieci) / 100);\r\n\r\n acquisto.PrezzoScontato = prezzoScontatoBonus;\r\n }\r\n if (pacchettoScelto === 15) {\r\n const prezzoScontato: number = acquisto.PrezzoTotale - ((acquisto.PrezzoTotale * this.auth.AuthUser.Sconto.P.Quindici) / 100);\r\n const prezzoScontatoBonus: number = prezzoScontato - ((prezzoScontato * this.auth.AuthUser.Sconto.PBonus.Quindici) / 100);\r\n\r\n acquisto.PrezzoScontato = prezzoScontatoBonus;\r\n }\r\n if (pacchettoScelto === 20) {\r\n const prezzoScontato: number = acquisto.PrezzoTotale - ((acquisto.PrezzoTotale * this.auth.AuthUser.Sconto.P.Venti) / 100);\r\n const prezzoScontatoBonus: number = prezzoScontato - ((prezzoScontato * this.auth.AuthUser.Sconto.PBonus.Venti) / 100);\r\n\r\n acquisto.PrezzoScontato = prezzoScontatoBonus;\r\n }\r\n\r\n //PRIMA DI PUSHARE, CONTROLLO SE IL PROPRIO DISTRIBUTORE, A PARTE LA GAB, HA UN NUMERO DI LICENZE ALL'INTERNO DEL CANONE O ALL'INTERNO DELLE LICENZE ACQUISTATE\r\n //NEL CASO IN CUI NON CI SIANO LE LICENZE, NON PERMETTO DI AGGIUNGERE L'ELEMENTO AL CARRELLO\r\n\r\n //ACQUISTO CONCESSIONARIO/DISTRIBUTORE\r\n if (!isOrdine) {\r\n if (this.auth.AuthUser.Creatore !== 'gab') {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"username\", this.auth.AuthUser.Creatore)\r\n .set(\"id\", String(this.auth.AuthUser.ID));\r\n\r\n const result: any = await this.http.get('/api/license/count2', {params}).toPromise();\r\n let statCanone: LicenseStat = new LicenseStat();\r\n let statAcquisto: LicenseStat = new LicenseStat();\r\n for (let i = 0; i < result.length; ++i) {\r\n if (result[i].codiceArticolo === \"CANONE\") {\r\n statCanone.CodiceArticolo === \"CANONE\";\r\n statCanone.NumeroLicenze = result[i].numeroLicenze;\r\n statCanone.LicenzeGenerate = result[i].licenzeGenerate;\r\n }\r\n\r\n if (result[i].codiceArticolo === acquisto.CodiceArticolo) {\r\n statAcquisto.CodiceArticolo === \"CANONE\";\r\n statAcquisto.NumeroLicenze = result[i].numeroLicenze;\r\n statAcquisto.LicenzeGenerate = result[i].licenzeGenerate;\r\n }\r\n }\r\n\r\n //SE IL MIO DISTRIBUTORE E' A CANONE ED HA UN NUMERO DI LICENZE INFINITO, POSSO AGGIUNGERE\r\n if (statCanone.NumeroLicenze !== 0 && statCanone.NumeroLicenze === -1) {\r\n\r\n for (let i = 0; i < contenitore.Contenuto.length; ++i) {\r\n if (contenitore.Contenuto[i].CodiceArticolo === acquisto.CodiceArticolo) {\r\n contenitore.Contenuto[i].NumeroLicenze += acquisto.NumeroLicenze;\r\n return true;\r\n }\r\n }\r\n\r\n contenitore.Contenuto.push(acquisto);\r\n return true;\r\n }\r\n //SE IL MIO DISTRIBUTORE E' A CANONE ED HA UN NUMERO DI LICENZE SUFFICENTE, POSSO AGGIUNGERE\r\n else if (statCanone.NumeroLicenze !== 0 && (statCanone.LicenzeGenerate + acquisto.NumeroLicenze + this.GetCarrelloSize() <= statCanone.NumeroLicenze)) {\r\n for (let i = 0; i < contenitore.Contenuto.length; ++i) {\r\n if (contenitore.Contenuto[i].CodiceArticolo === acquisto.CodiceArticolo) {\r\n contenitore.Contenuto[i].NumeroLicenze += acquisto.NumeroLicenze;\r\n return true;\r\n }\r\n }\r\n\r\n contenitore.Contenuto.push(acquisto);\r\n return true;\r\n }\r\n //LICENZE ACQUISTATE\r\n else if (statAcquisto.NumeroLicenze !== 0) {\r\n\r\n let count: number = 0; //SOMMA DELLE LICENZE ALL'INTERNO DELL'ACQUISTO DA VALUTARE\r\n for (let i = 0; i < this.Carrello.length; ++i) {\r\n for (let j = 0; j < this.Carrello[i].Contenuto.length; ++j) {\r\n if (this.Carrello[i].Contenuto[j].CodiceArticolo === acquisto.CodiceArticolo) {\r\n count ++;\r\n }\r\n }\r\n }\r\n statAcquisto.LicenzeGenerate += count + acquisto.NumeroLicenze;\r\n\r\n //SE LE LICENZE SONO SUFFICIENTI, POSSO AGGIUNGERLE AL CARRELLO\r\n if (statAcquisto.LicenzeGenerate <= statAcquisto.NumeroLicenze) {\r\n for (let i = 0; i < contenitore.Contenuto.length; ++i) {\r\n if (contenitore.Contenuto[i].CodiceArticolo === acquisto.CodiceArticolo) {\r\n contenitore.Contenuto[i].NumeroLicenze += acquisto.NumeroLicenze;\r\n return true;\r\n }\r\n }\r\n\r\n contenitore.Contenuto.push(acquisto);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n } else {\r\n return false;\r\n }\r\n\r\n } else {\r\n for (let i = 0; i < contenitore.Contenuto.length; ++i) {\r\n if (contenitore.Contenuto[i].CodiceArticolo === acquisto.CodiceArticolo) {\r\n contenitore.Contenuto[i].NumeroLicenze += acquisto.NumeroLicenze;\r\n return true;\r\n }\r\n }\r\n\r\n contenitore.Contenuto.push(acquisto);\r\n return true;\r\n }\r\n //ACQUISTO UTENTE ORDINARIO\r\n } else {\r\n for (let i = 0; i < contenitore.Contenuto.length; ++i) {\r\n if (contenitore.Contenuto[i].CodiceArticolo === acquisto.CodiceArticolo) {\r\n contenitore.Contenuto[i].NumeroLicenze += acquisto.NumeroLicenze;\r\n return true;\r\n }\r\n }\r\n\r\n contenitore.Contenuto.push(acquisto);\r\n return true;\r\n }\r\n }\r\n\r\n public GetCarrelloTotal(): number{\r\n let prezzoTotale: number = 0;\r\n for (let i = 0; i < this.Carrello.length; ++i) {\r\n for (let j = 0; j < this.Carrello[i].Contenuto.length; ++j)\r\n prezzoTotale += this.Carrello[i].Contenuto[j].PrezzoTotale;\r\n }\r\n return prezzoTotale;\r\n }\r\n\r\n public SetPacchettoPrezzoTotale(){\r\n for (let i = 0; i < this.Carrello.length; ++i) {\r\n let prezzoTotale: number = 0;\r\n for (let j = 0; j < this.Carrello[i].Contenuto.length; ++j){\r\n prezzoTotale += this.Carrello[i].Contenuto[j].PrezzoTotale;\r\n }\r\n this.Carrello[i].PrezzoTotale = prezzoTotale;\r\n }\r\n }\r\n\r\n public SetCarrelloLicenzeTotali(): void{\r\n for (let i = 0; i < this.Carrello.length; ++i) {\r\n let licenzeTotali: number = 0;\r\n for (let j = 0; j < this.Carrello[i].Contenuto.length; ++j){\r\n licenzeTotali += this.Carrello[i].Contenuto[j].NumeroLicenze;\r\n }\r\n this.Carrello[i].LicenseTotali = licenzeTotali;\r\n }\r\n\r\n }\r\n\r\n //FUNZIONE DA CHIAMARE PER IL PAGAMENTO CON BONIFICO!\r\n public async AcquistaOra(payment: Payment): Promise {\r\n this.loading = true;\r\n const body: string = JSON.stringify(payment);\r\n const result: any = await this.http.post('/api/shop/confirm', body, {headers: {\r\n 'Content-Type': 'application/json'\r\n }}).toPromise();\r\n\r\n if (result.response === \"ok\") {\r\n this.Carrello = [];\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public RemovePacchetto(elemento: AcquistoPacchetto) {\r\n const quantita = elemento.quantita;\r\n this.Pacchetto.splice(this.Pacchetto.indexOf(elemento), 1);\r\n this.LeftPacchettoScelto -= quantita;\r\n\r\n if (this.Pacchetto.length === 0) {\r\n this.modalService.hide();\r\n }\r\n\r\n }\r\n}\r\n","import { AuthService } from './../AuthService/auth.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StatsService {\r\n\r\n constructor(private http: HttpClient, private auth: AuthService) { }\r\n\r\n public async GetVpCount() {\r\n let params = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID))\r\n .set(\"rivenditore\", this.auth.AuthUser.Username.toUpperCase());\r\n\r\n const result: any = await this.http.get('/api/stats/vpcount', {params}).toPromise();\r\n return result.response\r\n }\r\n\r\n public async GetVpUsed() {\r\n let params = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID))\r\n .set(\"rivenditore\", this.auth.AuthUser.Username.toUpperCase());\r\n\r\n const result: any = await this.http.get('/api/stats/vpused', {params}).toPromise();\r\n return result.response\r\n }\r\n\r\n public async GetB2BCount() {\r\n let params = new HttpParams()\r\n .set(\"id\", String(this.auth.AuthUser.ID))\r\n .set(\"rivenditore\", this.auth.AuthUser.Username.toUpperCase());\r\n\r\n const result: any = await this.http.get('/api/stats/b2bcount', {params}).toPromise();\r\n return result.response;\r\n }\r\n\r\n public async GetExpiringLicenses() {\r\n let params = new HttpParams()\r\n .set(\"rivenditore\", this.auth.AuthUser.Username.toUpperCase());\r\n \r\n const result: any = await this.http.get('/api/stats/licenses', {params}).toPromise();\r\n \r\n return result.response\r\n }\r\n\r\n public async GetVisualPosUsage() {\r\n let params = new HttpParams()\r\n .set(\"rivenditore\", this.auth.AuthUser.Username.toUpperCase())\r\n return await this.http.get('/api/stats/vp', {params}).toPromise();\r\n }\r\n\r\n public async GetModuleUsage() {\r\n let params = new HttpParams()\r\n .set(\"rivenditore\", this.auth.AuthUser.Username.toUpperCase());\r\n return await this.http.get('/api/stats/modules', {params}).toPromise();\r\n }\r\n\r\n}\r\n","import Acquisto from 'src/app/Models/Acquisto';\r\nimport CFG from 'src/app/Models/CFG';\r\n\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { User, Role } from 'src/app/Models/User';\r\nimport Ordine from '../../Models/Ordine';\r\nimport { Payment } from 'src/app/Models/Payment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public async CreateUser(formData: FormData): Promise {\r\n const result: any = await this.http.post('/api/users/create', formData, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async RegisterUser(formData: FormData): Promise {\r\n const result: any = await this.http.post('/api/users/register', formData, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n }\r\n\r\n public async RecoverPass(username: string) {\r\n const result: any = await this.http.post('/api/users/recoverpass', {username}, {}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n\r\n }\r\n\r\n public async DeleteUser(id: number, username: string, piva: string): Promise {\r\n \r\n const params: HttpParams = new HttpParams()\r\n .set(\"id\", String(id))\r\n .set(\"username\", username)\r\n .set(\"piva\", piva)\r\n\r\n const result: any = await this.http.delete('/api/users/delete', {params}).toPromise();\r\n\r\n return result.response === \"ok\";\r\n\r\n }\r\n\r\n public async UpdateUser(user: User, userTipo, id: number, vecchieLicenze: number, idCreatore: number): Promise {\r\n\r\n\r\n //AGGIORNO CREDENZIALI\r\n const result: any = await this.http.post('/api/users/update', {\r\n id: user.ID, username: user.Username, password: user.Password, piva: user.PIVA, rsociale: user.RagioneSociale,\r\n citta: user.Citta, via: user.Via, email: user.Email, pec: user.PEC, sdi: user.SDI, iban: user.IBAN,\r\n intelligence: user.VisualIntelligence, order: user.VisualOrder, reservation: user.VisualReservation,\r\n idCreatore: idCreatore\r\n }, {}).toPromise();\r\n\r\n let softwareAbb: string = \"\";\r\n if (user.SoftwareAbbinatiBoolean.VisualFood) softwareAbb += \"vfood|\";\r\n if (user.SoftwareAbbinatiBoolean.VisualRetail) softwareAbb += \"vretail|\";\r\n if (user.SoftwareAbbinatiBoolean.VisualSelf) softwareAbb += \"vself|\";\r\n if (user.SoftwareAbbinatiBoolean.VisualShop) softwareAbb += \"vshop|\";\r\n\r\n if (vecchieLicenze !== null) {\r\n if (user.Tipo !== undefined ) {\r\n user.Tipo = '';\r\n if (userTipo.S) user.Tipo += 'S';\r\n if (userTipo.P) user.Tipo += 'P';\r\n if (userTipo.C) user.Tipo += 'C';\r\n\r\n\r\n user.ScontoEncrypted = this.EncodeSconto(user.Tipo, user.Sconto);\r\n }\r\n user.ScontoCloudEncrypted = this.EncodeScontoCloud(user.ScontoCloud);\r\n //Concessionario, niente\r\n if (user.Role === 1 || user.Role === 4 || user.Role2 === 1 || user.Role2 === 4) {\r\n\r\n await this.http.post('/api/users/update/tariffe', {\r\n id: user.ID, tipo: user.Tipo, numeroLicenze: user.NumeroLicenzePacchetto,\r\n numeroLicenzeVecchio: vecchieLicenze,\r\n sconto: user.ScontoEncrypted, canone: user.Canone,\r\n software: softwareAbb.substr(0, softwareAbb.length - 1), idCreatore: id,\r\n username: user.Username, piva: user.PIVA, scontorinnovo: user.ScontoRinnovo + '|' + user.ScontoModuli, scontoCloud: user.ScontoCloudEncrypted\r\n }, {}).toPromise();\r\n }\r\n }\r\n\r\n \r\n if (user.Role === 3 || user.Role2 === 3) {\r\n\r\n const body = {\r\n id: user.ID,\r\n username: user.Username,\r\n piva: user.PIVA,\r\n venditasoftware: (user.Provvigione.Software ? user.Provvigione.VenditaSoftware : -1),\r\n rinnovosoftware: (user.Provvigione.Software ? user.Provvigione.RinnovoSoftware : -1),\r\n venditahardware: (user.Provvigione.Hardware ? user.Provvigione.VenditaHardware : -1)\r\n }\r\n\r\n await this.http.post('/api/users/update/segnalatore', body, {}).toPromise();\r\n }\r\n\r\n\r\n let userRole = [];\r\n if (user.Role2 !== undefined) {\r\n userRole = [user.Role, user.Role2];\r\n } else {\r\n userRole = [user.Role]\r\n }\r\n\r\n /*\r\n await this.http.post('/api/sendmailupdate',\r\n {\r\n id: user.ID, username: user.Username, password: user.Password, piva: user.PIVA, RagioneSociale: user.RagioneSociale,\r\n citta: user.Citta, via: user.Via, email: user.Email, pec: user.PEC, sdi: user.SDI, IBAN: user.IBAN,\r\n tipo: user.Tipo, NumeroLicenzePacchetto: user.NumeroLicenzePacchetto,\r\n sconto: user.ScontoEncrypted, canone: user.Canone,\r\n SoftwareAbbinati: softwareAbb.substr(0, softwareAbb.length - 1), Creatore: creatore, UserRole: userRole,\r\n VisualIntelligence: user.VisualIntelligence, VisualOrder: user.VisualOrder, VisualReservation: user.VisualReservation\r\n\r\n }, {}).toPromise();\r\n */\r\n\r\n return (result.response === \"ok\") ? true: false;\r\n\r\n }\r\n\r\n public DecodeSconto(sconto: string) {\r\n\r\n const scontoReturn = {\r\n S: 0,\r\n SBonus: 0,\r\n P: {\r\n Cinque: 0,\r\n Dieci: 0,\r\n Quindici: 0,\r\n Venti: 0\r\n },\r\n PBonus: {\r\n Cinque: 0,\r\n Dieci: 0,\r\n Quindici: 0,\r\n Venti: 0\r\n },\r\n C: 0,\r\n CBonus: 0,\r\n };\r\n\r\n //CONDIZIONI\r\n //LI CONTIENE TUTTI E 3\r\n\r\n const sconti: string[] = sconto.split('-');\r\n for (let i = 0; i < sconti.length; ++i) {\r\n const scontiSplitted: string[] = sconti[i].split(':');\r\n //SINGOLA\r\n if (scontiSplitted[0] === 'S') {\r\n const scontoSingolo: string[] = scontiSplitted[1].split('+');\r\n scontoReturn.S = Number(scontoSingolo[0])\r\n scontoReturn.SBonus = Number(scontoSingolo[1]);\r\n }\r\n //PACCHETTI\r\n if (scontiSplitted[0] === 'P') {\r\n const scontoPacchetti: string[] = scontiSplitted[1].split('|');\r\n for (let i = 0; i < scontoPacchetti.length; ++i) {\r\n const scontoPacchettoSingolo: string[] = scontoPacchetti[i].split('&')[1].split('+');\r\n if (i === 0) {\r\n scontoReturn.P.Cinque = Number(scontoPacchettoSingolo[0]);\r\n scontoReturn.PBonus.Cinque = Number(scontoPacchettoSingolo[1]);\r\n }\r\n if (i === 1) {\r\n scontoReturn.P.Dieci = Number(scontoPacchettoSingolo[0]);\r\n scontoReturn.PBonus.Dieci = Number(scontoPacchettoSingolo[1]);\r\n }\r\n if (i === 2) {\r\n scontoReturn.P.Quindici = Number(scontoPacchettoSingolo[0]);\r\n scontoReturn.PBonus.Quindici = Number(scontoPacchettoSingolo[1]);\r\n }\r\n if (i === 3) {\r\n scontoReturn.P.Venti = Number(scontoPacchettoSingolo[0]);\r\n scontoReturn.PBonus.Venti = Number(scontoPacchettoSingolo[1]);\r\n }\r\n }\r\n }\r\n //CANONE\r\n if (scontiSplitted[0] === 'C') {\r\n const scontoCanone: string[] = scontiSplitted[1].split('+');\r\n scontoReturn.C = Number(scontoCanone[0])\r\n scontoReturn.CBonus = Number(scontoCanone[1]);\r\n }\r\n }\r\n\r\n return scontoReturn;\r\n }\r\n\r\n public DecodeScontoCloud(sconto: string) {\r\n const scontoCloud = {\r\n PrimoScaglione: {\r\n SX: 0,\r\n DX: 0,\r\n PrimoAnno: 0,\r\n PrimoAnnoBonus: 0,\r\n SecondoAnno: 0,\r\n SecondoAnnoBonus: 0,\r\n },\r\n SecondoScaglione: {\r\n SX: 0,\r\n DX: 0,\r\n PrimoAnno: 0,\r\n PrimoAnnoBonus: 0,\r\n SecondoAnno: 0,\r\n SecondoAnnoBonus: 0,\r\n },\r\n TerzoScaglione: {\r\n SX: 0, \r\n DX: -1,\r\n PrimoAnno: 0,\r\n PrimoAnnoBonus: 0,\r\n SecondoAnno: 0,\r\n SecondoAnnoBonus: 0,\r\n }\r\n };\r\n\r\n const sconti: string[] = sconto.split('&');\r\n\r\n //PRIMO SCAGLIONE\r\n const primoScaglione: string = sconti[0];\r\n let range: string = primoScaglione.split('>')[0];\r\n let primoAnno: string = primoScaglione.split('>')[1].split('|')[0];\r\n let secondoAnno: string = primoScaglione.split('>')[1].split('|')[1];\r\n \r\n scontoCloud.PrimoScaglione.SX = Number(range.split(':')[0]);\r\n scontoCloud.PrimoScaglione.DX = Number(range.split(':')[1]);\r\n scontoCloud.PrimoScaglione.PrimoAnno = Number(primoAnno.split('+')[0]);\r\n scontoCloud.PrimoScaglione.PrimoAnnoBonus = Number(primoAnno.split('+')[1]);\r\n scontoCloud.PrimoScaglione.SecondoAnno = Number(secondoAnno.split('+')[0]);\r\n scontoCloud.PrimoScaglione.SecondoAnnoBonus = Number(secondoAnno.split('+')[1]);\r\n\r\n //SECONDO SCAGLIONE\r\n const secondoScaglione: string = sconti[1];\r\n range = secondoScaglione.split('>')[0];\r\n primoAnno = secondoScaglione.split('>')[1].split('|')[0];\r\n secondoAnno = secondoScaglione.split('>')[1].split('|')[1];\r\n\r\n scontoCloud.SecondoScaglione.SX = Number(range.split(':')[0]);\r\n scontoCloud.SecondoScaglione.DX = Number(range.split(':')[1]);\r\n scontoCloud.SecondoScaglione.PrimoAnno = Number(primoAnno.split('+')[0]);\r\n scontoCloud.SecondoScaglione.PrimoAnnoBonus = Number(primoAnno.split('+')[1]);\r\n scontoCloud.SecondoScaglione.SecondoAnno = Number(secondoAnno.split('+')[0]);\r\n scontoCloud.SecondoScaglione.SecondoAnnoBonus = Number(secondoAnno.split('+')[1]);\r\n\r\n //TERZO SCAGLIONE\r\n const terzoScaglione: string = sconti[2];\r\n range = terzoScaglione.split('>')[0];\r\n primoAnno = terzoScaglione.split('>')[1].split('|')[0];\r\n secondoAnno = terzoScaglione.split('>')[1].split('|')[1];\r\n\r\n scontoCloud.TerzoScaglione.SX = Number(range.split(':')[0]);\r\n scontoCloud.TerzoScaglione.DX = Number(range.split(':')[1]);\r\n scontoCloud.TerzoScaglione.PrimoAnno = Number(primoAnno.split('+')[0]);\r\n scontoCloud.TerzoScaglione.PrimoAnnoBonus = Number(primoAnno.split('+')[1]);\r\n scontoCloud.TerzoScaglione.SecondoAnno = Number(secondoAnno.split('+')[0]);\r\n scontoCloud.TerzoScaglione.SecondoAnnoBonus = Number(secondoAnno.split('+')[1]);\r\n\r\n return scontoCloud;\r\n }\r\n\r\n public EncodeSconto(tipo: string, decryptedSconto: any) {\r\n /*\r\n const scontoReturn = {\r\n S: 0,\r\n SBonus: 0,\r\n P: {\r\n Cinque: 0,\r\n Dieci: 0,\r\n Quindici: 0,\r\n Venti: 0\r\n },\r\n PBonus: {\r\n Cinque: 0,\r\n Dieci: 0,\r\n Quindici: 0,\r\n Venti: 0\r\n },\r\n C: 0,\r\n CBonus: 0,\r\n };\r\n */\r\n\r\n\r\n let sconto: string = \"\";\r\n\r\n if (tipo.includes('S')) {\r\n sconto += \"S:\" + decryptedSconto.S + \"+\" + decryptedSconto.SBonus;\r\n sconto += '-';\r\n }\r\n\r\n if (tipo.includes('P')) {\r\n sconto += \"P:\";\r\n //5\r\n sconto += \"5&\" + decryptedSconto.P.Cinque + \"+\" + decryptedSconto.PBonus.Cinque + \"|\";\r\n //10\r\n sconto += \"10&\" + decryptedSconto.P.Dieci + \"+\" + decryptedSconto.PBonus.Dieci + \"|\";\r\n //15\r\n sconto += \"15&\" + decryptedSconto.P.Quindici + \"+\" + decryptedSconto.PBonus.Quindici + \"|\";\r\n //20\r\n sconto += \"20&\" + decryptedSconto.P.Venti + \"+\" + decryptedSconto.PBonus.Venti;\r\n\r\n sconto += '-';\r\n }\r\n if (tipo.includes('C')) {\r\n sconto += \"C:\" + decryptedSconto.C + \"+\" + decryptedSconto.CBonus;\r\n sconto += '-';\r\n }\r\n return sconto.substring(0, sconto.length - 1);\r\n }\r\n\r\n public EncodeScontoCloud(decriptedSconto: any): string {\r\n let sconto: string = \"\";\r\n\r\n //PRIMO SCAGLIONE\r\n sconto += `${decriptedSconto.PrimoScaglione.SX}:${decriptedSconto.PrimoScaglione.DX}>${decriptedSconto.PrimoScaglione.PrimoAnno}+${decriptedSconto.PrimoScaglione.PrimoAnnoBonus}|${decriptedSconto.PrimoScaglione.SecondoAnno}+${decriptedSconto.PrimoScaglione.SecondoAnnoBonus}&`\r\n\r\n //SECONDO SCAGLIONE\r\n sconto += `${decriptedSconto.SecondoScaglione.SX}:${decriptedSconto.SecondoScaglione.DX}>${decriptedSconto.SecondoScaglione.PrimoAnno}+${decriptedSconto.SecondoScaglione.PrimoAnnoBonus}|${decriptedSconto.SecondoScaglione.SecondoAnno}+${decriptedSconto.SecondoScaglione.SecondoAnnoBonus}&`\r\n \r\n //TERZO SCAGLIONE\r\n sconto += `${decriptedSconto.TerzoScaglione.SX}:${decriptedSconto.TerzoScaglione.DX}>${decriptedSconto.TerzoScaglione.PrimoAnno}+${decriptedSconto.TerzoScaglione.PrimoAnnoBonus}|${decriptedSconto.TerzoScaglione.SecondoAnno}+${decriptedSconto.TerzoScaglione.SecondoAnnoBonus}`\r\n \r\n return sconto;\r\n }\r\n\r\n\r\n //Cambio lo stato dell'USER...SOLO GAB\r\n //0: attivo, 1: sospeso, 2:disattivo\r\n public async SetUserState(user: User): Promise {\r\n \r\n if (user.Stato === 0) {\r\n const result: any = await this.http.post('/api/users/state', {id: user.ID, stato: '1'}, {}).toPromise();\r\n\r\n user.Stato = 1;\r\n\r\n return result.response === \"ok\";\r\n }\r\n if (user.Stato === 1) {\r\n\r\n const result: any = await this.http.post('/api/users/state', {id: user.ID, stato: '2'}, {}).toPromise();\r\n\r\n user.Stato = 2;\r\n\r\n return result.response === \"ok\";\r\n }\r\n if (user.Stato === 2) {\r\n\r\n const result: any = await this.http.post('/api/users/state', {id: user.ID, stato: '0'}, {}).toPromise();\r\n\r\n user.Stato = 0;\r\n\r\n return result.response === \"ok\";\r\n }\r\n }\r\n\r\n //GETACQUISTI\r\n public async GetStorico(user: User): Promise {\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"username\", user.Username)\r\n .set(\"piva\", user.PIVA)\r\n .set(\"id\", String(user.ID))\r\n .set(\"role\", String(user.Role));\r\n\r\n const result: any = await this.http.get('/api/users/storico', {params}).toPromise();\r\n if (user.Role === Role.USER) {\r\n const list: Ordine[] = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n const ordine: Ordine = new Ordine();\r\n\r\n ordine.ID = result[i].id;\r\n ordine.Username = result[i].Username;\r\n ordine.Piva = result[i].piva;\r\n ordine.NumeroLicenze = result[i].numeroLicenze;\r\n\r\n ordine.CodiceArticolo = result[i].codiceArticolo;\r\n ordine.DataOrdine = result[i].dataOrdine;\r\n\r\n ordine.CodiceOrdine = result[i].codiceOrdine;\r\n ordine.Totale = result[i].totale;\r\n\r\n ordine.Descrizione = result[i].descrizione;\r\n\r\n list.push(ordine);\r\n\r\n }\r\n\r\n\r\n return list;\r\n } else {\r\n const list: Acquisto[] = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n const acquisto: Acquisto = new Acquisto();\r\n\r\n acquisto.ID = result[i].id;\r\n acquisto.Username = result[i].username;\r\n acquisto.PIVA = result[i].piva;\r\n acquisto.CodiceArticolo = result[i].codiceArticolo;\r\n acquisto.Descrizione = result[i].descrizione;\r\n acquisto.DataOrdine = result[i].dataOrdine;\r\n acquisto.NumeroLicenze = result[i].numeroLicenze;\r\n acquisto.PrezzoScontato = result[i].prezzoScontato;\r\n acquisto.PrezzoTotale = result[i].prezzoTotale;\r\n acquisto.Tipo = result[i].tipo;\r\n\r\n list.push(acquisto);\r\n }\r\n\r\n return list;\r\n }\r\n }\r\n\r\n public async GetCFG(piva: string) {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"piva\", piva);\r\n\r\n return await this.http.get('/api/users/cfg', {params}).toPromise();\r\n }\r\n\r\n public async DeleteCFG(piva: string, id: number) {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"piva\", piva).set('id', String(id));\r\n\r\n return await this.http.delete('/api/users/cfg', {params}).toPromise();\r\n \r\n }\r\n\r\n public async SaveCFG(piva: string, cfg: CFG) {\r\n cfg.piva = piva;\r\n \r\n\r\n return await this.http.post('/api/users/cfg', cfg, {}).toPromise();\r\n }\r\n\r\n public async UpdateCFG(piva: string, cfg: CFG) {\r\n cfg.piva = piva;\r\n\r\n return await this.http.put('/api/users/cfg', cfg, {}).toPromise();\r\n }\r\n\r\n //GETSTORICO\r\n public async GetPagamenti(user: User): Promise {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"username\", user.Username)\r\n .set(\"piva\", user.PIVA)\r\n .set(\"id\", String(user.ID));\r\n\r\n const result: any = await this.http.get('/api/users/pagamenti', {params}).toPromise();\r\n\r\n const list: Payment[] = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n const payment: Payment = new Payment(result[i].iD_ut, result[i].username_ut, result[i].piva_ut, result[i].totale, result[i].tipo);\r\n payment.Data = result[i].data;\r\n\r\n list.push(payment);\r\n }\r\n\r\n return list;\r\n }\r\n\r\n public async UpdatePassword(id: number, oldPassword: string, newPassword: string): Promise {\r\n const object = {\r\n id, oldPassword, newPassword\r\n }\r\n\r\n const body: string = JSON.stringify(object);\r\n\r\n const result: any = await this.http.post('/api/users/updatepassword', body, {headers: {\r\n 'Content-Type': 'application/json'\r\n }}).toPromise();\r\n\r\n if (result.response === 'ko') {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n public async LoadUsers(creatore: string): Promise {\r\n const params: HttpParams = new HttpParams()\r\n .set('creatore', creatore);\r\n\r\n const result: any = await this.http.get('/api/users', {params}).toPromise();\r\n\r\n const Users: User[] = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n\r\n const user: User = this.GenerateUser(result[i]);\r\n Users.push(user)\r\n }\r\n\r\n return Users;\r\n }\r\n\r\n private GenerateUser(result: any): User {\r\n const user: User = new User();\r\n user.CreateUser(result.username, result.password, result.userRole[0], result.userRole[1], result.piva, result.ragioneSociale, result.citta, result.via, result.email, result.pec, result.sdi, result.iban);\r\n\r\n user.Key = result.key;\r\n\r\n user.ID = result.id;\r\n user.Creatore = result.creatore;\r\n user.Segnalatore = result.segnalatore;\r\n\r\n user.VisualIntelligence = result.visualIntelligence;\r\n user.VisualOrder = result.visualOrder;\r\n user.VisualReservation = result.visualReservation;\r\n\r\n if (user.Role === 0) {\r\n user.Permessi = result.permessi;\r\n user.DecryptPermessi();\r\n }\r\n\r\n if (user.Role === 3 || user.Role2 === 3) {\r\n const provvigioni: string[] = result.provvigioni.split('|');\r\n\r\n // PROVVIGIONI SOFTWARE\r\n if (+provvigioni[0] === -1 && +provvigioni[1] === -1) {\r\n user.Provvigione.Software = false;\r\n user.Provvigione.VenditaSoftware = 0;\r\n user.Provvigione.RinnovoSoftware = 0;\r\n } else {\r\n user.Provvigione.Software = true;\r\n user.Provvigione.VenditaSoftware = +provvigioni[0];\r\n user.Provvigione.RinnovoSoftware = +provvigioni[1];\r\n }\r\n // PROVVIGIONI HARDWARE\r\n if (+provvigioni[2] === -1) {\r\n user.Provvigione.Hardware = false;\r\n user.Provvigione.VenditaHardware = 0;\r\n } else {\r\n user.Provvigione.Hardware = true;\r\n user.Provvigione.VenditaHardware = +provvigioni[2];\r\n }\r\n }\r\n\r\n if (user.Role === 1 || user.Role2 === 1 || user.Role === 4 || user.Role2 === 4) {\r\n user.Tipo = result.tipo;\r\n //SCONTO\r\n user.Sconto = this.DecodeSconto(result.sconto);\r\n //SCONTO CLOUD\r\n if (result.scontoCloud !== \"\") {\r\n user.ScontoCloud = this.DecodeScontoCloud(result.scontoCloud);\r\n }\r\n //CANONE\r\n user.NumeroLicenzePacchetto = result.numeroLicenzePacchetto;\r\n\r\n //SCONTO RINNOVO\r\n const scontiSpeciali: string[] = result.scontiSpeciali.split('|');\r\n user.ScontoRinnovo = scontiSpeciali[0];\r\n user.ScontoModuli = scontiSpeciali[1];\r\n\r\n\r\n if (user.Tipo.includes('C')) {\r\n user.Canone = result.canone;\r\n\r\n //SOFTWARE ABBINATI\r\n user.SoftwareAbbinati = result.softwareAbbinati;\r\n const stringsplit : string[] = user.SoftwareAbbinati.split('|');\r\n\r\n for (let i = 0; i < stringsplit.length; ++i) {\r\n if (stringsplit[i] === 'vfood') {\r\n user.SoftwareAbbinatiBoolean.VisualFood = true;\r\n }\r\n if (stringsplit[i] === 'vself') {\r\n user.SoftwareAbbinatiBoolean.VisualSelf = true;\r\n }\r\n if (stringsplit[i] === 'vretail') {\r\n user.SoftwareAbbinatiBoolean.VisualRetail = true;\r\n }\r\n if (stringsplit[i] === 'vshop') {\r\n user.SoftwareAbbinatiBoolean.VisualShop = true;\r\n }\r\n }\r\n\r\n }\r\n }\r\n user.Stato = result.stato;\r\n\r\n return user;\r\n }\r\n\r\n public async GetIdByUsername(username: string): Promise {\r\n\r\n const params: HttpParams = new HttpParams()\r\n .set(\"username\", username);\r\n \r\n const result: any = await this.http.get('/api/users/id', {params}).toPromise();\r\n\r\n return result.response as number;\r\n }\r\n\r\n public async SetPermessi(user: User) {\r\n\r\n return await this.http.post('/api/admin/permessi', \r\n {permessi: user.Permessi, id: user.ID}).toPromise();\r\n }\r\n\r\n public async GetSoftwareConfig(Username: string): Promise {\r\n const params: HttpParams = new HttpParams()\r\n .set(\"username\", Username);\r\n \r\n const result: any = await this.http.get('/api/users/softwareconfig', {params}).toPromise();\r\n\r\n return result.softcodes;\r\n }\r\n\r\n public async SetSoftwareConfig(Username: string, softCodes: string[]) {\r\n return await this.http.post('/api/users/softwareconfig', \r\n {username: Username, softcodes: softCodes}).toPromise();\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\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 { AuthService } from './../Services/AuthService/auth.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.scss']\r\n})\r\nexport class AdminComponent implements OnInit {\r\n\r\n public Loading: boolean = false;\r\n constructor(public auth: AuthService, private router: Router) { \r\n }\r\n\r\n async ngOnInit() {\r\n await this.Init();\r\n\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName('li');\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'admin') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].className += \" active\";\r\n }\r\n }\r\n\r\n }\r\n\r\n private async Init() {\r\n\r\n this.auth.Ready = false;\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n this.auth.Ready = true;\r\n }\r\n\r\n private async LocalValidation() {\r\n \r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n \r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if(valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.IsLogin = true;\r\n this.auth.Ready = false;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n}\r\n","import { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { UserService } from './../../Services/UserService/user.service';\r\nimport { LogRow } from './../../Models/Log';\r\nimport { LogService } from './../../Services/Admin/log.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Log } from '../../Models/Log'\r\nimport { User } from 'src/app/Models/User';\r\nimport { faInfoCircle, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n@Component({\r\n selector: 'app-log',\r\n templateUrl: './log.component.html',\r\n styleUrls: ['./log.component.scss']\r\n})\r\nexport class LogComponent implements OnInit {\r\n\r\n public AllLogs: LogRow[];\r\n public Logs: LogRow[]; //PAGED LOGS\r\n public StartDate: Date;\r\n public EndDate: Date;\r\n public TodayString: string = new Date(new Date().getTime() - (new Date().getTimezoneOffset() * 60000)).toISOString().split(\"T\")[0];\r\n\r\n public LoadingLocal: boolean = false;\r\n public TotalPages: number;\r\n public ActivePage: number = 0;\r\n\r\n //FILTRI\r\n public AllUsers: User[] = [];\r\n public SelectedUser: User = null;\r\n\r\n public IsLogin: boolean = false;\r\n\r\n // ICONS\r\n public faInfo: IconDefinition = faInfoCircle;\r\n\r\n\r\n constructor(public LogService: LogService, public UserService: UserService, public auth: AuthService) { \r\n this.EndDate = new Date();\r\n this.EndDate.setHours(23, 59);\r\n\r\n this.StartDate = new Date();\r\n this.StartDate.setHours(0, 1);\r\n\r\n this.Logs = [];\r\n }\r\n\r\n async ngOnInit() {\r\n \r\n await this.Filter();\r\n \r\n this.AllUsers = await this.UserService.LoadUsers(this.auth.AuthUser.Username);\r\n }\r\n\r\n public async Filter() {\r\n this.LoadingLocal = true;\r\n\r\n this.Logs = [];\r\n this.AllLogs = [];\r\n\r\n const Logs: Log[] = await this.LogService.GetLogs(this.StartDate, this.EndDate);\r\n\r\n Logs.forEach(log => {\r\n log.Logs.forEach(logrow => {\r\n \r\n //SELECTED USER PART\r\n if (this.SelectedUser === null) {\r\n this.AllLogs.push(logrow);\r\n return;\r\n }\r\n\r\n if (logrow.User.toLowerCase() === this.SelectedUser.Username.toLowerCase()) {\r\n this.AllLogs.push(logrow);\r\n return;\r\n }\r\n\r\n });\r\n })\r\n this.FilterPage(0);\r\n\r\n this.LoadingLocal = false;\r\n }\r\n\r\n public FilterPage(index: number) {\r\n //FILTRO I LOGS\r\n //TotalPages è il numero delle pagine disponibili\r\n\r\n this.Logs = [];\r\n \r\n this.AllLogs.forEach(logRow => {\r\n if (!logRow.OP.toLowerCase().includes('login')) {\r\n this.Logs.push(logRow);\r\n return;\r\n }\r\n\r\n if (this.IsLogin) this.Logs.push(logRow);\r\n });\r\n\r\n const startIndex: number = index * 15;\r\n const endIndex: number = ((index + 1) * 15 < this.Logs.length) ? (index + 1) * 15 : this.Logs.length;\r\n \r\n\r\n this.TotalPages = Math.ceil(this.Logs.length / 15);\r\n\r\n this.Logs = this.Logs.slice(startIndex, endIndex);\r\n \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
UTENTEDATAORAIP PUBBLICOOPERAZIONE
{{log.User}}{{log.Date}}{{log.Time}}{{log.IP}}{{log.OP}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import {Component, Input, OnInit} from '@angular/core';\r\nimport SoftwareListino from \"../../../Models/SoftwareListino\";\r\nimport {AuthService} from \"../../../Services/AuthService/auth.service\";\r\nimport {Router} from \"@angular/router\";\r\nimport {BsModalService} from \"ngx-bootstrap/modal\";\r\nimport {UserStoreService} from \"../../../Services/Admin/user-store.service\";\r\nimport {AlertService} from \"ngx-alerts\";\r\nimport {PaymentService} from \"../../../Services/Payment/payment.service\";\r\n\r\n@Component({\r\n selector: 'app-crea-elemento',\r\n templateUrl: './crea-elemento.component.html',\r\n styleUrls: ['./crea-elemento.component.scss']\r\n})\r\nexport class CreaElementoComponent implements OnInit {\r\n @Input() NuovoListino;\r\n @Input() Categorie;\r\n url: any;\r\n CodiceListino:string=\"\";\r\n ErroreCodiceListino:boolean = false;\r\n ErroreCodiceListinoSpazi: boolean = false;\r\n NomeProdotto:string=\"\";\r\n ErroreNomeProdotto:boolean = false;\r\n CostoProdotto:number;\r\n ErroreCostoProdottoNull:boolean = false;\r\n ErroreCostoProdottoZero:boolean = false;\r\n ErroreCostoProdottoLettere:boolean = false;\r\n DescrizioneProdotto:string = \"\";\r\n ErroreDescrizioneProdotto:boolean = false;\r\n ErroreDescrizioneProdottoLength:boolean = false;\r\n ErroreRisoluzioneImmagine:boolean= false;\r\n ErroreFormatoImmagine: boolean = false;\r\n tastiPremuti:number;\r\n constructor(private auth: AuthService, private router: Router, public modalService: BsModalService, private userStore: UserStoreService, private alert: AlertService, public payment: PaymentService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.tastiPremuti = 0;\r\n this.NomeProdotto = '';\r\n this.CodiceListino = this.NuovoListino.CodiceArticolo;\r\n this.DescrizioneProdotto = '';\r\n this.CostoProdotto = 1;\r\n }\r\n onSelectFile(event) { // called each time file input changes\r\n let img = new Image()\r\n try {\r\n img.src = window.URL.createObjectURL(event.target.files[0]);\r\n img.onload = () => {\r\n if((img.width/img.height) === 1) {\r\n if (img.width >= 200 && img.height >= 200){\r\n this.NuovoListino.Img = event.target.files[0];\r\n this.ErroreRisoluzioneImmagine = false;\r\n this.ErroreFormatoImmagine = false;\r\n }else{\r\n this.ErroreRisoluzioneImmagine = true;\r\n this.ErroreFormatoImmagine = false;\r\n let resetForm = document.getElementById('uploadImageForm');\r\n resetForm.reset();\r\n this.NuovoListino.Img =null;\r\n }\r\n // upload logic here\r\n } else {\r\n this.ErroreRisoluzioneImmagine = false;\r\n this.ErroreFormatoImmagine = true;\r\n let resetForm = document.getElementById('uploadImageForm');\r\n resetForm.reset();\r\n this.NuovoListino.Img =null;\r\n }\r\n }\r\n } catch (e) {\r\n \r\n }\r\n }\r\n InputCodiceListino(){\r\n this.tastiPremuti++;\r\n if (this.CodiceListino.length === 0){\r\n this.ErroreCodiceListino = true;\r\n this.ErroreCodiceListinoSpazi = false;\r\n }else if(this.CodiceListino.includes(' ')){\r\n this.ErroreCodiceListinoSpazi = true;\r\n this.ErroreCodiceListino = false;\r\n } else {\r\n this.NuovoListino.CodiceArticolo = this.CodiceListino;\r\n this.ErroreCodiceListinoSpazi = false;\r\n this.ErroreCodiceListino = false;\r\n }\r\n }\r\n InputNomeProdotto(){\r\n this.tastiPremuti++;\r\n if(this.NomeProdotto.length === 0){\r\n this.ErroreNomeProdotto = true;\r\n }else{\r\n this.NuovoListino.Descrizione= this.NomeProdotto;\r\n this.ErroreNomeProdotto = false\r\n }\r\n }\r\n InputCostoProdotto(){\r\n this.tastiPremuti++;\r\n let CostoProdottoTemp = String(this.CostoProdotto).replace(/[e\\+\\-]/gi, \"\");\r\n this.CostoProdotto = Number(CostoProdottoTemp);\r\n let roundedString = this.CostoProdotto.toFixed(2); //Arrotondamento\r\n this.CostoProdotto = Number(roundedString);\r\n if(isNaN(this.CostoProdotto)){\r\n this.ErroreCostoProdottoNull = true;\r\n this.ErroreCostoProdottoZero = false;\r\n this.ErroreCostoProdottoLettere = false;\r\n\r\n }else if(this.CostoProdotto === 0){\r\n this.ErroreCostoProdottoNull = false;\r\n this.ErroreCostoProdottoZero = true;\r\n this.ErroreCostoProdottoLettere = false;\r\n\r\n }else{\r\n this.NuovoListino.Costo = this.CostoProdotto;\r\n this.ErroreCostoProdottoNull = false;\r\n this.ErroreCostoProdottoZero = false;\r\n this.ErroreCostoProdottoLettere = false;\r\n }\r\n\r\n }\r\n InputDescrizioneProdotto(){\r\n this.tastiPremuti++;\r\n if(this.DescrizioneProdotto.length == 0){\r\n this.ErroreDescrizioneProdotto = true;\r\n } else if(this.DescrizioneProdotto.length > 5000){\r\n this.ErroreDescrizioneProdottoLength= true;\r\n this.ErroreDescrizioneProdotto = false;\r\n }else{\r\n this.NuovoListino.Testo = this.DescrizioneProdotto;\r\n this.ErroreDescrizioneProdottoLength= false;\r\n this.ErroreDescrizioneProdotto = false;\r\n }\r\n }\r\n public async Upload() {\r\n //CHECK...SE NON HO INSERITO TUTTI I CAMPI, ALERT.\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const result: boolean = await this.userStore.UploadListino(this.NuovoListino, id);\r\n if (result) {\r\n this.modalService.hide();\r\n this.alert.success(\"Elemento aggiunto con successo\");\r\n const ListinoAdd = Object.assign({}, this.NuovoListino);\r\n this.Categorie.find(cat => cat.ID === ListinoAdd.IdCat).Elementi.push(ListinoAdd);\r\n this.NuovoListino = new SoftwareListino();\r\n } else {\r\n this.alert.danger(\"Il codice listino esiste già\");\r\n }\r\n }\r\n async checkFormValidity(){\r\n if(this.tastiPremuti === 0){\r\n this.ErroreCodiceListino = true;\r\n this.ErroreNomeProdotto = true;\r\n this.ErroreCostoProdottoZero = true;\r\n this.ErroreDescrizioneProdotto = true;\r\n }else{\r\n let errori = 0;\r\n\r\n if (this.CodiceListino === ''){\r\n this.ErroreCodiceListino = true;\r\n errori++;\r\n }\r\n if(this.NomeProdotto === ''){\r\n this.ErroreNomeProdotto = true;\r\n errori++;\r\n }\r\n if(this.CostoProdotto === 0){\r\n this.ErroreCostoProdottoZero = true;\r\n errori++;\r\n }\r\n if(this.DescrizioneProdotto === ''){\r\n this.ErroreDescrizioneProdotto = true;\r\n errori++;\r\n }\r\n if(this.ErroreCodiceListino || this.ErroreNomeProdotto || this.ErroreCostoProdottoNull || this.ErroreCostoProdottoLettere || this.ErroreCostoProdottoZero\r\n || this.ErroreDescrizioneProdotto || this.ErroreDescrizioneProdottoLength){\r\n this.alert.danger('Campi mancanti');\r\n } else{\r\n await this.Upload();\r\n\r\n }\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

Inserimento nuovo prodotto

\r\n
\r\n
\r\n
\r\n \r\n Codice listino è obbligatorio\r\n Codice listino non può contenere spazi\r\n \r\n Nome prodotto è obbligatorio\r\n\r\n \r\n Il costo è obbligatorio\r\n Il costo deve essere maggiore di 0\r\n Il costo deve avere solo numeri\r\n\r\n \r\n La descrizione è obbligatoria\r\n Descrizione troppo lunga\r\n
\r\n Carica l'immagine del prodotto
\r\n\r\n
\r\n \r\n L'immagine non rispetta il formato 1:1\r\n La risoluzione dell'immagine deve essere almeno 200 x 200\r\n
\r\n
    \r\n
  • È preferibile che la risoluzione sia 500 x 500
  • \r\n
  • Deve avere risoluzione superiore a 200 x 200
  • \r\n
  • Deve essere in formato 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
  • Annulla
  • \r\n
  • Conferma
  • \r\n
\r\n
\r\n
\r\n","import { IsDev } from './../../../global';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-img-viewer',\r\n templateUrl: './img-viewer.component.html',\r\n styleUrls: ['./img-viewer.component.scss']\r\n})\r\nexport class ImgViewerComponent implements OnInit {\r\n\r\n @Input() public ImgName: string;\r\n\r\n public BaseUrl: string = '';\r\n\r\n constructor() {\r\n if (IsDev.active) {\r\n this.BaseUrl = \"https://localhost/ImgListino/\"\r\n } else {\r\n this.BaseUrl = \"https://www.gabservizi.it/ImgListino/\";\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n}\r\n","\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {AuthService} from \"../../../Services/AuthService/auth.service\";\r\nimport {Router} from \"@angular/router\";\r\nimport {BsModalService} from \"ngx-bootstrap/modal\";\r\nimport {UserStoreService} from \"../../../Services/Admin/user-store.service\";\r\nimport {AlertService} from \"ngx-alerts\";\r\nimport {PaymentService} from \"../../../Services/Payment/payment.service\";\r\nimport SoftwareListino from \"../../../Models/SoftwareListino\";\r\n\r\n@Component({\r\n selector: 'app-modifica-elemento',\r\n templateUrl: './modifica-elemento.component.html',\r\n styleUrls: ['./modifica-elemento.component.scss']\r\n})\r\nexport class ModificaElementoComponent implements OnInit {\r\n\r\n @Input() ListinoModifica;\r\n @Input() Categorie;\r\n\r\n\r\n url: any;\r\n CodiceListino:string=\"\";\r\n ErroreCodiceListino:boolean = false;\r\n ErroreCodiceListinoSpazi: boolean = false;\r\n NomeProdotto:string=\"\";\r\n ErroreNomeProdotto:boolean = false;\r\n CostoProdotto:number;\r\n ErroreCostoProdottoNull:boolean = false;\r\n ErroreCostoProdottoZero:boolean = false;\r\n ErroreCostoProdottoLettere:boolean = false;\r\n DescrizioneProdotto:string = \"\";\r\n ErroreDescrizioneProdotto:boolean = false;\r\n ErroreDescrizioneProdottoLength:boolean = false;\r\n ErroreRisoluzioneImmagine:boolean= false;\r\n ErroreFormatoImmagine: boolean = false;\r\n tastiPremuti:number;\r\n\r\n\r\n constructor(private auth: AuthService, private router: Router, public modalService: BsModalService, private userStore: UserStoreService, private alert: AlertService, public payment: PaymentService) { }\r\n\r\n ngOnInit(): void {\r\n this.tastiPremuti = 0;\r\n this.NomeProdotto = this.ListinoModifica.Descrizione;\r\n this.CodiceListino = this.ListinoModifica.CodiceArticolo;\r\n this.DescrizioneProdotto = this.ListinoModifica.Testo;\r\n this.CostoProdotto = this.ListinoModifica.Costo;\r\n }\r\n onSelectFile(event) { // called each time file input changes\r\n let img = new Image()\r\n try {\r\n img.src = window.URL.createObjectURL(event.target.files[0]);\r\n img.onload = () => {\r\n if((img.width/img.height) === 1) {\r\n if (img.width >= 200 && img.height >= 200){\r\n this.ListinoModifica.Img = event.target.files[0];\r\n this.ErroreRisoluzioneImmagine = false;\r\n this.ErroreFormatoImmagine = false;\r\n }else{\r\n this.ErroreRisoluzioneImmagine = true;\r\n this.ErroreFormatoImmagine = false;\r\n let resetForm = document.getElementById('uploadImageForm');\r\n resetForm.reset();\r\n this.ListinoModifica.Img =null;\r\n }\r\n // upload logic here\r\n } else {\r\n this.ErroreRisoluzioneImmagine = false;\r\n this.ErroreFormatoImmagine = true;\r\n let resetForm = document.getElementById('uploadImageForm');\r\n resetForm.reset();\r\n this.ListinoModifica.Img =null;\r\n }\r\n }\r\n } catch (e) {\r\n \r\n }\r\n }\r\n InputCodiceListino(){\r\n this.tastiPremuti++;\r\n if (this.CodiceListino.length === 0){\r\n this.ErroreCodiceListino = true;\r\n this.ErroreCodiceListinoSpazi = false;\r\n }else if(this.CodiceListino.includes(' ')){\r\n this.ErroreCodiceListinoSpazi = true;\r\n this.ErroreCodiceListino = false;\r\n } else {\r\n this.ListinoModifica.CodiceArticolo = this.CodiceListino;\r\n this.ErroreCodiceListinoSpazi = false;\r\n this.ErroreCodiceListino = false;\r\n }\r\n }\r\n InputNomeProdotto(){\r\n this.tastiPremuti++;\r\n if(this.NomeProdotto.length === 0){\r\n this.ErroreNomeProdotto = true;\r\n }else{\r\n this.ListinoModifica.Descrizione= this.NomeProdotto;\r\n this.ErroreNomeProdotto = false\r\n }\r\n }\r\n InputCostoProdotto(){\r\n let CostoProdottoTemp = String(this.CostoProdotto).replace(/[e\\+\\-]/gi, \"\");\r\n this.CostoProdotto = Number(CostoProdottoTemp);\r\n let roundedString = this.CostoProdotto.toFixed(2); //Arrotondamento\r\n this.CostoProdotto = Number(roundedString);\r\n if(isNaN(this.CostoProdotto)){\r\n this.ErroreCostoProdottoNull = true;\r\n this.ErroreCostoProdottoZero = false;\r\n this.ErroreCostoProdottoLettere = false;\r\n\r\n }else if(this.CostoProdotto === 0){\r\n this.ErroreCostoProdottoNull = false;\r\n this.ErroreCostoProdottoZero = true;\r\n this.ErroreCostoProdottoLettere = false;\r\n\r\n }else{\r\n this.ListinoModifica.Costo = this.CostoProdotto;\r\n this.ErroreCostoProdottoNull = false;\r\n this.ErroreCostoProdottoZero = false;\r\n this.ErroreCostoProdottoLettere = false;\r\n }\r\n\r\n }\r\n InputDescrizioneProdotto(){\r\n this.tastiPremuti++;\r\n if(this.DescrizioneProdotto.length == 0){\r\n this.ErroreDescrizioneProdotto = true;\r\n } else if(this.DescrizioneProdotto.length > 5000){\r\n this.ErroreDescrizioneProdottoLength= true;\r\n this.ErroreDescrizioneProdotto = false;\r\n }else{\r\n this.ListinoModifica.Testo = this.DescrizioneProdotto;\r\n this.ErroreDescrizioneProdottoLength= false;\r\n this.ErroreDescrizioneProdotto = false;\r\n }\r\n }\r\n public async Upload() {\r\n\r\n //CHECK...SE NON HO INSERITO TUTTI I CAMPI, ALERT.\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const result: boolean = await this.userStore.UploadListino(this.ListinoModifica, id);\r\n if (result) {\r\n this.modalService.hide();\r\n this.alert.success(\"Elemento aggiunto con successo\");\r\n\r\n const ListinoAdd = Object.assign({}, this.ListinoModifica);\r\n this.Categorie.find(cat => cat.ID === ListinoAdd.IdCat).Elementi.push(ListinoAdd);\r\n\r\n this.ListinoModifica = new SoftwareListino();\r\n\r\n } else {\r\n this.alert.danger(\"Impossibile aggiungere l'elemento\");\r\n }\r\n }\r\n async checkFormValidity(){\r\n\r\n let errori = 0;\r\n if (this.CodiceListino === ''){\r\n this.ErroreCodiceListino = true;\r\n errori++;\r\n }\r\n if(this.NomeProdotto === ''){\r\n this.ErroreNomeProdotto = true;\r\n errori++;\r\n }\r\n if(this.CostoProdotto === 0){\r\n this.ErroreCostoProdottoZero = true;\r\n errori++;\r\n }\r\n if(this.DescrizioneProdotto === ''){\r\n this.ErroreDescrizioneProdotto = true;\r\n errori++;\r\n }\r\n if(this.ErroreCodiceListino || this.ErroreNomeProdotto || this.ErroreCostoProdottoNull || this.ErroreCostoProdottoLettere || this.ErroreCostoProdottoZero\r\n || this.ErroreDescrizioneProdotto || this.ErroreDescrizioneProdottoLength){\r\n this.alert.danger('Campi mancanti');\r\n } else{\r\n await this.EditListino();\r\n this.modalService.hide();\r\n }\r\n }\r\n\r\n public async EditListino() {\r\n //CHECK...SE NON HO INSERITO TUTTI I CAMPI, ALERT.\r\n if (this.ListinoModifica.CodiceArticolo === '' || this.ListinoModifica.Descrizione === '' || this.ListinoModifica.Costo === 0) {\r\n this.alert.danger('I campi non sono correttamente inseriti');\r\n return false;\r\n }\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const result: boolean = await this.userStore.EditListino(this.ListinoModifica, id);\r\n\r\n if (result) {\r\n this.modalService.hide();\r\n this.alert.success(\"Elemento modificato con successo\");\r\n\r\n this.ListinoModifica = new SoftwareListino();\r\n\r\n } else {\r\n this.alert.danger(\"Impossibile modificare l'elemento\");\r\n }\r\n }\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n

Modifica prodotto

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n Codice listino è obbligatorio\r\n Codice listino non può contenere spazi\r\n \r\n Nome prodotto è obbligatorio\r\n \r\n Il costo è obbligatorio\r\n Il costo deve essere maggiore di 0\r\n Il costo deve avere solo numeri\r\n\r\n \r\n La descrizione è obbligatoria\r\n Descrizione troppo lunga\r\n
\r\n Carica l'immagine del prodotto
\r\n\r\n
\r\n \r\n L'immagine non rispetta il formato 1:1\r\n La risoluzione dell'immagine deve essere almeno 200 x 200\r\n
\r\n
    \r\n
  • È preferibile che la risoluzione sia 500 x 500
  • \r\n
  • Deve avere risoluzione superiore a 200 x 200
  • \r\n
  • Deve essere in formato 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
  • Annulla
  • \r\n
  • Conferma
  • \r\n
\r\n
\r\n\r\n
\r\n","import {Component, HostListener, OnInit, TemplateRef} from '@angular/core';\r\nimport {AuthService} from '../../Services/AuthService/auth.service';\r\nimport {Router} from '@angular/router';\r\nimport {BsModalService} from 'ngx-bootstrap/modal';\r\nimport {UserStoreService} from '../../Services/Admin/user-store.service';\r\nimport {AlertService} from 'ngx-alerts';\r\nimport Categoria from '../../Models/Categoria';\r\n\r\nimport {faChevronDown, faChevronUp, faPlus, faCartPlus, faEye, faEyeSlash, faEdit, faTrash, faArrowUp, faArrowDown, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport SoftwareListino from '../../Models/SoftwareListino';\r\nimport { PaymentService } from '../../Services/Payment/payment.service';\r\nimport {ShopService} from \"../../Services/ShopService/shop.service\";\r\n\r\n@Component({\r\n selector: 'app-store-manager',\r\n templateUrl: './store-manager.component.html',\r\n styleUrls: ['./store-manager.component.scss']\r\n})\r\nexport class StoreManagerComponent implements OnInit {\r\n\r\n //DATI PER LA CREAZIONE DI NUOVI ELEMENTI\r\n public NuovaCategoria: string = '';\r\n public NuovoListino: SoftwareListino = new SoftwareListino();\r\n public IdCat: number;\r\n public IsSub: boolean = false;\r\n\r\n //UPDATE\r\n public CategoriaModifica: Categoria;\r\n public ListinoModifica: SoftwareListino;\r\n\r\n //DELETE\r\n public ListinoElimina: SoftwareListino;\r\n public CategoriaElimina: Categoria;\r\n\r\n //LISTA CATEGORIE\r\n public Categorie: Categoria[] = [];\r\n\r\n //FRONT-END CATEGORIE-APERTE\r\n public CategorieAperte = [];\r\n\r\n //ICONE\r\n public faPlus: IconDefinition = faPlus;\r\n public arrowDown: IconDefinition = faChevronDown;\r\n public arrowUp: IconDefinition = faChevronUp;\r\n public faCartPlus: IconDefinition = faCartPlus;\r\n public faEye: IconDefinition = faEye;\r\n public faEyeSlash: IconDefinition = faEyeSlash;\r\n public faEdit: IconDefinition = faEdit;\r\n public faTrash: IconDefinition = faTrash;\r\n public faArrowUp: IconDefinition = faArrowUp;\r\n public faArrowDown: IconDefinition = faArrowDown;\r\n\r\n\r\n //IMG\r\n public imgStr: string;\r\n\r\n //IVA\r\n public IVA: number;\r\n\r\n public lglt:boolean;\r\n constructor(private auth: AuthService, private router: Router, public modalService: BsModalService, public userStore: UserStoreService,\r\n private alert: AlertService, public payment: PaymentService, public shopService: ShopService ) { }\r\n\r\n async ngOnInit(){\r\n this.setLtLg();\r\n await this.Init();\r\n this.setLtLg();\r\n }\r\n @HostListener('window:resize', ['$event'])\r\n setLtLg(event?): void{\r\n if (window.innerWidth < 1279){\r\n this.lglt = true;\r\n }else{\r\n this.lglt = false;\r\n }\r\n }\r\n\r\n private async Init() {\r\n\r\n this.auth.Ready = false;\r\n\r\n //SE NON E' NESSUNO DI QUESTI, VADO INDIETRO\r\n if (this.auth.AuthUser.Role === 2 || this.auth.AuthUser.Role2 === 2) {\r\n this.router.navigateByUrl('');\r\n return;\r\n }\r\n\r\n this.Categorie = await this.userStore.GetListino();\r\n \r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n this.auth.Ready = true;\r\n\r\n }\r\n\r\n private async LocalValidation() {\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if(valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.IsLogin = true;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n //CREA CATEGORIA\r\n public async CreateCategoria() {\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const result = await this.userStore.CreateCategoria(this.NuovaCategoria.trim(), id);\r\n if (result) {\r\n this.alert.success(\"Categoria creata\");\r\n this.Categorie = await this.userStore.GetListino();\r\n this.NuovaCategoria = \"\";\r\n this.modalService.hide();\r\n return true;\r\n } else {\r\n this.alert.danger(\"Categoria non creata. Riprova con un nuovo nome\")\r\n return false;\r\n }\r\n }\r\n\r\n //CREA SOTTOCATEGORIA\r\n public async CreateSottoCategoria() {\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const result = await this.userStore.CreateSottoCategoria(this.NuovaCategoria.trim(), this.IdCat, id);\r\n\r\n if (result) {\r\n this.alert.success(\"Sottocategoria creata\");\r\n this.Categorie = await this.userStore.GetListino();\r\n this.NuovaCategoria = \"\";\r\n this.modalService.hide();\r\n return true;\r\n } else {\r\n this.alert.danger(\"Categoria non creata. Riprova con un nuovo nome\")\r\n return false;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n public FileInput(event) {\r\n this.NuovoListino.Img = event.target.files[0];\r\n }\r\n\r\n public FileInputEdit(event) {\r\n this.ListinoModifica.Img = event.target.files[0];\r\n }\r\n\r\n\r\n\r\n public async RemoveListino() {\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const result: boolean = await this.userStore.DeleteListino(this.ListinoElimina.CodiceArticolo, this.ListinoElimina.IdCat, this.ListinoElimina.IdSubCat, this.ListinoElimina.Ordine, id);\r\n\r\n if (result) {\r\n this.modalService.hide();\r\n this.alert.success(\"Elemento rimosso con successo\");\r\n this.Categorie = await this.userStore.GetListino();\r\n } else {\r\n this.alert.danger(\"Impossibile rimuovere l'elemento\");\r\n }\r\n\r\n }\r\n\r\n\r\n public async EditCategoria() {\r\n let result: boolean = false;\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n if (this.CategoriaModifica.IDPadre === -1) {\r\n result = await this.userStore.EditCategoria(this.NuovaCategoria.trim(), this.CategoriaModifica.ID, id);\r\n } else {\r\n result = await this.userStore.EditSottoCategoria(this.NuovaCategoria.trim(), this.CategoriaModifica.ID, this.CategoriaModifica.IDPadre, id);\r\n }\r\n\r\n if (result) {\r\n this.modalService.hide();\r\n this.alert.success(\"Categoria modificata con successo\");\r\n this.Categorie = await this.userStore.GetListino();\r\n this.NuovaCategoria = '';\r\n } else {\r\n this.alert.danger(\"Modifica non effettuata\");\r\n }\r\n }\r\n\r\n\r\n public async RemoveCategoria() {\r\n\r\n\r\n let result: boolean = false;\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n \r\n if (this.CategoriaElimina.IDPadre === -1) {\r\n result = await this.userStore.DeleteCategoria(this.CategoriaElimina.ID, id);\r\n } else {\r\n result = await this.userStore.DeleteSottoCategoria(this.CategoriaElimina.ID, this.CategoriaElimina.IDPadre, id);\r\n }\r\n\r\n if (result) {\r\n this.modalService.hide();\r\n this.alert.success(\"Categoria eliminata con successo\");\r\n this.Categorie = await this.userStore.GetListino();\r\n this.NuovaCategoria = '';\r\n } else {\r\n this.alert.danger(\"Modifica non effettuata\");\r\n }\r\n }\r\n\r\n public async ChangeVisibileCategoria(categoria: Categoria) {\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const result: boolean = await this.userStore.EditVisibilitaCategoria(categoria, id);\r\n\r\n return result;\r\n }\r\n\r\n public async OpenModalIva(ivaSettings: TemplateRef) {\r\n this.IVA = await this.userStore.GetIva();\r\n this.modalService.show(ivaSettings)\r\n }\r\n\r\n public async UpdateIva() {\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const result = await this.userStore.SetIva(this.IVA, id);\r\n if (result) {\r\n this.modalService.hide();\r\n this.alert.success(\"IVA Aggiornata\");\r\n return;\r\n }\r\n this.alert.danger(\"Errore aggiornamento IVA\");\r\n }\r\n\r\n /*\r\n INDIVIDUO L'INDICE DELL'OGGETTO ALL'INTERNO DELLA LISTA PER INDIVIDUARE L'INDICE DELL'ELEMENTO SUCCESSIVO\r\n */\r\n\r\n public async OrdineDown(elem: SoftwareListino, categoria: Categoria) {\r\n\r\n const index: number = categoria.Elementi.indexOf(elem);\r\n const indexNext: number = categoria.Elementi.indexOf(elem) + 1;\r\n\r\n const down: boolean = await this.userStore.OrdineDown(elem.CodiceArticolo) ;\r\n const up: boolean = await this.userStore.OrdineUp(categoria.Elementi[indexNext].CodiceArticolo);\r\n\r\n //Switch all'interno dell'array FrontEnd\r\n [ categoria.Elementi[index], categoria.Elementi[indexNext] ] = [ categoria.Elementi[indexNext], categoria.Elementi[index] ] ;\r\n\r\n return down && up;\r\n\r\n }\r\n\r\n public async OrdineUp(elem: SoftwareListino, categoria: Categoria) {\r\n const index: number = categoria.Elementi.indexOf(elem);\r\n const indexBefore: number = categoria.Elementi.indexOf(elem) - 1;\r\n\r\n const down: boolean = await this.userStore.OrdineDown(categoria.Elementi[indexBefore].CodiceArticolo);\r\n const up: boolean = await this.userStore.OrdineUp(elem.CodiceArticolo);\r\n\r\n //Switch all'interno dell'array FrontEnd\r\n [ categoria.Elementi[index], categoria.Elementi[indexBefore] ] = [ categoria.Elementi[indexBefore], categoria.Elementi[index] ] ;\r\n\r\n return down && up;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Crea categoria\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n 0\">\r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n
Categoria
{{categoria.Nome}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Lista prodotti categoria
Codice ArticoloDescrizioneCostoImmagineModificaElimina
{{elem.CodiceArticolo}}{{elem.Descrizione}}{{elem.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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Lista Sottocategorie
{{subcategoria.Nome}}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Lista prodotti categoria
Codice ArticoloDescrizioneCostoImmagineModificaElimina
{{elem.CodiceArticolo}}{{elem.Descrizione}}{{elem.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
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

La gestione dello store non è momentaneamente disponibile per versione mobile

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

Crea categoria

\r\n

Crea sottocategoria

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

Modifica nome

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

Vuoi eliminare l'elemento?

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

Vuoi eliminare la categoria?

\r\n
\r\n
\r\n
\r\n
\r\n
L'eliminazione della categoria comporta l'eliminazione di tutti gli elementi al suo interno
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n

Impostazioni IVA

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

Percentuale

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n","import { CloudComponent } from './cloud/cloud.component';\r\nimport { UserPersonalComponent } from './user-personal/user-personal.component';\r\nimport { NgModule, Component } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { CensusComponent } from './census/census.component';\r\nimport { LicensesComponent } from './licenses/licenses.component';\r\nimport { ListsComponent } from './lists/lists.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { ManualsComponent } from './manuals/manuals.component';\r\nimport { ShopComponent } from './shop/shop.component';\r\nimport { StatsComponent } from './stats/stats.component';\r\nimport { UpdatesComponent } from './updates/updates.component';\r\nimport { UsersComponent } from './users/users.component';\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport {DettaglioProdottoComponent} from './shop/dettaglio-prodotto/dettaglio-prodotto.component';\r\nimport {BuysinglelicenseComponent} from './shop/buysinglelicense/buysinglelicense.component';\r\nimport {BuypackagelicenseComponent} from './shop/buypackagelicense/buypackagelicense.component';\r\nimport {CartComponent} from './shop/cart/cart.component';\r\nimport {ChoosepackageComponent} from './shop/choosepackage/choosepackage.component';\r\nimport {TipologialicenzaComponent} from './shop/tipologialicenza/tipologialicenza.component';\r\nimport {CheckoutComponent} from './shop/checkout/checkout.component';\r\nimport { GroupManagerComponent } from './cloud/group-manager/group-manager.component';\r\n\r\nconst routes: Routes = [\r\n\r\n {path: \"\", component: StatsComponent},\r\n {path: \"userinfo\", component: UserPersonalComponent},\r\n {path: \"shop\", component: ShopComponent, children:[\r\n {path: \"\", component:TipologialicenzaComponent},\r\n {path: \"tipologia-licenza\", component:TipologialicenzaComponent},\r\n {path: \"acquisto-licenza-singola\", component:BuysinglelicenseComponent},\r\n {path: \"acquisto-licenza-singola/:id\", component:DettaglioProdottoComponent},\r\n {path: \"selezione-quantita-pacchetti\", component:ChoosepackageComponent},\r\n {path: \"acquisto-licenza-multipla\", component:BuypackagelicenseComponent},\r\n {path: \"acquisto-licenza-multipla/:id\", component:DettaglioProdottoComponent},\r\n {path: \"cart\", component:CartComponent},\r\n {path: \"checkout\", component:CheckoutComponent},\r\n ]},\r\n {path: \"census\", component: CensusComponent},\r\n {path: \"users\", component: UsersComponent},\r\n {path: \"updates\", component: UpdatesComponent},\r\n {path: \"lists\", component: ListsComponent},\r\n {path: \"licenses\", component: LicensesComponent},\r\n {path: \"cloud\", component: GroupManagerComponent},\r\n {path: \"manuals\", component: ManualsComponent},\r\n {path: \"\", component: StatsComponent},\r\n {path: \"admin\", component: AdminComponent},\r\n {\r\n path: 'cloud',\r\n component: CloudComponent,\r\n children: [\r\n {\r\n path: '',\r\n loadChildren: () => import('./cloud/cloud.module').then(m => m.CloudModule)\r\n }\r\n ]\r\n },\r\n\r\n\r\n /*\r\n {path: \"home\", children: [\r\n {path: \"userinfo\", component: UserPersonalComponent},\r\n {path: \"shop\", component: ShopComponent, children:[\r\n {path: \"\", component:TipologialicenzaComponent},\r\n {path: \"tipologia-licenza\", component:TipologialicenzaComponent},\r\n {path: \"acquisto-licenza-singola\", component:BuysinglelicenseComponent},\r\n {path: \"acquisto-licenza-singola/:id\", component:DettaglioProdottoComponent},\r\n {path: \"selezione-quantita-pacchetti\", component:ChoosepackageComponent},\r\n {path: \"acquisto-licenza-multipla\", component:BuypackagelicenseComponent},\r\n {path: \"acquisto-licenza-multipla/:id\", component:DettaglioProdottoComponent},\r\n {path: \"cart\", component:CartComponent},\r\n {path: \"checkout\", component:CheckoutComponent},\r\n ]},\r\n {path: \"census\", component: CensusComponent},\r\n {path: \"users\", component: UsersComponent},\r\n {path: \"updates\", component: UpdatesComponent},\r\n {path: \"lists\", component: ListsComponent},\r\n {path: \"licenses\", component: LicensesComponent},\r\n {path: \"cloud\", component: GroupManagerComponent},\r\n {path: \"manuals\", component: ManualsComponent},\r\n {path: \"\", component: StatsComponent},\r\n {path: \"admin\", component: AdminComponent},\r\n {\r\n path: 'cloud',\r\n component: CloudComponent,\r\n children: [\r\n {\r\n path: '',\r\n loadChildren: './group-manager/cloud.module.ts#CloudModule',\r\n }\r\n ]\r\n },\r\n ], canActivate: [AuthGuardGuard]},\r\n */\r\n {path: \"**\", redirectTo:\"\"},\r\n {path: \"login\", component: LoginComponent},\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, HostListener, OnDestroy, OnInit } from '@angular/core';\r\nimport {NavigationEnd, Router} from '@angular/router';\r\nimport { AuthService } from './Services/AuthService/auth.service';\r\nimport {filter} from 'rxjs/operators';\r\nimport {BsModalService} from 'ngx-bootstrap/modal';\r\nimport {Location} from '@angular/common';\r\nimport { NgcCookieConsentService } from 'ngx-cookieconsent';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy{\r\n title = 'GABServizi';\r\n Url: string;\r\n location:any;\r\n headerName:string;\r\n favIcon: HTMLLinkElement = document.querySelector('#appIcon');\r\n //Tido: HTMLScriptElement = document.querySelector('#srcTIDO');\r\n \r\n constructor(public auth: AuthService, public modalService: BsModalService, public router: Router, public _location: Location, private ccService: NgcCookieConsentService, private titleService: Title) {\r\n this.location = _location;\r\n router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe((event: NavigationEnd) => {\r\n this.Url = event.url;\r\n this.setNameHeader(this.Url);\r\n });\r\n /*\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationStart) {\r\n const browserRefresh = !router.navigated;\r\n if (browserRefresh) {\r\n //this.router.navigateByUrl('/');\r\n }\r\n }\r\n });\r\n */\r\n }\r\n\r\n public setTitle(newTitle: string) {\r\n this.titleService.setTitle(newTitle);\r\n }\r\n\r\n ngOnInit() {\r\n // Cookie Section\r\n this.ccService.popupClose$.subscribe(() => {\r\n //this.ccService.getConfig().onStatusChange\r\n });\r\n let str: string = window.location.origin;\r\n if (str.toUpperCase().indexOf(\"CASHMATIC\") > -1) {\r\n this.auth.IsCashServizi = true;\r\n }\r\n if(this.auth.IsCashServizi == true){\r\n this.titleService.setTitle(\"CashmaticServizi\");\r\n this.favIcon.href = 'https://cashmatic.it/favicon.ico';\r\n //this.Tido.src = '';\r\n } else {\r\n this.titleService.setTitle(\"GABServizi\");\r\n //this.Tido.src = '//code.tidio.co/m2rg0ye3guregsz7ntxjcyrtqa8jwwyf.js';\r\n let chatScript = document.createElement('script');\r\n chatScript.type = 'text/javascript';\r\n chatScript.async = true;\r\n chatScript.src = '//code.tidio.co/m2rg0ye3guregsz7ntxjcyrtqa8jwwyf.js';\r\n document.body.appendChild(chatScript);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n \r\n }\r\n\r\n public setNameHeader(url: string) {\r\n if(url.includes(\"acquisto-licenza-singola\") || url.includes(\"acquisto-licenza-multipla\") || url.includes(\"shop\")){\r\n this.headerName = \"Shop\";\r\n return\r\n }\r\n\r\n if (url === \"/licenses\") {\r\n this.headerName = \"Licenze\";\r\n return\r\n }\r\n if (url === \"/shop\") {\r\n this.headerName = \"Shop\";\r\n return\r\n }\r\n\r\n // 2\r\n if (url === \"/manuals\") {\r\n this.headerName = \"Manuali\";\r\n return\r\n }\r\n // 3\r\n if (url === \"/lists\") {\r\n this.headerName = \"Listini\";\r\n return\r\n }\r\n\r\n if (url === \"/updates\") {\r\n this.headerName = \"Aggiornamenti\";\r\n return\r\n }\r\n if (url === \"/users\") {\r\n this.headerName = \"Utenti\";\r\n return\r\n }\r\n if (url === \"/census\") {\r\n this.headerName = \"Censimenti\";\r\n return\r\n }\r\n this.headerName = \"Home\";\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\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 { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { AppComponent } from './app.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { StatsComponent } from './stats/stats.component';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { LicensesComponent } from './licenses/licenses.component';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { AlertModule } from 'ngx-bootstrap/alert';\r\nimport { ManualsComponent } from './manuals/manuals.component';\r\nimport { ListsComponent } from './lists/lists.component';\r\nimport { UpdatesComponent } from './updates/updates.component';\r\nimport { UsersComponent } from './users/users.component';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { CensusComponent } from './census/census.component';\r\nimport { ShopComponent } from './shop/shop.component';\r\nimport { ShopAcquistoComponent } from './shop/shop-acquisto/shop-acquisto.component';\r\nimport { CartComponent } from './shop/cart/cart.component';\r\n\r\nimport { AlertModule as AM } from 'ngx-alerts';\r\nimport { NgcCookieConsentModule, NgcCookieConsentConfig } from 'ngx-cookieconsent';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\nimport { TabsModule, TabsetConfig } from 'ngx-bootstrap/tabs';\r\n\r\nimport { CensurCardComponent } from './censur-card/censur-card.component';\r\nimport { LicenseUpgradeComponent } from './licenses/license-upgrade/license-upgrade.component';\r\nimport { UserSoftwareConfigComponent } from './users/user-software-config/user-software-config.component';\r\nimport { StoreManagerComponent } from './admin/store-manager/store-manager.component';\r\nimport { ImgViewerComponent } from './admin/store-manager/img-viewer/img-viewer.component';\r\nimport { DettaglioProdottoComponent } from './shop/dettaglio-prodotto/dettaglio-prodotto.component';\r\nimport { BuysinglelicenseComponent } from './shop/buysinglelicense/buysinglelicense.component';\r\nimport { BuypackagelicenseComponent } from './shop/buypackagelicense/buypackagelicense.component';\r\nimport { ChoosepackageComponent } from './shop/choosepackage/choosepackage.component';\r\nimport { ShopheaderComponent } from './shop/shopheader/shopheader.component';\r\nimport { TipologialicenzaComponent } from './shop/tipologialicenza/tipologialicenza.component';\r\nimport { CheckoutComponent } from './shop/checkout/checkout.component';\r\n\r\nimport { defineLocale, itLocale } from 'ngx-bootstrap/chronos';\r\n\r\nimport { StripePaymentComponent } from './payment/stripe-payment/stripe-payment.component';\r\nimport { PaypalPaymentComponent } from './payment/paypal-payment/paypal-payment.component';\r\nimport { UserPersonalComponent } from './user-personal/user-personal.component';\r\nimport { SignupComponent } from './signup/signup.component';\r\nimport { CreaElementoComponent } from './admin/store-manager/crea-elemento/crea-elemento.component';\r\nimport { ModificaElementoComponent } from './admin/store-manager/modifica-elemento/modifica-elemento.component';\r\nimport { UserCreateComponent } from './users/user-create/user-create.component';\r\nimport { UserEditComponent } from './users/user-edit/user-edit.component';\r\nimport { UserAdminPermissionConfigComponent } from './users/user-admin-permission-config/user-admin-permission-config.component';\r\nimport { LicenseGeneraComponent } from './licenses/license-genera/license-genera.component';\r\nimport { ChangelogComponent } from './sidebar/changelog/changelog.component';\r\n\r\nimport { IsDev } from './global';\r\nimport { CensimentoInfoComponent } from './licenses/censimento-info/censimento-info.component';\r\nimport { UserCreateCashmaticComponent } from './users/cashmatic/user-create-cashmatic/user-create-cashmatic.component';\r\nimport { UserCfgEditComponent } from './users/user-cfg-edit/user-cfg-edit.component';\r\n\r\nimport { AddHeaderInterceptor } from './Services/HTTPHeader';\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { LogComponent } from './admin/log/log.component';\r\nimport { GroupManagerComponent } from './cloud/group-manager/group-manager.component';\r\nimport { CenterManagerComponent } from './cloud/group-manager/center-manager/center-manager.component';\r\nimport { CenterformComponent } from './cloud/group-manager/center-manager/centerform/centerform.component';\r\nimport { SellpointformComponent } from './cloud/group-manager/center-manager/sellpointform/sellpointform.component';\r\nimport { BusinessManagerComponent } from './cloud/business-manager/business-manager.component';\r\nimport { CloudComponent } from './cloud/cloud.component';\r\nimport { LicensesExpiringComponent } from './stats/licenses-expiring/licenses-expiring.component';\r\nimport { LicenseManagerComponent } from './cloud/license-manager/license-manager.component';\r\n\r\ndefineLocale('it', itLocale);\r\n\r\nconst cookieConfig: NgcCookieConsentConfig = {\r\n cookie: {\r\n domain: (IsDev.active) ? 'localhost' : 'gabservizi.it'\r\n },\r\n position: \"bottom-left\",\r\n theme: \"edgeless\",\r\n palette: {\r\n popup: {\r\n background: \"#3472F7\",\r\n text: \"#ffffff\",\r\n link: \"#ffffff\"\r\n },\r\n button: {\r\n background: \"#f1d600\",\r\n text: \"#000000\",\r\n border: \"transparent\"\r\n }\r\n },\r\n type: \"info\",\r\n content: {\r\n message: \"Questo sito utilizza cookie al fine di consentire la normale navigazione e fruizione del sito stesso e per tracciare informazioni statistiche in forma anonima e aggregata. La prosecuzione della normale navigazione comporta la prestazione del consenso all'uso dei cookie.\",\r\n allow: \"Ok\",\r\n dismiss: \"Ok\",\r\n link: \"Cookie Policy\",\r\n href: \"https://www.gabtamagnini.it/cookie-policy/\",\r\n policy: \"Cookie Policy\"\r\n }\r\n};\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n SidebarComponent,\r\n StatsComponent,\r\n LoginComponent,\r\n LicensesComponent,\r\n ManualsComponent,\r\n ListsComponent,\r\n UpdatesComponent,\r\n UsersComponent,\r\n CensusComponent,\r\n ShopComponent,\r\n ShopAcquistoComponent,\r\n CartComponent,\r\n CensurCardComponent,\r\n LicenseUpgradeComponent,\r\n UserSoftwareConfigComponent,\r\n DettaglioProdottoComponent,\r\n StoreManagerComponent,\r\n ImgViewerComponent,\r\n BuysinglelicenseComponent,\r\n BuypackagelicenseComponent,\r\n ChoosepackageComponent,\r\n ShopheaderComponent,\r\n TipologialicenzaComponent,\r\n CheckoutComponent,\r\n ImgViewerComponent,\r\n StripePaymentComponent,\r\n PaypalPaymentComponent,\r\n UserPersonalComponent,\r\n SignupComponent,\r\n CreaElementoComponent,\r\n ModificaElementoComponent,\r\n UserCreateComponent,\r\n UserEditComponent,\r\n UserAdminPermissionConfigComponent,\r\n LicenseGeneraComponent,\r\n ChangelogComponent,\r\n CensimentoInfoComponent,\r\n UserCreateCashmaticComponent,\r\n UserCfgEditComponent,\r\n AdminComponent,\r\n LogComponent,\r\n GroupManagerComponent,\r\n CenterManagerComponent,\r\n CenterformComponent,\r\n SellpointformComponent,\r\n BusinessManagerComponent,\r\n CloudComponent,\r\n LicensesExpiringComponent,\r\n LicenseManagerComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n CommonModule,\r\n FontAwesomeModule,\r\n BrowserAnimationsModule,\r\n FlexLayoutModule,\r\n HttpClientModule,\r\n ClipboardModule,\r\n TooltipModule,\r\n ModalModule.forRoot(),\r\n AlertModule.forRoot(),\r\n BsDatepickerModule.forRoot(),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BsDropdownModule.forRoot(),\r\n TabsModule.forRoot(),\r\n AM.forRoot({maxMessages:5,timeout:1000,positionX:\"right\",positionY:'bottom'}),\r\n NgcCookieConsentModule.forRoot(cookieConfig)\r\n ],\r\n providers: [\r\n TabsetConfig,\r\n CookieService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AddHeaderInterceptor,\r\n multi: true,\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { CensisService } from './../Services/CensisService/censis.service';\r\nimport {Component, Input, OnInit, TemplateRef} from '@angular/core';\r\nimport Censimento from '../Models/Censimento';\r\nimport {BsModalRef, BsModalService} from 'ngx-bootstrap/modal';\r\nimport {faTelegramPlane} from '@fortawesome/free-brands-svg-icons';\r\nimport { faTrash, faAngleRight, faAngleDown, faPen, faCircle, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport {IsDev} from '../global';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport {HttpClient, HttpParams} from '@angular/common/http';\r\nimport CensimentoAggiorna from '../Models/CensimentoAggiorna';\r\nimport {AuthService} from '../Services/AuthService/auth.service';\r\n@Component({\r\n selector: 'app-censur-card',\r\n templateUrl: './censur-card.component.html',\r\n styleUrls: ['./censur-card.component.scss']\r\n})\r\nexport class CensurCardComponent implements OnInit {\r\n @Input() censimento;\r\n @Input() imageSrc;\r\n @Input() RAGSOC;\r\n @Input() DESMAG;\r\n @Input() RIVENDITORE;\r\n @Input() NMAG;\r\n @Input() NCASSA;\r\n @Input() VU;\r\n @Input() LASTDATASTRING;\r\n @Input() CLIENTE;\r\n @Input() PIVA;\r\n @Input() LOC;\r\n @Input() VP;\r\n @Input() VB;\r\n @Input() DR;\r\n @Input() MATRICOLA;\r\n @Input() AZZER;\r\n @Input() GIART;\r\n @Input() AVVIORT;\r\n @Input() SERVB2B;\r\n @Input() IDTRAB2B;\r\n @Input() CPU;\r\n @Input() MAC;\r\n @Input() VIA;\r\n @Input() RT_FW;\r\n @Input() RT_MODEL;\r\n @Input() RE_MATR;\r\n @Input() nCensimento;\r\n @Input() LastVP;\r\n @Input() LastDriver;\r\n @Input() LOTTERIA;\r\n @Input() XML7;\r\n\r\n public Status: CensimentoAggiorna[] = [];\r\n\r\n public modalRef: BsModalRef;\r\n public SelectedCensimento: Censimento;\r\n public CensimentoDaEliminare: Censimento;\r\n\r\n\r\n // ICONS\r\n public faTrash: IconDefinition = faTrash;\r\n public faAngleDown: IconDefinition = faAngleDown;\r\n public faAngleRight: IconDefinition = faAngleRight;\r\n public faPen: IconDefinition = faTelegramPlane;\r\n public faCircle: IconDefinition = faCircle;\r\n\r\n constructor( public modalService: BsModalService, public alert: AlertService, private http: HttpClient, public auth: AuthService, public censisService: CensisService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n public OpenModalUpdatePos(template: TemplateRef, censimento: Censimento): void {\r\n this.SelectedCensimento = censimento;\r\n this.modalRef = this.modalService.show(template, { class: 'modal-lg' });\r\n }\r\n\r\n public OpenModalUpdateDriver(template: TemplateRef, censimento: Censimento): void {\r\n this.SelectedCensimento = censimento;\r\n this.modalRef = this.modalService.show(template, { class: 'modal-lg' });\r\n }\r\n public async UpdateVisualPos() {\r\n const result: any = await this.censisService.UpdateVisualPos(this.SelectedCensimento);\r\n if (result !== 'ok') {\r\n this.alert.danger('Errore!');\r\n } else {\r\n this.alert.success('Software in coda per l\\'aggiornamento');\r\n await this.LoadStatus();\r\n }\r\n }\r\n\r\n public async UpdateDriver() {\r\n const result: any = await this.censisService.UpdateDriver(this.SelectedCensimento);\r\n\r\n if (result !== 'ok') {\r\n this.alert.danger('Errore!');\r\n } else {\r\n this.alert.success('Software in coda per l\\'aggiornamento');\r\n await this.LoadStatus();\r\n }\r\n }\r\n public async LoadStatus(): Promise {\r\n \r\n this.Status = await this.censisService.GetStatus();\r\n \r\n return;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n senza_rag.soc.\r\n

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

\r\n {{RAGSOC}}\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Fiscale
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Rivenditore{{RIVENDITORE}}
N/C{{NMAG}}/{{NCASSA}}
Visual Update{{VU}}
Ultimo Avvio{{LASTDATASTRING}}
Cliente
P.Iva{{PIVA}}
Via{{VIA}}
Localita{{LOC}}
Software
VisualPos{{VU}}
VisualB2B{{VB}}
Driver{{DR}}
Software{{VU}}
Matricola{{MATRICOLA}}
Azzeramento Fiscale{{AZZER}}
RT{{GIART}}
lotteria{{LOTTERIA}}
XML7{{XML7}}
FW{{RT_FW}}
Modello{{RT_MODEL}}
Matricola{{RE_MATR}}
Fatturazione Elettronica
Servizio B2B{{SERVB2B}}
Trasmittente B2B{{IDTRAB2B}}
MODULI
Hardware
CPU{{CPU}}
MAC{{MAC}}
\r\n
\r\n \r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Censimento

\r\n

{{nCensimento + 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
SoftwareVersioneAzioni
VisualPos{{this.LastVP.version}}\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SoftwareVersioneAzioni
Driver{{this.LastDriver.version}}\r\n \r\n
\r\n
\r\n
\r\n","import { FileService } from './../Services/FileService/file.service';\r\nimport { CensisService } from './../Services/CensisService/censis.service';\r\nimport { IsDev } from './../global';\r\n\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport {Component, HostListener, OnInit, TemplateRef} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../Services/AuthService/auth.service';\r\n\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\n\r\nimport Censimento from '../Models/Censimento';\r\nimport CensimentoAggiorna from '../Models/CensimentoAggiorna';\r\nimport Modulo from '../Models/Modulo';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\n\r\nimport { faTrash, faAngleRight, faAngleDown, faPen, faCircle, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport { faTelegramPlane } from '@fortawesome/free-brands-svg-icons';\r\n\r\nimport { AlertService } from 'ngx-alerts';\r\nimport {promises} from 'fs';\r\nimport {filter} from 'rxjs/operators';\r\nimport Update from '../Models/Update';\r\n\r\n\r\n@Component({\r\n selector: 'app-census',\r\n templateUrl: './census.component.html',\r\n styleUrls: ['./census.component.scss']\r\n})\r\nexport class CensusComponent implements OnInit {\r\n\r\n public Censimenti: Censimento[] = [];\r\n public AllCensimenti: Censimento[] = [];\r\n public Status: CensimentoAggiorna[] = [];\r\n public dropdownRecenti = false;\r\n public dropdownObsoleti = false;\r\n //MODAL\r\n public modalRef: BsModalRef;\r\n public SelectedCensimento: Censimento;\r\n public SelectedIntSco: string[];\r\n public CensimentoDaEliminare: Censimento;\r\n public LicenzaDaAggiungere: string;\r\n public LicenzaCorretta: boolean = false;\r\n\r\n // RICERCA\r\n public OpenOrdinamento = false;\r\n\r\n // ICONS\r\n public faTrash: IconDefinition = faTrash;\r\n public faAngleDown: IconDefinition = faAngleDown;\r\n public faAngleRight: IconDefinition = faAngleRight;\r\n public faPen: IconDefinition = faTelegramPlane;\r\n public faCircle: IconDefinition = faCircle;\r\n\r\n // LAST DRIVER\r\n public LastDriver = {\r\n version: '',\r\n data: null\r\n };\r\n // LAST VP\r\n public LastVP = {\r\n version: '',\r\n data: null\r\n };\r\n public FiltroCensimenti = {\r\n XML7:false,\r\n Lotteria: false,\r\n }\r\n public Loading = false;\r\n public lglt: boolean;\r\n\r\n // tslint:disable-next-line:max-line-length\r\n constructor(public auth: AuthService, private router: Router, private http: HttpClient, public modalService: BsModalService, public alert: AlertService, private censisService: CensisService, private fileService: FileService) {\r\n\r\n }\r\n @HostListener('window:resize', ['$event'])\r\n setLtLg(event?): void{\r\n if (window.innerWidth < 1279){\r\n this.lglt = true;\r\n }else{\r\n this.lglt = false;\r\n }\r\n }\r\n\r\n private async Init(): Promise{\r\n this.setLtLg();\r\n this.auth.Ready = false;\r\n // SE NON E' NESSUNO DI QUESTI, VADO INDIETRO\r\n // tslint:disable-next-line:max-line-length\r\n if (!(this.auth.AuthUser.Role === 0 || this.auth.AuthUser.Role === 4 || this.auth.AuthUser.Role === 1 || this.auth.AuthUser.Role2 === 0 || this.auth.AuthUser.Role2 === 1 || this.auth.AuthUser.Role2 === 4)) {\r\n this.router.navigateByUrl('');\r\n return;\r\n }\r\n\r\n // BLOCCO ULTIMO DRIVER E VP DA INSTALLARE\r\n\r\n const result: Update[] = await this.fileService.GetUpdates();\r\n for (let i = 0; i < result.length; ++i) {\r\n if (result[i].softCode === 'DRV') {\r\n const temp: string = result[i].version;\r\n const data: string = result[i].releaseDate;\r\n\r\n if (this.LastDriver.version === '') {\r\n this.LastDriver.data = data;\r\n this.LastDriver.version = temp;\r\n continue;\r\n }\r\n\r\n if (data > this.LastDriver.data) {\r\n this.LastDriver.version = temp;\r\n }\r\n\r\n }\r\n\r\n if (result[i].softCode === 'VP') {\r\n const temp: string = result[i].version;\r\n const data: string = result[i].releaseDate;\r\n\r\n if (this.LastVP.version === '') {\r\n this.LastVP.data = data;\r\n this.LastVP.version = temp;\r\n continue;\r\n }\r\n\r\n if (data > this.LastVP.data) {\r\n this.LastVP.version = temp;\r\n }\r\n\r\n }\r\n\r\n }\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName('li');\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'census') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n\r\n this.Loading = true;\r\n // await this.LoadStatus();\r\n await this.LoadCensimento();\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n this.auth.Ready = true;\r\n }\r\n\r\n\r\n async ngOnInit(): Promise{\r\n await this.Init();\r\n }\r\n\r\n public async LoadStatus(): Promise {\r\n this.Status = await this.censisService.LoadStatus();\r\n return;\r\n }\r\n\r\n public async LoadCensimento(): Promise {\r\n\r\n this.Censimenti = await this.censisService.LoadCensimenti();\r\n\r\n this.AllCensimenti = [...this.Censimenti]\r\n this.Loading = false;\r\n\r\n return;\r\n\r\n }\r\n\r\n public async GetModules(template: TemplateRef, censimento: Censimento): Promise{\r\n // GET MODULI\r\n await this.censisService.GetModuli(censimento);\r\n\r\n this.OpenModal(template, censimento);\r\n }\r\n\r\n public async GetIntSco(template: TemplateRef, censimento: Censimento) {\r\n \r\n this.SelectedIntSco = await this.censisService.GetFormattedIntSco(censimento.INT_SCO);\r\n \r\n this.modalService.show(template);\r\n }\r\n\r\n\r\n public Filtro() {\r\n let arrayCensimentiFiltrati: Censimento[] = [];\r\n if (this.FiltroCensimenti.XML7 && !this.FiltroCensimenti.Lotteria) {\r\n for (let i = 0; i < this.AllCensimenti.length; i++) {\r\n if (this.AllCensimenti[i].XML7 === 'SI') {\r\n arrayCensimentiFiltrati.push(this.AllCensimenti[i])\r\n }\r\n }\r\n this.Censimenti = arrayCensimentiFiltrati;\r\n return;\r\n }\r\n\r\n if (!this.FiltroCensimenti.XML7 && this.FiltroCensimenti.Lotteria) {\r\n for (let i = 0; i < this.AllCensimenti.length; i++) {\r\n if (this.AllCensimenti[i].LOTTERIA === 'SI') {\r\n arrayCensimentiFiltrati.push(this.AllCensimenti[i])\r\n }\r\n }\r\n this.Censimenti = arrayCensimentiFiltrati;\r\n return;\r\n }\r\n\r\n if (this.FiltroCensimenti.XML7 && this.FiltroCensimenti.Lotteria) {\r\n for (let i = 0; i < this.AllCensimenti.length; i++) {\r\n if (this.AllCensimenti[i].LOTTERIA === 'SI' && this.AllCensimenti[i].XML7 === 'SI') {\r\n arrayCensimentiFiltrati.push(this.AllCensimenti[i])\r\n }\r\n }\r\n this.Censimenti = arrayCensimentiFiltrati;\r\n return;\r\n }\r\n\r\n \r\n if (!this.FiltroCensimenti.XML7 && !this.FiltroCensimenti.Lotteria) {\r\n arrayCensimentiFiltrati = [...this.AllCensimenti]\r\n this.Censimenti = arrayCensimentiFiltrati;\r\n }\r\n }\r\n private async LocalValidation(): Promise{\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if (valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.IsLogin = true;\r\n this.auth.Ready = false;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n public OpenModal(template: TemplateRef, censimento: Censimento): void {\r\n this.SelectedCensimento = censimento;\r\n this.modalRef = this.modalService.show(template, { class: 'modal-lg' });\r\n }\r\n\r\n public OpenModalUpdateLicenza(template: TemplateRef, censimento: Censimento): void {\r\n this.SelectedCensimento = censimento;\r\n this.modalRef = this.modalService.show(template, { class: 'modal-lg' });\r\n }\r\n\r\n public OpenModalElimina(template: TemplateRef, censimento: Censimento): void {\r\n this.CensimentoDaEliminare = censimento;\r\n this.modalRef = this.modalService.show(template, { class: 'modal-lg' });\r\n }\r\n\r\n public async OpenModalStatus(template: TemplateRef): Promise {\r\n await this.LoadStatus();\r\n this.modalRef = this.modalService.show(template, { class: 'modal-xl' });\r\n }\r\n\r\n\r\n public async DeleteCensimento(): Promise {\r\n\r\n const result: any = await this.censisService.DeleteCensimento(this.CensimentoDaEliminare);\r\n\r\n if (result) {\r\n // RIMUOVO DALLA LISTA, RICHIAMARLI TUTTI DA ZERO E' TROPPO FATICOSO\r\n const index: number = this.Censimenti.indexOf(this.CensimentoDaEliminare);\r\n if (index > -1) {\r\n this.Censimenti.splice(index, 1);\r\n }\r\n this.modalService.hide();\r\n }\r\n\r\n }\r\n\r\n\r\n public async UpdateVisualPos() {\r\n\r\n const result: any = await this.censisService.UpdateVisualPos(this.SelectedCensimento);\r\n \r\n if (result !== 'ok') {\r\n this.alert.danger('Software già in coda!');\r\n } else {\r\n this.alert.success('Software in coda per l\\'aggiornamento');\r\n await this.LoadStatus();\r\n }\r\n }\r\n\r\n\r\n\r\n public async UpdateDriver() {\r\n \r\n const result: any = await this.censisService.UpdateDriver(this.SelectedCensimento);\r\n\r\n if (result !== 'ok') {\r\n this.alert.danger('Software già in coda!');\r\n } else {\r\n this.alert.success('Software in coda per l\\'aggiornamento');\r\n await this.LoadStatus();\r\n }\r\n }\r\n\r\n \r\n public async InsertLicenza() {\r\n const licenza: string[] = [];\r\n licenza.push(this.LicenzaDaAggiungere) \r\n \r\n const result = await this.censisService.InsertLicense(this.SelectedCensimento, licenza);\r\n \r\n if (!result) {\r\n this.alert.danger('Licenza non inserita');\r\n } else {\r\n this.alert.success('Licenza in coda per la convalidazione');\r\n this.LicenzaDaAggiungere = \"\";\r\n this.modalService.hide();\r\n await this.LoadStatus();\r\n }\r\n }\r\n \r\n public async UpdateLicenza(censimento: Censimento) {\r\n\r\n this.SelectedCensimento = censimento;\r\n \r\n const result = await this.censisService.UpdateLicense(this.SelectedCensimento);\r\n \r\n if (result !== 'ok') {\r\n this.alert.danger('Licenza non aggiornabile');\r\n } else {\r\n this.alert.success('Licenza in coda per l\\'aggiornamento');\r\n await this.LoadStatus();\r\n }\r\n }\r\n\r\n public CheckLicenseIntegrity() {\r\n // DLPVTS-TT026K-YSC2HD-K4LI4E-0EH0T1\r\n\r\n if (this.LicenzaDaAggiungere.length !== 34) {\r\n this.LicenzaCorretta = false;\r\n return;\r\n }\r\n \r\n if (this.LicenzaDaAggiungere[6] !== '-' || this.LicenzaDaAggiungere[13] !== '-' || this.LicenzaDaAggiungere[20] !== '-' || this.LicenzaDaAggiungere[27] !== '-') {\r\n this.LicenzaCorretta = false;\r\n return;\r\n }\r\n\r\n const subLicense: string[] = this.LicenzaDaAggiungere.split('-');\r\n\r\n for (let string of subLicense) {\r\n if (!string.match('^[0-9]*[A-Z]*[A-Z0-9]*$')) {\r\n this.LicenzaCorretta = false;\r\n return;\r\n }\r\n }\r\n \r\n this.LicenzaCorretta = true;\r\n return;\r\n }\r\n public SearchByName() {\r\n const input: string = (document.getElementById('search') as HTMLInputElement).value.toUpperCase().trim();\r\n\r\n const filters = document.getElementsByClassName('check-filter');\r\n // 0 --> Ragione sociale\r\n // 1 --> Negozio\r\n // 2 --> Partita IVA\r\n // 3 --> Matricola\r\n for (let j = 0; j < this.Censimenti.length; ++j) {\r\n this.Censimenti[j].Hidden = true;\r\n\r\n if (this.Censimenti[j].RAGSOC.toUpperCase().includes(input)) {\r\n this.Censimenti[j].Hidden = false;\r\n }\r\n\r\n if (this.Censimenti[j].DESMAG.toUpperCase().includes(input)) {\r\n this.Censimenti[j].Hidden = false;\r\n }\r\n\r\n\r\n if (this.Censimenti[j].RIVENDITORE.toUpperCase().includes(input)) {\r\n this.Censimenti[j].Hidden = false;\r\n }\r\n\r\n if (this.Censimenti[j].PIVA.toUpperCase().includes(input)) {\r\n this.Censimenti[j].Hidden = false;\r\n\r\n }\r\n\r\n if (this.Censimenti[j].MATRICOLA.toUpperCase().includes(input)) {\r\n this.Censimenti[j].Hidden = false;\r\n }\r\n\r\n if (this.Censimenti[j].MAC.toUpperCase().includes(input.toUpperCase())) {\r\n this.Censimenti[j].Hidden = false;\r\n }\r\n\r\n for (let k = 0; k < this.Censimenti[j].LICENZA.length; ++k) {\r\n if (this.Censimenti[j].LICENZA[k].includes(input.toUpperCase())) {\r\n this.Censimenti[j].Hidden = false;\r\n break;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n public Ordinamento(tipo: string) {\r\n if (tipo === 'Recente') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n\r\n const dataA: Date = new Date(a.LASTDATA);\r\n const dataB: Date = new Date(b.LASTDATA);\r\n const aTime: number = dataA.getTime();\r\n const bTime: number = dataB.getTime();\r\n\r\n if (aTime > bTime) {\r\n return -1;\r\n }\r\n if (aTime < bTime) {\r\n return 1;\r\n }\r\n if (aTime === bTime) {\r\n return 0;\r\n }\r\n });\r\n }\r\n if (tipo === 'Obsolete') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n\r\n const dataA: Date = new Date(a.LASTDATA);\r\n const dataB: Date = new Date(b.LASTDATA);\r\n\r\n const aTime: number = dataA.getTime();\r\n const bTime: number = dataB.getTime();\r\n\r\n if (aTime < bTime) {\r\n return -1;\r\n }\r\n if (aTime > bTime) {\r\n return 1;\r\n }\r\n if (aTime === bTime) {\r\n return 0;\r\n }\r\n });\r\n }\r\n if (tipo === 'RecenteVisualPos') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n return this.SortRecenti(a, b, 'VP');\r\n });\r\n }\r\n if (tipo === 'RecenteVisualB2B') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n return this.SortRecenti(a, b, 'VB');\r\n });\r\n }\r\n if (tipo === 'RecenteDriver') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n return this.SortRecenti(a, b, 'DR');\r\n });\r\n }\r\n if (tipo === 'RecenteVisualUpdate') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n return this.SortRecenti(a, b, 'VU');\r\n });\r\n }\r\n if (tipo === 'ObsoleteVisualPos') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n return this.SortObsoleti(a, b, 'VP');\r\n });\r\n }\r\n if (tipo === 'ObsoleteVisualB2B') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n return this.SortObsoleti(a, b, 'VB');\r\n });\r\n }\r\n if (tipo === 'ObsoleteDriver') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n return this.SortObsoleti(a, b, 'DR');\r\n });\r\n }\r\n if (tipo === 'ObsoleteVisualUpdate') {\r\n this.Censimenti.sort((a: Censimento, b: Censimento) => {\r\n return this.SortObsoleti(a, b, 'VU');\r\n });\r\n }\r\n }\r\n\r\n private SortRecenti(a: Censimento, b: Censimento, software: string): number {\r\n const aVPSplitted: string[] = a[software].split('.');\r\n const bVPSplitted: string[] = b[software].split('.');\r\n\r\n // PRIMO CHAR\r\n if (Number(aVPSplitted[0]) > Number(bVPSplitted[0])) {\r\n return -1;\r\n } else if (Number(aVPSplitted[0]) < Number(bVPSplitted[0])) {\r\n return 1;\r\n } else if (Number(aVPSplitted[0]) === Number(bVPSplitted[0])) {\r\n // SECONDO CHAR\r\n if (Number(aVPSplitted[1]) > Number(bVPSplitted[1])) {\r\n return -1;\r\n } else if (Number(aVPSplitted[1]) < Number(bVPSplitted[1])) {\r\n return 1;\r\n } else if (Number(aVPSplitted[1]) === Number(bVPSplitted[1])) {\r\n if (Number(aVPSplitted[2]) > Number(bVPSplitted[2])) {\r\n return -1;\r\n } else if (Number(aVPSplitted[2]) < Number(bVPSplitted[2])) {\r\n return 1;\r\n } else if (Number(aVPSplitted[2]) === Number(bVPSplitted[2])) {\r\n if (Number(aVPSplitted[3]) > Number(bVPSplitted[3])) {\r\n return -1;\r\n } else if (Number(aVPSplitted[3]) < Number(bVPSplitted[3])) {\r\n return 1;\r\n } else if (Number(aVPSplitted[3]) === Number(bVPSplitted[3])) {\r\n return 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n private SortObsoleti(a: Censimento, b: Censimento, software: string): number {\r\n const aVPSplitted: string[] = a[software].split('.');\r\n const bVPSplitted: string[] = b[software].split('.');\r\n\r\n // PRIMO CHAR\r\n if (Number(aVPSplitted[0]) < Number(bVPSplitted[0])) {\r\n return -1;\r\n } else if (Number(aVPSplitted[0]) > Number(bVPSplitted[0])) {\r\n return 1;\r\n } else if (Number(aVPSplitted[0]) === Number(bVPSplitted[0])) {\r\n // SECONDO CHAR\r\n if (Number(aVPSplitted[1]) < Number(bVPSplitted[1])) {\r\n return -1;\r\n } else if (Number(aVPSplitted[1]) > Number(bVPSplitted[1])) {\r\n return 1;\r\n } else if (Number(aVPSplitted[1]) === Number(bVPSplitted[1])) {\r\n if (Number(aVPSplitted[2]) < Number(bVPSplitted[2])) {\r\n return -1;\r\n } else if (Number(aVPSplitted[2]) > Number(bVPSplitted[2])) {\r\n return 1;\r\n } else if (Number(aVPSplitted[2]) === Number(bVPSplitted[2])) {\r\n if (Number(aVPSplitted[3]) < Number(bVPSplitted[3])) {\r\n return -1;\r\n } else if (Number(aVPSplitted[3]) > Number(bVPSplitted[3])) {\r\n return 1;\r\n } else if (Number(aVPSplitted[3]) === Number(bVPSplitted[3])) {\r\n return 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n clickCensimento(censimento:any, tipo, modalElimina:TemplateRef){\r\n if(tipo === \"apri\"){\r\n censimento.ShowView = !censimento.ShowView;\r\n } else if(tipo === 'elimina'){\r\n this.OpenModalElimina(modalElimina, censimento)\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PIVANMAGNCASSAMACSOFTWAREVERSIONEDESMAGRAGSOCSTATUS
{{censimentoAggiorna.PIVA}}{{censimentoAggiorna.NMAG}}{{censimentoAggiorna.NCASSA}}{{censimentoAggiorna.MAC}}{{censimentoAggiorna.SOFTWARE}}{{censimentoAggiorna.VERSION}}{{censimentoAggiorna.DESMAG}}{{censimentoAggiorna.RAGSOC}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Ordinamento\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Filtra\r\n \r\n
\r\n
    \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n
  • \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n 7 ? '../assets/img/cash-register-out.png' : '../assets/img/cash-register.png'\"\r\n [RAGSOC]=\"censimento.RAGSOC\" [DESMAG]=\"censimento.DESMAG\" [RIVENDITORE]=\"censimento.RIVENDITORE\"\r\n [NMAG]=\"censimento.NMAG\" [NCASSA]=\"censimento.NCASSA\" [VU]=\"censimento.VU\"\r\n [LASTDATASTRING]=\"censimento.LASTDATASTRING\" [CLIENTE]=\"censimento.CLIENTE\" [PIVA]=\"censimento.PIVA\"\r\n [LOC]=\"censimento.LOC\" [VP]=\"censimento.VP\" [VB]=\"censimento.VB\" [DR]=\"censimento.DR\"\r\n [MATRICOLA]=\"censimento.MATRICOLA\" [AZZER]=\"censimento.AZZER\" [GIART]=\"censimento.GIART\"\r\n [LOTTERIA]=\"censimento.LOTTERIA\" [XML7] = \"censimento.XML7\"\r\n [SERVB2B]=\"censimento.SERVB2B\" [IDTRAB2B]=\"censimento.IDTRAB2B\"\r\n [CPU]=\"censimento.CPU\" [MAC]=\"censimento.MAC\" [VIA]=\"censimento.VIA\" [RT_FW] = \"censimento.RT_FW\"\r\n [RT_MODEL] = \"censimento.RT_MODEL\" [RE_MATR]=\"censimento.RE_MATR\" [LastVP]=\"LastVP\" [LastDriver] = \"LastDriver\"\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
7\" class=\"casella-dettaglio-censimenti\">\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{censimento.RAGSOC}}
\r\n
\r\n
\r\n
{{censimento.DESMAG}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Rivenditore:
\r\n
\r\n
\r\n
{{censimento.RIVENDITORE}}
\r\n
\r\n
\r\n
\r\n
\r\n N/C:\r\n
\r\n
\r\n
{{censimento.NMAG}}/{{censimento.NCASSA}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Visual Update:\r\n
\r\n
\r\n
{{censimento.VU}}
\r\n
\r\n
\r\n
\r\n
\r\n Ultimo Avvio:\r\n
\r\n
\r\n
{{censimento.LASTDATASTRING}}
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Cliente\r\n
\r\n
\r\n P.Iva\r\n
\r\n
\r\n
{{censimento.PIVA}}
\r\n
\r\n
\r\n Via\r\n
\r\n
\r\n
{{censimento.PIVA}}
\r\n
\r\n
\r\n Localita\r\n
\r\n
\r\n
{{censimento.LOC}}
\r\n
\r\n
\r\n
\r\n
\r\n Software\r\n
\r\n
\r\n VisualPos\r\n
\r\n \r\n
\r\n VisualB2B\r\n
\r\n
\r\n {{censimento.VB}}\r\n
\r\n
\r\n Driver\r\n
\r\n \r\n
\r\n VisualUpdate\r\n
\r\n
\r\n {{censimento.VU}}\r\n
\r\n
\r\n
\r\n
\r\n Fiscale\r\n
\r\n
\r\n Matricola\r\n
\r\n
\r\n
{{censimento.MATRICOLA}}
\r\n
\r\n
\r\n Azzeramento Fiscale\r\n
\r\n
\r\n

{{censimento.AZZER}}

\r\n
\r\n
\r\n RT\r\n
\r\n
\r\n

{{censimento.GIART}}

\r\n
\r\n
\r\n Data Avvio RT\r\n
\r\n
\r\n

{{censimento.AVVIORT}}

\r\n
\r\n
\r\n
\r\n
\r\n Fatturazione Elettronica\r\n
\r\n
\r\n Servizio B2B\r\n
\r\n
\r\n

{{censimento.SERVB2B}}

\r\n
\r\n
\r\n Trasmittente B2B\r\n
\r\n
\r\n

{{censimento.IDTRAB2B}}

\r\n
\r\n
\r\n Moduli\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Hardware\r\n
\r\n
\r\n CPU\r\n
\r\n
\r\n

{{censimento.CPU}}

\r\n
\r\n
\r\n MAC\r\n
\r\n
\r\n

{{censimento.MAC}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
7\" style=\"height: fit-content\">\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{censimento.RAGSOC}}\r\n Senza ragione sociale\r\n
\r\n
\r\n

{{censimento.DESMAG}}

\r\n
\r\n
\r\n
\r\n
\r\n Rivenditore\r\n
\r\n
\r\n

{{censimento.RIVENDITORE}}

\r\n
\r\n
\r\n
\r\n
\r\n N/C\r\n
\r\n
\r\n

{{censimento.NMAG}}/{{censimento.NCASSA}}

\r\n
\r\n
\r\n
\r\n
\r\n Visual Update\r\n
\r\n
\r\n

{{censimento.VU}}

\r\n
\r\n
\r\n
\r\n
\r\n Ultimo Avvio\r\n
\r\n
\r\n

{{censimento.LASTDATASTRING}}

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \"\"\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Cliente\r\n
\r\n
\r\n P.Iva\r\n
\r\n
\r\n

-

\r\n

{{censimento.PIVA}}

\r\n
\r\n
\r\n Via\r\n
\r\n
\r\n

-

\r\n

{{censimento.VIA}}

\r\n
\r\n
\r\n Localita\r\n
\r\n
\r\n

-

\r\n

{{censimento.LOC}}

\r\n
\r\n
\r\n
\r\n
\r\n Software\r\n
\r\n
\r\n VisualPos\r\n
\r\n \r\n
\r\n VisualB2B\r\n
\r\n
\r\n {{censimento.VB}}\r\n
\r\n
\r\n Driver\r\n
\r\n \r\n
\r\n VisualUpdate\r\n
\r\n
\r\n {{censimento.VU}}\r\n
\r\n
\r\n
\r\n
\r\n Fiscale\r\n
\r\n
\r\n Matricola\r\n
\r\n
\r\n

{{censimento.MATRICOLA}}

\r\n
\r\n
\r\n Azzeramento Fiscale\r\n
\r\n
\r\n

{{censimento.AZZER}}

\r\n
\r\n
\r\n
\r\n RT\r\n
{{censimento.GIART}}
\r\n
\r\n
\r\n LOTTERIA\r\n
{{censimento.LOTTERIA}}
\r\n
\r\n
\r\n XML7\r\n
{{censimento.XML7}}
\r\n
\r\n\r\n
\r\n
\r\n FW / \r\n Modello /  \r\n Matricola\r\n
\r\n
\r\n

{{censimento.RT_FW}} / 

\r\n {{censimento.RT_FW}} / \r\n\r\n

 {{censimento.RT_MODEL}} /

\r\n {{censimento.RT_MODEL}} /\r\n\r\n\r\n

 {{censimento.RE_MATR}}

\r\n  {{censimento.RE_MATR}} \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Fatturazione Elettronica\r\n
\r\n
\r\n Servizio B2B\r\n
\r\n
\r\n
{{censimento.SERVB2B}}
\r\n
\r\n
\r\n Trasmittente B2B\r\n
\r\n
\r\n
{{censimento.IDTRAB2B}}
\r\n
\r\n
\r\n Moduli\r\n
\r\n \r\n
\r\n
\r\n
\r\n Hardware\r\n
\r\n
\r\n CPU\r\n
\r\n
\r\n
\r\n

{{censimento.CPU}}

\r\n
\r\n
\r\n MAC\r\n
\r\n
\r\n

{{censimento.MAC}}

\r\n
\r\n \r\n
0\">\r\n \r\n {{licenza}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Codice GABModuli
{{modulo.CODICE}}{{modulo.DESCRIZIONE}}
Informazioni moduli non disponibili
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ID TeamViewer
0\">{{SelectedCensimento.TEAMVIEWER}}Non disponibile
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
{{row}}
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n

Sei sicuro di voler eliminare il 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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SoftwareVersioneAzioni
VisualPos{{this.LastVP.version}}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
Licenza
\r\n
\r\n
Azioni
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SoftwareVersioneAzioni
Driver{{this.LastDriver.version}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { Router } from '@angular/router';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { CompanyBusiness } from 'src/app/Models/Cloud/CompanyBusiness';\r\nimport { BusinessService } from './../../Services/Cloud/business.service';\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { faTrash, faInfoCircle, faChevronCircleLeft, IconDefinition, faPen } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-business-manager',\r\n templateUrl: './business-manager.component.html',\r\n styleUrls: ['./business-manager.component.scss']\r\n})\r\nexport class BusinessManagerComponent implements OnInit {\r\n\r\n public companyBusinesses: CompanyBusiness[];\r\n public selectedBusiness: CompanyBusiness;\r\n public descriptionNew: string = \"\";\r\n\r\n //ICON\r\n public faTrash: IconDefinition = faTrash;\r\n public faPen: IconDefinition = faPen;\r\n public faInfoCircle: IconDefinition = faInfoCircle;\r\n public faChevronCircleLeft: IconDefinition = faChevronCircleLeft;\r\n\r\n constructor(private businessService: BusinessService, public modalService: BsModalService, public alertService: AlertService, public router: Router, public auth: AuthService) { }\r\n\r\n async ngOnInit(): Promise {\r\n this.companyBusinesses = await lastValueFrom(this.businessService.GetBusiness());\r\n }\r\n\r\n public async DeleteBusiness() {\r\n \r\n const result = await lastValueFrom(this.businessService.DeleteBusiness(this.selectedBusiness.id));\r\n\r\n if (result) {\r\n \r\n const index: number = this.companyBusinesses.findIndex(cb => {\r\n return cb.id === this.selectedBusiness.id;\r\n })\r\n \r\n this.companyBusinesses.splice(index, 1);\r\n this.modalService.hide();\r\n this.alertService.success(\"Attività eliminata\");\r\n } else {\r\n this.modalService.hide();\r\n this.alertService.danger(\"Impossibile eliminare l'attività\");\r\n }\r\n }\r\n\r\n public OpenModalNewBusiness(template: TemplateRef) {\r\n this.descriptionNew = \"\";\r\n this.modalService.show(template);\r\n }\r\n\r\n public async CreateBusiness(description: string) {\r\n \r\n if (description === undefined || description === \"\") {\r\n this.alertService.danger(\"Inserire il nome per continuare\");\r\n return;\r\n }\r\n\r\n\r\n const success = await lastValueFrom(this.businessService.CreateBusiness(description));\r\n \r\n if (success) {\r\n this.modalService.hide();\r\n this.descriptionNew = \"\";\r\n this.alertService.success(\"Attività creata\");\r\n } else { \r\n this.modalService.hide();\r\n this.descriptionNew = \"\";\r\n this.alertService.danger(\"Impossibile creare una nuova attività\");\r\n }\r\n\r\n this.companyBusinesses = await lastValueFrom(this.businessService.GetBusiness());\r\n }\r\n\r\n public async UpdateBusiness(description: string, business: CompanyBusiness) {\r\n await lastValueFrom(this.businessService.CreateBusiness(description, business));\r\n this.modalService.hide();\r\n this.descriptionNew = \"\";\r\n business.description = description;\r\n this.alertService.success(\"Attività modificata\");\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Tipologie Attività

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n Aggiungi una nuova attività\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Annulla
\r\n
Salva
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n Modifica attività\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Annulla
\r\n
Salva
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sei sicuro di voler eliminare l'elemento?
\r\n
\r\n
\r\n
Annulla
\r\n
Elimina
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cloud',\r\n templateUrl: './cloud.component.html',\r\n styleUrls: ['./cloud.component.scss']\r\n})\r\nexport class CloudComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","","import { AuthService } from './../../../Services/AuthService/auth.service';\r\nimport { SellpointsService } from 'src/app/Services/Cloud/sellpoint.service';\r\nimport { PlanningType, SellPoint } from 'src/app/Models/Cloud/SellPoint';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { GroupService } from './../../../Services/Cloud/group.service';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { CenterService } from 'src/app/Services/Cloud/center.service';\r\nimport { Router } from '@angular/router';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { Center } from 'src/app/Models/Cloud/Center';\r\nimport { Group } from 'src/app/Models/Cloud/Group';\r\nimport { faTrash, faPlus, faChevronCircleLeft, faInfoCircle, IconDefinition, faPen } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-center-manager',\r\n templateUrl: './center-manager.component.html',\r\n styleUrls: ['./center-manager.component.scss']\r\n})\r\nexport class CenterManagerComponent implements OnInit {\r\n\r\n //ICONS\r\n public faChevronCircleLeft: IconDefinition = faChevronCircleLeft;\r\n public faEdit: IconDefinition = faPen;\r\n public faTrash: IconDefinition = faTrash;\r\n public faPlus: IconDefinition = faPlus;\r\n public faInfoCircle: IconDefinition = faInfoCircle;\r\n\r\n public group: Group;\r\n public SelectedCenter: Center;\r\n public SelectedSellPoint: SellPoint;\r\n constructor(private modalService: BsModalService, public router: Router, public centerService: CenterService, public sellPointService: SellpointsService,\r\n private alertService: AlertService, public auth: AuthService) { \r\n this.group = this.router.getCurrentNavigation().extras.state.group as Group;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.group.centers.length > 0) {\r\n this.SelectedCenter = this.group.centers[0];\r\n }\r\n\r\n }\r\n\r\n public OpenCenterForm(center: Center, template: TemplateRef) {\r\n if (center === null) {\r\n center = new Center();\r\n center.group = this.group;\r\n }\r\n\r\n this.SelectedCenter = JSON.parse(JSON.stringify(center));\r\n\r\n this.modalService.show(template, {class: \"modal-xl\"});\r\n }\r\n\r\n public OpenSellPointForm(sellPoint: SellPoint, template: TemplateRef) {\r\n if (sellPoint === null) {\r\n sellPoint = new SellPoint();\r\n sellPoint.center = this.SelectedCenter;\r\n sellPoint.startHour = \"09:00:00\";\r\n sellPoint.finishHour = \"20:00:00\";\r\n }\r\n \r\n this.SelectedSellPoint = Object.assign({}, sellPoint);\r\n\r\n this.modalService.show(template, {class: \"modal-xl\"});\r\n }\r\n\r\n\r\n public OpenModalDeleteCenter(center: Center, template: TemplateRef) {\r\n this.SelectedCenter = center;\r\n this.modalService.show(template);\r\n }\r\n\r\n public OpenModalDeleteSellPoint(sellPoint: SellPoint, template: TemplateRef) {\r\n this.SelectedSellPoint = sellPoint;\r\n this.modalService.show(template);\r\n }\r\n\r\n public async UpdateGroup() {\r\n this.group.centers = await this.centerService.GetCentersById(this.group.id);\r\n\r\n this.SelectedCenter = this.group.centers.find(c => {\r\n return c.id === this.SelectedCenter.id\r\n });\r\n }\r\n\r\n public async DeleteCenter() {\r\n \r\n const success = await this.centerService.DeleteCenter(this.SelectedCenter);\r\n if (success) {\r\n this.modalService.hide();\r\n this.alertService.success(\"Centro eliminato con successo\");\r\n\r\n const index = this.group.centers.findIndex(c => {\r\n return c.id === this.SelectedCenter.id\r\n });\r\n\r\n this.group.centers.splice(index, 1);\r\n\r\n } else {\r\n this.modalService.hide();\r\n this.alertService.danger(\"Impossibile eliminare il centro\");\r\n }\r\n }\r\n public async DeleteSellPoint() {\r\n \r\n const success = await this.sellPointService.DeleteSellPoint(this.SelectedSellPoint);\r\n if (success) {\r\n this.modalService.hide();\r\n this.alertService.success(\"Sellpoint eliminato con successo\");\r\n\r\n //CERCO IL CENTER\r\n const index: number = this.SelectedCenter.sellPoints.findIndex(s => {\r\n return s.id === this.SelectedSellPoint.id;\r\n })\r\n\r\n this.SelectedCenter.sellPoints.splice(index, 1);\r\n \r\n } else {\r\n this.modalService.hide();\r\n this.alertService.danger(\"Impossibile eliminare il centro\");\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Gruppo {{group.name.toUpperCase()}}

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

Lista Centri

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{center.companyName}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Lista Sell Points {{this.SelectedCenter ? 'di ' + this.SelectedCenter.companyName : ''}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{sellpoint.name}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Vuoi eliminare {{this.SelectedCenter.companyName}}?

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

Vuoi eliminare {{this.SelectedSellPoint.name}}?

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { AuthService } from './../../../../Services/AuthService/auth.service';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { CenterService } from 'src/app/Services/Cloud/center.service';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { BusinessService } from './../../../../Services/Cloud/business.service';\r\nimport { CompanyBusiness } from 'src/app/Models/Cloud/CompanyBusiness';\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { Center } from 'src/app/Models/Cloud/Center';\r\nimport { lastValueFrom } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'center-form',\r\n templateUrl: './centerform.component.html',\r\n styleUrls: ['./centerform.component.scss']\r\n})\r\nexport class CenterformComponent implements OnInit {\r\n\r\n @Input() public center: Center;\r\n @Output() public UpdateGroup: EventEmitter = new EventEmitter();\r\n\r\n public companyBusinesses: CompanyBusiness[];\r\n public SelectedBusiness: CompanyBusiness;\r\n\r\n constructor(private businessService: BusinessService, public centerService: CenterService, public modalService: BsModalService, private alertService: AlertService, public auth: AuthService) { }\r\n\r\n async ngOnInit(): Promise {\r\n this.companyBusinesses = await lastValueFrom(this.businessService.GetBusiness());\r\n if (this.center.business === null) {\r\n this.center.business = this.companyBusinesses[0];\r\n }\r\n }\r\n\r\n public async EditCenter() {\r\n\r\n if ((this.center.companyName === undefined || this.center.companyName === \"\") || (this.center.vatNumber === undefined || this.center.vatNumber === \"\")) {\r\n this.alertService.danger(\"Impossibile ragione sociale e IVA per continuare\");\r\n return;\r\n }\r\n\r\n const success = this.center.id === undefined ? await this.centerService.CreateCenter(this.center) : await this.centerService.EditCenter(this.center)\r\n\r\n if (success !== null) {\r\n this.modalService.hide();\r\n this.alertService.success(\"Centro modificato con successo\");\r\n } else {\r\n this.modalService.hide();\r\n this.alertService.danger(\"Impossibile modificare il centro\");\r\n }\r\n\r\n this.UpdateGroup.emit();\r\n }\r\n\r\n compareByID(businessOne: CompanyBusiness, businessTwo: CompanyBusiness) {\r\n return businessOne && businessTwo && businessOne.id == businessTwo.id;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Centro

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Esci
\r\n
\r\n
\r\n
Salva
\r\n
\r\n
\r\n
\r\n
","import { AuthService } from './../../../../Services/AuthService/auth.service';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { SellPoint } from './../../../../Models/Cloud/SellPoint';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { SellpointsService } from 'src/app/Services/Cloud/sellpoint.service';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'sellpoint-form',\r\n templateUrl: './sellpointform.component.html',\r\n styleUrls: ['./sellpointform.component.scss']\r\n})\r\nexport class SellpointformComponent implements OnInit {\r\n\r\n constructor(private sellPointService: SellpointsService, public modalService: BsModalService, private alertService: AlertService, public auth: AuthService) { }\r\n @Input() public sellPoint: SellPoint;\r\n @Output() public UpdateGroup: EventEmitter = new EventEmitter();\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n public async EditSellPoint() {\r\n \r\n if (this.sellPoint.name === \"\" || this.sellPoint.name === undefined) {\r\n this.alertService.danger(\"Inserisci il nome per continuare\");\r\n return;\r\n }\r\n\r\n\r\n const success = this.sellPoint.id === undefined ? await this.sellPointService.CreateSellPoint(this.sellPoint) : await this.sellPointService.EditSellPoint(this.sellPoint);\r\n\r\n if (success !== null) {\r\n this.modalService.hide();\r\n this.alertService.success(\"Centro modificato con successo\");\r\n } else {\r\n this.modalService.hide();\r\n this.alertService.danger(\"Impossibile modificare il centro\");\r\n }\r\n\r\n this.UpdateGroup.emit();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

SellPoint

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Esci
\r\n
\r\n
\r\n
Salva
\r\n
\r\n
\r\n
\r\n
","import { AlertService } from 'ngx-alerts';\r\nimport { LicenseCloudService } from './../../Services/Cloud/license-cloud.service';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { GroupService } from '../../Services/Cloud/group.service';\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { Group } from 'src/app/Models/Cloud/Group';\r\nimport {faLink, faInfoCircle, faHourglassStart, faPowerOff, faEdit, faEyeSlash, faUserShield, faTrash, faTrashRestore, faArrowDown, faChartLine, faSearch, faKey, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { CloudLicense, CloudLicenseDate } from 'src/app/Models/Cloud/CloudLicense';\r\nimport { Admin } from 'src/app/Models/Cloud/SuperAdmin';\r\nimport { CenterService } from 'src/app/Services/Cloud/center.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-group-manager',\r\n templateUrl: './group-manager.component.html',\r\n styleUrls: ['./group-manager.component.scss']\r\n})\r\nexport class GroupManagerComponent implements OnInit {\r\n\r\n public Groups: Group[];\r\n public AllGroups: Group[];\r\n public cloudLicenses: CloudLicense[];\r\n\r\n public SelectedGroup: Group;\r\n public SelectedSuperAdmin: Admin;\r\n\r\n public Loading: boolean = false;\r\n public List: boolean = true;\r\n public NewAdminBoolean: boolean = false;\r\n public EditAdminBoolean: boolean = false;\r\n //TODAY\r\n public today: Date = new Date();\r\n\r\n public filter = {\r\n search: null,\r\n active: null,\r\n expired: null,\r\n deleted: false,\r\n licenseConfigId: null,\r\n }\r\n\r\n //ICONS\r\n public faLink: IconDefinition = faLink;\r\n public faHourglassStart: IconDefinition = faHourglassStart;\r\n public faPowerOff: IconDefinition = faPowerOff;\r\n public faEdit: IconDefinition = faEdit;\r\n public faEyeSlash: IconDefinition = faEyeSlash;\r\n public faArrowDown: IconDefinition = faArrowDown;\r\n public faChartLine: IconDefinition = faChartLine;\r\n public faKey: IconDefinition = faKey;\r\n public faTrash: IconDefinition = faTrash;\r\n public faTrashRestore: IconDefinition = faTrashRestore;\r\n public faSearch: IconDefinition = faSearch;\r\n public faInfoCircle: IconDefinition = faInfoCircle;\r\n public faUserShield: IconDefinition = faUserShield;\r\n \r\n\r\n //DATEPICKER\r\n public bsConfig: Partial;\r\n\r\n constructor(private groupService: GroupService, private centerService: CenterService, public auth: AuthService, private router: Router, private activeRoute: ActivatedRoute, private modalService: BsModalService,\r\n private localeService: BsLocaleService, private alertService: AlertService, private licenseCloudService: LicenseCloudService\r\n ) { }\r\n private async Init() {\r\n this.auth.Ready = false;\r\n\r\n this.Loading = true;\r\n await this.groupService.InitToken();\r\n\r\n this.AllGroups = await lastValueFrom(this.groupService.getAllGroups());\r\n\r\n this.Groups = [...this.AllGroups];\r\n\r\n this.Filter(null, null);\r\n\r\n this.cloudLicenses = await lastValueFrom(this.licenseCloudService.GetLicenses());\r\n\r\n this.cloudLicenses.forEach(license => {\r\n delete license.updatedAt;\r\n })\r\n\r\n this.Loading = false;\r\n\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n this.auth.Ready = true;\r\n\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName(\"li\");\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'cloud') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n\r\n this.localeService.use('it');\r\n\r\n this.bsConfig = Object.assign({}, { containerClass: 'theme-dark-blue', showWeekNumbers: false});\r\n \r\n }\r\n private async LocalValidation() {\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if(valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.Ready = false;\r\n this.auth.IsLogin = true;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n await this.Init();\r\n }\r\n\r\n public async GetCenters(group: Group) {\r\n group.centers = await this.centerService.GetCentersById(group.id);\r\n\r\n this.List = false;\r\n\r\n const id: string = group.centers[0] ? String(group.centers[0].id) : '';\r\n\r\n this.router.navigate([\"/cloud\", id], {state: {group}, relativeTo: this.activeRoute});\r\n }\r\n\r\n public OpenBusinessManager() {\r\n this.router.navigate([\"/cloud/business\"], {relativeTo: this.activeRoute});\r\n }\r\n \r\n public OpenLicensesManager() {\r\n this.router.navigate([\"/cloud/licenses\"], {relativeTo: this.activeRoute});\r\n }\r\n\r\n public OpenModal(template: TemplateRef, group: Group) {\r\n this.SelectedGroup = group;\r\n this.modalService.show(template);\r\n }\r\n\r\n public OpenModalEditGroup(template: TemplateRef, group: Group) {\r\n this.SelectedGroup = Object.assign({}, group);\r\n this.modalService.show(template);\r\n }\r\n\r\n public OpenModalSuperAdmin(template: TemplateRef, group: Group) {\r\n this.SelectedGroup = group;\r\n this.SelectedSuperAdmin = new Admin();\r\n this.NewAdminBoolean = false;\r\n this.modalService.show(template, {class: \"modal-xl\"});\r\n }\r\n\r\n public OpenModalNew(newGroup: TemplateRef) {\r\n this.SelectedGroup = new Group();\r\n this.SelectedSuperAdmin = new Admin();\r\n this.modalService.show(newGroup);\r\n }\r\n\r\n public NewSuperAdmin() {\r\n this.EditAdminBoolean = false;\r\n this.NewAdminBoolean = true;\r\n this.SelectedSuperAdmin = new Admin();\r\n }\r\n\r\n public EditSuperAdmin(admin: Admin) {\r\n this.NewAdminBoolean = false;\r\n this.EditAdminBoolean = true;\r\n this.SelectedSuperAdmin = Object.assign({}, admin);\r\n }\r\n\r\n public SelectDays(days: number) {\r\n this.SelectedGroup.startDate = new Date();\r\n\r\n const expirationDate = new Date();\r\n expirationDate.setDate(expirationDate.getDate() + days);\r\n this.SelectedGroup.expirationDate = expirationDate;\r\n }\r\n\r\n public async SaveDateLicense() {\r\n const cloudLicenseDate: CloudLicenseDate = new CloudLicenseDate();\r\n\r\n cloudLicenseDate.id = this.SelectedGroup.id;\r\n cloudLicenseDate.startDate = this.SelectedGroup.startDate;\r\n cloudLicenseDate.expirationDate = this.SelectedGroup.expirationDate;\r\n\r\n const success = await lastValueFrom(this.groupService.EditGroupDate(cloudLicenseDate));\r\n\r\n if (success) {\r\n this.modalService.hide();\r\n this.alertService.success(\"Date aggiornate\");\r\n } else {\r\n this.modalService.hide();\r\n this.alertService.danger(\"Impossibile aggiornare la data di validità del gruppo\"); \r\n }\r\n }\r\n\r\n public async NewGroup(validLicense: TemplateRef) {\r\n\r\n this.SelectedSuperAdmin.username = this.SelectedSuperAdmin.email;\r\n\r\n if (this.SelectedGroup.name === undefined || this.SelectedGroup.licenseConfigurationId === undefined) {\r\n this.alertService.danger(\"Inserire tutti i dati per continuare\");\r\n return;\r\n }\r\n if ((this.SelectedSuperAdmin.firstName === undefined || this.SelectedSuperAdmin.firstName === \"\") || (this.SelectedSuperAdmin.lastName === undefined || this.SelectedSuperAdmin.lastName === \"\") || (this.SelectedSuperAdmin.email === undefined || this.SelectedSuperAdmin.email === \"\") || (this.SelectedSuperAdmin.username === undefined || this.SelectedSuperAdmin.username === \"\") || (this.SelectedSuperAdmin.password === undefined || this.SelectedSuperAdmin.password === \"\")) {\r\n this.alertService.danger(\"Inserire tutti i dati per continuare\");\r\n return;\r\n }\r\n\r\n this.SelectedGroup.superAdmins.push(this.SelectedSuperAdmin);\r\n \r\n\r\n this.groupService.NewGroup(this.SelectedGroup).subscribe(async (success: boolean) => {\r\n this.SelectedGroup.startDate = new Date();\r\n const nextMonth: Date = new Date();\r\n nextMonth.setMonth(this.today.getMonth() + 1);\r\n this.SelectedGroup.expirationDate = nextMonth;\r\n \r\n if (success) {\r\n this.alertService.success(\"Gruppo creato con successo\");\r\n this.modalService.hide();\r\n } else {\r\n this.modalService.hide();\r\n this.alertService.danger(\"Impossibile creare un nuovo gruppo\"); \r\n }\r\n \r\n await this.ngOnInit();\r\n }, (error) => {\r\n this.alertService.danger(\"Impossibile creare un nuovo gruppo\");\r\n });\r\n\r\n \r\n\r\n }\r\n\r\n public async NewAdmin() {\r\n this.SelectedSuperAdmin.username = this.SelectedSuperAdmin.email;\r\n if (!this.SelectedSuperAdmin.id) {\r\n this.SelectedSuperAdmin.id = null;\r\n }\r\n if ((this.SelectedSuperAdmin.firstName === undefined || this.SelectedSuperAdmin.firstName === \"\") || (this.SelectedSuperAdmin.lastName === undefined || this.SelectedSuperAdmin.lastName === \"\") || (this.SelectedSuperAdmin.email === undefined || this.SelectedSuperAdmin.email === \"\") || (this.SelectedSuperAdmin.username === undefined || this.SelectedSuperAdmin.username === \"\") || (this.SelectedSuperAdmin.password === undefined || this.SelectedSuperAdmin.password === \"\")) {\r\n this.alertService.danger(\"Inserire tutti i dati per continuare\");\r\n return;\r\n }\r\n this.SelectedSuperAdmin.groupId = this.SelectedGroup.id;\r\n \r\n const success = await lastValueFrom(this.groupService.NewOrEditAdmin(this.SelectedSuperAdmin));\r\n\r\n if (success) {\r\n this.alertService.success(this.SelectedSuperAdmin.id === null ? \"Admin creato con successo\" : \"Admin modificato\");\r\n\r\n /*\r\n if (this.SelectedSuperAdmin.id === null) {\r\n this.SelectedGroup.superAdmins.push(this.SelectedSuperAdmin);\r\n } else {\r\n let admin: Admin = this.SelectedGroup.superAdmins.find(a => {\r\n return a.id === this.SelectedSuperAdmin.id\r\n });\r\n \r\n admin = Object.assign({}, this.SelectedSuperAdmin);\r\n }\r\n */\r\n this.modalService.hide();\r\n this.SelectedSuperAdmin = new Admin();\r\n this.NewAdminBoolean = false;\r\n this.EditAdminBoolean = false;\r\n } else {\r\n this.alertService.danger(\"Impossibile creare o modificare l'admin\"); \r\n }\r\n\r\n await this.ngOnInit();\r\n }\r\n\r\n public async EditGroupLicense() {\r\n const success = await lastValueFrom(this.groupService.EditGroupLicense(this.SelectedGroup));\r\n\r\n if (success) {\r\n this.modalService.hide();\r\n this.alertService.success(\"Gruppo aggiornato\");\r\n } else {\r\n this.modalService.hide();\r\n this.alertService.danger(\"Impossibile aggiornare la licenza associata al gruppo. Contatta l'assistenza\"); \r\n }\r\n\r\n await this.ngOnInit();\r\n }\r\n\r\n public async ToggleGroupState(group: Group) {\r\n const success = await lastValueFrom(this.groupService.ToggleGroupState(group.id));\r\n \r\n if (success) {\r\n group.active = !group.active;\r\n return;\r\n }\r\n\r\n this.alertService.danger(\"Impossibile modificare lo stato del gruppo\");\r\n\r\n }\r\n\r\n public async ToggleGroupDeleted(group: Group) {\r\n const success = await lastValueFrom(this.groupService.ToggleGroupDisabled(group.id));\r\n \r\n if (success) {\r\n group.deleted = !group.deleted;\r\n this.modalService.hide();\r\n this.alertService.success(\"Gruppo eliminato\");\r\n this.Filter(null, null);\r\n return;\r\n }\r\n\r\n this.alertService.danger(\"Impossibile modificare lo stato del gruppo\");\r\n }\r\n\r\n public async DeleteAdmin(admin: Admin) {\r\n const success = await lastValueFrom(this.groupService.DeleteAdmin(admin));\r\n\r\n if (success) {\r\n\r\n const index = this.SelectedGroup.superAdmins.findIndex(a => {\r\n return a.id === admin.id\r\n });\r\n\r\n this.SelectedGroup.superAdmins.splice(index, 1);\r\n this.modalService.hide();\r\n this.alertService.success(\"Admin eliminato\");\r\n return;\r\n }\r\n\r\n this.alertService.danger(\"Impossibile modificare lo stato del gruppo\");\r\n }\r\n\r\n public Filter(value: boolean | string, type: string) {\r\n /*\r\n Filter type:\r\n - Search\r\n - Active\r\n - Confirmed\r\n - Deleted\r\n - Expired\r\n - LicenseConfigId\r\n */\r\n\r\n this.Groups = this.AllGroups;\r\n\r\n if (value === \"null\" || value === \"\") {\r\n value = null;\r\n }\r\n\r\n switch(type) {\r\n case 'Search': {\r\n this.filter.search = value;\r\n break;\r\n }\r\n case 'Active': {\r\n if (value === null) {\r\n this.filter.active = null;\r\n } else {\r\n this.filter.active = (value === \"true\");\r\n }\r\n break;\r\n\r\n }\r\n case 'Expired': {\r\n if (value === null) {\r\n this.filter.expired = null;\r\n } else {\r\n this.filter.expired = (value === \"true\");\r\n }\r\n break;\r\n }\r\n case 'LicenseConfigId': {\r\n if (value === null) {\r\n this.filter.licenseConfigId = null;\r\n } else {\r\n this.filter.licenseConfigId = value;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n const filteredList: Group[] = [...this.Groups];\r\n\r\n this.AllGroups.forEach(group => {\r\n \r\n const index: number = filteredList.indexOf(group);\r\n\r\n if (this.filter.licenseConfigId != null) {\r\n if (index !== -1 && group.licenseConfigurationId !== Number(this.filter.licenseConfigId)) {\r\n filteredList.splice(index, 1);\r\n return;\r\n }\r\n }\r\n\r\n if (this.filter.expired != null) {\r\n if (index !== -1) {\r\n\r\n if (this.filter.expired && this.today.getTime() > new Date(group.expirationDate).getTime()) {\r\n filteredList.splice(index, 1);\r\n return;\r\n }\r\n\r\n if (!this.filter.expired && this.today.getTime() < new Date(group.expirationDate).getTime()) {\r\n filteredList.splice(index, 1);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (this.filter.active != null) {\r\n if (index !== -1 && group.active !== this.filter.active) {\r\n filteredList.splice(index, 1);\r\n return;\r\n }\r\n }\r\n \r\n if (this.filter.deleted != null) {\r\n if (index !== -1 && group.deleted !== this.filter.deleted) {\r\n filteredList.splice(index, 1);\r\n return;\r\n }\r\n }\r\n\r\n if (this.filter.search != null) {\r\n if (index !== -1 && !group.name.toLowerCase().includes(this.filter.search.toLowerCase())) {\r\n filteredList.splice(index, 1);\r\n return;\r\n }\r\n }\r\n });\r\n\r\n this.Groups = filteredList;\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n

Licenze Cloud

\r\n
\r\n
\r\n
\r\n
\r\n
  Tipologie attività
\r\n
\r\n
\r\n
  Configurazioni Licenze
\r\n
\r\n
\r\n
  Nuovo Gruppo
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{group.name}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

Validità licenza

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Inizio\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Scadenza\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Durata licenza: {{(this.SelectedGroup.expirationDate.getTime() - this.SelectedGroup.startDate.getTime()) / (1000 * 3600 * 24) | number: '1.0-0' }} giorni\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

Modifica cliente

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

Nuovo cliente

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Super Admin
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Vuoi eliminare {{this.SelectedGroup.name}}?

\r\n

Vuoi ripristinare {{this.SelectedGroup.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

Vuoi eliminare l'Admin?

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

Lista SuperAdmin

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
UsernameDati
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Super Admin
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \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 { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { LicenseCloudService } from './../../Services/Cloud/license-cloud.service';\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { Authority, CloudLicense } from 'src/app/Models/Cloud/CloudLicense';\r\nimport { faTrash, faInfoCircle, faChevronCircleLeft, IconDefinition, faPen } from '@fortawesome/free-solid-svg-icons';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-license-manager',\r\n templateUrl: './license-manager.component.html',\r\n styleUrls: ['./license-manager.component.scss']\r\n})\r\nexport class LicenseManagerComponent implements OnInit {\r\n\r\n public cloudLicenses: CloudLicense[];\r\n public selectedLicense: CloudLicense;\r\n //ICON\r\n public faTrash: IconDefinition = faTrash;\r\n public faInfoCircle: IconDefinition = faInfoCircle;\r\n public faChevronCircleLeft: IconDefinition = faChevronCircleLeft;\r\n public faPen: IconDefinition = faPen;\r\n constructor(public licenseCloudService: LicenseCloudService, public modalService: BsModalService, private alertService: AlertService, public router: Router, public auth: AuthService) { }\r\n\r\n async ngOnInit() {\r\n this.cloudLicenses = await lastValueFrom(this.licenseCloudService.GetLicenses());\r\n\r\n this.cloudLicenses.forEach(license => {\r\n delete license.updatedAt;\r\n })\r\n }\r\n\r\n public CheckAuth(auth: Authority) {\r\n return this.selectedLicense.authorities.includes(auth);\r\n }\r\n\r\n public EditAuthority(auth: Authority) {\r\n if (this.selectedLicense.authorities.includes(auth)) {\r\n this.selectedLicense.authorities.splice(this.selectedLicense.authorities.indexOf(auth), 1);\r\n } else {\r\n this.selectedLicense.authorities.push(auth);\r\n }\r\n }\r\n\r\n public OpenEditLicense(LicenseForm: TemplateRef, license: CloudLicense) {\r\n this.selectedLicense = license\r\n this.modalService.show(LicenseForm, {class: 'modal-xl modal-dialog-scrollable'})\r\n }\r\n\r\n public OpenNewLicense(LicenseForm: TemplateRef) {\r\n this.selectedLicense = new CloudLicense();\r\n this.modalService.show(LicenseForm, {class: 'modal-xl modal-dialog-scrollable'})\r\n }\r\n\r\n public CheckDisabled() {\r\n return (this.selectedLicense.name === undefined || this.selectedLicense.name === \"\") && (this.selectedLicense.maxCabins === undefined || this.selectedLicense.maxCabins === null) && (this.selectedLicense.maxOperators === undefined || this.selectedLicense.maxOperators === null);\r\n }\r\n \r\n public async CreateOrUpdateLicense() {\r\n if (!this.selectedLicense.id) {\r\n const success = await lastValueFrom(this.licenseCloudService.CreateLicense(this.selectedLicense));\r\n\r\n if (success) {\r\n this.modalService.hide();\r\n this.alertService.success(\"Licenza generata con successo\");\r\n\r\n this.cloudLicenses.push(Object.assign({}, this.selectedLicense));\r\n\r\n this.selectedLicense = new CloudLicense();\r\n\r\n return;\r\n }\r\n \r\n this.alertService.danger(\"Impossibile generare la licenza\");\r\n } else {\r\n const success = await lastValueFrom(this.licenseCloudService.EditLicense(this.selectedLicense));\r\n\r\n if (success) {\r\n this.modalService.hide();\r\n this.alertService.success(\"Licenza modificata con successo\");\r\n return;\r\n }\r\n \r\n this.alertService.danger(\"Impossibile modificare la licenza\");\r\n }\r\n\r\n await this.ngOnInit();\r\n }\r\n\r\n public async DeleteLicense() {\r\n\r\n const result = await lastValueFrom(this.licenseCloudService.DeleteLicense(this.selectedLicense.id));\r\n\r\n if (result) {\r\n \r\n const index: number = this.cloudLicenses.findIndex(l => {\r\n return l.id === this.selectedLicense.id;\r\n })\r\n \r\n this.cloudLicenses.splice(index, 1);\r\n this.modalService.hide();\r\n this.alertService.success(\"Licenza eliminata\");\r\n } else {\r\n this.modalService.hide();\r\n this.alertService.danger(\"Impossibile eliminare la licenza\");\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Configurazione licenze

\r\n
\r\n
\r\n
Aggiungi
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
NomeCabine MaxOperatori MaxDescrizioneData
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

Configurazione Licenza

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sei sicuro di voler eliminare l'elemento?
\r\n
\r\n
\r\n
Annulla
\r\n
Elimina
\r\n
\r\n
\r\n ","export const IsDev = {\r\n active: false,\r\n url: 'https://localhost:44306'\r\n};\r\n\r\nexport const VERSION: string = \"2.0.1\";\r\n\r\nexport const StripeString = {\r\n Dev: \"pk_test_51GvN55IqziYJrkKS25DrF9bp1UHSVRtTHmXZYbBPJxtSQJv8KGZ5JFk1J7yxM1mPpnBLOQu3fU7wfNBCId0PNM1c00ezplO9sc\",\r\n Prod: \"pk_live_51GvN55IqziYJrkKS9fi8AMke7jMn3fgJ4uRRHcolrOhIx3KawXX9KEYXnZxZwbJBkLbKeD7YB7g8SdRlf1819QPD00me6lLCOC\"\r\n}","import { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { LicenseService } from 'src/app/Services/LicenseService/license.service';\r\n\r\nimport { faPen, faSave, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-censimento-info',\r\n templateUrl: './censimento-info.component.html',\r\n styleUrls: ['./censimento-info.component.scss']\r\n})\r\nexport class CensimentoInfoComponent implements OnInit {\r\n\r\n @Input() censimentoInfo: any;\r\n public editMacAddress = false;\r\n public canSave = true;\r\n\r\n // ICONS\r\n public faPen: IconDefinition = faPen;\r\n public faSave: IconDefinition = faSave;\r\n\r\n constructor(public modalService: BsModalService, private alertService: AlertService, public licenseService: LicenseService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n \r\n public async SaveModalMACAddress() {\r\n // CONTROLLO CHE IL MAC ADDRESS SIA FORMATTATO CORRETTAMENTE\r\n const regex = new RegExp(\"^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$\");\r\n\r\n if (regex.test(this.censimentoInfo.MAC) || this.censimentoInfo.MAC === \"\") {\r\n const change: boolean = await this.licenseService.ChangeMacAddress(this.censimentoInfo.MAC, this.censimentoInfo.licence);\r\n if (change) {\r\n this.alertService.success('MAC Address modificato');\r\n this.editMacAddress = false;\r\n } else {\r\n this.alertService.danger(\"Impossibile modificare il MAC Address\")\r\n }\r\n }\r\n }\r\n\r\n public CheckMacAddress() {\r\n const regex = new RegExp(\"^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$\");\r\n \r\n if (regex.test(this.censimentoInfo.MAC) || this.censimentoInfo.MAC === \"\") {\r\n this.canSave = true;\r\n return;\r\n }\r\n this.canSave = false;\r\n return;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

Censimento

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

Partita IVA: {{censimentoInfo.PIVA}}

\r\n

Ragione Sociale: {{censimentoInfo.RAGSOC}}

\r\n

NMAG: {{censimentoInfo.NMAG}}

\r\n

NCASSA: {{censimentoInfo.NCASSA}}

\r\n

\r\n MAC Address:   \r\n \r\n \r\n\r\n \r\n \r\n

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

La seguente licenza non è associata a nessun MAC Address

\r\n
\r\n
\r\n \r\n
\r\n
","import { UserService } from './../../Services/UserService/user.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { IsDev } from 'src/app/global';\r\nimport { License, LicenseInfo, LicenseStat } from 'src/app/Models/LicenzeStat';\r\nimport { User } from 'src/app/Models/User';\r\nimport { IconDefinition, faInfoCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { BsDatepickerConfig, BsDatepickerModule, BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { LicenseService } from 'src/app/Services/LicenseService/license.service';\r\n\r\n@Component({\r\n selector: 'app-license-genera',\r\n templateUrl: './license-genera.component.html',\r\n styleUrls: ['./license-genera.component.scss']\r\n})\r\nexport class LicenseGeneraComponent implements OnInit {\r\n\r\n\r\n @ViewChild('licenseModal') licenseTemplate: TemplateRef\r\n\r\n @Output() LoadLicenses: EventEmitter = new EventEmitter();\r\n\r\n @Input() public licenzeStats: LicenseStat[]\r\n @Input() public Licenses: LicenseInfo[];\r\n\r\n public UserConcessionari: User[] = [];\r\n public UserSegnalatori: User[] = [];\r\n public UserIDLicenza: number = 10;\r\n public UserIDSegnalatore: number = 10;\r\n\r\n public TipoGenerazione: string = '';\r\n public TipoGenerazioneAdmin: string = 'Annuale';\r\n public demo: boolean = false;\r\n\r\n public sceltaLicenzaOBJ = {\r\n VisualFood: {\r\n Start: false,\r\n Pro: false,\r\n Gold: false\r\n },\r\n VisualShop: {\r\n Start: false,\r\n Pro: false\r\n },\r\n VisualKiosk: {\r\n Start: false,\r\n Pro: false,\r\n Gold: false,\r\n },\r\n VisualSelf: {\r\n Start: false,\r\n Pro: false,\r\n Gold: false\r\n },\r\n VisualBeach: {\r\n Start: false,\r\n Pro: false,\r\n Gold: false\r\n },\r\n VisualRetail: {\r\n Start: false,\r\n Pro: false\r\n }\r\n }\r\n\r\n public sceltaModuli: any = {\r\n cassetto: false,\r\n tabacchi: false,\r\n promotion: false,\r\n verify: false,\r\n celiachia: false,\r\n turn: false,\r\n modulo730: false,\r\n b2b: false\r\n }\r\n\r\n public loading: boolean = false;\r\n public LicenseGenerationCompleted: boolean = false;\r\n public alertMsg: string = \"\";\r\n public alertOpen = false;\r\n public generated: boolean = false;\r\n public popupInfo: string = \"\"\r\n public licenseGenerated: string = '';\r\n //DATA DI SCADENZA\r\n public faInfo: IconDefinition = faInfoCircle;\r\n public bsConfig: Partial;\r\n public DataScadenzaBoolean: boolean = false;\r\n public DataScadenza: Date;\r\n\r\n constructor(public auth: AuthService, public modalService: BsModalService,\r\n private http: HttpClient, private clipboard: ClipboardService, private alertService: AlertService,\r\n private userService: UserService, private localeService: BsLocaleService, private licenseService: LicenseService) { }\r\n\r\n async ngOnInit() {\r\n const users: User[] = await this.userService.LoadUsers(this.auth.AuthUser.Username);\r\n\r\n for (let i = 0; i < users.length; ++i) {\r\n if (users[i].Role === 1 || users[i].Role2 === 1) {\r\n this.UserConcessionari.push(users[i]);\r\n }\r\n if (users[i].Role === 3 || users[i].Role2 === 3) {\r\n this.UserSegnalatori.push(users[i]);\r\n }\r\n }\r\n\r\n //DEFINIZIONE DATA DI SCADENZA\r\n //const temp: Date = new Date();\r\n\r\n this.localeService.use('it');\r\n\r\n this.DataScadenza = new Date(2097, 11, 31);\r\n this.bsConfig = Object.assign({}, { containerClass: 'theme-dark-blue', showWeekNumbers: false});\r\n }\r\n\r\n\r\n //CHECK GLI ELEMENTI SELEZIONATI\r\n public SelectedToObj() {\r\n\r\n // VISUAL FOOD\r\n this.sceltaLicenzaOBJ.VisualFood.Start = (document.getElementById(\"vfoodstart\") as HTMLInputElement).checked ? true : false;\r\n this.sceltaLicenzaOBJ.VisualFood.Pro = (document.getElementById(\"vfoodpro\") as HTMLInputElement).checked ? true : false;\r\n this.sceltaLicenzaOBJ.VisualFood.Gold = (document.getElementById(\"vfoodgold\") as HTMLInputElement).checked ? true : false;\r\n\r\n // VISUAL SHOP\r\n this.sceltaLicenzaOBJ.VisualShop.Start = (document.getElementById(\"vshopstart\") as HTMLInputElement).checked ? true : false;\r\n this.sceltaLicenzaOBJ.VisualShop.Pro = (document.getElementById(\"vshoppro\") as HTMLInputElement).checked ? true : false;\r\n\r\n // VISUAL KIOSK\r\n this.sceltaLicenzaOBJ.VisualKiosk.Start = (document.getElementById(\"vkioskstart\") as HTMLInputElement).checked ? true : false;\r\n this.sceltaLicenzaOBJ.VisualKiosk.Pro = (document.getElementById(\"vkioskpro\") as HTMLInputElement).checked ? true : false;\r\n this.sceltaLicenzaOBJ.VisualKiosk.Gold = (document.getElementById(\"vkioskgold\") as HTMLInputElement).checked ? true : false;\r\n\r\n // VISUAL SELF\r\n this.sceltaLicenzaOBJ.VisualSelf.Start = (document.getElementById(\"vselfstart\") as HTMLInputElement).checked ? true : false;\r\n this.sceltaLicenzaOBJ.VisualSelf.Pro = (document.getElementById(\"vselfpro\") as HTMLInputElement).checked ? true : false;\r\n // this.sceltaLicenzaOBJ.VisualSelf.Gold = (document.getElementById(\"vselfgold\") as HTMLInputElement).checked ? true : false;\r\n\r\n // VISUAL BEACH\r\n this.sceltaLicenzaOBJ.VisualBeach.Start = (document.getElementById(\"vbeachstart\") as HTMLInputElement).checked ? true : false;\r\n this.sceltaLicenzaOBJ.VisualBeach.Pro = (document.getElementById(\"vbeachpro\") as HTMLInputElement).checked ? true : false;\r\n // this.sceltaLicenzaOBJ.VisualBeach.Gold = (document.getElementById(\"vbeachgold\") as HTMLInputElement).checked ? true : false;\r\n\r\n // VISUAL RETAIL\r\n this.sceltaLicenzaOBJ.VisualRetail.Start = (document.getElementById(\"vretailstart\") as HTMLInputElement).checked ? true : false;\r\n this.sceltaLicenzaOBJ.VisualRetail.Pro = (document.getElementById(\"vretailpro\") as HTMLInputElement).checked ? true : false;\r\n }\r\n\r\n private SelectedOBJToStrings(): string[] {\r\n const strings: string[] = [];\r\n\r\n // VISUAL FOOD\r\n if (this.sceltaLicenzaOBJ.VisualFood.Start) strings.push(\"vfoodstart\");\r\n if (this.sceltaLicenzaOBJ.VisualFood.Pro) strings.push(\"vfoodpro\");\r\n if (this.sceltaLicenzaOBJ.VisualFood.Gold) strings.push(\"vfoodgold\");\r\n\r\n // VISUAL SHOP\r\n if (this.sceltaLicenzaOBJ.VisualShop.Start) strings.push(\"vshopstart\");\r\n if (this.sceltaLicenzaOBJ.VisualShop.Pro) strings.push(\"vshoppro\");\r\n\r\n // VISUAL KIOSK\r\n if (this.sceltaLicenzaOBJ.VisualKiosk.Start) strings.push(\"vkioskstart\");\r\n if (this.sceltaLicenzaOBJ.VisualKiosk.Pro) strings.push(\"vkioskpro\");\r\n if (this.sceltaLicenzaOBJ.VisualKiosk.Gold) strings.push(\"vkioskgold\");\r\n\r\n // VISUAL SELF\r\n if (this.sceltaLicenzaOBJ.VisualSelf.Start) strings.push(\"vselfstart\");\r\n if (this.sceltaLicenzaOBJ.VisualSelf.Pro) strings.push(\"vselfpro\");\r\n // if (this.sceltaLicenzaOBJ.VisualSelf.Gold) strings.push(\"vselfgold\");\r\n\r\n // VISUAL BEACH\r\n if (this.sceltaLicenzaOBJ.VisualBeach.Start) strings.push(\"vbeachstart\");\r\n if (this.sceltaLicenzaOBJ.VisualBeach.Pro) strings.push(\"vbeachpro\");\r\n // if (this.sceltaLicenzaOBJ.VisualBeach.Gold) strings.push(\"vbeachgold\");\r\n\r\n // VISUAL RETAIL\r\n if (this.sceltaLicenzaOBJ.VisualRetail.Start) strings.push(\"vretailstart\");\r\n if (this.sceltaLicenzaOBJ.VisualRetail.Pro) strings.push(\"vretailpro\");\r\n\r\n return strings;\r\n }\r\n\r\n //Funzione per stampare correttamente i dati\r\n public SelectedOBJToStringHTML(): string[] {\r\n\r\n const strings: string[] = [];\r\n if (this.sceltaLicenzaOBJ.VisualFood.Start) strings.push(\"Visual Food Start\");\r\n if (this.sceltaLicenzaOBJ.VisualFood.Pro) strings.push(\"Visual Food Pro\");\r\n if (this.sceltaLicenzaOBJ.VisualFood.Gold) strings.push(\"Visual Food Gold\");\r\n\r\n if (this.sceltaLicenzaOBJ.VisualShop.Start) strings.push(\"Visual Shop Start\");\r\n if (this.sceltaLicenzaOBJ.VisualShop.Pro) strings.push(\"Visual Shop Pro\");\r\n\r\n if (this.sceltaLicenzaOBJ.VisualKiosk.Start) strings.push(\"Visual Kiosk Start\");\r\n if (this.sceltaLicenzaOBJ.VisualKiosk.Pro) strings.push(\"Visual Kiosk Pro\");\r\n if (this.sceltaLicenzaOBJ.VisualKiosk.Gold) strings.push(\"Visual Kiosk Gold\");\r\n\r\n if (this.sceltaLicenzaOBJ.VisualSelf.Start) strings.push(\"Visual Self Start\");\r\n if (this.sceltaLicenzaOBJ.VisualSelf.Pro) strings.push(\"Visual Self Pro\");\r\n if (this.sceltaLicenzaOBJ.VisualSelf.Gold) strings.push(\"Visual Self Gold\");\r\n\r\n if (this.sceltaLicenzaOBJ.VisualBeach.Start) strings.push(\"Visual Beach Start\");\r\n if (this.sceltaLicenzaOBJ.VisualBeach.Pro) strings.push(\"Visual Beach Pro\");\r\n if (this.sceltaLicenzaOBJ.VisualBeach.Gold) strings.push(\"Visual Beach Gold\");\r\n\r\n if (this.sceltaLicenzaOBJ.VisualRetail.Start) strings.push(\"Visual Retail Start\");\r\n if (this.sceltaLicenzaOBJ.VisualRetail.Pro) strings.push(\"Visual Retail Pro\");\r\n\r\n return strings;\r\n }\r\n\r\n public ModuleToString(): string[] {\r\n const returnString: string[] = [];\r\n\r\n if (this.sceltaModuli.cassetto) returnString.push(\"Collegamento Cassetto Automatico\");\r\n if (this.sceltaModuli.tabacchi) returnString.push(\"Tabacchi\");\r\n if (this.sceltaModuli.promotion) returnString.push(\"Promo Cassa\");\r\n if (this.sceltaModuli.verify) returnString.push(\"Cooki\");\r\n if (this.sceltaModuli.celiachia) returnString.push(\"Celiachia\");\r\n if (this.sceltaModuli.turn) returnString.push(\"Regiondo\");\r\n if (this.sceltaModuli.modulo730) returnString.push(\"Modulo 730\");\r\n if (this.sceltaModuli.b2b) returnString.push(\"Visual B2B\");\r\n\r\n return returnString;\r\n\r\n }\r\n\r\n private GetCountSelected(): number {\r\n let count: number = 0;\r\n if (this.sceltaLicenzaOBJ.VisualFood.Start) count++;\r\n if (this.sceltaLicenzaOBJ.VisualFood.Pro) count++;\r\n if (this.sceltaLicenzaOBJ.VisualFood.Gold) count++;\r\n\r\n if (this.sceltaLicenzaOBJ.VisualShop.Start) count++;\r\n if (this.sceltaLicenzaOBJ.VisualShop.Pro) count++;\r\n\r\n if (this.sceltaLicenzaOBJ.VisualKiosk.Start) count++;\r\n if (this.sceltaLicenzaOBJ.VisualKiosk.Pro) count++;\r\n if (this.sceltaLicenzaOBJ.VisualKiosk.Gold) count++;\r\n\r\n if (this.sceltaLicenzaOBJ.VisualSelf.Start) count++;\r\n if (this.sceltaLicenzaOBJ.VisualSelf.Pro) count++;\r\n if (this.sceltaLicenzaOBJ.VisualSelf.Gold) count++;\r\n\r\n if (this.sceltaLicenzaOBJ.VisualBeach.Start) count++;\r\n if (this.sceltaLicenzaOBJ.VisualBeach.Pro) count++;\r\n if (this.sceltaLicenzaOBJ.VisualBeach.Gold) count++;\r\n\r\n if (this.sceltaLicenzaOBJ.VisualRetail.Start) count++;\r\n if (this.sceltaLicenzaOBJ.VisualRetail.Pro) count++;\r\n\r\n return count;\r\n }\r\n\r\n public Reset() {\r\n // VISUAL FOOD\r\n (document.getElementById(\"vfoodstart\") as HTMLInputElement).checked = false;\r\n (document.getElementById(\"vfoodpro\") as HTMLInputElement).checked = false;\r\n (document.getElementById(\"vfoodgold\") as HTMLInputElement).checked = false;\r\n\r\n // VISUAL SHOP\r\n (document.getElementById(\"vshopstart\") as HTMLInputElement).checked = false;\r\n (document.getElementById(\"vshoppro\") as HTMLInputElement).checked = false;\r\n\r\n // VISUAL KIOSK\r\n (document.getElementById(\"vkioskstart\") as HTMLInputElement).checked = false;\r\n (document.getElementById(\"vkioskpro\") as HTMLInputElement).checked = false;\r\n (document.getElementById(\"vkioskgold\") as HTMLInputElement).checked = false;\r\n\r\n // VISUAL SELF\r\n (document.getElementById(\"vselfstart\") as HTMLInputElement).checked = false;\r\n (document.getElementById(\"vselfpro\") as HTMLInputElement).checked = false;\r\n // (document.getElementById(\"vselfgold\") as HTMLInputElement).checked = false;\r\n\r\n // VISUAL BEACH\r\n (document.getElementById(\"vbeachstart\") as HTMLInputElement).checked = false;\r\n (document.getElementById(\"vbeachpro\") as HTMLInputElement).checked = false;\r\n // (document.getElementById(\"vbeachgold\") as HTMLInputElement).checked = false;\r\n\r\n // VISUAL RETAIL\r\n (document.getElementById(\"vretailstart\") as HTMLInputElement).checked = false;\r\n (document.getElementById(\"vretailpro\") as HTMLInputElement).checked = false;\r\n\r\n this.sceltaLicenzaOBJ = {\r\n VisualFood: {\r\n Start: false,\r\n Pro: false,\r\n Gold: false\r\n },\r\n VisualShop: {\r\n Start: false,\r\n Pro: false\r\n },\r\n VisualKiosk: {\r\n Start: false,\r\n Pro: false,\r\n Gold: false,\r\n },\r\n VisualSelf: {\r\n Start: false,\r\n Pro: false,\r\n Gold: false\r\n },\r\n VisualBeach: {\r\n Start: false,\r\n Pro: false,\r\n Gold: false\r\n },\r\n VisualRetail: {\r\n Start: false,\r\n Pro: false\r\n }\r\n }\r\n\r\n this.sceltaModuli = {\r\n cassetto: false,\r\n tabacchi: false,\r\n promotion: false,\r\n verify: false,\r\n celiachia: false,\r\n turn: false,\r\n modulo730: false,\r\n b2b: false\r\n }\r\n }\r\n\r\n public async GenerateLicense() {\r\n this.loading = true;\r\n this.LicenseGenerationCompleted = false;\r\n if (this.demo ) {\r\n\r\n const result: any = await this.licenseService.GetLicenseDemoCount();\r\n\r\n if (result >= 10 && this.auth.AuthUser.Role !== 0) {\r\n this.alertMsg = \"Hai generato più di 10 licenze demo\";\r\n this.alertOpen = true;\r\n setTimeout(() => {\r\n this.alertOpen = false;\r\n }, 5000)\r\n return;\r\n } else {\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n\r\n const license: any = await this.licenseService.GenerateLicenseDemo();\r\n this.loading = false;\r\n this.licenseGenerated = license.license;\r\n this.OpenLicenseModal(this.licenseTemplate);\r\n\r\n this.LoadLicenses.emit(true);\r\n\r\n this.LicenseGenerationCompleted =true;\r\n\r\n await this.ngOnInit();\r\n return;\r\n }\r\n }\r\n\r\n\r\n //SE NON HO SELEZIONATO NIENTE, ALERT E RETURN\r\n if (this.GetCountSelected() < 1 && !this.demo) {\r\n this.alertService.danger(\"Seleziona un elemento per generare la licenza\");\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n\r\n //SCELGO UNA COMBINAZIONE DI LICENZE\r\n //this.sceltaLicenza, this.sceltaModuli\r\n\r\n //SCELGO SE SOTTRARLO AL COUNTER DELLE LICENZE ACQUISTATE O DAL CANONE, SE ESISTE -->\r\n //this.TipoGenerazione (Canone, Acquistato)\r\n\r\n //NEL CASO DEL CANONE, GENERO SEMPLICEMENTE LA LICENZA\r\n if (this.auth.AuthUser.Tipo.includes('C') && !this.auth.AuthUser.Tipo.includes('P') && !this.auth.AuthUser.Tipo.includes('S')) {\r\n this.TipoGenerazione = \"Canone\";\r\n }\r\n\r\n if (!this.auth.AuthUser.Tipo.includes('C') && (this.auth.AuthUser.Tipo.includes('P') || this.auth.AuthUser.Tipo.includes('S'))) {\r\n this.TipoGenerazione = \"Acquistate\";\r\n }\r\n\r\n if (this.auth.AuthUser.Username === 'gab') {\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n\r\n const selected: Selected = new Selected();\r\n\r\n //SCORRO LE CHIAVI DELL'OGGETTO E LE SOTTOCHIAVI, SUCCESSIVAMENTE\r\n selected.Visual = this.SelectedOBJToStrings();\r\n selected.Modules = this.ModuleToString();\r\n selected.UserID = 10;\r\n selected.Username = this.auth.AuthUser.Username;\r\n for (let i = 0; i < selected.Visual.length; ++i) {\r\n selected.CodiceArticolo.push(this.VisualToCodiceArticolo(selected.Visual[i]))\r\n }\r\n\r\n const ScadenzaLicenza = (this.DataScadenzaBoolean) ? this.DataScadenza : new Date(2001, 1, 1);\r\n\r\n const result = await this.licenseService.GenerateLicense(selected, this.TipoGenerazioneAdmin, this.UserIDLicenza, this.UserIDSegnalatore, ScadenzaLicenza);\r\n\r\n this.loading = false;\r\n\r\n const stat: LicenseStat = this.licenzeStats.find((stat) => stat.CodiceArticolo === \"CANONE\");\r\n stat.LicenzeGenerate = stat.LicenzeGenerate + selected.Visual.length;\r\n\r\n //APRO IL MODAL DELLA LICENZA\r\n this.licenseGenerated = (result as any).license;\r\n this.OpenLicenseModal(this.licenseTemplate);\r\n //AGGIUNGO IL MODAL ALLA LISTA DELLE LICENZE\r\n this.LoadLicenses.emit(true);\r\n\r\n this.LicenseGenerationCompleted = true;\r\n return;\r\n }\r\n\r\n\r\n if (this.TipoGenerazione === \"Canone\") {\r\n const stat: LicenseStat = this.licenzeStats.find((stat) => stat.CodiceArticolo === \"CANONE\");\r\n\r\n //CHECK SE POSSO ATTIVARE OPPURE NO\r\n const stringSplit: string[] = this.auth.AuthUser.SoftwareAbbinati.split('|'); //software attivabili\r\n const stringLicenses: string[] = this.SelectedOBJToStrings();\r\n\r\n let countCheck: number = 0;\r\n //CHECK, SE NON CONTIENE GLI ELEMENTI, IL CONTROLLO DIVENTA FALSO\r\n for (let i = 0; i < stringLicenses.length; ++i) {\r\n for (let j = 0; j < stringSplit.length; ++j) {\r\n if (stringLicenses[i].includes(stringSplit[j])) {\r\n countCheck++;\r\n }\r\n }\r\n }\r\n\r\n if (countCheck !== stringLicenses.length) {\r\n this.alertService.danger(\"Licenza non attivabile. Contatta il tuo distributore per ulteriori informazioni\");\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n if ((stat.LicenzeGenerate + stringLicenses.length) <= stat.NumeroLicenze || this.auth.AuthUser.Username === 'gab' || stat.NumeroLicenze === -1) {\r\n const selected: Selected = new Selected();\r\n selected.Visual = this.SelectedOBJToStrings();\r\n selected.Modules = this.ModuleToString();\r\n selected.UserID = this.auth.AuthUser.ID;\r\n selected.Username = this.auth.AuthUser.Username;\r\n for (let i = 0; i < selected.Visual.length; ++i) {\r\n selected.CodiceArticolo.push(this.VisualToCodiceArticolo(selected.Visual[i]))\r\n }\r\n\r\n const result = await this.licenseService.GenerateLicense(selected, this.TipoGenerazione);\r\n\r\n\r\n this.loading = false;\r\n //APRO IL MODAL DELLA LICENZA\r\n stat.LicenzeGenerate = stat.LicenzeGenerate + 1;\r\n this.licenseGenerated = (result as any).license;\r\n this.OpenLicenseModal(this.licenseTemplate);\r\n this.LoadLicenses.emit(true);\r\n\r\n this.LicenseGenerationCompleted =true;\r\n\r\n\r\n\r\n } else {\r\n this.alertService.danger(\"Numero limite di licenze generabili raggiunto\");\r\n }\r\n }\r\n\r\n //NEL CASO DEL TIPO ACQUISTATO, GENERO LA LICENZA SOLO SE LA POSSIEDO\r\n else if (this.TipoGenerazione === \"Acquistate\") {\r\n\r\n const codiciArticolo: string[] = [];\r\n const visuals: string[] = this.SelectedOBJToStrings();\r\n\r\n for (let i = 0; i < visuals.length; ++i) {\r\n codiciArticolo.push(this.VisualToCodiceArticolo(visuals[i]))\r\n }\r\n\r\n const stat: LicenseStat = this.licenzeStats.find((stat) => stat.CodiceArticolo === codiciArticolo[0]);\r\n\r\n let stat2: LicenseStat = null;\r\n\r\n //SE LI HO SELEZIONATI ENTRAMBI, CONTROLLO. ALTRIMENTI VALE NULL\r\n if (codiciArticolo.length > 1) {\r\n stat2 = this.licenzeStats.find((stat) => stat.CodiceArticolo === codiciArticolo[1]);\r\n }\r\n\r\n //SE MAGGIORE DI 2, IL SECONDO E' SEMPRE VISUAL RETAIL\r\n\r\n //CASO IN CUI NON ESISTE NIENTE\r\n if (stat === undefined && stat2 === null) {\r\n this.alertService.danger(\"Licenza non acquistata\");\r\n this.loading = false;\r\n return;\r\n }\r\n //CASO IN CUI ESISTE IL PRIMO MA NON IL SECONDO PERCHè NON SELEZIONATO\r\n else if (stat !== undefined && stat2 === null) {\r\n //POSSO GENERARE, HO SPAZIO\r\n if (stat.LicenzeGenerate + 1 <= stat.NumeroLicenze) {\r\n const selected: Selected = new Selected();\r\n selected.Visual = [visuals[0]];\r\n selected.Modules = this.ModuleToString();\r\n selected.UserID = this.auth.AuthUser.ID;\r\n selected.Username = this.auth.AuthUser.Username;\r\n selected.CodiceArticolo = codiciArticolo;\r\n\r\n const result: any = await this.licenseService.GenerateLicense(selected, this.TipoGenerazione);\r\n\r\n this.loading = false;\r\n //APRO IL MODAL DELLA LICENZA\r\n stat.LicenzeGenerate = stat.LicenzeGenerate + 1;\r\n this.licenseGenerated = (result as any).license;\r\n this.OpenLicenseModal(this.licenseTemplate);\r\n\r\n this.LoadLicenses.emit(true);\r\n\r\n this.LicenseGenerationCompleted = true;\r\n\r\n } else {\r\n this.alertService.danger(\"Numero limite di licenze generabili raggiunto\");\r\n this.loading = false;\r\n }\r\n }\r\n //CASO IN CUI ESISTE IL PRIMO ED ANCHE IL SECONDO\r\n else if (stat !== undefined && stat2 !== undefined) {\r\n if (stat.LicenzeGenerate + 1 <= stat.NumeroLicenze && stat2.LicenzeGenerate + 1 <= stat2.NumeroLicenze) {\r\n const selected: Selected = new Selected();\r\n selected.Visual = visuals;\r\n selected.Modules = this.ModuleToString();\r\n selected.UserID = this.auth.AuthUser.ID;\r\n selected.Username = this.auth.AuthUser.Username;\r\n selected.CodiceArticolo = codiciArticolo;\r\n\r\n const result: any = await this.licenseService.GenerateLicense(selected, this.TipoGenerazione);\r\n this.loading = false;\r\n //APRO IL MODAL DELLA LICENZA\r\n stat.LicenzeGenerate = stat.LicenzeGenerate + 1;\r\n stat2.LicenzeGenerate = stat2.LicenzeGenerate + 1;\r\n this.licenseGenerated = result.license;\r\n this.OpenLicenseModal(this.licenseTemplate);\r\n\r\n this.LoadLicenses.emit(true);\r\n\r\n this.LicenseGenerationCompleted = true;\r\n\r\n } else {\r\n this.alertService.danger(\"Numero limite di licenze generabili raggiunto\");\r\n this.loading = false;\r\n }\r\n } else {\r\n this.alertService.danger(\"Licenza non acquistata\");\r\n this.loading = false;\r\n return;\r\n }\r\n }\r\n else {\r\n this.alertService.danger(\"Seleziona un tipo di acquisto per continuare\")\r\n this.loading = false;\r\n }\r\n }\r\n\r\n public OpenLicenseModal(template: TemplateRef) {\r\n this.generated = true;\r\n this.modalService.show(template);\r\n }\r\n\r\n\r\n\r\n\r\n public toggleDemo() {\r\n this.demo = !this.demo;\r\n //this.reset();\r\n }\r\n\r\n public closeLicenseModal() {\r\n this.modalService.hide();\r\n //this.reset();\r\n }\r\n\r\n public copyClickboard() {\r\n this.clipboard.copyFromContent(this.licenseGenerated);\r\n this.alertMsg = \"Licenza copiata nella clipboard\";\r\n this.alertOpen = true;\r\n setTimeout(() => {\r\n this.alertOpen = false;\r\n }, 5000)\r\n }\r\n\r\n public VisualToCodiceArticolo(string: string) {\r\n if (string === 'vfoodstart') return \"SWG000003001\";\r\n if (string === 'vfoodpro') return \"SWG000003002\";\r\n if (string === 'vfoodgold') return \"SWG000003003\";\r\n\r\n if (string === 'vshopstart') return \"SWG000002001\";\r\n if (string === 'vshoppro') return \"SWG000002002\";\r\n\r\n if (string === 'vkioskstart') return \"SWG000009001\";\r\n if (string === 'vkioskpro') return \"SWG000009002\";\r\n if (string === 'vkioskgold') return \"SWG000009003\";\r\n\r\n if (string === 'vselfstart') return \"SWG000013001\";\r\n if (string === 'vselfpro') return \"SWG00013002\";\r\n if (string === 'vselfgold') return \"SWG000013003\";\r\n\r\n if (string === 'vbeachstart') return \"SWG000014001\";\r\n if (string === 'vbeachpro') return \"SWG000014002\";\r\n if (string === 'vbeachgold') return \"SWG000014003\";\r\n\r\n\r\n if (string === 'vretailstart') return \"SWG000001001\";\r\n if (string === 'vretailpro') return \"SWG000001002\";\r\n }\r\n}\r\n\r\nexport class Selected {\r\n public Modules = [];\r\n public Visual: string[] = [];\r\n\r\n public UserID: number;\r\n public Username: string;\r\n public CodiceArticolo: string[] = [];\r\n public UserIdAdmin: number;\r\n}\r\n\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Attivazione Licenza

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

Visual Food

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

Visual Shop

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

Visual Kiosk

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

Visual Self

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

Visual Beach

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

Visual Retail

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

Moduli Aggiuntivi

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

Hai selezionato:

\r\n

{{string}}

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

Moduli Aggiuntivi:

\r\n

{{string}}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n

La licenza generata è:

\r\n

{{licenseGenerated}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{alertMsg}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { UserService } from './../../Services/UserService/user.service';\r\nimport { LicenseService } from './../../Services/LicenseService/license.service';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { LicenseClient, LicenseInfo } from './../../Models/LicenzeStat';\r\nimport { License } from 'src/app/Models/LicenzeStat';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { IsDev } from 'src/app/global';\r\n\r\nimport {faCheck, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\n\r\n@Component({\r\n selector: 'app-license-upgrade',\r\n templateUrl: './license-upgrade.component.html',\r\n styleUrls: ['./license-upgrade.component.scss']\r\n})\r\nexport class LicenseUpgradeComponent implements OnInit {\r\n\r\n @Input() public License: LicenseInfo;\r\n @Input() public CanRetail: any = {\r\n CanRetail: false,\r\n Tipo: {\r\n Canone: false,\r\n Start: false,\r\n Pro: false\r\n }\r\n }\r\n\r\n @Input() public Client: boolean;\r\n\r\n @Output() refreshStats: EventEmitter = new EventEmitter();\r\n\r\n public Moduli: ModuleInfo[] = []; //CONTIENE I MODULI ACQUISTABILI\r\n\r\n public LicenseUpgrade: LicenseUpgrade = new LicenseUpgrade(); //CONTIENE LE LICENZE POTENZIALMENTE UPGRADIBILI\r\n\r\n public LicenseClient: number = 0;\r\n\r\n public Upgradable = {\r\n VisualFood: '',\r\n VisualShop: '',\r\n VisualKiosk: '',\r\n VisualSelf: '',\r\n VisualBeach: '',\r\n VisualRetail: '',\r\n }\r\n\r\n //VARIABILE CHE DEFINISCE SE SONO STATI SCELTI DEI MODULI\r\n public upgradeModuli = false;\r\n\r\n //ICON\r\n public faCheck: IconDefinition = faCheck;\r\n public IsUpgrading: boolean = false;\r\n\r\n constructor(public modalService: BsModalService, private http: HttpClient, public alert: AlertService, private LicenseService: LicenseService, public auth: AuthService, public userService: UserService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n //MODULI\r\n //CONVERTO LA SEZIONE MODULI IN UN ARRAY DI INTERI. SE ZERO LO VISUALIZZO\r\n this.CheckModuli();\r\n this.CheckUpgrade();\r\n }\r\n\r\n private CheckModuli() {\r\n const modules: string[] = this.License.License.Modules.substring(5).split('');\r\n for (let i = 0; i < modules.length; ++i) {\r\n let description: string = \"\";\r\n\r\n switch (i) {\r\n case 0: {\r\n description = \"Collegamento Cassetto Automatico\"\r\n break;\r\n }\r\n case 1: {\r\n description = \"Promo Cassa\"\r\n break;\r\n }\r\n case 2: {\r\n description = \"Celiachia\"\r\n break;\r\n }\r\n case 3: {\r\n description = \"Modulo 730\"\r\n break;\r\n }\r\n case 4: {\r\n description = \"Tabacchi\"\r\n break;\r\n }\r\n case 5: {\r\n description = \"Cooki\"\r\n break;\r\n }\r\n case 6: {\r\n description = \"Regiondo\"\r\n break;\r\n }\r\n case 7: {\r\n description = \"Visual B2B\"\r\n break;\r\n }\r\n }\r\n\r\n if (modules[i] === '0') {\r\n const module: ModuleInfo = new ModuleInfo(Number(modules[i]), description);\r\n this.Moduli.push(module);\r\n }\r\n\r\n }\r\n }\r\n\r\n private CheckUpgrade() {\r\n\r\n const license: string[] = this.License.License.Modules.substring(1,5).split('');\r\n\r\n for (let i = 0; i < license.length; ++i) {\r\n //VISUAL FOOD\r\n if (i === 0) {\r\n switch(license[i]) {\r\n case 'A': {\r\n this.LicenseUpgrade.VisualFood.Upgradable = true;\r\n this.LicenseUpgrade.Upgradable = true;\r\n\r\n this.LicenseUpgrade.VisualFood.Installed = true;\r\n\r\n this.LicenseUpgrade.VisualFood.Start = true;\r\n this.LicenseUpgrade.VisualFood.Pro = false;\r\n this.LicenseUpgrade.VisualFood.Gold = false;\r\n break;\r\n }\r\n case 'B': {\r\n this.LicenseUpgrade.VisualFood.Upgradable = true;\r\n this.LicenseUpgrade.Upgradable = true;\r\n this.LicenseUpgrade.VisualFood.Installed = true;\r\n\r\n this.LicenseUpgrade.VisualFood.Start = true;\r\n this.LicenseUpgrade.VisualFood.Pro = true;\r\n this.LicenseUpgrade.VisualFood.Gold = false;\r\n break;\r\n }\r\n case 'C': {\r\n this.LicenseUpgrade.VisualFood.Upgradable = false\r\n break;\r\n }\r\n case '0': {\r\n break;\r\n }\r\n }\r\n }\r\n //VISUAL SHOP\r\n if (i === 1) {\r\n switch(license[i]) {\r\n case 'A': {\r\n this.LicenseUpgrade.VisualShop.Upgradable = true;\r\n this.LicenseUpgrade.Upgradable = true;\r\n this.LicenseUpgrade.VisualShop.Installed = true;\r\n\r\n this.LicenseUpgrade.VisualShop.Start = true;\r\n this.LicenseUpgrade.VisualShop.Pro = false;\r\n break;\r\n }\r\n case 'B': {\r\n this.LicenseUpgrade.VisualShop.Upgradable = false;\r\n break;\r\n }\r\n case '0': {\r\n break;\r\n }\r\n }\r\n }\r\n //VISUAL SELF\r\n if (i === 2) {\r\n switch(license[i]) {\r\n // VISUAL KIOSK\r\n case 'A': {\r\n this.LicenseUpgrade.VisualKiosk.Upgradable = true;\r\n this.LicenseUpgrade.Upgradable = true;\r\n this.LicenseUpgrade.VisualKiosk.Installed = true;\r\n\r\n this.LicenseUpgrade.VisualKiosk.Start = true;\r\n this.LicenseUpgrade.VisualKiosk.Pro = false;\r\n this.LicenseUpgrade.VisualKiosk.Gold = false;\r\n break;\r\n }\r\n case 'B': {\r\n this.LicenseUpgrade.VisualKiosk.Upgradable = true;\r\n this.LicenseUpgrade.Upgradable = true;\r\n this.LicenseUpgrade.VisualKiosk.Installed = true;\r\n\r\n this.LicenseUpgrade.VisualKiosk.Start = true;\r\n this.LicenseUpgrade.VisualKiosk.Pro = true;\r\n this.LicenseUpgrade.VisualKiosk.Gold = false;\r\n break;\r\n }\r\n case 'C': {\r\n this.LicenseUpgrade.VisualKiosk.Upgradable = false;\r\n break;\r\n }\r\n\r\n // VISUAL SELF\r\n case 'G': {\r\n this.LicenseUpgrade.VisualSelf.Upgradable = true;\r\n this.LicenseUpgrade.Upgradable = true;\r\n this.LicenseUpgrade.VisualSelf.Installed = true;\r\n\r\n this.LicenseUpgrade.VisualSelf.Start = true;\r\n this.LicenseUpgrade.VisualSelf.Pro = false;\r\n //this.LicenseUpgrade.VisualSelf.Gold = false;\r\n break;\r\n }\r\n case 'H': {\r\n this.LicenseUpgrade.VisualSelf.Upgradable = false;\r\n\r\n //this.LicenseUpgrade.Upgradable = true;\r\n //this.LicenseUpgrade.VisualSelf.Installed = true;\r\n\r\n //this.LicenseUpgrade.VisualSelf.Start = true;\r\n //this.LicenseUpgrade.VisualSelf.Pro = true;\r\n //this.LicenseUpgrade.VisualSelf.Gold = false;\r\n break;\r\n }\r\n /*\r\n case 'I': {\r\n this.LicenseUpgrade.VisualSelf.Upgradable = false;\r\n break;\r\n }\r\n */\r\n\r\n // VISUAL BEACH\r\n case 'M': {\r\n this.LicenseUpgrade.VisualBeach.Upgradable = true;\r\n this.LicenseUpgrade.Upgradable = true;\r\n this.LicenseUpgrade.VisualBeach.Installed = true;\r\n\r\n this.LicenseUpgrade.VisualBeach.Start = true;\r\n this.LicenseUpgrade.VisualBeach.Pro = false;\r\n //this.LicenseUpgrade.VisualBeach.Gold = false;\r\n break;\r\n }\r\n case 'N': {\r\n this.LicenseUpgrade.VisualBeach.Upgradable = false;\r\n\r\n //this.LicenseUpgrade.Upgradable = true;\r\n //this.LicenseUpgrade.VisualBeach.Installed = true;\r\n\r\n //this.LicenseUpgrade.VisualBeach.Start = true;\r\n //this.LicenseUpgrade.VisualBeach.Pro = true;\r\n //this.LicenseUpgrade.VisualBeach.Gold = false;\r\n break;\r\n }\r\n /*\r\n case 'O': {\r\n this.LicenseUpgrade.VisualBeach.Upgradable = false;\r\n break;\r\n }\r\n */\r\n case '0': {\r\n break;\r\n }\r\n }\r\n }\r\n //VISUAL RETAIL\r\n if (i === 3) {\r\n switch(license[i]) {\r\n case 'A': {\r\n this.LicenseUpgrade.VisualRetail.Upgradable = true;\r\n this.LicenseUpgrade.Upgradable = true;\r\n this.LicenseUpgrade.VisualRetail.Installed = true;\r\n\r\n this.LicenseUpgrade.VisualRetail.Start = true;\r\n this.LicenseUpgrade.VisualRetail.Pro = false;\r\n break;\r\n }\r\n case 'B': {\r\n this.LicenseUpgrade.VisualRetail.Upgradable = false;\r\n break;\r\n }\r\n case '0': {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public CheckModuliUpgrade() {\r\n this.upgradeModuli = false;\r\n for (let i = 0; i < this.Moduli.length; ++i) {\r\n if (this.Moduli[i].value === 0 && this.Moduli[i].toUpgrade) {\r\n this.upgradeModuli = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n public async Upgrade() {\r\n\r\n this.IsUpgrading = true;\r\n\r\n this.upgradeModuli = false;\r\n /*\r\n CHECK: SE AGGIORNO LA LICENZA LA AGGIORNO ANCHE LATO BACKENDS\r\n */\r\n let upgrade = false;\r\n\r\n if (this.Upgradable.VisualFood !== \"\" || this.Upgradable.VisualShop !== \"\" || this.Upgradable.VisualKiosk !== \"\" || this.Upgradable.VisualSelf !== \"\" || this.Upgradable.VisualBeach !== \"\" || this.Upgradable.VisualRetail !== \"\") {\r\n upgrade = true;\r\n }\r\n\r\n for (let i = 0; i < this.Moduli.length; ++i) {\r\n if (this.Moduli[i].value === 0 && this.Moduli[i].toUpgrade) {\r\n upgrade = true;\r\n break;\r\n }\r\n }\r\n\r\n\r\n let success = false;\r\n\r\n //SEZIONE LICENZA MADRE\r\n if (upgrade) {\r\n\r\n // const idAdmin = await this.auth.GetIdByUsername();\r\n const id = await this.userService.GetIdByUsername(this.License.Creatore);\r\n\r\n const result: any = await this.LicenseService.UpgradeLicense(this.Upgradable, this.Moduli, this.License.License.License, id, this.CanRetail);\r\n\r\n if (result === \"ko\") {\r\n this.modalService.hide();\r\n this.alert.danger(\"Licenza non modificata. Contatta il tuo distributore\");\r\n } else {\r\n this.License.License.Modules = result;\r\n\r\n this.UpgradeMainPage();\r\n success = true;\r\n }\r\n }\r\n\r\n //SEZIONE LICENZE CLIENT\r\n if (this.LicenseClient > 0) {\r\n\r\n // const userIdAdmin = await this.auth.GetIdByUsername();\r\n const id = await this.userService.GetIdByUsername(this.License.Creatore);\r\n\r\n\r\n for (let i = 0; i < this.LicenseClient; ++i) {\r\n\r\n const clientLicense: any = await this.LicenseService.GenerateLicenseClient(id, this.License.License.License);\r\n\r\n const moduleClient: string = this.License.License.Modules.substring(0, 5) + \"00000000\";\r\n\r\n const licenseClient: LicenseClient = new LicenseClient({license: clientLicense, module: moduleClient}, new Date().toISOString(), 0);\r\n licenseClient.CreationDate = licenseClient.CreationDate.substr(8,2) + \"/\" + licenseClient.CreationDate.substr(5,2) + \"/\" + licenseClient.CreationDate.substr(0,4);\r\n\r\n this.License.LicenseClient.push(licenseClient);\r\n }\r\n\r\n this.LicenseService.SendMailClient(this.License, this.LicenseClient);\r\n\r\n success = true;\r\n }\r\n\r\n this.modalService.hide();\r\n if (success) {\r\n this.alert.success(\"Licenza modificata\");\r\n }\r\n\r\n this.refreshStats.emit();\r\n }\r\n\r\n private UpgradeMainPage() {\r\n const descrizioneObject = {\r\n primo: (this.License.License.Modules as string).charAt(1),\r\n secondo: (this.License.License.Modules as string).charAt(2),\r\n terzo: (this.License.License.Modules as string).charAt(3),\r\n quarto: (this.License.License.Modules as string).charAt(4),\r\n };\r\n\r\n this.License.Descrizione = \"\";\r\n\r\n //UPGRADE FRONT-END\r\n switch(descrizioneObject.primo) {\r\n case 'A': {\r\n this.License.Descrizione += \"Visual Food Start, \";\r\n break;\r\n }\r\n case 'B': {\r\n this.License.Descrizione += \"Visual Food Pro, \";\r\n break;\r\n }\r\n case 'C': {\r\n this.License.Descrizione += \"Visual Food Gold, \";\r\n break;\r\n }\r\n }\r\n\r\n\r\n switch(descrizioneObject.secondo) {\r\n case 'A': {\r\n this.License.Descrizione += \"Visual Shop Start, \";\r\n break;\r\n }\r\n case 'B': {\r\n this.License.Descrizione += \"Visual Shop Pro, \";\r\n break;\r\n }\r\n }\r\n\r\n\r\n switch(descrizioneObject.terzo) {\r\n case 'A': {\r\n this.License.Descrizione += \"Visual Kiosk Start, \";\r\n break;\r\n }\r\n case 'B': {\r\n this.License.Descrizione += \"Visual Kiosk Pro, \";\r\n break;\r\n }\r\n case 'C': {\r\n this.License.Descrizione += \"Visual Kiosk Gold, \";\r\n break;\r\n }\r\n case 'G': {\r\n this.License.Descrizione += \"Visual Self Start, \";\r\n break;\r\n }\r\n case 'H': {\r\n this.License.Descrizione += \"Visual Self Pro, \";\r\n break;\r\n }\r\n case 'I': {\r\n this.License.Descrizione += \"Visual Self Gold, \";\r\n break;\r\n }\r\n case 'M': {\r\n this.License.Descrizione += \"Visual Beach Start, \";\r\n break;\r\n }\r\n case 'N': {\r\n this.License.Descrizione += \"Visual Beach Pro, \";\r\n break;\r\n }\r\n case 'O': {\r\n this.License.Descrizione += \"Visual Beach Gold, \";\r\n break;\r\n }\r\n }\r\n\r\n\r\n switch(descrizioneObject.quarto) {\r\n case 'A': {\r\n this.License.Descrizione += \"Visual Retail Start, \";\r\n break;\r\n }\r\n case 'B': {\r\n this.License.Descrizione += \"Visual Retail Pro, \";\r\n break;\r\n }\r\n }\r\n\r\n this.License.Descrizione = this.License.Descrizione.substring(0, this.License.Descrizione.length - 2);\r\n }\r\n\r\n //CHECK DISABLED\r\n public IsNotDisabled(): boolean {\r\n //CHECK LICENZE\r\n if (this.Upgradable.VisualFood !== '') return true;\r\n if (this.Upgradable.VisualRetail !== '') return true;\r\n if (this.Upgradable.VisualShop !== '') return true;\r\n if (this.Upgradable.VisualSelf !== '') return true;\r\n if (this.Upgradable.VisualKiosk !== '') return true;\r\n if (this.Upgradable.VisualBeach !== '') return true;\r\n\r\n //CHECK MODULI\r\n for (let i = 0; i < this.Moduli.length; ++i) {\r\n if (this.Moduli[i].toUpgrade) return true;\r\n }\r\n\r\n //CHECK LICENZE CLIENT\r\n if (this.LicenseClient > 0) return true;\r\n\r\n return false;\r\n }\r\n}\r\n\r\n\r\nexport class ModuleInfo {\r\n public value: number;\r\n public description: string;\r\n public toUpgrade: boolean = false;\r\n\r\n public constructor(value: number, description: string) {\r\n this.value = value;\r\n this.description = description;\r\n }\r\n}\r\n\r\nclass LicenseUpgrade {\r\n\r\n public Upgradable: boolean = false;\r\n\r\n public VisualFood: Visual = new Visual();\r\n public VisualShop: Visual = new Visual();\r\n public VisualKiosk: Visual = new Visual();\r\n public VisualSelf: Visual = new Visual();\r\n public VisualBeach: Visual = new Visual();\r\n public VisualRetail: Visual = new Visual();\r\n}\r\n\r\n\r\nclass Visual {\r\n public Upgradable: boolean\r\n public Installed: boolean = false;\r\n public Start: boolean\r\n public Pro: boolean\r\n public Gold: boolean;\r\n}\r\n\r\n\r\n\r\n","
\r\n
\r\n

Upgrade Licenza

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SoftwareSeleziona aggiornamento
Visual Food\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SoftwareSeleziona aggiornamento
Visual Shop\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SoftwareSeleziona aggiornamento
Visual Kiosk\r\n \r\n
Visual Self\r\n \r\n
Visual Beach\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SoftwareSeleziona aggiornamento
Visual Retail\r\n \r\n
\r\n
\r\n
\r\n 0\">\r\n
\r\n
\r\n
Aggiungi moduli
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
Aggiungi Licenza Client
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Quantità\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
Aggiungi Visual Retail
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Visual Retail\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Licenza non modificabile
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n

Sei sicuro di voler aggiornare la licenza?

\r\n
\r\n
    \r\n
  • \r\n Visual Food {{this.LicenseUpgrade.VisualFood.Start ? \"Start\" : (this.LicenseUpgrade.VisualFood.Pro ? \"Pro\" : (this.LicenseUpgrade.VisualFood.Gold ? \"Gold\" : \"\"))}} --> {{this.Upgradable.VisualFood}}\r\n

  • \r\n
  • \r\n Visual Shop {{this.LicenseUpgrade.VisualShop.Start ? \"Start\" : (this.LicenseUpgrade.VisualShop.Pro ? \"Pro\" : \"\")}} --> {{this.Upgradable.VisualShop}}\r\n

  • \r\n
  • \r\n Visual Kiosk {{this.LicenseUpgrade.VisualKiosk.Start ? \"Start\" : (this.LicenseUpgrade.VisualKiosk.Pro ? \"Pro\" : (this.LicenseUpgrade.VisualKiosk.Gold ? \"Gold\" : \"\"))}} --> {{this.Upgradable.VisualKiosk}}\r\n

  • \r\n
  • \r\n Visual Self {{this.LicenseUpgrade.VisualSelf.Start ? \"Start\" : (this.LicenseUpgrade.VisualSelf.Pro ? \"Pro\" : \"\")}} --> {{this.Upgradable.VisualSelf}}\r\n

  • \r\n
  • \r\n Visual Beach {{this.LicenseUpgrade.VisualBeach.Start ? \"Start\" : (this.LicenseUpgrade.VisualBeach.Pro ? \"Pro\" : \"\")}} --> {{this.Upgradable.VisualBeach}}\r\n

  • \r\n
  • \r\n Visual Retail {{this.LicenseUpgrade.VisualRetail.Start ? \"Start\" : (this.LicenseUpgrade.VisualRetail.Pro ? \"Pro\" : \"\")}} --> {{this.Upgradable.VisualRetail}}\r\n

  • \r\n\r\n
  • \r\n Visual Retail {{this.Upgradable.VisualRetail.substr(0, this.Upgradable.VisualRetail.length - 3)}}\r\n NEW\r\n

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

    \r\n Licenze Client: {{this.LicenseClient}}\r\n NEW\r\n

  • \r\n\r\n
  • Moduli Aggiuntivi
  • \r\n
      \r\n \r\n
    • \r\n {{module.description === 'Regiondo' ? 'Keenon' : module.description}}\r\n NEW\r\n
    • \r\n
      \r\n
    \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n","import { CensisService } from './../Services/CensisService/censis.service';\r\nimport { filter } from 'rxjs/operators';\r\nimport { UserService } from './../Services/UserService/user.service';\r\nimport { IsDev } from './../global';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Component, OnInit, TemplateRef, ViewChild, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { AuthService } from '../Services/AuthService/auth.service';\r\nimport { LicenseService } from '../Services/LicenseService/license.service';\r\n\r\nimport { faInfo, faAddressBook, faPen, faSave, faClipboard, faSync, faChevronDown, faChevronUp, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport {LicenseStat, LicenseInfo, License, LicenseClient} from '../Models/LicenzeStat';\r\n\r\nimport { ShopService } from '../Services/ShopService/shop.service';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport Censimento from '../Models/Censimento';\r\nimport { User } from '../Models/User';\r\n\r\n\r\n@Component({\r\n selector: 'app-licenses',\r\n templateUrl: './licenses.component.html',\r\n styleUrls: ['./licenses.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.Default\r\n})\r\nexport class LicensesComponent implements OnInit {\r\n\r\n public date : number;\r\n public modalRef: BsModalRef; //Modal\r\n public imagePathList: string; //ImagePath list\r\n\r\n public list: boolean = true;\r\n\r\n // JSON for Visual and Modules\r\n public AllLicenses: LicenseInfo[] = [];\r\n public Licenses: LicenseInfo[] = [];\r\n public licenzeStats: LicenseStat[] = [];\r\n\r\n //GENERAZIONE LICENZE\r\n\r\n\r\n //LICENSE STATS\r\n public StatsModal: string = \"\";\r\n\r\n public LicenzeAcquistate: number = 0;\r\n public LicenzeCanone: number = 0;\r\n public generated: boolean = false;\r\n public popupInfo: string = \"\"\r\n public censimentoInfo: any = {\r\n esiste: false,\r\n licence: \"\",\r\n PIVA: \"\",\r\n RAGSOC: \"\",\r\n NMAG: \"\",\r\n NCASSA: \"\",\r\n MAC: \"\",\r\n };\r\n\r\n public faInfo: IconDefinition = faInfo;\r\n public faAddress: IconDefinition = faAddressBook;\r\n public faPen: IconDefinition = faPen;\r\n public faUp: IconDefinition = faChevronUp;\r\n public faDown: IconDefinition = faChevronDown;\r\n public faSync: IconDefinition = faSync;\r\n public faSave: IconDefinition = faSave;\r\n public faClipboard: IconDefinition = faClipboard;\r\n\r\n //LICENZE UPGRADE\r\n public UpgradeLicenze: LicenseInfo;\r\n public CanRetail: any = {\r\n CanRetail: false,\r\n Tipo: {\r\n Start: false,\r\n Pro: false,\r\n Canone: false\r\n }\r\n }\r\n public IsClient: boolean;\r\n\r\n public Filtri: any = {\r\n Canone: true,\r\n Spot: true,\r\n Gab: true,\r\n Concessionari: false\r\n }\r\n\r\n // 0 -->\r\n // 1 --> Crescente\r\n // 2 --> Descrescente\r\n public Sort: any = {\r\n DataCreazione: 2,\r\n DataAttivazione: 0,\r\n DataScadenza: 0,\r\n DataLimite: 0,\r\n }\r\n\r\n public Loading = false;\r\n\r\n //CASHMATIC FIELD\r\n public cashmaticSelected: boolean = false;\r\n public cashmaticGeneratedLicense: string = \"\";\r\n public alertOpen: boolean = false;\r\n public alertMsg: string = \"\";\r\n public UserConcessionari: User[] = [];\r\n public SelectedConcessionarioID: number = 0;\r\n\r\n\r\n constructor(private http: HttpClient, public auth: AuthService,\r\n private router: Router, public modalService: BsModalService, private alertService: AlertService, private censisService: CensisService,\r\n public licenseService: LicenseService, private clipboard: ClipboardService, private ShopService: ShopService, private userService: UserService) {\r\n this.date = new Date().getFullYear();\r\n }\r\n\r\n private async Init() {\r\n this.auth.Ready = false;\r\n\r\n this.Loading = true;\r\n await this.LoadLicenses();\r\n await this.LoadStats();\r\n this.Loading = false;\r\n\r\n this.LicenzeAcquistate = this.LicenzeAcquistateCount();\r\n this.LicenzeCanone = this.LicenzeCanoneCount();\r\n\r\n\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n this.auth.Ready = true;\r\n\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName(\"li\");\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'licenses') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n }\r\n\r\n\r\n async ngOnInit() {\r\n await this.Init();\r\n }\r\n\r\n public async LoadLicenses() {\r\n\r\n this.AllLicenses = await this.licenseService.GetLicenses();\r\n\r\n // SE CASHSERVIZI, INSERISCO SOLO LE LICENZE CON VISUAL KIOSK LITE\r\n if (this.auth.IsCashServizi) {\r\n this.Licenses = this.AllLicenses.filter((value) => {\r\n return value.License.Modules[3] === 'S';\r\n })\r\n } else {\r\n this.Licenses = [...this.AllLicenses];\r\n }\r\n\r\n if (this.auth.AuthUser.Role === 0 || this.auth.AuthUser.Role === 4) {\r\n this.Filtro();\r\n }\r\n\r\n return;\r\n }\r\n\r\n /*******LICENZE STATS*****/\r\n\r\n\r\n\r\n public ApriDettagli(template: TemplateRef, tipo: string) {\r\n this.StatsModal = tipo;\r\n this.modalRef = this.modalService.show(template, {class: 'modal-lg'});\r\n }\r\n\r\n\r\n private async LocalValidation() {\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if(valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.Ready = false;\r\n this.auth.IsLogin = true;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n public Cerca() {\r\n\r\n this.Filtro();\r\n\r\n const input: string = (document.getElementById(\"search\") as HTMLInputElement).value;\r\n\r\n let t0 = performance.now();\r\n // LISTA DI TUTTE LE LICENZE, COMPRESE LE CLIENT\r\n const filteredList: LicenseInfo[] = this.Licenses.filter((l) => {\r\n\r\n if (l.LicenseClient.length > 0) {\r\n for (let i = 0; i < l.LicenseClient.length; ++i) {\r\n if (l.LicenseClient[i].License.License.toUpperCase().includes(input.toUpperCase())) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return l.License.License.toUpperCase().includes(input.toUpperCase());\r\n });\r\n\r\n let t1 = performance.now();\r\n\r\n\r\n this.Licenses = filteredList;\r\n }\r\n private Filtro() {\r\n this.Licenses = [];\r\n\r\n for (let i = 0; i < this.AllLicenses.length; ++i) {\r\n\r\n if (this.Filtri.Canone) {\r\n if (this.AllLicenses[i].ExpirationDate !== 'SPOT' && !this.Licenses.includes(this.AllLicenses[i])) {\r\n this.Licenses.push(this.AllLicenses[i]);\r\n continue;\r\n }\r\n }\r\n\r\n if (this.Filtri.Spot) {\r\n if (this.AllLicenses[i].ExpirationDate === 'SPOT' && !this.Licenses.includes(this.AllLicenses[i])) {\r\n this.Licenses.push(this.AllLicenses[i]);\r\n continue;\r\n }\r\n }\r\n }\r\n\r\n\r\n for (let i = 0; i < this.AllLicenses.length; ++i) {\r\n\r\n if (this.Filtri.Gab && !this.Filtri.Concessionari) {\r\n\r\n if (this.auth.IsCashServizi) {\r\n\r\n if (this.AllLicenses[i].Creatore !== 'cashmatic') {\r\n const index: number = this.Licenses.indexOf(this.AllLicenses[i]);\r\n if (index !== -1) {\r\n this.Licenses.splice(index, 1);\r\n }\r\n continue;\r\n }\r\n\r\n } else {\r\n\r\n if (this.AllLicenses[i].Creatore !== this.auth.AuthUser.Username) {\r\n const index: number = this.Licenses.indexOf(this.AllLicenses[i]);\r\n if (index !== -1) {\r\n this.Licenses.splice(index, 1);\r\n }\r\n continue;\r\n }\r\n\r\n }\r\n }\r\n if (!this.Filtri.Gab && this.Filtri.Concessionari) {\r\n if (this.AllLicenses[i].Creatore === 'gab') {\r\n const index: number = this.Licenses.indexOf(this.AllLicenses[i]);\r\n if (index !== -1) {\r\n this.Licenses.splice(index, 1);\r\n }\r\n continue;\r\n }\r\n }\r\n if (this.Filtri.Gab && this.Filtri.Concessionari) {\r\n continue;\r\n }\r\n if (!this.Filtri.Gab && !this.Filtri.Concessionari) {\r\n const index: number = this.Licenses.indexOf(this.AllLicenses[i]);\r\n if (index !== -1) {\r\n this.Licenses.splice(index, 1);\r\n }\r\n continue;\r\n }\r\n }\r\n }\r\n\r\n private StringToDate(date: string): Date {\r\n\r\n if (date === \"N/D\") {\r\n return new Date(\"2001-01-01\");\r\n }\r\n if (date === \"SPOT\") {\r\n return new Date(\"2099-01-01\");\r\n }\r\n\r\n const stringFormat: string[] = date.split('/');\r\n\r\n const yyyymmdd = stringFormat[2] + '-' + stringFormat[1] + '-' + stringFormat[0];\r\n\r\n return new Date(yyyymmdd);\r\n }\r\n\r\n /*\r\n public Filter() {\r\n const input: string = (document.getElementById(\"search\") as HTMLInputElement).value;\r\n\r\n const table: HTMLTableElement = document.getElementById(\"table\") as HTMLTableElement;\r\n console.log(table)\r\n const tr: HTMLCollectionOf = table.getElementsByTagName(\"tr\");\r\n\r\n for (let i = 0; i < tr.length; i++) {\r\n const td: HTMLTableDataCellElement = tr[i].getElementsByTagName(\"td\")[0];\r\n\r\n if (td) {\r\n const txtValue: string = td.innerHTML;\r\n\r\n if (txtValue.toUpperCase().includes(input.toUpperCase())) {\r\n tr[i].style.display = \"\";\r\n } else {\r\n tr[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n */\r\n\r\n\r\n\r\n public async PanelCreation(template?: TemplateRef) {\r\n\r\n if (this.auth.IsCashServizi) {\r\n\r\n const users: User[] = await this.userService.LoadUsers(this.auth.AuthUser.Username);\r\n\r\n for (let i = 0; i < users.length; ++i) {\r\n if (users[i].Role === 1 || users[i].Role2 === 1) {\r\n this.UserConcessionari.push(users[i]);\r\n }\r\n }\r\n\r\n this.modalRef = this.modalService.show(template);\r\n\r\n this.modalRef.onHide.subscribe(r => {\r\n this.LoadLicenses();\r\n this.cashmaticGeneratedLicense = \"\";\r\n this.UserConcessionari = [];\r\n this.SelectedConcessionarioID = 0;\r\n this.cashmaticSelected = false;\r\n })\r\n\r\n\r\n return;\r\n }\r\n\r\n this.list = !this.list;\r\n }\r\n\r\n\r\n public async Back() {\r\n\r\n this.generated = false;\r\n //this.LicenseGenerationCompleted = false;\r\n //this.reset();\r\n this.list = true;\r\n }\r\n public OpenModalInfo(licenseInfo: License, template: TemplateRef) {\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n public async GetCensimento(licenza: string) {\r\n\r\n\r\n let result: any = await this.censisService.SingleCensimento(licenza);\r\n\r\n\r\n try {\r\n this.censimentoInfo.esiste = true;\r\n this.censimentoInfo.licence = licenza;\r\n this.censimentoInfo.PIVA = result.piva;\r\n this.censimentoInfo.RAGSOC = result.ragsoc;\r\n this.censimentoInfo.NMAG = result.nmag;\r\n this.censimentoInfo.NCASSA = result.ncassa;\r\n this.censimentoInfo.MAC = (result.mac as string).substring(0, result.mac.length - 1);\r\n\r\n return true;\r\n } catch {\r\n this.censimentoInfo.esiste = false;\r\n this.censimentoInfo.PIVA = \"\";\r\n this.censimentoInfo.RAGSOC = \"\";\r\n this.censimentoInfo.NMAG = \"\";\r\n this.censimentoInfo.NCASSA = \"\";\r\n this.censimentoInfo.MAC = \"\";\r\n\r\n return false;\r\n }\r\n\r\n }\r\n\r\n public GetTooltip(modules: string) {\r\n\r\n let string: string = \"\";\r\n const submod: string = modules.substr(5);\r\n\r\n if (submod.length === 0) {\r\n return \"Versione Demo\"\r\n } else {\r\n for(let i = 0; i < submod.length; ++i) {\r\n switch(i) {\r\n case 0:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Collegamento Cassetto Automatico, \"\r\n }\r\n break;\r\n }\r\n case 1:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Promo Cassa, \"\r\n }\r\n break;\r\n }\r\n case 2:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Celiachia, \"\r\n }\r\n break;\r\n }\r\n case 3:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Modulo 730, \"\r\n }\r\n break;\r\n }\r\n case 4:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Tabacchi, \"\r\n }\r\n break;\r\n }\r\n case 5:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Cooki, \"\r\n }\r\n break;\r\n }\r\n case 6:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Keenon, \"\r\n }\r\n break;\r\n }\r\n case 7:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Visual B2B, \"\r\n }\r\n break;\r\n }\r\n }\r\n\r\n }\r\n\r\n return string.substring(0, string.length - 2);\r\n }\r\n }\r\n\r\n\r\n public async LoadStats() {\r\n\r\n //GAB\r\n this.licenzeStats = [];\r\n\r\n const result = await this.licenseService.GetLicenseCount();\r\n\r\n const licenseStats: LicenseStat[] = [];\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n const licenzeStat: LicenseStat = new LicenseStat();\r\n licenzeStat.CodiceArticolo = result[i].codiceArticolo;\r\n licenzeStat.NumeroLicenze = result[i].numeroLicenze;\r\n licenzeStat.LicenzeGenerate = result[i].licenzeGenerate;\r\n licenzeStat.Data = result[i].dataAcquisto;\r\n licenzeStat.GetDescrizione(this.ShopService.ListinoSoftware);\r\n\r\n if (licenzeStat.Descrizione.toUpperCase().includes(\"VISUAL\") || licenzeStat.CodiceArticolo === \"CANONE\") {\r\n licenseStats.push(licenzeStat);\r\n }\r\n\r\n }\r\n\r\n this.licenzeStats = licenseStats;\r\n\r\n return;\r\n }\r\n\r\n public LicenzeAcquistateCount() {\r\n let count: number = 0;\r\n for (let i = 0; i < this.licenzeStats.length; ++i) {\r\n if (this.licenzeStats[i].CodiceArticolo !== \"CANONE\") {\r\n count += this.licenzeStats[i].NumeroLicenze;\r\n }\r\n }\r\n\r\n return count;\r\n }\r\n\r\n public LicenzeCanoneCount() {\r\n let count: number = 0;\r\n for (let i = 0; i < this.licenzeStats.length; ++i) {\r\n if (this.licenzeStats[i].CodiceArticolo === \"CANONE\") {\r\n return this.licenzeStats[i].NumeroLicenze;\r\n }\r\n }\r\n return count;\r\n }\r\n\r\n public async OpenModalCensimento(template: TemplateRef, licenza: string) {\r\n await this.GetCensimento(licenza);\r\n this.modalService.show(template);\r\n }\r\n\r\n public OpenModalUpgrade(licenseInfo: LicenseInfo, upgradeLicenza: TemplateRef, client: boolean) {\r\n\r\n this.UpgradeLicenze = licenseInfo;\r\n\r\n this.IsClient = client;\r\n\r\n this.CanRetail.CanRetail = false;\r\n\r\n if (licenseInfo.License.Modules[4] === '0') {\r\n //SE ESISTE, SCALO DAL CANONE\r\n if (this.licenzeStats.find(stat => stat.CodiceArticolo === \"CANONE\") && this.auth.AuthUser.Tipo.includes('C')) {\r\n this.CanRetail.CanRetail = true;\r\n this.CanRetail.Tipo.Canone = true;\r\n } else {\r\n for (let i = 0; i < this.licenzeStats.length; ++i) {\r\n if (this.licenzeStats[i].CodiceArticolo === 'SWG000001001' && this.licenzeStats[i].LicenzeGenerate < this.licenzeStats[i].NumeroLicenze) {\r\n this.CanRetail.CanRetail = true;\r\n this.CanRetail.Tipo.Start = true;\r\n }\r\n if (this.licenzeStats[i].CodiceArticolo === 'SWG000001002' && this.licenzeStats[i].LicenzeGenerate < this.licenzeStats[i].NumeroLicenze) {\r\n this.CanRetail.CanRetail = true;\r\n this.CanRetail.Tipo.Pro = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n this.modalRef = this.modalService.show(upgradeLicenza);\r\n }\r\n\r\n public async handleLicense() {\r\n await this.LoadLicenses();\r\n }\r\n\r\n public async GenerateLicenseCashmatic() {\r\n\r\n let result: any;\r\n\r\n if (this.auth.AuthUser.ID !== 44) {\r\n this.SelectedConcessionarioID = this.auth.AuthUser.ID;\r\n }\r\n\r\n\r\n if (this.SelectedConcessionarioID !== 0) {\r\n result = await this.licenseService.GenerateLicenseCashmatic(this.SelectedConcessionarioID)\r\n } else {\r\n result = await this.licenseService.GenerateLicenseCashmatic()\r\n }\r\n\r\n this.cashmaticGeneratedLicense = result.license;\r\n\r\n return;\r\n\r\n }\r\n\r\n public SortLicenses(tipo: string) {\r\n if (tipo === \"Creazione\") {\r\n this.Sort.DataAttivazione = 0;\r\n this.Sort.DataScadenza = 0;\r\n this.Sort.DataLimite = 0;\r\n\r\n if (this.Sort.DataCreazione == 2) this.Sort.DataCreazione = 1;\r\n else this.Sort.DataCreazione++;\r\n\r\n this.Licenses.sort((a: LicenseInfo, b: LicenseInfo) => {\r\n const creationDateA: Date = this.StringToDate(a.CreationDate);\r\n const creationDateB: Date = this.StringToDate(b.CreationDate);\r\n\r\n // CRESCENTE --> 1\r\n if (this.Sort.DataCreazione === 1) {\r\n if (creationDateA.getTime() < creationDateB.getTime()) {\r\n return -1;\r\n }\r\n if (creationDateA.getTime() > creationDateB.getTime()) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n // DECRESCENTE --> 2\r\n if (this.Sort.DataCreazione === 2) {\r\n if (creationDateA.getTime() < creationDateB.getTime()) {\r\n return 1;\r\n }\r\n if (creationDateA.getTime() > creationDateB.getTime()) {\r\n return -1;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n if (tipo === \"Attivazione\") {\r\n this.Sort.DataCreazione = 0;\r\n this.Sort.DataScadenza = 0;\r\n this.Sort.DataLimite = 0;\r\n\r\n if (this.Sort.DataAttivazione == 2) this.Sort.DataAttivazione = 1;\r\n else this.Sort.DataAttivazione++;\r\n\r\n this.Licenses.sort((a: LicenseInfo, b: LicenseInfo) => {\r\n const creationDateA: Date = this.StringToDate(a.ActivationDate);\r\n const creationDateB: Date = this.StringToDate(b.ActivationDate);\r\n\r\n // CRESCENTE --> 1\r\n if (this.Sort.DataAttivazione === 1) {\r\n if (creationDateA.getTime() < creationDateB.getTime()) {\r\n return -1;\r\n }\r\n if (creationDateA.getTime() > creationDateB.getTime()) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n // DECRESCENTE --> 2\r\n if (this.Sort.DataAttivazione === 2) {\r\n if (creationDateA.getTime() < creationDateB.getTime()) {\r\n return 1;\r\n }\r\n if (creationDateA.getTime() > creationDateB.getTime()) {\r\n return -1;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n if (tipo === \"Scadenza\") {\r\n this.Sort.DataAttivazione = 0;\r\n this.Sort.DataCreazione = 0;\r\n this.Sort.DataLimite = 0;\r\n\r\n if (this.Sort.DataScadenza == 2) this.Sort.DataScadenza = 1;\r\n else this.Sort.DataScadenza++;\r\n\r\n this.Licenses.sort((a: LicenseInfo, b: LicenseInfo) => {\r\n const creationDateA: Date = this.StringToDate(a.ExpirationDate);\r\n const creationDateB: Date = this.StringToDate(b.ExpirationDate);\r\n\r\n // CRESCENTE --> 1\r\n if (this.Sort.DataScadenza === 1) {\r\n if (creationDateA.getTime() < creationDateB.getTime()) {\r\n return -1;\r\n }\r\n if (creationDateA.getTime() > creationDateB.getTime()) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n // DECRESCENTE --> 2\r\n if (this.Sort.DataScadenza === 2) {\r\n if (creationDateA.getTime() < creationDateB.getTime()) {\r\n return 1;\r\n }\r\n if (creationDateA.getTime() > creationDateB.getTime()) {\r\n return -1;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n if (tipo === \"Limite\") {\r\n this.Sort.DataAttivazione = 0;\r\n this.Sort.DataScadenza = 0;\r\n this.Sort.DataCreazione = 0;\r\n\r\n if (this.Sort.DataLimite == 2) this.Sort.DataLimite = 1;\r\n else this.Sort.DataLimite++;\r\n\r\n this.Licenses.sort((a: LicenseInfo, b: LicenseInfo) => {\r\n const creationDateA: Date = this.StringToDate(a.ActivationDateLimit);\r\n const creationDateB: Date = this.StringToDate(b.ActivationDateLimit);\r\n\r\n // CRESCENTE --> 1\r\n if (this.Sort.DataLimite === 1) {\r\n if (creationDateA.getTime() < creationDateB.getTime()) {\r\n return -1;\r\n }\r\n if (creationDateA.getTime() > creationDateB.getTime()) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n // DECRESCENTE --> 2\r\n if (this.Sort.DataLimite === 2) {\r\n if (creationDateA.getTime() < creationDateB.getTime()) {\r\n return 1;\r\n }\r\n if (creationDateA.getTime() > creationDateB.getTime()) {\r\n return -1;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n public copyClickboard() {\r\n this.clipboard.copyFromContent(this.cashmaticGeneratedLicense);\r\n this.alertService.info(\"Copiato nella clipboard\");\r\n }\r\n\r\n public CheckExpired(license: LicenseInfo) {\r\n\r\n if (license.ExpirationDate === \"N/D\") {\r\n return false;\r\n }\r\n\r\n const date: string[] = license.ExpirationDate.split('/');\r\n const dateNumber: number[] = date.map(date => {return Number(date)});\r\n\r\n const expirationDate = new Date(dateNumber[2], dateNumber[1] - 1, dateNumber[0]);\r\n expirationDate.setDate(expirationDate.getDate() + 7);\r\n expirationDate.setHours(0);\r\n expirationDate.setMinutes(0);\r\n expirationDate.setSeconds(0);\r\n\r\n const today = new Date();\r\n today.setHours(0);\r\n today.setMinutes(0);\r\n today.setSeconds(0);\r\n\r\n return today.getTime() >= expirationDate.getTime() && license.Stato === 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 Loading...\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Licenze
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Licenze\r\n Acquistate

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

Licenze A Canone\r\n

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

Storico Licenze

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LicenzeData CreazioneData AttivazioneData ScadenzaData Limite AttivazioneDescrizioneCreatoreStato LicenzaInfoUpgrade
LicenzeData CreazioneData AttivazioneData ScadenzaData Limite AttivazioneCreatoreStato Licenza
{{licenseInfo.License.License}}{{licenseInfo.CreationDate}}{{licenseInfo.ActivationDate}}{{licenseInfo.ExpirationDate}}{{licenseInfo.ActivationDateLimit}}{{licenseInfo.Creatore}}\r\n \r\n
{{licenseInfo.License.License}}{{licenseInfo.CreationDate}}{{licenseInfo.ActivationDate}}{{licenseInfo.ExpirationDate}}{{licenseInfo.ActivationDateLimit}}{{licenseInfo.Descrizione}}{{licenseInfo.Creatore.toUpperCase()}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{client.License.License}}{{client.CreationDate}}{{licenseInfo.ActivationDate}}{{licenseInfo.ExpirationDate}}{{licenseInfo.ActivationDateLimit}}Licenza Client\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Codice ArticoloLicenze AcquistateLicenze Generate
Codice ArticoloDescrizioneLicenze AcquistateLicenze Generate
Canone{{licenzeStat.NumeroLicenze}}Infinite{{licenzeStat.LicenzeGenerate}}{{licenzeStat.CodiceArticolo}}{{licenzeStat.Descrizione}}{{licenzeStat.NumeroLicenze}}{{licenzeStat.LicenzeGenerate}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
0\">\r\n
\r\n
\r\n
\r\n Seleziona concessionario\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

La licenza generata è:

\r\n

{{this.cashmaticGeneratedLicense}}

\r\n
\r\n
\r\n
\r\n
\r\n
\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 { IsDev } from './../global';\r\n\r\n\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { ChangeDetectorRef, Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport Item from '../Models/Item';\r\nimport { AuthService } from '../Services/AuthService/auth.service';\r\nimport { FileService } from '../Services/FileService/file.service';\r\n\r\nimport {faDownload, faTrash, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-lists',\r\n templateUrl: './lists.component.html',\r\n styleUrls: ['./lists.component.scss']\r\n})\r\nexport class ListsComponent implements OnInit {\r\n\r\n public Lists: Item[] = [];\r\n \r\n public SoftCodes: string[2][] = [];\r\n public ready: boolean = false;\r\n\r\n //ALERT\r\n public alertOpen: boolean = false;\r\n public alertOpenSuccess: boolean = false;\r\n public alertMsg: string = \"\";\r\n\r\n //ICONS\r\n public faTrash: IconDefinition = faTrash;\r\n public faDownload: IconDefinition = faDownload;\r\n\r\n //ELIMINA\r\n public modalRef: BsModalRef;\r\n public ListaDaEliminare: Item;\r\n\r\n constructor(private http: HttpClient, public auth: AuthService, private router: Router, public FileService: FileService, private changeDetectorRef: ChangeDetectorRef, public modalService: BsModalService) { \r\n \r\n }\r\n \r\n private async Init() {\r\n this.auth.Ready = false;\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName(\"li\");\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'lists') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n \r\n\r\n await this.LoadLists();\r\n\r\n \r\n \r\n\r\n this.auth.Ready = true;\r\n\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n }\r\n\r\n public fileToUpload: File = null;\r\n\r\n private async LocalValidation() {\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n \r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if(valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.IsLogin = true;\r\n this.auth.Ready = false;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n await this.Init();\r\n }\r\n\r\n public async LoadLists() {\r\n this.Lists = await this.FileService.GetLists();\r\n\r\n return;\r\n \r\n }\r\n\r\n private GenerateList(result: any): Item {\r\n return new Item(result.product, result.version, \"\", result.downloadFileName);\r\n }\r\n\r\n public FileInput(files: FileList) {\r\n this.fileToUpload = files.item(0);\r\n //this.FileService.FileUpload(this.fileToUpload);\r\n }\r\n\r\n \r\n public async UploadList() {\r\n const prodotto: string = (document.getElementById('prodotto') as HTMLInputElement).value;\r\n const version: string = (document.getElementById('versione') as HTMLInputElement).value;\r\n\r\n if (prodotto === \"\" || version === \"\" || this.fileToUpload === null) {\r\n this.alertMsg = \"Inserire tutti i campi per continuare\";\r\n this.alertOpen = true;\r\n setTimeout(() => {\r\n this.alertOpen = false;\r\n }, 5000)\r\n } else {\r\n await this.FileService.ListUpload(this.fileToUpload, prodotto, version);\r\n this.alertMsg = \"Caricamento completato\";\r\n this.alertOpenSuccess = true;\r\n setTimeout(() => {\r\n this.alertOpenSuccess = false;\r\n }, 5000)\r\n this.Lists.push(this.GenerateList({product: prodotto, version: version, downloadFileName: this.fileToUpload.name}));\r\n }\r\n }\r\n\r\n\r\n public OpenModalDelete(template: TemplateRef, list: Item) {\r\n this.ListaDaEliminare = list;\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n \r\n //(click)=\"this.DeleteList(list.product, list.downloadFileName)\"\r\n public async DeleteList(product: string, fileName: string) {\r\n\r\n const result: boolean = await this.FileService.DeleteList(product, fileName);\r\n \r\n //SE SUCCESS, ELIMINO LA RIGA\r\n if (result) {\r\n for (let i = 0; i < this.Lists.length; ++i) {\r\n if (this.Lists[i].downloadFileName === fileName && this.Lists[i].product === product) {\r\n this.Lists.splice(i, 1); //Elimino la riga\r\n this.changeDetectorRef.detectChanges();\r\n this.modalService.hide();\r\n return;\r\n }\r\n }\r\n }\r\n \r\n }\r\n \r\n public fileName(i: number, ) {\r\n return i;\r\n }\r\n\r\n public Filter() {\r\n const input: string = (document.getElementById(\"search\") as HTMLInputElement).value;\r\n \r\n const table: HTMLTableElement = document.getElementById(\"table\") as HTMLTableElement;\r\n const tr: HTMLCollectionOf = table.getElementsByTagName(\"tr\");\r\n\r\n for (let i = 0; i < tr.length; i++) {\r\n const td: HTMLTableDataCellElement = tr[i].getElementsByTagName(\"td\")[0];\r\n \r\n if (td) {\r\n const txtValue: string = td.innerHTML;\r\n\r\n if (txtValue.toUpperCase().includes(input.toUpperCase())) {\r\n tr[i].style.display = \"\";\r\n } else {\r\n tr[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

Aggiungi listino

\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n UPLOAD\r\n
\r\n
\r\n
\r\n \r\n {{alertMsg}}\r\n \r\n\r\n \r\n {{alertMsg}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

Lista Manuali

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ProdottoVersioneNome File
{{list.product}}{{list.version}}{{list.downloadFileName}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n

Sei sicuro di voler eliminare il listino?

\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n

Recupera Password

\r\n

Inserisci Nome Utente

\r\n \r\n \r\n \r\n
\r\n
\r\n Indietro\r\n
\r\n
\r\n
\r\n

{{!this.auth.IsCashServizi ? 'GAB Tamagnini ©' + this.year : ''}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{alertMsg}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n

Grazie!

\r\n

La ringraziamo per essersi registrato su Gab Servizi

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { User } from 'src/app/Models/User';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { UserService } from './../Services/UserService/user.service';\r\nimport { waitForAsync } from '@angular/core/testing';\r\nimport { IsDev } from './../global';\r\n\r\nimport {Component, HostListener, OnInit, TemplateRef} from '@angular/core';\r\n\r\nimport { AuthService } from '../Services/AuthService/auth.service';\r\nimport { Router } from '@angular/router';\r\nimport {BsModalRef, BsModalService} from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n public year: number = new Date().getFullYear();\r\n public alertMsg: string = \"\";\r\n public alertOpen = false;\r\n\r\n public modalRef: BsModalRef;\r\n\r\n //ANIMAZIONI\r\n public IsRimpicciolire:boolean = false;\r\n public newUserLoading: boolean = false;\r\n //REGISTRAZIONE\r\n public ErroreRegistrazione: boolean = false;\r\n public loading: boolean = false;\r\n public userInfo: UserInfo = new UserInfo(); //MAIN\r\n //VALIDAZIONE SIGN-UP\r\n public usernameEmpty: boolean = false;\r\n public usernameTooShort: boolean = false;\r\n public usernameNotCorrect:boolean = false;\r\n public passwordEmpty: boolean = false;\r\n public passwordTooShort: boolean = false;\r\n public pivaEmpty: boolean = false;\r\n public pivaNotCorrect: boolean = false;\r\n public ragsocEmpty: boolean = false;\r\n public cittaEmpty: boolean = false;\r\n public viaEmpty: boolean = false;\r\n public emailEmpty: boolean = false;\r\n public emailNotCorrect: boolean = false;\r\n public pecEmpty: boolean = false;\r\n public pecNotCorrect: boolean = false;\r\n public sdiEmpty: boolean = false;\r\n public sdiNotCorrect: boolean = false;\r\n public ibanEmpty: boolean = false;\r\n public ibanNotCorrect: boolean = false;\r\n\r\n //RECUPERA PASSWORD\r\n public IsPassword: boolean = false;\r\n public Username: string = \"\";\r\n\r\n //REGISTRAZIONE\r\n public IsSignUp:boolean = false;\r\n private errors: any[];\r\n\r\n //ADAPTIVE\r\n public lglt: boolean;\r\n\r\n //LOADING SPINNER\r\n public loadingLogin: boolean = false;\r\n\r\n constructor(private auth: AuthService, private router: Router, private user: UserService,private alert: AlertService,public UserService: UserService,public modalService: BsModalService) {\r\n\r\n }\r\n @HostListener('window:resize', ['$event'])\r\n setLtLg(event?): void{\r\n if (window.innerWidth < 1279){\r\n this.lglt = true;\r\n }else{\r\n this.lglt = false;\r\n }\r\n }\r\n\r\n \r\n\r\n private async InitLogin() {\r\n this.setLtLg();\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n this.auth.Logout();\r\n } else {\r\n //HO IL TOKEN SALVATO, LO CONVALIDO ED ACCEDO\r\n if (await this.auth.ValidateLogin()) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n this.GoHomePage();\r\n } else {\r\n this.auth.IsLogin = true;\r\n this.auth.Logout();\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n //Login quando premo enter\r\n\r\n private async GoHomePage() {\r\n await this.router.navigate(['']);\r\n }\r\n\r\n public async RecoverPass() {\r\n (document.getElementById('recoverPass') as HTMLButtonElement).disabled = true;\r\n (document.getElementById('recoverPassTitle') as HTMLParagraphElement).textContent = \"E-mail inviata\";\r\n\r\n const result: boolean = await this.user.RecoverPass(this.Username);\r\n }\r\n\r\n public async Login() {\r\n this.VerificaCM();\r\n this.loadingLogin = true;\r\n\r\n const form: HTMLFormElement = document.querySelector('form');\r\n const username: string = form.elements['login-username'].value\r\n const password: string = form.elements['login-password'].value;\r\n\r\n //CHECK INSERIMENTO USER PASSWORD\r\n if (username === \"\" || password === \"\") {\r\n this.alertMsg = \"Inserisci nome utente e password per continuare\";\r\n this.alertOpen = true;\r\n setTimeout(() => {\r\n this.alertOpen = false;\r\n }, 5000)\r\n return;\r\n }\r\n\r\n //EFFETTUO IL LOGIN\r\n const success: boolean = await this.auth.Login(username, password);\r\n \r\n if (success === null) {\r\n this.alertMsg = \"Server in manutenzione\";\r\n this.alertOpen = true;\r\n this.loadingLogin = false;\r\n return;\r\n }\r\n\r\n if (!success) {\r\n this.alertMsg = \"Nome utente e/o password errati\";\r\n this.alertOpen = true;\r\n this.loadingLogin = false;\r\n setTimeout(() => {\r\n this.alertOpen = false;\r\n }, 5000)\r\n this.auth.Logout();\r\n return;\r\n } else {\r\n //VADO ALLA PAGINA SUCCESSIVA\r\n\r\n // SE L'UTENTE E' DI CASHMATIC ED E' SOLO UN UTENTE, NON GLI PERMETTO IL LOGIN\r\n if (this.auth.AuthUser.Stato !== 0 || (this.auth.IsCashServizi && this.auth.AuthUser.Role === 2)) {\r\n if (this.auth.IsCashServizi == true){\r\n this.alertMsg = \"Impossibile accedere a CashmaticServizi\";\r\n } else this.alertMsg = \"Impossibile accedere a GAB Servizi\";\r\n this.loadingLogin = false;\r\n this.alertOpen = true;\r\n this.loadingLogin = false;\r\n setTimeout(() => {\r\n this.alertOpen = false;\r\n this.auth.Logout();\r\n }, 5000)\r\n return;\r\n } else if (this.auth.IsCashServizi == true && (this.auth.AuthUser.Creatore != 'cashmatic' && this.auth.AuthUser.Username != 'cashmatic')) {\r\n this.alertMsg = \"Impossibile accedere a CashmaticServizi\";\r\n this.loadingLogin = false;\r\n this.alertOpen = true;\r\n this.loadingLogin = false;\r\n setTimeout(() => {\r\n this.alertOpen = false;\r\n this.auth.Logout();\r\n }, 5000)\r\n return;\r\n }\r\n\r\n\r\n\r\n this.auth.IsLogin = false;\r\n this.loadingLogin = false;\r\n\r\n await this.GoHomePage();\r\n }\r\n }\r\n\r\n VerificaCM(){\r\n let str: string = window.location.origin;\r\n if (str.toUpperCase().indexOf(\"CASHMATIC\") > -1) {\r\n this.auth.IsCashServizi = true;\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n this.VerificaCM();\r\n await this.InitLogin();\r\n }\r\n\r\n async IndietroDaRegistrazione() {\r\n this.ibanEmpty = false;\r\n this.usernameEmpty = false;\r\n this.usernameTooShort = false;\r\n this.usernameNotCorrect = false;\r\n this.passwordEmpty = false;\r\n this.pivaEmpty = false;\r\n this.ragsocEmpty = false;\r\n this.cittaEmpty = false;\r\n this.passwordTooShort = false;\r\n this.pivaEmpty= false;\r\n this.pivaNotCorrect = false;\r\n this.ragsocEmpty= false;\r\n this.cittaEmpty= false;\r\n this.viaEmpty = false;\r\n this.emailEmpty = false;\r\n this.emailNotCorrect = false;\r\n this.pecEmpty = false;\r\n this.pecNotCorrect = false;\r\n this.sdiEmpty = false;\r\n this.ibanEmpty = false;\r\n this.sdiNotCorrect = false;\r\n this.ibanEmpty= false;\r\n this.ibanNotCorrect = false;\r\n //console.log(document.getElementById(\"form-login\").className);\r\n this.IsSignUp = false;\r\n this.rimpicciolire();\r\n await this.delay(1000);\r\n this.rimpicciolire();\r\n //document.getElementById(\"form-signin\").className += ' rimpicciolire';\r\n }\r\n delay(ms: number) {\r\n return new Promise( resolve => setTimeout(resolve, ms) );\r\n }\r\n rimpicciolire(){\r\n this.IsRimpicciolire = !this.IsRimpicciolire;\r\n\r\n }\r\n\r\n public async SignUpUser(template: TemplateRef) {\r\n this.loading = true;\r\n const formData: FormData = new FormData();\r\n //TIPO ANONIMO\r\n //USERNAME\r\n if(this.CampiValidi()){\r\n this.newUserLoading = true;\r\n formData.append('username', this.userInfo.username);\r\n //PASSWORD\r\n formData.append('password', this.userInfo.password);\r\n //PIVA\r\n formData.append('PIVA', this.userInfo.piva);\r\n //RAGIONESOCIALE\r\n formData.append('ragionesociale', this.userInfo.rsociale);\r\n //CITTA\r\n formData.append('citta', this.userInfo.citta);\r\n //VIA\r\n formData.append('via', this.userInfo.via);\r\n //EMAIL\r\n formData.append('email', this.userInfo.email);\r\n //PEC\r\n formData.append('pec', this.userInfo.pec);\r\n //SDI\r\n formData.append('sdi', this.userInfo.sdi);\r\n //IBAN\r\n formData.append('iban', this.userInfo.iban);\r\n\r\n\r\n const result = await this.UserService.RegisterUser(formData);\r\n\r\n if(result){\r\n this.loading = false;\r\n this.modalRef = this.modalService.show(template, {class: 'modal-lg', keyboard: false, ignoreBackdropClick: true});\r\n }else{\r\n return\r\n }\r\n } else{\r\n return\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n public UsernameValidation(value){\r\n this.userInfo.username = value;\r\n this.usernameEmpty = false;\r\n this.usernameTooShort = false;\r\n this.usernameNotCorrect = false;\r\n if (this.userInfo.username.length == 0) {\r\n this.usernameEmpty = true;\r\n } else if (this.userInfo.username.length < 3) {\r\n this.usernameTooShort = true;\r\n } else if(this.userInfo.username.includes(' ')){\r\n this.usernameNotCorrect = true;\r\n } else{\r\n this.usernameEmpty = false;\r\n this.usernameTooShort = false;\r\n this.usernameNotCorrect = false;\r\n }\r\n }\r\n public PasswordValidation(value){\r\n this.userInfo.password = value;\r\n this.passwordEmpty = false;\r\n this.passwordTooShort = false;\r\n if (this.userInfo.password.length == 0) {\r\n this.passwordEmpty = true;\r\n }\r\n else if (this.userInfo.password.length <= 5) {\r\n this.passwordTooShort = true;\r\n }else{\r\n this.passwordEmpty = false;\r\n this.passwordTooShort = false;\r\n }\r\n\r\n\r\n }\r\n public PivaValidation(value){\r\n this.userInfo.piva = value;\r\n this.pivaEmpty = false;\r\n this.pivaNotCorrect = false;\r\n if (this.userInfo.piva.length == 0 ) {\r\n this.pivaEmpty = true;\r\n }else{\r\n this.pivaEmpty = false;\r\n this.pivaNotCorrect = false;\r\n }\r\n }\r\n public RagSocValidation(value) {\r\n this.userInfo.rsociale = value;\r\n this.ragsocEmpty = false;\r\n\r\n if (this.userInfo.rsociale.length == 0) {\r\n this.ragsocEmpty = true;\r\n }else{\r\n this.ragsocEmpty = false;\r\n\r\n }\r\n }\r\n public CittaValidation(value) {\r\n this.userInfo.citta = value;\r\n this.cittaEmpty = false\r\n if (this.userInfo.citta.length == 0) {\r\n this.cittaEmpty = true;\r\n }else{\r\n this.cittaEmpty = false\r\n\r\n }\r\n }\r\n public ViaValidation(value) {\r\n this.userInfo.via = value;\r\n this.viaEmpty = false;\r\n if (this.userInfo.via.length == 0) {\r\n this.viaEmpty = true;\r\n }else{\r\n this.viaEmpty = false;\r\n\r\n }\r\n }\r\n public EmailValidation(value) {\r\n this.userInfo.email = value;\r\n this.emailEmpty = false;\r\n this.emailNotCorrect = false;\r\n this.emailNotCorrect = false;\r\n if (this.userInfo.email.length == 0) {\r\n this.emailEmpty = true;\r\n } else if (!this.userInfo.email.includes('@') || this.userInfo.email.includes(' ')) {\r\n this.emailNotCorrect = true;\r\n }else{\r\n this.emailEmpty = false;\r\n this.emailNotCorrect = false;\r\n this.emailNotCorrect = false;\r\n }\r\n }\r\n public PecValidation(value) {\r\n this.userInfo.pec = value;\r\n this.pecEmpty = false;\r\n this.pecNotCorrect = false;\r\n if (this.userInfo.pec.length === 0) {\r\n this.pecEmpty = true;\r\n } else if ((!this.userInfo.pec.includes('@') || this.userInfo.pec.includes(' '))) {\r\n this.pecNotCorrect = true;\r\n }else{\r\n this.pecEmpty = false;\r\n this.pecNotCorrect = false;\r\n }\r\n }\r\n public SdiValidation(value) {\r\n var reg = /^\\d+$/;\r\n this.userInfo.sdi = value;\r\n this.sdiEmpty = false;\r\n this.sdiNotCorrect = false;\r\n if (this.userInfo.sdi.length == 0) {\r\n this.sdiEmpty = true;\r\n } else if (this.userInfo.sdi.length != 7 || !reg.test(value)) {\r\n this.sdiNotCorrect = true;\r\n }else{\r\n this.sdiEmpty = false;\r\n this.sdiNotCorrect = false;\r\n }\r\n }\r\n public IbanValidation(value) {\r\n this.userInfo.iban = value;\r\n this.ibanEmpty = false;\r\n this.ibanNotCorrect = false;\r\n if (this.userInfo.iban.length == 0) {\r\n this.ibanEmpty = true;\r\n }else{\r\n this.ibanEmpty = false;\r\n this.ibanNotCorrect = false;\r\n }\r\n }\r\n\r\n public CampiValidi() {\r\n\r\n if (this.usernameTooShort ||\r\n this.usernameNotCorrect ||\r\n this.passwordTooShort ||\r\n this.pivaNotCorrect ||\r\n this.emailNotCorrect ||\r\n this.pecNotCorrect ||\r\n this.sdiNotCorrect ||\r\n this.ibanNotCorrect\r\n ){\r\n return false;\r\n }else{\r\n let campiNonValidi = 0;\r\n this.usernameEmpty = false;\r\n this.passwordEmpty = false;\r\n this.pivaEmpty = false;\r\n this.ragsocEmpty = false;\r\n this.cittaEmpty = false;\r\n this.viaEmpty = false;\r\n this.emailEmpty = false;\r\n this.pecEmpty = false;\r\n this.sdiEmpty = false;\r\n this.ibanEmpty = false;\r\n\r\n\r\n if((document.getElementById('sign-up-username') as HTMLInputElement).value.length == 0){\r\n this.usernameEmpty = true;\r\n campiNonValidi++;\r\n }\r\n if((document.getElementById('sign-up-password') as HTMLInputElement).value.length == 0 ){\r\n this.passwordEmpty = true;\r\n campiNonValidi++;\r\n }\r\n if((document.getElementById('sign-up-piva') as HTMLInputElement).value.length == 0 ){\r\n this.pivaEmpty = true;\r\n campiNonValidi++;\r\n }\r\n if((document.getElementById('sign-up-ragsoc') as HTMLInputElement).value.length == 0 ){\r\n this.ragsocEmpty = true;\r\n campiNonValidi++;\r\n }\r\n if((document.getElementById('sign-up-citta') as HTMLInputElement).value.length == 0){\r\n this.cittaEmpty = true;\r\n campiNonValidi++;\r\n }\r\n if((document.getElementById('sign-up-via') as HTMLInputElement).value.length == 0){\r\n this.viaEmpty = true;\r\n campiNonValidi++;\r\n }\r\n if((document.getElementById('sign-up-email') as HTMLInputElement).value.length == 0){\r\n this.emailEmpty = true;\r\n campiNonValidi++;\r\n }\r\n if((document.getElementById('sign-up-pec') as HTMLInputElement).value.length == 0 && (document.getElementById('sign-up-sdi') as HTMLInputElement).value.length == 0){\r\n this.pecEmpty = true;\r\n this.sdiEmpty = true;\r\n this.userInfo.sdi = \"\";\r\n this.userInfo.pec = \"\";\r\n campiNonValidi++;\r\n }\r\n if((document.getElementById('sign-up-iban') as HTMLInputElement).value.length == 0){\r\n this.ibanEmpty = true;\r\n this.userInfo.iban = \"\";\r\n\r\n }\r\n\r\n if(campiNonValidi == 0){\r\n return true;\r\n } else{\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n GoToLogin() {\r\n this.IsSignUp = false;\r\n this.modalRef.hide();\r\n }\r\n}\r\n\r\n\r\nclass UserInfo {\r\n public username: string;\r\n public password: string;\r\n public piva: string;\r\n public rsociale: string;\r\n public citta: string;\r\n public via: string;\r\n public email: string;\r\n public pec: string;\r\n public sdi: string;\r\n public iban: string;\r\n}\r\n\r\n","import { IsDev } from './../global';\r\n\r\n\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../Services/AuthService/auth.service';\r\nimport {ChangeDetectorRef} from '@angular/core';\r\nimport {faDownload, faTrash, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\n\r\nimport Item from '../Models/Item';\r\nimport {FileService} from '../Services/FileService/file.service';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-manuals',\r\n templateUrl: './manuals.component.html',\r\n styleUrls: ['./manuals.component.scss']\r\n})\r\nexport class ManualsComponent implements OnInit {\r\n\r\n \r\n public Manuals: Item[] = [];\r\n \r\n public SoftCodes: string[2][] = [];\r\n public ready: boolean = false;\r\n\r\n //ALERT\r\n public alertOpen: boolean = false;\r\n public alertOpenSuccess: boolean = false;\r\n public alertMsg: string = \"\";\r\n\r\n //ICONS\r\n public faTrash: IconDefinition = faTrash;\r\n public faDownload: IconDefinition = faDownload;\r\n\r\n\r\n //ELIMINA\r\n public modalRef: BsModalRef;\r\n public ManualDaEliminare: Item;\r\n\r\n\r\n constructor(private http: HttpClient, public auth: AuthService, private router: Router, public FileService: FileService, private changeDetectorRef: ChangeDetectorRef, public modalService: BsModalService) { \r\n \r\n }\r\n\r\n private async Init() {\r\n\r\n this.auth.Ready = false;\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName(\"li\");\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'manuals') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n\r\n\r\n await this.LoadManuals();\r\n await this.InitSoftCodes();\r\n\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n this.auth.Ready = true;\r\n\r\n \r\n\r\n }\r\n \r\n public fileToUpload: File = null;\r\n\r\n private async InitSoftCodes() {\r\n const result: any = await this.FileService.InitSoftcodes();\r\n this.SoftCodes = result;\r\n this.ready = true;\r\n }\r\n\r\n\r\n private async LocalValidation() {\r\n \r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n \r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if(valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.IsLogin = true;\r\n this.auth.Ready = false;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n await this.Init();\r\n }\r\n\r\n public async LoadManuals() {\r\n this.Manuals = await this.FileService.GetManuals();\r\n \r\n return;\r\n \r\n }\r\n\r\n private GenerateManual(result: any): Item {\r\n return new Item(result.product, result.version, result.softCode, result.downloadFileName);\r\n }\r\n\r\n public FileInput(files: FileList) {\r\n this.fileToUpload = files.item(0);\r\n //this.FileService.FileUpload(this.fileToUpload);\r\n }\r\n\r\n public async UploadManual() {\r\n const prodotto: string = (document.getElementById('prodotto') as HTMLInputElement).value;\r\n const version: string = (document.getElementById('versione') as HTMLInputElement).value;\r\n \r\n const softcodeDesc: HTMLSelectElement = (document.getElementById('softcode') as HTMLSelectElement);\r\n\r\n const softcodeSelected: string = softcodeDesc.options[softcodeDesc.selectedIndex].value;\r\n const softcode: string = this.SoftCodes.find(softcode => softcodeSelected === softcode[0])\r\n\r\n if (prodotto === \"\" || version === \"\" || this.fileToUpload === null) {\r\n this.alertMsg = \"Inserire tutti i campi per continuare\";\r\n this.alertOpenSuccess = true;\r\n setTimeout(() => {\r\n this.alertOpenSuccess = false;\r\n }, 5000)\r\n } else {\r\n await this.FileService.ManualUpload(this.fileToUpload, prodotto, version, softcode[1]);\r\n this.alertMsg = \"Caricamento completato\";\r\n this.alertOpenSuccess = true;\r\n setTimeout(() => {\r\n this.alertOpenSuccess = false;\r\n }, 5000)\r\n this.Manuals.push(this.GenerateManual({product: prodotto, version: version, softCode: softcode[1], downloadFileName: this.fileToUpload.name}));\r\n }\r\n }\r\n\r\n public OpenModalDelete(template: TemplateRef, manual: Item) {\r\n this.ManualDaEliminare = manual;\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n\r\n public async DeleteManual(product: string, softCode: string, fileName: string) {\r\n\r\n const result: boolean = await this.FileService.DeleteManual(product, softCode, fileName);\r\n \r\n //SE SUCCESS, ELIMINO LA RIGA\r\n if (result) {\r\n for (let i = 0; i < this.Manuals.length; ++i) {\r\n if (this.Manuals[i].downloadFileName === fileName && this.Manuals[i].product === product && this.Manuals[i].softCode === softCode) {\r\n this.Manuals.splice(i, 1); //Elimino la riga\r\n this.changeDetectorRef.detectChanges();\r\n this.modalService.hide();\r\n return;\r\n }\r\n }\r\n }\r\n \r\n }\r\n\r\n public Filter() {\r\n const input: string = (document.getElementById(\"search\") as HTMLInputElement).value;\r\n \r\n const table: HTMLTableElement = document.getElementById(\"table\") as HTMLTableElement;\r\n const tr: HTMLCollectionOf = table.getElementsByTagName(\"tr\");\r\n\r\n for (let i = 0; i < tr.length; i++) {\r\n const td: HTMLTableDataCellElement = tr[i].getElementsByTagName(\"td\")[0];\r\n \r\n if (td) {\r\n const txtValue: string = td.innerHTML;\r\n\r\n if (txtValue.toUpperCase().includes(input.toUpperCase())) {\r\n tr[i].style.display = \"\";\r\n } else {\r\n tr[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n public fileName(i: number, ) {\r\n return i;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

Aggiungi manuale

\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n UPLOAD\r\n
\r\n
\r\n
\r\n \r\n {{alertMsg}}\r\n \r\n \r\n {{alertMsg}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

Lista Manuali

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ProdottoVersioneCodice SoftwareNome File
{{manual.product}}{{manual.version}}{{manual.softCode}}{{manual.downloadFileName}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n

Sei sicuro di voler eliminare il manuale?

\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n","import { AlertService } from 'ngx-alerts';\r\nimport { ShopService } from './../../Services/ShopService/shop.service';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n\r\ndeclare var paypal;\r\n\r\n@Component({\r\n selector: 'paypal-payment',\r\n templateUrl: './paypal-payment.component.html',\r\n styleUrls: ['./paypal-payment.component.scss']\r\n})\r\nexport class PaypalPaymentComponent implements OnInit {\r\n\r\n @ViewChild('paypal', {static: true}) paypalElement: ElementRef;\r\n\r\n public IsSuccess: boolean = false;\r\n\r\n constructor(private shopService: ShopService, private alert: AlertService) { }\r\n\r\n async ngOnInit() {\r\n \r\n await this.InitShop();\r\n\r\n //console.log(this.GetPaypalUnits());\r\n\r\n paypal\r\n .Buttons({\r\n fundingSource: paypal.FUNDING.PAYPAL,\r\n createOrder: (data, actions) => {\r\n return actions.order.create({\r\n purchase_units: [{\r\n amount: {\r\n value: this.GetPaypalUnits()\r\n }\r\n }]\r\n });\r\n },\r\n onApprove: async (data, actions) => {\r\n const order = await actions.order.capture();\r\n //console.log(order);\r\n },\r\n onClientAuthorization: async => (data) => {\r\n this.IsSuccess = true;\r\n },\r\n onError: err => {\r\n this.alert.danger(\"Pagamento con paypal fallito\")\r\n }\r\n })\r\n .render(this.paypalElement.nativeElement);\r\n }\r\n\r\n private async InitShop() {\r\n if (this.shopService.IsInit === false) {\r\n await this.shopService.Init();\r\n this.shopService.IsInit = true;\r\n }\r\n }\r\n\r\n private GetPaypalUnits(): number {\r\n\r\n const paypalArray = [];\r\n\r\n let paypalValue: number = 0;\r\n\r\n for (let i = 0; i < this.shopService.Carrello.length; ++i) {\r\n for (let j = 0; j < this.shopService.Carrello[i].Contenuto.length; ++j) {\r\n paypalValue += this.shopService.Carrello[i].Contenuto[j].PrezzoTotale;\r\n /*\r\n const elem: any = paypalArray.find(elem => elem.description === this.shopService.Carrello[i].Contenuto[j].CodiceArticolo);\r\n\r\n if (elem !== undefined) {\r\n elem.amount.value += this.shopService.Carrello[i].Contenuto[j].PrezzoTotale;\r\n } else {\r\n paypalArray.push({\r\n description: this.shopService.Carrello[i].Contenuto[j].CodiceArticolo,\r\n amount: {\r\n value: this.shopService.Carrello[i].Contenuto[j].PrezzoTotale\r\n } \r\n })\r\n }\r\n */\r\n }\r\n }\r\n return paypalValue;\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 { UserStoreService } from '../../Services/Admin/user-store.service';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { ShopService } from './../../Services/ShopService/shop.service';\r\nimport {Component, OnInit, Output, ViewChild, EventEmitter, TemplateRef, Input} from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';\r\nimport { loadStripe, PaymentIntent, Stripe, StripeCardElement, StripeElement, StripeElements, StripeElementStyle, StripeError } from '@stripe/stripe-js';\r\nimport { IsDev, StripeString } from 'src/app/global';\r\nimport { PaymentService } from 'src/app/Services/Payment/payment.service';\r\nimport {Payment, Tipo} from 'src/app/Models/Payment';\r\nimport {BsModalRef, BsModalService} from 'ngx-bootstrap/modal';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'stripe-payment',\r\n templateUrl: './stripe-payment.component.html',\r\n styleUrls: ['./stripe-payment.component.scss']\r\n})\r\nexport class StripePaymentComponent implements OnInit {\r\n @Output()\r\n pagamentoAvvenuto = new EventEmitter();\r\n\r\n @Input() Pagamento: Payment;\r\n\r\n\r\n //STRIPE\r\n public stripe: Stripe;\r\n public stripeElements: StripeElements;\r\n public ClientId: {clientSecret: string};\r\n public Card: StripeCardElement;\r\n public modalRef: BsModalRef;\r\n constructor(\r\n private PaymentService: PaymentService,\r\n private shopService: ShopService,\r\n private auth: AuthService,\r\n private alert: AlertService,\r\n public modalService: BsModalService,\r\n public router: Router,\r\n public storeService: UserStoreService\r\n ) {}\r\n pagamentoFatto(){\r\n this.pagamentoAvvenuto.emit('complete');\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n \r\n\r\n this.ClientId = await this.PaymentService.StripeIntent(this.Pagamento);\r\n this.stripe = await loadStripe((IsDev.active ? StripeString.Dev : StripeString.Prod));\r\n this.stripeElements = this.stripe.elements();\r\n\r\n const style: StripeElementStyle = {\r\n base: {\r\n color: \"#32325d\",\r\n fontFamily: 'Arial, sans-serif',\r\n fontSmoothing: \"antialiased\",\r\n fontSize: \"16px\",\r\n \"::placeholder\": {\r\n color: \"#32325d\"\r\n }\r\n },\r\n invalid: {\r\n fontFamily: 'Arial, sans-serif',\r\n color: \"#fa755a\",\r\n iconColor: \"#fa755a\"\r\n }\r\n };\r\n this.Card = this.stripeElements.create(\"card\", {style})\r\n this.Card.mount(\"#card-element\")\r\n }\r\n GoToShop(){\r\n this.router.navigate(['shop']);\r\n this.modalRef.hide();\r\n }\r\n\r\n GoToProfilo(){\r\n this.router.navigate(['userInfo']);\r\n this.modalRef.hide();\r\n }\r\n async Pay( template: TemplateRef) {\r\n\r\n try {\r\n await this.stripe.confirmCardPayment(this.ClientId.clientSecret, {\r\n payment_method: {card: this.Card}\r\n })\r\n .then(async paymentIntent => {\r\n\r\n if (paymentIntent.error) {\r\n this.alert.danger(\"Dati inseriti non corretti\");\r\n return false;\r\n }\r\n //this.alert.success(\"Pagamento confermato!\");\r\n \r\n if(this.shopService.AcquistaOra(this.Pagamento)){\r\n this.modalRef = this.modalService.show(template, {class: 'modal-lg', keyboard: false, ignoreBackdropClick: true});\r\n };\r\n this.pagamentoFatto();\r\n\r\n //this.modalRef = this.modalService.show(template, {class: 'modal-lg', keyboard: false, ignoreBackdropClick: true});\r\n\r\n return true;\r\n })\r\n } catch {\r\n this.alert.danger(\"Dati inseriti non corretti\")\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

Grazie!

\r\n

La ringraziamo per aver acquistato su Gab Servizi

\r\n

Riceverà a breve una mail con lo stato dell'ordine

\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 { CartService } from './../../Services/CartService/cart.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {AuthService} from '../../Services/AuthService/auth.service';\r\nimport {Router} from '@angular/router';\r\nimport {BsModalService} from 'ngx-bootstrap/modal';\r\nimport {AlertService} from 'ngx-alerts';\r\nimport {UserStoreService} from '../../Services/Admin/user-store.service';\r\nimport {ShopService} from '../../Services/ShopService/shop.service';\r\nimport SoftwareListino from '../../Models/SoftwareListino';\r\nimport AcquistoPacchetto from '../../Models/AcquistoPacchetto';\r\nimport {Contenitore} from '../tipologialicenza/tipologialicenza.component';\r\nimport {IsDev} from '../../global';\r\n\r\n@Component({\r\n selector: 'app-buypackagelicense',\r\n templateUrl: './buypackagelicense.component.html',\r\n styleUrls: ['./buypackagelicense.component.scss']\r\n})\r\nexport class BuypackagelicenseComponent implements OnInit {\r\n\r\n listino: SoftwareListino[] = [];\r\n IsDev = IsDev;\r\n constructor(private http: HttpClient, public auth: AuthService, private router: Router,\r\n public ShopService: ShopService, public modalService: BsModalService, private alertService: AlertService, public userStoreService:UserStoreService,\r\n \r\n private cartService: CartService\r\n ) { }\r\n\r\n async ngOnInit(): Promise {\r\n let categorie = await this.userStoreService.GetListino();\r\n\r\n for (let j = 0; j < categorie[0].Elementi.length; j++)\r\n {\r\n this.listino.push(categorie[0].Elementi[j]);\r\n }\r\n\r\n\r\n this.ShopService.prodottiMostrati = this.listino;\r\n\r\n }\r\n ShowDettaglioProdotto(software: SoftwareListino) {\r\n this.router.navigate([\"shop/acquisto-licenza-multipla\", software.CodiceArticolo], {state:software});\r\n this.ShopService.ShowAcquistoSingolo = false;\r\n this.ShopService.ShowAcquistoPacchetti = true;\r\n //this.router.navigate(['/shop',software.CodiceArticolo]);\r\n }\r\n\r\n incrementare(i: number, showAcquistoPacchetti?, showAcquistoSingolo?) {\r\n var value = parseInt((document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value, 10);\r\n if (isNaN(value) || value < 1){\r\n value = 1;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value = String(value);\r\n }\r\n if(value < Number(this.ShopService.PacchettoScelto - this.ShopService.LeftPacchettoScelto)){\r\n value++;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value = String(value);\r\n }\r\n }\r\n decrementare(i: number) {\r\n var value = parseInt((document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value, 10);\r\n if (isNaN(value) || value < 1){\r\n value = 1;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value = String(value);\r\n }\r\n if (value > 1){\r\n value--;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value = String(value);\r\n }\r\n }\r\n /**\r\n * AGGIUNTA AL CARRELLO PRODOTTO SINGOLO\r\n * */\r\n public async AggiuntaAlCarrelloProdottoSingolo(software: SoftwareListino, i:number) {\r\n var value = parseInt((document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value, 10);\r\n this.ShopService.SoftwareSelezionato = software;\r\n this.ShopService.QuantitaSelezionato = value;\r\n await this.AggiungiCarrello();\r\n }\r\n // PASSO AL SERVIZIO, OLTRE CHE IL PRODOTTO, ANCHE LA QUANTITA, SINGOLA O PACCHETTO\r\n // IN QUESTO MODO, POSSO ESTRARRE LO SCONTO CORRETTO, CALCOLARLO ED INSERLO NEL CARRELLO\r\n public async AggiungiCarrello() {\r\n const contenitore: Contenitore = new Contenitore;\r\n contenitore.Tipo = \"P\";\r\n\r\n contenitore.IdPacchettoCart = '_' + Math.random().toString(36).substr(2,9);\r\n\r\n const successCarrello: boolean = await this.ShopService.AggiungiCarrello(this.ShopService.SoftwareSelezionato, this.ShopService.QuantitaSelezionato, this.ShopService.PacchettoScelto, contenitore);\r\n if (successCarrello) {\r\n this.ShopService.Carrello.push(contenitore);\r\n } else {\r\n this.alertService.danger(\"Impossibile aggiungere al carrello. Contatta il tuo distributore per maggiori informazioni\")\r\n return;\r\n }\r\n //INSERISCO NEL DB\r\n const result: any = await this.cartService.Insert(contenitore);\r\n\r\n if (result.response === 'ok') {\r\n this.alertService.success('Elemento aggiunto al carrello');\r\n }\r\n\r\n }\r\n getInputMax(left, total): number {\r\n return Number(total-left);\r\n }\r\n\r\n public AggiungiPacchetto(software: SoftwareListino, i: number) {\r\n let quantita = parseInt((document.getElementById('quantita' + '-' + 'articolo' + '-' + i)).value, 10);\r\n if (isNaN(quantita) || quantita < 1){\r\n this.alertService.danger('Perfavore inserisci una quantità corretta')\r\n }else{\r\n this.ShopService.QuantitaSelezionato = quantita;\r\n this.ShopService.SoftwareSelezionato = software;\r\n\r\n if (this.ShopService.QuantitaSelezionato > this.ShopService.PacchettoScelto - this.ShopService.LeftPacchettoScelto || this.ShopService.QuantitaSelezionato === 0) {\r\n this.ShopService.ErroreCarrello = true;\r\n } else {\r\n this.ShopService.ErroreCarrello = false;\r\n this.ShopService.LeftPacchettoScelto += this.ShopService.QuantitaSelezionato;\r\n this.modalService.hide();\r\n\r\n //SE GIA' ESISTE UN ELEMENTO UGUALE, SEMPLICEMENTE SOMMO\r\n let index: number = -1;\r\n\r\n for (let i = 0; i < this.ShopService.Pacchetto.length; ++i) {\r\n if (this.ShopService.Pacchetto[i].software.CodiceArticolo === software.CodiceArticolo) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n\r\n if (index !== -1) {\r\n this.ShopService.Pacchetto[index].quantita += this.ShopService.QuantitaSelezionato;\r\n } else {\r\n\r\n const acquistoPacchetto: AcquistoPacchetto = new AcquistoPacchetto(this.ShopService.SoftwareSelezionato, this.ShopService.QuantitaSelezionato, this.ShopService.PacchettoScelto);\r\n\r\n this.ShopService.Pacchetto.push(acquistoPacchetto);\r\n }\r\n this.ShopService.QuantitaSelezionato = 0;\r\n }\r\n }\r\n\r\n }\r\n getProductImage(software: SoftwareListino) {\r\n if(this.IsDev){\r\n return 'https://localhost/ImgListino/' + software.ImgName;\r\n }else{\r\n return 'https://www.gabservizi.it/ImgListino/' + software.ImgName;\r\n }\r\n }\r\n\r\n ImageErrorHandler(codice:any) {\r\n document.getElementById(codice).setAttribute('src', 'assets/img/GabImageNotFound.png');\r\n //'assets/img/GabImageNotFound.png';\r\n }\r\n}\r\n","
\r\n
\r\n 0; else SENZAPRODOTTI\">\r\n
\r\n
\r\n
\r\n
\r\n 0\" [src]='getProductImage(software)' class=\"immagine-prodotti\" [id]=\"software.CodiceArticolo\" (error)=\"ImageErrorHandler(software.CodiceArticolo)\">\r\n \r\n
\r\n
\r\n

{{software.Descrizione}}

\r\n Cod.articolo:{{software.CodiceArticolo}}\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Aggiungi prodotto\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Codice ArticoloDescrizioneCostoQuantitàElimina
{{elemento.software.CodiceArticolo}}{{elemento.software.Descrizione}}{{elemento.software.Costo}}€{{elemento.quantita}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Chiudi
\r\n
\r\n
\r\n\r\n
\r\n {{this.ShopService.errorProductsNotFound}}\r\n
\r\n
\r\n","import Categoria from 'src/app/Models/Categoria';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport {ShopService} from \"../../Services/ShopService/shop.service\"\r\nimport SoftwareListino from '../../Models/SoftwareListino';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {IsDev} from '../../global';\r\nimport {Contenitore} from '../tipologialicenza/tipologialicenza.component';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {AuthService} from '../../Services/AuthService/auth.service';\r\nimport {BsModalService} from 'ngx-bootstrap/modal';\r\nimport {AlertService} from 'ngx-alerts';\r\nimport {UserStoreService} from '../../Services/Admin/user-store.service';\r\nimport { Role } from 'src/app/Models/User';\r\n\r\n@Component({\r\n selector: 'app-buysinglelicense',\r\n templateUrl: './buysinglelicense.component.html',\r\n styleUrls: ['./buysinglelicense.component.scss']\r\n})\r\nexport class BuysinglelicenseComponent implements OnInit {\r\n\r\n listino: SoftwareListino[] = [];\r\n errorProductsNotFound: string;\r\n constructor(private http: HttpClient, public auth: AuthService, private route:ActivatedRoute, private router: Router,\r\n public ShopService: ShopService, public modalService: BsModalService, private alertService: AlertService, public userStoreService:UserStoreService) { }\r\n\r\n async ngOnInit(): Promise {\r\n let categorie: Categoria[] = await this.userStoreService.GetListino();\r\n\r\n for (let i = 0; i < categorie.length; ++i) {\r\n //CASO UTENTE\r\n if (categorie[i].Visibile !== 0 && this.auth.AuthUser.Role === Role.USER) {\r\n for (let j = 0; j < categorie[i].Elementi.length; j++)\r\n {\r\n this.listino.push(categorie[i].Elementi[j]);\r\n }\r\n break;\r\n } else if (this.auth.AuthUser.Role !== Role.USER && categorie[i].Visibile !== 1) {\r\n for (let j = 0; j < categorie[i].Elementi.length; j++)\r\n {\r\n this.listino.push(categorie[i].Elementi[j]);\r\n }\r\n break;\r\n }\r\n }\r\n if(this.listino.length === 0){\r\n this.errorProductsNotFound = 'PRODOTTI NON TROVATI';\r\n }else{\r\n this.ShopService.prodottiMostrati = this.listino;\r\n }\r\n }\r\n ShowDettaglioProdotto(software: SoftwareListino ) {\r\n this.router.navigate([\"shop/acquisto-licenza-singola\", software.CodiceArticolo], {state:software});\r\n this.ShopService.ShowAcquistoSingolo = true;\r\n this.ShopService.ShowAcquistoPacchetti = false;\r\n //this.router.navigate(['/shop',software.CodiceArticolo]);\r\n }\r\n\r\n incrementare(i: number) {\r\n let value = parseInt((document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value, 10);\r\n if (isNaN(value)){\r\n value = 1;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value = String(value);\r\n }\r\n if(value < 999){\r\n value = isNaN(value) ? 0 : value;\r\n value++;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value = String(value);\r\n }\r\n }\r\n decrementare(i: number) {\r\n let value = parseInt((document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value, 10);\r\n if (isNaN(value)){\r\n value = 0;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value = String(value);\r\n }\r\n if (value > 1){\r\n value = isNaN(value) ? 0 : value;\r\n value--;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+i)).value = String(value);\r\n }\r\n }\r\n /**\r\n * AGGIUNTA AL CARRELLO PRODOTTO SINGOLO\r\n **/\r\n\r\n\r\n getProductImage(software: SoftwareListino) {\r\n if (IsDev.active){\r\n return 'https://localhost/ImgListino/' + software.ImgName;\r\n } else{\r\n return 'https://www.gabservizi.it/ImgListino/' + software.ImgName;\r\n }\r\n }\r\n\r\n ImageErrorHandler(codice:any) {\r\n document.getElementById(codice).setAttribute('src', 'assets/img/GabImageNotFound.png');\r\n }\r\n}\r\n","
\r\n 0; else SENZAPRODOTTI\">\r\n
\r\n
\r\n
\r\n
\r\n 0\" [src]='getProductImage(software)' class=\"immagine-prodotti\" [id]=\"software.CodiceArticolo\" (error)=\"ImageErrorHandler(software.CodiceArticolo)\">\r\n \"\"\r\n
\r\n
\r\n

{{software.Descrizione}}

\r\n Cod.articolo:{{software.CodiceArticolo}}\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Aggiungi al carrello\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{this.ShopService.errorProductsNotFound}}\r\n
\r\n
\r\n\r\n","import { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ShopService } from '../../Services/ShopService/shop.service';\r\n\r\nimport {Role, User} from '../../Models/User';\r\n\r\nimport {faTrash, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport { IsDev } from 'src/app/global';\r\nimport SoftwareListino from \"../../Models/SoftwareListino\";\r\n\r\n@Component({\r\n selector: 'app-cart',\r\n templateUrl: './cart.component.html',\r\n styleUrls: ['./cart.component.scss']\r\n})\r\nexport class CartComponent implements OnInit {\r\n\r\n public faTrash: IconDefinition = faTrash;\r\n\r\n public userRole: Role = Role.USER;\r\n\r\n //URL Immagine\r\n public urlImg: string;\r\n\r\n\r\n constructor(public ShopService: ShopService, public auth: AuthService) {\r\n if (IsDev.active) {\r\n this.urlImg = \"https://localhost/ImgListino/\"\r\n } else {\r\n this.urlImg = \"https://www.gabservizi.it/ImgListino/\";\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n for(let i= 0; i < this.ShopService.Carrello.length; i++){\r\n let TotalePrezzoScontato = 0;\r\n if(this.ShopService.Carrello[i].Tipo === 'P'){\r\n for (let j=0; j < this.ShopService.Carrello[i].Contenuto.length;j++){\r\n TotalePrezzoScontato += this.ShopService.Carrello[i].Contenuto[j].PrezzoScontato;\r\n }\r\n this.ShopService.Carrello[i].TotalePrezzoScontato = TotalePrezzoScontato;\r\n }\r\n }\r\n }\r\n\r\n getProductImageSingolo(contenitore: any) {\r\n if (IsDev.active){\r\n return 'https://localhost/ImgListino/' + contenitore.Contenuto[0].ImgName;\r\n } else{\r\n return 'https://www.gabservizi.it/ImgListino/' + contenitore.Contenuto[0].ImgName;\r\n }\r\n }\r\n ImageErrorHandlerSingolo(id){\r\n document.getElementById(id).setAttribute('src', '../../../assets/img/GabImageNotFound.png');\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
Codice articoloProdottoPrezzo unitarioQuantitàPrezzo TotalePrezzo scontatoFormato
\r\n \r\n \r\n \"poster_1_up\"\r\n \r\n Riassuntivo pacchetto\r\n \r\n Riassuntivo pacchetto\r\n \r\n Riassuntivo pacchetto\r\n \r\n \r\n \r\n {{contenitore.PrezzoTotale}}€\r\n \r\n Riassuntivo pacchetto\r\n \r\n Riassuntivo pacchetto\r\n
\r\n \r\n \r\n \r\n {{contenuto.CodiceArticolo}}\r\n \r\n {{contenuto.Descrizione}}\r\n \r\n {{contenuto.PrezzoUnitario}}€\r\n \r\n \r\n \r\n {{contenuto.PrezzoTotale}}€\r\n \r\n {{contenuto.PrezzoScontato === contenuto.PrezzoTotale ? 'Nessun sconto' : contenuto.PrezzoScontato }}€\r\n \r\n Pacchetto\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{contenitore.Contenuto[0].CodiceArticolo}}\r\n \r\n {{contenitore.Contenuto[0].Descrizione}}\r\n \r\n {{contenitore.Contenuto[0].PrezzoUnitario}}€\r\n \r\n \r\n \r\n {{contenitore.Contenuto[0].PrezzoTotale}}€\r\n \r\n {{contenitore.Contenuto[0].PrezzoScontato}}€\r\n \r\n Singolo\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
{{contenitore.Contenuto[0].Descrizione}}
\r\n Codice articolo:
{{contenitore.Contenuto[0].CodiceArticolo}}
\r\n Prezzo Unitario:{{contenitore.Contenuto[0].PrezzoUnitario}}€
\r\n Quantità:{{contenitore.Contenuto[0].NumeroLicenze}}
\r\n Prezzo Totale:{{contenitore.Contenuto[0].PrezzoTotale}}€
\r\n Formato: Singolo
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Prezzo Totale:{{contenitore.PrezzoTotale}}€
\r\n Prezzo Scontato:{{contenitore.TotalePrezzoScontato}}€
\r\n Quantità:{{contenitore.LicenseTotali}}
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
Riassuntivo pacchetto
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Descr.Quantita
{{contenuto.Descrizione}}{{contenuto.NumeroLicenze}}
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\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 { UserStoreService } from '../../Services/Admin/user-store.service';\r\nimport {Component, OnInit, TemplateRef} from '@angular/core';\r\nimport {ShopService} from '../../Services/ShopService/shop.service';\r\nimport {PaymentService} from '../../Services/Payment/payment.service';\r\nimport {AlertService} from 'ngx-alerts';\r\nimport {Payment, Tipo} from '../../Models/Payment';\r\nimport {AuthService} from '../../Services/AuthService/auth.service';\r\nimport {BsModalRef, BsModalService} from 'ngx-bootstrap/modal';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-checkout',\r\n templateUrl: './checkout.component.html',\r\n styleUrls: ['./checkout.component.scss']\r\n})\r\nexport class CheckoutComponent implements OnInit {\r\n\r\n public termini_condizioni = false;\r\n public condizioni_vendita = false;\r\n public countCheckBox = 0;\r\n public modalRef: BsModalRef;\r\n public loading:boolean = false;\r\n public IVA: number;\r\n public TotalIVA: number;\r\n public Pagamento: Payment;\r\n\r\n constructor(public shopService: ShopService, private alertService: AlertService, public auth: AuthService,public modalService: BsModalService,public router: Router,\r\n private storeService: UserStoreService\r\n ) {\r\n \r\n \r\n \r\n }\r\n\r\n async ngOnInit() {\r\n this.loading = true;\r\n const iva = await this.storeService.GetIva();\r\n const carrelloTotal = this.shopService.GetCarrelloTotal();\r\n this.IVA = carrelloTotal * (iva / 100);\r\n this.TotalIVA = carrelloTotal + this.IVA;\r\n this.Pagamento = new Payment(this.auth.AuthUser.ID, this.auth.AuthUser.Username, this.auth.AuthUser.PIVA, this.TotalIVA, Tipo.CARTA);\r\n this.loading = false;\r\n }\r\n\r\n PayWithStripe() {\r\n\r\n if (this.termini_condizioni && this.condizioni_vendita) {\r\n this.oscurareCheckbox();\r\n this.shopService.Stripe = true;\r\n this.shopService.Paypal = false;\r\n this.shopService.Bonifico = false;\r\n } else {\r\n this.alertService.danger('Le condizioni sono obbligatorie');\r\n }\r\n }\r\n\r\n PayWithPaypal() {\r\n if (this.termini_condizioni && this.condizioni_vendita) {\r\n this.oscurareCheckbox();\r\n this.shopService.Stripe = false;\r\n this.shopService.Paypal = true;\r\n this.shopService.Bonifico = false;\r\n }else {\r\n this.alertService.danger('Le condizioni sono obbligatorie');\r\n }\r\n }\r\n\r\n PayWithBonifico() {\r\n if (this.termini_condizioni && this.condizioni_vendita) {\r\n this.oscurareCheckbox();\r\n this.shopService.Stripe = false;\r\n this.shopService.Paypal = false;\r\n this.shopService.Bonifico = true;\r\n }else {\r\n this.alertService.danger('Le condizioni sono obbligatorie');\r\n }\r\n }\r\n\r\n resetPayments() {\r\n if (this.termini_condizioni && this.condizioni_vendita) {\r\n this.oscurareCheckbox();\r\n this.shopService.Stripe = false;\r\n this.shopService.Paypal = false;\r\n this.shopService.Bonifico = false;\r\n }else {\r\n this.alertService.danger('Le condizioni sono obbligatorie');\r\n }\r\n }\r\n\r\n pagamentoAvvenuto($event: string) {\r\n document.getElementById('circle-loader').className += ' load-complete';\r\n //let checkmark = document.getElementById('checkmark').className.replace(\"checkmark\",\"\");\r\n document.getElementById('checkmark').setAttribute('style', 'display: block');\r\n }\r\n\r\n /*\r\n terminicondizioni() {\r\n if(this.countCheckBox < 1){\r\n this.termini_condizioni = !this.termini_condizioni;\r\n this.countCheckBox++;\r\n } else {\r\n this.countCheckBox = 0;\r\n }\r\n }\r\n\r\n condizionivendita() {\r\n if(this.countCheckBox < 1){\r\n this.condizioni_vendita = !this.condizioni_vendita;\r\n this.countCheckBox++;\r\n } else {\r\n this.countCheckBox = 0;\r\n }\r\n }\r\n */\r\n\r\n oscurareCheckbox() {\r\n document.getElementById('div_condizioni_vendita').className += 'noClick';\r\n document.getElementById('div_termini_condizioni').className += 'noClick';\r\n }\r\n\r\n AcquistaOraBonifico(template: TemplateRef){\r\n this.Pagamento.Tipo = Tipo.BONIFICO;\r\n if(this.shopService.AcquistaOra(this.Pagamento)){\r\n this.modalRef = this.modalService.show(template, {class: 'modal-lg', keyboard: false, ignoreBackdropClick: true});\r\n };\r\n document.getElementById('circle-loader-stripe').className += ' load-complete';\r\n //let checkmark = document.getElementById('checkmark').className.replace(\"checkmark\",\"\");\r\n document.getElementById('checkmark-stripe').setAttribute('style', 'display: block');\r\n }\r\n\r\n AcquistaOraCarta(template: TemplateRef){\r\n if(this.shopService.AcquistaOra(this.Pagamento)){\r\n this.modalRef = this.modalService.show(template, {class: 'modal-lg', keyboard: false, ignoreBackdropClick: true});\r\n };\r\n document.getElementById('circle-loader-stripe').className += ' load-complete';\r\n //let checkmark = document.getElementById('checkmark').className.replace(\"checkmark\",\"\");\r\n document.getElementById('checkmark-stripe').setAttribute('style', 'display: block');\r\n }\r\n\r\n\r\n\r\n async GoToShop(){\r\n //await this.shopService.ClearCarrello();\r\n this.router.navigate(['shop']);\r\n this.modalRef.hide();\r\n }\r\n\r\n async GoToProfilo(){\r\n //await this.shopService.ClearCarrello();\r\n this.router.navigate(['userInfo']);\r\n this.modalRef.hide();\r\n }\r\n}\r\n","
\r\n
\r\n

Il tuo ordine:

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Carrello Subtotale{{this.TotalIVA.toFixed(2)}}€
IVA 22%{{IVA.toFixed(2)}}€
Totale (Escl. Iva){{this.shopService.GetCarrelloTotal().toFixed(2)}}€
SpedizioneGratis
Totale ordine{{this.TotalIVA.toFixed(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

Scegli metodo di pagamento:

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

Stai pagando con carta di credito

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

Stai pagando con PAYPAL

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

Stai pagando con BONIFICO BANCARIO

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

ciao

\r\n
\r\n\r\n
\r\n
\r\n Gab Tamagnini
\r\n MONTE DEI PASCHI DI SIENA
\r\n IBAN - IT 19 P 01030 12807 000000499837
\r\n Swift code: PASCITM1307\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n

Grazie!

\r\n

La ringraziamo per aver acquistato su Gab Servizi

\r\n

Riceverà a breve una mail con lo stato dell'ordine

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

Seleziona la quantità desiderata

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n Continua\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n Continua\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n Continua\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n Continua\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {AuthService} from '../../Services/AuthService/auth.service';\r\nimport {Router} from '@angular/router';\r\nimport {BsModalService} from 'ngx-bootstrap/modal';\r\nimport {AlertService} from 'ngx-alerts';\r\nimport {UserStoreService} from '../../Services/Admin/user-store.service';\r\nimport {ShopService} from '../../Services/ShopService/shop.service';\r\n\r\n@Component({\r\n selector: 'app-choosepackage',\r\n templateUrl: './choosepackage.component.html',\r\n styleUrls: ['./choosepackage.component.scss']\r\n})\r\nexport class ChoosepackageComponent implements OnInit {\r\n\r\n constructor(private http: HttpClient, public auth: AuthService, private router: Router,\r\n public ShopService: ShopService, public modalService: BsModalService, private alertService: AlertService, public userStoreService:UserStoreService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n public ContinueAcquistoPacchetti(quantità: number) {\r\n this.router.navigate(['/shop/acquisto-licenza-multipla']);\r\n this.ShopService.PacchettoScelto = quantità;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = false;\r\n this.ShopService.ShowAcquistoPacchetti = true;\r\n this.ShopService.ShowAcquistoSingolo= false;\r\n }\r\n}\r\n","import { CartService } from './../../Services/CartService/cart.service';\r\nimport { IsDev } from 'src/app/global';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ShopService } from '../../Services/ShopService/shop.service';;\r\nimport { Contenitore } from 'src/app/shop/tipologialicenza/tipologialicenza.component';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport SoftwareListino from '../../Models/SoftwareListino';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dettaglio-prodotto',\r\n templateUrl: './dettaglio-prodotto.component.html',\r\n styleUrls: ['./dettaglio-prodotto.component.scss']\r\n})\r\nexport class DettaglioProdottoComponent implements OnInit {\r\n public software: SoftwareListino;\r\n public NomeProdotto: string;\r\n public Costo: number;\r\n public Categoria: number;\r\n public Descrizione: string;\r\n public CodiceArticolo: string;\r\n public ImmagineUrl: string;\r\n\r\n constructor(public ShopService: ShopService,private alertService: AlertService,private http: HttpClient,private CartService: CartService, private router: Router) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n //ImmagineURL\r\n try {\r\n this.software = this.router.lastSuccessfulNavigation.extras.state;\r\n //this.software = this.ShopService.lastSoftwareDetail;\r\n this.NomeProdotto = this.software.Descrizione;\r\n this.Costo = this.software.Costo;\r\n this.Categoria = this.software.IdSubCat;\r\n this.Descrizione = this.software.Testo;\r\n this.CodiceArticolo = this.software.CodiceArticolo;\r\n //this.ImmagineUrl += this.software.ImgName;\r\n this.ShopService.lastSoftwareDetail = this.software;\r\n if (this.software.ImgName === '') {\r\n this.ImmagineUrl = \"../../assets/img/GabImageNotFound.png\"\r\n } else {\r\n if (IsDev.active) {\r\n this.ImmagineUrl = \"https://localhost/ImgListino/\" + this.software.ImgName;\r\n } else {\r\n this.ImmagineUrl = \"https://www.gabservizi.it/ImgListino/\" + this.software.ImgName;\r\n }\r\n }\r\n } catch {\r\n this.software = this.ShopService.lastSoftwareDetail;\r\n this.NomeProdotto = this.software.Descrizione;\r\n this.Costo = this.software.Costo;\r\n this.Categoria = this.software.IdSubCat;\r\n this.Descrizione = this.software.Descrizione;\r\n this.CodiceArticolo = this.software.CodiceArticolo;\r\n this.ImmagineUrl = \"../../assets/img/GabImageNotFound.png\"\r\n }\r\n }\r\n public async AggiungiCarrello() {\r\n const contenitore: Contenitore = new Contenitore;\r\n contenitore.IdPacchettoCart = '_' + Math.random().toString(36).substr(2,9);\r\n const successCarrello: boolean = await this.ShopService.AggiungiCarrello(this.ShopService.SoftwareSelezionato, this.ShopService.QuantitaSelezionato, this.ShopService.PacchettoScelto, contenitore);\r\n if (successCarrello) {\r\n this.ShopService.Carrello.push(contenitore);\r\n } else {\r\n this.alertService.danger(\"Impossibile aggiungere al carrello. Contatta il tuo distributore per maggiori informazioni\")\r\n return;\r\n }\r\n //INSERISCO NEL DB\r\n const result: any = await this.CartService.Insert(contenitore);\r\n\r\n if (result) {\r\n this.alertService.success('Elemento aggiunto al carrello');\r\n }\r\n\r\n}\r\n\r\n /*\r\n public async AggiuntaAlCarrelloProdottoSingolo(software: SoftwareListino) {\r\n var value = parseInt((document.getElementById('quantita-articolo')).value, 10);\r\n this.ShopService.SoftwareSelezionato = software;\r\n this.ShopService.QuantitaSelezionato = value;\r\n await this.AggiungiCarrello();\r\n }\r\n public AggiungiPacchetto(software: SoftwareListino) {\r\n var quantita = parseInt((document.getElementById('quantita-articolo')).value, 10);\r\n this.ShopService.QuantitaSelezionato = quantita;\r\n this.ShopService.SoftwareSelezionato = software;\r\n if (this.ShopService.QuantitaSelezionato > this.ShopService.PacchettoScelto - this.ShopService.LeftPacchettoScelto || this.ShopService.QuantitaSelezionato === 0) {\r\n this.ShopService.ErroreCarrello = true;\r\n } else {\r\n this.ShopService.ErroreCarrello = false;\r\n this.ShopService.LeftPacchettoScelto += this.ShopService.QuantitaSelezionato;\r\n //SE GIA' ESISTE UN ELEMENTO UGUALE, SEMPLICEMENTE SOMMO\r\n const index: number = this.ShopService.Pacchetto.indexOf((elemento) => elemento.software === this.ShopService.SoftwareSelezionato)\r\n if (index !== -1) {\r\n this.ShopService.Pacchetto[index].quantita += this.ShopService.QuantitaSelezionato;\r\n } else {\r\n this.ShopService.Pacchetto.push({software: this.ShopService.SoftwareSelezionato, quantita: this.ShopService.QuantitaSelezionato, pacchetto: this.ShopService.PacchettoScelto})\r\n }\r\n console.log(this.ShopService.Pacchetto)\r\n this.ShopService.QuantitaSelezionato = 0;\r\n }\r\n }\r\n */\r\n\r\n ImageErrorHandler(event: any) {\r\n document.getElementById('immagine-prodotto').setAttribute('src', 'assets/img/GabImageNotFound.png');\r\n //event.target.currentSrc = 'assets/img/GabImageNotFound.png'\r\n }\r\n\r\n decrementare() {\r\n var value = parseInt((document.getElementById('quantita'+'-'+'articolo'+'-'+1)).value, 10);\r\n if (isNaN(value) || value < 1){\r\n value = 1;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+1)).value = String(value);\r\n }\r\n if (value > 1){\r\n value--;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+1)).value = String(value);\r\n }\r\n }\r\n\r\n incrementare() {\r\n var value = parseInt((document.getElementById('quantita'+'-'+'articolo'+'-'+1)).value, 10)\r\n if (isNaN(value) || value < 1){\r\n value = 1;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+1)).value = String(value);\r\n }\r\n if(value < 999){\r\n value++;\r\n (document.getElementById('quantita'+'-'+'articolo'+'-'+1)).value = String(value);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{NomeProdotto}}

\r\n
\r\n Prezzo: {{Costo}}€\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Aggiungi al carrello\r\n
\r\n
0\">\r\n

Descrizione:

\r\n
\r\n {{this.Descrizione}}\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\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 { IsDev } from '../../global';\r\n\r\nimport {Component, Input, OnInit, TemplateRef} from '@angular/core';\r\n\r\nimport { AuthService } from '../../Services/AuthService/auth.service';\r\nimport { ShopService } from '../../Services/ShopService/shop.service';\r\nimport Acquisto from '../../Models/Acquisto';\r\n\r\nimport {IconDefinition, faCartArrowDown, faShoppingCart, faTrash } from '@fortawesome/free-solid-svg-icons';\r\nimport SoftwareListino from '../../Models/SoftwareListino';\r\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { Icon } from '@fortawesome/fontawesome-svg-core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Output, EventEmitter } from '@angular/core';\r\nimport {UserStoreService} from '../../Services/Admin/user-store.service';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-shop-acquisto',\r\n templateUrl: './shop-acquisto.component.html',\r\n styleUrls: ['./shop-acquisto.component.scss']\r\n})\r\nexport class ShopAcquistoComponent implements OnInit {\r\n\r\n //ICONS\r\n public faTrash: IconDefinition = faTrash;\r\n\r\n\r\n\r\n\r\n constructor(public ShopService: ShopService, public UserStoreService:UserStoreService, public auth: AuthService, public modalService: BsModalService, private alertService: AlertService, private http: HttpClient, private router:Router) {\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\r\n}\r\n","import { IsDev } from './../global';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService } from '../Services/AuthService/auth.service';\r\nimport { ShopService } from '../Services/ShopService/shop.service';\r\nimport {UserStoreService} from '../Services/Admin/user-store.service';\r\n\r\nimport {IconDefinition, faShoppingCart, faPen, faTrash } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport Acquisto from '../Models/Acquisto';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport SoftwareListino from '../Models/SoftwareListino';\r\n\r\n@Component({\r\n selector: 'app-shop',\r\n templateUrl: './shop.component.html',\r\n styleUrls: ['./shop.component.scss']\r\n})\r\nexport class ShopComponent implements OnInit {\r\n\r\n // ICONS\r\n public faPen: IconDefinition = faPen;\r\n public faTrash: IconDefinition = faTrash;\r\n //CATEGORIE\r\n public categorie: any;\r\n\r\n // FLAG\r\n public NuovoOrdine = false;\r\n\r\n\r\n //FLAG DI SELEZIONE LICENZA\r\n\r\n // MODAL\r\n public modalRef: BsModalRef;\r\n public modalRef2: BsModalRef;\r\n constructor(private http: HttpClient, public auth: AuthService, private router: Router,\r\n public ShopService: ShopService, public modalService: BsModalService, private alertService: AlertService, public userStoreService:UserStoreService) {\r\n\r\n }\r\n\r\n private async Init() {\r\n this.auth.Ready = false;\r\n // AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName('li');\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'shop') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n if (this.ShopService.IsInit === false) {\r\n await this.ShopService.Init();\r\n this.ShopService.IsInit = true;\r\n }\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n this.auth.Ready = true;\r\n this.ShopService.ShowTipologiaLicenza = true;\r\n }\r\n\r\n private async LocalValidation() {\r\n\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if (valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.Ready = false;\r\n this.auth.IsLogin = true;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n\r\n\r\n async ngOnInit() {\r\n /*\r\n if (!(this.auth.AuthUser.Tipo.includes('S') || this.auth.AuthUser.Tipo.includes('P'))) {\r\n this.router.navigateByUrl('');\r\n return;\r\n }\r\n */\r\n\r\n if (this.auth.AuthUser.Role === 2) {\r\n this.router.navigate([\"shop/acquisto-licenza-singola\"]);\r\n this.ShopService.ShowTipologiaLicenza = false;\r\n }\r\n\r\n await this.Init();\r\n\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 { AuthService } from './../../Services/AuthService/auth.service';\r\nimport {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {ShopService} from '../../Services/ShopService/shop.service';\r\nimport {UserStoreService} from '../../Services/Admin/user-store.service';\r\nimport {AlertService} from 'ngx-alerts';\r\nimport {NavigationEnd, NavigationStart, Router} from '@angular/router';\r\nimport {filter} from 'rxjs/operators';\r\nimport {Location} from '@angular/common';\r\nimport {Contenitore} from '../tipologialicenza/tipologialicenza.component';\r\nimport {IsDev} from '../../global';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {BsModalService} from 'ngx-bootstrap/modal';\r\n\r\nimport {Role} from '../../Models/User';\r\nimport { HostListener } from '@angular/core';\r\nimport { faTrash, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport Categoria from 'src/app/Models/Categoria';\r\n\r\n\r\n@Component({\r\n selector: 'app-shopheader',\r\n templateUrl: './shopheader.component.html',\r\n styleUrls: ['./shopheader.component.scss']\r\n})\r\nexport class ShopheaderComponent implements OnInit, OnDestroy {\r\n Url: string;\r\n location:any;\r\n categorie: Categoria[];\r\n errorProductsNotFound:string;\r\n categoriaMobile:boolean = false;\r\n //ICONS\r\n public faTrash: IconDefinition = faTrash;\r\n\r\n constructor( public ShopService: ShopService,public modalService: BsModalService,\r\n public userStoreService:UserStoreService,private alertService: AlertService, private router: Router, private _location: Location, private http: HttpClient, public auth: AuthService) {\r\n this.location = _location;\r\n router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe((event: NavigationEnd) => {\r\n this.Url = event.url;\r\n this.setUXbooleans(this.Url);\r\n });\r\n router.events\r\n .subscribe((event: NavigationStart) => {\r\n if (event.navigationTrigger === 'popstate') {\r\n this.categoriaMobile = false;\r\n }\r\n });\r\n }\r\n @HostListener('window:popstate', ['$event'])\r\n\r\n async ngOnInit() {\r\n this.categorie = await this.userStoreService.GetListino();\r\n }\r\n ngOnDestroy(){\r\n this.categoriaMobile = false;\r\n }\r\n\r\n public Indietro(){\r\n this.ShopService.Stripe = false;\r\n this.ShopService.Paypal = false;\r\n this.ShopService.Bonifico = false;\r\n this.ShopService.errorProductsNotFound = '';\r\n this.categoriaMobile = false;\r\n this.location.back();\r\n }\r\n public setUXbooleans(url){\r\n /*\r\n * GESTISCO TUTTE LE CASISTICHE POSSIBILI PER LA VISUALIZZAZIONE\r\n * 1) /home/shop\r\n * 2) /home/shop/acquisto-licenza-singola\r\n * 3) /home/shop/acquisto-licenza-multipla\r\n * 4) /home/shop/selezione-quantita-pacchetti\r\n * 5) /home/shop/cart\r\n *\r\n * */\r\n // 1\r\n if(url === \"/shop\"){\r\n this.ShopService.ShowTipologiaLicenza = true;\r\n this.ShopService.ShowAcquistoSingolo = false;\r\n this.ShopService.ShowAcquistoPacchetti = false;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = false;\r\n this.ShopService.ShowCarrello = false;\r\n this.ShopService.ShowSceltaCategorie = false;\r\n return;\r\n }\r\n if (url === \"/shop/tipologia-licenza\") {\r\n this.ShopService.ShowTipologiaLicenza = false;\r\n this.ShopService.ShowAcquistoPacchetti = false;\r\n this.ShopService.ShowCarrello = true;\r\n this.ShopService.ShowAcquistoSingolo = false;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = false;\r\n this.ShopService.ShowSceltaCategorie = false;\r\n return;\r\n }\r\n\r\n\r\n\r\n\r\n // 4\r\n if (url === \"/shop/selezione-quantita-pacchetti\") {\r\n this.ShopService.Reset();\r\n this.ShopService.ShowTipologiaLicenza = false;\r\n this.ShopService.ShowAcquistoPacchetti = false;\r\n this.ShopService.ShowCarrello = false;\r\n this.ShopService.ShowAcquistoSingolo = false;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = true;\r\n this.ShopService.ShowSceltaCategorie = false;\r\n\r\n return;\r\n }\r\n // 5\r\n if (url === \"/shop/cart\") {\r\n this.ShopService.ShowTipologiaLicenza = false;\r\n this.ShopService.ShowAcquistoPacchetti = false;\r\n this.ShopService.ShowCarrello = true;\r\n this.ShopService.ShowAcquistoSingolo = false;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = false;\r\n this.ShopService.ShowSceltaCategorie = false;\r\n\r\n return;\r\n }\r\n // 6\r\n if (url.includes(\"/shop/acquisto-licenza-singola\")) {\r\n if (url === \"/shop/acquisto-licenza-singola\") {\r\n this.ShopService.ShowTipologiaLicenza = false;\r\n this.ShopService.ShowAcquistoPacchetti = false;\r\n this.ShopService.ShowCarrello = false;\r\n this.ShopService.ShowAcquistoSingolo = true;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = false;\r\n this.ShopService.ShowSceltaCategorie = true;\r\n this.ShopService.DettaglioProdotto = false;\r\n return;\r\n } else{\r\n this.ShopService.ShowTipologiaLicenza = false;\r\n this.ShopService.ShowAcquistoPacchetti = false;\r\n this.ShopService.ShowCarrello = true;\r\n this.ShopService.ShowAcquistoSingolo = true;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = false;\r\n this.ShopService.ShowSceltaCategorie = false;\r\n this.ShopService.DettaglioProdotto = true;\r\n\r\n return;\r\n\r\n }\r\n\r\n }\r\n // 7\r\n if (url.includes(\"/shop/acquisto-licenza-multipla\")) {\r\n // 3\r\n if (url === \"/shop/acquisto-licenza-multipla\") {\r\n this.ShopService.ShowTipologiaLicenza = false;\r\n this.ShopService.ShowAcquistoPacchetti = true;\r\n this.ShopService.ShowCarrello = false;\r\n this.ShopService.ShowAcquistoSingolo = false;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = false;\r\n this.ShopService.ShowSceltaCategorie = true;\r\n this.ShopService.DettaglioProdotto = false;\r\n\r\n\r\n return;\r\n }else{\r\n this.ShopService.ShowTipologiaLicenza = false;\r\n this.ShopService.ShowAcquistoPacchetti = true;\r\n this.ShopService.ShowCarrello = false;\r\n this.ShopService.ShowAcquistoSingolo = false;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = false;\r\n this.ShopService.ShowSceltaCategorie = false;\r\n this.ShopService.DettaglioProdotto = true;\r\n return;\r\n }\r\n }\r\n }\r\n async goToCategoria(id){\r\n let categoriaTrovata;\r\n let listino = await this.userStoreService.GetListino();\r\n for(let cat = 0; cat < listino.length; cat++){\r\n if(listino[cat].ID == id){\r\n categoriaTrovata = listino[cat].Nome;\r\n this.ShopService.prodottiMostrati = listino[cat].Elementi;\r\n break;\r\n }\r\n }\r\n if(this.ShopService.prodottiMostrati.length === 0){\r\n this.ShopService.errorProductsNotFound = 'PRODOTTI NON TROVATI';\r\n } else{\r\n this.errorProductsNotFound = '';\r\n }\r\n }\r\n openCategorie() {\r\n this.categoriaMobile = !this.categoriaMobile;\r\n }\r\n async goToSottocategoria(id){\r\n\r\n let sottoCategoriaTrovata;\r\n let listino = await this.userStoreService.GetListino();\r\n for(let cat = 0; cat < listino.length; cat++){\r\n for (let sottocat = 0; sottocat < listino[cat].SottoCategorie.length; sottocat++){\r\n if(listino[cat].SottoCategorie[sottocat].ID == id) {\r\n sottoCategoriaTrovata = listino[cat].SottoCategorie[sottocat].Nome;\r\n this.ShopService.prodottiMostrati = listino[cat].SottoCategorie[sottocat].Elementi;\r\n break;\r\n }\r\n }\r\n }\r\n if(this.ShopService.prodottiMostrati.length == 0){\r\n this.ShopService.errorProductsNotFound = 'PRODOTTI NON TROVATI'\r\n } else{\r\n this.ShopService.errorProductsNotFound = '';\r\n }\r\n }\r\n\r\n\r\n openSottoCategorie(ID: number) {\r\n if(document.getElementById(String(ID)).style.display === 'none'){\r\n document.getElementById(String(ID)).style.display = 'block'\r\n } else{\r\n document.getElementById(String(ID)).style.display = 'none'\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Codice ArticoloDescrizioneCostoQuantitàElimina
{{elemento.software.CodiceArticolo}}{{elemento.software.Descrizione}}{{elemento.software.Costo}}€{{elemento.quantita}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Chiudi
\r\n
\r\n
\r\n","import {Component, OnInit, TemplateRef} from '@angular/core';\r\n\r\nimport {BsModalRef, BsModalService} from 'ngx-bootstrap/modal';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {Router} from '@angular/router';\r\nimport {AlertService} from 'ngx-alerts';\r\nimport {UserStoreService} from '../../Services/Admin/user-store.service';\r\nimport {ShopService} from '../../Services/ShopService/shop.service';\r\nimport {AuthService} from '../../Services/AuthService/auth.service';\r\nimport {IconDefinition, faShoppingCart, faPen, faTrash } from '@fortawesome/free-solid-svg-icons';\r\nimport Acquisto from '../../Models/Acquisto';\r\n\r\n@Component({\r\n selector: 'app-tipologialicenza',\r\n templateUrl: './tipologialicenza.component.html',\r\n styleUrls: ['./tipologialicenza.component.scss']\r\n})\r\nexport class TipologialicenzaComponent implements OnInit {\r\n\r\n// ICONS\r\n public faPen: IconDefinition = faPen;\r\n public faTrash: IconDefinition = faTrash;\r\n //CATEGORIE\r\n public categorie: any;\r\n\r\n // FLAG\r\n public NuovoOrdine = false;\r\n\r\n\r\n //FLAG DI SELEZIONE LICENZA\r\n\r\n // MODAL\r\n public modalRef: BsModalRef;\r\n public modalRef2: BsModalRef;\r\n constructor(private http: HttpClient, public auth: AuthService, private router: Router,\r\n public ShopService: ShopService, public modalService: BsModalService, private alertService: AlertService, public userStoreService:UserStoreService) {\r\n\r\n }\r\n public async ngOnInit(){\r\n /*\r\n if (!(this.auth.AuthUser.Tipo.includes('S') || this.auth.AuthUser.Tipo.includes('P'))) {\r\n this.router.navigateByUrl('');\r\n return;\r\n }\r\n */\r\n\r\n await this.Init();\r\n this.ShopService.InitCart();\r\n }\r\n private async Init() {\r\n this.auth.Ready = false;\r\n // AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName('li');\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'shop') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n if (this.ShopService.IsInit === false) {\r\n await this.ShopService.Init();\r\n this.ShopService.IsInit = true;\r\n }\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n this.auth.Ready = true;\r\n }\r\n\r\n private async LocalValidation() {\r\n\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if (valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.Ready = false;\r\n this.auth.IsLogin = true;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n public CreaNuovoOrdine(template: TemplateRef) {\r\n this.NuovoOrdine = true;\r\n this.ShopService.CarrelloAperto = false;\r\n }\r\n\r\n\r\n /********************SEZIONE LISTINO*********************/\r\n\r\n public OpenModalListino(template: TemplateRef): void {\r\n this.modalRef = this.modalService.show(template, {id: 1, class: 'modal-lg', ignoreBackdropClick: true});\r\n }\r\n public ContinueAcquistoSingolo() {\r\n this.router.navigate(['/shop/acquisto-licenza-singola']);\r\n this.ShopService.ShowSceltaCategorie = true;\r\n this.ShopService.ShowAcquistoSingolo = true;\r\n }\r\n\r\n\r\n public ContinueToSelezionePacchetto() {\r\n if(this.auth.AuthUser.Role === 2 || (this.auth.AuthUser.Role === 1 && !this.auth.AuthUser.Tipo.includes('P')) || (this.auth.AuthUser.Role === 4 && !this.auth.AuthUser.Tipo.includes('P'))){\r\n this.alertService.danger(\"Non hai l'accesso\")\r\n } else{\r\n this.ShopService.ShowTipologiaLicenza = false;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = true;\r\n this.router.navigate(['/shop/selezione-quantita-pacchetti']);\r\n }\r\n\r\n //this.userStoreService.listino = await this.userStoreService.GetListino();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n public RemovePacchetto(elemento) {\r\n const quantita = elemento.quantita;\r\n this.ShopService.Pacchetto.splice(this.ShopService.Pacchetto.indexOf(elemento), 1);\r\n this.ShopService.LeftPacchettoScelto -= quantita;\r\n\r\n if (this.ShopService.LeftPacchettoScelto === 0) {\r\n this.modalService.hide();\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n public Reset() {\r\n this.ShopService.Pacchetto = [];\r\n this.ShopService.PacchettoScelto = 0;\r\n this.ShopService.LeftPacchettoScelto = 0;\r\n this.ShopService.ShowTipologiaLicenza = true;\r\n this.ShopService.SectionSceltaElementi = false;\r\n this.ShopService.ShowAcquistoSingolo= false;\r\n this.ShopService.ShowSelezioneQuantitaPacchetti = false;\r\n this.ShopService.ShowAcquistoPacchetti = false;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\nexport class Contenitore {\r\n IdPacchettoCart: string\r\n Contenuto: Acquisto[]\r\n PrezzoTotale: number;\r\n LicenseTotali: number;\r\n TotalePrezzoScontato: number;\r\n public constructor() {\r\n this.Contenuto = [];\r\n }\r\n\r\n public Tipo: string = \"S\";\r\n\r\n public GetDimensione(): number {\r\n let value: number = 0;\r\n for (let i = 0; i < this.Contenuto.length; ++i) {\r\n value += this.Contenuto[i].NumeroLicenze;\r\n }\r\n return value;\r\n }\r\n public GetTotal(){}\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n Continua\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n Continua\r\n
\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 { IsDev, VERSION } from 'src/app/global';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'changelog',\r\n templateUrl: './changelog.component.html',\r\n styleUrls: ['./changelog.component.scss']\r\n})\r\nexport class ChangelogComponent implements OnInit {\r\n\r\n public version: string = VERSION;\r\n \r\n public year: number = new Date().getFullYear();\r\n constructor(public auth: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

GAB Servizi v. {{version}}

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

COPYRIGHT © {{this.year}} GAB Tamagnini Srl, Via Beniamino Disraeli, 17, 42124, Reggio Emilia

\r\n

Partita IVA, Codice Fiscale e Reg. Impr. di RE 00168780351

\r\n

Cap. soc. € 50.000,00 i.v. - REA n.RE-107440 presso C.C.I.A.A. di Reggio Emilia

\r\n
\r\n \r\n
","import { VERSION } from './../global';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { faBook, faSignOutAlt, faKey, faEye, faSync, faDesktop, faUsersCog, faHome, faCloud, faClipboardList, faUsers, faShoppingCart, faCashRegister, faUser, IconDefinition, faInfoCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { AuthService } from '../Services/AuthService/auth.service';\r\nimport { ShopService } from '../Services/ShopService/shop.service';\r\n\r\nimport { HostListener } from \"@angular/core\";\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\n\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n @Input() headerName: string;\r\n public faHome: IconDefinition = faHome;\r\n public faBook: IconDefinition = faBook;\r\n public faSignOut: IconDefinition = faSignOutAlt;\r\n public faEye: IconDefinition = faEye;\r\n public faDesktop: IconDefinition = faDesktop;\r\n public faKey: IconDefinition = faKey;\r\n public faSync: IconDefinition = faSync;\r\n public faShoppingCart: IconDefinition = faShoppingCart;\r\n public faClipboardList: IconDefinition = faClipboardList;\r\n public faUsers: IconDefinition = faUsers;\r\n public faCashRegister: IconDefinition = faCashRegister;\r\n public faUser: IconDefinition = faUser;\r\n public faInfo: IconDefinition = faInfoCircle;\r\n public faUserCog: IconDefinition = faUsersCog;\r\n public faCloud: IconDefinition = faCloud;\r\n public version: string = VERSION;\r\n public isCloudEnabled: boolean = false;\r\n public mobileSidebar: boolean;\r\n\r\n screenWidth: number;\r\n\r\n constructor(public auth: AuthService, public shopService: ShopService, public router: Router, public alert: AlertService, public modalService: BsModalService) {\r\n this.getScreenSize();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Logout() {\r\n this.auth.Logout();\r\n this.shopService.Logout();\r\n }\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?) {\r\n this.screenWidth = window.innerWidth;\r\n if (this.screenWidth > 1279 && this.mobileSidebar == false) {\r\n document.getElementById(\"hamburger1\").click();\r\n }\r\n }\r\n\r\n public OpenChangelog(template: TemplateRef) {\r\n this.modalService.show(template, {class: \"modal-lg\"});\r\n }\r\n\r\n public ShowMobileSidebar() {\r\n if (this.screenWidth < 1279) {\r\n document.getElementById(\"hamburger1\").click();\r\n this.mobileSidebar = !this.mobileSidebar;\r\n\r\n if (this.mobileSidebar == true) {\r\n\r\n let trasformString: string = \"translate3d(0, 0, 0)\";\r\n let transitionString: string = \"all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1)\";\r\n document.getElementById(\"sidebartransition\").style.transform = trasformString;\r\n document.getElementById(\"sidebartransition\").style.transition = transitionString;\r\n\r\n } else {\r\n let trasformString: string = \"translate3d(-2000px, 0, 0)\";\r\n let transitionString: string = \"all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1)\"\r\n document.getElementById(\"sidebartransition\").style.transform = trasformString;\r\n document.getElementById(\"sidebartransition\").style.transition = transitionString;\r\n }\r\n } else if (this.screenWidth > 1279 && this.mobileSidebar == false) {\r\n let trasformString: string = \"translate3d(0, 0, 0)\";\r\n let transitionString: string = \"all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1)\";\r\n document.getElementById(\"sidebartransition\").style.transform = trasformString;\r\n document.getElementById(\"sidebartransition\").style.transition = transitionString;\r\n }\r\n\r\n\r\n }\r\n public HideMobileSidebar() {\r\n if (this.screenWidth < 1279) {\r\n document.getElementById(\"hamburger1\").click();\r\n }\r\n /*let trasformString: string = \"translate3d(-262px, 0, 0)\";\r\n let transitionString: string = \"all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1)\"\r\n document.getElementById(\"sidebartransition\").style.transform = trasformString;\r\n document.getElementById(\"sidebartransition\").style.transition = transitionString;\r\n this.mobileSidebar = false;\r\n console.log(this.mobileSidebar);*/\r\n\r\n }\r\n\r\n public RedirectTo(url: string){\r\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\r\n this.router.navigate([url]));\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\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-signup',\r\n templateUrl: './signup.component.html',\r\n styleUrls: ['./signup.component.scss']\r\n})\r\nexport class SignupComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { AlertService } from 'ngx-alerts';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { License, LicenseInfo, LicenseClient } from './../../Models/LicenzeStat';\r\nimport { LicenseService } from 'src/app/Services/LicenseService/license.service';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { faInfo, faSync, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\n\r\n@Component({\r\n selector: 'app-licenses-expiring',\r\n templateUrl: './licenses-expiring.component.html',\r\n styleUrls: ['./licenses-expiring.component.scss']\r\n})\r\nexport class LicensesExpiringComponent implements OnInit {\r\n\r\n @Input() expiringLicense: string;\r\n @Output() refreshStats: EventEmitter = new EventEmitter();\r\n //ICON\r\n public faInfo: IconDefinition = faInfo;\r\n public faSync: IconDefinition = faSync;\r\n\r\n public Licenses: (LicenseInfo | LicenseClient)[] = [];\r\n constructor(private licenseService: LicenseService, public auth: AuthService, private alertService: AlertService) { }\r\n\r\n async ngOnInit() {\r\n this.Licenses = [];\r\n const Licenses: LicenseInfo[] = await this.licenseService.GetExpiringLicenses();\r\n Licenses.forEach(license => {\r\n if (license.Segnalatore === \"CLIENT\") {\r\n license.Descrizione = \"CLIENT\";\r\n }\r\n this.Licenses.push(license);\r\n\r\n /*\r\n license.LicenseClient.forEach(client => {\r\n console.log(client)\r\n if (client.Stato === 1) {\r\n client.Creatore = license.Creatore;\r\n client.Descrizione = \"CLIENT\";\r\n client.Master = license.License.License;\r\n\r\n this.Licenses.push(client);\r\n }\r\n })\r\n */\r\n });\r\n\r\n }\r\n\r\n public GetTooltip(license: LicenseInfo | LicenseClient) {\r\n\r\n if (license.Descrizione === \"CLIENT\") {\r\n return \"Master: \" + (license as LicenseClient).Master;\r\n }\r\n\r\n const modules: string = license.License.Modules;\r\n\r\n let string: string = \"\";\r\n const submod: string = modules.substr(5);\r\n\r\n if (submod.length === 0) {\r\n return \"Versione Demo\"\r\n } else {\r\n for(let i = 0; i < submod.length; ++i) {\r\n switch(i) {\r\n case 0:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Collegamento Cassetto Automatico, \"\r\n }\r\n break;\r\n }\r\n case 1:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Promo Cassa, \"\r\n }\r\n break;\r\n }\r\n case 2:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Celiachia, \"\r\n }\r\n break;\r\n }\r\n case 3:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Modulo 730, \"\r\n }\r\n break;\r\n }\r\n case 4:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Tabacchi, \"\r\n }\r\n break;\r\n }\r\n case 5:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Cooki, \"\r\n }\r\n break;\r\n }\r\n case 6:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Keenon, \"\r\n }\r\n break;\r\n }\r\n case 7:\r\n {\r\n if(submod[i] === \"1\") {\r\n string = string + \"Visual B2B, \"\r\n }\r\n break;\r\n }\r\n }\r\n\r\n }\r\n\r\n return string.length > 0 ? string.substring(0, string.length - 2) : '';\r\n }\r\n }\r\n\r\n public async renewLicense(license: LicenseInfo | LicenseClient, i: number) {\r\n const result = await this.licenseService.RenewLicense(license.Creatore, license.License.License);\r\n\r\n if (result) {\r\n this.alertService.success('Licenza rinnovata con successo');\r\n\r\n //AGGIORNO LA LISTA E AGGIORNO LE STATISTICHE RELATIVE ALLE LICENZE IN SCADENZA\r\n this.Licenses.splice(i, 1);\r\n\r\n const expiringValue: number = Number(this.expiringLicense) - 1;\r\n\r\n this.expiringLicense = String(expiringValue);\r\n\r\n if (expiringValue >= 0) {\r\n this.refreshStats.emit(this.expiringLicense);\r\n }\r\n\r\n\r\n return true;\r\n }\r\n\r\n this.alertService.danger('Impossibile rinnovare la licenza');\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LicenzeData CreazioneData AttivazioneData ScadenzaDescrizioneInfoCreatoreAggiorna
{{licenseInfo.License.License}}{{licenseInfo.CreationDate}}{{licenseInfo.ActivationDate}}{{licenseInfo.ExpirationDate}}{{licenseInfo.Descrizione}}\r\n \r\n {{licenseInfo.Creatore.toUpperCase()}}\r\n \r\n
\r\n
","import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { StatsService } from './../Services/StatsService/stats.service';\r\nimport { IsDev } from './../global';\r\n\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport {faMoneyBill, faSignal, faBusinessTime, faFlask, IconDefinition} from '@fortawesome/free-solid-svg-icons';\r\n\r\n//CHART JS\r\nimport * as Chart from 'chart.js';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../Services/AuthService/auth.service';\r\nimport { Role } from '../Models/User';\r\n\r\n@Component({\r\n selector: 'app-stats',\r\n templateUrl: './stats.component.html',\r\n styleUrls: ['./stats.component.scss']\r\n})\r\nexport class StatsComponent implements OnInit {\r\n\r\n constructor(public auth: AuthService, private router: Router, private statsService: StatsService, private modalService: BsModalService) {\r\n \r\n }\r\n\r\n\r\n private async Init() {\r\n\r\n this.auth.Ready = false;\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName(\"li\");\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'home') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n await this.InitValues();\r\n\r\n this.auth.Ready = true;\r\n\r\n if (document.getElementsByClassName('card-body')[0] === undefined) {\r\n window.location.reload();\r\n }\r\n\r\n }\r\n\r\n private async LocalValidation() {\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if(valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.Ready = false;\r\n this.auth.IsLogin = true;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n await this.router.navigate(['login']);\r\n }\r\n }\r\n\r\n public VPCount: string;\r\n public VPUsed: string;\r\n public B2BCount: string;\r\n public ExpiringLicenses: string;\r\n public ExpiringLicensesN: number;\r\n\r\n public Ready: boolean = false;\r\n\r\n //FAICON\r\n public faMoney: IconDefinition = faMoneyBill;\r\n public faSignal: IconDefinition = faSignal;\r\n public faBusiness: IconDefinition = faBusinessTime;\r\n public faFlask: IconDefinition = faFlask;\r\n\r\n async ngOnInit() {\r\n\r\n\r\n if (this.auth.AuthUser.Role === 2) {\r\n //REINDERIZZO A SHOP\r\n document.getElementById('home').style.display = \"none\";\r\n this.router.navigate([\"shop\"]);\r\n return;\r\n }\r\n \r\n await this.Init();\r\n }\r\n\r\n private async InitValues() {\r\n this.VPCount = await this.GetVisualPosCount(); //VISUAL POS FOR REVENDOR\r\n this.VPUsed = await this.GetVisualPosUsed(); //VISUAL POS USED LAST 30 DAYS\r\n this.B2BCount = await this.GetB2BCount(); //B2B COUNT\r\n this.ExpiringLicenses = await this.GetExpiringCount(); //EXPIRING LICENSES\r\n this.ExpiringLicensesN = Number(this.ExpiringLicenses);\r\n\r\n\r\n await this.GetVisualPosUsage();\r\n await this.GetModuleUsage();\r\n\r\n this.Ready = true;\r\n }\r\n\r\n //GET VISUALPOS STATS\r\n private async GetVisualPosCount(): Promise {\r\n const resultValue: string = await this.statsService.GetVpCount();\r\n\r\n return resultValue;\r\n }\r\n\r\n private async GetVisualPosUsed(): Promise {\r\n const resultValue: string = await this.statsService.GetVpUsed();\r\n\r\n return resultValue;\r\n }\r\n\r\n private async GetB2BCount(): Promise {\r\n const resultValue: string = await this.statsService.GetB2BCount(); \r\n\r\n return resultValue;\r\n }\r\n\r\n private async GetExpiringCount(): Promise {\r\n const resultValue: string = await this.statsService.GetExpiringLicenses(); \r\n\r\n return resultValue;\r\n }\r\n\r\n public statChanged(event: string) {\r\n this.ExpiringLicenses = event;\r\n }\r\n\r\n private async GetVisualPosUsage() {\r\n const result: any = await this.statsService.GetVisualPosUsage();\r\n\r\n //GEN BAR CHART\r\n new Chart('barchart', {\r\n type: 'bar',\r\n data: {\r\n labels: result.map(f => f.name),\r\n datasets: [{\r\n label: \"Versioni installate\",\r\n data: result.map(f => f.total),\r\n backgroundColor: result.map(f => this.getRandomColor())\r\n }],\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n }\r\n }\r\n });\r\n }\r\n\r\n private async GetModuleUsage() {\r\n const result: any = await this.statsService.GetModuleUsage();\r\n\r\n const chart: Chart = new Chart('pie', {\r\n type: 'pie',\r\n data: {\r\n labels: result.map(f => f.name),\r\n datasets: [{\r\n label: \"Moduli Attivi\",\r\n data: result.map(f => f.total),\r\n backgroundColor: result.map(f => this.getRandomColor())\r\n }]\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n legendCallback: (chart: Chart) => {\r\n let legend: string = \"\"; //Colori\r\n legend += '
    ';\r\n for (let i = 0; i < chart.data.datasets[0].data.length; i++) {\r\n legend += '
  • ';\r\n if (chart.data.labels[i]) {\r\n legend += chart.data.labels[i];\r\n }\r\n legend += '
  • ';\r\n }\r\n legend += '
';\r\n return legend;\r\n }\r\n }\r\n });\r\n\r\n /*\r\n const legend: HTMLElement = document.getElementById(\"legend\");\r\n\r\n legend.innerHTML = chart.generateLegend();\r\n legend.style.height = document.getElementById('table').style.height;\r\n\r\n const legendItems = legend.getElementsByTagName('li');\r\n\r\n for (var i = 0; i < legendItems.length; i += 1) {\r\n legendItems[i].addEventListener(\"click\", (event) => {\r\n const target: EventTarget = event.target;\r\n const parent: HTMLElement = ( target ).parentElement;\r\n\r\n const index = Array.prototype.slice.call(parent.children).indexOf(target);\r\n const meta = chart.getDatasetMeta(0);\r\n\r\n const item = meta.data[index];\r\n\r\n if (item.hidden === null || item.hidden === false) {\r\n item.hidden = true;\r\n ( target ).classList.add('hidden');\r\n } else {\r\n ( target ).classList.remove('hidden');\r\n item.hidden = null;\r\n }\r\n chart.update();\r\n }, false);\r\n }\r\n */\r\n\r\n\r\n }\r\n\r\n public OpenUpdateModal(template: TemplateRef) {\r\n if (this.auth.AuthUser.Role !== Role.ADMIN && this.auth.AuthUser.Role !== Role.USER) {\r\n this.OpenExpiringLicenses(template);\r\n }\r\n\r\n if (this.auth.AuthUser.Role === Role.ADMIN) {\r\n if (this.auth.AuthUser.SettingsPermessi.Licenze.Rinnovo) {\r\n this.OpenExpiringLicenses(template);\r\n }\r\n }\r\n\r\n\r\n //if (this.auth.AuthUser.Role === Role.ADMIN )\r\n } \r\n\r\n private getRandomColor(): string {\r\n var letters = '0123456789ABCDEF';\r\n var color = '#';\r\n for (var i = 0; i < 6; i++) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n return color.toLowerCase();\r\n }\r\n\r\n public OpenExpiringLicenses(template: TemplateRef) {\r\n this.modalService.show(template, {class: 'modal-xl'});\r\n }\r\n}\r\n\r\n","
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n

{{!this.auth.IsCashServizi ? 'VISUALPOS INSTALLATI' : 'APPagato INSTALLATI'}}

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

{{VPCount}}

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

{{!this.auth.IsCashServizi ? 'VISUALPOS UTILIZZATI' : 'APPagato UTILIZZATI'}}

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

{{VPUsed}}

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

B2B INSTALLATI

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

{{B2BCount}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
0) ? OpenUpdateModal(expiring) : ''\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n

LICENZE IN SCADENZA\r\n

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

{{ExpiringLicenses}}

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

{{!this.auth.IsCashServizi ? 'VisualPOS' : 'APPagato'}}

\r\n

Versioni in circolazione

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

Moduli

\r\n

Moduli clienti

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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 { IsDev } from './../global';\r\n\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { ChangeDetectorRef, Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {faDownload, faTrash, faFileArchive, faPlus, faMinus, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport Update from '../Models/Update';\r\nimport { AuthService } from '../Services/AuthService/auth.service';\r\nimport { FileService } from '../Services/FileService/file.service';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-updates',\r\n templateUrl: './updates.component.html',\r\n styleUrls: ['./updates.component.scss']\r\n})\r\nexport class UpdatesComponent implements OnInit {\r\n\r\n\r\n public Updates: Update[] = [];\r\n\r\n public UpdatesPrint: Update[] = [];\r\n public UpdatesShow: FilterUpdate[] = [];\r\n\r\n public SoftCodes: string[2][] = [];\r\n public ready: boolean = false;\r\n\r\n //ALERT\r\n public alertOpen: boolean = false;\r\n public alertOpenSuccess: boolean = false;\r\n public alertMsg: string = \"\";\r\n\r\n //LOADING\r\n public showSpinner: boolean = false;\r\n\r\n //ICONS\r\n public faTrash: IconDefinition = faTrash;\r\n public faDownload: IconDefinition = faDownload;\r\n public faFileArchive: IconDefinition = faFileArchive;\r\n public faPlus: IconDefinition = faPlus;\r\n public faMinus: IconDefinition = faMinus;\r\n\r\n //Modal Elimina\r\n public UpdateDaEliminare: Update;\r\n public BoolDaEliminare: boolean;\r\n public modalRef: BsModalRef;\r\n\r\n constructor(private http: HttpClient, public auth: AuthService, private router: Router, public FileService: FileService, public modalService: BsModalService, private fileService: FileService) { \r\n \r\n }\r\n\r\n private async Init() {\r\n\r\n this.auth.Ready = false;\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName(\"li\");\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'updates') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n\r\n await this.LoadUpdates();\r\n this.FilterPrintedUpdates();\r\n await this.InitSoftCodes();\r\n\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n this.auth.Ready = true;\r\n }\r\n\r\n public fileToUpload: File = null;\r\n\r\n async ngOnInit() {\r\n await this.Init();\r\n }\r\n\r\n public async LoadUpdates() {\r\n \r\n this.Updates = await this.fileService.GetUpdates();\r\n\r\n return;\r\n \r\n }\r\n\r\n private async LocalValidation() {\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n \r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if(valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.IsLogin = true;\r\n this.auth.Ready = false;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n private async InitSoftCodes() {\r\n const result: any = await this.fileService.InitSoftcodes();\r\n this.SoftCodes = result;\r\n this.ready = true;\r\n }\r\n\r\n public FileInput(files: FileList) {\r\n this.fileToUpload = files.item(0);\r\n //this.FileService.FileUpload(this.fileToUpload);\r\n }\r\n\r\n \r\n public async UploadUpdate() {\r\n const version: string = (document.getElementById('version') as HTMLInputElement).value;\r\n const date: string = (document.getElementById('data') as HTMLInputElement).value;\r\n \r\n\r\n const softcodeDesc: HTMLSelectElement = (document.getElementById('softcode') as HTMLSelectElement);\r\n\r\n const softcodeSelected: string = softcodeDesc.options[softcodeDesc.selectedIndex].value;\r\n const softcode: string = this.SoftCodes.find(softcode => softcodeSelected === softcode[0])\r\n \r\n if (version === \"\" || date === \"\" || this.fileToUpload === null) {\r\n this.alertMsg = \"Inserire tutti i campi per continuare\";\r\n this.alertOpen = true;\r\n setTimeout(() => {\r\n this.alertOpen = false;\r\n }, 5000)\r\n } else {\r\n this.showSpinner = true;\r\n await this.FileService.UpdateUpload(this.fileToUpload, softcode[0], version, softcode[1], date);\r\n this.showSpinner = false;\r\n this.alertMsg = \"Caricamento completato\";\r\n this.alertOpenSuccess = true;\r\n setTimeout(() => {\r\n this.alertOpenSuccess = false;\r\n }, 5000)\r\n\r\n \r\n await this.ngOnInit();\r\n setTimeout(() => {\r\n this.showSpinner = false;\r\n }, 2000);\r\n }\r\n \r\n }\r\n\r\n\r\n public OpenModalDelete(template: TemplateRef, update: Update, sub: boolean) {\r\n this.UpdateDaEliminare = update;\r\n this.BoolDaEliminare = sub;\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n public async DeleteUpdate(update: Update) {\r\n\r\n const result: boolean = await this.FileService.DeleteUpdate(update.softwareName, update.downloadFileName, update.version, update.releaseDate);\r\n\r\n \r\n this.modalService.hide();\r\n await this.ngOnInit();\r\n \r\n }\r\n\r\n public Filter() {\r\n const input: string = (document.getElementById(\"search\") as HTMLInputElement).value;\r\n \r\n const table: HTMLTableElement = document.getElementById(\"table\") as HTMLTableElement;\r\n const tr: HTMLCollectionOf = table.getElementsByTagName(\"tr\");\r\n\r\n for (let i = 0; i < tr.length; i++) {\r\n const td: HTMLTableDataCellElement = tr[i].getElementsByTagName(\"td\")[0];\r\n \r\n if (td) {\r\n const txtValue: string = td.innerHTML;\r\n\r\n if (txtValue.toUpperCase().includes(input.toUpperCase())) {\r\n tr[i].style.display = \"\";\r\n } else {\r\n tr[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n public fileName(i: number, ) {\r\n return i;\r\n }\r\n\r\n //La funzione filtra i software all'interno della lista e li divide in\r\n // SOFTWARE DA STAMPARE (ULTIMA VERSIONE)\r\n // SOFTWARE DA MOSTRARE COME VECCHIE VERSIONE (ARRAY)\r\n\r\n //GLI ELEMENTI SONO GIA' INSERITI PER ORDINE DI DATA, NON E' NECESSARIO NESSUN CONTROLLO DELLA DATA\r\n public FilterPrintedUpdates(): void {\r\n this.UpdatesPrint = [];\r\n this.UpdatesShow = [];\r\n for (let i = 0; i < this.Updates.length; ++i) {\r\n const firstToPrint: Update = this.UpdatesPrint.find((element: Update) => {\r\n return element.softCode === this.Updates[i].softCode && element.softwareName.toLowerCase() === this.Updates[i].softwareName.toLowerCase()\r\n });\r\n\r\n if (firstToPrint === undefined) {\r\n this.UpdatesPrint.push(this.Updates[i]);\r\n //AGGIUNGO DENTRO L'ALTRO ARRAY UN ARRAY PER INSERIRE LE VECCHIA VERSIONI\r\n this.UpdatesShow.push(new FilterUpdate(this.Updates[i].softCode));\r\n } else {\r\n //INSERISCO DENTRO SOFTWARE VECCHI\r\n const elementFolder: FilterUpdate = this.UpdatesShow.find((element: FilterUpdate) => {\r\n return element.softCode === this.Updates[i].softCode\r\n });\r\n elementFolder.Updates.push(this.Updates[i]);\r\n }\r\n }\r\n }\r\n\r\n \r\n public GetUpdatesFromSoftcode(softcode: string): Update[] {\r\n const UpdateSoftkey: Update[] = [];\r\n for(let i = 0; i < this.UpdatesShow.length; ++i) {\r\n if (this.UpdatesShow[i].softCode === softcode) {\r\n return this.UpdatesShow[i].Updates;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nclass FilterUpdate {\r\n public softCode: string;\r\n public Updates: Update[] = [];\r\n\r\n constructor(key: string) {\r\n this.softCode = key;\r\n }\r\n\r\n};\r\n","
\r\n
\r\n\r\n
\r\n
\r\n

Inserisci update

\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n UPLOAD\r\n
\r\n
\r\n
\r\n
\r\n Loading...\r\n
\r\n \r\n {{alertMsg}}\r\n \r\n \r\n {{alertMsg}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Lista Software

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n 0 && update.IsSubmenu\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SoftwareVersioneData RilascioDownloadElimina
{{update.softwareName}}{{update.version}}{{update.releaseDatePrint}}\r\n {{this.FileService.Progress}}%\r\n 0\">\r\n \r\n \r\n
{{updateShow.version}}{{updateShow.releaseDatePrint}}\r\n
\r\n Loading...\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n

Sei sicuro di voler eliminare il file?

\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n","import { AlertService } from 'ngx-alerts';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { UserService } from './../Services/UserService/user.service';\r\nimport { AuthService } from './../Services/AuthService/auth.service';\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Tipo, Payment } from '../Models/Payment';\r\nimport { User } from '../Models/User';\r\nimport {faCheck, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-user-personal',\r\n templateUrl: './user-personal.component.html',\r\n styleUrls: ['./user-personal.component.scss']\r\n})\r\nexport class UserPersonalComponent implements OnInit {\r\n\r\n public pagamenti: Payment[] = [];\r\n public Storico = []; //PUO' ESSERE SIA UN ARRAY DI ACQUISTI O UN ARRAY DI ORDINI\r\n\r\n public userToShow: User;\r\n\r\n public PasswordDate = {\r\n oldPassword: '',\r\n newPassword: '',\r\n repeatNewPassword: ''\r\n };\r\n\r\n public ErrorPassword = {\r\n passwordOld: false,\r\n passwordSpace: false,\r\n passwordRepeat: false,\r\n }\r\n\r\n // ICONS\r\n public faCheck: IconDefinition = faCheck;\r\n\r\n constructor(public auth: AuthService, private router: Router, private user: UserService, public modalService: BsModalService, private alert: AlertService) { \r\n this.userToShow = this.auth.AuthUser;\r\n }\r\n\r\n private async Init() {\r\n this.auth.Ready = false;\r\n\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n await this.auth.CompleteUserInfo();\r\n\r\n this.auth.Ready = true;\r\n\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName(\"li\");\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'userpersonal') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n }\r\n\r\n\r\n async ngOnInit() {\r\n await this.Init();\r\n }\r\n\r\n private async LocalValidation() {\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if(valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.Ready = false;\r\n this.auth.IsLogin = true;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n public async GetPagamenti(template: TemplateRef) {\r\n this.pagamenti = await this.user.GetPagamenti(this.auth.AuthUser);\r\n this.modalService.show(template, {class: \"modal-lg\"});\r\n }\r\n\r\n public async GetStorico(template: TemplateRef) {\r\n this.Storico = await this.user.GetStorico(this.auth.AuthUser);\r\n\r\n this.modalService.show(template, {class: \"modal-lg\"});\r\n }\r\n\r\n public async UpdatePassword() {\r\n this.ErrorPassword = {\r\n passwordOld: false,\r\n passwordSpace: false,\r\n passwordRepeat: false,\r\n }\r\n \r\n if (this.PasswordDate.newPassword.includes(' ')) {\r\n this.ErrorPassword.passwordSpace = true;\r\n return;\r\n }\r\n\r\n if (this.PasswordDate.newPassword !== this.PasswordDate.repeatNewPassword) {\r\n this.ErrorPassword.passwordRepeat = true;\r\n return;\r\n }\r\n\r\n const result = await this.user.UpdatePassword(this.auth.AuthUser.ID, this.PasswordDate.oldPassword, this.PasswordDate.newPassword);\r\n\r\n if (result) {\r\n this.modalService.hide();\r\n this.alert.success(\"Password modificata con successo!\");\r\n return;\r\n } else {\r\n this.ErrorPassword.passwordOld = 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

Il mio account - {{this.auth.AuthUser.Role === 0 && this.auth.AdminUsername !== \"\" ? this.auth.AdminUsername : this.userToShow.Username}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Partita IVA: {{this.userToShow.PIVA !== '' ? this.userToShow.PIVA : 'Nessun dato disponibile'}}\r\n
\r\n
\r\n Ragione Sociale: {{this.userToShow.RagioneSociale !== '' ? this.userToShow.RagioneSociale : 'Nessun dato disponibile'}}\r\n
\r\n
\r\n
\r\n
\r\n Città: {{this.userToShow.Citta !== '' ? this.userToShow.Citta + ',' : ''}} {{this.userToShow.Via !== '' ? this.userToShow.Via : ''}}\r\n
\r\n
\r\n
\r\n
\r\n Indirizzo Mail: {{this.userToShow.Email !== '' ? this.userToShow.Email : 'Nessun dato disponibile'}}\r\n
\r\n
\r\n Indirizzo PEC: {{this.userToShow.PEC !== '' ? this.userToShow.PEC : 'Nessun dato disponibile'}}\r\n
\r\n
\r\n
\r\n
\r\n IBAN: {{this.userToShow.IBAN !== '' ? this.userToShow.IBAN : 'Nessun dato disponibile'}}\r\n
\r\n
\r\n SDI: {{this.userToShow.SDI !== '' ? this.userToShow.SDI : 'Nessun dato disponibile'}}\r\n
\r\n
\r\n
\r\n
\r\n Per richiedere la modifica di eventuali dati, inviare una mail a store@gabtamagnini.it\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Permessi Gab Servizi

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LicenzeConsentiNega
Generazione
Upgrade
Stato
Rinnovo
Attivazione
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Shop
Inserimento
Modifica
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Manuali
Inserimento
Eliminazione
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Listini
Inserimento
Eliminazione
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Aggiornamenti
Inserimento
Eliminazione
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Utenti
Creazione
Modifica
Eliminazione
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Censimenti
Aggiornamento
Eliminazione
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n

Storico Pagamenti

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Nessun pagamento registrato
\r\n
\r\n
\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DATATOTALEIVA sul TotaleTIPO
{{payment.DateToString()}}{{payment.Totale.toFixed(2)}}€{{(payment.Totale - (payment.Totale/1.22)).toFixed(2)}}€{{payment.TipoToString()}}
\r\n
\r\n
\r\n\r\n\r\n
\r\n

Storico Ordini

\r\n

Storico Acquisti

\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
Nessun acquisto/ordine registrato
\r\n
\r\n
\r\n\r\n 0\"> \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CODICE ORDINECODICE ARTICOLODESCRIZIONEPREZZO TOTALENUMERO LICENZEDATA
{{ordine.CodiceOrdine}}{{ordine.CodiceArticolo}}{{ordine.Descrizione}}{{ordine.Totale.toFixed(2)}}€{{ordine.NumeroLicenze}}{{ordine.DateToString()}}
\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CODICE ARTICOLODESCRIZIONEPREZZO TOTALEPREZZO SCONTATONUMERO LICENZEDATATIPO
{{acquisto.CodiceArticolo}}{{acquisto.Descrizione}}{{acquisto.PrezzoTotale.toFixed(2)}}€{{acquisto.PrezzoScontato.toFixed(2)}}€{{acquisto.NumeroLicenze}}{{acquisto.DateToString()}}{{acquisto.Tipo}}
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n

Modifica Password

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n La password inserita non è corretta\r\n
\r\n
\r\n \r\n \r\n La password non può contenere spazi\r\n
\r\n
\r\n \r\n \r\n La password inserita non coincide con quella precedentemente inserita\r\n
\r\n \r\n
\r\n
\r\n","import { UserService } from './../../../Services/UserService/user.service';\r\nimport { AuthService } from './../../../Services/AuthService/auth.service';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { User } from 'src/app/Models/User';\r\n\r\n@Component({\r\n selector: 'app-user-create-cashmatic',\r\n templateUrl: './user-create-cashmatic.component.html',\r\n styleUrls: ['./user-create-cashmatic.component.scss']\r\n})\r\nexport class UserCreateCashmaticComponent implements OnInit {\r\n\r\n @Output() listChanged: EventEmitter = new EventEmitter();\r\n @Output() LoadUsers: EventEmitter = new EventEmitter();\r\n @Input() public Users: User[];\r\n public userInfo: UserInfo = new UserInfo(); //MAIN\r\n public UserType = {\r\n Utente: false,\r\n Concessionario: false,\r\n };\r\n\r\n public Segnalatore: string = this.auth.AuthUser.Username;\r\n\r\n\r\n public errors: any[] = []; //LISTA ERRORI FORM\r\n public loading: boolean = false;\r\n public ErroreCreazione: boolean = false;\r\n //ALERT\r\n public alertOpenSuccess: boolean = false;\r\n public alertOpen: boolean = false;\r\n public alertMsg: string = \"\";\r\n constructor(private auth: AuthService, private UserService: UserService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public async CreateUser() {\r\n const formData: FormData = new FormData();\r\n this.errors = [];\r\n //TIPO ANONIMO\r\n \r\n \r\n //USERNAME\r\n this.userInfo.username = (document.getElementById('username') as HTMLInputElement).value;\r\n formData.append('username', this.userInfo.username);\r\n if (this.userInfo.username.length === 0) {\r\n this.errors.push({\r\n key: \"username\", value: \"Inserisci username\"\r\n })\r\n }\r\n else if (this.userInfo.username.length < 3) {\r\n this.errors.push({\r\n key: \"username\", value: \"Nome Utente lungo almeno 3\"\r\n })\r\n } else if (this.userInfo.username.includes(\" \")) {\r\n this.errors.push({\r\n key: \"username\", value: \"Il Nome Utente non può contenere spazi\"\r\n })\r\n }\r\n else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'username')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //PASSWORD\r\n this.userInfo.password = (document.getElementById('psw') as HTMLInputElement).value;\r\n formData.append('password', this.userInfo.password);\r\n\r\n if (this.userInfo.password.length === 0) {\r\n this.errors.push({\r\n key: \"password\", value: \"Inserisci password\"\r\n })\r\n }\r\n else if (this.userInfo.password.length <= 5) {\r\n this.errors.push({\r\n key: \"password\", value: \"La password deve essere lunga 6\"\r\n })\r\n }\r\n else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'password')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //PIVA\r\n this.userInfo.piva = (document.getElementById('piva') as HTMLInputElement).value;\r\n formData.append('piva', this.userInfo.piva);\r\n if (this.userInfo.piva.length === 0 ) {\r\n this.errors.push({\r\n key: \"piva\", value: \"Inserisci partita IVA\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'piva')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //RAGIONESOCIALE\r\n this.userInfo.rsociale = (document.getElementById('rsociale') as HTMLInputElement).value;\r\n formData.append('ragionesociale', this.userInfo.rsociale);\r\n\r\n if (this.userInfo.rsociale.length === 0) {\r\n this.errors.push({\r\n key: \"ragionesociale\", value: \"Inserisci ragione sociale\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'ragionesociale')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //CITTA\r\n this.userInfo.citta = (document.getElementById('citta') as HTMLInputElement).value;\r\n formData.append('citta', this.userInfo.citta);\r\n\r\n if (this.userInfo.citta.length === 0) {\r\n this.errors.push({\r\n key: \"citta\", value: \"Inserisci città\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'citta')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //VIA\r\n this.userInfo.via = (document.getElementById('via') as HTMLInputElement).value;\r\n formData.append('via', this.userInfo.via);\r\n if (this.userInfo.via.length === 0) {\r\n this.errors.push({\r\n key: \"via\", value: \"Inserisci via\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'via')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n\r\n //EMAIL\r\n this.userInfo.email = (document.getElementById('email') as HTMLInputElement).value;\r\n formData.append('email', this.userInfo.email);\r\n if (this.userInfo.email.length === 0) {\r\n this.errors.push({\r\n key: \"email\", value: \"Inserisci e-mail\"\r\n })\r\n }\r\n else if (!this.userInfo.email.includes('@') || this.userInfo.email.includes(' ')) {\r\n this.errors.push({\r\n key: \"email\", value: \"Inserire e-mail nel formato valido\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'email')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //PEC\r\n this.userInfo.pec = (document.getElementById('pec') as HTMLInputElement).value;\r\n formData.append('pec', this.userInfo.pec);\r\n if ((!this.userInfo.pec.includes('@') || this.userInfo.pec.includes(' ')) && this.userInfo.pec.length > 0) {\r\n this.errors.push({\r\n key: \"pec\", value: \"Inserire PEC nel formato valido\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'pec')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //SDI\r\n this.userInfo.sdi = (document.getElementById('sdi') as HTMLInputElement).value;\r\n formData.append('sdi', this.userInfo.sdi);\r\n if (this.userInfo.sdi.length === 0) {\r\n this.errors.push({\r\n key: \"sdi\", value: \"Inserisci codice SDI\"\r\n })\r\n }\r\n else if (this.userInfo.sdi.length != 7) {\r\n this.errors.push({\r\n key: \"sdi\", value: \"Lunghezza SDI errata\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'sdi')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n\r\n //IBAN\r\n this.userInfo.iban = (document.getElementById('iban') as HTMLInputElement).value;\r\n formData.append('iban', this.userInfo.iban);\r\n \r\n\r\n //TIPO UTENTE\r\n let role: string = \"\";\r\n //ORDINE: DISTRIBUTORE, CONCESSIONARIO, SEGNALATORE, UTENTE\r\n let roles: number = 0;\r\n\r\n if (this.UserType.Concessionario) {\r\n role += \"Concessionario|\";\r\n roles++;\r\n }\r\n\r\n if (this.UserType.Utente) {\r\n role += \"Utente|\";\r\n roles++;\r\n } \r\n\r\n formData.append('role', role.substring(0, role.length - 1));\r\n\r\n if (roles === 0) {\r\n this.errors.push({\r\n key: \"roles\", value: \"Seleziona almeno un ruolo\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'roles')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n if (this.UserType.Concessionario) {\r\n const tipo: string = \"S\";\r\n formData.append('tipo', tipo);\r\n\r\n const sconto: string = \"S:0+0-\"\r\n formData.append('sconto', sconto);\r\n\r\n const scontoCloud: string = \"1:20>20+0|15+0&21:50>20+0|15+2&51:100>20+0|15+5\";\r\n formData.append('scontocloud', scontoCloud);\r\n\r\n }\r\n\r\n formData.append(\"segnalatore\", this.Segnalatore);\r\n formData.append(\"creatore\", this.auth.AuthUser.Username);\r\n\r\n formData.append('servizi', \"\");\r\n formData.append('scontospecial', \"50|15\");\r\n formData.append('software', \"\");\r\n\r\n if (this.errors.length === 0) {\r\n this.loading = true;\r\n \r\n const result = await this.UserService.CreateUser(formData);\r\n\r\n if (result) {\r\n this.alertMsg = \"Account creato con successo\";\r\n this.alertOpenSuccess = true;\r\n setTimeout(async () => {\r\n this.alertOpenSuccess = false;\r\n this.loading = false;\r\n //AGGIORNO LA LISTA ALL'INTERNO DEL COMPONENTE PADRE\r\n const users: User[] = await this.UserService.LoadUsers(this.auth.AuthUser.Username);\r\n this.LoadUsers.emit(users);\r\n this.listChanged.emit(true);\r\n }, 3000);\r\n } else {\r\n this.alertMsg = \"Username o PIVA già esistenti, riprova\";\r\n this.alertOpen = true;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.alertOpen = false;\r\n }, 5000)\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n public CheckError(key: string): boolean {\r\n for (let i = 0; i < this.errors.length; ++i) {\r\n if (this.errors[i].key === key) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n public GetError(key: string): string {\r\n for (let i = 0; i < this.errors.length; ++i) {\r\n if (this.errors[i].key === key) {\r\n return this.errors[i].value;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nclass UserInfo {\r\n public username: string;\r\n public password: string;\r\n public piva: string;\r\n public rsociale: string;\r\n public citta: string;\r\n public via: string;\r\n public email: string;\r\n public pec: string;\r\n public sdi: string;\r\n public iban: string;\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n

Crea utente

\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{alertMsg}}\r\n \r\n \r\n {{alertMsg}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { UserService } from './../../Services/UserService/user.service';\r\nimport { User } from 'src/app/Models/User';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { IsDev } from 'src/app/global';\r\n\r\n@Component({\r\n selector: 'app-user-admin-permission-config',\r\n templateUrl: './user-admin-permission-config.component.html',\r\n styleUrls: ['./user-admin-permission-config.component.scss']\r\n})\r\nexport class UserAdminPermissionConfigComponent implements OnInit {\r\n\r\n \r\n @Input() public SelectedUser: User;\r\n \r\n\r\n public SettingsPermessi = {\r\n Licenze: {\r\n Generazione: false, //GENERAZIONE NUOVA LICENZA\r\n Upgrade: false, //AGGIORNAMENTO LICENZA\r\n Stato: false, //MODIFICA STATO LICENZA\r\n Rinnovo: false, //RINNOVO LICENZA\r\n Attivazione: false //ATTIVAZIONE TERZI\r\n },\r\n Shop: {\r\n Inserimento: false,\r\n Modifica: false //VISUALIZZAZIONE GESTIORE STORE E INTERAZIONE CON QUEST'ULTIMO\r\n },\r\n Manuali: {\r\n Inserimento: false,\r\n Eliminazione: false,\r\n },\r\n Listini: {\r\n Inserimento: false,\r\n Eliminazione: false,\r\n },\r\n Aggiornamenti: {\r\n Inserimento: false,\r\n Eliminazione: false,\r\n },\r\n Utenti: {\r\n Creazione: false,\r\n Modifica: false,\r\n Eliminazione: false\r\n },\r\n Censimenti: {\r\n Aggiornamento: false,\r\n Eliminazione: false\r\n }\r\n }\r\n\r\n public Edited: boolean = false;\r\n\r\n public NewSettingPermessi: any;\r\n\r\n constructor(private modalService: BsModalService, private alert: AlertService, private http: HttpClient, private auth: AuthService, private userService: UserService) { }\r\n\r\n ngOnInit(): void {\r\n this.SettingsPermessi = this.SelectedUser.SettingsPermessi;\r\n\r\n this.NewSettingPermessi = JSON.parse(JSON.stringify(this.SettingsPermessi));\r\n }\r\n\r\n private GenerateStringPermessiAdmin() {\r\n let returnValue: string = \"\";\r\n //LICENZE\r\n returnValue += \"L\" + (this.SettingsPermessi.Licenze.Generazione ? '1' : '0') + (this.SettingsPermessi.Licenze.Upgrade ? '1' : '0') + (this.SettingsPermessi.Licenze.Stato ? '1' : '0') + (this.SettingsPermessi.Licenze.Rinnovo ? '1' : '0') + (this.SettingsPermessi.Licenze.Attivazione ? '1' : '0');\r\n //SHOP\r\n returnValue += \"S\" + (this.SettingsPermessi.Shop.Inserimento ? '1' : '0') + (this.SettingsPermessi.Shop.Modifica ? '1' : '0');\r\n //MANUALI\r\n returnValue += \"M\" + (this.SettingsPermessi.Manuali.Inserimento ? '1' : '0') + (this.SettingsPermessi.Manuali.Eliminazione ? '1' : '0');\r\n //LISTINI\r\n returnValue += \"N\" + (this.SettingsPermessi.Listini.Inserimento ? '1' : '0') + (this.SettingsPermessi.Listini.Eliminazione ? '1' : '0');\r\n //AGGIORNAMENTI\r\n returnValue += \"A\" + (this.SettingsPermessi.Aggiornamenti.Inserimento ? '1' : '0') + (this.SettingsPermessi.Aggiornamenti.Eliminazione ? '1' : '0');\r\n //UTENTI\r\n returnValue += \"U\" + (this.SettingsPermessi.Utenti.Creazione ? '1' : '0') + (this.SettingsPermessi.Utenti.Modifica ? '1' : '0') + (this.SettingsPermessi.Utenti.Eliminazione ? '1' : '0');\r\n //CENSIMENTI\r\n returnValue += \"C\" + (this.SettingsPermessi.Censimenti.Aggiornamento ? '1' : '0') + (this.SettingsPermessi.Censimenti.Eliminazione ? '1' : '0');\r\n\r\n return returnValue;\r\n }\r\n\r\n public async SetPermessi() {\r\n //PERMESSI\r\n this.SelectedUser.Permessi = this.GenerateStringPermessiAdmin();\r\n\r\n // const AdminId: number = await this.auth.GetIdByUsername();\r\n\r\n await this.userService.SetPermessi(this.SelectedUser);\r\n \r\n this.Edited = false;\r\n\r\n this.alert.success(\"Modifiche salvate\");\r\n }\r\n \r\n\r\n public CheckSame() {\r\n\r\n if (JSON.stringify(this.SettingsPermessi) !== JSON.stringify(this.NewSettingPermessi)) {\r\n this.Edited = true;\r\n return;\r\n }\r\n\r\n this.Edited = false;\r\n return;\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Licenze\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Shop\r\n \r\n \r\n \r\n \r\n \r\n
Manuali\r\n \r\n \r\n \r\n \r\n \r\n
Listini\r\n \r\n \r\n \r\n \r\n \r\n
Aggiornamenti\r\n \r\n \r\n \r\n \r\n \r\n
Utenti\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Censimenti\r\n \r\n \r\n \r\n \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 { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { UserService } from './../../Services/UserService/user.service';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport {faMinusCircle, faPlusCircle, faCheckCircle, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport CFG from 'src/app/Models/CFG';\r\n\r\n@Component({\r\n selector: 'app-user-cfg-edit',\r\n templateUrl: './user-cfg-edit.component.html',\r\n styleUrls: ['./user-cfg-edit.component.scss']\r\n})\r\nexport class UserCfgEditComponent implements OnInit {\r\n\r\n public CFG: CFG[];\r\n public OriginalCFG: CFG[];\r\n @Input() public PIVA: string;\r\n\r\n public AddedCFG: CFG = new CFG();\r\n //ICON\r\n public faDelete: IconDefinition = faMinusCircle;\r\n public faPlus: IconDefinition = faPlusCircle;\r\n public faCheck: IconDefinition = faCheckCircle;\r\n\r\n\r\n public IsUpdating: boolean = false;\r\n public IsAdding: boolean = false;\r\n\r\n public MaxId: number = 0;\r\n constructor(public userService: UserService, public auth: AuthService) { }\r\n\r\n async ngOnInit() {\r\n\r\n const cfg: CFG[] = await (await this.userService.GetCFG(this.PIVA));\r\n\r\n if (cfg === null) {\r\n this.CFG = [];\r\n } else {\r\n this.CFG = await this.userService.GetCFG(this.PIVA);\r\n }\r\n\r\n this.OriginalCFG = this.CFG.map(cfg => {\r\n return Object.assign({}, cfg);\r\n })\r\n\r\n this.MaxId = Math.max.apply(Math, this.CFG.map((cfg => {\r\n return cfg.id;\r\n })));\r\n }\r\n\r\n\r\n\r\n /*\r\n public Save() {\r\n this.IsUpdating = !this.IsUpdating;\r\n //INDIVIDUO GLI ELEMENTI DA AGGIUNGERE\r\n this.NewCFG.forEach(async newcfg => {\r\n //L'ELEMENTO NON è PRESENTE NELL'ARRAY ORIGINALE\r\n if (this.CFG.findIndex(cfg => cfg.id === newcfg.id) === -1) {\r\n await this.userService.SaveCFG(this.PIVA, newcfg);\r\n }\r\n })\r\n\r\n //INDIVIDUO GLI ELEMENTI DA RIMUOVERE\r\n this.CFG.forEach(async oldcfg => {\r\n //L'ELEMENTO NON E' PRESENTE NELL'ARRAY NUOVO\r\n if (this.NewCFG.findIndex(newcfg => newcfg.id === oldcfg.id) === -1) {\r\n await this.userService.DeleteCFG(this.PIVA, oldcfg.id);\r\n }\r\n })\r\n this.IsAdding = false;\r\n this.IsUpdating = false;\r\n return;\r\n }\r\n */\r\n\r\n public CheckValid(cfg: CFG) {\r\n return cfg.ds !== '' && cfg.mc !== '';\r\n }\r\n\r\n public CheckEdited(id: number) {\r\n /*\r\n ESTRAGGO DAGLI ARRAY I DUE OGGETTI CFG CON ID PARAMETRIZZATO\r\n Se sono diversi, ho effettuato una modifica che posso successivamente salvare\r\n */\r\n\r\n const CFGOriginal: CFG = this.OriginalCFG.find(cfg => {\r\n return cfg.id === id;\r\n });\r\n\r\n const EditedCFG: CFG = this.CFG.find(cfg => {\r\n return cfg.id === id;\r\n });\r\n\r\n if (!this.IsEqual(EditedCFG, CFGOriginal)) {\r\n\r\n (EditedCFG as any).edited = true;\r\n return true;\r\n\r\n } else {\r\n\r\n (EditedCFG as any).edited = false;\r\n return false;\r\n\r\n }\r\n }\r\n\r\n public async AddCFG() {\r\n //DEFINISCO ID\r\n\r\n if (this.MaxId !== -Infinity) {\r\n this.AddedCFG.id = this.MaxId + 1;\r\n this.MaxId ++;\r\n } else {\r\n this.AddedCFG.id = 1;\r\n this.MaxId = 1;\r\n }\r\n\r\n await this.userService.SaveCFG(this.PIVA, this.AddedCFG);\r\n\r\n this.CFG.push(this.AddedCFG);\r\n\r\n this.OriginalCFG.push(Object.assign({}, this.AddedCFG));\r\n\r\n this.AddedCFG = Object.assign({}, new CFG());\r\n\r\n\r\n this.IsAdding = false;\r\n }\r\n\r\n public async DeleteCFG(cfgToDelete: CFG) {\r\n await this.userService.DeleteCFG(this.PIVA, cfgToDelete.id);\r\n\r\n const index: number = this.CFG.findIndex(cfg => cfg.id === cfgToDelete.id);\r\n\r\n this.CFG.splice(index, 1);\r\n }\r\n\r\n public async UpdateCFG(cfgToEdit: CFG) {\r\n await this.userService.UpdateCFG(this.PIVA, cfgToEdit);\r\n\r\n (cfgToEdit as any).edited = false;\r\n\r\n this.OriginalCFG = this.CFG.map(cfg => {\r\n return Object.assign({}, cfg);\r\n })\r\n\r\n\r\n }\r\n\r\n public IsEqual(cfg: CFG, cfgToCompare: CFG) {\r\n return cfg.id === cfgToCompare.id && cfg.pv === cfgToCompare.pv && cfg.cs === cfgToCompare.cs && cfg.mc === cfgToCompare.mc && cfg.ds === cfgToCompare.ds;\r\n}\r\n\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { License } from './../../Models/LicenzeStat';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { Component, EventEmitter, Input, OnInit, Output, TemplateRef } from '@angular/core';\r\nimport { BsModalRef, BsModalService, ModalOptions, } from 'ngx-bootstrap/modal';\r\n\r\nimport {faInfo, faCog, faPlus, faMinus, faCircle, faWrench, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport { UserService } from '../../Services/UserService/user.service';\r\nimport { LicenseStat } from 'src/app/Models/LicenzeStat';\r\nimport { User } from 'src/app/Models/User';\r\n\r\n@Component({\r\n selector: 'app-user-create',\r\n templateUrl: './user-create.component.html',\r\n styleUrls: ['./user-create.component.scss']\r\n})\r\nexport class UserCreateComponent implements OnInit {\r\n\r\n constructor(public auth: AuthService, public modalService: BsModalService, public UserService: UserService) { }\r\n\r\n @Output() listChanged: EventEmitter = new EventEmitter();\r\n @Output() LoadUsers: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n public Users: User[];\r\n public Segnalatori: User[] = [];\r\n\r\n public UserType = {\r\n Utente: false,\r\n Segnalatore: false,\r\n Distributore: false,\r\n Concessionario: false,\r\n Admin: false\r\n };\r\n\r\n public errors: any[] = []; //LISTA ERRORI FORM\r\n\r\n public modalRef: BsModalRef;\r\n\r\n //LICENZE\r\n public licenzeStats: LicenseStat[] = [];\r\n\r\n //ICONS\r\n public faCog: IconDefinition = faCog;\r\n\r\n public loading: boolean = false;\r\n\r\n //VARIABILI FORM\r\n public userInfo: UserInfo = new UserInfo(); //MAIN\r\n public Admin: boolean = false;\r\n public Settings = {\r\n Tipo: {\r\n singolo: false,\r\n pacchetti: false,\r\n canone: false\r\n },\r\n Sconto: {\r\n S: 40,\r\n SBonus: 0,\r\n P: {\r\n Cinque: 50,\r\n Dieci: 50,\r\n Quindici: 50,\r\n Venti: 50\r\n },\r\n PBonus: {\r\n Cinque: 0,\r\n Dieci: 2,\r\n Quindici: 5,\r\n Venti: 8\r\n },\r\n C: 55,\r\n CBonus: 0,\r\n },\r\n ScontoCloud: {\r\n PrimoScaglione: {\r\n SX: 1,\r\n DX: 20,\r\n PrimoAnno: 20,\r\n PrimoAnnoBonus: 0,\r\n SecondoAnno: 15,\r\n SecondoAnnoBonus: 0,\r\n },\r\n SecondoScaglione: {\r\n SX: 21,\r\n DX: 50,\r\n PrimoAnno: 20,\r\n PrimoAnnoBonus: 0,\r\n SecondoAnno: 15,\r\n SecondoAnnoBonus: 2,\r\n },\r\n TerzoScaglione: {\r\n SX: 51, \r\n DX: -1,\r\n PrimoAnno: 20,\r\n PrimoAnnoBonus: 0,\r\n SecondoAnno: 15,\r\n SecondoAnnoBonus: 5,\r\n }\r\n },\r\n ScontoRinnovo: 50,\r\n ScontoModuli: 50,\r\n NumeroPacchetti: \"15\", //NUMERO PACCHETTI CANONE\r\n Canone: 0, //VALORE CANONE\r\n SoftwareAbb: {\r\n VisualFood: false,\r\n VisualShop: false,\r\n VisualRetail: false,\r\n VisualSelf: false,\r\n }\r\n }\r\n\r\n public SettingsSegnalatore = {\r\n Software: true,\r\n Hardware: false,\r\n VenditaSoftware: 5,\r\n RinnovoSoftware: 5,\r\n VenditaHardware: 5\r\n }\r\n\r\n public Segnalatore: string = this.auth.AuthUser.Username;\r\n\r\n public SettingsPermessi = {\r\n Licenze: {\r\n Generazione: true, //GENERAZIONE NUOVA LICENZA\r\n Upgrade: true, //AGGIORNAMENTO LICENZA\r\n Stato: true, //MODIFICA STATO LICENZA\r\n Rinnovo: true //RINNOVO LICENZA\r\n },\r\n Shop: {\r\n Inserimento: true,\r\n Modifica: true //VISUALIZZAZIONE GESTIORE STORE E INTERAZIONE CON QUEST'ULTIMO\r\n },\r\n Manuali: {\r\n Inserimento: true,\r\n Eliminazione: true,\r\n },\r\n Listini: {\r\n Inserimento: true,\r\n Eliminazione: true,\r\n },\r\n Aggiornamenti: {\r\n Inserimento: true,\r\n Eliminazione: true,\r\n },\r\n Utenti: {\r\n Creazione: true,\r\n Modifica: true,\r\n Eliminazione: true\r\n },\r\n Censimenti: {\r\n Aggiornamento: true,\r\n Eliminazione: true\r\n }\r\n }\r\n\r\n private PermessiString: string = \"\";\r\n\r\n //ERRORI\r\n public ErrorSoftware: boolean = false;\r\n public ErrorContatotoreCanone: boolean = false;\r\n public ErroreCreazione: boolean = false;\r\n public ErroreCloud: boolean = false;\r\n\r\n //ALERT\r\n public alertOpenSuccess: boolean = false;\r\n public alertOpen: boolean = false;\r\n public alertMsg: string = \"\";\r\n\r\n async ngOnInit() {\r\n await this.FilterSegnalatori();\r\n\r\n if ((this.auth.AuthUser.Role === 1 || this.auth.AuthUser.Role2 === 1) && this.auth.AuthUser.Role !== 0 && this.auth.AuthUser.Role !== 4 && this.auth.AuthUser.Role2 !== 0 && this.auth.AuthUser.Role2 !== 4) {\r\n this.UserType.Utente = true;\r\n }\r\n\r\n }\r\n\r\n\r\n public async FilterSegnalatori() {\r\n for (let i = 0; i < this.Users.length; ++i) {\r\n if (this.Users[i].Role === 3 || this.Users[i].Role2 === 3) {\r\n this.Segnalatori.push(this.Users[i]);\r\n }\r\n }\r\n }\r\n\r\n public CheckError(key: string): boolean {\r\n for (let i = 0; i < this.errors.length; ++i) {\r\n if (this.errors[i].key === key) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n public GetError(key: string): string {\r\n for (let i = 0; i < this.errors.length; ++i) {\r\n if (this.errors[i].key === key) {\r\n return this.errors[i].value;\r\n }\r\n }\r\n }\r\n\r\n public OpenModalConfig(template: TemplateRef) {\r\n const config: ModalOptions = {\r\n keyboard: false,\r\n ignoreBackdropClick: true,\r\n class: 'modal-lg'\r\n };\r\n\r\n this.modalRef = this.modalService.show(template, config);\r\n }\r\n\r\n public SelectTypeOfUser(tipo: string, template: TemplateRef) {\r\n\r\n if (tipo !== 'Utente') {\r\n if (this.UserType.Utente === true) {\r\n this.UserType.Utente = false;\r\n const input = document.getElementsByName(\"checkRiv\");\r\n\r\n for(let i = 0; i < input.length; ++i) {\r\n const inputValue: HTMLInputElement = (input[i] as HTMLInputElement);\r\n\r\n if (inputValue.value === 'Utente') {\r\n inputValue.checked = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (tipo === 'Segnalatore') {\r\n this.UserType.Segnalatore = !this.UserType.Segnalatore\r\n }\r\n if (tipo === 'Distributore') {\r\n this.UserType.Distributore = !this.UserType.Distributore\r\n\r\n /*\r\n if (this.UserType.Distributore) {\r\n this.OpenModalConfig(template, 'Distributore');\r\n }\r\n */\r\n\r\n }\r\n if (tipo === 'Concessionario') {\r\n this.UserType.Concessionario = !this.UserType.Concessionario\r\n\r\n /*\r\n if (this.UserType.Concessionario) {\r\n this.OpenModalConfig(template, 'Concessionario');\r\n }\r\n */\r\n }\r\n if (tipo === 'Utente') {\r\n if (this.UserType.Utente === false) {\r\n this.UserType.Utente = true;\r\n\r\n //DISABILITO LE ALTRE CHECKBOX E RESETTO I VALORI DI USERTYPE\r\n this.UserType.Concessionario = false;\r\n this.UserType.Distributore = false;\r\n this.UserType.Segnalatore = false;\r\n this.UserType.Admin = false;\r\n\r\n const input = document.getElementsByName(\"checkRiv\");\r\n\r\n for(let i = 0; i < input.length; ++i) {\r\n const inputValue: HTMLInputElement = (input[i] as HTMLInputElement);\r\n\r\n if (inputValue.value !== 'Utente') {\r\n inputValue.checked = false;\r\n }\r\n }\r\n } else {\r\n this.UserType.Utente = false;\r\n }\r\n }\r\n }\r\n\r\n public async CreateUser() {\r\n const formData: FormData = new FormData();\r\n this.errors = [];\r\n //TIPO ANONIMO\r\n\r\n //USERNAME\r\n this.userInfo.username = (document.getElementById('username') as HTMLInputElement).value;\r\n formData.append('username', this.userInfo.username);\r\n if (this.userInfo.username.length === 0) {\r\n this.errors.push({\r\n key: \"username\", value: \"Inserisci username\"\r\n })\r\n }\r\n else if (this.userInfo.username.length < 3) {\r\n this.errors.push({\r\n key: \"username\", value: \"Nome Utente lungo almeno 3\"\r\n })\r\n } else if (this.userInfo.username.includes(\" \")) {\r\n this.errors.push({\r\n key: \"username\", value: \"Il Nome Utente non può contenere spazi\"\r\n })\r\n }\r\n else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'username')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //PASSWORD\r\n this.userInfo.password = (document.getElementById('psw') as HTMLInputElement).value;\r\n formData.append('password', this.userInfo.password);\r\n\r\n if (this.userInfo.password.length === 0) {\r\n this.errors.push({\r\n key: \"password\", value: \"Inserisci password\"\r\n })\r\n }\r\n else if (this.userInfo.password.length <= 5) {\r\n this.errors.push({\r\n key: \"password\", value: \"La password deve essere lunga 6\"\r\n })\r\n }\r\n else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'password')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //PIVA\r\n this.userInfo.piva = (document.getElementById('piva') as HTMLInputElement).value;\r\n formData.append('piva', this.userInfo.piva);\r\n if (this.userInfo.piva.length === 0 ) {\r\n this.errors.push({\r\n key: \"piva\", value: \"Inserisci partita IVA\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'piva')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //RAGIONESOCIALE\r\n this.userInfo.rsociale = (document.getElementById('rsociale') as HTMLInputElement).value;\r\n formData.append('ragionesociale', this.userInfo.rsociale);\r\n\r\n if (this.userInfo.rsociale.length === 0) {\r\n this.errors.push({\r\n key: \"ragionesociale\", value: \"Inserisci ragione sociale\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'ragionesociale')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //CITTA\r\n this.userInfo.citta = (document.getElementById('citta') as HTMLInputElement).value;\r\n formData.append('citta', this.userInfo.citta);\r\n\r\n if (this.userInfo.citta.length === 0) {\r\n this.errors.push({\r\n key: \"citta\", value: \"Inserisci città\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'citta')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //VIA\r\n this.userInfo.via = (document.getElementById('via') as HTMLInputElement).value;\r\n formData.append('via', this.userInfo.via);\r\n if (this.userInfo.via.length === 0) {\r\n this.errors.push({\r\n key: \"via\", value: \"Inserisci via\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'via')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n\r\n //EMAIL\r\n this.userInfo.email = (document.getElementById('email') as HTMLInputElement).value;\r\n formData.append('email', this.userInfo.email);\r\n if (this.userInfo.email.length === 0) {\r\n this.errors.push({\r\n key: \"email\", value: \"Inserisci e-mail\"\r\n })\r\n }\r\n else if (!this.userInfo.email.includes('@') || this.userInfo.email.includes(' ')) {\r\n this.errors.push({\r\n key: \"email\", value: \"Inserire e-mail nel formato valido\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'email')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //PEC\r\n this.userInfo.pec = (document.getElementById('pec') as HTMLInputElement).value;\r\n formData.append('pec', this.userInfo.pec);\r\n if ((!this.userInfo.pec.includes('@') || this.userInfo.pec.includes(' ')) && this.userInfo.pec.length > 0) {\r\n this.errors.push({\r\n key: \"pec\", value: \"Inserire PEC nel formato valido\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'pec')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n //SDI\r\n this.userInfo.sdi = (document.getElementById('sdi') as HTMLInputElement).value;\r\n formData.append('sdi', this.userInfo.sdi);\r\n if (this.userInfo.sdi.length === 0) {\r\n this.errors.push({\r\n key: \"sdi\", value: \"Inserisci codice SDI\"\r\n })\r\n }\r\n else if (this.userInfo.sdi.length != 7) {\r\n this.errors.push({\r\n key: \"sdi\", value: \"Lunghezza SDI errata\"\r\n })\r\n } else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'sdi')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n\r\n //IBAN\r\n this.userInfo.iban = (document.getElementById('iban') as HTMLInputElement).value;\r\n formData.append('iban', this.userInfo.iban);\r\n\r\n\r\n //TIPO UTENTE\r\n let role: string = \"\";\r\n //ORDINE: DISTRIBUTORE, CONCESSIONARIO, SEGNALATORE, UTENTE\r\n let roles: number = 0;\r\n\r\n \r\n if (this.UserType.Distributore) {\r\n role += \"Distributore|\";\r\n roles++;\r\n }\r\n\r\n if (this.UserType.Concessionario) {\r\n role += \"Concessionario|\";\r\n roles++;\r\n }\r\n\r\n if (this.UserType.Segnalatore) {\r\n role += \"Segnalatore|\";\r\n roles++;\r\n }\r\n\r\n if (this.UserType.Utente) {\r\n role += \"Utente|\";\r\n roles++;\r\n }\r\n\r\n if (this.UserType.Admin) {\r\n role += \"Admin|\";\r\n roles++;\r\n }\r\n \r\n\r\n formData.append('role', role.substring(0, role.length - 1));\r\n\r\n if (roles > 2) {\r\n this.errors.push({\r\n key: \"roles\", value: \"Seleziona al massimo due ruoli\"\r\n })\r\n } else if (roles === 0) {\r\n this.errors.push({\r\n key: \"roles\", value: \"Seleziona almeno un ruolo\"\r\n })\r\n }\r\n else {\r\n //SE ESISTE, LO ELIMINO DALLA LISTA\r\n const index: number = this.errors.findIndex((error: any) => error.key === 'roles')\r\n if (index != -1) {\r\n this.errors.splice(index, 1);\r\n }\r\n }\r\n\r\n if (this.UserType.Concessionario || this.UserType.Distributore) {\r\n\r\n let tipo: string = \"\";\r\n\r\n if (this.Settings.Tipo.singolo) {\r\n tipo += 'S';\r\n }\r\n\r\n if (this.Settings.Tipo.pacchetti) {\r\n tipo += 'P';\r\n }\r\n\r\n //PACCHETTI\r\n\r\n if (this.Settings.Tipo.canone ) {\r\n tipo += 'C';\r\n\r\n formData.append('numeroPacchetti', this.Settings.NumeroPacchetti)\r\n\r\n\r\n formData.append('canone', String(this.Settings.Canone));\r\n\r\n //Software abbinati\r\n let softwareAbb: string = \"\";\r\n let totChecked: number = 0;\r\n if (this.Settings.SoftwareAbb.VisualFood) {\r\n totChecked++;\r\n softwareAbb += 'vfood|'\r\n }\r\n if (this.Settings.SoftwareAbb.VisualShop) {\r\n totChecked++;\r\n softwareAbb += 'vshop|'\r\n }\r\n if (this.Settings.SoftwareAbb.VisualSelf) {\r\n totChecked++;\r\n softwareAbb += 'vself|'\r\n }\r\n if (this.Settings.SoftwareAbb.VisualRetail) {\r\n totChecked++;\r\n softwareAbb += 'vretail|'\r\n }\r\n formData.append('software', softwareAbb.substring(0, softwareAbb.length - 1));\r\n }\r\n formData.append('tipo', tipo)\r\n\r\n if (tipo === '') this.ErroreCreazione = true;\r\n else this.ErroreCreazione = false;\r\n\r\n //SCONTO\r\n let sconto: string = \"\";\r\n //SINGOLO, SE SELEZIONATO\r\n if(this.Settings.Tipo.singolo) {\r\n sconto += \"S:\" + this.Settings.Sconto.S + \"+\" + this.Settings.Sconto.SBonus;\r\n\r\n sconto += '-';\r\n }\r\n //PACCHETTI, SE SELEZIONATO\r\n if(this.Settings.Tipo.pacchetti) {\r\n sconto += \"P:\";\r\n //5\r\n sconto += \"5&\" + this.Settings.Sconto.P.Cinque + \"+\" + this.Settings.Sconto.PBonus.Cinque + \"|\";\r\n //10\r\n sconto += \"10&\" + this.Settings.Sconto.P.Dieci + \"+\" + this.Settings.Sconto.PBonus.Dieci + \"|\";\r\n //15\r\n sconto += \"15&\" + this.Settings.Sconto.P.Quindici + \"+\" + this.Settings.Sconto.PBonus.Quindici + \"|\";\r\n //20\r\n sconto += \"20&\" + this.Settings.Sconto.P.Venti + \"+\" + this.Settings.Sconto.PBonus.Venti;\r\n\r\n sconto += '-';\r\n }\r\n //CANONE, SE SELEZIONATO\r\n if(this.Settings.Tipo.canone) {\r\n sconto += \"C:\" + this.Settings.Sconto.C + \"+\" + this.Settings.Sconto.CBonus;\r\n }\r\n formData.append('sconto', sconto)\r\n\r\n //SCONTO RINNOVO\r\n formData.append('scontospecial', String(this.Settings.ScontoRinnovo) + '|' + String(this.Settings.ScontoModuli));\r\n\r\n let scontoCloud: string = `${this.Settings.ScontoCloud.PrimoScaglione.SX}:${this.Settings.ScontoCloud.PrimoScaglione.DX}>${this.Settings.ScontoCloud.PrimoScaglione.PrimoAnno}+${this.Settings.ScontoCloud.PrimoScaglione.PrimoAnnoBonus}|${this.Settings.ScontoCloud.PrimoScaglione.SecondoAnno}+${this.Settings.ScontoCloud.PrimoScaglione.SecondoAnnoBonus}&`;\r\n scontoCloud += `${this.Settings.ScontoCloud.SecondoScaglione.SX}:${this.Settings.ScontoCloud.SecondoScaglione.DX}>${this.Settings.ScontoCloud.SecondoScaglione.PrimoAnno}+${this.Settings.ScontoCloud.SecondoScaglione.PrimoAnnoBonus}|${this.Settings.ScontoCloud.SecondoScaglione.SecondoAnno}+${this.Settings.ScontoCloud.SecondoScaglione.SecondoAnnoBonus}&`;\r\n scontoCloud += `${this.Settings.ScontoCloud.TerzoScaglione.SX}:${this.Settings.ScontoCloud.TerzoScaglione.DX}>${this.Settings.ScontoCloud.TerzoScaglione.PrimoAnno}+${this.Settings.ScontoCloud.TerzoScaglione.PrimoAnnoBonus}|${this.Settings.ScontoCloud.TerzoScaglione.SecondoAnno}+${this.Settings.ScontoCloud.TerzoScaglione.SecondoAnnoBonus}`;\r\n \r\n formData.append('scontocloud', scontoCloud);\r\n\r\n }\r\n\r\n\r\n // PERMESSI ADMIN\r\n if (this.UserType.Admin) {\r\n formData.append(\"permessi\", this.PermessiString);\r\n }\r\n\r\n // PROVVIGIONI SEGNALATORE\r\n if (this.UserType.Segnalatore) {\r\n let provvigioni = \"\";\r\n provvigioni += (this.SettingsSegnalatore.Software ? (String(this.SettingsSegnalatore.VenditaSoftware) + \"|\" + String(this.SettingsSegnalatore.RinnovoSoftware)) : \"-1|-1\");\r\n provvigioni += \"|\";\r\n provvigioni += (this.SettingsSegnalatore.Hardware ? (String(this.SettingsSegnalatore.VenditaHardware)) : \"-1\");\r\n\r\n //let provvigioni: string = String(this.SettingsSegnalatore.VenditaSoftware) + \"|\" + String(this.SettingsSegnalatore.RinnovoSoftware) + \"|\" + String(this.SettingsSegnalatore.VenditaHardware);\r\n formData.append(\"provvigioni\", provvigioni);\r\n }\r\n\r\n // SEGNALATORE ASSOCIATO\r\n formData.append(\"segnalatore\", this.Segnalatore);\r\n\r\n let checkboxs = document.getElementsByName('checkServizio');\r\n let softwareAbb = \"\";\r\n for (let k = 0; k < checkboxs.length; ++k) {\r\n if ((checkboxs[k] as HTMLInputElement).checked) {\r\n softwareAbb += (checkboxs[k] as HTMLInputElement).value + \"|\";\r\n }\r\n }\r\n formData.append('servizi', softwareAbb.substring(0, softwareAbb.length - 1));\r\n\r\n formData.append(\"creatore\", this.auth.AuthUser.Username);\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n formData.append(\"idCreatore\", String(id));\r\n\r\n if (this.ErrorSoftware) {\r\n\r\n }\r\n\r\n //OGNI CAMPO E' STATO INSERITO CORRETTAMENTE\r\n else if (this.errors.length === 0 && !this.ErroreCreazione) {\r\n\r\n this.loading = true;\r\n \r\n const result = await this.UserService.CreateUser(formData);\r\n\r\n if (result) {\r\n this.alertMsg = \"Account creato con successo\";\r\n this.alertOpenSuccess = true;\r\n setTimeout(async () => {\r\n this.alertOpenSuccess = false;\r\n this.loading = false;\r\n //AGGIORNO LA LISTA ALL'INTERNO DEL COMPONENTE PADRE\r\n const users: User[] = await this.UserService.LoadUsers(this.auth.AuthUser.Username);\r\n this.LoadUsers.emit(users);\r\n this.listChanged.emit(true);\r\n }, 3000);\r\n } else {\r\n this.alertMsg = \"Username o PIVA già esistenti, riprova\";\r\n this.alertOpen = true;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.alertOpen = false;\r\n }, 5000)\r\n }\r\n }\r\n\r\n }\r\n\r\n public CloseModalConfig() {\r\n //CONTROLLO 3 SOFTWARE\r\n //CONTROLLO PRESENZA CAMPI\r\n //SE CI STA UN ERRORE, NON CHIUDO, ALTRIMENTI CHIUDO\r\n\r\n if (this.UserType.Concessionario || this.UserType.Distributore) {\r\n let error: number = 0;\r\n this.ErrorSoftware = false;\r\n this.ErrorContatotoreCanone = false;\r\n\r\n //SOFTWARE ABBINATI\r\n let countSoftware: number = 0;\r\n if (this.Settings.SoftwareAbb.VisualFood === true) countSoftware++\r\n if (this.Settings.SoftwareAbb.VisualRetail === true) countSoftware++\r\n if (this.Settings.SoftwareAbb.VisualSelf === true) countSoftware++\r\n if (this.Settings.SoftwareAbb.VisualShop === true) countSoftware++\r\n\r\n if ((countSoftware > 3 || countSoftware === 0) && this.Settings.Tipo.canone && !this.UserType.Distributore && this.UserType.Concessionario) error = 1;\r\n\r\n if (countSoftware === 0 && this.Settings.Tipo.canone && this.UserType.Distributore) error = 1;\r\n\r\n //CONTROLLO\r\n //SE NON E' LA GAB A CREARE L'UTENTE\r\n //SE IL DISTRIBUTORE CHE CREA L'UTENTE HA UN NUMERO DI LICENZE LIMITATO, COME A CANONE\r\n //POSSO CREARE UN UTENTE A CANONE SOLO SE SONO UN DISTRIBUTORE A CANONE\r\n\r\n if (this.auth.AuthUser.Username !== 'gab' && this.auth.AuthUser.NumeroLicenzePacchetto !== -1 && this.Settings.Tipo.canone) {\r\n //STATISTICHE LICENZE A CANONE DELL'UTENTE LOGGATO\r\n const stat: LicenseStat = this.licenzeStats.find(stat => stat.CodiceArticolo === \"CANONE\");\r\n\r\n //SE LE LICENZE SCELTE SONO MAGGIORI DELLE LICENZE DISPONIBILI, ERRORE\r\n if (Number(this.Settings.NumeroPacchetti) === -1 && stat.NumeroLicenze !== -1) {\r\n error = 2;\r\n }\r\n else if (Number(this.Settings.NumeroPacchetti) > (stat.NumeroLicenze - stat.LicenzeGenerate)) {\r\n error = 2;\r\n }\r\n }\r\n\r\n if (error === 1) {\r\n this.ErrorSoftware = true;\r\n } else if (error === 2) {\r\n this.ErrorContatotoreCanone = true;\r\n } else {\r\n this.ErrorSoftware = false;\r\n this.modalRef.hide();\r\n return;\r\n }\r\n }\r\n this.modalRef.hide();\r\n return;\r\n }\r\n\r\n public AdminCreation() {\r\n this.Admin = !this.Admin;\r\n \r\n //NEL MOMENTO IN CUI IMPOSTO LA CREAZIONE DI UN UTENTE ORDINARIO, RESETTO LE SUE IMPOSTAZIONI\r\n if (this.Admin) {\r\n (document.getElementById('username') as HTMLInputElement).value = '';\r\n (document.getElementById('psw') as HTMLInputElement).value = '';\r\n (document.getElementById('piva') as HTMLInputElement).value = '00168780351';\r\n (document.getElementById('rsociale') as HTMLInputElement).value = 'GAB Tamagnini';\r\n (document.getElementById('citta') as HTMLInputElement).value = \"Reggio Emilia\";\r\n (document.getElementById('via') as HTMLInputElement).value = \"Via Disraeli, 17\";\r\n (document.getElementById('email') as HTMLInputElement).value;\r\n (document.getElementById('sdi') as HTMLInputElement).value = '0000000';\r\n (document.getElementById('iban') as HTMLInputElement).value;\r\n\r\n // NASCONDO LA SELEZIONE DELL'UTENTE\r\n (document.getElementById('tipoutente') as HTMLDivElement).style.display = 'none';\r\n \r\n // IMPOSTO L'UTENTE COME ADMIN\r\n this.UserType.Utente = false;\r\n this.UserType.Concessionario = false;\r\n this.UserType.Distributore = false;\r\n this.UserType.Segnalatore = false;\r\n this.UserType.Admin = true;\r\n\r\n } else {\r\n (document.getElementById('username') as HTMLInputElement).value = '';\r\n (document.getElementById('psw') as HTMLInputElement).value = '';\r\n (document.getElementById('piva') as HTMLInputElement).value = '';\r\n (document.getElementById('rsociale') as HTMLInputElement).value = '';\r\n (document.getElementById('citta') as HTMLInputElement).value = '';\r\n (document.getElementById('via') as HTMLInputElement).value = '';\r\n (document.getElementById('email') as HTMLInputElement).value = '';\r\n (document.getElementById('pec') as HTMLInputElement).value = '';\r\n (document.getElementById('sdi') as HTMLInputElement).value = '';\r\n (document.getElementById('iban') as HTMLInputElement).value = '';\r\n\r\n (document.getElementById('tipoutente') as HTMLDivElement).removeAttribute(\"style\");\r\n\r\n // RESET\r\n this.UserType.Utente = false;\r\n this.UserType.Concessionario = false;\r\n this.UserType.Distributore = false;\r\n this.UserType.Segnalatore = false;\r\n this.UserType.Admin = false;\r\n\r\n }\r\n }\r\n\r\n public CheckCanoneCloud() {\r\n\r\n if (this.Settings.ScontoCloud.PrimoScaglione.SX < this.Settings.ScontoCloud.PrimoScaglione.DX) {\r\n if (this.Settings.ScontoCloud.PrimoScaglione.DX < this.Settings.ScontoCloud.SecondoScaglione.SX && this.Settings.ScontoCloud.PrimoScaglione.DX === this.Settings.ScontoCloud.SecondoScaglione.SX - 1) {\r\n if (this.Settings.ScontoCloud.SecondoScaglione.SX < this.Settings.ScontoCloud.SecondoScaglione.DX) {\r\n if (this.Settings.ScontoCloud.SecondoScaglione.DX < this.Settings.ScontoCloud.TerzoScaglione.SX && this.Settings.ScontoCloud.SecondoScaglione.DX === this.Settings.ScontoCloud.TerzoScaglione.SX - 1) {\r\n if (this.Settings.ScontoCloud.TerzoScaglione.SX < this.Settings.ScontoCloud.TerzoScaglione.DX || this.Settings.ScontoCloud.TerzoScaglione.DX === -1) {\r\n this.ErroreCloud = false;\r\n return true;\r\n }\r\n }\r\n }\r\n } \r\n }\r\n\r\n this.ErroreCloud = true;\r\n return false;\r\n }\r\n\r\n /*\r\n public Reset() {\r\n this.userInfo = new UserInfo(); //MAIN\r\n\r\n //public User: string; //Concessionario, Segnalatore, Utente\r\n\r\n this.UserType = {\r\n Utente: false,\r\n Segnalatore: false,\r\n Distributore: false,\r\n Concessionario: false\r\n };\r\n\r\n this.Settings = {\r\n Tipo: {\r\n singolo: false,\r\n pacchetti: false,\r\n canone: false\r\n },\r\n Sconto: {\r\n S: 0,\r\n SBonus: 0,\r\n P: {\r\n Cinque: 0,\r\n Dieci: 0,\r\n Quindici: 0,\r\n Venti: 0\r\n },\r\n PBonus: {\r\n Cinque: 0,\r\n Dieci: 0,\r\n Quindici: 0,\r\n Venti: 0\r\n },\r\n C: 0,\r\n CBonus: 0,\r\n },\r\n NumeroPacchetti: \"15\", //NUMERO PACCHETTI CANONE,\r\n ScontoRinnovo: 50,\r\n ScontoArticoli: 15,\r\n Canone: 0, //VALORE CANONE\r\n SoftwareAbb: {\r\n VisualFood: false,\r\n VisualShop: false,\r\n VisualRetail: false,\r\n VisualSelf: false,\r\n }\r\n }\r\n\r\n this.errors = []; //LISTA ERRORI FORM\r\n }\r\n */\r\n\r\n public CloseModalPermessi() {\r\n //PermessiString\r\n this.PermessiString = this.GenerateStringPermessiAdmin();\r\n this.modalService.hide();\r\n }\r\n\r\n private GenerateStringPermessiAdmin() {\r\n let returnValue: string = \"\";\r\n //LICENZE\r\n returnValue += \"L\" + (this.SettingsPermessi.Licenze.Generazione ? '1' : 0) + (this.SettingsPermessi.Licenze.Upgrade ? '1' : 0) + (this.SettingsPermessi.Licenze.Stato ? '1' : 0) + (this.SettingsPermessi.Licenze.Rinnovo ? '1' : 0);\r\n //SHOP\r\n returnValue += \"S\" + (this.SettingsPermessi.Shop.Inserimento ? '1' : '0') + (this.SettingsPermessi.Shop.Modifica ? '1' : '0');\r\n //MANUALI\r\n returnValue += \"M\" + (this.SettingsPermessi.Manuali.Inserimento ? '1' : '0') + (this.SettingsPermessi.Manuali.Eliminazione ? '1' : '0');\r\n //LISTINI\r\n returnValue += \"N\" + (this.SettingsPermessi.Listini.Inserimento ? '1' : '0') + (this.SettingsPermessi.Listini.Eliminazione ? '1' : '0');\r\n //AGGIORNAMENTI\r\n returnValue += \"A\" + (this.SettingsPermessi.Aggiornamenti.Inserimento ? '1' : '0') + (this.SettingsPermessi.Aggiornamenti.Eliminazione ? '1' : '0');\r\n //UTENTI\r\n returnValue += \"U\" + (this.SettingsPermessi.Utenti.Creazione ? '1' : '0') + (this.SettingsPermessi.Utenti.Modifica ? '1' : '0') + (this.SettingsPermessi.Utenti.Eliminazione ? '1' : '0');\r\n //CENSIMENTI\r\n returnValue += \"C\" + (this.SettingsPermessi.Censimenti.Aggiornamento ? '1' : '0') + (this.SettingsPermessi.Censimenti.Eliminazione ? '1' : '0');\r\n\r\n return returnValue;\r\n }\r\n\r\n}\r\n\r\nclass UserInfo {\r\n public username: string;\r\n public password: string;\r\n public piva: string;\r\n public rsociale: string;\r\n public citta: string;\r\n public via: string;\r\n public email: string;\r\n public pec: string;\r\n public sdi: string;\r\n public iban: string;\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Crea utente

\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
0 && !this.Admin\">\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{alertMsg}}\r\n \r\n \r\n {{alertMsg}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n

Configura

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

Modalità di acquisto Licenze Annuali

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

Modalità di acquisto Software Cloud

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

Provvigioni Segnalatore

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
Configura Permessi
\r\n
\r\n
\r\n
\r\n

Licenze

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

Shop

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

Manuali

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

Listini

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

Aggiornamenti

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

Utenti

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

Censimenti

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Chiudi
\r\n
\r\n
","import { LicenseService } from 'src/app/Services/LicenseService/license.service';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { UserService } from './../../Services/UserService/user.service';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { TabsModule, TabsetConfig } from 'ngx-bootstrap/tabs';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { Component, Input, OnInit, Output, EventEmitter, TemplateRef } from '@angular/core';\r\nimport { User } from 'src/app/Models/User';\r\n\r\nimport {faInfo, faCog, faPlus, faMinus, faCircle, faWrench, faChevronCircleLeft, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport { LicenseStat } from 'src/app/Models/LicenzeStat';\r\nimport { HttpParams, HttpClient } from '@angular/common/http';\r\nimport { IsDev } from 'src/app/global';\r\nimport { ShopService } from 'src/app/Services/ShopService/shop.service';\r\nimport CFG from 'src/app/Models/CFG';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-user-edit',\r\n templateUrl: './user-edit.component.html',\r\n styleUrls: ['./user-edit.component.scss']\r\n})\r\nexport class UserEditComponent implements OnInit {\r\n\r\n //ICON\r\n public faInfo: IconDefinition = faInfo;\r\n public faCog: IconDefinition = faCog;\r\n public faPlus: IconDefinition = faPlus;\r\n public faMinus: IconDefinition = faMinus;\r\n public faCircle: IconDefinition = faCircle;\r\n public faWrench: IconDefinition = faWrench;\r\n public faChevronCircleLeft: IconDefinition = faChevronCircleLeft;\r\n //ERRORI\r\n public ErroreSoftwareUpdate: boolean = false;\r\n public ErroreCanoneUpdate: boolean = false;\r\n\r\n @Input()\r\n public SelectedUser: User;\r\n\r\n @Input()\r\n public SelectedUserTipo: any;\r\n \r\n @Output() editChanged: EventEmitter = new EventEmitter();\r\n @Output() LoadUsers: EventEmitter = new EventEmitter();\r\n\r\n \r\n public licenzeStats: LicenseStat[] = [];\r\n public CFG: CFG[];\r\n \r\n //MODAL SETTINGS\r\n public SettingsOpen: boolean = false;\r\n public IsUpdating: boolean = false;\r\n\r\n //LOADING\r\n public loading: boolean = false;\r\n public modalRef: BsModalRef;\r\n\r\n constructor(public auth: AuthService, public modalService: BsModalService, \r\n private http: HttpClient, private UserService: UserService, public ShopService: ShopService, \r\n private alert: AlertService, private licenseService: LicenseService, public router: Router) { }\r\n\r\n async ngOnInit() {\r\n\r\n this.loading = true;\r\n await this.LoadStats();\r\n //this.CFG = await this.UserService.GetCFG(this.SelectedUser.PIVA);\r\n this.loading = false;\r\n }\r\n\r\n\r\n\r\n //Modifica utente\r\n public async UpdateUser() {\r\n\r\n this.ErroreSoftwareUpdate = false;\r\n this.ErroreCanoneUpdate = false;\r\n\r\n\r\n //CHECK\r\n let statUpdate: LicenseStat = new LicenseStat();\r\n if (this.SelectedUser.Role === 1 || this.SelectedUser.Role2 === 1 || this.SelectedUser.Role === 4 || this.SelectedUser.Role2 === 4) {\r\n //CONTROLLO 3 SOFTWARE\r\n //SOFTWARE ABBINATI\r\n let countSoftware: number = 0;\r\n if (this.SelectedUser.SoftwareAbbinatiBoolean.VisualFood === true) countSoftware++\r\n if (this.SelectedUser.SoftwareAbbinatiBoolean.VisualRetail === true) countSoftware++\r\n if (this.SelectedUser.SoftwareAbbinatiBoolean.VisualSelf === true) countSoftware++\r\n if (this.SelectedUser.SoftwareAbbinatiBoolean.VisualShop === true) countSoftware++\r\n\r\n this.ErroreSoftwareUpdate = false;\r\n if ((countSoftware > 3 || countSoftware === 0) && this.SelectedUserTipo.C) this.ErroreSoftwareUpdate = true;\r\n\r\n\r\n let statDistributore: LicenseStat = this.licenzeStats.find(stat => stat.CodiceArticolo === \"CANONE\");\r\n const result: any = await this.licenseService.GetLicenseCount();\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n if (result[i].codiceArticolo === \"CANONE\") {\r\n statUpdate.CodiceArticolo === \"CANONE\";\r\n statUpdate.NumeroLicenze = result[i].numeroLicenze;\r\n statUpdate.LicenzeGenerate = result[i].licenzeGenerate;\r\n break;\r\n }\r\n }\r\n\r\n if (this.auth.AuthUser.NumeroLicenzePacchetto !== -1 && this.auth.AuthUser.Username !== 'gab' && this.SelectedUser.Tipo.includes('C')) {\r\n\r\n //STATISTICHE UTENTE DA AGGIORNARE\r\n const diff: number = Number(this.SelectedUser.NumeroLicenzePacchetto) - Number(statUpdate.NumeroLicenze);\r\n if ((statDistributore.LicenzeGenerate + diff) > statDistributore.NumeroLicenze) {\r\n this.ErroreCanoneUpdate = true;\r\n return;\r\n }\r\n\r\n if (Number(this.SelectedUser.NumeroLicenzePacchetto) === -1) {\r\n this.ErroreCanoneUpdate = true;\r\n }\r\n if (statUpdate.LicenzeGenerate > Number(this.SelectedUser.NumeroLicenzePacchetto)) {\r\n this.ErroreCanoneUpdate = true;\r\n }\r\n\r\n if (statUpdate.LicenzeGenerate > 0) {\r\n this.ErroreCanoneUpdate = true;\r\n this.IsUpdating = !this.IsUpdating;\r\n this.SelectedUserTipo.C = true;\r\n return\r\n }\r\n }\r\n }\r\n\r\n if (Number(this.SelectedUser.NumeroLicenzePacchetto) === 0 && this.SelectedUserTipo.C) {\r\n this.ErroreCanoneUpdate = true;\r\n }\r\n\r\n //Funzione da chiamare quando aggiorno la sezione licenze\r\n if (!this.ErroreSoftwareUpdate && !this.ErroreCanoneUpdate) {\r\n this.IsUpdating = !this.IsUpdating;\r\n this.ErroreSoftwareUpdate = false;\r\n this.ErroreCanoneUpdate = false;\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n await this.UserService.UpdateUser(this.SelectedUser, this.SelectedUserTipo, this.auth.AuthUser.ID, statUpdate.NumeroLicenze, id);\r\n return;\r\n }\r\n\r\n //Funzione da chiamare quando non aggiorno anche la sezione licenze\r\n else if (!this.ErroreSoftwareUpdate) {\r\n this.IsUpdating = !this.IsUpdating;\r\n this.ErroreSoftwareUpdate = false;\r\n this.ErroreCanoneUpdate = false;\r\n\r\n const id = await this.auth.GetIdByUsername();\r\n await this.UserService.UpdateUser(this.SelectedUser, null, this.auth.AuthUser.ID, null, id);\r\n return\r\n }\r\n\r\n }\r\n \r\n public async DeleteUser() {\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n\r\n const result: boolean = await this.UserService.DeleteUser(this.SelectedUser.ID, this.SelectedUser.Username, this.SelectedUser.PIVA);\r\n\r\n if (!result) {\r\n this.alert.danger(\"Impossibile eliminare\");\r\n }\r\n \r\n const users: User[] = await this.UserService.LoadUsers(this.auth.AuthUser.Username);\r\n this.LoadUsers.emit(users);\r\n\r\n this.editChanged.emit(false)\r\n\r\n this.modalRef.hide();\r\n //this.modalService.hide();\r\n }\r\n\r\n public async OpenModalDelete(deleteModal: TemplateRef) {\r\n this.modalRef = this.modalService.show(deleteModal);\r\n\r\n }\r\n\r\n public Back() {\r\n this.editChanged.emit(false);\r\n }\r\n\r\n public async LoadStats() {\r\n\r\n //GAB\r\n this.licenzeStats = [];\r\n\r\n const result: any = await this.licenseService.GetLicenseCount();\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n const licenzeStat: LicenseStat = new LicenseStat();\r\n licenzeStat.CodiceArticolo = result[i].codiceArticolo;\r\n licenzeStat.NumeroLicenze = result[i].numeroLicenze;\r\n licenzeStat.LicenzeGenerate = result[i].licenzeGenerate;\r\n licenzeStat.Data = result[i].dataAcquisto;\r\n licenzeStat.GetDescrizione(this.ShopService.ListinoSoftware);\r\n\r\n this.licenzeStats.push(licenzeStat);\r\n }\r\n return;\r\n }\r\n\r\n public CloseModalInfo() {\r\n this.IsUpdating = false;\r\n this.modalService.hide();\r\n }\r\n\r\n public CheckCanoneCloud() {\r\n\r\n if (this.SelectedUser.Role === 2 || this.SelectedUser.Role === 0 || this.SelectedUser.Role === 3) return true;\r\n\r\n if (this.SelectedUser.ScontoCloud.PrimoScaglione.SX < this.SelectedUser.ScontoCloud.PrimoScaglione.DX) {\r\n if (this.SelectedUser.ScontoCloud.PrimoScaglione.DX < this.SelectedUser.ScontoCloud.SecondoScaglione.SX && this.SelectedUser.ScontoCloud.PrimoScaglione.DX === this.SelectedUser.ScontoCloud.SecondoScaglione.SX - 1) {\r\n if (this.SelectedUser.ScontoCloud.SecondoScaglione.SX < this.SelectedUser.ScontoCloud.SecondoScaglione.DX) {\r\n if (this.SelectedUser.ScontoCloud.SecondoScaglione.DX < this.SelectedUser.ScontoCloud.TerzoScaglione.SX && this.SelectedUser.ScontoCloud.SecondoScaglione.DX === this.SelectedUser.ScontoCloud.TerzoScaglione.SX - 1) {\r\n if (this.SelectedUser.ScontoCloud.TerzoScaglione.SX < this.SelectedUser.ScontoCloud.TerzoScaglione.DX || this.SelectedUser.ScontoCloud.TerzoScaglione.DX === -1) {\r\n // this.ErroreCloud = false;\r\n return true;\r\n }\r\n }\r\n }\r\n } \r\n }\r\n\r\n // this.ErroreCloud = true;\r\n return false;\r\n }\r\n\r\n \r\n\r\n}\r\n","
\r\n
\r\n Loading...\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Creatore: {{this.SelectedUser.Creatore}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0 && this.SelectedUser.Segnalatore !== this.auth.AuthUser.Username\" style=\"float: right;\">\r\n Segnalatore: {{this.SelectedUser.Segnalatore}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Codice Cliente\r\n
\r\n
\r\n {{this.SelectedUser.Key}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n

Vuoi eliminare l'utente?

\r\n
\r\n\r\n \r\n \r\n
","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { UserService } from './../../Services/UserService/user.service';\r\nimport { FileService } from './../../Services/FileService/file.service';\r\nimport { AuthService } from './../../Services/AuthService/auth.service';\r\nimport { AlertService } from 'ngx-alerts';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { IsDev } from 'src/app/global';\r\n\r\n@Component({\r\n selector: 'app-user-software-config',\r\n templateUrl: './user-software-config.component.html',\r\n styleUrls: ['./user-software-config.component.scss']\r\n})\r\nexport class UserSoftwareConfigComponent implements OnInit {\r\n\r\n @Input() public Username: string;\r\n\r\n public Edited: boolean = false;\r\n public SoftCodes: SoftCodes[] = [];\r\n public NewSoftCodes: SoftCodes[] = [];\r\n\r\n constructor(public modalService: BsModalService, private alert: AlertService, public auth: AuthService, private fileService: FileService, private UserService: UserService) { }\r\n\r\n async ngOnInit() {\r\n await this.InitSoftCodes();\r\n }\r\n\r\n public async SetSoftwareConfig() {\r\n\r\n //SOFTCODES\r\n const softCodes: string[] = [];\r\n for (let i = 0; i < this.NewSoftCodes.length; ++i) {\r\n if (this.NewSoftCodes[i].active) {\r\n softCodes.push(this.NewSoftCodes[i].key);\r\n }\r\n }\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n\r\n await this.UserService.SetSoftwareConfig(this.Username, softCodes);\r\n\r\n this.Edited = false;\r\n\r\n //this.modalService.hide();\r\n this.alert.success(\"Modifiche salvate\");\r\n }\r\n\r\n public CheckSame() {\r\n\r\n //CONFRONTO SOFTCODE E NEWSOFTCODE\r\n for (let i = 0; i < this.SoftCodes.length; ++i) {\r\n if (this.SoftCodes[i].active !== this.NewSoftCodes[i].active) {\r\n this.Edited = true;\r\n return;\r\n } \r\n }\r\n\r\n this.Edited = false;\r\n return;\r\n }\r\n\r\n private async InitSoftCodes() {\r\n \r\n //Inizializzo Softcodes\r\n let result: any = await this.fileService.InitSoftcodes();\r\n\r\n for (let i = 0; i < result.length; ++i) {\r\n this.SoftCodes.push(new SoftCodes(result[i][1], result[i][0]));\r\n }\r\n\r\n //GET per ogni softcode\r\n const softcodesUser: string[] = await this.UserService.GetSoftwareConfig(this.Username);\r\n for (let i = 0; i < softcodesUser.length; ++i) {\r\n const softcode: SoftCodes = this.SoftCodes.find((softcode) => softcode.key === softcodesUser[i])\r\n\r\n if (softcode !== undefined) {\r\n softcode.active = true;\r\n }\r\n }\r\n \r\n this.NewSoftCodes = this.SoftCodes.map(softcode => {\r\n return Object.assign({}, softcode);\r\n })\r\n }\r\n\r\n public async Close() {\r\n this.modalService.hide();\r\n this.alert.success(\"Software Aggiornati\");\r\n }\r\n\r\n\r\n}\r\n\r\nclass SoftCodes {\r\n public key: string;\r\n public description: string;\r\n public active: boolean;\r\n\r\n public constructor(key: string, descriptor: string) {\r\n this.key = key;\r\n this.description = descriptor;\r\n this.active = false;\r\n }\r\n\r\n}\r\n","import { AuthService } from './../Services/AuthService/auth.service';\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {Role, User} from '../Models/User';\r\nimport { FileService } from '../Services/FileService/file.service';\r\nimport { UserService } from '../Services/UserService/user.service';\r\n\r\nimport {faInfo, faCog, faPlus, faMinus, faCircle, faWrench, faInfoCircle, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport { BsModalRef, BsModalService, ModalOptions, } from 'ngx-bootstrap/modal';\r\nimport { LicenseStat } from '../Models/LicenzeStat';\r\nimport Censimento from \"../Models/Censimento\";\r\n\r\n@Component({\r\n selector: 'app-users',\r\n templateUrl: './users.component.html',\r\n styleUrls: ['./users.component.scss']\r\n})\r\nexport class UsersComponent implements OnInit {\r\n\r\n public Users: User[] = [];\r\n public AllUsers: User[] = [];\r\n\r\n //public User: string; //Concessionario, Segnalatore, Utente\r\n\r\n public UserType = {\r\n Utente: false,\r\n Segnalatore: false,\r\n Distributore: false,\r\n Concessionario: false\r\n };\r\n public dropdownFiltroRuoli = false;\r\n public dropdownFiltroStato = false;\r\n\r\n public dropdownRecenti = false;\r\n public dropdownObsoleti = false;\r\n //ALERT\r\n public alertOpenSuccess: boolean = false;\r\n public alertOpen: boolean = false;\r\n public alertMsg: string = \"\";\r\n\r\n //ICON\r\n public faInfo: IconDefinition = faInfo;\r\n public faInfoCircle: IconDefinition = faInfoCircle;\r\n public faCog: IconDefinition = faCog;\r\n public faPlus: IconDefinition = faPlus;\r\n public faMinus: IconDefinition = faMinus;\r\n public faCircle: IconDefinition = faCircle;\r\n public faWrench: IconDefinition = faWrench;\r\n\r\n //MODAL\r\n public modalRef: BsModalRef;\r\n public SelectedUser: User;\r\n\r\n public SelectedUserTipo = {\r\n S: false, P: false, C: false\r\n }\r\n public FiltroUtenti = {\r\n Ruolo: {\r\n Cliente: false,\r\n Concessionario: false,\r\n Distributore: false,\r\n Admin: false,\r\n Segnalatore: false,\r\n },\r\n Stato: {\r\n Attivo: false,\r\n Sospeso: false,\r\n Disattivato: false,\r\n }\r\n }\r\n\r\n public userStats: UserStats;\r\n\r\n //ERRORI\r\n public ErrorSoftware: boolean = false;\r\n public ErrorContatotoreCanone: boolean = false;\r\n public ErroreCreazione: boolean = false;\r\n\r\n\r\n // READY\r\n public readyLoad: boolean = false;\r\n\r\n // TOOLTIP\r\n public TooltipText: string = \"\";\r\n\r\n public errors: any[] = []; //LISTA ERRORI FORM\r\n\r\n //CREAZIONE UTENTE, BOOL\r\n public list: boolean = true;\r\n\r\n public editUser: boolean = false;\r\n\r\n public loading: boolean = false;\r\n\r\n constructor(public auth: AuthService, private router: Router, public FileService: FileService, public UserService: UserService, public modalService: BsModalService) {\r\n this.userStats = new UserStats(auth);\r\n }\r\n\r\n private async Init() {\r\n\r\n this.auth.Ready = false;\r\n\r\n //SE NON E' NESSUNO DI QUESTI, VADO INDIETRO\r\n if (this.auth.AuthUser.Role === 2 || this.auth.AuthUser.Role2 === 2) {\r\n this.router.navigateByUrl('');\r\n return;\r\n }\r\n this.AllUsers = await this.UserService.LoadUsers(this.auth.AuthUser.Username);\r\n\r\n // SE SONO UN ADMIN, RIMUOVO GLI ALTRI ADMIN\r\n if (this.auth.AdminUsername !== 'gab' && (this.auth.AuthUser.Role === Role.ADMIN || this.auth.AuthUser.Role2 === Role.ADMIN)) {\r\n const adminIndex: number[] = [];\r\n this.AllUsers.forEach((user, index) => {\r\n if (user.Role === 0) {\r\n adminIndex.push(index);\r\n }\r\n });\r\n\r\n let i = 0;\r\n adminIndex.forEach(index => {\r\n this.AllUsers.splice(index - i, 1);\r\n ++i;\r\n });\r\n } \r\n\r\n this.InitUserStats();\r\n\r\n this.Users = [...this.AllUsers]\r\n this.readyLoad = true;\r\n\r\n if (this.auth.IsValidationDone === false) {\r\n await this.LocalValidation();\r\n }\r\n\r\n this.auth.Ready = true;\r\n\r\n //AGGIORNO LA SIDEBAR\r\n const sidebarElements = document.getElementsByTagName(\"li\");\r\n for (let i = 0; i < sidebarElements.length; ++i) {\r\n if (sidebarElements[i].id !== 'users') {\r\n sidebarElements[i].classList.remove('active');\r\n } else {\r\n sidebarElements[i].classList.add('active');\r\n }\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n await this.Init();\r\n }\r\n\r\n private async LocalValidation() {\r\n if (this.auth.IsLoggedIn()) {\r\n const expirationDate: Date = new Date(localStorage.getItem('expiration'));\r\n\r\n if (new Date().getTime() > expirationDate.getTime()) {\r\n return this.auth.Logout();\r\n }\r\n const valid: boolean = await this.auth.ValidateLogin();\r\n if (valid) {\r\n this.auth.IsLogin = false;\r\n this.auth.IsValidationDone = true;\r\n\r\n } else {\r\n this.auth.IsLogin = true;\r\n this.auth.Logout();\r\n }\r\n } else {\r\n this.router.navigateByUrl('login');\r\n }\r\n }\r\n\r\n public InitUserStats() {\r\n //COUNT E COUNT PER TIPOLOGIA --> this.AllUsers\r\n\r\n this.userStats = new UserStats(this.auth);\r\n\r\n \r\n this.userStats.Count = this.AllUsers.length;\r\n \r\n this.AllUsers.forEach(user => {\r\n if (user.Role === Role.ADMIN || user.Role2 === Role.ADMIN) {\r\n ++this.userStats.TypeCount.Admin;\r\n }\r\n if (user.Role === Role.SELLER || user.Role2 === Role.SELLER) {\r\n ++this.userStats.TypeCount.Concessionario;\r\n }\r\n if (user.Role === Role.DEALER || user.Role2 === Role.DEALER) {\r\n ++this.userStats.TypeCount.Distributore;\r\n }\r\n if (user.Role === Role.SIGNAL || user.Role2 === Role.SIGNAL) {\r\n ++this.userStats.TypeCount.Segnalatore;\r\n }\r\n if (user.Role === Role.USER || user.Role2 === Role.USER) {\r\n ++this.userStats.TypeCount.Utente;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n public OpenModalInfo(user: User, template: TemplateRef) {\r\n this.SelectedUser = user;\r\n\r\n if (this.SelectedUser.Tipo !== undefined) {\r\n this.SelectedUserTipo.S = this.SelectedUser.Tipo.includes('S');\r\n this.SelectedUserTipo.P = this.SelectedUser.Tipo.includes('P');\r\n this.SelectedUserTipo.C = this.SelectedUser.Tipo.includes('C');\r\n }\r\n\r\n this.editUser = true;\r\n\r\n //this.modalRef = this.modalService.show(template, {class: 'modal-lg modal-dialog-scrollable'});\r\n }\r\n\r\n public OpenModalConfig(template: TemplateRef) {\r\n\r\n\r\n const config: ModalOptions = {\r\n keyboard: false,\r\n ignoreBackdropClick: true,\r\n class: 'modal-lg'\r\n };\r\n\r\n this.modalRef = this.modalService.show(template, config);\r\n }\r\n\r\n public async SetUserState(user: User) {\r\n\r\n // const id = await this.auth.GetIdByUsername();\r\n\r\n await this.UserService.SetUserState(user);\r\n\r\n switch (user.Stato) {\r\n case 0:\r\n this.TooltipText = \"Utente Attivo\";\r\n break;\r\n case 1:\r\n this.TooltipText = \"Utente Sospeso\";\r\n break;\r\n case 2:\r\n this.TooltipText = \"Utente Disattivato\";\r\n break;\r\n }\r\n \r\n }\r\n public listChanged(value: boolean) {\r\n this.list = value;\r\n }\r\n public editChanged(value: boolean) {\r\n this.editUser = value;\r\n }\r\n\r\n public handlerUserLoad(list: User[]) {\r\n this.AllUsers = list;\r\n this.Users = [...this.AllUsers]\r\n }\r\n\r\n public Filtro() {\r\n const input: string = (document.getElementById(\"search\") as HTMLInputElement).value;\r\n //SE E' TUTTO FALSO RIMETTO TUTTA LA LISTA\r\n \r\n this.Users = [];\r\n //AGGIUNGO UTENTI\r\n if (this.FiltroUtenti.Ruolo.Cliente === true) {\r\n for (let i = 0; i < this.AllUsers.length; i++) {\r\n if (this.AllUsers[i].Role === 2 && (this.AllUsers[i].Role2 == null || this.AllUsers[i].Role2 == undefined)) {\r\n if (this.FiltroUtenti.Stato.Attivo) {\r\n if (this.AllUsers[i].Stato === 0) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Disattivato) {\r\n if (this.AllUsers[i].Stato === 2) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Sospeso) {\r\n if (this.AllUsers[i].Stato === 1) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Attivo == false && this.FiltroUtenti.Stato.Disattivato == false && this.FiltroUtenti.Stato.Sospeso == false) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n }\r\n }\r\n //AGGIUNGO ADMIN\r\n if (this.FiltroUtenti.Ruolo.Admin === true) {\r\n for (let i = 0; i < this.AllUsers.length; i++) {\r\n if (this.AllUsers[i].Role === 0 || this.AllUsers[i].Role2 === 0) {\r\n if (this.FiltroUtenti.Stato.Attivo) {\r\n if (this.AllUsers[i].Stato === 0) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Disattivato) {\r\n if (this.AllUsers[i].Stato === 2) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Sospeso) {\r\n if (this.AllUsers[i].Stato === 1) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Attivo == false && this.FiltroUtenti.Stato.Disattivato == false && this.FiltroUtenti.Stato.Sospeso == false) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n }\r\n }\r\n //AGGIUNGO CONCESSIONARI\r\n if (this.FiltroUtenti.Ruolo.Concessionario === true) {\r\n for (let i = 0; i < this.AllUsers.length; i++) {\r\n if (this.AllUsers[i].Role === 1 || this.AllUsers[i].Role2 === 1) {\r\n if (this.FiltroUtenti.Stato.Attivo) {\r\n if (this.AllUsers[i].Stato === 0) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Disattivato) {\r\n if (this.AllUsers[i].Stato === 2) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Sospeso) {\r\n if (this.AllUsers[i].Stato === 1) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Attivo == false && this.FiltroUtenti.Stato.Disattivato == false && this.FiltroUtenti.Stato.Sospeso == false) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n }\r\n }\r\n //AGGIUNGO DISTRIBUTORI\r\n if (this.FiltroUtenti.Ruolo.Distributore === true) {\r\n for (let i = 0; i < this.AllUsers.length; i++) {\r\n if (this.AllUsers[i].Role === 4 || this.AllUsers[i].Role2 === 4) {\r\n if (this.FiltroUtenti.Stato.Attivo) {\r\n if (this.AllUsers[i].Stato === 0) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Disattivato) {\r\n if (this.AllUsers[i].Stato === 2) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Sospeso) {\r\n if (this.AllUsers[i].Stato === 1) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Attivo == false && this.FiltroUtenti.Stato.Disattivato == false && this.FiltroUtenti.Stato.Sospeso == false) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n }\r\n }\r\n //AGGIUNGO SEGNALATORE\r\n if (this.FiltroUtenti.Ruolo.Segnalatore === true) {\r\n for (let i = 0; i < this.AllUsers.length; i++) {\r\n if (this.AllUsers[i].Role === 3 || this.AllUsers[i].Role2 === 3) {\r\n if (this.FiltroUtenti.Stato.Attivo) {\r\n if (this.AllUsers[i].Stato === 0) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Disattivato) {\r\n if (this.AllUsers[i].Stato === 2) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Sospeso) {\r\n if (this.AllUsers[i].Stato === 1) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Attivo == false && this.FiltroUtenti.Stato.Disattivato == false && this.FiltroUtenti.Stato.Sospeso == false) {\r\n this.Users.push(this.AllUsers[i]);\r\n }\r\n }\r\n }\r\n }\r\n if (this.FiltroUtenti.Ruolo.Distributore == false &&\r\n this.FiltroUtenti.Ruolo.Cliente == false &&\r\n this.FiltroUtenti.Ruolo.Concessionario == false &&\r\n this.FiltroUtenti.Ruolo.Admin == false &&\r\n this.FiltroUtenti.Ruolo.Segnalatore == false) {\r\n if (this.FiltroUtenti.Stato.Attivo) {\r\n for (let i = 0; i < this.AllUsers.length; i++) {\r\n if (this.AllUsers[i].Stato == 0) {\r\n this.Users.push(this.AllUsers[i])\r\n }\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Disattivato) {\r\n for (let i = 0; i < this.AllUsers.length; i++) {\r\n if (this.AllUsers[i].Stato == 2) {\r\n this.Users.push(this.AllUsers[i])\r\n }\r\n }\r\n }\r\n if (this.FiltroUtenti.Stato.Sospeso) {\r\n for (let i = 0; i < this.AllUsers.length; i++) {\r\n if (this.AllUsers[i].Stato == 1) {\r\n this.Users.push(this.AllUsers[i])\r\n }\r\n }\r\n }\r\n\r\n if (this.FiltroUtenti.Stato.Attivo == false && this.FiltroUtenti.Stato.Disattivato == false && this.FiltroUtenti.Stato.Sospeso == false) {\r\n this.Users = [...this.AllUsers]\r\n }\r\n }\r\n \r\n this.FilterByName();\r\n }\r\n\r\n public OrdinaRagSocCrescente(){\r\n this.Users.sort((a: User, b: User) => {\r\n let ragsocA: string = a.RagioneSociale.toUpperCase();\r\n let ragsocB: string = b.RagioneSociale.toUpperCase();\r\n return (ragsocA < ragsocB) ? -1 : (ragsocA > ragsocB) ? 1 : 0;\r\n });\r\n }\r\n public OrdinaRagSocDescrescente(){\r\n this.Users.sort((a: User, b: User) => {\r\n let ragsocA: string = a.RagioneSociale.toUpperCase();\r\n let ragsocB: string = b.RagioneSociale.toUpperCase();\r\n return (ragsocA > ragsocB) ? -1 : (ragsocA < ragsocB) ? 1 : 0;\r\n });\r\n }\r\n public FilterByName() {\r\n const input: string = (document.getElementById(\"search\") as HTMLInputElement).value;\r\n const table: HTMLTableElement = document.getElementById(\"table\") as HTMLTableElement;\r\n const tr: HTMLCollectionOf = table.getElementsByTagName(\"tr\");\r\n\r\n for (let i = 0; i < tr.length; i++){\r\n const tdRagSoc: HTMLTableDataCellElement = tr[i].getElementsByTagName(\"td\")[2];\r\n if (tdRagSoc) {\r\n const txtValue: string = tdRagSoc.textContent;\r\n if (txtValue.toUpperCase().includes(input.toUpperCase())) {\r\n tr[i].style.display = \"\";\r\n continue;\r\n }\r\n }\r\n\r\n const tdUsername: HTMLTableDataCellElement = tr[i].getElementsByTagName(\"td\")[0];\r\n if (tdUsername) {\r\n const txtValue: string = tdUsername.textContent;\r\n if (txtValue.toUpperCase().includes(input.toUpperCase())) {\r\n tr[i].style.display = \"\";\r\n continue;\r\n }\r\n }\r\n\r\n const tdPiva: HTMLTableDataCellElement = tr[i].getElementsByTagName(\"td\")[1];\r\n if (tdPiva) {\r\n const txtValue: string = tdPiva.textContent;\r\n if (txtValue.toUpperCase().includes(input.toUpperCase())) {\r\n tr[i].style.display = \"\";\r\n continue;\r\n }\r\n }\r\n\r\n tr[i].style.display = \"none\";\r\n }\r\n }\r\n}\r\n\r\nclass UserStats {\r\n public Count: number = 0;\r\n\r\n public TypeCount = {\r\n Admin: 0,\r\n Concessionario: 0,\r\n Distributore: 0,\r\n Segnalatore: 0,\r\n Utente: 0\r\n };\r\n\r\n private AuthService: AuthService;\r\n\r\n public constructor(authService: AuthService) {\r\n this.AuthService = authService;\r\n }\r\n\r\n public ToString(): string {\r\n let returnString: string = `

Utenti totali: ${this.Count}

`;\r\n\r\n returnString += `

Utenti: ${this.TypeCount.Utente}

`;\r\n returnString += `

Segnalatori: ${this.TypeCount.Segnalatore}

`;\r\n\r\n if (this.AuthService.AuthUser.Role === 0 || this.AuthService.AuthUser.Role2 === 0) {\r\n returnString += `

Admin: ${this.TypeCount.Admin}

`;\r\n returnString += `

Distributori: ${this.TypeCount.Distributore}

`;\r\n }\r\n\r\n if (this.AuthService.AuthUser.Role === 0 || this.AuthService.AuthUser.Role2 === 0 || this.AuthService.AuthUser.Role === 4 || this.AuthService.AuthUser.Role2 === 4) {\r\n returnString += `

Concessionari: ${this.TypeCount.Concessionario}

`;\r\n }\r\n\r\n\r\n return returnString;\r\n\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n

Lista Utenti\r\n \r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Ordinamento\r\n \r\n \r\n \r\n \r\n
\r\n
    \r\n
  • Ragione Sociale
  • \r\n
  • Crescente

  • \r\n
  • Decrescente

  • \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n Filtra \r\n \r\n
\r\n
    \r\n
  • Ruolo\r\n
  • \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    \r\n\r\n
  • \r\n
  • Stato\r\n
  • \r\n
      \r\n
    • \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n
    • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Nome UtentePartita IVARagione SocialeRuoloStato
{{user.Username}}{{user.Role === 0 ? '00168780351' : user.PIVA}}{{user.RagioneSociale}}({{user.Creatore}})\r\n ADMIN\r\n CONCESSIONARIO\r\n CLIENTE\r\n SEGNALATORE\r\n DISTRIBUTORE\r\n ADMIN\r\n CONCESSIONARIO\r\n CLIENTE\r\n SEGNALATORE\r\n DISTRIBUTORE\r\n \r\n {{ user.Stato === 0 ? \"Utente Attivo\" : (user.Stato === 1 ? \"Utente Sospeso\" : \"Utente Disattivato\") }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n \r\n\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\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","var map = {\n\t\"./af\": 6431,\n\t\"./af.js\": 6431,\n\t\"./ar\": 1286,\n\t\"./ar-dz\": 1616,\n\t\"./ar-dz.js\": 1616,\n\t\"./ar-kw\": 9759,\n\t\"./ar-kw.js\": 9759,\n\t\"./ar-ly\": 3160,\n\t\"./ar-ly.js\": 3160,\n\t\"./ar-ma\": 2551,\n\t\"./ar-ma.js\": 2551,\n\t\"./ar-sa\": 9989,\n\t\"./ar-sa.js\": 9989,\n\t\"./ar-tn\": 6962,\n\t\"./ar-tn.js\": 6962,\n\t\"./ar.js\": 1286,\n\t\"./az\": 5887,\n\t\"./az.js\": 5887,\n\t\"./be\": 4572,\n\t\"./be.js\": 4572,\n\t\"./bg\": 3276,\n\t\"./bg.js\": 3276,\n\t\"./bm\": 3344,\n\t\"./bm.js\": 3344,\n\t\"./bn\": 8985,\n\t\"./bn-bd\": 3990,\n\t\"./bn-bd.js\": 3990,\n\t\"./bn.js\": 8985,\n\t\"./bo\": 4391,\n\t\"./bo.js\": 4391,\n\t\"./br\": 6728,\n\t\"./br.js\": 6728,\n\t\"./bs\": 5536,\n\t\"./bs.js\": 5536,\n\t\"./ca\": 1043,\n\t\"./ca.js\": 1043,\n\t\"./cs\": 420,\n\t\"./cs.js\": 420,\n\t\"./cv\": 3513,\n\t\"./cv.js\": 3513,\n\t\"./cy\": 6771,\n\t\"./cy.js\": 6771,\n\t\"./da\": 7978,\n\t\"./da.js\": 7978,\n\t\"./de\": 6061,\n\t\"./de-at\": 5204,\n\t\"./de-at.js\": 5204,\n\t\"./de-ch\": 2653,\n\t\"./de-ch.js\": 2653,\n\t\"./de.js\": 6061,\n\t\"./dv\": 85,\n\t\"./dv.js\": 85,\n\t\"./el\": 8579,\n\t\"./el.js\": 8579,\n\t\"./en-au\": 5724,\n\t\"./en-au.js\": 5724,\n\t\"./en-ca\": 525,\n\t\"./en-ca.js\": 525,\n\t\"./en-gb\": 2847,\n\t\"./en-gb.js\": 2847,\n\t\"./en-ie\": 7216,\n\t\"./en-ie.js\": 7216,\n\t\"./en-il\": 9305,\n\t\"./en-il.js\": 9305,\n\t\"./en-in\": 3364,\n\t\"./en-in.js\": 3364,\n\t\"./en-nz\": 9130,\n\t\"./en-nz.js\": 9130,\n\t\"./en-sg\": 1161,\n\t\"./en-sg.js\": 1161,\n\t\"./eo\": 802,\n\t\"./eo.js\": 802,\n\t\"./es\": 328,\n\t\"./es-do\": 5551,\n\t\"./es-do.js\": 5551,\n\t\"./es-mx\": 5615,\n\t\"./es-mx.js\": 5615,\n\t\"./es-us\": 4790,\n\t\"./es-us.js\": 4790,\n\t\"./es.js\": 328,\n\t\"./et\": 6389,\n\t\"./et.js\": 6389,\n\t\"./eu\": 2961,\n\t\"./eu.js\": 2961,\n\t\"./fa\": 6151,\n\t\"./fa.js\": 6151,\n\t\"./fi\": 7997,\n\t\"./fi.js\": 7997,\n\t\"./fil\": 8898,\n\t\"./fil.js\": 8898,\n\t\"./fo\": 7779,\n\t\"./fo.js\": 7779,\n\t\"./fr\": 8174,\n\t\"./fr-ca\": 3287,\n\t\"./fr-ca.js\": 3287,\n\t\"./fr-ch\": 8867,\n\t\"./fr-ch.js\": 8867,\n\t\"./fr.js\": 8174,\n\t\"./fy\": 452,\n\t\"./fy.js\": 452,\n\t\"./ga\": 5014,\n\t\"./ga.js\": 5014,\n\t\"./gd\": 4127,\n\t\"./gd.js\": 4127,\n\t\"./gl\": 2124,\n\t\"./gl.js\": 2124,\n\t\"./gom-deva\": 6444,\n\t\"./gom-deva.js\": 6444,\n\t\"./gom-latn\": 7953,\n\t\"./gom-latn.js\": 7953,\n\t\"./gu\": 6604,\n\t\"./gu.js\": 6604,\n\t\"./he\": 1222,\n\t\"./he.js\": 1222,\n\t\"./hi\": 4235,\n\t\"./hi.js\": 4235,\n\t\"./hr\": 622,\n\t\"./hr.js\": 622,\n\t\"./hu\": 7735,\n\t\"./hu.js\": 7735,\n\t\"./hy-am\": 402,\n\t\"./hy-am.js\": 402,\n\t\"./id\": 9187,\n\t\"./id.js\": 9187,\n\t\"./is\": 536,\n\t\"./is.js\": 536,\n\t\"./it\": 5007,\n\t\"./it-ch\": 4667,\n\t\"./it-ch.js\": 4667,\n\t\"./it.js\": 5007,\n\t\"./ja\": 2093,\n\t\"./ja.js\": 2093,\n\t\"./jv\": 59,\n\t\"./jv.js\": 59,\n\t\"./ka\": 6870,\n\t\"./ka.js\": 6870,\n\t\"./kk\": 880,\n\t\"./kk.js\": 880,\n\t\"./km\": 1083,\n\t\"./km.js\": 1083,\n\t\"./kn\": 8785,\n\t\"./kn.js\": 8785,\n\t\"./ko\": 1721,\n\t\"./ko.js\": 1721,\n\t\"./ku\": 7851,\n\t\"./ku.js\": 7851,\n\t\"./ky\": 1727,\n\t\"./ky.js\": 1727,\n\t\"./lb\": 1670,\n\t\"./lb.js\": 1670,\n\t\"./lo\": 3002,\n\t\"./lo.js\": 3002,\n\t\"./lt\": 4035,\n\t\"./lt.js\": 4035,\n\t\"./lv\": 6927,\n\t\"./lv.js\": 6927,\n\t\"./me\": 5634,\n\t\"./me.js\": 5634,\n\t\"./mi\": 4173,\n\t\"./mi.js\": 4173,\n\t\"./mk\": 6320,\n\t\"./mk.js\": 6320,\n\t\"./ml\": 1705,\n\t\"./ml.js\": 1705,\n\t\"./mn\": 1062,\n\t\"./mn.js\": 1062,\n\t\"./mr\": 2805,\n\t\"./mr.js\": 2805,\n\t\"./ms\": 1341,\n\t\"./ms-my\": 9900,\n\t\"./ms-my.js\": 9900,\n\t\"./ms.js\": 1341,\n\t\"./mt\": 7734,\n\t\"./mt.js\": 7734,\n\t\"./my\": 9034,\n\t\"./my.js\": 9034,\n\t\"./nb\": 9324,\n\t\"./nb.js\": 9324,\n\t\"./ne\": 6495,\n\t\"./ne.js\": 6495,\n\t\"./nl\": 673,\n\t\"./nl-be\": 6272,\n\t\"./nl-be.js\": 6272,\n\t\"./nl.js\": 673,\n\t\"./nn\": 2486,\n\t\"./nn.js\": 2486,\n\t\"./oc-lnc\": 6219,\n\t\"./oc-lnc.js\": 6219,\n\t\"./pa-in\": 2829,\n\t\"./pa-in.js\": 2829,\n\t\"./pl\": 8444,\n\t\"./pl.js\": 8444,\n\t\"./pt\": 3170,\n\t\"./pt-br\": 6117,\n\t\"./pt-br.js\": 6117,\n\t\"./pt.js\": 3170,\n\t\"./ro\": 6587,\n\t\"./ro.js\": 6587,\n\t\"./ru\": 9264,\n\t\"./ru.js\": 9264,\n\t\"./sd\": 2135,\n\t\"./sd.js\": 2135,\n\t\"./se\": 6996,\n\t\"./se.js\": 6996,\n\t\"./si\": 3379,\n\t\"./si.js\": 3379,\n\t\"./sk\": 6143,\n\t\"./sk.js\": 6143,\n\t\"./sl\": 196,\n\t\"./sl.js\": 196,\n\t\"./sq\": 1082,\n\t\"./sq.js\": 1082,\n\t\"./sr\": 1621,\n\t\"./sr-cyrl\": 8963,\n\t\"./sr-cyrl.js\": 8963,\n\t\"./sr.js\": 1621,\n\t\"./ss\": 1404,\n\t\"./ss.js\": 1404,\n\t\"./sv\": 5685,\n\t\"./sv.js\": 5685,\n\t\"./sw\": 6490,\n\t\"./sw.js\": 6490,\n\t\"./ta\": 4106,\n\t\"./ta.js\": 4106,\n\t\"./te\": 9204,\n\t\"./te.js\": 9204,\n\t\"./tet\": 3692,\n\t\"./tet.js\": 3692,\n\t\"./tg\": 6361,\n\t\"./tg.js\": 6361,\n\t\"./th\": 1735,\n\t\"./th.js\": 1735,\n\t\"./tk\": 1568,\n\t\"./tk.js\": 1568,\n\t\"./tl-ph\": 6129,\n\t\"./tl-ph.js\": 6129,\n\t\"./tlh\": 3759,\n\t\"./tlh.js\": 3759,\n\t\"./tr\": 1644,\n\t\"./tr.js\": 1644,\n\t\"./tzl\": 875,\n\t\"./tzl.js\": 875,\n\t\"./tzm\": 6878,\n\t\"./tzm-latn\": 1041,\n\t\"./tzm-latn.js\": 1041,\n\t\"./tzm.js\": 6878,\n\t\"./ug-cn\": 4357,\n\t\"./ug-cn.js\": 4357,\n\t\"./uk\": 4810,\n\t\"./uk.js\": 4810,\n\t\"./ur\": 6794,\n\t\"./ur.js\": 6794,\n\t\"./uz\": 8966,\n\t\"./uz-latn\": 7959,\n\t\"./uz-latn.js\": 7959,\n\t\"./uz.js\": 8966,\n\t\"./vi\": 5386,\n\t\"./vi.js\": 5386,\n\t\"./x-pseudo\": 3156,\n\t\"./x-pseudo.js\": 3156,\n\t\"./yo\": 8028,\n\t\"./yo.js\": 8028,\n\t\"./zh-cn\": 9330,\n\t\"./zh-cn.js\": 9330,\n\t\"./zh-hk\": 9380,\n\t\"./zh-hk.js\": 9380,\n\t\"./zh-mo\": 874,\n\t\"./zh-mo.js\": 874,\n\t\"./zh-tw\": 6508,\n\t\"./zh-tw.js\": 6508\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6700;"],"sourceRoot":"webpack:///"}