{"version":3,"sources":["./src/app/pages/parceiro/parceiro.component.ts","./src/app/pages/parceiro/parceiro.component.html","./src/app/pages/cupom/cupom.service.ts","./src/app/pages/promocao/promocao.component.ts","./src/app/pages/promocao/promocao.component.html","./src/app/pages/produto/produto.component.ts","./src/app/pages/produto/produto.component.html","./src/app/app.topbar.component.ts","./src/app/pages/notificacao/notificacao.component.ts","./src/app/pages/notificacao/notificacao.component.html","./src/environments/environment.ts","./src/app/app.menu.component.ts","./src/app/app.menu.component.html","./src/app/pages/promocao/promocao.service.ts","./src/app/helps/auth.guards.ts","./src/app/services/api.service.ts","./src/app/app.breadcrumb.component.ts","./src/app/app.breadcrumb.component.html","./src/app/pages/parceiro/parceiro.service.ts","./src/app/pages/app.login.component.ts","./src/app/pages/app.login.component.html","./src/app/pages/categoria/categoria.service.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.ts","./src/app/app.component.html","./src/app/pages/produto/produto.service.ts","./src/app/pages/dashboard/dashboard.component.ts","./src/app/pages/dashboard/dashboard.component.html","./src/app/app.rightmenu.component.ts","./src/app/app.rightmenu.component.html","./src/app/pages/usuario/usuario.service.ts","./src/app/pages/app.login.model.ts","./src/app/app.module.ts","./src/app/app.code.component.ts","./src/app/app.menu.service.ts","./src/app/pages/cupom/cupom.component.ts","./src/app/pages/cupom/cupom.component.html","./src/environments/environment.prod.ts","./src/app/app.footer.component.ts","./src/app/pages/usuario/usuario.component.ts","./src/app/pages/usuario/usuario.component.html","./src/app/pages/app.login.service.ts","./src/app/pages/configuracao/configuracao.service.ts","./src/app/app.inlinemenu.component.ts","./src/app/app.inlinemenu.component.html","./src/app/app.config.component.ts","./src/app/app.menuitem.component.ts","./src/app/app.main.component.ts","./src/app/app.main.component.html","./src/app/pages/notificacao/notificacao.service.ts","./src/app/app.breadcrumb.service.ts","./src/app/pages/app.login.firebase.service.ts","./src/app/pages/configuracao/configuracao.component.ts","./src/app/pages/configuracao/configuracao.component.html","./src/app/app-routing.module.ts","./src/app/pages/app.notfound.component.ts","./src/app/pages/app.notfound.component.html","./src/main.ts","./src/app/pages/categoria/categoria.component.ts","./src/app/pages/categoria/categoria.component.html","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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I,IAAI,EAAE;4BAC5B,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC;yBAC9B;qBACF;iBACF;gBACD,OAAO,SAAS,CAAC;aAClB;YAAC,OAAO,KAAK,EAAE;gBACd,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;aAC5B;QACH,CAAC;KAAA;IAED,iBAAiB;QACf,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,0EAAa,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,iBAAiB;IACjB,mBAAmB,CAAC,QAAQ,EAAE,MAAM;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM;QACJ,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;;gFAhHU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB;6FAAhB,gBAAgB;cAD5B,wDAAU;;;;;;;;;;;;;ACfX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,2B;;;;;;;;;;;;;;;;;;;;;ACnSkD;;;;;;AAU3C,MAAM,YAAY;IAcvB,YACU,aAA4B,EAC5B,WAAyB,EACzB,cAA8B;QAF9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAc;QACzB,mBAAc,GAAd,cAAc,CAAgB;QAhBxC,aAAQ,GAAG,SAAS,CAAC;QAErB,WAAM,GAAG,MAAM,CAAC;QAEhB,UAAK,GAAG,MAAM,CAAC;QAIf,gBAAW,GAAG,MAAM,CAAC;QAErB,gBAAW,G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","file":"main-es2015.js","sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport {\r\n AngularFirestore,\r\n QueryDocumentSnapshot,\r\n} from '@angular/fire/firestore';\r\nimport {\r\n AngularFireStorage,\r\n AngularFireStorageReference,\r\n AngularFireUploadTask,\r\n} from '@angular/fire/storage';\r\nimport { EmailValidator } from '@angular/forms';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { finalize, debounceTime } from 'rxjs/operators';\r\nimport { SegmentoModel } from 'src/app/models/segmento.model';\r\nimport { FirebaseService } from '../app.login.firebase.service';\r\nimport { ProdutoModel } from '../produto/produto.model';\r\nimport { ParceiroModel } from './parceiro.model';\r\nimport { ParceiroNegocioEnderecosModel } from './parceiro.negocioenderecos.model';\r\nimport { ParceiroPedidosAnterioresModel } from './parceiro.pedidosanteriores.model';\r\nimport { ParceiroPrecosProdutosModel } from './parceiro.precosprodutos.model';\r\nimport { ParceiroProdutosQuantidadesCompradasModel } from './parceiro.produtosqtdcompradas.model';\r\nimport { ParceiroPromocoesPrecosModel } from './parceiro.promocoesprecos.model';\r\nimport { ParceiroService } from './parceiro.service';\r\n\r\n@Component({\r\n selector: 'app-parceiro',\r\n templateUrl: './parceiro.component.html',\r\n styleUrls: ['./parceiro.component.scss'],\r\n})\r\nexport class ParceiroComponent implements OnInit {\r\n show = false;\r\n\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n Produtos: ProdutoModel[] = JSON.parse(localStorage.getItem('Produtos'));\r\n Segmentos: SegmentoModel[] = JSON.parse(localStorage.getItem('Segmentos'));\r\n\r\n dataDialog: boolean;\r\n dataModify: boolean;\r\n\r\n //New email\r\n newEmail: EmailValidator;\r\n newPassword: string;\r\n newSubmitted: boolean;\r\n\r\n optionsSearch = ['RazaoSocial', 'CpfCnpj'];\r\n selectedOption = 'RazaoSocial';\r\n search = '';\r\n\r\n datas: Observable | any = [];\r\n datasParceiroNegociosComplementares: any;\r\n lista: ParceiroModel[];\r\n loading: boolean = true;\r\n data: ParceiroModel;\r\n selectedDatas: ParceiroModel;\r\n teste: any;\r\n submitted: boolean;\r\n\r\n lastPagePulled: number = 1;\r\n lastVisible: QueryDocumentSnapshot = null;\r\n searchTerm = new Subject();\r\n\r\n ref: AngularFireStorageReference;\r\n task: AngularFireUploadTask;\r\n uploadState: Observable;\r\n uploadProgress: Observable;\r\n downloadURL: Observable;\r\n\r\n selectedEnderecos: ParceiroNegocioEnderecosModel;\r\n selectedPedidosAnteriores: ParceiroPedidosAnterioresModel;\r\n selectedPrecosProdutos: ParceiroPrecosProdutosModel;\r\n selectedProdutosQuantidadesCompradas: ParceiroProdutosQuantidadesCompradasModel;\r\n selectedPromocoesPrecos: ParceiroPromocoesPrecosModel;\r\n private basePath = 'parceiros/';\r\n\r\n profileUrl: any;\r\n\r\n constructor(\r\n private service: ParceiroService,\r\n private messageService: MessageService,\r\n public firebaseService: FirebaseService,\r\n private confirmationService: ConfirmationService,\r\n public auth: AngularFireAuth,\r\n public firestore: AngularFirestore,\r\n private storage: AngularFireStorage\r\n ) {}\r\n\r\n ngOnDestroy() {}\r\n\r\n async ngOnInit() {\r\n this.searchTerm.pipe(debounceTime(1000)).subscribe((value) => {\r\n this.datas = [];\r\n this.lastPagePulled = 1;\r\n this.lastVisible = null;\r\n this.search = value;\r\n this.getParceiro();\r\n });\r\n this.data = {};\r\n this.getParceiro();\r\n }\r\n\r\n onOptionChange() {\r\n if (this.search) {\r\n this.datas = [];\r\n this.lastPagePulled = 1;\r\n this.lastVisible = null;\r\n this.getParceiro();\r\n }\r\n }\r\n\r\n onPageChange(event: any) {\r\n const pageSize = event.rows;\r\n const pageIndex = event.first / pageSize + 1;\r\n\r\n if (pageIndex > this.lastPagePulled) {\r\n this.lastPagePulled = pageIndex;\r\n this.getParceiro();\r\n }\r\n }\r\n\r\n onInputChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n this.searchTerm.next(input.value);\r\n }\r\n\r\n uploadedFiles: File = null;\r\n fb: any;\r\n\r\n private getParceiro() {\r\n try {\r\n this.auth.onAuthStateChanged((user) => {\r\n if (user) {\r\n this.loading = true;\r\n this.service\r\n .readParceiro(\r\n 51,\r\n this.selectedOption,\r\n this.search.toUpperCase(),\r\n this.lastVisible\r\n )\r\n .subscribe((data) => {\r\n this.datas = [\r\n ...this.datas,\r\n ...data.docs.map((e) => {\r\n const dataValue = e.data();\r\n\r\n const newDataValue = {\r\n id: e.id,\r\n isEdit: false,\r\n AreaDescricao: dataValue['AreaDescricao'],\r\n AreaID: dataValue['AreaID'],\r\n Ativo: dataValue['Ativo'],\r\n CarteiraVendaDescricao: dataValue['CarteiraVendaDescricao'],\r\n CarteiraVendaID: dataValue['CarteiraVendaID'],\r\n CodigoAlternativo: dataValue['CodigoAlternativo'],\r\n CpfCnpj: dataValue['CpfCnpj'],\r\n Email: dataValue['Email'],\r\n FirebaseID: dataValue['FirebaseID'],\r\n Homologado: dataValue['Homologado'],\r\n LimiteCreditoTotal: dataValue['LimiteCreditoTotal'],\r\n LimiteCreditoUsado: dataValue['LimiteCreditoUsado'],\r\n NomeFantasia: dataValue['NomeFantasia'],\r\n ParceiroNegocioID: dataValue['ParceiroNegocioID'],\r\n PedidoBloqueado: dataValue['PedidoBloqueado'],\r\n PedidoEmUnidade: dataValue['PedidoEmUnidade'],\r\n RazaoSocial: dataValue['RazaoSocial'],\r\n RgIe: dataValue['RgIe'],\r\n SegmentoDescricao: dataValue['SegmentoDescricao'],\r\n SegmentoID: dataValue['SegmentoID'],\r\n Telefone: dataValue['Telefone'],\r\n Celular: dataValue['Celular'],\r\n urlImage: dataValue['urlImage'],\r\n\r\n CondicoesFormasPagamentos:\r\n dataValue['CondicoesFormasPagamentos'],\r\n ParceiroNegocioEnderecos:\r\n dataValue['ParceiroNegocioEnderecos'],\r\n // Comodatos: dataValue['Comodatos'],\r\n // ContasReceber: dataValue['ContasReceber'],\r\n // PedidosAnteriores: dataValue['PedidosAnteriores'],\r\n // PrecosProdutos: dataValue['PrecosProdutos'],\r\n // ProdutosQuantidadesCompradas: dataValue['ProdutosQuantidadesCompradas'],\r\n // PromocoesPrecos: dataValue['PromocoesPrecos'],\r\n };\r\n\r\n return newDataValue;\r\n }),\r\n ];\r\n\r\n // Armazena o último documento para paginação futura\r\n this.lastVisible = data.docs[data.docs.length - 1];\r\n\r\n this.loading = false;\r\n });\r\n } else {\r\n this.datas = new Observable();\r\n }\r\n });\r\n } catch (error) {\r\n this.loading = false;\r\n alert(error);\r\n }\r\n }\r\n\r\n uploadParceiro(event) {\r\n this.uploadedFiles = event.target.files[0];\r\n\r\n try {\r\n if (this.uploadedFiles != null) {\r\n const filePath = `${this.basePath}/${this.data.ParceiroNegocioID}.png`;\r\n const storageRef = this.storage.ref(filePath);\r\n const uploadTask = this.storage.upload(filePath, this.uploadedFiles);\r\n\r\n uploadTask\r\n .snapshotChanges()\r\n .pipe(\r\n finalize(() => {\r\n storageRef.getDownloadURL().subscribe((downloadURL) => {\r\n this.fb = downloadURL;\r\n this.data.urlImage = downloadURL;\r\n\r\n if (this.data.id && this.data.urlImage == undefined) {\r\n this.data.urlImage = '';\r\n // this.service.updateParceiro(this.data.id, this.data);\r\n }\r\n\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Foto alterada com sucesso!',\r\n });\r\n //this.saveFileData(this.fb);\r\n });\r\n })\r\n )\r\n .subscribe();\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro em alterar foto!',\r\n });\r\n alert(error);\r\n }\r\n }\r\n\r\n // private saveFileData(fileUpload: FileUpload): void {\r\n // //this.db.list(this.basePath).push(fileUpload);\r\n // }\r\n\r\n async getImage(codigo: string): Promise {\r\n let resultado: Promise;\r\n try {\r\n await this.storage\r\n .ref(this.basePath + codigo + '.png')\r\n .getDownloadURL()\r\n .toPromise()\r\n .then((response: any) => {\r\n resultado = response;\r\n return resultado;\r\n })\r\n .catch((error) => error);\r\n\r\n return resultado;\r\n } catch (error) {}\r\n }\r\n\r\n openNew() {\r\n this.data = {};\r\n this.submitted = false;\r\n this.dataDialog = true;\r\n }\r\n\r\n async editData(data: ParceiroModel) {\r\n data.isEdit = true;\r\n this.loadingSave = false;\r\n\r\n // data.urlImage = await this.getImage(data.CategoriaID);\r\n let ProdutosQuantidadesComp: ParceiroProdutosQuantidadesCompradasModel[];\r\n ProdutosQuantidadesComp = [];\r\n\r\n this.datasParceiroNegociosComplementares = await this.listaComplementares(\r\n data\r\n );\r\n\r\n if (data.ProdutosQuantidadesCompradas != null) {\r\n for (\r\n let index = 0;\r\n index < data.ProdutosQuantidadesCompradas.length;\r\n index++\r\n ) {\r\n const elem = data.ProdutosQuantidadesCompradas[index];\r\n let descricao = this.Produtos.find(\r\n (x) => x.ProdutoID == elem.ProdutoID\r\n );\r\n const prodQuant: ParceiroProdutosQuantidadesCompradasModel = {\r\n ProdutoID: elem.ProdutoID,\r\n Descricao: descricao == undefined ? '' : descricao.Descricao,\r\n QuantidadeAtual: elem.QuantidadeAtual,\r\n QuantidadeMesPassado: elem.QuantidadeMesPassado,\r\n };\r\n\r\n ProdutosQuantidadesComp.push(prodQuant);\r\n }\r\n }\r\n data.ProdutosQuantidadesCompradas = ProdutosQuantidadesComp;\r\n this.data = { ...data };\r\n this.dataDialog = true;\r\n }\r\n\r\n listaComplementares(data: ParceiroModel): Promise<[]> {\r\n let listaComplementares: any;\r\n\r\n if (data.FirebaseID != undefined && data.FirebaseID != null) {\r\n this.firestore\r\n .collection('ParceirosNegociosComplementos', (ref) =>\r\n ref.where('FirebaseID', '==', data.FirebaseID)\r\n )\r\n .snapshotChanges()\r\n .subscribe((data) => {\r\n if (data[0] != null) {\r\n this.data.PedidosAnteriores =\r\n data[0].payload.doc.data()['PedidosAnteriores'];\r\n this.data.ProdutosQuantidadesCompradas =\r\n data[0].payload.doc.data()['ProdutosQuantidadesCompradas'];\r\n }\r\n });\r\n }\r\n\r\n return listaComplementares;\r\n }\r\n\r\n deleteData(data: ParceiroModel) {\r\n this.confirmationService.confirm({\r\n message: 'Tem certeza de que deseja excluir ' + data.NomeFantasia + '?',\r\n header: 'Informação',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptLabel: 'SIM',\r\n rejectLabel: 'NÃO',\r\n accept: async () => {\r\n try {\r\n let result = await this.service.PostDeletarParceiro(\r\n data.ParceiroNegocioID\r\n );\r\n console.log(result);\r\n if (result == false) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível excluir o registro!\\n' + result,\r\n });\r\n } else {\r\n this.service.deleteParceiro(data.id);\r\n this.data = {};\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Usuário excluído com sucesso!',\r\n life: 3000,\r\n });\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível fazer a exclusão! \\n' + error,\r\n });\r\n }\r\n },\r\n });\r\n }\r\n\r\n hideDialog() {\r\n this.dataDialog = false;\r\n this.submitted = false;\r\n }\r\n\r\n loadingSave: boolean = false;\r\n async saveData() {\r\n try {\r\n this.submitted = true;\r\n this.loadingSave = true;\r\n\r\n let data = {};\r\n\r\n if (this.data.FirebaseID != undefined) {\r\n data['AreaDescricao'] = this.FormataString(this.data.AreaDescricao);\r\n data['AreaID'] = this.FormataNumber(this.data.AreaID);\r\n data['Ativo'] = this.FormataString(this.data.Ativo);\r\n data['CarteiraVendaDescricao'] = this.FormataString(\r\n this.data.CarteiraVendaDescricao\r\n );\r\n data['CarteiraVendaID'] = this.FormataNumber(this.data.CarteiraVendaID);\r\n data['CodigoAlternativo'] = this.FormataString(\r\n this.data.CodigoAlternativo\r\n );\r\n data['CpfCnpj'] = this.FormataString(this.data.CpfCnpj);\r\n data['Email'] = this.FormataString(this.data.Email);\r\n data['Homologado'] = this.FormataString(this.data.Homologado);\r\n data['LimiteCreditoTotal'] = this.FormataNumber(\r\n this.data.LimiteCreditoTotal\r\n );\r\n data['LimiteCreditoUsado'] = this.FormataNumber(\r\n this.data.LimiteCreditoUsado\r\n );\r\n data['NomeFantasia'] = this.FormataString(this.data.NomeFantasia);\r\n data['ParceiroNegocioID'] = this.FormataString(\r\n this.data.ParceiroNegocioID\r\n );\r\n data['PedidoBloqueado'] = this.FormataString(this.data.PedidoBloqueado);\r\n data['PedidoEmUnidade'] = this.FormataString(this.data.PedidoEmUnidade);\r\n data['RazaoSocial'] = this.FormataString(this.data.RazaoSocial);\r\n data['RgIe'] = this.FormataString(this.data.RgIe);\r\n data['SegmentoDescricao'] = this.FormataString(\r\n this.data.SegmentoDescricao\r\n );\r\n data['SegmentoID'] = this.FormataNumber(this.data.SegmentoID);\r\n data['Telefone'] = this.FormataString(this.data.Telefone);\r\n data['Celular'] = this.FormataString(this.data.Celular);\r\n\r\n // data['Comodatos'] = this.data.Comodatos;\r\n data['CondicoesFormasPagamentos'] = this.data.CondicoesFormasPagamentos;\r\n // data['ContasReceber'] = this.data.ContasReceber;\r\n data['ParceiroNegocioEnderecos'] = this.data.ParceiroNegocioEnderecos;\r\n // data['PedidosAnteriores'] = this.data.PedidosAnteriores;\r\n // data['PrecosProdutos'] = this.data.PrecosProdutos;\r\n // data['ProdutosQuantidadesCompradas'] = this.data.ProdutosQuantidadesCompradas;\r\n // data['PromocoesPrecos'] = this.data.PromocoesPrecos;\r\n\r\n data['urlImage'] = this.FormataString(this.data.urlImage);\r\n\r\n this.service.updateParceiro(this.data.FirebaseID, data);\r\n let result = await this.service.PostParceiroAlterar(this.data);\r\n\r\n console.log(result);\r\n if (result == true) {\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível atualizar o registro!\\n' + result,\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível fazer a requisição! \\n' + error,\r\n });\r\n }\r\n }\r\n\r\n FormataString(data) {\r\n if (data == null || data == undefined) {\r\n return '';\r\n }\r\n return data;\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n FormataNumber(data) {\r\n if (data == null || data == undefined) {\r\n return 0;\r\n }\r\n return data;\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n onChangeSegmento(event) {\r\n if (event != null || event != undefined) {\r\n this.data.SegmentoDescricao = '';\r\n this.data.SegmentoID = 0;\r\n this.data.SegmentoID = this.Segmentos.find(\r\n (x) => x.Nome == event\r\n ).SegmentoID;\r\n this.data.SegmentoDescricao = this.Segmentos.find(\r\n (x) => x.Nome == event\r\n ).Nome;\r\n }\r\n }\r\n\r\n async atualizarParceiros() {\r\n if (this.selectedDatas != null) {\r\n this.service.atualizaParceiro(this.selectedDatas.FirebaseID).subscribe(\r\n (data) => {\r\n this.loading = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Lista atualizada!',\r\n life: 3000,\r\n });\r\n },\r\n (err) => {\r\n console.log(err);\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + err,\r\n });\r\n this.loading = false;\r\n }\r\n );\r\n } else {\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Nenhum registro selecionado!',\r\n life: 3000,\r\n });\r\n }\r\n }\r\n\r\n displayImage: boolean;\r\n\r\n showImageDialog() {\r\n this.displayImage = true;\r\n }\r\n\r\n parceiroModigy(data: ParceiroModel) {\r\n data.isEdit = true;\r\n this.data = { ...data };\r\n this.dataModify = true;\r\n }\r\n\r\n cancelDialog() {\r\n this.dataModify = false;\r\n this.submitted = false;\r\n this.newEmail = undefined;\r\n this.newPassword = undefined;\r\n }\r\n\r\n async modifyPass(data: ParceiroModel, email: string, password: string) {\r\n this.submitted = true;\r\n\r\n try {\r\n if (email == undefined || password == undefined) {\r\n this.newPassword = undefined;\r\n this.newEmail = undefined;\r\n this.submitted = false;\r\n return;\r\n }\r\n\r\n if (data.FirebaseID != null || data.FirebaseID != undefined) {\r\n this.service.postAtualizaDadosParceiro(\r\n email,\r\n data.FirebaseID,\r\n password\r\n );\r\n\r\n this.newPassword = undefined;\r\n this.newEmail = undefined;\r\n this.submitted = false;\r\n this.dataModify = false;\r\n\r\n this.cancelDialog();\r\n\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Parceiro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível fazer a requisição! \\n' + error,\r\n });\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Gerenciamento de Parceiros
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Código\r\n \r\n \r\n Razão/Nome\r\n \r\n \r\n CNPJ\r\n \r\n \r\n Segmento\r\n \r\n\r\n \r\n Carteira \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.CodigoAlternativo }}\r\n {{ data.RazaoSocial }}\r\n {{ data.CpfCnpj }}\r\n {{ data.SegmentoDescricao }}\r\n {{ data.CarteiraVendaDescricao }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Razão Social é obrigatório.\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n E-mail Fantasia é obrigatório.\r\n
\r\n
\r\n \r\n \r\n Senha é obrigatório.\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Razão Social é obrigatório.\r\n
\r\n
\r\n \r\n \r\n Nome Fantasia é obrigatório.\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Endereço De\r\n Endereço\r\n Bairro\r\n Número\r\n CEP\r\n Cidade\r\n Estado\r\n \r\n \r\n \r\n \r\n {{ data.EnderecoDe }}\r\n {{ data.Endereco }}\r\n {{ data.Bairro }}\r\n {{ data.Numero }}\r\n {{ data.CEP }}\r\n {{ data.CidadeNome }}\r\n {{ data.Estado }}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Data\r\n Carteira\r\n Condição Pagto\r\n Status\r\n Total\r\n Bonificado\r\n Troca\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.Data.toDate() | date : 'dd/MM/yyyy' }}\r\n {{ data.CarteiraVendaDescricao }}\r\n {{ data.CondicaoFormaPagamento }}\r\n {{ data.ListaStatusDescricao }}\r\n \r\n {{ data.Total | currency : 'BRL' : true }}\r\n \r\n \r\n {{ data.TotalBonificado | currency : 'BRL' : true }}\r\n \r\n \r\n {{ data.TotalTroca | currency : 'BRL' : 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 Produto ID\r\n \r\n \r\n \r\n Produto Descrição\r\n \r\n \r\n Total Venda\r\n \r\n \r\n \r\n \r\n {{ order.ProdutoID }}\r\n {{ order.ProdutoDescricao }}\r\n \r\n {{ order.TotalVenda | currency : 'BRL' : true }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ainda não há Itens para este Pedido.\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n Produto ID\r\n Nome\r\n Quantidade Atual\r\n Quantidade Mês Anterior\r\n \r\n \r\n \r\n \r\n {{ data.ProdutoID }}\r\n {{ data.Descricao }}\r\n \r\n {{ data.QuantidadeAtual | currency : 'BRL' : true }}\r\n \r\n \r\n {{ data.QuantidadeMesPassado | currency : 'BRL' : true }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFireDatabase } from '@angular/fire/database';\r\nimport { AngularFireStorage } from '@angular/fire/storage';\r\nimport { CategoriaModel } from '../categoria/categoria.model';\r\nimport { ParceiroCupomModel } from './cupom.model';\r\nimport { PapeisClienteModel } from 'src/app/models/papeiscliente.model';\r\nimport { SegmentoModel } from 'src/app/models/segmento.model';\r\nimport { CarteiraModel } from 'src/app/models/carteira.model';\r\nimport { SupervisorModel } from 'src/app/models/supervisor.model';\r\nimport { CidadeModel } from 'src/app/models/cidade.model';\r\nimport { UnidadeModel } from 'src/app/models/unidade.model';\r\n\r\n@Injectable()\r\nexport class ParceiroCupomService {\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n\r\n private basePath = '/cupom';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n public firestore: AngularFirestore,\r\n public fireAuth: AngularFireAuth,\r\n private db: AngularFireDatabase,\r\n private storage: AngularFireStorage\r\n ) {}\r\n /* Cria um novo registro na coleção especificada usando o método add */\r\n createParceiroCupom(record, guide: string) {\r\n console.log(guide);\r\n return this.firestore.collection('Cupom').doc(guide).set(record);\r\n }\r\n\r\n updateParceiroCupom(recordID, record) {\r\n this.firestore.doc('Cupom/' + recordID).update(record);\r\n }\r\n\r\n readParceiroCupom() {\r\n return this.firestore\r\n .collection('Cupom')\r\n .snapshotChanges();\r\n }\r\n deleteCupom(recordID) {\r\n this.firestore.doc('Cupom/' + recordID).delete();\r\n }\r\n //LISTAS\r\n readCategoria() {\r\n return this.firestore\r\n .collection('Categorias')\r\n .snapshotChanges();\r\n }\r\n readUnidadesCupom() {\r\n return this.firestore\r\n .collection('Unidades')\r\n .snapshotChanges();\r\n }\r\n readCidadesCupom() {\r\n return this.firestore.collection('Cidades').snapshotChanges();\r\n }\r\n readSupervisorCupom() {\r\n return this.firestore\r\n .collection('Supervisores')\r\n .snapshotChanges();\r\n }\r\n readCarteiraCupom() {\r\n return this.firestore\r\n .collection('CarteirasVendas')\r\n .snapshotChanges();\r\n }\r\n readSegmentosCupom() {\r\n return this.firestore\r\n .collection('Segmentos')\r\n .snapshotChanges();\r\n }\r\n readPapeisClientesCupom() {\r\n return this.firestore\r\n .collection('PapeisClientes')\r\n .snapshotChanges();\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('currentUser');\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport {\r\n AngularFireStorage,\r\n AngularFireStorageReference,\r\n AngularFireUploadTask,\r\n} from '@angular/fire/storage';\r\nimport { UUID } from 'angular2-uuid';\r\nimport {\r\n ConfirmationService,\r\n MessageService,\r\n PrimeNGConfig,\r\n} from 'primeng/api';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { CarteiraModel } from 'src/app/models/carteira.model';\r\nimport { CidadeModel } from 'src/app/models/cidade.model';\r\nimport { PapeisClienteModel } from 'src/app/models/papeiscliente.model';\r\nimport { SegmentoModel } from 'src/app/models/segmento.model';\r\nimport { SupervisorModel } from 'src/app/models/supervisor.model';\r\nimport { UnidadeModel } from 'src/app/models/unidade.model';\r\nimport { FirebaseService } from '../app.login.firebase.service';\r\nimport { ProdutoModel } from '../produto/produto.model';\r\nimport { PromocaoCarteiraVendasModel } from './promocao.carteiravendas.model';\r\nimport { PromocaoCidadesModel } from './promocao.cidades.model';\r\nimport { PromocaoDescontoModel } from './promocao.desconto.model';\r\nimport { ParceiroPromocaoModel } from './promocao.model';\r\nimport { PromocaoPapeisClienteModel } from './promocao.papeiscliente.model';\r\nimport { PromocaoProdutosModel } from './promocao.produtos.model';\r\nimport { PromocaoSegmentoModel } from './promocao.segmento.model';\r\nimport { ParceiroPromocaoService } from './promocao.service';\r\nimport { PromocaoSupervisorModel } from './promocao.supervisor.model';\r\nimport { PromocaoUnidadeModel } from './promocao.unidade.model';\r\n\r\n@Component({\r\n selector: 'app-promocao',\r\n templateUrl: './promocao.component.html',\r\n styleUrls: ['./promocao.component.scss'],\r\n})\r\nexport class PromocaoComponent implements OnInit {\r\n show = false;\r\n ativosInativos = '';\r\n\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n Produtos: ProdutoModel[] = JSON.parse(localStorage.getItem('Produtos'));\r\n Unidades: UnidadeModel[];\r\n Cidades: CidadeModel[];\r\n Supervisores: SupervisorModel[];\r\n Carteiras: CarteiraModel[];\r\n Segmentos: SegmentoModel[];\r\n PapeisClientes: PapeisClienteModel[];\r\n\r\n PeriodoDataInicial: Date = new Date(2000, 2, 1);\r\n PeriodoDataFinal: Date = new Date();\r\n FiltroDescricao: string;\r\n\r\n dataDialog: boolean;\r\n\r\n Minimo: number;\r\n Maximo: number;\r\n\r\n datas: any;\r\n lista: ParceiroPromocaoModel[];\r\n loading: boolean = true;\r\n data: ParceiroPromocaoModel;\r\n dataDesconto: PromocaoDescontoModel;\r\n selectedDatas: ParceiroPromocaoModel[];\r\n submitted: boolean;\r\n Guide: string;\r\n\r\n ref: AngularFireStorageReference;\r\n task: AngularFireUploadTask;\r\n uploadState: Observable;\r\n uploadProgress: Observable;\r\n downloadURL: Observable;\r\n\r\n selectedPromocaoDescontoModels: PromocaoDescontoModel;\r\n\r\n ListaPromocoesProdutos: PromocaoProdutosModel[];\r\n ListaPromocoesUnidades: PromocaoUnidadeModel[];\r\n ListaPromocoesCidades: PromocaoCidadesModel[];\r\n ListaPromocoesSupervisores: PromocaoSupervisorModel[];\r\n ListaPromocoesCarteirasVendas: PromocaoCarteiraVendasModel[];\r\n ListaPromocoesSegmentos: PromocaoSegmentoModel[];\r\n ListaPromocoesPapeisClientes: PromocaoPapeisClienteModel[];\r\n\r\n promocoesDescontos: PromocaoDescontoModel[];\r\n private basePath = 'promocoes/';\r\n\r\n profileUrl: any;\r\n\r\n constructor(\r\n private service: ParceiroPromocaoService,\r\n private messageService: MessageService,\r\n public firebaseService: FirebaseService,\r\n private confirmationService: ConfirmationService,\r\n public auth: AngularFireAuth,\r\n public firestore: AngularFirestore,\r\n private storage: AngularFireStorage,\r\n private config: PrimeNGConfig\r\n ) {\r\n this.ListaPromocoesProdutos = [];\r\n this.ListaPromocoesCidades = [];\r\n this.ListaPromocoesUnidades = [];\r\n this.ListaPromocoesSupervisores = [];\r\n this.ListaPromocoesCarteirasVendas = [];\r\n this.ListaPromocoesSegmentos = [];\r\n this.ListaPromocoesPapeisClientes = [];\r\n this.promocoesDescontos = [];\r\n\r\n this.config.setTranslation({\r\n accept: 'Aceitar',\r\n reject: 'Cancelar',\r\n dayNames: [\r\n 'Domingo',\r\n 'Segunda',\r\n 'Terça',\r\n 'Quarta',\r\n 'Quinta',\r\n 'Sexta',\r\n 'Sábado',\r\n ],\r\n dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],\r\n dayNamesMin: ['Do', 'Se', 'Te', 'Qu', 'Qu', 'Se', 'Sa'],\r\n monthNames: [\r\n 'Janeiro',\r\n 'Fevereiro',\r\n 'Março',\r\n 'Abril',\r\n 'Maio',\r\n 'Junho',\r\n 'Julho',\r\n 'Agosto',\r\n 'Setembro',\r\n 'Outubro',\r\n 'Novembro',\r\n 'Dezembro',\r\n ],\r\n monthNamesShort: [\r\n 'Jan',\r\n 'Fev',\r\n 'Mar',\r\n 'Abr',\r\n 'Mai',\r\n 'Jun',\r\n 'Jul',\r\n 'Ago',\r\n 'Set',\r\n 'Out',\r\n 'Nov',\r\n 'Dez',\r\n ],\r\n today: 'Hoje',\r\n clear: 'Limpar',\r\n //translations\r\n });\r\n\r\n this.carregarListas();\r\n this.pesquisar();\r\n }\r\n\r\n mudarAtivosInativos(args: string) {\r\n this.ativosInativos = args;\r\n }\r\n\r\n datasFiltred() {\r\n if (this.datas)\r\n return this.datas.filter((data) =>\r\n this.ativosInativos === '' ? true : data.Ativo === this.ativosInativos\r\n );\r\n }\r\n\r\n pesquisar() {\r\n try {\r\n this.auth.onAuthStateChanged((user) => {\r\n if (user) {\r\n this.service.readParceiroPromocao().subscribe((data) => {\r\n this.datas = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n\r\n return {\r\n id: e.payload.doc.id,\r\n isEdit: false,\r\n Banner: dataValues['Banner'],\r\n DataFinal: dataValues['DataFinal'],\r\n DataInicio: dataValues['DataInicio'],\r\n Descricao: dataValues['Descricao'],\r\n DescricaoAplicativo: dataValues['DescricaoAplicativo'],\r\n PromocaoID: dataValues['PromocaoID'],\r\n PromocaoMktPlace: dataValues['PromocaoMktPlace'],\r\n Ativo: dataValues['Ativo'],\r\n Destacar: dataValues['Destacar'],\r\n DestacarNoProduto: dataValues['DestacarNoProduto'],\r\n\r\n PromocoesCarteirasVendas:\r\n dataValues['PromocoesCarteirasVendas'],\r\n PromocoesCidades: dataValues['PromocoesCidades'],\r\n PromocoesDescontos: dataValues['PromocoesDescontos'],\r\n PromocoesProdutos: dataValues['PromocoesProdutos'],\r\n PromocoesSegmentos: dataValues['PromocoesSegmentos'],\r\n PromocoesSupervisores: dataValues['PromocoesSupervisores'],\r\n PromocoesUnidades: dataValues['PromocoesUnidades'],\r\n PromocoesPapeisClientes: dataValues['PromocoesPapeisClientes'],\r\n };\r\n });\r\n });\r\n } else {\r\n this.datas = new Observable();\r\n }\r\n this.loading = false;\r\n });\r\n } catch (error) {\r\n this.loading = false;\r\n alert(error);\r\n }\r\n }\r\n\r\n carregarListas() {\r\n this.ListaPromocoesProdutos = [];\r\n this.ListaPromocoesUnidades = [];\r\n this.ListaPromocoesCidades = [];\r\n this.ListaPromocoesSupervisores = [];\r\n this.ListaPromocoesCarteirasVendas = [];\r\n this.ListaPromocoesSegmentos = [];\r\n this.ListaPromocoesPapeisClientes = [];\r\n this.promocoesDescontos = [];\r\n\r\n //#region LISTA\r\n this.Produtos = JSON.parse(localStorage.getItem('Produtos'));\r\n this.Unidades = [];\r\n this.Cidades = [];\r\n this.Supervisores = [];\r\n this.Carteiras = [];\r\n this.Segmentos = [];\r\n this.PapeisClientes = [];\r\n\r\n //UNIDADES\r\n this.service.readUnidadesPromocao().subscribe((data) => {\r\n this.Unidades = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n UnidadeID: dataValues['UnidadeID'],\r\n Descricao: dataValues['Descricao'],\r\n };\r\n });\r\n });\r\n // FIM UNIDADES\r\n\r\n //CIDADES\r\n this.service.readCidadesPromocao().subscribe((data) => {\r\n this.Cidades = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n CidadeID: dataValues['CidadeID'],\r\n Descricao: dataValues['Descricao'],\r\n Estado: dataValues['Estado'],\r\n };\r\n });\r\n });\r\n // FIM CIDADES\r\n\r\n //SUPERVISORES\r\n this.service.readSupervisorPromocao().subscribe((data) => {\r\n this.Supervisores = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n SupervisorID: dataValues['SupervisorID'],\r\n Nome: dataValues['Nome'],\r\n };\r\n });\r\n });\r\n // FIM SUPERVISORES\r\n\r\n //CARTEIRA\r\n this.service.readCarteiraPromocao().subscribe((data) => {\r\n this.Carteiras = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n CarteiraVendaID: dataValues['CarteiraVendaID'],\r\n Descricao: dataValues['Descricao'],\r\n Status: dataValues['Status'],\r\n SupervisorID: dataValues['SupervisorID'],\r\n SupervisorNome: dataValues['SupervisorNome'],\r\n UnidadeDescricao: dataValues['UnidadeDescricao'],\r\n UnidadeID: dataValues['UnidadeID'],\r\n };\r\n });\r\n });\r\n // FIM CARTEIRA\r\n\r\n //SEGMENTOS\r\n this.service.readSegmentosPromocao().subscribe((data) => {\r\n this.Segmentos = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n SegmentoID: dataValues['SegmentoID'],\r\n Nome: dataValues['Nome'],\r\n };\r\n });\r\n });\r\n // FIM SEGMENTOS\r\n\r\n //PAPEIS CLIENTES\r\n this.service.readPapeisClientesPromocao().subscribe((data) => {\r\n this.PapeisClientes = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n PapelClienteID: dataValues['PapelClienteID'],\r\n Descricao: dataValues['Descricao'],\r\n Ativo: dataValues['Ativo'],\r\n };\r\n });\r\n });\r\n // FIM PAPEIS CLIENTES\r\n //#endregion\r\n }\r\n\r\n ngOnDestroy() {}\r\n\r\n async ngOnInit() {\r\n this.data = {};\r\n this.dataDesconto = {};\r\n }\r\n\r\n displayImage: boolean;\r\n\r\n showImageDialog() {\r\n this.displayImage = true;\r\n }\r\n openNew() {\r\n this.data = {};\r\n this.dataDesconto = {};\r\n this.Guide = UUID.UUID();\r\n\r\n this.selecionadoDesconto = false;\r\n this.indexDesconto = -1;\r\n\r\n this.submitted = false;\r\n this.dataDialog = true;\r\n }\r\n\r\n uploadedFiles: File = null;\r\n fb: any;\r\n uploadPromocao(event) {\r\n this.uploadedFiles = event.target.files[0];\r\n\r\n try {\r\n if (this.uploadedFiles != null) {\r\n let filePath: any;\r\n if (this.data.PromocaoID != null && this.data.PromocaoID != undefined) {\r\n filePath = `${this.basePath}/${this.data.PromocaoID}.png`;\r\n } else {\r\n filePath = `${this.basePath}/${this.Guide}.png`;\r\n }\r\n\r\n const storageRef = this.storage.ref(filePath);\r\n const uploadTask = this.storage.upload(filePath, this.uploadedFiles);\r\n\r\n uploadTask\r\n .snapshotChanges()\r\n .pipe(\r\n finalize(() => {\r\n storageRef.getDownloadURL().subscribe((downloadURL) => {\r\n this.fb = downloadURL;\r\n this.data.Banner = downloadURL;\r\n\r\n if (this.data.PromocaoID != undefined) {\r\n if (this.data.Banner == undefined) {\r\n this.data.Banner = '';\r\n }\r\n // this.service.updateParceiro(this.data.id, this.data);\r\n }\r\n\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Foto alterada com sucesso!',\r\n });\r\n //this.saveFileData(this.fb);\r\n });\r\n })\r\n )\r\n .subscribe();\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro em alterar foto!',\r\n });\r\n alert(error);\r\n }\r\n }\r\n\r\n FormataStringData(data) {\r\n var dia = data.split('/')[0];\r\n var mes = data.split('/')[1];\r\n var ano = data.split('/')[2];\r\n\r\n return (\r\n ano +\r\n '-' +\r\n ('0' + mes).slice(-2) +\r\n '-' +\r\n ('0' + dia).slice(-2) +\r\n ' 00:00:00'\r\n );\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n FormataString(data) {\r\n if (\r\n data == null ||\r\n data == undefined ||\r\n data == 'null' ||\r\n data == 'undefined'\r\n ) {\r\n return '';\r\n }\r\n\r\n return data;\r\n }\r\n\r\n FormataNumber(data) {\r\n if (data == null || data == undefined) {\r\n return 0;\r\n }\r\n return data;\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n FormataBolean(data) {\r\n if (data == null || data == undefined) {\r\n return false;\r\n }\r\n return data;\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n convert(str) {\r\n var date = new Date(str);\r\n var mnth = ('0' + (date.getMonth() + 1)).slice(-2);\r\n var day = ('0' + date.getDate()).slice(-2);\r\n\r\n return [date.getFullYear(), mnth, day].join('/');\r\n }\r\n\r\n formatarDataExtenso(data) {\r\n // Meses possíveis\r\n var meses = [\r\n 'Janeiro',\r\n 'Fevereiro',\r\n 'Março',\r\n 'Abril',\r\n 'Maio',\r\n 'Junho',\r\n 'Julho',\r\n 'Agosto',\r\n 'Setembro',\r\n 'Outubro',\r\n 'Novembro',\r\n 'Dezembro',\r\n ];\r\n // Dias possíveis\r\n var diasSemana = [\r\n 'Domingo',\r\n 'Segunda-feira',\r\n 'Terça-feira',\r\n 'Quarta-feira',\r\n 'Quinta-feira',\r\n 'Sexta-feira',\r\n 'Sábado',\r\n ];\r\n // Partes da data informada\r\n var dia = data.getDate();\r\n var dias = data.getDay();\r\n var mes = data.getMonth();\r\n var ano = data.getYear();\r\n\r\n var hora = new Date().getHours();\r\n var minu = new Date().getMinutes();\r\n var segu = new Date().getSeconds();\r\n // Resultado\r\n var extenso = '';\r\n //DataFinal\r\n //5 de agosto de 2021 21:00:00 UTC-3\r\n //DataInicio\r\n //1 de agosto de 2021 21:00:00 UTC-3\r\n\r\n // Para o navegador Netscape o ano começa em 1900\r\n if (navigator.appName == 'Netscape') {\r\n ano = ano + 1900;\r\n }\r\n\r\n //return extenso = diasSemana[dias] + ', ' + dia + ' de ' + meses[mes] + ' de ' + ano;\r\n\r\n return (extenso =\r\n dia +\r\n ' de ' +\r\n meses[mes] +\r\n ' de ' +\r\n ano +\r\n ' ' +\r\n ('0' + hora).slice(-2) +\r\n ':' +\r\n ('0' + minu).slice(-2) +\r\n ':' +\r\n ('0' + segu).slice(-2) +\r\n ' UTC-3');\r\n }\r\n\r\n editData(data: ParceiroPromocaoModel) {\r\n this.selecionadoDesconto = false;\r\n this.loadingSave = false;\r\n\r\n this.indexDesconto = -1;\r\n this.dataDesconto = {};\r\n\r\n this.data = { ...data };\r\n\r\n if (data.DataInicio) {\r\n let DI: any = data.DataInicio;\r\n this.data.DataInicio = new Date(this.convert(new Date(DI.toDate())));\r\n } else {\r\n this.data.DataInicio = null;\r\n }\r\n\r\n if (data.DataFinal) {\r\n let DF: any = data.DataFinal;\r\n this.data.DataFinal = new Date(this.convert(new Date(DF.toDate())));\r\n } else {\r\n this.data.DataFinal = null;\r\n }\r\n\r\n //#region LISTAS\r\n\r\n this.promocoesDescontos = [];\r\n this.ListaPromocoesProdutos = [];\r\n this.ListaPromocoesUnidades = [];\r\n this.ListaPromocoesCidades = [];\r\n this.ListaPromocoesSupervisores = [];\r\n this.ListaPromocoesCarteirasVendas = [];\r\n this.ListaPromocoesSegmentos = [];\r\n this.ListaPromocoesPapeisClientes = [];\r\n\r\n this.promocoesDescontos = [...data.PromocoesDescontos];\r\n this.ListaPromocoesProdutos = [...data.PromocoesProdutos];\r\n this.ListaPromocoesUnidades = [...data.PromocoesUnidades];\r\n this.ListaPromocoesCidades = [...data.PromocoesCidades];\r\n this.ListaPromocoesSupervisores = [...data.PromocoesSupervisores];\r\n this.ListaPromocoesCarteirasVendas = [...data.PromocoesCarteirasVendas];\r\n this.ListaPromocoesSegmentos = [...data.PromocoesSegmentos];\r\n this.ListaPromocoesPapeisClientes = [...data.PromocoesPapeisClientes];\r\n\r\n data.isEdit = true;\r\n // data.urlImage = await this.getImage(data.CategoriaID);\r\n //REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n if (this.ListaPromocoesProdutos.length > 0) {\r\n for (let index = 0; index < this.ListaPromocoesProdutos.length; index++) {\r\n const element = this.ListaPromocoesProdutos[index];\r\n if (element != null) {\r\n const p = this.Produtos.find((x) => x.ProdutoID == element.ProdutoID);\r\n if (p != null) {\r\n this.ListaPromocoesProdutos[index].Descricao = p.Descricao;\r\n const x = this.Produtos.indexOf(p);\r\n this.Produtos.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n //REMOVENDO UNIDADES DA LISTA UNIDADES\r\n if (this.ListaPromocoesUnidades.length > 0) {\r\n for (let index = 0; index < this.ListaPromocoesUnidades.length; index++) {\r\n const element = this.ListaPromocoesUnidades[index];\r\n if (element != null) {\r\n const p = this.Unidades.find((x) => x.UnidadeID == element.UnidadeID);\r\n if (p != null) {\r\n this.ListaPromocoesUnidades[index].Descricao = p.Descricao;\r\n const x = this.Unidades.indexOf(p);\r\n this.Unidades.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO UNIDADES DA LISTA UNIDADES\r\n\r\n //REMOVENDO CIDADES DA LISTA CIDADES\r\n if (this.ListaPromocoesCidades.length > 0) {\r\n for (let index = 0; index < this.ListaPromocoesCidades.length; index++) {\r\n const element = this.ListaPromocoesCidades[index];\r\n if (element != null) {\r\n const p = this.Cidades.find((x) => x.CidadeID == element.CidadeID);\r\n if (p != null) {\r\n this.ListaPromocoesCidades[index].Descricao = p.Descricao;\r\n this.ListaPromocoesCidades[index].Estado = p.Estado;\r\n const x = this.Cidades.indexOf(p);\r\n this.Cidades.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO CIDADES DA LISTA CIDADES\r\n\r\n //REMOVENDO SUPERVISOR DA LISTA SUPERVISOR\r\n if (this.ListaPromocoesSupervisores.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesSupervisores.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesSupervisores[index];\r\n if (element != null) {\r\n const p = this.Supervisores.find(\r\n (x) => x.SupervisorID == element.SupervisorID\r\n );\r\n if (p != null) {\r\n this.ListaPromocoesSupervisores[index].Nome = p.Nome;\r\n const x = this.Supervisores.indexOf(p);\r\n this.Supervisores.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO SUPERVISOR DA LISTA SUPERVISOR\r\n\r\n //REMOVENDO CARTEIRAS DA LISTA CARTEIRAS\r\n if (this.ListaPromocoesCarteirasVendas.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesCarteirasVendas.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesCarteirasVendas[index];\r\n if (element != null) {\r\n const p = this.Carteiras.find(\r\n (x) => x.CarteiraVendaID == element.CarteiraVendaID\r\n );\r\n if (p != null) {\r\n this.ListaPromocoesCarteirasVendas[index].Descricao = p.Descricao;\r\n const x = this.Carteiras.indexOf(p);\r\n this.Carteiras.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO CARTEIRAS DA LISTA CARTEIRAS\r\n\r\n //REMOVENDO SEGMENTOS DA LISTA SEGMENTOS\r\n if (this.ListaPromocoesSegmentos.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesSegmentos.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesSegmentos[index];\r\n if (element != null) {\r\n const p = this.Segmentos.find(\r\n (x) => x.SegmentoID == element.SegmentoID\r\n );\r\n if (p != null) {\r\n this.ListaPromocoesSegmentos[index].Nome = p.Nome;\r\n const x = this.Segmentos.indexOf(p);\r\n this.Segmentos.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO SEGMENTOS DA LISTA SEGMENTOS\r\n\r\n //REMOVENDO PAPEIS CLIENTE DA LISTA PAPEIS CLIENTE\r\n if (this.ListaPromocoesPapeisClientes.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesPapeisClientes.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesPapeisClientes[index];\r\n if (element != null) {\r\n const p = this.PapeisClientes.find(\r\n (x) => x.PapelClienteID == element.PapelClienteID\r\n );\r\n if (p != null) {\r\n this.ListaPromocoesPapeisClientes[index].Descricao = p.Descricao;\r\n const x = this.PapeisClientes.indexOf(p);\r\n this.PapeisClientes.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PAPEIS CLIENTE DA LISTA PAPEIS CLIENTE\r\n\r\n //#endregion\r\n\r\n this.dataDialog = true;\r\n }\r\n\r\n editDuplicar(data: ParceiroPromocaoModel) {\r\n this.selecionadoDesconto = false;\r\n this.loadingSave = false;\r\n\r\n this.indexDesconto = -1;\r\n this.dataDesconto = {};\r\n\r\n data.PromocaoID = undefined;\r\n this.Guide = UUID.UUID();\r\n this.data = { ...data };\r\n\r\n if (data.DataInicio) {\r\n let DI: any = data.DataInicio;\r\n this.data.DataInicio = new Date(this.convert(new Date(DI.toDate())));\r\n } else {\r\n this.data.DataInicio = null;\r\n }\r\n\r\n if (data.DataFinal) {\r\n let DF: any = data.DataFinal;\r\n this.data.DataFinal = new Date(this.convert(new Date(DF.toDate())));\r\n } else {\r\n this.data.DataFinal = null;\r\n }\r\n\r\n //#region LISTAS\r\n\r\n this.promocoesDescontos = [];\r\n this.ListaPromocoesProdutos = [];\r\n this.ListaPromocoesUnidades = [];\r\n this.ListaPromocoesCidades = [];\r\n this.ListaPromocoesSupervisores = [];\r\n this.ListaPromocoesCarteirasVendas = [];\r\n this.ListaPromocoesSegmentos = [];\r\n this.ListaPromocoesPapeisClientes = [];\r\n\r\n this.promocoesDescontos = [...data.PromocoesDescontos];\r\n this.ListaPromocoesProdutos = [...data.PromocoesProdutos];\r\n this.ListaPromocoesUnidades = [...data.PromocoesUnidades];\r\n this.ListaPromocoesCidades = [...data.PromocoesCidades];\r\n this.ListaPromocoesSupervisores = [...data.PromocoesSupervisores];\r\n this.ListaPromocoesCarteirasVendas = [...data.PromocoesCarteirasVendas];\r\n this.ListaPromocoesSegmentos = [...data.PromocoesSegmentos];\r\n this.ListaPromocoesPapeisClientes = [...data.PromocoesPapeisClientes];\r\n\r\n data.isEdit = true;\r\n // data.urlImage = await this.getImage(data.CategoriaID);\r\n //REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n if (this.ListaPromocoesProdutos.length > 0) {\r\n for (let index = 0; index < this.ListaPromocoesProdutos.length; index++) {\r\n const element = this.ListaPromocoesProdutos[index];\r\n if (element != null) {\r\n const p = this.Produtos.find((x) => x.ProdutoID == element.ProdutoID);\r\n if (p != null) {\r\n this.ListaPromocoesProdutos[index].Descricao = p.Descricao;\r\n const x = this.Produtos.indexOf(p);\r\n this.Produtos.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n //REMOVENDO UNIDADES DA LISTA UNIDADES\r\n if (this.ListaPromocoesUnidades.length > 0) {\r\n for (let index = 0; index < this.ListaPromocoesUnidades.length; index++) {\r\n const element = this.ListaPromocoesUnidades[index];\r\n if (element != null) {\r\n const p = this.Unidades.find((x) => x.UnidadeID == element.UnidadeID);\r\n if (p != null) {\r\n this.ListaPromocoesUnidades[index].Descricao = p.Descricao;\r\n const x = this.Unidades.indexOf(p);\r\n this.Unidades.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO UNIDADES DA LISTA UNIDADES\r\n\r\n //REMOVENDO CIDADES DA LISTA CIDADES\r\n if (this.ListaPromocoesCidades.length > 0) {\r\n for (let index = 0; index < this.ListaPromocoesCidades.length; index++) {\r\n const element = this.ListaPromocoesCidades[index];\r\n if (element != null) {\r\n const p = this.Cidades.find((x) => x.CidadeID == element.CidadeID);\r\n if (p != null) {\r\n this.ListaPromocoesCidades[index].Descricao = p.Descricao;\r\n this.ListaPromocoesCidades[index].Estado = p.Estado;\r\n const x = this.Cidades.indexOf(p);\r\n this.Cidades.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO CIDADES DA LISTA CIDADES\r\n\r\n //REMOVENDO SUPERVISOR DA LISTA SUPERVISOR\r\n if (this.ListaPromocoesSupervisores.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesSupervisores.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesSupervisores[index];\r\n if (element != null) {\r\n const p = this.Supervisores.find(\r\n (x) => x.SupervisorID == element.SupervisorID\r\n );\r\n if (p != null) {\r\n this.ListaPromocoesSupervisores[index].Nome = p.Nome;\r\n const x = this.Supervisores.indexOf(p);\r\n this.Supervisores.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO SUPERVISOR DA LISTA SUPERVISOR\r\n\r\n //REMOVENDO CARTEIRAS DA LISTA CARTEIRAS\r\n if (this.ListaPromocoesCarteirasVendas.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesCarteirasVendas.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesCarteirasVendas[index];\r\n if (element != null) {\r\n const p = this.Carteiras.find(\r\n (x) => x.CarteiraVendaID == element.CarteiraVendaID\r\n );\r\n if (p != null) {\r\n this.ListaPromocoesCarteirasVendas[index].Descricao = p.Descricao;\r\n const x = this.Carteiras.indexOf(p);\r\n this.Carteiras.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO CARTEIRAS DA LISTA CARTEIRAS\r\n\r\n //REMOVENDO SEGMENTOS DA LISTA SEGMENTOS\r\n if (this.ListaPromocoesSegmentos.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesSegmentos.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesSegmentos[index];\r\n if (element != null) {\r\n const p = this.Segmentos.find(\r\n (x) => x.SegmentoID == element.SegmentoID\r\n );\r\n if (p != null) {\r\n this.ListaPromocoesSegmentos[index].Nome = p.Nome;\r\n const x = this.Segmentos.indexOf(p);\r\n this.Segmentos.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO SEGMENTOS DA LISTA SEGMENTOS\r\n\r\n //REMOVENDO PAPEIS CLIENTE DA LISTA PAPEIS CLIENTE\r\n if (this.ListaPromocoesPapeisClientes.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesPapeisClientes.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesPapeisClientes[index];\r\n if (element != null) {\r\n const p = this.PapeisClientes.find(\r\n (x) => x.PapelClienteID == element.PapelClienteID\r\n );\r\n if (p != null) {\r\n this.ListaPromocoesPapeisClientes[index].Descricao = p.Descricao;\r\n const x = this.PapeisClientes.indexOf(p);\r\n this.PapeisClientes.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PAPEIS CLIENTE DA LISTA PAPEIS CLIENTE\r\n\r\n //#endregion\r\n\r\n this.dataDialog = true;\r\n }\r\n\r\n deleteData(data: ParceiroPromocaoModel) {\r\n this.confirmationService.confirm({\r\n message: 'Tem certeza de que deseja excluir ' + data.Descricao + '?',\r\n header: 'Informação',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptLabel: 'SIM',\r\n rejectLabel: 'NÃO',\r\n accept: () => {\r\n this.service.deleteParceiroPromocao(data.PromocaoID);\r\n this.data = {};\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Produto excluído com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n\r\n hideDialog() {\r\n this.dataDialog = false;\r\n this.submitted = false;\r\n this.data = {};\r\n this.dataDesconto = {};\r\n this.promocoesDescontos = [];\r\n }\r\n\r\n loadingSave: boolean = false;\r\n async saveData() {\r\n this.ListaPromocoesProdutos[0] = {\r\n ...this.ListaPromocoesProdutos[0],\r\n QuantidadeMaxima:\r\n this.Maximo || this.ListaPromocoesProdutos[0].QuantidadeMaxima,\r\n QuantidadeMinima:\r\n this.Minimo || this.ListaPromocoesProdutos[0].QuantidadeMinima,\r\n };\r\n try {\r\n if (\r\n this.ListaPromocoesProdutos.length == 0 ||\r\n this.ListaPromocoesProdutos == null\r\n ) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não é possível incluir/alterar sem produto!',\r\n });\r\n return;\r\n }\r\n\r\n this.submitted = true;\r\n this.loadingSave = true;\r\n\r\n let data = {};\r\n\r\n let arrayPromocoesProdutos: any[];\r\n let arrayPromocoesUnidades: any[];\r\n let arrayPromocoesCidades: any[];\r\n let arrayPromocoesSupervisores: any[];\r\n let arrayPromocoesCarteiras: any[];\r\n let arrayPromocoesSegmentos: any[];\r\n let arrayPromocoesPapeisClientes: any[];\r\n let arrayPromocoesDesconto: any[];\r\n\r\n arrayPromocoesProdutos = [];\r\n arrayPromocoesUnidades = [];\r\n arrayPromocoesCidades = [];\r\n arrayPromocoesSupervisores = [];\r\n arrayPromocoesCarteiras = [];\r\n arrayPromocoesSegmentos = [];\r\n arrayPromocoesPapeisClientes = [];\r\n arrayPromocoesDesconto = [];\r\n\r\n if (this.data.PromocaoID != undefined) {\r\n console.log('editando');\r\n\r\n //#region LISTA ALTERAÇÃO\r\n\r\n //REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n if (this.ListaPromocoesProdutos.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesProdutos.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesProdutos[index];\r\n if (element != null) {\r\n let dt: PromocaoProdutosModel = {\r\n PromocaoID: this.data.PromocaoID,\r\n ProdutoID: this.FormataString(element.ProdutoID),\r\n PromocaoProdutoID:\r\n this.ListaPromocoesProdutos[index].PromocaoProdutoID !=\r\n undefined\r\n ? this.ListaPromocoesProdutos[index].PromocaoProdutoID\r\n : UUID.UUID(),\r\n QuantidadeMinima:\r\n element.QuantidadeMinima != undefined\r\n ? element.QuantidadeMinima\r\n : 0,\r\n QuantidadeMaxima:\r\n element.QuantidadeMaxima != undefined\r\n ? element.QuantidadeMaxima\r\n : 0,\r\n };\r\n\r\n arrayPromocoesProdutos.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n //REMOVENDO UNIDADES DA LISTA UNIDADES\r\n if (this.ListaPromocoesUnidades.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesUnidades.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesUnidades[index];\r\n\r\n if (element != null) {\r\n let dt: PromocaoUnidadeModel = {\r\n PromocaoID: this.data.PromocaoID,\r\n PromocaoUnidadeID:\r\n this.ListaPromocoesUnidades[index].PromocaoUnidadeID !=\r\n undefined\r\n ? this.ListaPromocoesUnidades[index].PromocaoUnidadeID\r\n : UUID.UUID(),\r\n UnidadeID: this.FormataString(element.UnidadeID),\r\n };\r\n\r\n arrayPromocoesUnidades.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO UNIDADES DA LISTA UNIDADES\r\n\r\n //REMOVENDO CIDADES DA LISTA CIDADES\r\n if (this.ListaPromocoesCidades.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesCidades.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesCidades[index];\r\n if (element != null) {\r\n let dt: PromocaoCidadesModel = {\r\n PromocaoID: this.data.PromocaoID,\r\n CidadeID: this.FormataString(element.CidadeID),\r\n PromocaoCidadeID:\r\n this.ListaPromocoesCidades[index].PromocaoCidadeID !=\r\n undefined\r\n ? this.ListaPromocoesCidades[index].PromocaoCidadeID\r\n : UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesCidades.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO CIDADES DA LISTA CIDADES\r\n\r\n //REMOVENDO SUPERVISOR DA LISTA SUPERVISOR\r\n if (this.ListaPromocoesSupervisores.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesSupervisores.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesSupervisores[index];\r\n if (element != null) {\r\n let dt: PromocaoSupervisorModel = {\r\n PromocaoID: this.data.PromocaoID,\r\n SupervisorID: this.FormataString(element.SupervisorID),\r\n PromocaoSupervisorID:\r\n this.ListaPromocoesSupervisores[index].PromocaoSupervisorID !=\r\n undefined\r\n ? this.ListaPromocoesSupervisores[index]\r\n .PromocaoSupervisorID\r\n : UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesSupervisores.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO SUPERVISOR DA LISTA SUPERVISOR\r\n\r\n //REMOVENDO CARTEIRAS DA LISTA CARTEIRAS\r\n if (this.ListaPromocoesCarteirasVendas.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesCarteirasVendas.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesCarteirasVendas[index];\r\n if (element != null) {\r\n let dt: PromocaoCarteiraVendasModel = {\r\n PromocaoID: this.data.PromocaoID,\r\n CarteiraVendaID: this.FormataString(element.CarteiraVendaID),\r\n PromocaoCarteiraVendaID:\r\n this.ListaPromocoesCarteirasVendas[index]\r\n .PromocaoCarteiraVendaID != undefined\r\n ? this.ListaPromocoesCarteirasVendas[index]\r\n .PromocaoCarteiraVendaID\r\n : UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesCarteiras.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO CARTEIRAS DA LISTA CARTEIRAS\r\n\r\n //REMOVENDO SEGMENTOS DA LISTA SEGMENTOS\r\n if (this.ListaPromocoesSegmentos.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesSegmentos.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesSegmentos[index];\r\n if (element != null) {\r\n let dt: PromocaoSegmentoModel = {\r\n PromocaoID: this.data.PromocaoID,\r\n SegmentoID: this.FormataString(element.SegmentoID),\r\n PromocaoSegmentoID:\r\n this.ListaPromocoesSegmentos[index].PromocaoSegmentoID !=\r\n undefined\r\n ? this.ListaPromocoesSegmentos[index].PromocaoSegmentoID\r\n : UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesSegmentos.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO SEGMENTOS DA LISTA SEGMENTOS\r\n\r\n //REMOVENDO PAPEIS CLIENTE DA LISTA PAPEIS CLIENTE\r\n if (this.ListaPromocoesPapeisClientes.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesPapeisClientes.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesPapeisClientes[index];\r\n if (element != null) {\r\n let dt: PromocaoPapeisClienteModel = {\r\n PromocaoID: this.data.PromocaoID,\r\n PapelClienteID: this.FormataString(element.PapelClienteID),\r\n PromocaoPapelClienteID:\r\n this.ListaPromocoesPapeisClientes[index]\r\n .PromocaoPapelClienteID != undefined\r\n ? this.ListaPromocoesPapeisClientes[index]\r\n .PromocaoPapelClienteID\r\n : UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesPapeisClientes.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PAPEIS CLIENTE DA LISTA PAPEIS CLIENTE\r\n\r\n //REMOVENDO DESCONTO\r\n\r\n if (this.promocoesDescontos.length > 0) {\r\n for (let index = 0; index < this.promocoesDescontos.length; index++) {\r\n const element = this.promocoesDescontos[index];\r\n if (element != null) {\r\n let dt: PromocaoDescontoModel = {\r\n PromocaoID: this.data.PromocaoID,\r\n PromocaoDescontoID:\r\n this.promocoesDescontos[index].PromocaoDescontoID != undefined\r\n ? this.promocoesDescontos[index].PromocaoDescontoID\r\n : UUID.UUID(),\r\n Percentual:\r\n element.Percentual != undefined ? element.Percentual : 0,\r\n Quantidade:\r\n element.Quantidade != undefined ? element.Quantidade : 0,\r\n };\r\n\r\n arrayPromocoesDesconto.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO DESCONTO\r\n\r\n //#endregion\r\n\r\n data['PromocaoID'] = this.data.PromocaoID;\r\n data['DataFinal'] = this.data.DataFinal;\r\n data['DataInicio'] = this.data.DataInicio;\r\n data['Descricao'] = this.FormataString(this.data.Descricao);\r\n data['DescricaoAplicativo'] = this.FormataString(\r\n this.data.DescricaoAplicativo\r\n );\r\n data['Banner'] = this.FormataString(this.data.Banner);\r\n data['PromocaoMktPlace'] = this.FormataNumber(\r\n this.data.PromocaoMktPlace\r\n );\r\n data['Ativo'] = this.FormataBolean(this.data.Ativo);\r\n data['Destacar'] = this.FormataBolean(this.data.Destacar);\r\n data['DestacarNoProduto'] = this.FormataBolean(\r\n this.data.DestacarNoProduto\r\n );\r\n\r\n data['PromocoesCarteirasVendas'] = arrayPromocoesCarteiras;\r\n data['PromocoesCidades'] = arrayPromocoesCidades;\r\n data['PromocoesDescontos'] = arrayPromocoesDesconto;\r\n data['PromocoesProdutos'] = arrayPromocoesProdutos;\r\n data['PromocoesSegmentos'] = arrayPromocoesSegmentos;\r\n data['PromocoesSupervisores'] = arrayPromocoesSupervisores;\r\n data['PromocoesUnidades'] = arrayPromocoesUnidades;\r\n data['PromocoesPapeisClientes'] = arrayPromocoesPapeisClientes;\r\n\r\n this.service.updateParceiroPromocao(this.data.PromocaoID, data);\r\n\r\n let result = await this.service.PostPromocaoInserir(data);\r\n if (result == true) {\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível alterar registro! \\n' + result,\r\n });\r\n }\r\n } else {\r\n //#region LISTA INCLUSAO\r\n console.log('Novo');\r\n\r\n //REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n if (this.ListaPromocoesProdutos.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesProdutos.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesProdutos[index];\r\n if (element != null) {\r\n let dt: PromocaoProdutosModel = {\r\n PromocaoID: this.Guide,\r\n ProdutoID: this.FormataString(element.ProdutoID),\r\n PromocaoProdutoID: UUID.UUID(),\r\n QuantidadeMinima:\r\n element.QuantidadeMinima != undefined\r\n ? element.QuantidadeMinima\r\n : 0,\r\n QuantidadeMaxima:\r\n element.QuantidadeMaxima != undefined\r\n ? element.QuantidadeMaxima\r\n : 0,\r\n };\r\n\r\n arrayPromocoesProdutos.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n //REMOVENDO UNIDADES DA LISTA UNIDADES\r\n if (this.ListaPromocoesUnidades.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesUnidades.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesUnidades[index];\r\n\r\n if (element != null) {\r\n let dt: PromocaoUnidadeModel = {\r\n PromocaoID: this.Guide,\r\n PromocaoUnidadeID: UUID.UUID(),\r\n UnidadeID: this.FormataString(element.UnidadeID),\r\n };\r\n\r\n arrayPromocoesUnidades.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO UNIDADES DA LISTA UNIDADES\r\n\r\n //REMOVENDO CIDADES DA LISTA CIDADES\r\n if (this.ListaPromocoesCidades.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesCidades.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesCidades[index];\r\n if (element != null) {\r\n let dt: PromocaoCidadesModel = {\r\n PromocaoID: this.Guide,\r\n CidadeID: this.FormataString(element.CidadeID),\r\n PromocaoCidadeID: UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesCidades.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO CIDADES DA LISTA CIDADES\r\n\r\n //REMOVENDO SUPERVISOR DA LISTA SUPERVISOR\r\n if (this.ListaPromocoesSupervisores.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesSupervisores.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesSupervisores[index];\r\n if (element != null) {\r\n let dt: PromocaoSupervisorModel = {\r\n PromocaoID: this.Guide,\r\n SupervisorID: this.FormataString(element.SupervisorID),\r\n PromocaoSupervisorID: UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesSupervisores.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO SUPERVISOR DA LISTA SUPERVISOR\r\n\r\n //REMOVENDO CARTEIRAS DA LISTA CARTEIRAS\r\n if (this.ListaPromocoesCarteirasVendas.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesCarteirasVendas.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesCarteirasVendas[index];\r\n if (element != null) {\r\n let dt: PromocaoCarteiraVendasModel = {\r\n PromocaoID: this.Guide,\r\n CarteiraVendaID: this.FormataString(element.CarteiraVendaID),\r\n PromocaoCarteiraVendaID: UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesCarteiras.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO CARTEIRAS DA LISTA CARTEIRAS\r\n\r\n //REMOVENDO SEGMENTOS DA LISTA SEGMENTOS\r\n if (this.ListaPromocoesSegmentos.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesSegmentos.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesSegmentos[index];\r\n if (element != null) {\r\n let dt: PromocaoSegmentoModel = {\r\n PromocaoID: this.Guide,\r\n SegmentoID: this.FormataString(element.SegmentoID),\r\n PromocaoSegmentoID: UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesSegmentos.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO SEGMENTOS DA LISTA SEGMENTOS\r\n\r\n //REMOVENDO PAPEIS CLIENTE DA LISTA PAPEIS CLIENTE\r\n if (this.ListaPromocoesPapeisClientes.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPromocoesPapeisClientes.length;\r\n index++\r\n ) {\r\n const element = this.ListaPromocoesPapeisClientes[index];\r\n if (element != null) {\r\n let dt: PromocaoPapeisClienteModel = {\r\n PromocaoID: this.Guide,\r\n PapelClienteID: this.FormataString(element.PapelClienteID),\r\n PromocaoPapelClienteID: UUID.UUID(),\r\n };\r\n\r\n arrayPromocoesPapeisClientes.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PAPEIS CLIENTE DA LISTA PAPEIS CLIENTE\r\n\r\n //REMOVENDO DESCONTO\r\n\r\n if (this.promocoesDescontos.length > 0) {\r\n for (let index = 0; index < this.promocoesDescontos.length; index++) {\r\n const element = this.promocoesDescontos[index];\r\n if (element != null) {\r\n let dt: PromocaoDescontoModel = {\r\n PromocaoID: this.Guide,\r\n PromocaoDescontoID: UUID.UUID(),\r\n Percentual:\r\n element.Percentual != undefined ? element.Percentual : 0,\r\n Quantidade:\r\n element.Quantidade != undefined ? element.Quantidade : 0,\r\n };\r\n\r\n arrayPromocoesDesconto.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO DESCONTO\r\n //#endregion\r\n\r\n data['PromocaoID'] = this.Guide;\r\n //2021-08-20 00:00:00\r\n data['DataFinal'] = this.data.DataFinal;\r\n data['DataInicio'] = this.data.DataInicio;\r\n data['Descricao'] = this.FormataString(this.data.Descricao);\r\n data['DescricaoAplicativo'] = this.FormataString(\r\n this.data.DescricaoAplicativo\r\n );\r\n data['Banner'] = this.FormataString(this.data.Banner);\r\n data['PromocaoMktPlace'] = this.FormataNumber(\r\n this.data.PromocaoMktPlace\r\n );\r\n data['Ativo'] = this.FormataBolean(this.data.Ativo);\r\n data['Destacar'] = this.FormataBolean(this.data.Destacar);\r\n data['DestacarNoProduto'] = this.FormataBolean(\r\n this.data.DestacarNoProduto\r\n );\r\n\r\n data['PromocoesCarteirasVendas'] = arrayPromocoesCarteiras;\r\n data['PromocoesCidades'] = arrayPromocoesCidades;\r\n data['PromocoesDescontos'] = arrayPromocoesDesconto;\r\n data['PromocoesProdutos'] = arrayPromocoesProdutos;\r\n data['PromocoesSegmentos'] = arrayPromocoesSegmentos;\r\n data['PromocoesSupervisores'] = arrayPromocoesSupervisores;\r\n data['PromocoesUnidades'] = arrayPromocoesUnidades;\r\n data['PromocoesPapeisClientes'] = arrayPromocoesPapeisClientes;\r\n\r\n this.service.createParceiroPromocao(data, this.Guide);\r\n\r\n let result = await this.service.PostPromocaoInserir(data);\r\n\r\n if (result == true) {\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n\r\n this.data.Banner = '';\r\n this.data.DataFinal = new Date();\r\n this.data.DataInicio = new Date();\r\n this.data.Descricao = '';\r\n this.data.DescricaoAplicativo = '';\r\n\r\n this.ListaPromocoesProdutos = [];\r\n this.ListaPromocoesUnidades = [];\r\n this.ListaPromocoesCidades = [];\r\n this.ListaPromocoesSupervisores = [];\r\n this.ListaPromocoesCarteirasVendas = [];\r\n this.ListaPromocoesSegmentos = [];\r\n this.ListaPromocoesPapeisClientes = [];\r\n this.promocoesDescontos = [];\r\n\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro criado com sucesso!',\r\n life: 3000,\r\n });\r\n this.data = {};\r\n this.dataDesconto = {};\r\n } else {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível criar o registro! \\n' + result,\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível fazer a requisição! \\n' + error,\r\n });\r\n }\r\n }\r\n\r\n //ADICIONAR E REMOVER DESCONTO\r\n selecionadoDesconto: boolean = false;\r\n indexDesconto: number = -1;\r\n\r\n AdicionarDesconto() {\r\n if (this.selecionadoDesconto == true && this.indexDesconto > -1) {\r\n this.promocoesDescontos[this.indexDesconto] = this.dataDesconto;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado!',\r\n life: 3000,\r\n });\r\n\r\n this.selecionadoDesconto = false;\r\n this.indexDesconto = -1;\r\n } else {\r\n //this.product.id = this.createId();\r\n this.promocoesDescontos.push(this.dataDesconto);\r\n this.selecionadoDesconto = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro criado!',\r\n life: 3000,\r\n });\r\n }\r\n\r\n //this.promocoesDescontos = [...this.promocoesDescontos];\r\n this.dataDesconto = {};\r\n }\r\n\r\n findIndexById(data: PromocaoDescontoModel): number {\r\n return this.promocoesDescontos.indexOf(data);\r\n }\r\n\r\n EditarDesconto(product: PromocaoDescontoModel) {\r\n this.selecionadoDesconto = true;\r\n this.indexDesconto = this.findIndexById(product);\r\n this.dataDesconto = { ...product };\r\n }\r\n\r\n RemoverDesconto(product: PromocaoDescontoModel) {\r\n this.confirmationService.confirm({\r\n message: 'Deseja remover esse item ?',\r\n header: 'Confirm',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => {\r\n const p = this.promocoesDescontos.find((x) => x == product);\r\n if (p != null) {\r\n const x = this.promocoesDescontos.indexOf(p);\r\n this.promocoesDescontos.splice(x, 1);\r\n }\r\n\r\n this.dataDesconto = {};\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Deletado com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n //FIM ADICIONAR E REMOVER DESCONTO\r\n\r\n // PRODUTOS PICKLIST\r\n onMoveToTargetProdutos(event) {\r\n if (event.items[0].Ativo == 'N') {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Produto inativo.',\r\n });\r\n const x = this.ListaPromocoesProdutos.indexOf(event.items[0]);\r\n this.ListaPromocoesProdutos.splice(x, 1);\r\n this.Produtos.push(event.items[0]);\r\n return;\r\n }\r\n\r\n if (this.Minimo > this.Maximo) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'A quantidade Mínima não pode ser maior que a Máxima.',\r\n });\r\n const x = this.ListaPromocoesProdutos.indexOf(event.items[0]);\r\n this.ListaPromocoesProdutos.splice(x, 1);\r\n this.Produtos.push(event.items[0]);\r\n return;\r\n }\r\n event.items[0].QuantidadeMinima = this.Minimo;\r\n event.items[0].QuantidadeMaxima = this.Maximo;\r\n\r\n this.Minimo = null;\r\n this.Maximo = null;\r\n }\r\n\r\n onMoveAllToTargetProdutos(event) {\r\n console.log('TARGET ALL');\r\n console.log(event);\r\n }\r\n\r\n onMoveToSourceProdutos(event) {\r\n console.log('SOURCE');\r\n console.log(event);\r\n }\r\n\r\n onMoveAllToSourceProdutos(event) {\r\n console.log('SOURCE ALL');\r\n console.log(event);\r\n }\r\n /// FIMPRODUTOS PICKLIST\r\n\r\n atualizarPromocoes() {\r\n this.loading = true;\r\n\r\n this.service.atualizarPromocoes().subscribe(\r\n (data: any) => {\r\n if (data.sucesso == true) {\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Lista atualizada!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + data.mensagem,\r\n });\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n console.log({ err });\r\n\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + err.error.mensagem,\r\n });\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n FiltrarCampos() {\r\n this.datas = this.datas.filter((v) => {\r\n // if (v.DataInicio >= new Date(this.PeriodoDataInicial) && v.DataFinal <= new Date(this.PeriodoDataFinal)){\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n if (!this.FormataString(v.Descricao).indexOf(this.FiltroDescricao)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
Gerenciamento de Parceiros Promoção
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n Mostrando os Ativos e os Inativos!\r\n

\r\n

\r\n Mostrando somente os Ativos!\r\n

\r\n

\r\n Mostrando somente os Inativos!\r\n

\r\n
\r\n
\r\n \r\n Ambos\r\n \r\n \r\n Ativos\r\n \r\n \r\n Inativos\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Descrição\r\n \r\n \r\n Data Início\r\n \r\n \r\n Data Final\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.Descricao }}\r\n \r\n {{\r\n data.DataInicio\r\n ? (data.DataInicio.toDate() | date : 'dd/MM/yyyy')\r\n : (data.DataInicio | date : 'dd/MM/yyyy')\r\n }}\r\n \r\n \r\n {{\r\n data.DataFinal\r\n ? (data.DataFinal.toDate() | date : 'dd/MM/yyyy')\r\n : (data.DataFinal | date : 'dd/MM/yyyy')\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n No total, existem\r\n {{ datasFiltred() ? datasFiltred().length : 0 }} registro(s).\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{\r\n product.Ativo === 'N' ? '[INATIVO] - ' : ''\r\n }}\r\n {{ product.ProdutoID }} - {{ product.Descricao }} -\r\n {{ product.QuantidadeMinima | number : '1.2-2' }} -\r\n {{ product.QuantidadeMaxima | number : '1.2-2' }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n

Volumes x Percentuais Desconto

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Cxs / Pcts\r\n % Desconto\r\n \r\n \r\n \r\n \r\n \r\n {{ promo.Quantidade | number : '1.2-2' }}\r\n {{ promo.Percentual | number : '1.2-2' }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{ product.UnidadeID }} - {{ product.Descricao }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{ product.Descricao }}/{{ product.Estado }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{ product.SupervisorID }} - {{ product.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 {{ product.CarteiraVendaID }} - {{ product.Descricao }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{ product.SegmentoID }} - {{ product.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 {{ product.PapelClienteID }} - {{ product.Descricao }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport {\r\n AngularFireStorage,\r\n AngularFireStorageReference,\r\n AngularFireUploadTask,\r\n} from '@angular/fire/storage';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { TipoModel } from 'src/app/models/tipomodel';\r\nimport { FirebaseService } from '../app.login.firebase.service';\r\nimport { CategoriaModel } from '../categoria/categoria.model';\r\nimport { CategoriaService } from '../categoria/categoria.service';\r\nimport { SubCategoriaModel } from '../categoria/subcategoria.model';\r\nimport { ProdutoComboModel } from './produto.combo.model';\r\nimport { ProdutoModel } from './produto.model';\r\nimport { ProdutoService } from './produto.service';\r\n\r\n@Component({\r\n selector: 'app-produto',\r\n templateUrl: './produto.component.html',\r\n styleUrls: ['./produto.component.scss'],\r\n})\r\nexport class ProdutoComponent implements OnInit {\r\n show = false;\r\n teste: string = '';\r\n\r\n ativosInativos = '';\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n Produtos: ProdutoModel[] = JSON.parse(localStorage.getItem('Produtos'));\r\n\r\n dataDialog: boolean;\r\n\r\n listaSN: any;\r\n listaFT: any;\r\n lista: ProdutoModel[];\r\n loading: boolean = true;\r\n data: ProdutoModel;\r\n selectedDatas: ProdutoModel[];\r\n submitted: boolean;\r\n\r\n //Tipos\r\n tipoSelected: boolean = false;\r\n tipos: TipoModel[];\r\n\r\n categorias: CategoriaModel[];\r\n selectedCategoria: CategoriaModel;\r\n subcategorias: SubCategoriaModel[];\r\n\r\n ref: AngularFireStorageReference;\r\n task: AngularFireUploadTask;\r\n uploadState: Observable;\r\n uploadProgress: Observable;\r\n downloadURL: Observable;\r\n\r\n produtoCombo: ProdutoComboModel;\r\n listaProdutoCombo: ProdutoComboModel[];\r\n\r\n private basePath = 'produtos/';\r\n\r\n profileUrl: any;\r\n\r\n mudarAtivosInativos(args: string) {\r\n this.ativosInativos = args;\r\n }\r\n\r\n constructor(\r\n private service: ProdutoService,\r\n private categoriaService: CategoriaService,\r\n private messageService: MessageService,\r\n public firebaseService: FirebaseService,\r\n private confirmationService: ConfirmationService,\r\n public auth: AngularFireAuth,\r\n public firestore: AngularFirestore,\r\n private storage: AngularFireStorage\r\n ) {\r\n try {\r\n this.listaSN = [\r\n { nome: 'S', valor: 'Ativo' },\r\n { nome: 'N', valor: 'Inativo' },\r\n ];\r\n this.listaFT = [\r\n { id: false, valor: 'Não' },\r\n { id: true, valor: 'Sim' },\r\n ];\r\n this.auth.onAuthStateChanged((user) => {\r\n if (user) {\r\n this.service.readProduto().subscribe((data) => {\r\n this.Produtos = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n\r\n let findErrors = {\r\n produtosComboVazio: false,\r\n produtosComboInativo: false,\r\n produtosComboInexistente: false,\r\n };\r\n\r\n if (\r\n dataValues.ProdutoID.includes('CB') &&\r\n dataValues.Ativo == 'S'\r\n ) {\r\n console.log({ dataValues });\r\n if (dataValues.ProdutosCombos.length == 0) {\r\n findErrors.produtosComboVazio = true;\r\n }\r\n // const findProdutosComboInativo = dataValues.ProdutosCombos.filter((produto)=>{\r\n // return produto.Ativo === 'N'\r\n // })\r\n const produtosSemID = dataValues.ProdutosCombos.filter(\r\n (produto) => !produto.ProdutoID\r\n );\r\n console.log({ produtosSemID });\r\n if (produtosSemID.length) {\r\n }\r\n }\r\n\r\n return {\r\n id: e.payload.doc.id,\r\n isEdit: false,\r\n Ativo: dataValues['Ativo'],\r\n Categoria: dataValues['Categoria'],\r\n CategoriaID: dataValues['CategoriaID'],\r\n CodigoAlternativo: dataValues['CodigoAlternativo'],\r\n Descricao: dataValues['Descricao'],\r\n Preco: dataValues['Preco'],\r\n ProdutoID: dataValues['ProdutoID'],\r\n QuantidadeObjetivo: dataValues['QuantidadeObjetivo'],\r\n QuantidadeTroca: dataValues['QuantidadeTroca'],\r\n QuantidadeVenda: dataValues['QuantidadeVenda'],\r\n SubCategoria: dataValues['SubCategoria'],\r\n SubCategoriaID: dataValues['SubCategoriaID'],\r\n UnidadeObjetivo: dataValues['UnidadeObjetivo'],\r\n UnidadeTroca: dataValues['UnidadeTroca'],\r\n UnidadeVenda: dataValues['UnidadeVenda'],\r\n urlImage: dataValues['urlImage'],\r\n ProdutosCombos: dataValues['ProdutosCombos'],\r\n };\r\n });\r\n\r\n this.loading = false;\r\n });\r\n } else {\r\n this.Produtos = [];\r\n }\r\n\r\n //BUSCANDO CATEGORIA\r\n try {\r\n this.categoriaService.read_Categoria().subscribe(\r\n (data) => {\r\n this.categorias = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n CategoriaID: dataValues['CategoriaID'],\r\n Descricao: dataValues['Descricao'],\r\n SubCategorias: dataValues['SubCategorias'],\r\n Ativo: dataValues['Ativo'],\r\n };\r\n });\r\n },\r\n (err) => console.error(err)\r\n );\r\n } catch (e) {\r\n alert(e);\r\n }\r\n //BUSCANDO CATEGORIA\r\n });\r\n } catch (error) {\r\n this.loading = false;\r\n alert(error);\r\n }\r\n }\r\n\r\n ProdutosFiltred() {\r\n if (this.Produtos)\r\n return this.Produtos.filter((produto) => {\r\n return this.ativosInativos === ''\r\n ? true\r\n : produto.Ativo === this.ativosInativos;\r\n });\r\n }\r\n\r\n ngOnDestroy() {}\r\n\r\n async ngOnInit() {\r\n this.data = {};\r\n this.produtoCombo = {};\r\n this.listaProdutoCombo = [];\r\n }\r\n\r\n uploadedFiles: File = null;\r\n fb: any;\r\n\r\n uploadProduto(event) {\r\n this.uploadedFiles = event.target.files[0];\r\n\r\n try {\r\n if (this.uploadedFiles != null) {\r\n const filePath = `${this.basePath}/${this.data.ProdutoID}.png`;\r\n const storageRef = this.storage.ref(filePath);\r\n const uploadTask = this.storage.upload(filePath, this.uploadedFiles);\r\n\r\n uploadTask\r\n .snapshotChanges()\r\n .pipe(\r\n finalize(() => {\r\n storageRef.getDownloadURL().subscribe((downloadURL) => {\r\n this.fb = downloadURL;\r\n this.data.urlImage = downloadURL;\r\n\r\n if (this.data.ProdutoID != undefined) {\r\n if (this.data.urlImage == undefined) {\r\n this.data.urlImage = '';\r\n }\r\n }\r\n\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Foto alterada com sucesso!',\r\n });\r\n });\r\n })\r\n )\r\n .subscribe();\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro em alterar foto!',\r\n });\r\n alert(error);\r\n }\r\n }\r\n\r\n async getImage(codigo: string): Promise {\r\n let resultado: Promise;\r\n try {\r\n await this.storage\r\n .ref(this.basePath + codigo + '.png')\r\n .getDownloadURL()\r\n .toPromise()\r\n .then((response: any) => {\r\n resultado = response;\r\n return resultado;\r\n })\r\n .catch((error) => error);\r\n\r\n return resultado;\r\n } catch (error) {}\r\n }\r\n\r\n openNew() {\r\n this.data = {};\r\n this.data.Preco = 0;\r\n this.data.QuantidadeObjetivo = 0;\r\n this.data.QuantidadeTroca = 0;\r\n this.data.QuantidadeVenda = 0;\r\n\r\n this.produtoCombo = {};\r\n this.produtoCombo.Quantidade = 0;\r\n this.produtoCombo.ValorTotal = 0;\r\n this.produtoCombo.ValorUnitario = 0;\r\n\r\n this.listaProdutoCombo = [];\r\n this.submitted = false;\r\n this.dataDialog = true;\r\n }\r\n\r\n async editData(data: ProdutoModel) {\r\n data.Categoria = data.Categoria || 'Outros';\r\n data.SubCategoria = data.SubCategoria || 'Outros';\r\n data.CategoriaID = data.CategoriaID || 64;\r\n data.SubCategoriaID = data.SubCategoriaID || 68;\r\n\r\n this.listaProdutoCombo = [];\r\n data.isEdit = true;\r\n data.urlImage = await this.getImage(data.ProdutoID);\r\n\r\n this.subcategorias = this.categorias.find(\r\n (x) => x.CategoriaID == data.CategoriaID\r\n ).SubCategorias;\r\n\r\n this.data = { ...data };\r\n this.listaProdutoCombo = [...data.ProdutosCombos];\r\n\r\n //PRODUTOS\r\n if (this.listaProdutoCombo.length > 0) {\r\n for (let index = 0; index < this.listaProdutoCombo.length; index++) {\r\n const element = this.listaProdutoCombo[index];\r\n if (element != null) {\r\n const p = this.Produtos.find((x) => x.ProdutoID == element.ProdutoID);\r\n if (p != null) {\r\n this.listaProdutoCombo[index].Descricao = p.Descricao;\r\n }\r\n }\r\n }\r\n }\r\n // FIM PRODUTOS\r\n this.dataDialog = true;\r\n }\r\n\r\n deleteData(data: ProdutoModel) {\r\n this.confirmationService.confirm({\r\n message: 'Tem certeza de que deseja excluir ' + data.Descricao + '?',\r\n header: 'Informação',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptLabel: 'SIM',\r\n rejectLabel: 'NÃO',\r\n accept: () => {\r\n this.service.deleteProduto(data.id);\r\n this.data = {};\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Produto excluído com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n\r\n hideDialog() {\r\n this.dataDialog = false;\r\n this.data = {};\r\n this.produtoCombo = {};\r\n this.submitted = false;\r\n }\r\n\r\n FormataString(data) {\r\n if (\r\n data == null ||\r\n data == undefined ||\r\n data == 'null' ||\r\n data == 'undefined'\r\n ) {\r\n return '';\r\n }\r\n\r\n return data;\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n loadingSave: boolean = false;\r\n async saveData() {\r\n try {\r\n this.submitted = true;\r\n this.loadingSave = true;\r\n\r\n let data = {};\r\n let arrayProdutoCombo: ProdutoComboModel[];\r\n arrayProdutoCombo = [];\r\n\r\n if (this.data.ProdutoID != undefined) {\r\n if (this.listaProdutoCombo.length > 0) {\r\n for (let index = 0; index < this.listaProdutoCombo.length; index++) {\r\n const element = this.listaProdutoCombo[index];\r\n if (element != null) {\r\n let dt: ProdutoComboModel = {\r\n ProdutoComboID: this.data.ProdutoID,\r\n ProdutoID: element.ProdutoID,\r\n Quantidade:\r\n element.Quantidade != undefined ? element.Quantidade : 0,\r\n ValorUnitario:\r\n element.ValorUnitario != undefined\r\n ? element.ValorUnitario\r\n : 0,\r\n ValorTotal:\r\n element.ValorTotal != undefined ? element.ValorTotal : 0,\r\n Fixo: element.Fixo,\r\n };\r\n\r\n arrayProdutoCombo.push(dt);\r\n }\r\n }\r\n }\r\n\r\n data['Ativo'] = this.data.Ativo;\r\n data['Categoria'] = this.data.Categoria;\r\n data['CategoriaID'] = this.data.CategoriaID;\r\n data['CodigoAlternativo'] = this.data.CodigoAlternativo;\r\n data['Descricao'] = this.data.Descricao;\r\n data['Preco'] = this.data.Preco;\r\n data['ProdutoID'] = this.data.ProdutoID;\r\n data['QuantidadeObjetivo'] = this.data.QuantidadeObjetivo;\r\n data['QuantidadeTroca'] = this.data.QuantidadeTroca;\r\n data['QuantidadeVenda'] = this.data.QuantidadeVenda;\r\n data['SubCategoria'] = this.data.SubCategoria;\r\n data['SubCategoriaID'] = this.data.SubCategoriaID;\r\n data['UnidadeObjetivo'] = this.data.UnidadeObjetivo;\r\n data['UnidadeTroca'] = this.data.UnidadeTroca;\r\n data['UnidadeVenda'] = this.data.UnidadeVenda;\r\n data['urlImage'] = this.FormataString(this.data.urlImage);\r\n data['ProdutosCombos'] = this.data.ProdutosCombos = arrayProdutoCombo;\r\n\r\n this.service.updateProduto(this.data.ProdutoID, data);\r\n\r\n if (this.data.ProdutoID.indexOf('CB')) {\r\n let result = await this.service.PostProdutoAlterar(this.data);\r\n\r\n if (result == true) {\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + result,\r\n });\r\n }\r\n } else {\r\n let result = await this.service.PostProdutoComboAlterar(this.data);\r\n\r\n if (result == true) {\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + result,\r\n });\r\n }\r\n }\r\n } else {\r\n if (this.listaProdutoCombo.length > 0) {\r\n for (let index = 0; index < this.listaProdutoCombo.length; index++) {\r\n const element = this.listaProdutoCombo[index];\r\n if (element != null) {\r\n let dt: ProdutoComboModel = {\r\n ProdutoComboID: null,\r\n ProdutoID: this.FormataString(element.ProdutoID),\r\n Quantidade:\r\n element.Quantidade != undefined ? element.Quantidade : 0,\r\n ValorUnitario:\r\n element.ValorUnitario != undefined\r\n ? element.ValorUnitario\r\n : 0,\r\n ValorTotal:\r\n element.ValorTotal != undefined ? element.ValorTotal : 0,\r\n Fixo: element.Fixo,\r\n };\r\n\r\n arrayProdutoCombo.push(dt);\r\n }\r\n }\r\n }\r\n data['ProdutoID'] = null;\r\n data['Ativo'] =\r\n this.data.Ativo == undefined\r\n ? 'N'\r\n : this.FormataString(this.data.Ativo);\r\n data['Categoria'] = this.FormataString(this.data.Categoria);\r\n data['CategoriaID'] = this.data.CategoriaID;\r\n data['CodigoAlternativo'] = this.FormataString(\r\n this.data.CodigoAlternativo\r\n );\r\n data['Descricao'] = this.data.Descricao;\r\n data['Preco'] = this.data.Preco;\r\n data['QuantidadeObjetivo'] = this.data.QuantidadeObjetivo;\r\n data['QuantidadeTroca'] = this.data.QuantidadeTroca;\r\n data['QuantidadeVenda'] = this.data.QuantidadeVenda;\r\n data['SubCategoria'] = this.data.SubCategoria;\r\n data['SubCategoriaID'] = this.data.SubCategoriaID;\r\n data['UnidadeObjetivo'] = this.FormataString(this.data.UnidadeObjetivo);\r\n data['UnidadeTroca'] = this.FormataString(this.data.UnidadeTroca);\r\n data['UnidadeVenda'] = this.FormataString(this.data.UnidadeVenda);\r\n data['urlImage'] = this.FormataString(this.data.urlImage);\r\n data['ProdutosCombos'] = this.data.ProdutosCombos = arrayProdutoCombo;\r\n\r\n let result = await this.service.PostProdutoComboInserir(this.data);\r\n\r\n if (result == true) {\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro criado com sucesso!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao criar!\\n' + result,\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + error,\r\n });\r\n }\r\n }\r\n\r\n onChangeCategoria(event) {\r\n this.data.SubCategoria = '';\r\n this.data.SubCategoriaID = 0;\r\n this.subcategorias = this.categorias.find(\r\n (x) => x.Descricao == event\r\n ).SubCategorias;\r\n this.data.CategoriaID = this.categorias.find(\r\n (x) => x.Descricao == event\r\n ).CategoriaID;\r\n this.data.Categoria = this.categorias.find(\r\n (x) => x.Descricao == event\r\n ).Descricao;\r\n }\r\n\r\n onChangeSubCategoria(event) {\r\n if (event != null && event != undefined) {\r\n this.data.SubCategoriaID = this.subcategorias.find(\r\n (x) => x.Descricao == event\r\n ).CategoriaID;\r\n this.data.SubCategoria = this.subcategorias.find(\r\n (x) => x.Descricao == event\r\n ).Descricao;\r\n }\r\n }\r\n\r\n atualizarProdutos() {\r\n this.loading = true;\r\n\r\n this.service.atualizaProduto().subscribe(\r\n (data: any) => {\r\n this.loading = false;\r\n if (data.sucesso == true) {\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Lista atualizada!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + data.mensagem,\r\n });\r\n this.loading = false;\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + err,\r\n });\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n selecionadoProdutoCombo: boolean = false;\r\n indexProdutoCombo: number = -1;\r\n\r\n AdicionarProdutoCombo() {\r\n if (this.produtoCombo.Fixo == undefined) {\r\n this.produtoCombo.Fixo = false;\r\n }\r\n\r\n if (\r\n this.produtoCombo != null &&\r\n !this.produtoCombo.ProdutoID.indexOf('CB')\r\n ) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não é possível inserir um Combo!',\r\n });\r\n return;\r\n }\r\n\r\n if (this.selecionadoProdutoCombo == true && this.indexProdutoCombo > -1) {\r\n this.listaProdutoCombo[this.indexProdutoCombo] = this.produtoCombo;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado!',\r\n life: 3000,\r\n });\r\n\r\n this.selecionadoProdutoCombo = false;\r\n this.indexProdutoCombo = -1;\r\n } else {\r\n const existe = this.listaProdutoCombo.find(\r\n (x) => x.ProdutoID == this.produtoCombo.ProdutoID\r\n );\r\n\r\n if (existe != null) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Já existe produto com o mesmo código!',\r\n });\r\n return;\r\n }\r\n\r\n //this.product.id = this.createId();\r\n this.listaProdutoCombo.push(this.produtoCombo);\r\n this.selecionadoProdutoCombo = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro criado!',\r\n life: 3000,\r\n });\r\n }\r\n this.calcularValores();\r\n //this.promocoesDescontos = [...this.promocoesDescontos];\r\n this.produtoCombo = {};\r\n }\r\n\r\n calcularValores() {\r\n let totalPreco: number = 0;\r\n if (this.listaProdutoCombo != null) {\r\n if (this.listaProdutoCombo.length > 0) {\r\n for (let index = 0; index < this.listaProdutoCombo.length; index++) {\r\n const element = this.listaProdutoCombo[index];\r\n totalPreco += element.ValorTotal;\r\n }\r\n this.data.Preco = totalPreco;\r\n }\r\n }\r\n }\r\n\r\n findIndexById(data: ProdutoComboModel): number {\r\n return this.listaProdutoCombo.indexOf(data);\r\n }\r\n\r\n EditarProdutoCombo(edit: ProdutoComboModel) {\r\n this.selecionadoProdutoCombo = true;\r\n this.indexProdutoCombo = this.findIndexById(edit);\r\n this.produtoCombo = { ...edit };\r\n }\r\n\r\n RemoverProdutoCombo(edit: ProdutoComboModel) {\r\n this.confirmationService.confirm({\r\n message: 'Deseja remover esse item ?',\r\n header: 'Confirm',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => {\r\n const p = this.listaProdutoCombo.find((x) => x == edit);\r\n if (p != null) {\r\n const x = this.listaProdutoCombo.indexOf(p);\r\n this.listaProdutoCombo.splice(x, 1);\r\n }\r\n this.calcularValores();\r\n this.produtoCombo = {};\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Deletado com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n\r\n onChangeProdutoCombo(event: string, type: string) {\r\n if (event != null || event != undefined) {\r\n this.produtoCombo.ProdutoID = '';\r\n this.produtoCombo.Descricao = '';\r\n this.produtoCombo.ValorUnitario = 0;\r\n this.produtoCombo.Preco = 0;\r\n this.produtoCombo.Ativo = '';\r\n this.produtoCombo.Quantidade = 0;\r\n this.produtoCombo.ValorTotal = 0;\r\n\r\n const infos = this.Produtos.find((prod) => prod[type] == event);\r\n\r\n this.produtoCombo.ProdutoID = infos.ProdutoID;\r\n this.produtoCombo.Descricao = infos.Descricao;\r\n this.produtoCombo.Preco = infos.Preco;\r\n this.produtoCombo.ValorUnitario = infos.Preco;\r\n this.produtoCombo.Ativo =\r\n this.data.Ativo == undefined ? 'N' : this.data.Ativo;\r\n } else {\r\n this.produtoCombo.ProdutoID = '';\r\n this.produtoCombo.Descricao = '';\r\n this.produtoCombo.ValorUnitario = 0;\r\n this.produtoCombo.Preco = 0;\r\n this.produtoCombo.Ativo = '';\r\n this.produtoCombo.Quantidade = 0;\r\n this.produtoCombo.ValorTotal = 0;\r\n }\r\n }\r\n\r\n calcularDesconto(event: number) {\r\n if (event > 0) {\r\n this.produtoCombo.ValorUnitario =\r\n this.produtoCombo.Preco -\r\n (Number(this.produtoCombo.Preco) * event) / 100;\r\n } else {\r\n this.produtoCombo.ValorUnitario = this.produtoCombo.Preco;\r\n }\r\n }\r\n\r\n permiteAlterar(event: boolean) {\r\n if (event != undefined) {\r\n this.produtoCombo.Fixo = event;\r\n } else {\r\n event = false;\r\n this.produtoCombo.Fixo = event;\r\n }\r\n }\r\n\r\n calcularQuantidade(event: number) {\r\n if (event > 0) {\r\n this.produtoCombo.ValorTotal =\r\n Number(this.produtoCombo.ValorUnitario) * event;\r\n } else {\r\n this.produtoCombo.ValorTotal = 0;\r\n }\r\n }\r\n\r\n displayImage: boolean;\r\n\r\n showImageDialog() {\r\n this.displayImage = true;\r\n }\r\n\r\n mostrarProdutosCombos(data: ProdutoModel) {\r\n if (data.ProdutoID != null && data.ProdutoID != '') {\r\n if (data.ProdutoID.indexOf('CB')) {\r\n return false;\r\n }\r\n\r\n return true;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n
Gerenciamento de Produtos
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n Mostrando os Ativos e os Inativos!\r\n

\r\n

Mostrando somente os Ativos!

\r\n

Mostrando somente os Inativos!

\r\n
\r\n
\r\n \r\n Ambos\r\n \r\n \r\n Ativos\r\n \r\n \r\n Inativos\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Código \r\n \r\n \r\n Descrição \r\n \r\n \r\n Categoria \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.ProdutoID }}\r\n {{ data.Descricao }}\r\n {{ data.Categoria }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n No total, existem\r\n {{ ProdutosFiltred() ? ProdutosFiltred().length : 0 }} produto(s).\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Descrição é obrigatório.\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n 0; else SemProdutosCombos\"\r\n selectionMode=\"single\"\r\n [(selection)]=\"selectedProdutoCombo\"\r\n dataKey=\"ProdutoComboID\"\r\n styleClass=\"p-datatable-striped\"\r\n >\r\n \r\n \r\n ID Produto\r\n Produto\r\n Valor Unitário\r\n Quantidade\r\n Valor Total\r\n Permite Alterar\r\n \r\n \r\n \r\n \r\n \r\n {{ prod.ProdutoID }}\r\n {{ prod.Descricao }}\r\n {{ prod.ValorUnitario | number : '1.2-2' }}\r\n {{ prod.Quantidade | number : '1.2-2' }}\r\n {{ prod.ValorTotal | number : '1.2-2' }}\r\n \r\n {{\r\n prod.Fixo == false || prod.Fixo == undefined ? 'Não' : 'Sim'\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Não há registros.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Não há registros\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n","import {Component} from '@angular/core';\r\nimport {AppComponent} from './app.component';\r\nimport {AppMainComponent} from './app.main.component';\r\n\r\n@Component({\r\n selector: 'app-topbar',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n `\r\n})\r\nexport class AppTopbarComponent {\r\n\r\n constructor(public app: AppComponent, public appMain: AppMainComponent) {}\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport {\r\n AngularFireStorage,\r\n AngularFireStorageReference,\r\n AngularFireUploadTask,\r\n} from '@angular/fire/storage';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize, map } from 'rxjs/operators';\r\nimport { CarteiraModel } from 'src/app/models/carteira.model';\r\nimport { CidadeModel } from 'src/app/models/cidade.model';\r\nimport { PapeisClienteModel } from 'src/app/models/papeiscliente.model';\r\nimport { SegmentoModel } from 'src/app/models/segmento.model';\r\nimport { SupervisorModel } from 'src/app/models/supervisor.model';\r\nimport { UnidadeModel } from 'src/app/models/unidade.model';\r\nimport { FirebaseService } from '../app.login.firebase.service';\r\nimport { ParceiroModel } from '../parceiro/parceiro.model';\r\nimport { PromocaoCarteiraVendasModel } from '../promocao/promocao.carteiravendas.model';\r\nimport { PromocaoCidadesModel } from '../promocao/promocao.cidades.model';\r\nimport { ParceiroPromocaoModel } from '../promocao/promocao.model';\r\nimport { PromocaoPapeisClienteModel } from '../promocao/promocao.papeiscliente.model';\r\nimport { PromocaoSegmentoModel } from '../promocao/promocao.segmento.model';\r\nimport { ParceiroPromocaoService } from '../promocao/promocao.service';\r\nimport { PromocaoSupervisorModel } from '../promocao/promocao.supervisor.model';\r\nimport { PromocaoUnidadeModel } from '../promocao/promocao.unidade.model';\r\nimport { NotificacaoDadosModel } from './notificacao.dados.model';\r\nimport { NotificacaoModel } from './notificacao.model';\r\nimport { NotificacaoService } from './notificacao.service';\r\nimport { TipoNotificacaoModel } from './tipo.notificacao.model';\r\n\r\n@Component({\r\n selector: 'app-notificacao',\r\n templateUrl: './notificacao.component.html',\r\n styleUrls: ['./notificacao.component.scss'],\r\n})\r\nexport class NotificacaoComponent implements OnInit {\r\n show = false;\r\n\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n dataDialog: boolean;\r\n dataDialogSubCategoria: boolean;\r\n\r\n tipoNotificacao: TipoNotificacaoModel[];\r\n Promocoes: ParceiroPromocaoModel[];\r\n datas: any;\r\n lista: NotificacaoModel[];\r\n loading: boolean = true;\r\n data: NotificacaoModel;\r\n selectedDatas: NotificacaoModel[];\r\n submitted: boolean;\r\n\r\n ref: AngularFireStorageReference;\r\n task: AngularFireUploadTask;\r\n uploadState: Observable;\r\n uploadProgress: Observable;\r\n downloadURL: Observable;\r\n\r\n private basePath = 'notificacao/';\r\n\r\n profileUrl: any;\r\n\r\n Parceiros: ParceiroModel[];\r\n Unidades: UnidadeModel[];\r\n Cidades: CidadeModel[];\r\n Supervisores: SupervisorModel[];\r\n Carteiras: CarteiraModel[];\r\n Segmentos: SegmentoModel[];\r\n PapeisClientes: PapeisClienteModel[];\r\n\r\n // valores selecionados na telinha de criar nova notificação\r\n ListaParceirosNegocios: ParceiroModel[];\r\n ListaUnidades: UnidadeModel[];\r\n ListaCidades: CidadeModel[];\r\n ListaSupervisores: SupervisorModel[];\r\n ListaCarteirasVendas: CarteiraModel[];\r\n ListaSegmentos: SegmentoModel[];\r\n ListaPapeisClientes: PapeisClienteModel[];\r\n // valores selecionados na telinha de criar nova notificação\r\n\r\n pageNumber: number = 1;\r\n pageSize: number = 100;\r\n paginatedParceiros: ParceiroModel[];\r\n\r\n constructor(\r\n private service: NotificacaoService,\r\n private servicePromocao: ParceiroPromocaoService,\r\n private messageService: MessageService,\r\n public firebaseService: FirebaseService,\r\n private confirmationService: ConfirmationService,\r\n public auth: AngularFireAuth,\r\n public firestore: AngularFirestore,\r\n private storage: AngularFireStorage\r\n ) {\r\n this.carregarListas();\r\n this.carregandoTodasInfos();\r\n }\r\n\r\n ngOnDestroy() {}\r\n\r\n async ngOnInit() {}\r\n\r\n uploadedFiles: File = null;\r\n fb: any;\r\n\r\n carregandoTodasInfos() {\r\n this.ListaParceirosNegocios = [];\r\n this.ListaUnidades = [];\r\n this.ListaCidades = [];\r\n this.ListaSupervisores = [];\r\n this.ListaCarteirasVendas = [];\r\n this.ListaSegmentos = [];\r\n this.ListaPapeisClientes = [];\r\n\r\n try {\r\n this.auth.onAuthStateChanged((user) => {\r\n if (user) {\r\n this.service.read_Notificacao().subscribe((data) => {\r\n this.datas = data.map((e) => {\r\n const dataValue = e.payload.doc.data();\r\n\r\n return {\r\n id: e.payload.doc.id,\r\n isEdit: false,\r\n NotificacaoID: e.payload.doc.id,\r\n Mensagem: dataValue['Mensagem'],\r\n Titulo: dataValue['Titulo'],\r\n Icone: dataValue['Icone'],\r\n DataHora: dataValue['DataHora'],\r\n DataHoraEnvio: dataValue['DataHoraEnvio'],\r\n FirebaseID: dataValue['FirebaseID'],\r\n Dados: dataValue['Dados'],\r\n };\r\n });\r\n });\r\n\r\n //BUSCANDO TIPO NOTIFICACAO\r\n try {\r\n this.service.read_TipoNotificacao().subscribe(\r\n (data) => {\r\n this.tipoNotificacao = data.map((e) => {\r\n const { Nome } = e.payload.doc.data();\r\n return { id: e.payload.doc.id, Nome };\r\n });\r\n },\r\n (err) => console.error(err)\r\n );\r\n } catch (e) {\r\n alert(e);\r\n }\r\n //BUSCANDO TIPO NOTIFICACAO\r\n\r\n //BUSCANDO PROMOCAO\r\n try {\r\n this.servicePromocao.readParceiroPromocao().subscribe((data) => {\r\n this.Promocoes = data.map((e) => {\r\n const dataValue = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n isEdit: false,\r\n Descricao: dataValue['Descricao'],\r\n PromocaoID: dataValue['PromocaoID'],\r\n };\r\n });\r\n });\r\n } catch (e) {\r\n alert(e);\r\n }\r\n //BUSCANDO PROMOCAO\r\n } else {\r\n this.datas = new Observable();\r\n }\r\n this.loading = false;\r\n });\r\n } catch (error) {\r\n this.loading = false;\r\n alert(error);\r\n }\r\n }\r\n\r\n carregarListas() {\r\n this.ListaParceirosNegocios = [];\r\n this.ListaUnidades = [];\r\n this.ListaCidades = [];\r\n this.ListaSupervisores = [];\r\n this.ListaCarteirasVendas = [];\r\n this.ListaSegmentos = [];\r\n this.ListaPapeisClientes = [];\r\n\r\n this.Parceiros = [];\r\n this.Unidades = [];\r\n this.Cidades = [];\r\n this.Supervisores = [];\r\n this.Carteiras = [];\r\n this.Segmentos = [];\r\n this.PapeisClientes = [];\r\n\r\n //PARCEIRO\r\n this.service.readParceiroNegocios().subscribe((data) => {\r\n this.Parceiros = data.map((e) => {\r\n const { RazaoSocial, ParceiroNegocioID } = e.payload.doc.data();\r\n return { id: e.payload.doc.id, ParceiroNegocioID, RazaoSocial };\r\n });\r\n this.paginatedParceiros = this.Parceiros.slice(\r\n this.pageNumber * this.pageSize - 100,\r\n this.pageNumber * this.pageSize\r\n );\r\n });\r\n // FIM PARCEIRO\r\n\r\n //UNIDADES\r\n this.service.readUnidadesPromocao().subscribe((data) => {\r\n this.Unidades = data.map((e) => {\r\n const { UnidadeID, Descricao } = e.payload.doc.data();\r\n return { id: e.payload.doc.id, UnidadeID, Descricao };\r\n });\r\n });\r\n // FIM UNIDADES\r\n\r\n //CIDADES\r\n this.service.readCidadesPromocao().subscribe((data) => {\r\n this.Cidades = data.map((e) => {\r\n const { CidadeID, Descricao, Estado } = e.payload.doc.data();\r\n return { id: e.payload.doc.id, CidadeID, Descricao, Estado };\r\n });\r\n });\r\n // FIM CIDADES\r\n\r\n //SUPERVISORES\r\n this.service.readSupervisorPromocao().subscribe((data) => {\r\n this.Supervisores = data.map((e) => {\r\n const { SupervisorID, Nome } = e.payload.doc.data();\r\n\r\n return { id: e.payload.doc.id, SupervisorID, Nome };\r\n });\r\n });\r\n // FIM SUPERVISORES\r\n\r\n //CARTEIRA\r\n this.service.readCarteiraPromocao().subscribe((data) => {\r\n this.Carteiras = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return { id: e.payload.doc.id, ...dataValues };\r\n });\r\n });\r\n // FIM CARTEIRA\r\n\r\n //SEGMENTOS\r\n this.service.readSegmentosPromocao().subscribe((data) => {\r\n this.Segmentos = data.map((e) => {\r\n const { SegmentoID, Nome } = e.payload.doc.data();\r\n return { id: e.payload.doc.id, SegmentoID, Nome };\r\n });\r\n });\r\n // FIM SEGMENTOS\r\n\r\n //PAPEIS CLIENTES\r\n this.service.readPapeisClientesPromocao().subscribe((data) => {\r\n this.PapeisClientes = data.map((e) => {\r\n const { PapelClienteID, Descricao, Ativo } = e.payload.doc.data();\r\n return { id: e.payload.doc.id, PapelClienteID, Descricao, Ativo };\r\n });\r\n });\r\n // FIM PAPEIS CLIENTES\r\n }\r\n\r\n uploadFoto(event) {\r\n this.uploadedFiles = event.target.files[0];\r\n\r\n try {\r\n if (this.uploadedFiles != null) {\r\n const filePath = `${this.basePath}/${this.data.NotificacaoID}.png`;\r\n const storageRef = this.storage.ref(filePath);\r\n const uploadTask = this.storage.upload(filePath, this.uploadedFiles);\r\n\r\n uploadTask\r\n .snapshotChanges()\r\n .pipe(\r\n finalize(() => {\r\n storageRef.getDownloadURL().subscribe((downloadURL) => {\r\n this.fb = downloadURL;\r\n this.data.Icone = downloadURL;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Foto alterada com sucesso!',\r\n });\r\n //this.saveFileData(this.fb);\r\n });\r\n })\r\n )\r\n .subscribe();\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro em alterar foto!',\r\n });\r\n alert(error);\r\n }\r\n }\r\n\r\n async getImage(codigo: string): Promise {\r\n let resultado: Promise;\r\n try {\r\n await this.storage\r\n .ref(this.basePath + codigo + '.png')\r\n .getDownloadURL()\r\n .toPromise()\r\n .then((response: any) => {\r\n resultado = response;\r\n return resultado;\r\n })\r\n .catch((error) => error);\r\n\r\n return resultado;\r\n } catch (error) {}\r\n }\r\n\r\n prevPage() {\r\n if (this.pageNumber > 1) {\r\n this.pageNumber--;\r\n this.paginatedParceiros = this.Parceiros.slice(\r\n this.pageNumber * this.pageSize - 100,\r\n this.pageNumber * this.pageSize\r\n );\r\n }\r\n }\r\n\r\n nextPage() {\r\n if (this.pageNumber < Math.ceil(this.Parceiros.length / this.pageSize)) {\r\n this.pageNumber++;\r\n this.paginatedParceiros = this.Parceiros.slice(\r\n this.pageNumber * this.pageSize - 100,\r\n this.pageNumber * this.pageSize\r\n );\r\n }\r\n }\r\n\r\n openNew() {\r\n this.pageNumber = 1;\r\n this.pageSize = 100;\r\n\r\n this.data = {};\r\n // this.carregarListas();\r\n this.submitted = false;\r\n this.dataDialog = true;\r\n }\r\n\r\n async editData(data: NotificacaoModel) {\r\n data.isEdit = true;\r\n data.Icone = await this.getImage(data.NotificacaoID);\r\n this.data = { ...data };\r\n this.dataDialog = true;\r\n }\r\n\r\n deleteData(data: NotificacaoModel) {\r\n this.confirmationService.confirm({\r\n message: 'Tem certeza de que deseja excluir ' + data.Titulo + '?',\r\n header: 'Informação',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptLabel: 'SIM',\r\n rejectLabel: 'NÃO',\r\n accept: () => {\r\n this.service.delete_Notificacao(data.NotificacaoID);\r\n this.data = {};\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro excluído com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n\r\n hideDialog() {\r\n this.dataDialog = false;\r\n this.submitted = false;\r\n this.data = {};\r\n // this.carregarListas();\r\n }\r\n\r\n FormataString(data) {\r\n if (\r\n data == null ||\r\n data == undefined ||\r\n data == 'null' ||\r\n data == 'undefined'\r\n ) {\r\n return '';\r\n }\r\n\r\n return data;\r\n }\r\n\r\n loadingSave: boolean = false;\r\n async saveData() {\r\n try {\r\n this.submitted = true;\r\n this.loadingSave = true;\r\n\r\n let arrayUnidades: number[];\r\n arrayUnidades = [];\r\n let arrayCidades: number[];\r\n arrayCidades = [];\r\n let arraySupervisores: string[];\r\n arraySupervisores = [];\r\n let arrayCarteiras: number[];\r\n arrayCarteiras = [];\r\n let arraySegmentos: string[];\r\n arraySegmentos = [];\r\n let arrayPapeisClientes: string[];\r\n arrayPapeisClientes = [];\r\n let arrayParceiroNegocios: string[];\r\n arrayParceiroNegocios = [];\r\n\r\n let data = {};\r\n\r\n if (this.data.NotificacaoID != undefined) {\r\n data['NotificacaoID'] = this.data.NotificacaoID;\r\n data['Mensagem'] = this.data.Mensagem;\r\n data['Icone'] = this.data.Icone;\r\n data['Titulo'] = this.data.Titulo;\r\n\r\n this.service.update_Notificacao(this.data.NotificacaoID, data);\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n } else {\r\n data['Mensagem'] = this.FormataString(this.data.Mensagem);\r\n data['Icone'] = this.FormataString(this.data.Icone);\r\n data['Titulo'] = this.FormataString(this.data.Titulo);\r\n\r\n //#region LISTA ALTERAÇÃO\r\n\r\n //UNIDADES\r\n if (this.ListaUnidades.length > 0) {\r\n for (let index = 0; index < this.ListaUnidades.length; index++) {\r\n const element = this.ListaUnidades[index];\r\n if (element != null) {\r\n // let dt: UnidadeModel = {\r\n // UnidadeID: element.UnidadeID\r\n // }\r\n arrayUnidades.push(element.UnidadeID);\r\n }\r\n }\r\n }\r\n //FIM LISTA UNIDADES\r\n\r\n //LISTA CIDADES\r\n if (this.ListaCidades.length > 0) {\r\n for (let index = 0; index < this.ListaCidades.length; index++) {\r\n const element = this.ListaCidades[index];\r\n if (element != null) {\r\n // let dt: CidadeModel = {\r\n // CidadeID: element.CidadeID,\r\n // }\r\n arrayCidades.push(element.CidadeID);\r\n }\r\n }\r\n }\r\n //FIM LISTA CIDADES\r\n\r\n //LISTA SUPERVISOR\r\n if (this.ListaSupervisores.length > 0) {\r\n for (let index = 0; index < this.ListaSupervisores.length; index++) {\r\n const element = this.ListaSupervisores[index];\r\n if (element != null) {\r\n // let dt: SupervisorModel = {\r\n // SupervisorID: element.SupervisorID,\r\n // }\r\n arraySupervisores.push(String(element.SupervisorID));\r\n }\r\n }\r\n }\r\n //FIM LISTA SUPERVISOR\r\n\r\n //LISTA CARTEIRAS\r\n if (this.ListaCarteirasVendas.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaCarteirasVendas.length;\r\n index++\r\n ) {\r\n const element = this.ListaCarteirasVendas[index];\r\n if (element != null) {\r\n // let dt: CarteiraModel = {\r\n // CarteiraVendaID: ,\r\n // }\r\n arrayCarteiras.push(element.CarteiraVendaID);\r\n }\r\n }\r\n }\r\n //FIM LISTA CARTEIRAS\r\n\r\n //LISTA SEGMENTOS\r\n if (this.ListaSegmentos.length > 0) {\r\n for (let index = 0; index < this.ListaSegmentos.length; index++) {\r\n const element = this.ListaSegmentos[index];\r\n if (element != null) {\r\n // let dt: SegmentoModel = {\r\n // SegmentoID: ,\r\n // }\r\n arraySegmentos.push(String(element.SegmentoID));\r\n }\r\n }\r\n }\r\n //FIM LISTA SEGMENTOS\r\n\r\n //LISTA PAPEIS CLIENTE\r\n if (this.ListaPapeisClientes.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaPapeisClientes.length;\r\n index++\r\n ) {\r\n const element = this.ListaPapeisClientes[index];\r\n if (element != null) {\r\n // let dt: PapeisClienteModel = {\r\n // PapelClienteID: element.PapelClienteID,\r\n // }\r\n arrayPapeisClientes.push(String(element.PapelClienteID));\r\n }\r\n }\r\n }\r\n //FIM LISTA PAPEIS CLIENTE\r\n\r\n //LISTA PARCEIRO\r\n if (this.ListaParceirosNegocios.length > 0) {\r\n for (\r\n let index = 0;\r\n index < this.ListaParceirosNegocios.length;\r\n index++\r\n ) {\r\n const element = this.ListaParceirosNegocios[index];\r\n if (element != null) {\r\n arrayParceiroNegocios.push(element.ParceiroNegocioID);\r\n }\r\n }\r\n }\r\n //FIM LISTA PARCEIRO\r\n //#endregion\r\n\r\n let noti: NotificacaoModel;\r\n noti = {};\r\n noti.Titulo = this.data.Titulo;\r\n noti.Icone = this.data.Icone;\r\n noti.Mensagem = this.data.Mensagem;\r\n if (this.FormataString(this.data.Tipo) != '') {\r\n if (this.FormataString(this.data.Tipo) == 'PROMOCAO') {\r\n noti.Dados = this.data.Tipo + '|' + this.data.Promocao;\r\n } else {\r\n noti.Dados = this.data.Tipo;\r\n }\r\n } else {\r\n noti.Dados = '';\r\n }\r\n\r\n noti.ParceirosNegociosString = arrayParceiroNegocios;\r\n noti.CidadesString = arrayCidades;\r\n noti.CarteirasVendasString = arrayCarteiras;\r\n noti.PapeisClientesString = arrayPapeisClientes;\r\n noti.SegmentosString = arraySegmentos;\r\n noti.SupervisoresString = arraySupervisores;\r\n noti.UnidadesString = arrayUnidades;\r\n\r\n let result = await this.service.PostNotificacaoEnviar(noti);\r\n\r\n if (result == true) {\r\n this.data.Mensagem = '';\r\n this.data.Icone = '';\r\n this.data.Titulo = '';\r\n this.data.Promocao = '';\r\n this.data.PromocaoID = '';\r\n this.data.Tipo = '';\r\n\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n this.data = {};\r\n // this.carregarListas();\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Notificação enviada com sucesso!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail:\r\n 'Não foi possível enviar a notificação! Verifique os filtros selecionados.\\n' +\r\n result,\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível enviar a notificação!\\n' + error,\r\n });\r\n }\r\n }\r\n\r\n disabledPromocao: boolean = true;\r\n onChangeTipoNotificacao(event) {\r\n try {\r\n if (event != null || event != undefined) {\r\n if (event == 'PROMOCAO') {\r\n this.disabledPromocao = false;\r\n } else {\r\n this.data.Promocao = '';\r\n this.data.PromocaoID = '';\r\n this.disabledPromocao = true;\r\n }\r\n } else {\r\n this.data.Promocao = '';\r\n this.data.PromocaoID = '';\r\n this.disabledPromocao = true;\r\n }\r\n } catch (error) {}\r\n }\r\n\r\n onChangePromocao(event) {\r\n try {\r\n } catch (error) {}\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Gerenciamento de Notificações
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Código \r\n \r\n \r\n Título \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ data.NotificacaoID }}\r\n {{ data.Titulo }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n No total, existem {{ datas ? datas.length : 0 }} registro(s).\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Descrição é Título.\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Descrição é obrigatório.\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
{{ product.RazaoSocial }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{ product.CarteiraVendaID }} - {{ product.Descricao }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{ product.Descricao }}/{{ product.Estado }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{ product.SegmentoID }} - {{ product.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 {{ product.SupervisorID }} - {{ product.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 {{ product.UnidadeID }} - {{ product.Descricao }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{ product.PapelClienteID }} - {{ product.Descricao }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\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: true,\r\n apiUrl: 'your-api-url.com',\r\n version: '1.0.1',\r\n firebase: {\r\n apiKey: 'AIzaSyASxqJWK4pjMsojWB3XyrLmWJJXDPGve1c',\r\n authDomain: 'parceiro-poty.firebaseapp.com',\r\n databaseURL: 'https://parceiro-poty.firebaseio.com',\r\n projectId: 'parceiro-poty',\r\n storageBucket: 'parceiro-poty.appspot.com',\r\n messagingSenderId: '714160100667',\r\n appId: '1:714160100667:web:068fcaf2938840506fd31e',\r\n measurementId: 'G-BWEH3QZ99S',\r\n },\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/dist/zone-error'; // Included with Angular CLI.\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AppComponent } from './app.component';\r\nimport { AppMainComponent } from './app.main.component';\r\n\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './app.menu.component.html',\r\n})\r\nexport class AppMenuComponent implements OnInit {\r\n public model: any[];\r\n\r\n constructor(public app: AppComponent, public appMain: AppMainComponent) {}\r\n\r\n async ngOnInit() {\r\n this.model = [\r\n {\r\n label: 'Dashboard',\r\n icon: 'pi pi-fw pi-chart-bar',\r\n routerLink: ['/'],\r\n },\r\n {\r\n label: 'Cadastro',\r\n icon: 'pi pi-fw pi-id-card',\r\n routerLink: ['/cadastro'],\r\n items: [\r\n {\r\n label: 'Usuário',\r\n icon: 'pi pi-fw pi-user',\r\n routerLink: ['/cadastro/usuario'],\r\n },\r\n {\r\n label: 'Categoria',\r\n icon: 'pi pi-fw pi-sitemap',\r\n routerLink: ['/cadastro/categoria'],\r\n },\r\n {\r\n label: 'Produto',\r\n icon: 'pi pi-fw pi-tag',\r\n routerLink: ['/cadastro/produto'],\r\n },\r\n {\r\n label: 'Parceiro',\r\n icon: 'pi pi-fw pi-users',\r\n routerLink: ['/cadastro/parceiro'],\r\n },\r\n {\r\n label: 'Promoção',\r\n icon: 'pi pi-fw pi-tags',\r\n routerLink: ['/cadastro/promocao'],\r\n },\r\n {\r\n label: 'Cupom',\r\n icon: 'pi pi-fw pi-tags',\r\n routerLink: ['/cadastro/cupom'],\r\n },\r\n {\r\n label: 'Notificação',\r\n icon: 'pi pi-fw pi-bell',\r\n routerLink: ['/cadastro/notificacao'],\r\n },\r\n ],\r\n },\r\n {\r\n label: 'Configurações do APP',\r\n icon: 'pi pi-fw pi-cog',\r\n routerLink: ['/app/configuracao'],\r\n },\r\n ];\r\n }\r\n}\r\n","
\r\n \r\n\r\n
\r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n
\r\n
\r\n\r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFireDatabase } from '@angular/fire/database';\r\nimport { AngularFireStorage } from '@angular/fire/storage';\r\nimport { ParceiroPromocaoModel } from './promocao.model';\r\nimport { UnidadeModel } from 'src/app/models/unidade.model';\r\nimport { CidadeModel } from 'src/app/models/cidade.model';\r\nimport { SupervisorModel } from 'src/app/models/supervisor.model';\r\nimport { CarteiraModel } from 'src/app/models/carteira.model';\r\nimport { SegmentoModel } from 'src/app/models/segmento.model';\r\nimport { PapeisClienteModel } from 'src/app/models/papeiscliente.model';\r\nimport { GetPromocao, PostPromocaoInserir } from 'src/app/services/api.service';\r\nimport { timeout } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ParceiroPromocaoService {\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n\r\n private basePath = '/parceiro';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n public firestore: AngularFirestore,\r\n public fireAuth: AngularFireAuth,\r\n private db: AngularFireDatabase,\r\n private storage: AngularFireStorage\r\n ) {}\r\n\r\n private updateToken = () => {\r\n this.TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n };\r\n\r\n /* Cria um novo registro na coleção especificada usando o método add */\r\n createParceiroPromocao(record, guide: string) {\r\n console.log(guide);\r\n return this.firestore.collection('Promocoes').doc(guide).set(record);\r\n }\r\n readParceiroPromocao() {\r\n return this.firestore\r\n .collection('Promocoes')\r\n .snapshotChanges();\r\n }\r\n /*Atualiza o registro pegando o ID e chamando o método de atualização */\r\n updateParceiroPromocao(recordID, record) {\r\n this.firestore.doc('Promocoes/' + recordID).update(record);\r\n }\r\n /*Chama o método de exclusão ao registrar o ID*/\r\n deleteParceiroPromocao(record_id) {\r\n this.firestore.doc('Promocoes/' + record_id).delete();\r\n }\r\n\r\n deleteAllParceiroPromocao() {\r\n // this.firestore.doc('Promocoes').delete();\r\n }\r\n\r\n async PostPromocaoInserir(dados: ParceiroPromocaoModel): Promise {\r\n let resultado: any = 'erro';\r\n let response: any;\r\n //Exemplo:\r\n // {\r\n // \"PromocaoID\":\"63d3f00e-64e1-48c1-b16b-0006877b77e6\",\r\n // \"Descricao\":\"Promo\\u00E7\\u00E3o semana 26 e 30/7 Roller 3L\",\r\n // \"DescricaoAplicativo\":\"Promo\\u00E7\\u00E3o semana 26 e 30/7 Roller 3L\",\r\n // \"DataInicio\":\"2021-07-26T00:00:00\",\r\n // \"DataFinal\":\"2021-07-30T00:00:00\",\r\n // \"Ativo\":false,\r\n // \"PromocaoMktPlace\":1009,\r\n // \"Destacar\":true,\r\n // \"PromocoesCarteirasVendas\":[],\r\n // \"PromocoesCidades\":[],\r\n // \"PromocoesDescontos\":\r\n // [{\r\n // \"PromocaoDescontoID\":\"989e81d6-9de0-44ae-914c-59f35d81c053\",\r\n // \"PromocaoID\":\"63d3f00e-64e1-48c1-b16b-0006877b77e6\",\r\n // \"Quantidade\":0,\"Percentual\":15.99\r\n // }],\r\n // \"PromocoesProdutos\":\r\n // [{\r\n // \"PromocaoProdutoID\":\"cc40b8cc-a2e7-4a2e-9d38-874eefcd8026\",\r\n // \"PromocaoID\":\"63d3f00e-64e1-48c1-b16b-0006877b77e6\",\r\n // \"ProdutoID\":\"PA000036\",\r\n // \"QuantidadeMinima\":0,\r\n // \"QuantidadeMaxima\":0\r\n // }],\r\n // \"PromocoesSegmentos\":[],\r\n // \"PromocoesSupervisores\":[],\r\n // \"PromocoesUnidades\":[],\r\n // \"PromocoesPapeisClientes\":\r\n // [{\r\n // \"PromocaoPapelClienteID\":\"2aab59a8-993a-4faf-8363-d01a50669366\",\r\n // \"PromocaoID\":\"63d3f00e-64e1-48c1-b16b-0006877b77e6\",\r\n // \"PapelClienteID\":74\r\n // }]\r\n // }\r\n try {\r\n let data: any = {\r\n PromocaoID: dados.PromocaoID,\r\n Descricao: dados.Descricao,\r\n DescricaoAplicativo: dados.DescricaoAplicativo,\r\n DataInicio: dados.DataInicio,\r\n DataFinal: dados.DataFinal,\r\n Ativo: dados.Ativo,\r\n PromocaoMktPlace: dados.PromocaoMktPlace,\r\n Destacar: dados.Destacar,\r\n DestacarNoProduto: dados.DestacarNoProduto,\r\n PromocoesCarteirasVendas: dados.PromocoesCarteirasVendas,\r\n PromocoesCidades: dados.PromocoesCidades,\r\n PromocoesDescontos: dados.PromocoesDescontos,\r\n PromocoesProdutos: dados.PromocoesProdutos,\r\n PromocoesSegmentos: dados.PromocoesSegmentos,\r\n PromocoesSupervisores: dados.PromocoesSupervisores,\r\n PromocoesUnidades: dados.PromocoesUnidades,\r\n PromocoesPapeisClientes: dados.PromocoesPapeisClientes,\r\n };\r\n this.updateToken();\r\n\r\n if (this.TOKEN != null || this.TOKEN != undefined) {\r\n const response = (await this.http\r\n .post(`${PostPromocaoInserir}/${this.TOKEN}`, JSON.stringify(data))\r\n // .pipe(timeout(26000000)) // removido para testar enquanto não temos tantos valores para demorar no uso da api de promoções\r\n .toPromise()) as { sucesso: boolean; mensagem: string };\r\n\r\n console.log(response);\r\n if (response.sucesso == true) {\r\n resultado = response.sucesso;\r\n }\r\n }\r\n\r\n return resultado;\r\n } catch (error) {\r\n console.log({ error });\r\n\r\n resultado = 'erro' + error;\r\n }\r\n }\r\n\r\n //LISTAS\r\n readUnidadesPromocao() {\r\n return this.firestore\r\n .collection('Unidades')\r\n .snapshotChanges();\r\n }\r\n readCidadesPromocao() {\r\n return this.firestore.collection('Cidades').snapshotChanges();\r\n }\r\n readSupervisorPromocao() {\r\n return this.firestore\r\n .collection('Supervisores')\r\n .snapshotChanges();\r\n }\r\n readCarteiraPromocao() {\r\n return this.firestore\r\n .collection('CarteirasVendas')\r\n .snapshotChanges();\r\n }\r\n readSegmentosPromocao() {\r\n return this.firestore\r\n .collection('Segmentos')\r\n .snapshotChanges();\r\n }\r\n readPapeisClientesPromocao() {\r\n return this.firestore\r\n .collection('PapeisClientes')\r\n .snapshotChanges();\r\n }\r\n //\r\n atualizarPromocoes() {\r\n this.updateToken();\r\n\r\n const response = this.http.get(`${GetPromocao}/${this.TOKEN}`);\r\n // .pipe(timeout(26000000)); // removido para testar enquanto não temos tantos valores para demorar no uso da api de promoções\r\n\r\n return response;\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('currentUser');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n Router,\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private router: Router) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n let user = localStorage.getItem('currentUser');\r\n if (user) {\r\n // logado para retornar true\r\n return true;\r\n }\r\n console.log('não está logado');\r\n localStorage.clear();\r\n //testando de colocar esse clear no localstorage para evitar problema de atualizar token quando reconectaar conta no site\r\n // não está logado, então redirecione para a página de login com o URL de retorno\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}\r\n","export const PostProdutoAlterar =\r\n 'https://parceiropoty.azurewebsites.net/api/adm/produtos/alterar';\r\nexport const PostProdutoComboAlterar =\r\n 'https://parceiropoty.azurewebsites.net/api/adm/produtoscombos';\r\n\r\nexport const PostCategoriaAlterar =\r\n 'https://parceiropoty.azurewebsites.net/api/adm/categoria/alterar';\r\nexport const PostParceiroCadastrar =\r\n 'https://parceiropoty.azurewebsites.net/api/parceiroPoty/novoParceiro/cadastrar';\r\nexport const PostParceiroAlterar =\r\n 'https://parceiropoty.azurewebsites.net/api/adm/parceiroPoty/alterar';\r\nexport const PostParceiroDeletar =\r\n 'https://parceiropoty.azurewebsites.net/api/parceiroPoty/excluirComplemento';\r\n\r\nexport const PostPromocaoInserir =\r\n 'https://parceiropoty.azurewebsites.net/api/adm/Promocoes/salvar';\r\n\r\nexport const PostNotificacaoEnviar =\r\n 'https://ppantigoapi.bebidaspoty.com.br/notificacoes/enviar';\r\n\r\nexport const GetVerificarNovoParceiro =\r\n 'https://parceiropoty.azurewebsites.net/api/parceiroPoty/novoParceiro/{token}/{cpfCnpj}';\r\n\r\nexport const GetParceiro =\r\n 'https://parceiropoty.azurewebsites.net/api/parceiroNegocio/atualizacao';\r\n\r\nexport const PostParceiroTrocarEmail =\r\n 'https://parceiropoty.azurewebsites.net/api/parceiroPoty/MudarEmailSenha';\r\n\r\nexport const gerarToken =\r\n 'https://parceiropoty.azurewebsites.net/api/autenticacao/gerarToken';\r\n\r\nexport const GetCategorias =\r\n 'https://parceiropoty.azurewebsites.net/api/adm/atualizarCategoriasDoMktPlaceAdmin';\r\nexport const GetProdutos =\r\n 'https://parceiropoty.azurewebsites.net/api/cargas/produtos';\r\nexport const GetPromocao =\r\n 'https://parceiropoty.azurewebsites.net/api/cargas/promocoes';\r\n","import { Component, OnDestroy } from '@angular/core';\r\nimport { AppBreadcrumbService } from './app.breadcrumb.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { MenuItem } from 'primeng/api';\r\nimport {AppMainComponent} from './app.main.component';\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n templateUrl: './app.breadcrumb.component.html'\r\n})\r\nexport class AppBreadcrumbComponent implements OnDestroy {\r\n\r\n subscription: Subscription;\r\n\r\n items: MenuItem[];\r\n\r\n home: MenuItem;\r\n\r\n search: string;\r\n\r\n constructor(public breadcrumbService: AppBreadcrumbService, public appMain: AppMainComponent) {\r\n this.subscription = breadcrumbService.itemsHandler.subscribe(response => {\r\n this.items = response;\r\n });\r\n\r\n this.home = { icon: 'pi pi-home', routerLink: '/' };\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AngularFirestore,\r\n QueryDocumentSnapshot,\r\n} from '@angular/fire/firestore';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFireDatabase, AngularFireList } from '@angular/fire/database';\r\nimport { FileUpload } from 'primeng/fileupload';\r\nimport { AngularFireStorage } from '@angular/fire/storage';\r\nimport { ParceiroModel } from './parceiro.model';\r\nimport {\r\n GetParceiro,\r\n PostParceiroAlterar,\r\n PostParceiroDeletar,\r\n PostParceiroTrocarEmail,\r\n} from 'src/app/services/api.service';\r\n\r\n@Injectable()\r\nexport class ParceiroService {\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n\r\n private basePath = '/parceiros';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n public firestore: AngularFirestore,\r\n public fireAuth: AngularFireAuth,\r\n private db: AngularFireDatabase,\r\n private storage: AngularFireStorage\r\n ) {}\r\n\r\n private updateToken = () => {\r\n this.TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n };\r\n\r\n /* Cria um novo registro na coleção especificada usando o método add */\r\n createParceiro(record) {\r\n return this.firestore.collection('ParceirosNegocios').add(record);\r\n }\r\n // readParceiro() {\r\n // return this.firestore\r\n // .collection('ParceirosNegocios')\r\n // .snapshotChanges();\r\n // }\r\n\r\n readParceiro(\r\n limit: number,\r\n dataReference: string,\r\n searchValue: string,\r\n startAfter?: QueryDocumentSnapshot\r\n ) {\r\n return this.firestore\r\n .collection('ParceirosNegocios', (ref) => {\r\n let queryRef = ref\r\n .where(dataReference, '>=', searchValue)\r\n .where(dataReference, '<=', searchValue + '\\uf8ff')\r\n // .orderBy(dataReference)\r\n .limit(limit);\r\n\r\n if (startAfter) {\r\n queryRef = queryRef.startAfter(startAfter);\r\n }\r\n return queryRef;\r\n })\r\n .get();\r\n }\r\n\r\n deleteParceiro(recordId) {\r\n console.log({ deletarFirebase: recordId });\r\n\r\n this.firestore.doc('ParceirosNegocios/' + recordId).delete();\r\n }\r\n\r\n readParceirosNegociosComplementos(id: string) {\r\n return this.firestore\r\n .collection('ParceirosNegociosComplementos', (ref) =>\r\n ref.where('FirebaseID', '==', id)\r\n )\r\n .snapshotChanges();\r\n }\r\n /*Atualiza o registro pegando o ID e chamando o método de atualização */\r\n updateParceiro(recordID, record) {\r\n this.firestore.doc('ParceirosNegocios/' + recordID).update(record);\r\n }\r\n /*Chama o método de exclusão ao registrar o ID*/\r\n\r\n deleteAllParceiro() {\r\n // this.firestore.doc('ParceirosNegocios').delete();\r\n }\r\n\r\n getFiles(): AngularFireList {\r\n console.log(this.db.list(this.basePath));\r\n return this.db.list(this.basePath);\r\n }\r\n\r\n async PostDeletarParceiro(parceiroId: string): Promise {\r\n let resultado: any = 'erro';\r\n let response: any;\r\n console.log(this.TOKEN);\r\n\r\n console.log(`${PostParceiroDeletar}/${this.TOKEN}/${parceiroId}`);\r\n\r\n try {\r\n this.updateToken();\r\n if (this.TOKEN != null) {\r\n if (this.TOKEN != null || this.TOKEN != undefined) {\r\n console.log('entrei');\r\n\r\n response = await this.http\r\n .post(`${PostParceiroDeletar}/${this.TOKEN}/${parceiroId}`, null)\r\n .toPromise();\r\n console.log({ deletar: response });\r\n\r\n if (response.sucesso == true) {\r\n resultado = response.sucesso;\r\n }\r\n }\r\n }\r\n return resultado;\r\n } catch (error) {\r\n console.log({ erro: error });\r\n\r\n resultado = 'erro' + error;\r\n }\r\n }\r\n\r\n async PostParceiroAlterar(dados: ParceiroModel): Promise {\r\n let resultado: any = 'erro';\r\n let response: any;\r\n //Exemplo:\r\n // {\r\n // \"firebaseID\": \"LKJJlkjdakjlkj...\",\r\n // \"telefone\": \"17438423423\",\r\n // \"celular\": \"17438423423\",\r\n // \"email\":\"teste@teste.com.br\",\r\n // \"segmento\":\"10\"\r\n // }\r\n try {\r\n let data: any = {\r\n FirebaseID: dados.FirebaseID,\r\n Email: dados.Email,\r\n Telefone: dados.Telefone,\r\n Celular: dados.Celular,\r\n Segmento: Number(dados.SegmentoID),\r\n };\r\n this.updateToken();\r\n if (this.TOKEN != null) {\r\n if (this.TOKEN != null || this.TOKEN != undefined) {\r\n response = await this.http\r\n .post(`${PostParceiroAlterar}/${this.TOKEN}`, JSON.stringify(data))\r\n .toPromise();\r\n if (response.sucesso == true) {\r\n resultado = response.sucesso;\r\n }\r\n }\r\n }\r\n return resultado;\r\n } catch (error) {\r\n resultado = 'erro' + error;\r\n }\r\n }\r\n\r\n atualizaParceiro(id: string) {\r\n this.updateToken();\r\n return this.http.get(`${GetParceiro}/${this.TOKEN}/${id}`);\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('currentUser');\r\n }\r\n\r\n async postAtualizaDadosParceiro(\r\n email: string,\r\n firebaseId: string,\r\n password: string\r\n ) {\r\n let resultado;\r\n let response;\r\n try {\r\n let dados: any = {\r\n Email: email,\r\n FirebaseID: firebaseId,\r\n Senha: password,\r\n };\r\n this.updateToken();\r\n response = await this.http\r\n .post(`${PostParceiroTrocarEmail}`, dados)\r\n .toPromise();\r\n if (response.sucesso == true) {\r\n resultado = response.sucesso;\r\n }\r\n return resultado;\r\n } catch (error) {\r\n resultado = 'erro' + error;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LoginModel } from './app.login.model';\r\nimport { LoginService } from './app.login.service';\r\nimport { FirebaseService } from './app.login.firebase.service';\r\nimport { ProdutoService } from './produto/produto.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: 'app.login.component.html',\r\n})\r\nexport class LoginComponent implements OnInit {\r\n public usuario: LoginModel = new LoginModel();\r\n returnUrl: string;\r\n version: string;\r\n isSignedIn = false;\r\n loading = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authService: LoginService,\r\n public fireAuth: AngularFireAuth,\r\n public firebaseService: FirebaseService,\r\n public messageService: MessageService,\r\n private produtoService: ProdutoService\r\n ) {}\r\n\r\n async ngOnInit() {\r\n this.authService.logout();\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n this.version = environment.version;\r\n\r\n if (localStorage.getItem('user') !== null) this.isSignedIn = true;\r\n else this.isSignedIn = false;\r\n\r\n // this.usuario.usuario = \"marcos_rbr94@hotmail.com\";\r\n // this.usuario.senha = \"38681938\";\r\n }\r\n\r\n onInputKeyDown(event: KeyboardEvent) {\r\n if (event.key === 'Enter' && this.usuario.usuario && this.usuario.senha) {\r\n this.onClickLogin();\r\n }\r\n }\r\n\r\n async onClickLogin() {\r\n this.loading = true;\r\n\r\n var errorCode;\r\n var errorMessage;\r\n\r\n if (String(this.usuario.usuario) == undefined) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Informe o E-mail!',\r\n life: 3000,\r\n });\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n if (String(this.usuario.senha) == undefined) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Informe a Senha!',\r\n life: 3000,\r\n });\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n await this.firebaseService\r\n .signin(this.usuario.usuario, this.usuario.senha)\r\n .then((res) => {\r\n this.produtoService.updateLocalstorage(res);\r\n })\r\n .catch(function (error) {\r\n // Handle Errors here.\r\n errorCode = error.code;\r\n errorMessage = error.message;\r\n\r\n console.log(errorCode);\r\n console.log(errorMessage);\r\n // ...\r\n });\r\n if (errorCode != null) {\r\n if (errorCode.toString() == 'auth/invalid-email') {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Email não está correto!',\r\n life: 3000,\r\n });\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n if (errorCode.toString() == 'auth/user-not-found') {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Usuário não encontrado na base de dados!',\r\n life: 3000,\r\n });\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n if (errorCode.toString() == 'auth/wrong-password') {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'A senha é inválida ou o usuário não possui uma senha!',\r\n life: 3000,\r\n });\r\n this.loading = false;\r\n return;\r\n }\r\n }\r\n\r\n this.carregarProdutos();\r\n this.carregarSegmentos();\r\n\r\n this.isSignedIn = true;\r\n this.router.navigate(['/']);\r\n }\r\n\r\n carregarProdutos() {\r\n this.produtoService.readProduto().subscribe((data) => {\r\n localStorage.removeItem('Produtos');\r\n\r\n let prods = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n isEdit: false,\r\n Ativo: dataValues.Ativo,\r\n Categoria: dataValues.Categoria,\r\n CategoriaID: dataValues.CategoriaID,\r\n CodigoAlternativo: dataValues.CodigoAlternativo,\r\n Descricao: dataValues.Descricao,\r\n Preco: dataValues.Preco,\r\n ProdutoID: dataValues.ProdutoID,\r\n QuantidadeObjetivo: dataValues.QuantidadeObjetivo,\r\n QuantidadeTroca: dataValues.QuantidadeTroca,\r\n QuantidadeVenda: dataValues.QuantidadeVenda,\r\n SubCategoria: dataValues.SubCategoria,\r\n SubCategoriaID: dataValues.SubCategoriaID,\r\n UnidadeObjetivo: dataValues.UnidadeObjetivo,\r\n UnidadeTroca: dataValues.UnidadeTroca,\r\n UnidadeVenda: dataValues.UnidadeVenda,\r\n urlImage: dataValues.urlImage,\r\n };\r\n });\r\n\r\n localStorage.setItem('Produtos', JSON.stringify(prods));\r\n });\r\n }\r\n\r\n carregarSegmentos() {\r\n this.produtoService.readSegmento().subscribe((data) => {\r\n localStorage.removeItem('Segmentos');\r\n\r\n let prods = data.map((e) => {\r\n return {\r\n id: e.payload.doc.id,\r\n SegmentoID: e.payload.doc.data()['SegmentoID'],\r\n Nome: e.payload.doc.data()['Nome'],\r\n };\r\n });\r\n\r\n localStorage.setItem('Segmentos', JSON.stringify(prods));\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \"atlantis\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

Parceiro Poty

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { CategoriaModel } from './categoria.model';\r\nimport { AngularFireDatabase, AngularFireList } from '@angular/fire/database';\r\nimport { FileUpload } from 'primeng/fileupload';\r\nimport { AngularFireStorage } from '@angular/fire/storage';\r\nimport {\r\n GetCategorias,\r\n PostCategoriaAlterar,\r\n} from 'src/app/services/api.service';\r\nimport { SubCategoriaModel } from './subcategoria.model';\r\n\r\n@Injectable()\r\nexport class CategoriaService {\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n\r\n private basePath = '/categorias';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n public firestore: AngularFirestore,\r\n public fireAuth: AngularFireAuth,\r\n private db: AngularFireDatabase,\r\n private storage: AngularFireStorage\r\n ) {}\r\n\r\n private updateToken = () => {\r\n this.TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n };\r\n\r\n /* Cria um novo registro na coleção especificada usando o método add */\r\n create_NewCategoria(record) {\r\n return this.firestore.collection('Categorias').add(record);\r\n }\r\n read_Categoria() {\r\n return this.firestore\r\n .collection('Categorias')\r\n .snapshotChanges();\r\n }\r\n /*Atualiza o registro pegando o ID e chamando o método de atualização */\r\n update_Categoria(recordID, record) {\r\n this.firestore.doc('Categorias/' + recordID).update(record);\r\n }\r\n /*Chama o método de exclusão ao registrar o ID*/\r\n delete_Categoria(record_id) {\r\n this.firestore.doc('Categorias/' + record_id).delete();\r\n }\r\n\r\n delete_all_Categoria() {\r\n this.firestore.doc('Categorias').delete();\r\n }\r\n\r\n getFiles(): AngularFireList {\r\n console.log(this.db.list(this.basePath));\r\n return this.db.list(this.basePath);\r\n }\r\n\r\n async PostCategoriaAlterar(dados: CategoriaModel): Promise {\r\n let resultado: any = 'erro';\r\n let response: any;\r\n let arraySubCategoria: any[];\r\n arraySubCategoria = [];\r\n\r\n try {\r\n console.log(dados);\r\n\r\n //SUB CATEGORIA\r\n if (dados.SubCategorias.length > 0) {\r\n for (let index = 0; index < dados.SubCategorias.length; index++) {\r\n const element = dados.SubCategorias[index];\r\n if (element != null) {\r\n let dt: SubCategoriaModel = {\r\n CategoriaID: Number(element.CategoriaID),\r\n Descricao: element.Descricao,\r\n Status: element.Status,\r\n Sequencia: element.Sequencia,\r\n };\r\n\r\n arraySubCategoria.push(dt);\r\n }\r\n }\r\n }\r\n //FIM SUB CATEGORIA\r\n\r\n let data: any = {\r\n CategoriaID: Number(dados.CategoriaID),\r\n Descricao: dados.Descricao,\r\n Status: dados.Status,\r\n Sequencia: dados.Sequencia,\r\n SubCategorias: arraySubCategoria,\r\n };\r\n\r\n console.log(data);\r\n this.updateToken();\r\n if (this.TOKEN != null) {\r\n if (this.TOKEN != null || this.TOKEN != undefined) {\r\n console.log('token', this.TOKEN);\r\n response = await this.http\r\n .post(`${PostCategoriaAlterar}/${this.TOKEN}`, JSON.stringify(data))\r\n .toPromise();\r\n if (response.sucesso == true) {\r\n resultado = response.sucesso;\r\n }\r\n }\r\n }\r\n return resultado;\r\n } catch (error) {\r\n resultado = 'erro' + error;\r\n }\r\n }\r\n\r\n atualizaCategoria() {\r\n console.log('token', this.TOKEN);\r\n this.updateToken();\r\n return this.http.get(`${GetCategorias}/${this.TOKEN}`);\r\n }\r\n // SUB CATEGORIAS\r\n update_SubCategoria(recordID, record) {\r\n this.firestore.doc('Categorias/' + recordID).update(record);\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('currentUser');\r\n }\r\n}\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","import { Component, OnInit } from '@angular/core';\r\nimport { PrimeNGConfig } from 'primeng/api';\r\nimport { LoginService } from './pages/app.login.service';\r\nimport { ProdutoService } from './pages/produto/produto.service';\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 {\r\n menuMode = 'sidebar';\r\n\r\n layout = 'blue';\r\n\r\n theme = 'blue';\r\n\r\n ripple: boolean;\r\n\r\n colorScheme = 'dark';\r\n\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n\r\n constructor(\r\n private primengConfig: PrimeNGConfig,\r\n private authService: LoginService,\r\n private produtoService: ProdutoService\r\n ) {}\r\n\r\n async gerarNovoToken() {\r\n try {\r\n if (!this.currentUser.uid) {\r\n localStorage.clear();\r\n window.location.reload();\r\n return;\r\n }\r\n const { token } = await this.authService.gerarToken(this.currentUser.uid);\r\n console.log('token reloaded', token);\r\n localStorage.setItem('tokenUser', JSON.stringify(token));\r\n return { token, currentUser: JSON.stringify(this.currentUser) };\r\n } catch (error) {\r\n localStorage.clear();\r\n window.location.reload();\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n this.primengConfig.ripple = true;\r\n this.ripple = true;\r\n console.log(this.TOKEN);\r\n console.log(this.currentUser);\r\n if (this.TOKEN && this.currentUser) {\r\n const res = await this.gerarNovoToken();\r\n\r\n this.produtoService.updateLocalstorage(res);\r\n }\r\n\r\n this.produtoService.readProduto().subscribe((data) => {\r\n localStorage.removeItem('Produtos');\r\n\r\n let prods = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n isEdit: false,\r\n Ativo: dataValues.Ativo,\r\n Categoria: dataValues.Categoria,\r\n CategoriaID: dataValues.CategoriaID,\r\n CodigoAlternativo: dataValues.CodigoAlternativo,\r\n Descricao: dataValues.Descricao,\r\n Preco: dataValues.Preco,\r\n ProdutoID: dataValues.ProdutoID,\r\n QuantidadeObjetivo: dataValues.QuantidadeObjetivo,\r\n QuantidadeTroca: dataValues.QuantidadeTroca,\r\n QuantidadeVenda: dataValues.QuantidadeVenda,\r\n SubCategoria: dataValues.SubCategoria,\r\n SubCategoriaID: dataValues.SubCategoriaID,\r\n UnidadeObjetivo: dataValues.UnidadeObjetivo,\r\n UnidadeTroca: dataValues.UnidadeTroca,\r\n UnidadeVenda: dataValues.UnidadeVenda,\r\n urlImage: dataValues.urlImage,\r\n };\r\n });\r\n\r\n localStorage.setItem('Produtos', JSON.stringify(prods));\r\n });\r\n }\r\n}\r\n","\r\n","import { Router } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FileUpload } from 'primeng/fileupload';\r\nimport { ProdutoModel } from './produto.model';\r\nimport { SegmentoModel } from 'src/app/models/segmento.model';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AngularFireStorage } from '@angular/fire/storage';\r\nimport { AngularFireDatabase, AngularFireList } from '@angular/fire/database';\r\nimport {\r\n GetProdutos,\r\n PostProdutoAlterar,\r\n PostProdutoComboAlterar,\r\n} from 'src/app/services/api.service';\r\n\r\n@Injectable()\r\nexport class ProdutoService {\r\n currentUser: string;\r\n TOKEN: string;\r\n\r\n private basePath = '/produtos';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n public firestore: AngularFirestore,\r\n public fireAuth: AngularFireAuth,\r\n private db: AngularFireDatabase,\r\n private storage: AngularFireStorage\r\n ) {\r\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n this.TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n }\r\n\r\n private updateToken = () => {\r\n this.TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n };\r\n\r\n updateLocalstorage({\r\n token,\r\n currentUser,\r\n }: {\r\n token: string;\r\n currentUser: string;\r\n }) {\r\n this.currentUser = JSON.parse(currentUser);\r\n this.TOKEN = token;\r\n\r\n localStorage.setItem('tokenUser', JSON.stringify(token));\r\n localStorage.setItem('currentUser', currentUser);\r\n }\r\n /* Cria um novo registro na coleção especificada usando o método add */\r\n createProduto(record) {\r\n return this.firestore.collection('Produtos').add(record);\r\n }\r\n readProduto() {\r\n return this.firestore\r\n .collection('Produtos')\r\n .snapshotChanges();\r\n }\r\n readSegmento() {\r\n return this.firestore\r\n .collection('Segmentos')\r\n .snapshotChanges();\r\n }\r\n /*Atualiza o registro pegando o ID e chamando o método de atualização */\r\n updateProduto(recordID, record) {\r\n this.firestore.doc('Produtos/' + recordID).update(record);\r\n }\r\n\r\n async PostProdutoAlterar(dados: ProdutoModel): Promise {\r\n let resultado: any = 'erro';\r\n let response: any;\r\n\r\n //Exemplo:\r\n // {\r\n // \"ProdutoID\": \"PA000032\",\r\n // \"Descricao\": \"Nova Descricao\",\r\n // \"SubCategoriaID\" : \"10\"\r\n // }\r\n\r\n try {\r\n let data: any = {\r\n ProdutoID: dados.ProdutoID,\r\n Descricao: dados.Descricao,\r\n SubCategoriaID: Number(dados.SubCategoriaID),\r\n };\r\n this.updateToken();\r\n if (this.TOKEN != null) {\r\n if (this.TOKEN != null || this.TOKEN != undefined) {\r\n response = await this.http\r\n .post(`${PostProdutoAlterar}/${this.TOKEN}`, JSON.stringify(data))\r\n .toPromise();\r\n\r\n if (response.sucesso == true) {\r\n resultado = response.sucesso;\r\n }\r\n }\r\n }\r\n return resultado;\r\n } catch (error) {\r\n resultado = 'erro' + error;\r\n }\r\n }\r\n\r\n async PostProdutoComboAlterar(dados: ProdutoModel): Promise {\r\n let resultado: any = 'erro';\r\n let response: any;\r\n try {\r\n let data: any = {\r\n ProdutoID: dados.ProdutoID,\r\n Descricao: dados.Descricao,\r\n Ativo: dados.Ativo,\r\n Preco: dados.Preco,\r\n SubCategoriaID: Number(dados.SubCategoriaID),\r\n ProdutosCombos: dados.ProdutosCombos,\r\n };\r\n this.updateToken();\r\n if (this.TOKEN != null) {\r\n if (this.TOKEN != null || this.TOKEN != undefined) {\r\n response = await this.http\r\n .post(\r\n `${PostProdutoComboAlterar}/${this.TOKEN}`,\r\n JSON.stringify(data)\r\n )\r\n .toPromise();\r\n\r\n if (response.sucesso == true) {\r\n resultado = response.sucesso;\r\n }\r\n }\r\n }\r\n return resultado;\r\n } catch (error) {\r\n resultado = 'erro' + error;\r\n }\r\n }\r\n\r\n async PostProdutoComboInserir(dados: ProdutoModel): Promise {\r\n let resultado: any = 'erro';\r\n let response: any;\r\n //Exemplo:\r\n // {\r\n // \"ProdutoID\": \"CB000001\",\r\n // \"Descricao\":\"Descricao do Combo\",\r\n // \"Status\":true,\r\n // \"Preco\":100.00,\r\n // \"SubCategoriaID\":10,\r\n // \"ProdutosCombos\":[\r\n // {\"ProdutoComboID\":\"CB000001\",\r\n // \"ProdutoID\":\"PA000007\",\r\n // \"Quantidade\": 100,\r\n // \"ValorUnitario\": 25.70,\r\n // \"ValorTotal\":2570.00\r\n // },...\r\n // ]}\r\n try {\r\n let data: any = {\r\n Ativo: dados.Ativo,\r\n Descricao: dados.Descricao,\r\n Preco: dados.Preco,\r\n SubCategoriaID: Number(dados.SubCategoriaID),\r\n ProdutosCombos: dados.ProdutosCombos,\r\n };\r\n this.updateToken();\r\n if (this.TOKEN != null) {\r\n if (this.TOKEN != null || this.TOKEN != undefined) {\r\n response = await this.http\r\n .post(\r\n `${PostProdutoComboAlterar}/${this.TOKEN}`,\r\n JSON.stringify(data)\r\n )\r\n .toPromise();\r\n\r\n if (response.sucesso == true) {\r\n resultado = response.sucesso;\r\n }\r\n }\r\n }\r\n return resultado;\r\n } catch (error) {\r\n resultado = 'erro' + error;\r\n }\r\n }\r\n\r\n /*Chama o método de exclusão ao registrar o ID*/\r\n deleteProduto(record_id) {\r\n this.firestore.doc('Produtos/' + record_id).delete();\r\n }\r\n\r\n deleteAllProduto() {\r\n // this.firestore.doc('Produtos').delete();\r\n }\r\n\r\n getFiles(): AngularFireList {\r\n console.log(this.db.list(this.basePath));\r\n return this.db.list(this.basePath);\r\n }\r\n\r\n atualizaProduto() {\r\n this.updateToken();\r\n\r\n return this.http.get(`${GetProdutos}/${this.TOKEN}`);\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('currentUser');\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AppBreadcrumbService } from 'src/app/app.breadcrumb.service';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss'],\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n constructor(private breadcrumbService: AppBreadcrumbService) {\r\n this.breadcrumbService.setItems([\r\n { label: 'Dashboard' },\r\n { label: 'Charts', routerLink: ['/'] },\r\n ]);\r\n }\r\n\r\n async ngOnInit() {}\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
USUÁRIO
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
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
PRODUTO
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
PARCEIRO
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
PROMOÇÃO
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
CUPOM
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
NOTIFICAÇÃO
\r\n
\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ÇÕES DO APP
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import {Component} from '@angular/core';\r\nimport {AppMainComponent} from './app.main.component';\r\n\r\n@Component({\r\n selector: 'app-rightmenu',\r\n templateUrl: './app.rightmenu.component.html'\r\n})\r\nexport class AppRightMenuComponent {\r\n date: Date;\r\n\r\n constructor(public appMain: AppMainComponent) {}\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n
\r\n \"atlantis\"\r\n Gene Russell\r\n (406) 555-0120\r\n
\r\n
\r\n
\r\n 23\r\n Progress\r\n
\r\n
\r\n 6\r\n Overdue\r\n
\r\n
\r\n 38\r\n All deals\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n 14 Sunday, Jun 2020\r\n
    \r\n
  • \r\n 1:00 PM - 2:00 PM\r\n Meeting with Alfredo Rhiel Madsen\r\n
  • \r\n
  • \r\n 2:00 PM - 3:00 PM\r\n Team Sync\r\n
  • \r\n
  • \r\n 5:00 PM - 6:00 PM\r\n Team Sync\r\n
  • \r\n
  • \r\n 7:00 PM - 7:30 PM\r\n Meeting with Engineering managers\r\n
  • \r\n
\r\n
\r\n
\r\n","import { Injectable, EventEmitter } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router'\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { UsuarioModel } from './usuario.model';\r\n\r\n@Injectable()\r\nexport class UsuarioService {\r\n currentUser = JSON.parse(localStorage.getItem('usuarioLogado'));\r\n nomeTabela = 'usuarios';\r\n\r\n constructor(private http: HttpClient,\r\n private router: Router,\r\n public firestore: AngularFirestore,\r\n public fireAuth: AngularFireAuth) {\r\n\r\n }\r\n /* Cria um novo registro na coleção especificada usando o método add */\r\n create_NewUsuario(record) {\r\n return this.firestore.collection('usuarios').add(record);\r\n }\r\n read_Usuarios() {\r\n return this.firestore.collection('usuarios').snapshotChanges();\r\n }\r\n /*update_Icecream : atualiza o registro pegando o ID e chamando o método de atualização */\r\n update_Usuario(recordID, record) {\r\n this.firestore.doc('usuarios/' + recordID).update(record);\r\n }\r\n /*delete_Icecream : chama o método de exclusão ao registrar o ID*/\r\n delete_Usuario(record_id) {\r\n this.firestore.doc('usuarios/' + record_id).delete();\r\n }\r\n}","export class LoginModel {\r\n cod_usuario: string;\r\n usuario: string;\r\n senha: string;\r\n}","import { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport {\r\n HashLocationStrategy,\r\n LocationStrategy,\r\n registerLocaleData,\r\n} from '@angular/common';\r\nimport { AppRoutingModule } from './app-routing.module';\r\n\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { AvatarModule } from 'primeng/avatar';\r\nimport { AvatarGroupModule } from 'primeng/avatargroup';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CardModule } from 'primeng/card';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { CascadeSelectModule } from 'primeng/cascadeselect';\r\nimport { ChartModule } from 'primeng/chart';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { ChipsModule } from 'primeng/chips';\r\nimport { CodeHighlighterModule } from 'primeng/codehighlighter';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { ColorPickerModule } from 'primeng/colorpicker';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { DataViewModule } from 'primeng/dataview';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DividerModule } from 'primeng/divider';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { FieldsetModule } from 'primeng/fieldset';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { FullCalendarModule } from 'primeng/fullcalendar';\r\nimport { GalleriaModule } from 'primeng/galleria';\r\nimport { InplaceModule } from 'primeng/inplace';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { KnobModule } from 'primeng/knob';\r\nimport { LightboxModule } from 'primeng/lightbox';\r\nimport { ListboxModule } from 'primeng/listbox';\r\nimport { MegaMenuModule } from 'primeng/megamenu';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { MenubarModule } from 'primeng/menubar';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { OrderListModule } from 'primeng/orderlist';\r\nimport { OrganizationChartModule } from 'primeng/organizationchart';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { PaginatorModule } from 'primeng/paginator';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport { PanelMenuModule } from 'primeng/panelmenu';\r\nimport { PasswordModule } from 'primeng/password';\r\nimport { PickListModule } from 'primeng/picklist';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { RatingModule } from 'primeng/rating';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { ScrollPanelModule } from 'primeng/scrollpanel';\r\nimport { ScrollTopModule } from 'primeng/scrolltop';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { SlideMenuModule } from 'primeng/slidemenu';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { SplitterModule } from 'primeng/splitter';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { TabMenuModule } from 'primeng/tabmenu';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TagModule } from 'primeng/tag';\r\nimport { TerminalModule } from 'primeng/terminal';\r\nimport { TieredMenuModule } from 'primeng/tieredmenu';\r\nimport { TimelineModule } from 'primeng/timeline';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { ToggleButtonModule } from 'primeng/togglebutton';\r\nimport { ToolbarModule } from 'primeng/toolbar';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { TreeModule } from 'primeng/tree';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\nimport { VirtualScrollerModule } from 'primeng/virtualscroller';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\n\r\n// Application Components\r\nimport { AppCodeModule } from './app.code.component';\r\nimport { AppComponent } from './app.component';\r\nimport { AppBreadcrumbComponent } from './app.breadcrumb.component';\r\nimport { AppMainComponent } from './app.main.component';\r\nimport { AppConfigComponent } from './app.config.component';\r\nimport { AppRightMenuComponent } from './app.rightmenu.component';\r\nimport { AppInlineMenuComponent } from './app.inlinemenu.component';\r\nimport { AppMenuComponent } from './app.menu.component';\r\nimport { AppMenuitemComponent } from './app.menuitem.component';\r\nimport { AppTopbarComponent } from './app.topbar.component';\r\nimport { AppFooterComponent } from './app.footer.component';\r\n\r\n// Application services\r\nimport { MenuService } from './app.menu.service';\r\nimport { AppBreadcrumbService } from './app.breadcrumb.service';\r\n\r\n//pages\r\nimport { AppNotfoundComponent } from './pages/app.notfound.component';\r\nimport { LoginComponent } from './pages/app.login.component';\r\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\r\nimport { AuthGuard } from './helps/auth.guards';\r\nimport { LoginService } from './pages/app.login.service';\r\nimport { environment } from 'src/environments/environment.prod';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { AngularFireDatabaseModule } from '@angular/fire/database';\r\nimport { AngularFirestoreModule } from '@angular/fire/firestore';\r\nimport { AngularFireStorageModule } from '@angular/fire/storage';\r\nimport { AngularFireAuthModule } from '@angular/fire/auth';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { UsuarioComponent } from './pages/usuario/usuario.component';\r\nimport { UsuarioService } from './pages/usuario/usuario.service';\r\nimport { CategoriaComponent } from './pages/categoria/categoria.component';\r\nimport { NotificacaoComponent } from './pages/notificacao/notificacao.component';\r\nimport { ParceiroComponent } from './pages/parceiro/parceiro.component';\r\nimport { ProdutoComponent } from './pages/produto/produto.component';\r\nimport { PromocaoComponent } from './pages/promocao/promocao.component';\r\nimport { CategoriaService } from './pages/categoria/categoria.service';\r\nimport { ProdutoService } from './pages/produto/produto.service';\r\nimport { ParceiroService } from './pages/parceiro/parceiro.service';\r\nimport { ParceiroPromocaoService } from './pages/promocao/promocao.service';\r\nimport { NotificacaoService } from './pages/notificacao/notificacao.service';\r\nimport localePT from '@angular/common/locales/pt';\r\nimport { CupomComponent } from './pages/cupom/cupom.component';\r\nimport { ConfigComponent } from './pages/configuracao/configuracao.component';\r\nimport { ParceiroCupomService } from './pages/cupom/cupom.service';\r\nimport { ParceiroConfigService } from './pages/configuracao/configuracao.service';\r\n\r\nregisterLocaleData(localePT, 'pt-BR');\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule,\r\n FormsModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n AccordionModule,\r\n AutoCompleteModule,\r\n AvatarGroupModule,\r\n AvatarModule,\r\n BadgeModule,\r\n BreadcrumbModule,\r\n ButtonModule,\r\n CalendarModule,\r\n CardModule,\r\n CarouselModule,\r\n CascadeSelectModule,\r\n ChartModule,\r\n CheckboxModule,\r\n ChipModule,\r\n ChipsModule,\r\n CodeHighlighterModule,\r\n ConfirmDialogModule,\r\n ConfirmPopupModule,\r\n ColorPickerModule,\r\n ContextMenuModule,\r\n DataViewModule,\r\n DialogModule,\r\n DividerModule,\r\n DropdownModule,\r\n FieldsetModule,\r\n FileUploadModule,\r\n FullCalendarModule,\r\n GalleriaModule,\r\n KnobModule,\r\n InplaceModule,\r\n InputNumberModule,\r\n InputMaskModule,\r\n InputSwitchModule,\r\n InputTextModule,\r\n InputTextareaModule,\r\n LightboxModule,\r\n ListboxModule,\r\n MegaMenuModule,\r\n MenuModule,\r\n MenubarModule,\r\n MessageModule,\r\n MessagesModule,\r\n MultiSelectModule,\r\n OrderListModule,\r\n OrganizationChartModule,\r\n OverlayPanelModule,\r\n PaginatorModule,\r\n PanelModule,\r\n PanelMenuModule,\r\n PasswordModule,\r\n PickListModule,\r\n ProgressBarModule,\r\n RadioButtonModule,\r\n RatingModule,\r\n RippleModule,\r\n ScrollPanelModule,\r\n ScrollTopModule,\r\n SelectButtonModule,\r\n SidebarModule,\r\n SkeletonModule,\r\n SlideMenuModule,\r\n SliderModule,\r\n SplitButtonModule,\r\n SplitterModule,\r\n StepsModule,\r\n TableModule,\r\n TabMenuModule,\r\n TabViewModule,\r\n TagModule,\r\n TerminalModule,\r\n TieredMenuModule,\r\n TimelineModule,\r\n ToastModule,\r\n ToggleButtonModule,\r\n ToolbarModule,\r\n TooltipModule,\r\n TreeModule,\r\n TreeTableModule,\r\n VirtualScrollerModule,\r\n AppCodeModule,\r\n AppRoutingModule,\r\n ProgressSpinnerModule,\r\n AngularFireModule.initializeApp(environment.firebase),\r\n AngularFirestoreModule,\r\n AngularFireDatabaseModule,\r\n AngularFireStorageModule,\r\n AngularFireAuthModule,\r\n ],\r\n declarations: [\r\n AppComponent,\r\n AppBreadcrumbComponent,\r\n AppMainComponent,\r\n AppMenuComponent,\r\n AppMenuitemComponent,\r\n AppConfigComponent,\r\n AppRightMenuComponent,\r\n AppInlineMenuComponent,\r\n AppTopbarComponent,\r\n AppFooterComponent,\r\n LoginComponent,\r\n AppNotfoundComponent,\r\n DashboardComponent,\r\n UsuarioComponent,\r\n CategoriaComponent,\r\n NotificacaoComponent,\r\n ParceiroComponent,\r\n ProdutoComponent,\r\n PromocaoComponent,\r\n CupomComponent,\r\n ConfigComponent,\r\n ],\r\n providers: [\r\n AuthGuard,\r\n { provide: LocationStrategy, useClass: HashLocationStrategy },\r\n MenuService,\r\n MessageService,\r\n AppBreadcrumbService,\r\n ConfirmationService,\r\n LoginService,\r\n UsuarioService,\r\n CategoriaService,\r\n ProdutoService,\r\n ParceiroService,\r\n ParceiroCupomService,\r\n ParceiroConfigService,\r\n ParceiroPromocaoService,\r\n NotificacaoService,\r\n { provide: LOCALE_ID, useValue: 'pt-BR' },\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Component, ElementRef, AfterViewInit, Input, NgModule, ViewChild } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-code',\r\n template: `\r\n
\r\n
\r\n `,\r\n styleUrls: ['./app.code.component.scss']\r\n})\r\nexport class AppCodeComponent implements AfterViewInit {\r\n\r\n @Input() lang = 'markup';\r\n\r\n @ViewChild('code') codeViewChild: ElementRef;\r\n\r\n constructor(public el: ElementRef) { }\r\n\r\n ngAfterViewInit() {\r\n if (window['Prism']) {\r\n window['Prism'].highlightElement(this.codeViewChild.nativeElement);\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [AppCodeComponent],\r\n declarations: [AppCodeComponent]\r\n})\r\nexport class AppCodeModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MenuService {\r\n\r\n private menuSource = new Subject();\r\n private resetSource = new Subject();\r\n\r\n menuSource$ = this.menuSource.asObservable();\r\n resetSource$ = this.resetSource.asObservable();\r\n\r\n onMenuStateChange(key: string) {\r\n this.menuSource.next(key);\r\n }\r\n\r\n reset() {\r\n this.resetSource.next();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AngularFireStorage } from '@angular/fire/storage';\r\nimport { UUID } from 'angular2-uuid';\r\nimport {\r\n ConfirmationService,\r\n MessageService,\r\n PrimeNGConfig,\r\n} from 'primeng/api';\r\nimport { Observable } from 'rxjs';\r\nimport { FirebaseService } from '../app.login.firebase.service';\r\nimport { ProdutoModel } from '../produto/produto.model';\r\nimport { ParceiroCupomService } from './cupom.service';\r\nimport { UnidadeModel } from 'src/app/models/unidade.model';\r\nimport { CidadeModel } from 'src/app/models/cidade.model';\r\nimport { SupervisorModel } from 'src/app/models/supervisor.model';\r\nimport { CarteiraModel } from 'src/app/models/carteira.model';\r\nimport { SegmentoModel } from 'src/app/models/segmento.model';\r\nimport { PapeisClienteModel } from 'src/app/models/papeiscliente.model';\r\nimport { ICupom } from './cupom.model';\r\n\r\n@Component({\r\n selector: 'app-cupom',\r\n templateUrl: './cupom.component.html',\r\n styleUrls: ['./cupom.component.scss'],\r\n})\r\nexport class CupomComponent implements OnInit {\r\n show = false;\r\n\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n Produtos: ProdutoModel[] = JSON.parse(localStorage.getItem('Produtos'));\r\n Categorias: any[] = [];\r\n Unidades: UnidadeModel[];\r\n Cidades: CidadeModel[];\r\n Supervisores: SupervisorModel[];\r\n Carteiras: CarteiraModel[];\r\n Segmentos: SegmentoModel[];\r\n PapeisClientes: PapeisClienteModel[];\r\n\r\n PeriodoDataInicial: Date = new Date(2000, 2, 1);\r\n PeriodoDataFinal: Date = new Date();\r\n FiltroDescricao: string;\r\n\r\n dataDialog: boolean;\r\n\r\n datas: any;\r\n lista: any[];\r\n listaTipo = ['Produto'];\r\n listaTipoDesconto = ['Porcentagem', 'Valor'];\r\n listaTipoLimite = ['Nenhum', 'Caixa', 'Valor'];\r\n loading: boolean = true;\r\n data: ICupom;\r\n selectedDatas: any[];\r\n submitted: boolean;\r\n Guide: string;\r\n\r\n ListaCupomProdutos: any[];\r\n\r\n private basePath = 'cupom/';\r\n\r\n profileUrl: any;\r\n\r\n constructor(\r\n private service: ParceiroCupomService,\r\n private messageService: MessageService,\r\n public firebaseService: FirebaseService,\r\n private confirmationService: ConfirmationService,\r\n public auth: AngularFireAuth,\r\n public firestore: AngularFirestore,\r\n private storage: AngularFireStorage,\r\n private config: PrimeNGConfig\r\n ) {\r\n this.ListaCupomProdutos = [];\r\n\r\n this.config.setTranslation({\r\n accept: 'Aceitar',\r\n reject: 'Cancelar',\r\n dayNames: [\r\n 'Domingo',\r\n 'Segunda',\r\n 'Terça',\r\n 'Quarta',\r\n 'Quinta',\r\n 'Sexta',\r\n 'Sábado',\r\n ],\r\n dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],\r\n dayNamesMin: ['Do', 'Se', 'Te', 'Qu', 'Qu', 'Se', 'Sa'],\r\n monthNames: [\r\n 'Janeiro',\r\n 'Fevereiro',\r\n 'Março',\r\n 'Abril',\r\n 'Maio',\r\n 'Junho',\r\n 'Julho',\r\n 'Agosto',\r\n 'Setembro',\r\n 'Outubro',\r\n 'Novembro',\r\n 'Dezembro',\r\n ],\r\n monthNamesShort: [\r\n 'Jan',\r\n 'Fev',\r\n 'Mar',\r\n 'Abr',\r\n 'Mai',\r\n 'Jun',\r\n 'Jul',\r\n 'Ago',\r\n 'Set',\r\n 'Out',\r\n 'Nov',\r\n 'Dez',\r\n ],\r\n today: 'Hoje',\r\n clear: 'Limpar',\r\n //translations\r\n });\r\n\r\n this.pesquisar();\r\n }\r\n\r\n pesquisar() {\r\n try {\r\n this.auth.onAuthStateChanged((user) => {\r\n if (user) {\r\n this.service.readParceiroCupom().subscribe((data) => {\r\n this.datas = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n\r\n return {\r\n id: e.payload.doc.id,\r\n isEdit: false,\r\n DataFinal: dataValues['DataFinal'],\r\n DataInicio: dataValues['DataInicio'],\r\n Descricao: dataValues['Descricao'],\r\n CupomID: dataValues['CupomID'],\r\n CupomProdutos: dataValues['CupomProdutos'],\r\n Tipo: dataValues['Tipo'],\r\n Desconto: dataValues['Desconto'],\r\n LimiteCupom: dataValues['LimiteCupom'],\r\n CodigoCupom: dataValues['CodigoCupom'],\r\n NomeCupom: dataValues['NomeCupom'],\r\n TipoLimite: dataValues['TipoLimite'],\r\n QuantidadeLimite: dataValues['QuantidadeLimite'],\r\n TipoDesconto: dataValues['TipoDesconto'],\r\n Status: dataValues['Status'],\r\n APP: dataValues['APP'],\r\n WEB: dataValues['WEB'],\r\n PrimeiraCompra: dataValues['PrimeiraCompra'],\r\n CupomVisivel: dataValues['CupomVisivel'],\r\n };\r\n });\r\n });\r\n //CATEGORIAS\r\n this.service.readCategoria().subscribe((data) => {\r\n this.Categorias = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n\r\n return {\r\n id: e.payload.doc.id,\r\n CategoriaID: dataValues['CategoriaID'],\r\n Descricao: dataValues['Descricao'],\r\n Status: dataValues['Status'],\r\n };\r\n });\r\n });\r\n // FIM CATEGORIAS\r\n } else {\r\n this.datas = new Observable();\r\n }\r\n this.loading = false;\r\n });\r\n } catch (error) {\r\n this.loading = false;\r\n alert(error);\r\n }\r\n }\r\n\r\n carregarListas() {\r\n this.ListaCupomProdutos = [];\r\n\r\n //#region LISTA\r\n this.Produtos = JSON.parse(localStorage.getItem('Produtos')).filter(\r\n (data) => data.Ativo.toLowerCase() === 's'\r\n );\r\n this.Unidades = [];\r\n this.Cidades = [];\r\n this.Supervisores = [];\r\n this.Carteiras = [];\r\n this.Segmentos = [];\r\n this.PapeisClientes = [];\r\n //#endregion\r\n }\r\n\r\n ngOnDestroy() {}\r\n\r\n async ngOnInit() {\r\n this.data = {};\r\n }\r\n\r\n openNew() {\r\n this.data = {};\r\n this.Guide = UUID.UUID();\r\n this.ListaCupomProdutos = [];\r\n\r\n this.carregarListas();\r\n this.data = { TipoLimite: 'Nenhum', LimiteCupom: 0 };\r\n\r\n this.submitted = false;\r\n this.dataDialog = true;\r\n }\r\n\r\n fb: any;\r\n\r\n FormataStringData(data) {\r\n var dia = data.split('/')[0];\r\n var mes = data.split('/')[1];\r\n var ano = data.split('/')[2];\r\n\r\n return (\r\n ano +\r\n '-' +\r\n ('0' + mes).slice(-2) +\r\n '-' +\r\n ('0' + dia).slice(-2) +\r\n ' 00:00:00'\r\n );\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n FormataString(data) {\r\n if (\r\n data == null ||\r\n data == undefined ||\r\n data == 'null' ||\r\n data == 'undefined'\r\n ) {\r\n return '';\r\n }\r\n\r\n return data;\r\n }\r\n\r\n FormataNumber(data) {\r\n if (data == null || data == undefined) {\r\n return 0;\r\n }\r\n return data;\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n FormataBolean(data) {\r\n if (data == null || data == undefined) {\r\n return false;\r\n }\r\n return data;\r\n // Utilizo o .slice(-2) para garantir o formato com 2 digitos.\r\n }\r\n\r\n convert(str) {\r\n var date = new Date(str);\r\n var mnth = ('0' + (date.getMonth() + 1)).slice(-2);\r\n var day = ('0' + date.getDate()).slice(-2);\r\n\r\n return [date.getFullYear(), mnth, day].join('/');\r\n }\r\n\r\n formatarDataExtenso(data) {\r\n // Meses possíveis\r\n var meses = [\r\n 'Janeiro',\r\n 'Fevereiro',\r\n 'Março',\r\n 'Abril',\r\n 'Maio',\r\n 'Junho',\r\n 'Julho',\r\n 'Agosto',\r\n 'Setembro',\r\n 'Outubro',\r\n 'Novembro',\r\n 'Dezembro',\r\n ];\r\n // Dias possíveis\r\n var diasSemana = [\r\n 'Domingo',\r\n 'Segunda-feira',\r\n 'Terça-feira',\r\n 'Quarta-feira',\r\n 'Quinta-feira',\r\n 'Sexta-feira',\r\n 'Sábado',\r\n ];\r\n // Partes da data informada\r\n var dia = data.getDate();\r\n var mes = data.getMonth();\r\n var ano = data.getYear();\r\n\r\n var hora = new Date().getHours();\r\n var minu = new Date().getMinutes();\r\n var segu = new Date().getSeconds();\r\n // Resultado\r\n var extenso = '';\r\n //DataFinal\r\n //5 de agosto de 2021 21:00:00 UTC-3\r\n //DataInicio\r\n //1 de agosto de 2021 21:00:00 UTC-3\r\n\r\n // Para o navegador Netscape o ano começa em 1900\r\n if (navigator.appName == 'Netscape') {\r\n ano = ano + 1900;\r\n }\r\n\r\n //return extenso = diasSemana[dias] + ', ' + dia + ' de ' + meses[mes] + ' de ' + ano;\r\n\r\n return (extenso =\r\n dia +\r\n ' de ' +\r\n meses[mes] +\r\n ' de ' +\r\n ano +\r\n ' ' +\r\n ('0' + hora).slice(-2) +\r\n ':' +\r\n ('0' + minu).slice(-2) +\r\n ':' +\r\n ('0' + segu).slice(-2) +\r\n ' UTC-3');\r\n }\r\n\r\n editData(data: any) {\r\n this.loadingSave = false;\r\n\r\n this.data = { ...data };\r\n\r\n if (data.DataInicio) {\r\n let DI: any = data.DataInicio;\r\n this.data.DataInicio = new Date(this.convert(new Date(DI.toDate())));\r\n } else {\r\n this.data.DataInicio = null;\r\n }\r\n\r\n if (data.DataFinal) {\r\n let DF: any = data.DataFinal;\r\n this.data.DataFinal = new Date(this.convert(new Date(DF.toDate())));\r\n } else {\r\n this.data.DataFinal = null;\r\n }\r\n\r\n //#region LISTAS\r\n\r\n this.ListaCupomProdutos = [];\r\n\r\n this.ListaCupomProdutos = [...data.CupomProdutos];\r\n\r\n data.isEdit = true;\r\n //REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n if (this.ListaCupomProdutos.length > 0) {\r\n for (let index = 0; index < this.ListaCupomProdutos.length; index++) {\r\n const element = this.ListaCupomProdutos[index];\r\n if (element != null) {\r\n const p = this.Produtos.find((x) => x.ProdutoID == element.ProdutoID);\r\n if (p != null) {\r\n this.ListaCupomProdutos[index].Descricao = p.Descricao;\r\n const x = this.Produtos.indexOf(p);\r\n this.Produtos.splice(x, 1);\r\n }\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n //#endregion\r\n\r\n this.dataDialog = true;\r\n }\r\n\r\n hideDialog() {\r\n this.dataDialog = false;\r\n this.submitted = false;\r\n this.data = {};\r\n }\r\n\r\n deleteData({ CupomID, CodigoCupom }: ICupom) {\r\n this.confirmationService.confirm({\r\n message:\r\n 'Tem certeza de que deseja excluir o cupom \"' + CodigoCupom + '\"?',\r\n header: 'Informação',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptLabel: 'SIM',\r\n rejectLabel: 'NÃO',\r\n accept: () => {\r\n this.service.deleteCupom(CupomID);\r\n this.data = {};\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Cupom excluído com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n\r\n loadingSave: boolean = false;\r\n async saveData() {\r\n try {\r\n if (\r\n this.data.Tipo === 'Produtos' &&\r\n (this.ListaCupomProdutos.length == 0 || this.ListaCupomProdutos == null)\r\n ) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não é possível incluir/alterar sem produto ou categoria!',\r\n });\r\n return;\r\n }\r\n\r\n if (this.data.DataFinal < this.data.DataInicio) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail:\r\n 'Não é possível incluir/alterar cupom, pois a Data final é inferior a Data Inicial!',\r\n });\r\n return;\r\n }\r\n\r\n this.submitted = true;\r\n this.loadingSave = true;\r\n\r\n let data = {};\r\n\r\n let arrayCupomProdutos: any[] = [];\r\n let arrayCupomCategorias: any[] = [];\r\n let arrayCupomUnidades: any[] = [];\r\n let arrayCupomCidades: any[] = [];\r\n let arrayCupomSupervisores: any[] = [];\r\n let arrayCupomCarteiras: any[] = [];\r\n let arrayCupomSegmentos: any[] = [];\r\n let arrayCupomPapeisClientes: any[] = [];\r\n\r\n if (this.data.CupomID != undefined) {\r\n //#region LISTA ALTERAÇÃO\r\n\r\n //REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n if (this.ListaCupomProdutos.length > 0) {\r\n for (let index = 0; index < this.ListaCupomProdutos.length; index++) {\r\n const element = this.ListaCupomProdutos[index];\r\n if (element != null) {\r\n let dt: any = {\r\n CupomID: this.data.CupomID,\r\n ProdutoID: this.FormataString(element.ProdutoID),\r\n CupomProdutoID:\r\n this.ListaCupomProdutos[index].CupomProdutoID != undefined\r\n ? this.ListaCupomProdutos[index].CupomProdutoID\r\n : UUID.UUID(),\r\n };\r\n\r\n arrayCupomProdutos.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n //#endregion\r\n\r\n data['CupomID'] = this.data.CupomID;\r\n data['DataFinal'] = this.data.DataFinal;\r\n data['DataInicio'] = this.data.DataInicio;\r\n data['Descricao'] = this.FormataString(this.data.Descricao);\r\n data['CodigoCupom'] = this.data.CodigoCupom.trim();\r\n data['NomeCupom'] = this.data.NomeCupom.trim();\r\n data['TipoLimite'] = this.data.TipoLimite;\r\n data['QuantidadeLimite'] =\r\n this.data.TipoLimite !== 'Nenhum' ? this.data.QuantidadeLimite : 0;\r\n data['Desconto'] = this.data.Desconto;\r\n data['LimiteCupom'] = this.data.LimiteCupom;\r\n data['TipoDesconto'] = this.data.TipoDesconto;\r\n data['Status'] = !!this.data.Status;\r\n data['APP'] = !!this.data.APP;\r\n data['WEB'] = !!this.data.WEB;\r\n data['PrimeiraCompra'] = !!this.data.PrimeiraCompra;\r\n data['CupomVisivel'] = !!this.data.CupomVisivel;\r\n data['Tipo'] = this.FormataString(this.data.Tipo);\r\n data['CupomProdutos'] = arrayCupomProdutos;\r\n\r\n this.service.updateParceiroCupom(this.data.CupomID, data);\r\n\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n } else {\r\n if (\r\n this.datas.find(\r\n (item) =>\r\n item.CodigoCupom.toLowerCase().trim() ===\r\n this.data.CodigoCupom.toLowerCase().trim()\r\n )\r\n ) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail:\r\n 'Não é possível incluir/alterar cupom, pois já existe um cupom com o código informado!',\r\n });\r\n return;\r\n }\r\n\r\n //#region LISTA INCLUSAO\r\n\r\n //REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n if (this.ListaCupomProdutos.length > 0) {\r\n for (let index = 0; index < this.ListaCupomProdutos.length; index++) {\r\n const element = this.ListaCupomProdutos[index];\r\n if (element != null) {\r\n let dt: any = {\r\n CupomID: this.Guide,\r\n ProdutoID: this.FormataString(element.ProdutoID),\r\n CupomProdutoID: UUID.UUID(),\r\n };\r\n\r\n arrayCupomProdutos.push(dt);\r\n }\r\n }\r\n }\r\n //FIM REMOVENDO PRODUTOS DA LISTA PRODUTOS\r\n\r\n //#endregion\r\n\r\n data['CupomID'] = this.Guide;\r\n //2021-08-20 00:00:00\r\n data['DataFinal'] = this.data.DataFinal;\r\n data['DataInicio'] = this.data.DataInicio;\r\n data['Descricao'] = this.FormataString(this.data.Descricao);\r\n data['CodigoCupom'] = this.data.CodigoCupom.trim();\r\n data['NomeCupom'] = this.data.NomeCupom.trim();\r\n data['TipoLimite'] = this.data.TipoLimite;\r\n data['QuantidadeLimite'] =\r\n this.data.TipoLimite !== 'Nenhum' ? this.data.QuantidadeLimite : 0;\r\n data['Desconto'] = this.data.Desconto;\r\n data['LimiteCupom'] = this.data.LimiteCupom;\r\n data['TipoDesconto'] = this.data.TipoDesconto;\r\n data['Status'] = !!this.data.Status;\r\n data['APP'] = !!this.data.APP;\r\n data['WEB'] = !!this.data.WEB;\r\n data['PrimeiraCompra'] = !!this.data.PrimeiraCompra;\r\n data['CupomVisivel'] = !!this.data.CupomVisivel;\r\n data['Tipo'] = this.FormataString(this.data.Tipo);\r\n data['CupomProdutos'] = arrayCupomProdutos;\r\n\r\n this.service.createParceiroCupom(data, this.Guide);\r\n\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível fazer a requisição! \\n' + error,\r\n });\r\n }\r\n }\r\n\r\n // PRODUTOS PICKLIST\r\n onMoveToTargetProdutos(event) {\r\n if (event.items[0].Ativo == 'N') {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Produto inativo.',\r\n });\r\n const x = this.ListaCupomProdutos.indexOf(event.items[0]);\r\n this.ListaCupomProdutos.splice(x, 1);\r\n this.Produtos.push(event.items[0]);\r\n\r\n return;\r\n }\r\n\r\n return;\r\n }\r\n\r\n onMoveAllToTargetProdutos(event) {\r\n console.log('TARGET ALL');\r\n console.log(event);\r\n }\r\n\r\n onMoveToSourceProdutos(event) {\r\n console.log('SOURCE');\r\n console.log(event);\r\n }\r\n\r\n onMoveAllToSourceProdutos(event) {\r\n console.log('SOURCE ALL');\r\n console.log(event);\r\n }\r\n /// FIM PRODUTOS PICKLIST\r\n\r\n // CATEGORIAS PICKLIST\r\n onMoveToTargetCategorias(event) {\r\n console.log('TARGET ONE');\r\n console.log(event);\r\n return;\r\n }\r\n\r\n onMoveAllToTargetCategorias(event) {\r\n console.log('TARGET ALL');\r\n console.log(event);\r\n }\r\n\r\n onMoveToSourceCategorias(event) {\r\n console.log('SOURCE');\r\n console.log(event);\r\n }\r\n\r\n onMoveAllToSourceCategorias(event) {\r\n console.log('SOURCE ALL');\r\n console.log(event);\r\n }\r\n /// FIM CATEGORIAS PICKLIST\r\n\r\n FiltrarCampos() {\r\n this.datas = this.datas.filter((v) => {\r\n if (!this.FormataString(v.Descricao).indexOf(this.FiltroDescricao)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
Gerenciamento de Cupom
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Código\r\n \r\n Descrição\r\n Data Início\r\n \r\n Data Final\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{data.CodigoCupom}}\r\n {{data.Descricao}}\r\n {{data.DataInicio ? (data.DataInicio.toDate() | date: 'dd/MM/yyyy') : data.DataInicio | date:\r\n 'dd/MM/yyyy'}}\r\n {{data.DataFinal? (data.DataFinal.toDate() | date: 'dd/MM/yyyy') : data.DataFinal | date:\r\n 'dd/MM/yyyy'}}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n No total, existem {{datas ? datas.length : 0 }} registro(s).\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
{{product.ProdutoID}} - {{product.Descricao}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n\r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n","export const environment = {\r\n production: false,\r\n apiUrl: 'your-api-url.com',\r\n version: '1.0.1',\r\n firebase: {\r\n apiKey: 'AIzaSyASxqJWK4pjMsojWB3XyrLmWJJXDPGve1c',\r\n authDomain: 'parceiro-poty.firebaseapp.com',\r\n databaseURL: 'https://parceiro-poty.firebaseio.com',\r\n projectId: 'parceiro-poty',\r\n storageBucket: 'parceiro-poty.appspot.com',\r\n messagingSenderId: '714160100667',\r\n appId: '1:714160100667:web:068fcaf2938840506fd31e',\r\n measurementId: 'G-BWEH3QZ99S',\r\n },\r\n};\r\n","import {Component} from '@angular/core';\r\nimport {AppComponent} from './app.component';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n template: `\r\n
\r\n
\r\n \"atlantis-layout\"/\r\n Poty\r\n
\r\n © Poty - 2022\r\n
\r\n `\r\n})\r\nexport class AppFooterComponent {\r\n \r\n constructor(public app: AppComponent) {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { Observable } from 'rxjs';\r\nimport { FirebaseService } from '../app.login.firebase.service';\r\nimport { UsuarioModel } from './usuario.model';\r\nimport { UsuarioService } from './usuario.service';\r\n\r\n@Component({\r\n selector: 'app-usuario',\r\n templateUrl: 'usuario.component.html',\r\n styleUrls: ['usuario.component.scss'],\r\n})\r\nexport class UsuarioComponent implements OnInit {\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n usuarioDialog: boolean;\r\n\r\n usuarios: any;\r\n\r\n usuario: UsuarioModel;\r\n\r\n selectedUsuarios: UsuarioModel[];\r\n\r\n submitted: boolean;\r\n\r\n statuses: any[];\r\n\r\n constructor(\r\n private usuarioService: UsuarioService,\r\n private messageService: MessageService,\r\n public firebaseService: FirebaseService,\r\n private confirmationService: ConfirmationService,\r\n public auth: AngularFireAuth,\r\n public firestore: AngularFirestore\r\n ) {}\r\n\r\n ngOnDestroy() {\r\n //this.usuarios.unsubscribe();\r\n }\r\n\r\n async ngOnInit() {\r\n this.auth.onAuthStateChanged((user) => {\r\n if (user) {\r\n user.displayName;\r\n this.firestore\r\n .collection('usuarios', (ref) => ref.where('ativo', '==', 'S'))\r\n .snapshotChanges()\r\n .subscribe((data) => {\r\n this.usuarios = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n return {\r\n id: e.payload.doc.id,\r\n isEdit: false,\r\n cod_usuario: e.payload.doc.id,\r\n login: dataValues['login'],\r\n usuario: dataValues['usuario'],\r\n senha: dataValues['senha'],\r\n uid: dataValues['uid'],\r\n ativo: dataValues['ativo'],\r\n };\r\n });\r\n });\r\n } else {\r\n this.usuarios = new Observable();\r\n }\r\n });\r\n }\r\n\r\n openNew() {\r\n this.usuario = {};\r\n this.submitted = false;\r\n this.usuarioDialog = true;\r\n }\r\n\r\n deleteSelectedData() {\r\n this.confirmationService.confirm({\r\n message: 'Tem certeza de que deseja todos os registros?',\r\n header: 'Informação',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptLabel: 'SIM',\r\n rejectLabel: 'NÃO',\r\n accept: () => {\r\n this.usuarios = this.usuarios.filter(\r\n (val) => !this.selectedUsuarios.includes(val)\r\n );\r\n this.selectedUsuarios = null;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Usuários excluídos com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n\r\n editData(usuario: UsuarioModel) {\r\n usuario.isEdit = true;\r\n this.usuario = { ...usuario };\r\n console.log(this.usuario);\r\n this.usuarioDialog = true;\r\n }\r\n\r\n deleteData(usuario: UsuarioModel) {\r\n this.confirmationService.confirm({\r\n message: 'Tem certeza de que deseja excluir ' + usuario.login + '?',\r\n header: 'Informação',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptLabel: 'SIM',\r\n rejectLabel: 'NÃO',\r\n accept: () => {\r\n let data = {};\r\n data['login'] = usuario.login;\r\n data['usuario'] = usuario.usuario;\r\n data['senha'] = usuario.senha;\r\n data['uid'] = usuario.uid;\r\n data['ativo'] = 'E';\r\n this.usuarioService.update_Usuario(usuario.cod_usuario, data);\r\n this.usuario = {};\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Usuário excluído com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n\r\n hideDialog() {\r\n this.usuarioDialog = false;\r\n this.submitted = false;\r\n this.loadingSave = false;\r\n }\r\n\r\n loadingSave: boolean = false;\r\n async saveData() {\r\n this.submitted = true;\r\n this.loadingSave = true;\r\n\r\n let data = {};\r\n\r\n console.log(this.usuario);\r\n if (this.usuario.cod_usuario != undefined) {\r\n data['cod_usuario'] = this.usuario.cod_usuario;\r\n data['login'] = this.usuario.login;\r\n data['usuario'] = this.usuario.usuario;\r\n data['senha'] = this.usuario.senha;\r\n data['uid'] = this.usuario.uid;\r\n data['ativo'] = this.usuario.ativo;\r\n console.log(this.usuario.cod_usuario);\r\n this.usuarioService.update_Usuario(this.usuario.cod_usuario, data);\r\n this.usuarioDialog = false;\r\n this.usuario.isEdit = false;\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n } else {\r\n data['login'] = this.usuario.login;\r\n data['usuario'] = this.usuario.usuario;\r\n data['senha'] = this.usuario.senha;\r\n data['ativo'] = 'S';\r\n console.log(this.usuario);\r\n this.loadingSave = false;\r\n\r\n var errorCode;\r\n var errorMessage;\r\n\r\n await this.firebaseService\r\n .createSignup(this.usuario.login, this.usuario.senha)\r\n .catch(function (error) {\r\n // Handle Errors here.\r\n errorCode = error.code;\r\n errorMessage = error.message;\r\n\r\n console.log(errorCode);\r\n console.log(errorMessage);\r\n // ...\r\n });\r\n\r\n if (errorCode != null) {\r\n if (errorCode.toString() == 'auth/invalid-email') {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Email não está correto!',\r\n life: 3000,\r\n });\r\n return;\r\n }\r\n\r\n if (errorCode.toString() == 'auth/user-not-found') {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Usuário não encontrado na base de dados!',\r\n life: 3000,\r\n });\r\n return;\r\n }\r\n\r\n if (errorCode.toString() == 'auth/weak-password') {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'A senha deve ter pelo menos 6 caracteres!',\r\n life: 3000,\r\n });\r\n return;\r\n }\r\n\r\n if (errorCode.toString() == 'auth/email-already-in-use') {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'O endereço de e-mail já está sendo usado por outra conta!',\r\n life: 3000,\r\n });\r\n return;\r\n }\r\n }\r\n let newUser = JSON.parse(localStorage.getItem('newUser'));\r\n\r\n data['uid'] = newUser.uid;\r\n console.log(newUser);\r\n\r\n this.usuarioService\r\n .create_NewUsuario(data)\r\n .then((resp) => {\r\n this.usuario.login = '';\r\n this.usuario.usuario = '';\r\n this.usuario.senha = '';\r\n this.usuario.uid = '';\r\n this.usuario.ativo = '';\r\n console.log(resp);\r\n this.usuarioDialog = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro cadastrado com sucesso!',\r\n life: 3000,\r\n });\r\n })\r\n .catch((error) => {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: error,\r\n life: 3000,\r\n });\r\n console.log(error);\r\n });\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n
\r\n

Gerenciamento de Usuários

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Uid\r\n E-mail \r\n Usuário \r\n \r\n \r\n \r\n \r\n \r\n {{usuario.uid}}\r\n {{usuario.login}}\r\n {{usuario.usuario}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n No total, existem {{usuarios ? usuarios.length : 0 }} usuarios.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n \r\n \r\n Usuário é obrigatório.\r\n
\r\n
\r\n \r\n \r\n Email é obrigatório.\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { gerarToken } from '../services/api.service';\r\n\r\n@Injectable()\r\nexport class LoginService {\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n private firestore: AngularFirestore\r\n ) {}\r\n\r\n /* create_NewIcecream : Cria um novo registro na coleção especificada usando o método add */\r\n create_NewUsuario(record) {\r\n return this.firestore.collection('usuarios').add(record);\r\n }\r\n /*read_Icecream: Chama o método snapshotChanges , que obterá registros e também será registrado para receber atualizações */\r\n read_Usuarios() {\r\n return this.firestore.collection('usuarios').snapshotChanges();\r\n }\r\n /*update_Icecream : atualiza o registro pegando o ID e chamando o método de atualização */\r\n update_Usuario(recordID, record) {\r\n this.firestore.doc('usuarios/' + recordID).update(record);\r\n }\r\n /*delete_Icecream : chama o método de exclusão ao registrar o ID*/\r\n delete_Usuario(record_id) {\r\n this.firestore.doc('usuarios/' + record_id).delete();\r\n }\r\n async gerarToken(uid: string) {\r\n console.log('token', uid);\r\n const response = this.http.get(`${gerarToken}/${uid}`);\r\n\r\n const token = (await response.toPromise()) as { token: string };\r\n\r\n return token;\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('currentUser');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFireDatabase } from '@angular/fire/database';\r\nimport { AngularFireStorage } from '@angular/fire/storage';\r\nimport { ParceiroConfigModel } from './configuracao.model';\r\n\r\n@Injectable()\r\nexport class ParceiroConfigService {\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n\r\n private basePath = '/configuracao';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n public firestore: AngularFirestore,\r\n public fireAuth: AngularFireAuth,\r\n private db: AngularFireDatabase,\r\n private storage: AngularFireStorage\r\n ) {}\r\n /* Cria um novo registro na coleção especificada usando o método add */\r\n\r\n updateParceiroConfiguracao(recordID: string, record: ParceiroConfigModel) {\r\n console.log({ recordID, record, teste: 'Config/' + recordID });\r\n\r\n this.firestore.doc('Config/' + recordID).update(record);\r\n }\r\n //LISTAS\r\n readConfiguracao() {\r\n return this.firestore\r\n .collection('Config')\r\n .snapshotChanges();\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\nimport {AppMainComponent} from './app.main.component';\r\nimport { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { FirebaseService } from './pages/app.login.firebase.service';\r\n\r\n@Component({\r\n selector: 'app-inlinemenu',\r\n templateUrl: './app.inlinemenu.component.html',\r\n animations: [\r\n trigger('inline', [\r\n state('hidden', style({\r\n height: '0px',\r\n overflow: 'hidden'\r\n })),\r\n state('visible', style({\r\n height: '*',\r\n })),\r\n state('hiddenAnimated', style({\r\n height: '0px',\r\n overflow: 'hidden'\r\n })),\r\n state('visibleAnimated', style({\r\n height: '*',\r\n })),\r\n transition('visibleAnimated => hiddenAnimated', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')),\r\n transition('hiddenAnimated => visibleAnimated', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))\r\n ])\r\n ]\r\n})\r\nexport class AppInlineMenuComponent {\r\n\r\n user = JSON.parse(localStorage.getItem('currentUser'));\r\n \r\n logout(){\r\n this.firebase.logout();\r\n }\r\n constructor(public appMain: AppMainComponent,\r\n public firebase: FirebaseService) {}\r\n}\r\n","
\r\n \r\n \"avatar\"\r\n {{user.email}}\r\n \r\n \r\n\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AppComponent } from './app.component';\r\nimport { AppMainComponent } from './app.main.component';\r\n\r\n@Component({\r\n selector: 'app-config',\r\n template: `\r\n \r\n \r\n \r\n \r\n
Menu Type
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
Color Scheme
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
Ripple Effect
\r\n \r\n\r\n
Layouts
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
Themes
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n `,\r\n})\r\nexport class AppConfigComponent implements OnInit {\r\n layoutColors: any[];\r\n\r\n themeColors: any[];\r\n\r\n constructor(public appMain: AppMainComponent, public app: AppComponent) {}\r\n\r\n async ngOnInit() {\r\n this.themeColors = [\r\n { name: 'blue', color: '#0F8BFD' },\r\n { name: 'green', color: '#0BD18A' },\r\n { name: 'magenta', color: '#EC4DBC' },\r\n { name: 'orange', color: '#FD9214' },\r\n { name: 'purple', color: '#873EFE' },\r\n { name: 'red', color: '#FC6161' },\r\n { name: 'teal', color: '#00D0DE' },\r\n { name: 'yellow', color: '#EEE500' },\r\n ];\r\n\r\n this.layoutColors = [\r\n { name: 'blue', color: '#0F8BFD' },\r\n { name: 'green', color: '#0BD18A' },\r\n { name: 'magenta', color: '#EC4DBC' },\r\n { name: 'orange', color: '#FD9214' },\r\n { name: 'purple', color: '#873EFE' },\r\n { name: 'red', color: '#FC6161' },\r\n { name: 'teal', color: '#00D0DE' },\r\n { name: 'yellow', color: '#EEE500' },\r\n ];\r\n }\r\n\r\n changeColorScheme(scheme) {\r\n this.changeStyleSheetsColor('layout-css', 'layout-' + scheme + '.css', 1);\r\n this.changeStyleSheetsColor('theme-css', 'theme-' + scheme + '.css', 1);\r\n\r\n this.app.colorScheme = scheme;\r\n }\r\n\r\n changeStyleSheetsColor(id, value, from) {\r\n const element = document.getElementById(id);\r\n const urlTokens = element.getAttribute('href').split('/');\r\n\r\n if (from === 1) {\r\n // which function invoked this function - change scheme\r\n urlTokens[urlTokens.length - 1] = value;\r\n } else if (from === 2) {\r\n // which function invoked this function - change color\r\n urlTokens[urlTokens.length - 2] = value;\r\n }\r\n\r\n const newURL = urlTokens.join('/');\r\n\r\n this.replaceLink(element, newURL);\r\n }\r\n\r\n changeTheme(theme) {\r\n const themeLink: HTMLLinkElement = document.getElementById(\r\n 'theme-css'\r\n ) as HTMLLinkElement;\r\n const href =\r\n 'assets/theme/' + theme + '/theme-' + this.app.colorScheme + '.css';\r\n this.app.theme = theme;\r\n\r\n this.replaceLink(themeLink, href);\r\n }\r\n\r\n changeLayout(layout) {\r\n const layoutLink: HTMLLinkElement = document.getElementById(\r\n 'layout-css'\r\n ) as HTMLLinkElement;\r\n const href =\r\n 'assets/layout/css/' +\r\n layout +\r\n '/layout-' +\r\n this.app.colorScheme +\r\n '.css';\r\n this.app.layout = layout;\r\n\r\n this.replaceLink(layoutLink, href);\r\n }\r\n\r\n isIE() {\r\n return /(MSIE|Trident\\/|Edge\\/)/i.test(window.navigator.userAgent);\r\n }\r\n\r\n replaceLink(linkElement, href) {\r\n if (this.isIE()) {\r\n linkElement.setAttribute('href', href);\r\n } else {\r\n const id = linkElement.getAttribute('id');\r\n const cloneLinkElement = linkElement.cloneNode(true);\r\n\r\n cloneLinkElement.setAttribute('href', href);\r\n cloneLinkElement.setAttribute('id', id + '-clone');\r\n\r\n linkElement.parentNode.insertBefore(\r\n cloneLinkElement,\r\n linkElement.nextSibling\r\n );\r\n\r\n cloneLinkElement.addEventListener('load', () => {\r\n linkElement.remove();\r\n cloneLinkElement.setAttribute('id', id);\r\n });\r\n }\r\n }\r\n\r\n onConfigButtonClick(event) {\r\n this.appMain.configActive = !this.appMain.configActive;\r\n this.appMain.configClick = true;\r\n event.preventDefault();\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n} from '@angular/animations';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { MenuService } from './app.menu.service';\r\nimport { AppMainComponent } from './app.main.component';\r\n\r\n@Component({\r\n /* tslint:disable:component-selector */\r\n selector: '[app-menuitem]',\r\n /* tslint:enable:component-selector */\r\n template: `\r\n \r\n
{{ item.label }}
\r\n \r\n \r\n {{ item.label }}\r\n \r\n {{ item.badge }}\r\n \r\n \r\n \r\n {{ item.label }}\r\n \r\n {{ item.badge }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n `,\r\n host: {\r\n '[class.layout-root-menuitem]': 'root',\r\n '[class.active-menuitem]': 'active',\r\n },\r\n animations: [\r\n trigger('children', [\r\n state(\r\n 'void',\r\n style({\r\n height: '0px',\r\n })\r\n ),\r\n state(\r\n 'hiddenAnimated',\r\n style({\r\n height: '0px',\r\n })\r\n ),\r\n state(\r\n 'visibleAnimated',\r\n style({\r\n height: '*',\r\n })\r\n ),\r\n state(\r\n 'visible',\r\n style({\r\n height: '*',\r\n 'z-index': 100,\r\n })\r\n ),\r\n state(\r\n 'hidden',\r\n style({\r\n height: '0px',\r\n 'z-index': '*',\r\n })\r\n ),\r\n transition(\r\n 'visibleAnimated => hiddenAnimated',\r\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')\r\n ),\r\n transition(\r\n 'hiddenAnimated => visibleAnimated',\r\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')\r\n ),\r\n transition(\r\n 'void => visibleAnimated, visibleAnimated => void',\r\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')\r\n ),\r\n ]),\r\n ],\r\n})\r\nexport class AppMenuitemComponent implements OnInit, OnDestroy {\r\n @Input() item: any;\r\n\r\n @Input() index: number;\r\n\r\n @Input() root: boolean;\r\n\r\n @Input() parentKey: string;\r\n\r\n active = false;\r\n\r\n hover: boolean;\r\n\r\n menuSourceSubscription: Subscription;\r\n\r\n menuResetSubscription: Subscription;\r\n\r\n key: string;\r\n\r\n constructor(\r\n public app: AppMainComponent,\r\n public router: Router,\r\n private cd: ChangeDetectorRef,\r\n private menuService: MenuService\r\n ) {\r\n this.menuSourceSubscription = this.menuService.menuSource$.subscribe(\r\n (key) => {\r\n // deactivate current active menu\r\n if (this.active && this.key !== key && key.indexOf(this.key) !== 0) {\r\n this.active = false;\r\n }\r\n }\r\n );\r\n\r\n this.menuResetSubscription = this.menuService.resetSource$.subscribe(() => {\r\n this.active = false;\r\n });\r\n\r\n this.router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe((params) => {\r\n if (\r\n (this.app.isSlim() || this.app.isHorizontal()) &&\r\n !this.app.isMobile()\r\n ) {\r\n this.active = false;\r\n } else {\r\n if (this.item.routerLink) {\r\n this.updateActiveStateFromRoute();\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n async ngOnInit() {\r\n if (\r\n !(this.app.isSlim() || this.app.isHorizontal()) &&\r\n this.item.routerLink\r\n ) {\r\n this.updateActiveStateFromRoute();\r\n }\r\n\r\n this.key = this.parentKey\r\n ? this.parentKey + '-' + this.index\r\n : String(this.index);\r\n }\r\n\r\n updateActiveStateFromRoute() {\r\n this.active = this.router.isActive(\r\n this.item.routerLink[0],\r\n this.item.items ? false : true\r\n );\r\n }\r\n\r\n itemClick(event: Event) {\r\n // avoid processing disabled items\r\n if (this.item.disabled) {\r\n event.preventDefault();\r\n return true;\r\n }\r\n\r\n // navigate with hover in horizontal mode\r\n if (this.root) {\r\n this.app.menuHoverActive = !this.app.menuHoverActive;\r\n }\r\n\r\n // notify other items\r\n this.menuService.onMenuStateChange(this.key);\r\n\r\n // execute command\r\n if (this.item.command) {\r\n this.item.command({ originalEvent: event, item: this.item });\r\n }\r\n\r\n // toggle active state\r\n if (this.item.items) {\r\n this.active = !this.active;\r\n } else {\r\n // activate item\r\n this.active = true;\r\n\r\n if (this.app.isMobile()) {\r\n this.app.staticMenuMobileActive = false;\r\n }\r\n\r\n if (this.app.isOverlay()) {\r\n this.app.overlayMenuActive = false;\r\n }\r\n\r\n // reset horizontal menu\r\n if (\r\n (this.app.isSlim() || this.app.isHorizontal()) &&\r\n !this.app.isMobile()\r\n ) {\r\n this.menuService.reset();\r\n this.app.menuHoverActive = false;\r\n }\r\n }\r\n }\r\n\r\n onMouseEnter() {\r\n // activate item on hover\r\n if (\r\n this.root &&\r\n this.app.menuHoverActive &&\r\n (this.app.isSlim() || this.app.isHorizontal()) &&\r\n this.app.isDesktop()\r\n ) {\r\n this.menuService.onMenuStateChange(this.key);\r\n this.active = true;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.menuSourceSubscription) {\r\n this.menuSourceSubscription.unsubscribe();\r\n }\r\n\r\n if (this.menuResetSubscription) {\r\n this.menuResetSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MenuService } from './app.menu.service';\r\nimport { PrimeNGConfig } from 'primeng/api';\r\nimport { AppComponent } from './app.component';\r\nimport { FirebaseService } from './pages/app.login.firebase.service';\r\n\r\n@Component({\r\n selector: 'app-main',\r\n templateUrl: './app.main.component.html',\r\n})\r\nexport class AppMainComponent implements OnInit {\r\n overlayMenuActive: boolean;\r\n\r\n staticMenuDesktopInactive = false;\r\n\r\n staticMenuMobileActive: boolean;\r\n\r\n sidebarActive = false;\r\n\r\n sidebarStatic = false;\r\n\r\n menuClick: boolean;\r\n\r\n menuHoverActive = false;\r\n\r\n topbarMenuActive: boolean;\r\n\r\n topbarItemClick: boolean;\r\n\r\n activeTopbarItem: any;\r\n\r\n configActive: boolean;\r\n\r\n configClick: boolean;\r\n\r\n rightMenuActive: boolean;\r\n\r\n rightMenuClick: boolean;\r\n\r\n searchActive: boolean;\r\n\r\n searchClick: boolean;\r\n\r\n activeInlineProfile: boolean;\r\n\r\n pinActive: boolean;\r\n\r\n constructor(\r\n private menuService: MenuService,\r\n private primengConfig: PrimeNGConfig,\r\n public app: AppComponent,\r\n public firebase: FirebaseService\r\n ) {}\r\n async ngOnInit() {}\r\n\r\n onLayoutClick() {\r\n if (!this.topbarItemClick) {\r\n this.activeTopbarItem = null;\r\n this.topbarMenuActive = false;\r\n }\r\n\r\n if (this.configActive && !this.configClick) {\r\n this.configActive = false;\r\n }\r\n\r\n if (this.rightMenuActive && !this.rightMenuClick) {\r\n this.rightMenuActive = false;\r\n }\r\n\r\n if (this.searchActive && !this.searchClick) {\r\n this.searchActive = false;\r\n }\r\n\r\n if (!this.menuClick) {\r\n if ((this.isSlim() || this.isHorizontal()) && !this.isMobile()) {\r\n this.menuService.reset();\r\n this.menuHoverActive = false;\r\n }\r\n\r\n if (this.overlayMenuActive || this.staticMenuMobileActive) {\r\n this.overlayMenuActive = false;\r\n this.staticMenuMobileActive = false;\r\n }\r\n }\r\n\r\n this.configClick = false;\r\n this.rightMenuClick = false;\r\n this.searchClick = false;\r\n this.menuClick = false;\r\n this.topbarItemClick = false;\r\n }\r\n\r\n onSidebarClick($event) {\r\n this.menuClick = true;\r\n }\r\n\r\n onToggleMenu(event) {\r\n this.menuClick = true;\r\n\r\n if (this.overlayMenuActive) {\r\n this.overlayMenuActive = false;\r\n }\r\n\r\n if (this.sidebarActive) {\r\n this.sidebarStatic = !this.sidebarStatic;\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n onSidebarMouseOver(event) {\r\n if (this.app.menuMode === 'sidebar' && !this.sidebarStatic) {\r\n this.sidebarActive = this.isDesktop();\r\n setTimeout(() => {\r\n this.pinActive = this.isDesktop();\r\n }, 200);\r\n }\r\n }\r\n\r\n onSidebarMouseLeave($event) {\r\n if (this.app.menuMode === 'sidebar' && !this.sidebarStatic) {\r\n setTimeout(() => {\r\n this.sidebarActive = false;\r\n this.pinActive = false;\r\n }, 250);\r\n }\r\n }\r\n\r\n onMenuButtonClick(event) {\r\n this.menuClick = true;\r\n\r\n if (this.isOverlay()) {\r\n this.overlayMenuActive = !this.overlayMenuActive;\r\n }\r\n\r\n if (this.isDesktop()) {\r\n this.staticMenuDesktopInactive = !this.staticMenuDesktopInactive;\r\n } else {\r\n this.staticMenuMobileActive = !this.staticMenuMobileActive;\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarItemClick(event, item) {\r\n this.topbarItemClick = true;\r\n\r\n if (this.activeTopbarItem === item) {\r\n this.activeTopbarItem = null;\r\n } else {\r\n this.activeTopbarItem = item;\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarSubItemClick(event) {\r\n event.preventDefault();\r\n }\r\n\r\n logout(event) {\r\n this.firebase.logout();\r\n }\r\n\r\n onRippleChange(event) {\r\n this.app.ripple = event.checked;\r\n this.primengConfig.ripple = event.checked;\r\n }\r\n\r\n onConfigClick(event) {\r\n this.configClick = true;\r\n }\r\n\r\n onRightMenuButtonClick() {\r\n this.rightMenuClick = true;\r\n this.rightMenuActive = true;\r\n }\r\n\r\n onRightMenuClick($event) {\r\n this.rightMenuClick = true;\r\n }\r\n\r\n isStatic() {\r\n return this.app.menuMode === 'static';\r\n }\r\n\r\n isOverlay() {\r\n return this.app.menuMode === 'overlay';\r\n }\r\n\r\n isSlim() {\r\n return this.app.menuMode === 'slim';\r\n }\r\n\r\n isHorizontal() {\r\n return this.app.menuMode === 'horizontal';\r\n }\r\n\r\n isSidebar() {\r\n return this.app.menuMode === 'sidebar';\r\n }\r\n\r\n isDesktop() {\r\n return window.innerWidth > 991;\r\n }\r\n\r\n isMobile() {\r\n return window.innerWidth <= 991;\r\n }\r\n}\r\n","
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFireDatabase } from '@angular/fire/database';\r\nimport { AngularFireStorage } from '@angular/fire/storage';\r\nimport { NotificacaoModel } from './notificacao.model';\r\nimport { UnidadeModel } from 'src/app/models/unidade.model';\r\nimport { CidadeModel } from 'src/app/models/cidade.model';\r\nimport { SupervisorModel } from 'src/app/models/supervisor.model';\r\nimport { CarteiraModel } from 'src/app/models/carteira.model';\r\nimport { SegmentoModel } from 'src/app/models/segmento.model';\r\nimport { PapeisClienteModel } from 'src/app/models/papeiscliente.model';\r\nimport { ParceiroModel } from '../parceiro/parceiro.model';\r\nimport { TipoNotificacaoModel } from './tipo.notificacao.model';\r\nimport { PostNotificacaoEnviar } from 'src/app/services/api.service';\r\n\r\n@Injectable()\r\nexport class NotificacaoService {\r\n TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n public firestore: AngularFirestore,\r\n public fireAuth: AngularFireAuth,\r\n private db: AngularFireDatabase,\r\n private storage: AngularFireStorage\r\n ) {}\r\n\r\n private updateToken = () => {\r\n this.TOKEN = JSON.parse(localStorage.getItem('tokenUser'));\r\n };\r\n\r\n create_Notificacao(record) {\r\n return this.firestore.collection('Notificacoes').add(record);\r\n }\r\n read_Notificacao() {\r\n return this.firestore\r\n .collection('Notificacoes')\r\n .snapshotChanges();\r\n }\r\n read_TipoNotificacao() {\r\n return this.firestore\r\n .collection('TipoNotificacao')\r\n .snapshotChanges();\r\n }\r\n /*Atualiza o registro pegando o ID e chamando o método de atualização */\r\n update_Notificacao(recordID, record) {\r\n this.firestore.doc('Notificacoes/' + recordID).update(record);\r\n }\r\n /*Chama o método de exclusão ao registrar o ID*/\r\n delete_Notificacao(record_id) {\r\n this.firestore.doc('Notificacoes/' + record_id).delete();\r\n }\r\n\r\n delete_all_Notificacao() {\r\n this.firestore.doc('Notificacoes').delete();\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('currentUser');\r\n }\r\n\r\n async PostNotificacaoEnviar(dados: NotificacaoModel) {\r\n let resultado: any = 'erro';\r\n let response: any;\r\n //Exemplo:\r\n // JSON:\r\n // {\r\n // \"Titulo\": \"titulo da notificacao\",\r\n // \"Mensagem\": \"Mensagem da notificacao\",\r\n // \"Dados\": \"PROMOCAO|promocaoID\",\r\n // \"CarteirasVendas\": [\"1\",\"2\",\"3\"],\r\n // \"Cidades\": [\"1\",\"2\",\"3\"],\r\n // \"Segmentos\": [\"1\",\"2\",\"3\"],\r\n // \"Supervisores\": [\"1\",\"2\",\"3\"],\r\n // \"Unidades\": [\"1\",\"2\",\"3\"],\r\n // \"PapeisClientes\": [\"1\",\"2\",\"3\"],\r\n // \"ParceirosNegocios\": [\r\n // \"975AE600-7544-49EE-A562-3923E57D9447\",\r\n // \"11D0EB53-C99A-42C6-AD29-B8F67E5A93A6\",\r\n // \"C682E12F-C364-44F0-82CF-5EC0C8E7E514\"\r\n // ]\r\n // }\r\n try {\r\n let data: any = {\r\n Titulo: dados.Titulo,\r\n Mensagem: dados.Mensagem,\r\n Dados: dados.Dados,\r\n Icone: dados.Icone,\r\n CarteirasVendas: dados.CarteirasVendasString,\r\n Cidades: dados.CidadesString,\r\n Segmentos: dados.SegmentosString,\r\n Supervisores: dados.SupervisoresString,\r\n Unidades: dados.UnidadesString,\r\n PapeisClientes: dados.PapeisClientesString,\r\n ParceirosNegocios: dados.ParceirosNegociosString,\r\n };\r\n this.updateToken();\r\n if (this.TOKEN != null) {\r\n if (this.TOKEN != null || this.TOKEN != undefined) {\r\n console.log(data);\r\n console.log('token', this.TOKEN);\r\n\r\n response = await this.http\r\n .post(\r\n `${PostNotificacaoEnviar}/${this.TOKEN}`,\r\n JSON.stringify(data)\r\n )\r\n .toPromise();\r\n // essa endpoint ainda não está funcionando, ela está com problema e isso ainda será solucionado\r\n\r\n if (response.sucesso == true) {\r\n resultado = response.sucesso;\r\n }\r\n }\r\n }\r\n return resultado;\r\n } catch (error) {\r\n console.log(error);\r\n\r\n resultado = 'erro' + error;\r\n }\r\n }\r\n\r\n //LISTAS\r\n readParceiroNegocios() {\r\n return this.firestore\r\n .collection('ParceirosNegocios')\r\n .snapshotChanges();\r\n }\r\n readUnidadesPromocao() {\r\n return this.firestore\r\n .collection('Unidades')\r\n .snapshotChanges();\r\n }\r\n readCidadesPromocao() {\r\n return this.firestore.collection('Cidades').snapshotChanges();\r\n }\r\n readSupervisorPromocao() {\r\n return this.firestore\r\n .collection('Supervisores')\r\n .snapshotChanges();\r\n }\r\n readCarteiraPromocao() {\r\n return this.firestore\r\n .collection('CarteirasVendas')\r\n .snapshotChanges();\r\n }\r\n readSegmentosPromocao() {\r\n return this.firestore\r\n .collection('Segmentos')\r\n .snapshotChanges();\r\n }\r\n readPapeisClientesPromocao() {\r\n return this.firestore\r\n .collection('PapeisClientes')\r\n .snapshotChanges();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Injectable()\r\nexport class AppBreadcrumbService {\r\n\r\n private itemsSource = new Subject();\r\n\r\n itemsHandler = this.itemsSource.asObservable();\r\n\r\n setItems(items: MenuItem[]) {\r\n this.itemsSource.next(items);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { Router } from '@angular/router';\r\nimport { LoginService } from './app.login.service';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FirebaseService {\r\n isLoggedIn = false;\r\n constructor(\r\n public firebaseAuth: AngularFireAuth,\r\n private authService: LoginService,\r\n private router: Router\r\n ) {}\r\n async signin(email: string, password: string) {\r\n return await this.firebaseAuth\r\n .signInWithEmailAndPassword(email, password)\r\n .then(async (res) => {\r\n this.isLoggedIn = true;\r\n localStorage.setItem('currentUser', JSON.stringify(res.user));\r\n\r\n const { token } = await this.authService.gerarToken(res.user.uid);\r\n\r\n localStorage.setItem('tokenUser', JSON.stringify(token));\r\n return { token, currentUser: JSON.stringify(res.user) };\r\n });\r\n }\r\n async signup(email: string, password: string) {\r\n await this.firebaseAuth\r\n .createUserWithEmailAndPassword(email, password)\r\n .then((res) => {\r\n this.isLoggedIn = true;\r\n localStorage.setItem('currentUser', JSON.stringify(res.user));\r\n });\r\n }\r\n\r\n async createSignup(email: string, password: string) {\r\n await this.firebaseAuth\r\n .createUserWithEmailAndPassword(email, password)\r\n .then((res) => {\r\n localStorage.setItem('newUser', JSON.stringify(res.user));\r\n });\r\n }\r\n\r\n logout() {\r\n this.firebaseAuth.signOut();\r\n localStorage.removeItem('currentUser');\r\n this.router.navigate(['/login']);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AngularFireStorage } from '@angular/fire/storage';\r\nimport {\r\n ConfirmationService,\r\n MessageService,\r\n PrimeNGConfig,\r\n} from 'primeng/api';\r\nimport { Observable } from 'rxjs';\r\nimport { FirebaseService } from '../app.login.firebase.service';\r\nimport { ParceiroConfigService } from './configuracao.service';\r\nimport { ParceiroConfigModel } from './configuracao.model';\r\n\r\n@Component({\r\n selector: 'app-configuracao',\r\n templateUrl: './configuracao.component.html',\r\n styleUrls: ['./configuracao.component.scss'],\r\n})\r\nexport class ConfigComponent implements OnInit {\r\n private basePath = 'configuracao/';\r\n show = false;\r\n loadingSave: boolean = false;\r\n dataDialog: boolean;\r\n Guide: string;\r\n loading: boolean = true;\r\n\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n datas: any;\r\n data: any;\r\n submitted: boolean;\r\n\r\n constructor(\r\n private service: ParceiroConfigService,\r\n private messageService: MessageService,\r\n public firebaseService: FirebaseService,\r\n private confirmationService: ConfirmationService,\r\n public auth: AngularFireAuth,\r\n public firestore: AngularFirestore,\r\n private storage: AngularFireStorage,\r\n private config: PrimeNGConfig\r\n ) {\r\n this.pesquisar();\r\n }\r\n\r\n private converterHexParaRGB(hex: string): string {\r\n // Lógica para converter o valor hexadecimal para RGB\r\n const r = parseInt(hex.substring(1, 3), 16);\r\n const g = parseInt(hex.substring(3, 5), 16);\r\n const b = parseInt(hex.substring(5, 7), 16);\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n }\r\n\r\n pesquisar() {\r\n try {\r\n this.auth.onAuthStateChanged((user) => {\r\n if (user) {\r\n this.service.readConfiguracao().subscribe((data) => {\r\n this.datas = data.map((e) => {\r\n const {\r\n CorDoApp,\r\n CorPadraoDoApp,\r\n manutencao,\r\n whatsapp,\r\n CorDoBotaoDoApp,\r\n UsarCorSelecionada,\r\n } = e.payload.doc.data();\r\n\r\n return {\r\n id: e.payload.doc.id,\r\n CorDoApp,\r\n CorPadraoDoApp,\r\n manutencao,\r\n whatsapp,\r\n CorDoBotaoDoApp,\r\n UsarCorSelecionada,\r\n };\r\n });\r\n });\r\n } else {\r\n this.datas = new Observable();\r\n }\r\n this.loading = false;\r\n });\r\n } catch (error) {\r\n this.loading = false;\r\n alert(error);\r\n }\r\n }\r\n\r\n ngOnDestroy() {}\r\n\r\n async ngOnInit() {}\r\n\r\n editData(data: any) {\r\n this.loadingSave = false;\r\n this.data = { ...data };\r\n\r\n this.dataDialog = true;\r\n }\r\n\r\n hideDialog() {\r\n this.dataDialog = false;\r\n this.submitted = false;\r\n }\r\n\r\n async saveData() {\r\n try {\r\n this.submitted = true;\r\n this.loadingSave = true;\r\n\r\n let data: ParceiroConfigModel = { ...this.data };\r\n\r\n data.CorDoApp = {\r\n ...this.data.CorDoApp,\r\n rgb: this.converterHexParaRGB(this.data.CorDoApp.hex),\r\n };\r\n data.CorDoBotaoDoApp = {\r\n ...this.data.CorDoBotaoDoApp,\r\n rgb: this.converterHexParaRGB(this.data.CorDoBotaoDoApp.hex),\r\n };\r\n data.CorPadraoDoApp = this.data.CorPadraoDoApp;\r\n data.manutencao = this.data.manutencao;\r\n data.UsarCorSelecionada = this.data.UsarCorSelecionada;\r\n data.whatsapp = this.data.whatsapp;\r\n\r\n this.service.updateParceiroConfiguracao(this.data.id, data);\r\n\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Não foi possível fazer a requisição! \\n' + error,\r\n });\r\n }\r\n }\r\n\r\n escolherCorPadrao(data) {\r\n this.data = { ...data, CorDoApp: { ...this.datas[0].CorPadraoDoApp } };\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
Gerenciamento de Configurações do APP
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cor Atual do APP\r\n Cor para os Botões\r\n Manutenção\r\n Usando Cor Selecionada\r\n Whatsapp\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{\"Hex: \"+data.CorDoApp.hex +\" / RGB: \"+data.CorDoApp.rgb}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{\"Hex: \"+data.CorDoBotaoDoApp.hex +\" / RGB: \"+data.CorDoBotaoDoApp.rgb}}\r\n
\r\n \r\n {{data.manutencao?\"Sim\":\"Não\"}}\r\n {{data.UsarCorSelecionada?\"Sim\":\"Não\"}}\r\n {{data.whatsapp}}\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \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 { RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { AppMainComponent } from './app.main.component';\r\nimport { AppNotfoundComponent } from './pages/app.notfound.component';\r\nimport { LoginComponent } from './pages/app.login.component';\r\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\r\nimport { AuthGuard } from './helps/auth.guards';\r\nimport { UsuarioComponent } from './pages/usuario/usuario.component';\r\nimport { CategoriaComponent } from './pages/categoria/categoria.component';\r\nimport { ProdutoComponent } from './pages/produto/produto.component';\r\nimport { ParceiroComponent } from './pages/parceiro/parceiro.component';\r\nimport { PromocaoComponent } from './pages/promocao/promocao.component';\r\nimport { NotificacaoComponent } from './pages/notificacao/notificacao.component';\r\nimport { CupomComponent } from './pages/cupom/cupom.component';\r\nimport { ConfigComponent } from './pages/configuracao/configuracao.component';\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(\r\n [\r\n { path: 'login', component: LoginComponent },\r\n {\r\n path: '',\r\n component: AppMainComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n {\r\n path: '',\r\n component: DashboardComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n { path: 'cadastro/usuario', component: UsuarioComponent },\r\n { path: 'cadastro/categoria', component: CategoriaComponent },\r\n { path: 'cadastro/produto', component: ProdutoComponent },\r\n { path: 'cadastro/parceiro', component: ParceiroComponent },\r\n { path: 'cadastro/promocao', component: PromocaoComponent },\r\n { path: 'cadastro/cupom', component: CupomComponent },\r\n { path: 'app/configuracao', component: ConfigComponent },\r\n { path: 'cadastro/notificacao', component: NotificacaoComponent },\r\n ],\r\n },\r\n { path: 'notfound', component: AppNotfoundComponent },\r\n { path: '**', redirectTo: '/notfound' },\r\n ],\r\n { scrollPositionRestoration: 'enabled' }\r\n ),\r\n ],\r\n exports: [RouterModule],\r\n providers: [AuthGuard],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component } from '@angular/core';\r\nimport { AppComponent } from '../app.component';\r\n\r\n@Component({\r\n selector: 'app-notfound',\r\n templateUrl: './app.notfound.component.html',\r\n})\r\nexport class AppNotfoundComponent {\r\n constructor(public app: AppComponent) {}\r\n\r\n marcao() {\r\n console.log(\"Marcão Testes\");\r\n }\r\n}\r\n","
\r\n
\r\n

404

\r\n

não encontrada

\r\n

A página que procura não existe.

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AngularFireAuth } from '@angular/fire/auth';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport {\r\n AngularFireStorage,\r\n AngularFireStorageReference,\r\n AngularFireUploadTask,\r\n} from '@angular/fire/storage';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { FirebaseService } from '../app.login.firebase.service';\r\nimport { CategoriaModel } from './categoria.model';\r\nimport { CategoriaService } from './categoria.service';\r\nimport { SubCategoriaModel } from './subcategoria.model';\r\n\r\n@Component({\r\n selector: 'app-categoria',\r\n templateUrl: './categoria.component.html',\r\n styleUrls: ['./categoria.component.scss'],\r\n})\r\nexport class CategoriaComponent implements OnInit {\r\n show = false;\r\n\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n dataDialog: boolean;\r\n dataDialogSubCategoria: boolean;\r\n\r\n datas: any;\r\n lista: CategoriaModel[];\r\n loading: boolean = true;\r\n data: CategoriaModel;\r\n dataSubCategoria: SubCategoriaModel;\r\n selectedDatas: CategoriaModel[];\r\n submitted: boolean;\r\n sequencias: any[];\r\n tinhaSequencia: boolean = false;\r\n SequenciaAnterior: number = 0;\r\n\r\n ref: AngularFireStorageReference;\r\n task: AngularFireUploadTask;\r\n uploadState: Observable;\r\n uploadProgress: Observable;\r\n downloadURL: Observable;\r\n\r\n displayImage: boolean;\r\n displaySubImage: boolean;\r\n\r\n private basePath = 'categorias/';\r\n private baseSubCategoriaPath = 'subcategorias/';\r\n\r\n profileUrl: any;\r\n\r\n constructor(\r\n private categoriaService: CategoriaService,\r\n private messageService: MessageService,\r\n public firebaseService: FirebaseService,\r\n private confirmationService: ConfirmationService,\r\n public auth: AngularFireAuth,\r\n public firestore: AngularFirestore,\r\n private storage: AngularFireStorage\r\n ) {\r\n this.sequencias = [];\r\n\r\n for (let index = 1; index < 1000; index++) {\r\n let data = { nome: index };\r\n this.sequencias.push(data);\r\n }\r\n\r\n try {\r\n this.auth.onAuthStateChanged((user) => {\r\n if (user) {\r\n this.categoriaService.read_Categoria().subscribe((data) => {\r\n this.datas = data.map((e) => {\r\n const dataValues = e.payload.doc.data();\r\n this.loading = false;\r\n return {\r\n id: e.payload.doc.id,\r\n isEdit: false,\r\n CategoriaID: dataValues['CategoriaID'],\r\n Descricao: dataValues['Descricao'],\r\n Sequencia: dataValues['Sequencia'],\r\n SubCategorias: dataValues['SubCategorias'],\r\n urlImage: dataValues['urlImage'],\r\n Status: dataValues['Status'],\r\n };\r\n });\r\n\r\n //this.listaSequencia();\r\n });\r\n } else {\r\n this.datas = new Observable();\r\n }\r\n });\r\n } catch (error) {\r\n this.loading = false;\r\n alert(error);\r\n }\r\n }\r\n\r\n listaSequencia() {\r\n for (let index = 1; index < 1000; index++) {\r\n const p = this.datas.find((x) => x.Sequencia == index);\r\n if (p == null) {\r\n let data = { nome: index };\r\n this.sequencias.push(data);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {}\r\n\r\n async ngOnInit() {\r\n this.data = {};\r\n this.dataSubCategoria = {};\r\n }\r\n\r\n showImageDialog() {\r\n this.displayImage = true;\r\n }\r\n\r\n showSubImageDialog() {\r\n this.displaySubImage = true;\r\n }\r\n\r\n uploadedFiles: File = null;\r\n fb: any;\r\n\r\n uploadCategoria(event) {\r\n this.uploadedFiles = event.target.files[0];\r\n\r\n try {\r\n if (this.uploadedFiles != null) {\r\n const filePath = `${this.basePath}/${this.data.CategoriaID}.png`;\r\n const storageRef = this.storage.ref(filePath);\r\n const uploadTask = this.storage.upload(filePath, this.uploadedFiles);\r\n\r\n uploadTask\r\n .snapshotChanges()\r\n .pipe(\r\n finalize(() => {\r\n storageRef.getDownloadURL().subscribe((downloadURL) => {\r\n this.fb = downloadURL;\r\n this.data.urlImage = downloadURL;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Foto alterada com sucesso!',\r\n });\r\n //this.saveFileData(this.fb);\r\n });\r\n })\r\n )\r\n .subscribe();\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro em alterar foto!',\r\n });\r\n alert(error);\r\n }\r\n }\r\n\r\n SubuploadedFiles: File = null;\r\n Subfb: any;\r\n\r\n editarSubCategoria(subCategoria: SubCategoriaModel, index) {\r\n this.dataDialogSubCategoria = true;\r\n subCategoria.index = index;\r\n this.dataSubCategoria = { ...subCategoria };\r\n }\r\n uploadSubCategoria(event) {\r\n this.SubuploadedFiles = event.target.files[0];\r\n\r\n try {\r\n if (this.dataSubCategoria != null) {\r\n if (this.SubuploadedFiles != null) {\r\n const filePath = `${this.baseSubCategoriaPath}/${this.dataSubCategoria.CategoriaID}.png`;\r\n const storageRef = this.storage.ref(filePath);\r\n const uploadTask = this.storage.upload(\r\n filePath,\r\n this.SubuploadedFiles\r\n );\r\n\r\n uploadTask\r\n .snapshotChanges()\r\n .pipe(\r\n finalize(() => {\r\n storageRef.getDownloadURL().subscribe((downloadURL) => {\r\n this.Subfb = downloadURL;\r\n this.data.SubCategorias[\r\n this.dataSubCategoria.index\r\n ].urlImage = downloadURL;\r\n this.dataSubCategoria.urlImage = downloadURL;\r\n\r\n // if (this.data.CategoriaID != undefined) {\r\n // if (this.data.imagem == undefined) {\r\n // this.data.imagem = \"\";\r\n // }\r\n // this.categoriaService.update_Categoria(this.data.CategoriaID, this.data);\r\n // }\r\n\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Foto alterada com sucesso!',\r\n });\r\n });\r\n })\r\n )\r\n .subscribe();\r\n }\r\n }\r\n } catch (error) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro em alterar foto!',\r\n });\r\n alert(error);\r\n }\r\n }\r\n\r\n async getImage(codigo: number): Promise {\r\n let resultado: Promise;\r\n try {\r\n await this.storage\r\n .ref(this.basePath + codigo + '.png')\r\n .getDownloadURL()\r\n .toPromise()\r\n .then((response: any) => {\r\n resultado = response;\r\n return resultado;\r\n })\r\n .catch((error) => error);\r\n\r\n return resultado;\r\n } catch (error) {}\r\n }\r\n\r\n openNew() {\r\n this.data = {};\r\n this.submitted = false;\r\n this.dataDialog = true;\r\n }\r\n\r\n deleteSelectedData() {\r\n this.confirmationService.confirm({\r\n message: 'Tem certeza de que deseja todos os registros?',\r\n header: 'Informação',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptLabel: 'SIM',\r\n rejectLabel: 'NÃO',\r\n accept: () => {\r\n this.datas = this.datas.filter(\r\n (val) => !this.selectedDatas.includes(val)\r\n );\r\n this.selectedDatas = null;\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Usuários excluídos com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n\r\n async editData(data: CategoriaModel) {\r\n data.isEdit = true;\r\n this.loadingSave = false;\r\n this.tinhaSequencia = data.Sequencia ? true : false;\r\n this.SequenciaAnterior = data.Sequencia;\r\n\r\n data.urlImage = await this.getImage(data.CategoriaID);\r\n this.data = { ...data };\r\n this.dataDialog = true;\r\n }\r\n\r\n deleteData(data: CategoriaModel) {\r\n this.confirmationService.confirm({\r\n message: 'Tem certeza de que deseja excluir ' + data.Descricao + '?',\r\n header: 'Informação',\r\n icon: 'pi pi-exclamation-triangle',\r\n acceptLabel: 'SIM',\r\n rejectLabel: 'NÃO',\r\n accept: () => {\r\n this.categoriaService.delete_Categoria(data.CategoriaID);\r\n this.data = {};\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Usuário excluído com sucesso!',\r\n life: 3000,\r\n });\r\n },\r\n });\r\n }\r\n\r\n hideDialog() {\r\n this.dataDialog = false;\r\n this.submitted = false;\r\n }\r\n\r\n loadingSave: boolean = false;\r\n async saveData() {\r\n try {\r\n if (this.tinhaSequencia == false) {\r\n if (this.SequenciaAnterior != this.data.Sequencia) {\r\n const p = this.datas.find((x) => x.Sequencia == this.data.Sequencia);\r\n if (p != null) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail:\r\n 'Número da sequência ' + this.data.Sequencia + ' já existe.',\r\n });\r\n return;\r\n }\r\n }\r\n } else {\r\n if (this.SequenciaAnterior != this.data.Sequencia) {\r\n const p = this.datas.find((x) => x.Sequencia == this.data.Sequencia);\r\n if (p != null) {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail:\r\n 'Número da sequência ' + this.data.Sequencia + ' já existe.',\r\n });\r\n return;\r\n }\r\n }\r\n }\r\n\r\n this.submitted = true;\r\n this.loadingSave = true;\r\n\r\n let data = {};\r\n\r\n if (this.data.CategoriaID != undefined) {\r\n data['CategoriaID'] = this.data.CategoriaID;\r\n data['Descricao'] = this.FormataString(this.data.Descricao);\r\n data['urlImage'] = this.FormataString(this.data.urlImage);\r\n data['Status'] = this.data.Status;\r\n data['Sequencia'] = this.data.Sequencia;\r\n data['SubCategorias'] = this.data.SubCategorias;\r\n\r\n this.categoriaService.update_Categoria(this.data.CategoriaID, data);\r\n\r\n let result = await this.categoriaService.PostCategoriaAlterar(\r\n this.data\r\n );\r\n\r\n if (result == true) {\r\n this.data.isEdit = false;\r\n this.dataDialog = false;\r\n this.loadingSave = false;\r\n //this.listaSequencia();\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Registro alterado com sucesso!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + result,\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n this.loadingSave = false;\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + error,\r\n });\r\n }\r\n }\r\n\r\n saveDataSubCategoria(descri: string, status: boolean) {\r\n this.dataDialogSubCategoria = false;\r\n this.data.SubCategorias[this.dataSubCategoria.index].Descricao = descri;\r\n this.data.SubCategorias[this.dataSubCategoria.index].Status = status;\r\n }\r\n\r\n atualizarCategorias() {\r\n this.loading = true;\r\n\r\n this.categoriaService.atualizaCategoria().subscribe(\r\n (data: any) => {\r\n this.loading = false;\r\n if (data.sucesso == true) {\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: 'Informação',\r\n detail: 'Lista atualizada!',\r\n life: 3000,\r\n });\r\n } else {\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + data.mensagem,\r\n });\r\n this.loading = false;\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n this.messageService.add({\r\n severity: 'error',\r\n summary: 'Informação',\r\n detail: 'Erro ao atualizar!\\n' + err,\r\n });\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n FormataString(data) {\r\n if (\r\n data == null ||\r\n data == undefined ||\r\n data == 'null' ||\r\n data == 'undefined'\r\n ) {\r\n return '';\r\n }\r\n\r\n return data;\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Gerenciamento de Categorias
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Código \r\n \r\n Descrição \r\n \r\n Sequência \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{data.CategoriaID}}\r\n {{data.Descricao}}\r\n {{data.Sequencia}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Código \r\n \r\n Descrição \r\n \r\n \r\n \r\n \r\n \r\n {{sub.CategoriaID}}\r\n {{sub.Descricao}}\r\n \r\n \r\n \r\n \r\n Ainda não há Sub Categoria para esta Categoria.\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n No total, existem {{datas ? datas.length : 0 }} categoria(s).\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Descrição é obrigatório.\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n Código\r\n Descrição\r\n Imagem\r\n Ação\r\n \r\n \r\n \r\n \r\n {{sub.CategoriaID}}\r\n {{sub.Descricao}}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n Não há registros.\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}