{"version":3,"sources":["webpack:///src/app/pages/parceiro/parceiro.component.html","webpack:///src/app/pages/parceiro/parceiro.component.ts","webpack:///src/app/pages/cupom/cupom.service.ts","webpack:///src/app/pages/promocao/promocao.component.html","webpack:///src/app/pages/promocao/promocao.component.ts","webpack:///src/app/pages/produto/produto.component.html","webpack:///src/app/pages/produto/produto.component.ts","webpack:///src/app/app.topbar.component.ts","webpack:///src/app/pages/notificacao/notificacao.component.html","webpack:///src/app/pages/notificacao/notificacao.component.ts","webpack:///src/environments/environment.ts","webpack:///src/app/app.menu.component.html","webpack:///src/app/app.menu.component.ts","webpack:///src/app/pages/promocao/promocao.service.ts","webpack:///src/app/helps/auth.guards.ts","webpack:///src/app/services/api.service.ts","webpack:///src/app/app.breadcrumb.component.ts","webpack:///src/app/app.breadcrumb.component.html","webpack:///src/app/pages/parceiro/parceiro.service.ts","webpack:///src/app/pages/app.login.component.html","webpack:///src/app/pages/app.login.component.ts","webpack:///src/app/pages/categoria/categoria.service.ts","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/pages/produto/produto.service.ts","webpack:///src/app/pages/dashboard/dashboard.component.ts","webpack:///src/app/pages/dashboard/dashboard.component.html","webpack:///src/app/app.rightmenu.component.ts","webpack:///src/app/app.rightmenu.component.html","webpack:///src/app/pages/usuario/usuario.service.ts","webpack:///src/app/pages/app.login.model.ts","webpack:///src/app/app.module.ts","webpack:///src/app/app.code.component.ts","webpack:///src/app/app.menu.service.ts","webpack:///src/app/pages/cupom/cupom.component.html","webpack:///src/app/pages/cupom/cupom.component.ts","webpack:///src/environments/environment.prod.ts","webpack:///src/app/app.footer.component.ts","webpack:///src/app/pages/usuario/usuario.component.html","webpack:///src/app/pages/usuario/usuario.component.ts","webpack:///src/app/pages/app.login.service.ts","webpack:///src/app/pages/configuracao/configuracao.service.ts","webpack:///src/app/app.inlinemenu.component.ts","webpack:///src/app/app.inlinemenu.component.html","webpack:///src/app/app.config.component.ts","webpack:///src/app/app.menuitem.component.ts","webpack:///src/app/app.main.component.html","webpack:///src/app/app.main.component.ts","webpack:///src/app/pages/notificacao/notificacao.service.ts","webpack:///src/app/app.breadcrumb.service.ts","webpack:///src/app/pages/app.login.firebase.service.ts","webpack:///src/app/pages/configuracao/configuracao.component.html","webpack:///src/app/pages/configuracao/configuracao.component.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/pages/app.notfound.component.ts","webpack:///src/app/pages/app.notfound.component.html","webpack:///src/main.ts","webpack:///src/app/pages/categoria/categoria.component.html","webpack:///src/app/pages/categoria/categoria.component.ts","webpack:///$_lazy_route_resource lazy namespace object"],"names":["ParceiroComponent","service","messageService","firebaseService","confirmationService","auth","firestore","storage","show","currentUser","JSON","parse","localStorage","getItem","Produtos","Segmentos","optionsSearch","selectedOption","search","datas","loading","lastPagePulled","lastVisible","searchTerm","basePath","uploadedFiles","loadingSave","pipe","subscribe","value","getParceiro","data","event","pageSize","rows","pageIndex","first","input","target","next","onAuthStateChanged","user","readParceiro","toUpperCase","docs","map","e","dataValue","newDataValue","id","isEdit","AreaDescricao","AreaID","Ativo","CarteiraVendaDescricao","CarteiraVendaID","CodigoAlternativo","CpfCnpj","Email","FirebaseID","Homologado","LimiteCreditoTotal","LimiteCreditoUsado","NomeFantasia","ParceiroNegocioID","PedidoBloqueado","PedidoEmUnidade","RazaoSocial","RgIe","SegmentoDescricao","SegmentoID","Telefone","Celular","urlImage","CondicoesFormasPagamentos","ParceiroNegocioEnderecos","length","error","alert","files","filePath","storageRef","ref","uploadTask","upload","snapshotChanges","getDownloadURL","downloadURL","fb","undefined","add","severity","summary","detail","codigo","toPromise","then","response","resultado","submitted","dataDialog","ProdutosQuantidadesComp","listaComplementares","datasParceiroNegociosComplementares","ProdutosQuantidadesCompradas","index","elem","descricao","find","x","ProdutoID","prodQuant","Descricao","QuantidadeAtual","QuantidadeMesPassado","push","collection","where","PedidosAnteriores","payload","doc","confirm","message","header","icon","acceptLabel","rejectLabel","accept","PostDeletarParceiro","result","console","log","deleteParceiro","life","FormataString","FormataNumber","updateParceiro","PostParceiroAlterar","Nome","selectedDatas","atualizaParceiro","err","displayImage","dataModify","newEmail","newPassword","email","password","postAtualizaDadosParceiro","cancelDialog","atualizarParceiros","onPageChange","selector","templateUrl","styleUrls","ParceiroCupomService","http","router","fireAuth","db","TOKEN","record","guide","set","recordID","update","removeItem","PromocaoComponent","config","ativosInativos","PeriodoDataInicial","Date","PeriodoDataFinal","selecionadoDesconto","indexDesconto","ListaPromocoesProdutos","ListaPromocoesCidades","ListaPromocoesUnidades","ListaPromocoesSupervisores","ListaPromocoesCarteirasVendas","ListaPromocoesSegmentos","ListaPromocoesPapeisClientes","promocoesDescontos","setTranslation","reject","dayNames","dayNamesShort","dayNamesMin","monthNames","monthNamesShort","today","clear","carregarListas","pesquisar","args","filter","readParceiroPromocao","dataValues","Banner","DataFinal","DataInicio","DescricaoAplicativo","PromocaoID","PromocaoMktPlace","Destacar","DestacarNoProduto","PromocoesCarteirasVendas","PromocoesCidades","PromocoesDescontos","PromocoesProdutos","PromocoesSegmentos","PromocoesSupervisores","PromocoesUnidades","PromocoesPapeisClientes","Unidades","Cidades","Supervisores","Carteiras","PapeisClientes","readUnidadesPromocao","UnidadeID","readCidadesPromocao","CidadeID","Estado","readSupervisorPromocao","SupervisorID","readCarteiraPromocao","Status","SupervisorNome","UnidadeDescricao","readSegmentosPromocao","readPapeisClientesPromocao","PapelClienteID","dataDesconto","Guide","UUID","dia","split","mes","ano","slice","str","date","mnth","getMonth","day","getDate","getFullYear","join","meses","diasSemana","dias","getDay","getYear","hora","getHours","minu","getMinutes","segu","getSeconds","extenso","navigator","appName","DI","convert","toDate","DF","element","p","indexOf","splice","deleteParceiroPromocao","QuantidadeMaxima","Maximo","QuantidadeMinima","Minimo","arrayPromocoesProdutos","arrayPromocoesUnidades","arrayPromocoesCidades","arrayPromocoesSupervisores","arrayPromocoesCarteiras","arrayPromocoesSegmentos","arrayPromocoesPapeisClientes","arrayPromocoesDesconto","dt","PromocaoProdutoID","PromocaoUnidadeID","PromocaoCidadeID","PromocaoSupervisorID","PromocaoCarteiraVendaID","PromocaoSegmentoID","PromocaoPapelClienteID","PromocaoDescontoID","Percentual","Quantidade","FormataBolean","updateParceiroPromocao","PostPromocaoInserir","createParceiroPromocao","product","findIndexById","items","atualizarPromocoes","sucesso","mensagem","v","FiltroDescricao","openNew","hideDialog","ProdutoComponent","categoriaService","teste","tipoSelected","selecionadoProdutoCombo","indexProdutoCombo","listaSN","nome","valor","listaFT","readProduto","findErrors","produtosComboVazio","produtosComboInativo","produtosComboInexistente","includes","ProdutosCombos","produtosSemID","produto","Categoria","CategoriaID","Preco","QuantidadeObjetivo","QuantidadeTroca","QuantidadeVenda","SubCategoria","SubCategoriaID","UnidadeObjetivo","UnidadeTroca","UnidadeVenda","read_Categoria","categorias","SubCategorias","produtoCombo","listaProdutoCombo","ValorTotal","ValorUnitario","getImage","subcategorias","deleteProduto","arrayProdutoCombo","ProdutoComboID","Fixo","updateProduto","PostProdutoAlterar","PostProdutoComboAlterar","PostProdutoComboInserir","atualizaProduto","existe","calcularValores","totalPreco","edit","type","infos","prod","Number","atualizarProdutos","appMain","AppTopbarComponent","app","template","NotificacaoComponent","servicePromocao","pageNumber","disabledPromocao","carregandoTodasInfos","ListaParceirosNegocios","ListaUnidades","ListaCidades","ListaSupervisores","ListaCarteirasVendas","ListaSegmentos","ListaPapeisClientes","read_Notificacao","NotificacaoID","Mensagem","Titulo","Icone","DataHora","DataHoraEnvio","Dados","read_TipoNotificacao","tipoNotificacao","Promocoes","Parceiros","readParceiroNegocios","paginatedParceiros","Math","ceil","delete_Notificacao","arrayUnidades","arrayCidades","arraySupervisores","arrayCarteiras","arraySegmentos","arrayPapeisClientes","arrayParceiroNegocios","update_Notificacao","String","noti","Tipo","Promocao","ParceirosNegociosString","CidadesString","CarteirasVendasString","PapeisClientesString","SegmentosString","SupervisoresString","UnidadesString","PostNotificacaoEnviar","environment","production","apiUrl","version","firebase","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","AppMenuComponent","model","label","routerLink","ParceiroPromocaoService","updateToken","record_id","dados","post","stringify","get","AuthGuard","route","state","navigate","queryParams","returnUrl","url","PostCategoriaAlterar","PostParceiroCadastrar","PostParceiroDeletar","GetVerificarNovoParceiro","GetParceiro","PostParceiroTrocarEmail","gerarToken","GetCategorias","GetProdutos","GetPromocao","AppBreadcrumbComponent","breadcrumbService","subscription","itemsHandler","home","unsubscribe","ParceiroService","limit","dataReference","searchValue","startAfter","queryRef","recordId","deletarFirebase","list","parceiroId","deletar","erro","Segmento","firebaseId","Senha","LoginComponent","authService","produtoService","usuario","isSignedIn","logout","snapshot","key","senha","onClickLogin","signin","res","updateLocalstorage","errorCode","code","errorMessage","toString","carregarProdutos","carregarSegmentos","prods","setItem","readSegmento","onInputKeyDown","CategoriaService","arraySubCategoria","Sequencia","webpackContext","req","webpackContextResolve","__webpack_require__","o","Error","keys","webpackContextKeys","Object","resolve","module","exports","AppComponent","primengConfig","menuMode","layout","theme","colorScheme","uid","window","location","reload","token","ripple","gerarNovoToken","ProdutoService","DashboardComponent","setItems","AppRightMenuComponent","UsuarioService","nomeTabela","LoginModel","AppModule","provide","useClass","useValue","initializeApp","imports","declarations","providers","bootstrap","AppCodeComponent","el","lang","highlightElement","codeViewChild","nativeElement","AppCodeModule","MenuService","menuSource","resetSource","menuSource$","asObservable","resetSource$","CupomComponent","Categorias","listaTipo","listaTipoDesconto","listaTipoLimite","ListaCupomProdutos","readParceiroCupom","CupomID","CupomProdutos","Desconto","LimiteCupom","CodigoCupom","NomeCupom","TipoLimite","QuantidadeLimite","TipoDesconto","APP","WEB","PrimeiraCompra","CupomVisivel","readCategoria","toLowerCase","deleteCupom","arrayCupomProdutos","arrayCupomCategorias","arrayCupomUnidades","arrayCupomCidades","arrayCupomSupervisores","arrayCupomCarteiras","arrayCupomSegmentos","arrayCupomPapeisClientes","CupomProdutoID","trim","updateParceiroCupom","item","createParceiroCupom","AppFooterComponent","UsuarioComponent","usuarioService","displayName","usuarios","cod_usuario","login","ativo","usuarioDialog","val","selectedUsuarios","update_Usuario","createSignup","newUser","create_NewUsuario","resp","LoginService","ParceiroConfigService","AppInlineMenuComponent","height","overflow","animations","AppConfigComponent","themeColors","name","color","layoutColors","scheme","changeStyleSheetsColor","from","document","getElementById","urlTokens","getAttribute","newURL","replaceLink","themeLink","href","layoutLink","test","userAgent","linkElement","isIE","setAttribute","cloneLinkElement","cloneNode","parentNode","insertBefore","nextSibling","addEventListener","remove","configActive","configClick","preventDefault","onConfigButtonClick","changeColorScheme","AppMenuitemComponent","cd","menuService","active","menuSourceSubscription","menuResetSubscription","events","params","isSlim","isHorizontal","isMobile","updateActiveStateFromRoute","parentKey","isActive","disabled","root","menuHoverActive","onMenuStateChange","command","originalEvent","staticMenuMobileActive","isOverlay","overlayMenuActive","reset","isDesktop","host","AppMainComponent","staticMenuDesktopInactive","sidebarActive","sidebarStatic","topbarItemClick","activeTopbarItem","topbarMenuActive","rightMenuActive","rightMenuClick","searchActive","searchClick","menuClick","$event","setTimeout","pinActive","checked","innerWidth","onLayoutClick","NotificacaoService","CarteirasVendas","ParceirosNegocios","AppBreadcrumbService","itemsSource","FirebaseService","firebaseAuth","isLoggedIn","signInWithEmailAndPassword","createUserWithEmailAndPassword","signOut","providedIn","ConfigComponent","hex","r","parseInt","substring","g","b","readConfiguracao","CorDoApp","CorPadraoDoApp","manutencao","whatsapp","CorDoBotaoDoApp","UsarCorSelecionada","rgb","converterHexParaRGB","updateParceiroConfiguracao","AppRoutingModule","forRoot","path","component","canActivate","children","redirectTo","scrollPositionRestoration","AppNotfoundComponent","marcao","bootstrapModule","CategoriaComponent","tinhaSequencia","SequenciaAnterior","baseSubCategoriaPath","SubuploadedFiles","sequencias","dataSubCategoria","displaySubImage","subCategoria","dataDialogSubCategoria","Subfb","delete_Categoria","update_Categoria","descri","status","atualizaCategoria","atualizarCategorias","webpackEmptyAsyncContext","Promise"],"mappings":"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A;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;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","file":"main-es5.js","sourcesContent":["\r\n\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 { 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","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","\r\n\r\n
\r\n
\r\n
\r\n \r\n\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 { 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 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, 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","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","\r\n\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","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","// 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","
\r\n \r\n\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 { 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","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","\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 { 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","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","\r\n\r\n
\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","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","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","\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 { 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","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","
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \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 { 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","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","\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 { 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","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","\r\n\r\n
\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","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","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\";"]}