public void TesteDescredenciamentoAoPrograma()
        {
            var beneficioDoCanalService = new Intelbras.CRM2013.Domain.Servicos.BeneficioDoCanalService(this.OrganizationName, this.IsOffline);
            var canalService            = new Intelbras.CRM2013.Domain.Servicos.ContaService(this.OrganizationName, this.IsOffline);

            var canal = canalService.BuscaConta(new Guid("E333FE1D-A60E-E411-9408-00155D013D38"));

            beneficioDoCanalService.DescredenciamentoAoPrograma(canal);
        }
        public void AtualizarBeneficiosECompromissosCascata(CompromissosDoCanal CompromissoTarget)
        {
            Guid?   UnidadeNeg    = null;
            Guid?   Classificacao = null;
            Guid?   Categoria     = null;
            Boolean?Exclusividade = null;

            if (CompromissoTarget.Canal == null)
            {
                throw new ArgumentException("Campo canal não preenchido");
            }

            Domain.Model.Conta canal = new Domain.Servicos.ContaService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider)
                                       .BuscaConta(CompromissoTarget.Canal.Id);

            if (canal != null)
            {
                if (CompromissoTarget.UnidadeDeNegocio != null)
                {
                    UnidadeNeg = CompromissoTarget.UnidadeDeNegocio.Id;
                }

                if (canal.Classificacao != null)
                {
                    Classificacao = canal.Classificacao.Id;
                }

                Domain.Model.CategoriasCanal categoriaCanal = new Domain.Servicos.CategoriaCanalService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider)
                                                              .ListarPor(canal.ID.Value, UnidadeNeg).FirstOrDefault();

                if (categoriaCanal != null && categoriaCanal.Categoria != null)
                {
                    Categoria = categoriaCanal.Categoria.Id;
                }

                if (canal.Exclusividade != null)
                {
                    Exclusividade = canal.Exclusividade.Value;
                }

                Domain.Model.Perfil perfil = new Intelbras.CRM2013.Domain.Servicos.PerfilServices(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).BuscarPerfil(Classificacao, UnidadeNeg, Categoria, Exclusividade);

                if (perfil != null)
                {
                    List <Domain.Model.BeneficiosCompromissos> benefCompr = new Intelbras.CRM2013.Domain.Servicos.BeneficiosCompromissosService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).BuscaBeneficiosCompromissos(perfil.ID.Value, CompromissoTarget.Compromisso.Id, null);

                    if (benefCompr != null && benefCompr.Count > 0)
                    {
                        foreach (Domain.Model.BeneficiosCompromissos item in benefCompr)
                        {
                            bool   flagAtualizarBeneficio = true;
                            Lookup statusBenef            = (Lookup) new Intelbras.CRM2013.Domain.Servicos.BeneficiosCompromissosService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider)
                                                            .BuscarBeneficioCorrespondentePorCodigoStatus(item, CompromissoTarget.StatusCompromisso.Id);

                            if (statusBenef != null)
                            {
                                if (statusBenef.Name != Domain.Enum.CompromissoCanal.StatusCompromisso.Nao_Cumprido)
                                {
                                    //fluxo alternativo 1
                                    List <Domain.Model.BeneficiosCompromissos> benefComprAlternativo = new Intelbras.CRM2013.Domain.Servicos.BeneficiosCompromissosService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).BuscaBeneficiosCompromissos(perfil.ID.Value, null, item.Beneficio.Id);
                                    if (benefComprAlternativo.Count > 0)
                                    {
                                        List <BeneficiosCompromissos> lstDoBeneficio = new List <BeneficiosCompromissos>();// benefComprAlternativo.Where(x => x.Compromisso != CompromissoTarget.Compromisso).ToList<BeneficiosCompromissos>();
                                        foreach (var _benefCompro in benefComprAlternativo)
                                        {
                                            if (_benefCompro.Compromisso != null && _benefCompro.Compromisso.Id != CompromissoTarget.Compromisso.Id)
                                            {
                                                lstDoBeneficio.Add(_benefCompro);
                                            }
                                        }

                                        foreach (Domain.Model.BeneficiosCompromissos registro in lstDoBeneficio)
                                        {
                                            if (registro.Compromisso == null)
                                            {
                                                throw new ArgumentException("Beneficio x Compromisso do Perfil : " + perfil.Nome + " configurado incorretamente , campo compromisso vazio.Operação cancelada.");
                                            }

                                            Domain.Model.CompromissosDoCanal comproCanal = new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider)
                                                                                           .BuscarCompromissoCanal(registro.Compromisso.Id, UnidadeNeg.Value, canal.ID.Value);

                                            if (comproCanal != null)
                                            {
                                                if (comproCanal.StatusCompromisso != null && comproCanal.StatusCompromisso.Name == Domain.Enum.CompromissoCanal.StatusCompromisso.Nao_Cumprido)
                                                {
                                                    flagAtualizarBeneficio = false;
                                                    break;
                                                }
                                            }
                                            else
                                            {
                                                throw new ArgumentException("O compromisso " + registro.Compromisso.Name + " não existe para este Canal");
                                            }
                                        }
                                    }
                                }
                                if (flagAtualizarBeneficio)
                                {
                                    Domain.Model.BeneficioDoCanal benefCanal = new Intelbras.CRM2013.Domain.Servicos.BeneficioDoCanalService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider)
                                                                               .BuscarBeneficioCanal(item.Beneficio.Id, UnidadeNeg.Value, canal.ID.Value);
                                    benefCanal.StatusBeneficio = statusBenef;
                                    new Intelbras.CRM2013.Domain.Servicos.BeneficioDoCanalService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).AlterarBeneficioCanal(benefCanal);
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #3
0
        public void TestePluginMonitoramento()
        {
            Domain.Model.CompromissosDoCanal CompromissoTarget = new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, this.IsOffline)
                                                                 .BuscarPorGuid(new Guid("2612525C-1432-E411-940F-00155D013D31"));

            //perfil = B1486E56-13F6-E311-91F5-00155D013E44
            //check if status changed on plugin
            Guid?   UnidadeNeg    = null;
            Guid?   Classificacao = null;
            Guid?   Categoria     = null;
            Boolean?Exclusividade = null;

            Domain.Model.Conta canal = new Domain.Servicos.ContaService(this.OrganizationName, this.IsOffline)
                                       .BuscaConta(CompromissoTarget.Canal.Id);

            if (canal != null)
            {
                if (CompromissoTarget.UnidadeDeNegocio != null)
                {
                    UnidadeNeg = CompromissoTarget.UnidadeDeNegocio.Id;
                }

                if (canal.Classificacao != null)
                {
                    Classificacao = canal.Classificacao.Id;
                }

                Domain.Model.CategoriasCanal categoriaCanal = new Domain.Servicos.CategoriaCanalService(this.OrganizationName, this.IsOffline)
                                                              .ListarPor(canal.ID.Value, UnidadeNeg).FirstOrDefault();

                if (categoriaCanal != null && categoriaCanal.Categoria != null)
                {
                    Categoria = categoriaCanal.Categoria.Id;
                }

                if (canal.Exclusividade != null)
                {
                    Exclusividade = canal.Exclusividade.Value;
                }

                Domain.Model.Perfil perfil = new Intelbras.CRM2013.Domain.Servicos.PerfilServices(this.OrganizationName, this.IsOffline).BuscarPerfil(Classificacao, UnidadeNeg, Categoria, Exclusividade);

                if (perfil != null)
                {
                    List <Domain.Model.BeneficiosCompromissos> benefCompr = new Intelbras.CRM2013.Domain.Servicos.BeneficiosCompromissosService(this.OrganizationName, this.IsOffline).BuscaBeneficiosCompromissos(perfil.ID.Value, CompromissoTarget.Compromisso.Id, null);

                    if (benefCompr.Count > 0)
                    {
                        foreach (Domain.Model.BeneficiosCompromissos item in benefCompr)
                        {
                            bool   flagAtualizarBeneficio = true;
                            Lookup statusBenef            = (Lookup) new Intelbras.CRM2013.Domain.Servicos.BeneficiosCompromissosService(this.OrganizationName, this.IsOffline)
                                                            .BuscarBeneficioCorrespondentePorCodigoStatus(item, CompromissoTarget.StatusCompromisso.Id);

                            if (statusBenef != null)
                            {
                                if (statusBenef.Name != Domain.Enum.CompromissoCanal.StatusCompromisso.Nao_Cumprido)
                                {
                                    //fluxo alternativo 1
                                    List <Domain.Model.BeneficiosCompromissos> benefComprAlternativo = new Intelbras.CRM2013.Domain.Servicos.BeneficiosCompromissosService(this.OrganizationName, this.IsOffline).BuscaBeneficiosCompromissos(perfil.ID.Value, null, item.Beneficio.Id);
                                    if (benefComprAlternativo.Count > 0)
                                    {
                                        foreach (Domain.Model.BeneficiosCompromissos registro in benefComprAlternativo)
                                        {
                                            Domain.Model.CompromissosDoCanal comproCanal = new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, this.IsOffline)
                                                                                           .BuscarCompromissoCanal(registro.Compromisso.Id, UnidadeNeg.Value, canal.ID.Value);

                                            if (comproCanal != null)
                                            {
                                                if (comproCanal.StatusCompromisso.Name == Domain.Enum.CompromissoCanal.StatusCompromisso.Nao_Cumprido)
                                                {
                                                    flagAtualizarBeneficio = false;
                                                    break;
                                                }
                                            }
                                            else
                                            {
                                                throw new ArgumentException("O compromisso " + registro.Compromisso.Name + " não existe para este Canal");
                                            }
                                        }
                                    }
                                }
                                if (flagAtualizarBeneficio)
                                {
                                    Domain.Model.BeneficioDoCanal benefCanal = new Intelbras.CRM2013.Domain.Servicos.BeneficioDoCanalService(this.OrganizationName, this.IsOffline)
                                                                               .BuscarBeneficioCanal(item.Beneficio.Id, UnidadeNeg.Value, canal.ID.Value);
                                    benefCanal.StatusBeneficio = statusBenef;
                                    new Intelbras.CRM2013.Domain.Servicos.BeneficioDoCanalService(this.OrganizationName, this.IsOffline).AlterarBeneficioCanal(benefCanal);
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #4
0
        public void TesteCrmWebService()
        {
            Guid?  categoria        = Guid.Empty;
            Guid?  unidNeg          = Guid.Empty;
            Guid?  benefPrograma    = Guid.Empty;
            Guid?  classifCanal     = Guid.Empty;
            string organizationName = ConfigurationManager.GetSettingValue("OrganizacaoIntelbras");
            string resposta         = string.Empty;

            Domain.Model.Conta          canal         = new Domain.Model.Conta(organizationName, false);
            JavaScriptSerializer        jsonConverter = new JavaScriptSerializer();
            Dictionary <string, object> dictResposta  = new Dictionary <string, object>();

            try
            {
                Intelbras.CRM2013.Domain.Model.BeneficioDoCanal benefCanal = new Intelbras.CRM2013.Domain.Servicos.BeneficioDoCanalService(organizationName, false).ObterPor(new Guid("88DD05CD-4D17-E411-9233-00155D013E44"));

                if (benefCanal == null || benefCanal.StatusBeneficio == null || (benefCanal.StatusBeneficio.Name != "Suspenso" && benefCanal.StatusBeneficio.Name != "Bloqueado"))
                {
                    dictResposta.Add("Resultado", false);
                    dictResposta.Add("Mensagem", "Não possui benefícios Suspensos ou Bloqueados");
                    resposta = jsonConverter.Serialize(dictResposta);
                }
                #region Se tiver algum atributo no beneficio do canal e canal vazio, seta a variavel como null se não,pega o Guid dela
                categoria     = (benefCanal.Categoria == null) ? (Guid?)null : benefCanal.Categoria.Id;
                unidNeg       = (benefCanal.UnidadeDeNegocio == null) ? (Guid?)null : benefCanal.UnidadeDeNegocio.Id;
                benefPrograma = (benefCanal.Beneficio == null) ? (Guid?)null : benefCanal.Beneficio.Id;

                if (benefCanal.Canal != null)
                {
                    canal = new Intelbras.CRM2013.Domain.Servicos.ContaService(organizationName, false).BuscaConta(benefCanal.Canal.Id);
                    if (canal != null && canal.Classificacao != null)
                    {
                        classifCanal = canal.Classificacao.Id;
                    }
                    else
                    {
                        classifCanal = null;
                    }
                }

                #endregion

                #region Pega a lista de Beneficio x Compromisso com base no perfil(Unidade negocio,classificacao canal,categoria)
                Domain.Model.Perfil perfil = new Intelbras.CRM2013.Domain.Servicos.PerfilServices(organizationName, false).BuscarPerfil(unidNeg, classifCanal, categoria, null);

                List <Domain.Model.BeneficiosCompromissos> benefCompr = new Intelbras.CRM2013.Domain.Servicos.BeneficiosCompromissosService(organizationName, false).BuscaBeneficiosCompromissos(perfil.ID.Value, null, benefPrograma.Value);
                #endregion

                List <string> lstCompromissos = new List <string>();
                foreach (Domain.Model.BeneficiosCompromissos item in benefCompr)
                {
                    if (item.Compromisso != null)
                    {
                        Domain.Model.CompromissosDoCanal comproDoCanal = new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(organizationName, false).BuscarCompromissoCanal(item.Compromisso.Id, unidNeg.Value, canal.ID.Value);
                        if (comproDoCanal != null && comproDoCanal.StatusCompromisso != null && comproDoCanal.StatusCompromisso.Name == "Não Cumprido")
                        {
                            lstCompromissos.Add(comproDoCanal.Nome);
                        }
                    }
                }
                dictResposta.Add("Resultado", true);
                dictResposta.Add("Compromissos", lstCompromissos);
                resposta = jsonConverter.Serialize(dictResposta);
            }
            catch (Exception e)
            {
                dictResposta = new Dictionary <string, object>();
                dictResposta.Add("Resultado", false);
                dictResposta.Add("Mensagem", e.Message);
                resposta = jsonConverter.Serialize(dictResposta);
            }
        }
        public void TesteAdesaoAoProgramaTodosOsCanais()
        {
            var beneficioDoCanalService = new Intelbras.CRM2013.Domain.Servicos.BeneficioDoCanalService(this.OrganizationName, this.IsOffline);

            beneficioDoCanalService.AdesaoAoProgramaTodosOsCanais();
        }