Ejemplo n.º 1
0
        public string ObterUrlCrm2013(string guidCrm40, bool tipoConta)
        {
            if (tipoConta)
            {
                Domain.Model.Conta conta = new Domain.Servicos.ContaService(ConfigurationManager.GetSettingValue("OrganizacaoIntelbras"), false).BuscarContaIntegracaoCrm4(guidCrm40);

                if (conta != null)
                {
                    string url = "https://crm2013.intelbras.com.br/main.aspx?etn=account&pagetype=entityrecord&id=%" + conta.ID.Value.ToString() + "%7D";
                    return(url);
                }
                return(String.Empty);
            }
            else
            {
                Domain.Model.Contato contato = new Domain.Servicos.ContatoService(ConfigurationManager.GetSettingValue("OrganizacaoIntelbras"), false).BuscarPorIntegracaoCrm4(guidCrm40);

                if (contato != null)
                {
                    string url = "https://crm2013.intelbras.com.br/main.aspx?etn=contact&pagetype=entityrecord&id=%" + contato.ID.Value.ToString() + "%7D";
                    return(url);
                }
                return(String.Empty);
            }
        }
Ejemplo n.º 2
0
        public void VisitaComercial()
        {
            string organizationName = ConfigurationManager.GetSettingValue("OrganizacaoIntelbras");

            Intelbras.CRM2013.Domain.Model.Conta imagemConta = new Domain.Servicos.ContaService(organizationName, false).BuscaConta(new Guid("D66A88B1-BC0D-E411-9420-00155D013D39"));

            new Intelbras.CRM2013.Domain.Servicos.TarefaService(organizationName, false).GerarAtividadesVisitaComercial(imagemConta);
        }
Ejemplo n.º 3
0
        public void IntegrarConta()
        {
            Domain.Servicos.Integracao integ = new Domain.Servicos.Integracao(OrganizationName, IsOffline);
            String teste = String.Empty;

            Domain.Model.Conta contaTeste = new Domain.Servicos.ContaService(this.OrganizationName, this.IsOffline).BuscaConta(new Guid("14C0A4F9-4A4E-E411-9424-00155D013D3A"));

            //var retorno = new Domain.Servicos.ContaService(this.OrganizationName, this.IsOffline).IntegracaoCrm4(contaTeste.CpfCnpj, contaTeste.CodigoMatriz, contaTeste.ID.Value.ToString());
        }
Ejemplo n.º 4
0
        public void TestesProdutosPortfolio()
        {
            JavaScriptSerializer        jsonConverter = new JavaScriptSerializer();
            Dictionary <string, object> dictResposta  = new Dictionary <string, object>();
            Dictionary <string, object> listResposta  = new Dictionary <string, object>();
            string organizationName = ConfigurationManager.GetSettingValue("OrganizacaoIntelbras");

            Domain.Servicos.ProdutoService prodServ = new Domain.Servicos.ProdutoService(organizationName, false);

            string canalGuid = "9484CD60-D400-E411-9420-00155D013D39";

            try
            {
                Guid canal = Guid.Parse(canalGuid);
                Domain.Model.Conta contaCliente = new Domain.Servicos.ContaService(organizationName, false).BuscaConta(canal);
                if (contaCliente == null)
                {
                    throw new ArgumentException("Canal não encontrado");
                }

                List <Domain.Model.ProdutoPortfolio> prodPortfolio = prodServ.ProdutosPortfolio(contaCliente, null, null);

                if (prodPortfolio.Count <= 0)
                {
                    throw new ArgumentException("Canal não possui produtos cadastrados no portfólio");
                }

                foreach (var item in prodPortfolio)
                {
                    counter++;
                    if (item.Product != null && item.Product.Showroom != null && item.Product.Showroom == true)
                    {
                        if (!string.IsNullOrEmpty(item.Product.Nome) && item.Product.ID != null)
                        {
                            if (!listResposta.ContainsKey(item.Product.ID.ToString()))
                            {
                                listResposta.Add(item.Product.ID.ToString(), item.Product.Nome.ToString());
                            }
                        }
                    }
                }
                dictResposta.Add("Produtos", listResposta);
                dictResposta.Add("Sucesso", true);
            }
            catch (FormatException)
            {
                dictResposta.Add("Sucesso", false);
                dictResposta.Add("Mensagem", "Guid em formato incorreto!Esperado : (xxxxxxxx-xxxx-xxxxx-xxxx-xxxxxxxxxxxx)");
            }
            catch (Exception e)
            {
                dictResposta.Add("Sucesso", false);
                dictResposta.Add("Mensagem", e.Message);
            }
            string retorno = jsonConverter.Serialize(dictResposta);
        }
Ejemplo n.º 5
0
        public void TestePluginCompromissoCanal()
        {
            //Variaveis para criacao da tarefa
            string   assunto       = string.Empty;
            string   tipoTarefa    = "Pendência do Canal";
            DateTime dtConclusao   = DateTime.Now;
            int      tipoParametro = (int)Domain.Enum.TipoParametroGlobal.NumeroDiasParaCumprimento;

            Domain.Model.CompromissosDoCanal compromissoCanalPost = new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, this.IsOffline)
                                                                    .BuscarPorGuid(new Guid("EA8DD4C0-1432-E411-940F-00155D013D31"));

            if (compromissoCanalPost.StatusCompromisso != null && compromissoCanalPost.StatusCompromisso.Name == Domain.Enum.CompromissoCanal.StatusCompromisso.Cumprido)
            {
                //Verifica o tipo de compromisso e muda as variaveis necessarias para criar a tarefa com base no compromisso
                switch (compromissoCanalPost.Compromisso.Name)
                {
                case Domain.Enum.CompromissoCanal.Compromisso.Showroom:
                    assunto     = "Envio de evidências de Showroom";
                    dtConclusao = DateTime.Now.AddMonths(6);
                    break;

                case Domain.Enum.CompromissoCanal.Compromisso.RenovacaoContatos:
                case Domain.Enum.CompromissoCanal.Compromisso.Sellout:
                case Domain.Enum.CompromissoCanal.Compromisso.Documentacao:
                    assunto = compromissoCanalPost.Nome;
                    //Pega a data de conclusao da tarefa nos parametros global com base no nome do tipoParametro + Guid compromisso
                    dtConclusao = DateTime.Now.AddMonths(Convert.ToInt32(new Domain.Servicos.ParametroGlobalService(this.OrganizationName, this.IsOffline)
                                                                         .ObterPor(tipoParametro, null, null, null, null, compromissoCanalPost.Compromisso.Id, null, null).Valor));
                    break;
                }

                Domain.Model.Tarefa tarefa = new Domain.Model.Tarefa(this.OrganizationName, this.IsOffline);

                //Pegamos o canal para verificar o proprietario
                Domain.Model.Conta canal = new Domain.Servicos.ContaService(this.OrganizationName, this.IsOffline)
                                           .BuscaConta(compromissoCanalPost.Canal.Id);

                tarefa.Assunto = assunto;

                Domain.Model.TipoDeAtividade tipoAtividade = new Domain.Servicos.TarefaService(this.OrganizationName, this.IsOffline).BuscarTipoTarefa(tipoTarefa);
                if (tipoAtividade != null)
                {
                    tarefa.TipoDeAtividade = new SDKore.DomainModel.Lookup(tipoAtividade.ID.Value, tipoAtividade.Nome, "");
                }

                tarefa.Conclusao = dtConclusao;

                tarefa.ReferenteA = new SDKore.DomainModel.Lookup(compromissoCanalPost.ID.Value, "itbc_compdocanal");

                tarefa.ID = new Domain.Servicos.TarefaService(this.OrganizationName, this.IsOffline).Persistir(tarefa);
            }
        }
Ejemplo n.º 6
0
        public void TestePluginSolicitacaoBeneficio()
        {
            Domain.Model.SolicitacaoBeneficio SolicitBeneficioPost = new Intelbras.CRM2013.Domain.Servicos.SolicitacaoBeneficioService(this.OrganizationName, this.IsOffline)
                                                                     .ObterPor(new Guid("116274FE-DBEF-E311-91F5-00155D013E44"));
            Domain.Model.SolicitacaoBeneficio SolBeneficioTarget = SolicitBeneficioPost;

            if (SolBeneficioTarget.BeneficioPrograma != null && SolBeneficioTarget.BeneficioPrograma.Name == "Showroom")
            {
                Domain.Model.CompromissosDoCanal compromissoCanal = new Domain.Model.CompromissosDoCanal(this.OrganizationName, this.IsOffline);

                #region Criacao Compromisso do Canal

                //Pegamos o canal para verificar o proprietario
                Domain.Model.Conta canal = new Domain.Servicos.ContaService(this.OrganizationName, this.IsOffline)
                                           .BuscaConta(SolicitBeneficioPost.Canal.Id);

                compromissoCanal.Canal = new SDKore.DomainModel.Lookup(canal.ID.Value, "");

                Domain.Model.CompromissosDoPrograma compromissoPrograma = new Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, this.IsOffline)
                                                                          .BuscarCompromissoDoPrograma("Showroom");

                compromissoCanal.Compromisso = new SDKore.DomainModel.Lookup(compromissoPrograma.ID.Value, "");

                compromissoCanal.Nome = "Ter aderência às regras de utilização de identidade visual/showroom";

                compromissoCanal.ID = new Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, this.IsOffline).Persistir(compromissoCanal);
                if (compromissoCanal.ID.HasValue)
                {
                    Domain.Model.Usuario proprietario = new Domain.Servicos.UsuarioService(this.OrganizationName, this.IsOffline).BuscarProprietario("account", "accountid", canal.Id);
                    if (proprietario != null)
                    {
                        new Domain.Servicos.UtilService(this.OrganizationName, this.IsOffline).MudarProprietarioRegistro("systemuser", proprietario.ID.Value, "itbc_compdocanal", compromissoCanal.ID.Value);
                    }
                }

                #endregion

                Domain.Model.Tarefa tarefa = new Domain.Model.Tarefa(this.OrganizationName, this.IsOffline);

                tarefa.Assunto = "Envio de evidências de Showroom";
                Domain.Model.TipoDeAtividade tipoAtividade = new Domain.Servicos.TarefaService(this.OrganizationName, this.IsOffline).BuscarTipoTarefa("Pendência do Canal");
                if (tipoAtividade != null)
                {
                    tarefa.TipoDeAtividade = new SDKore.DomainModel.Lookup(tipoAtividade.ID.Value, tipoAtividade.Nome, "");
                }
                tarefa.Conclusao = DateTime.Now.AddMonths(6);

                tarefa.ReferenteA = new SDKore.DomainModel.Lookup(compromissoCanal.ID.Value, "itbc_compdocanal");

                tarefa.ID = new Domain.Servicos.TarefaService(this.OrganizationName, this.IsOffline).Persistir(tarefa);
            }
        }
Ejemplo n.º 7
0
        public void Sellout()
        {
            string resposta;

            try
            {
                var classificacao = new Domain.Servicos.RepositoryService(this.OrganizationName, this.IsOffline).Classificacao.ObterPor(Intelbras.CRM2013.Domain.Enum.Conta.Classificacao.Atac_Dist);
                var xml           = new Domain.Servicos.ContaService(this.OrganizationName, this.IsOffline).MontaXmlRevendasFielo();
                resposta = xml.Declaration.ToString() + Environment.NewLine + xml.ToString();
            }
            catch (Exception ex)
            {
                resposta = ex.Message;
            }
        }
Ejemplo n.º 8
0
        public void SolicitacaoShowroom()
        {
            string organizationName = ConfigurationManager.GetSettingValue("OrganizacaoIntelbras");

            Intelbras.CRM2013.Domain.Model.SolicitacaoBeneficio SolicitBeneficioPost = new Domain.Servicos.SolicitacaoBeneficioService(organizationName, false).ObterPor(new Guid("501E2383-194E-E411-93F5-00155D013E70"));


            Domain.Model.CompromissosDoCanal compromissoCanal = new Domain.Model.CompromissosDoCanal(organizationName, false);

            Domain.Model.Conta canal = new Domain.Servicos.ContaService(organizationName, false)
                                       .BuscaConta(SolicitBeneficioPost.Canal.Id);

            Domain.Model.CompromissosDoPrograma compromissoPrograma = new Domain.Servicos.CompromissosDoCanalService(organizationName, false)
                                                                      .BuscarCompromissoDoPrograma((int)Domain.Enum.CompromissoPrograma.Codigo.Showroom);

            if (canal == null)
            {
                throw new ArgumentException("Canal não encontrado.Operação cancelada.");
            }
            if (compromissoPrograma == null)
            {
                throw new ArgumentException("Compromisso do Programa não encontrado.Operação cancelada.");
            }

            Domain.Model.CompromissosDoCanal compCanal = new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(organizationName, false).BuscarCompromissoCanal(compromissoPrograma.ID.Value, SolicitBeneficioPost.UnidadedeNegocio.Id, canal.ID.Value);
            if (compCanal == null)
            {
                throw new ArgumentException("Compromisso do Canal para o compromisso : " + compromissoPrograma.Nome + " não encontrado.Operação cancelada.");
            }

            List <string> lstAtividades = new TarefaService(organizationName, false).ListarAtividadesCheckup(compCanal.Compromisso.Id);

            if (lstAtividades == null || lstAtividades.Count <= 0)
            {
                throw new ArgumentException("Lista de atividades não encontrada para o Compromisso : " + compromissoPrograma.Nome + " .Operação cancelada.");
            }

            string atividade = new TarefaService(organizationName, false).ObterProximaAtividadeCheckup(lstAtividades, null);

            if (!string.IsNullOrEmpty(atividade))
            {
                Domain.Model.Usuario proprietario = new Domain.Servicos.UsuarioService(organizationName, false).BuscarProprietario("itbc_compdocanal", "itbc_compdocanalid", compCanal.Id);
                if (proprietario != null)
                {
                    new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(organizationName, false).GerarAtividadeChecklist(atividade, compCanal, proprietario);
                }
            }
        }
Ejemplo n.º 9
0
        protected override void Execute(IPluginExecutionContext context, IOrganizationServiceFactory serviceFactory, IOrganizationService adminService, IOrganizationService userService)
        {
            var historicoDistribuidorService = new Domain.Servicos.HistoricoDistribuidorService(context.OrganizationName, context.IsExecutingOffline, adminService);

            switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(context.MessageName))
            {
            case Domain.Enum.Plugin.MessageName.Create:

                var entityTargetCreate = context.GetContextEntity();
                var targetCreate       = entityTargetCreate.Parse <Domain.Model.HistoricoDistribuidor>(context.OrganizationName, context.IsExecutingOffline, adminService);
                targetCreate.Status = (int)Domain.Enum.HistoricoDistribuidor.Statecode.Ativo;
                historicoDistribuidorService.ValidaCamposObrigatorios(targetCreate);
                historicoDistribuidorService.ValidaDuplicidade(targetCreate, true);

                var revenda      = new Domain.Servicos.ContaService(context.OrganizationName, context.IsExecutingOffline, userService).BuscaConta(targetCreate.Revenda.Id);
                var distribuidor = new Domain.Servicos.ContaService(context.OrganizationName, context.IsExecutingOffline, userService).BuscaConta(targetCreate.Distribuidor.Id);

                PreencheNome(ref entityTargetCreate, ref revenda, ref distribuidor);

                break;

            case Domain.Enum.Plugin.MessageName.Update:

                var entityTargetMerge  = context.GetContextEntityMerge("imagem");
                var entityTargetUpdate = context.GetContextEntity();
                var targetUpdate       = entityTargetMerge.Parse <Domain.Model.HistoricoDistribuidor>(context.OrganizationName, context.IsExecutingOffline, adminService);
                var entityTarget       = (Entity)context.InputParameters["Target"];
                var contaUp            = entityTarget.Parse <Domain.Model.HistoricoDistribuidor>(context.OrganizationName, context.IsExecutingOffline, adminService);

                entityTargetUpdate.Attributes["itbc_datafim"] = contaUp.DataFim;

                if (targetUpdate.Status.Value == (int)Domain.Enum.HistoricoDistribuidor.Statecode.Ativo)
                {
                    historicoDistribuidorService.ValidaCamposObrigatorios(targetUpdate);
                    historicoDistribuidorService.ValidaDuplicidade(targetUpdate, false);
                }

                var revendaUpdate      = new Domain.Servicos.ContaService(context.OrganizationName, context.IsExecutingOffline, userService).BuscaConta(targetUpdate.Revenda.Id);
                var distribuidorUpdate = new Domain.Servicos.ContaService(context.OrganizationName, context.IsExecutingOffline, userService).BuscaConta(targetUpdate.Distribuidor.Id);

                PreencheNome(ref entityTargetUpdate, ref revendaUpdate, ref distribuidorUpdate);
                break;
            }
        }
Ejemplo n.º 10
0
        private void ValidaIntegraPontua(Entity entityTargetUpdate, ContatoService ContatoService, Contato contatoUpdate, ref IPluginExecutionContext Context, IOrganizationService service)
        {
            ContatoService.ValidarDadosContato(contatoUpdate);

            var contato = ContatoService.BuscaContato(contatoUpdate.Id);

            if (contato != null)
            {
                if (contato.AssociadoA != null)
                {
                    //Pode estar vinculado à contatos
                    var contaAssociada = new Domain.Servicos.ContaService(Context.OrganizationName, Context.IsExecutingOffline, service).BuscaConta(contato.AssociadoA.Id);
                    if (contaAssociada != null)
                    {
                        var IntegraPontua = (new Domain.Servicos.BeneficioDoCanalService(Context.OrganizationName, Context.IsExecutingOffline, service).validaIntegraPontuaFielo(contaAssociada, null));
                        entityTargetUpdate.Attributes["itbc_integraintelbraspontua"] = IntegraPontua;
                    }
                }
                else if (entityTargetUpdate.Attributes.Contains("parentcustomerid"))
                {
                    if (entityTargetUpdate.Attributes["parentcustomerid"] != null)
                    {
                        var contaAssociada = new Domain.Servicos.ContaService(Context.OrganizationName, Context.IsExecutingOffline, service).BuscaConta(((EntityReference)entityTargetUpdate.Attributes["parentcustomerid"]).Id);
                        if (contaAssociada != null)
                        {
                            var IntegraPontua = (new Domain.Servicos.BeneficioDoCanalService(Context.OrganizationName, Context.IsExecutingOffline, service).validaIntegraPontuaFielo(contaAssociada, null));
                            entityTargetUpdate.Attributes["itbc_integraintelbraspontua"] = IntegraPontua;
                        }
                    }
                    else
                    {
                        entityTargetUpdate.Attributes["itbc_integraintelbraspontua"] = false;
                    }
                }
                else
                {
                    entityTargetUpdate.Attributes["itbc_integraintelbraspontua"] = false;
                }
            }
        }
Ejemplo n.º 11
0
        public void RelavidarUsuariosEquipe()
        {
            List <Domain.Model.Conta> listContas = new Domain.Servicos.ContaService("INTELBRASQA", false).ListarTodasContas();

            foreach (Domain.Model.Conta registroConta in listContas)
            {
                //if (registroConta.Proprietario.Type == "team")
                //{
                //    //verifica todos os usuários que estão na equipes.
                //    List<Intelbras.CRM2013.Domain.Model.Equipe> membrosEquipe = new Intelbras.CRM2013.Domain.Servicos.EquipeService("INTELBRASQA", false).listarMembrosEquipe(registroConta.Proprietario.Id);

                //    foreach (Intelbras.CRM2013.Domain.Model.Equipe membroEquipe in membrosEquipe)
                //    {

                //        //verifica se existe algum usuario na Equipe que não existe no registro
                //        Intelbras.CRM2013.Domain.Model.RelacionamentoCanal keyAccounts = new Intelbras.CRM2013.Domain.Servicos.RelacionamentoDoCanal("INTELBRASQA", false).ListarPorSupervisorOuAssistente((Guid)registroConta.ID, membroEquipe.ID.Value);

                //        //if (keyAccounts == null)
                //        //    new Domain.Servicos.RelacionamentoDoCanal("INTELBRASQA", false).RemoverUserEquipe(registroConta.ID.Value, membroEquipe.ID.Value);
                //    }
                //}
            }
        }
Ejemplo n.º 12
0
        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);
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 13
0
        private Intelbras.Message.Helper.MSG0300 DefinirPropriedades(Ocorrencia crm)
        {
            string strNomeProdutos = string.Empty;

            Intelbras.Message.Helper.MSG0300 xml = new Pollux.MSG0300(Domain.Enum.Sistemas.RetornaSistema(Domain.Enum.Sistemas.Sistema.CRM), Helper.Truncate(crm.Numero, 40));

            if (crm.TipoDeOcorrencia == (int)TipoDeOcorrencia.Atendimento_Avulso)
            {
                xml.TipoAtendimento = "FA";
            }
            else
            if (crm.TipoDeOcorrencia == (int)TipoDeOcorrencia.Reclamação_Mau_Atendimento ||
                crm.TipoDeOcorrencia == (int)TipoDeOcorrencia.Reclamação_Procon ||
                crm.TipoDeOcorrencia == (int)TipoDeOcorrencia.Reclamação_Atraso_no_Conserto ||
                crm.TipoDeOcorrencia == (int)TipoDeOcorrencia.ReclamacaoImprocedente ||
                crm.TipoDeOcorrencia == (int)TipoDeOcorrencia.Reclamacao_Falha_No_Processo ||
                crm.TipoDeOcorrencia == (int)TipoDeOcorrencia.Reclamacao_Mau_Funcionamento ||
                crm.TipoDeOcorrencia == (int)TipoDeOcorrencia.Reclamação_Nau_Funcionamento_Com_Solucao)
            {
                xml.TipoAtendimento = "RC";
            }
            else
            if (crm.TipoDeOcorrencia == (int)TipoDeOcorrencia.AnaliseDeDefeito)
            {
                xml.TipoAtendimento = "AD";
            }

            xml.CodigoOcorrencia = crm.ID.Value.ToString();

            if (!string.IsNullOrEmpty(crm.Numero))
            {
                xml.NumeroOcorrencia = crm.Numero;
            }
            if (crm.RazaoStatus.HasValue)
            {
                xml.StatusOcorrencia = crm.RazaoStatus;
            }
            if (crm.PrioridadeValue.HasValue)
            {
                xml.Prioridade = crm.PrioridadeValue;
            }
            if (crm.TipoDeOcorrencia.HasValue)
            {
                xml.TipoOcorrencia          = crm.TipoDeOcorrencia;
                xml.DescricaoTipoOcorrencia = DescricaoTipoOcorrencia(crm.TipoDeOcorrencia.Value);
            }
            if (crm.Assunto != null)
            {
                xml.DefeitoAlegado = crm.Assunto.Nome;
            }
            if (!string.IsNullOrEmpty(xml.AtividadeExecutada))
            {
                crm.AtividadeExecutada = xml.AtividadeExecutada;
            }
            if (crm.DataOrigem.HasValue)
            {
                xml.DataHoraAbertura = crm.DataOrigem.Value.ToLocalTime();
            }

            Usuario proprietario = new Domain.Servicos.UsuarioService(this.Organizacao, this.IsOffline).BuscarProprietario("incident", "incidentid", crm.ID.Value);

            if (proprietario != null)
            {
                xml.NomeProprietario = proprietario.NomeCompleto;
            }

            if (!string.IsNullOrEmpty(crm.ProdutosDoCliente))
            {
                xml.NumeroSerieProduto = crm.ProdutosDoCliente;
            }

            if (crm.Produto != null)
            {
                Product objProduto = new Intelbras.CRM2013.Domain.Servicos.ProdutoService(this.Organizacao, this.IsOffline).ObterPor(crm.Produto.Id);
                if (objProduto != null)
                {
                    xml.CodigoProduto = objProduto.Codigo;
                    strNomeProdutos   = objProduto.Nome;
                }
            }

            #region Montagem do texto padrão do campo observação
            xml.Observacao = crm.Nome + "\n" +
                             "DEFEITO ALEGADO: " + (crm.Assunto.Nome != null ? crm.Assunto.Nome : "--");
            //"PRODUTO: " + (xml.CodigoProduto != null ? xml.CodigoProduto + " - " + strNomeProdutos : "--") + "\n" +
            //"NÚMERO DE SÉRIE: " + (xml.NumeroSerieProduto != null ? xml.NumeroSerieProduto : "--") + "\n" +
            //"DATA FABRICAÇÃO: " + (crm.DataFabricacaoProduto != null ? crm.DataFabricacaoProduto.Value.ToLocalTime().ToString("dd/MM/yyyy") : "--") + "\n" +
            //"DATA VENDA: " + (crm.DataCompraIntelbras != null ? crm.DataCompraIntelbras.Value.ToLocalTime().ToString("dd/MM/yyyy") : "--") + "\n" +
            //"PEDIDO VENDA: " + (crm.NumeroPedidoVenda != null ? crm.NumeroPedidoVenda : "-- ") + "     NF VENDA: " + (crm.NumeroNotaFiscal != null ? crm.NumeroNotaFiscal : "--") + "\n\n";
            #endregion

            //if (!string.IsNullOrEmpty(crm.Anexo))
            //{
            //    xml.Observacao += crm.Anexo;
            //}

            xml.NomeUsuario = crm.CriadoPor.Name;

            xml.CNPJAutorizada = crm.Autorizada != null?crm.Autorizada.CpfCnpj.Replace("-", "").Replace(".", "").Replace("/", "").Trim() : null;

            xml.NomeAutorizada = crm.Autorizada != null?crm.Autorizada.Nome.Trim() : null;

            #region Dados do Cliente da Ocorrência
            Model.Contato                     contato           = new Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(crm.ClienteId.Id);
            Model.Conta                       conta             = new Domain.Servicos.ContaService(this.Organizacao, this.IsOffline).BuscaConta(crm.ClienteId.Id);
            Pollux.Entities.Endereco          enderecoContato   = new Pollux.Entities.Endereco();
            Pollux.Entities.ClienteOcorrencia clienteOcorrencia = new Pollux.Entities.ClienteOcorrencia();

            clienteOcorrencia.CodigoContato = contato != null?contato.Id.ToString() : conta.Id.ToString();

            if (conta != null)
            {
                clienteOcorrencia.CodigoCliente = Convert.ToInt32(conta.CodigoMatriz);

                if (!string.IsNullOrEmpty(conta.CpfCnpj))
                {
                    string cnpjCpfObj = conta.CpfCnpj.Replace("-", "").Replace(".", "").Replace("/", "").Trim();

                    if (!String.IsNullOrEmpty(cnpjCpfObj))
                    {
                        if (cnpjCpfObj.Length <= 11)
                        {
                            clienteOcorrencia.CPF = cnpjCpfObj;
                        }
                        else
                        {
                            clienteOcorrencia.CNPJ = cnpjCpfObj;
                        }
                    }
                }

                if (!String.IsNullOrEmpty(conta.Endereco1CEP))
                {
                    enderecoContato.CEP = conta.Endereco1CEP.Replace("-", "").PadLeft(8, '0');
                }

                if (conta.Endereco1Municipioid != null)
                {
                    Municipio municipio = new Servicos.MunicipioServices(this.Organizacao, this.IsOffline).ObterPor(conta.Endereco1Municipioid.Id);
                    enderecoContato.Cidade     = municipio.ChaveIntegracao;
                    enderecoContato.NomeCidade = municipio.Nome;
                }

                if (conta.Endereco1Estadoid != null)
                {
                    Estado estado = new Servicos.EstadoServices(this.Organizacao, this.IsOffline).BuscaEstadoPorId(conta.Endereco1Estadoid.Id);
                    if (estado != null)
                    {
                        enderecoContato.Estado = estado.ChaveIntegracao;
                        enderecoContato.UF     = estado.SiglaUF;
                    }
                    if (conta.Endereco1Pais == null)
                    {
                        conta.Endereco1Pais = estado.Pais;
                    }
                }

                if (conta.Endereco1Pais != null)
                {
                    Pais pais = new Servicos.PaisServices(this.Organizacao, this.IsOffline).BuscaPais(conta.Endereco1Pais.Id);
                    enderecoContato.NomePais = pais.Nome;
                    enderecoContato.Pais     = pais.ChaveIntegracao;;
                }
                if (!String.IsNullOrEmpty(conta.Endereco1CaixaPostal))
                {
                    enderecoContato.CaixaPostal = conta.Endereco1CaixaPostal;
                }
            }

            if (contato != null)
            {
                if (contato.AssociadoA != null)
                {
                    conta = new Domain.Servicos.ContaService(this.Organizacao, this.IsOffline).BuscaConta(contato.AssociadoA.Id);
                    if (conta != null)
                    {
                        clienteOcorrencia.CodigoCliente = Convert.ToInt32(conta.CodigoMatriz);
                    }
                }
                if (contato.Aniversario.HasValue)
                {
                    clienteOcorrencia.DataNascimento = contato.Aniversario.Value.ToLocalTime();
                }
                else
                {
                    clienteOcorrencia.DataNascimento = null;
                }

                if (!string.IsNullOrEmpty(contato.CpfCnpj))
                {
                    string cnpjCpfObj = contato.CpfCnpj.Replace("-", "").Replace(".", "").Replace("/", "").Trim();

                    if (!String.IsNullOrEmpty(cnpjCpfObj))
                    {
                        if (cnpjCpfObj.Length <= 11)
                        {
                            clienteOcorrencia.CPF = cnpjCpfObj;
                        }
                        else
                        {
                            clienteOcorrencia.CNPJ = cnpjCpfObj;
                        }
                    }
                }

                if (!String.IsNullOrEmpty(contato.Endereco1CEP))
                {
                    enderecoContato.CEP = contato.Endereco1CEP.Replace("-", "").PadLeft(8, '0');
                }

                if (contato.Endereco1Municipioid != null)
                {
                    Municipio municipio = new Servicos.MunicipioServices(this.Organizacao, this.IsOffline).ObterPor(contato.Endereco1Municipioid.Id);
                    enderecoContato.Cidade     = municipio.ChaveIntegracao;
                    enderecoContato.NomeCidade = municipio.Nome;
                }

                if (contato.Endereco1Estadoid != null)
                {
                    Estado estado = new Servicos.EstadoServices(this.Organizacao, this.IsOffline).BuscaEstadoPorId(contato.Endereco1Estadoid.Id);
                    if (estado != null)
                    {
                        enderecoContato.Estado = estado.ChaveIntegracao;
                        enderecoContato.UF     = estado.SiglaUF;
                    }
                    if (contato.Endereco1Pais == null)
                    {
                        contato.Endereco1Pais = estado.Pais;
                    }
                }

                if (contato.Endereco1Pais != null)
                {
                    Pais pais = new Servicos.PaisServices(this.Organizacao, this.IsOffline).BuscaPais(contato.Endereco1Pais.Id);
                    enderecoContato.NomePais = pais.Nome;
                    enderecoContato.Pais     = pais.ChaveIntegracao;;
                }

                if (!String.IsNullOrEmpty(contato.Endereco1CaixaPostal))
                {
                    enderecoContato.CaixaPostal = contato.Endereco1CaixaPostal;
                }
            }

            clienteOcorrencia.NomeContato    = contato != null ? contato.PrimeiroNome : conta.Nome;
            clienteOcorrencia.SegundoNome    = contato != null ? contato.SegundoNome : null;
            clienteOcorrencia.Sobrenome      = contato != null ? contato.Sobrenome : null;
            clienteOcorrencia.Email          = contato != null ? contato.Email1 : conta.Email;
            clienteOcorrencia.Telefone       = contato != null ? contato.TelefoneComercial : conta.Telefone;
            clienteOcorrencia.Ramal          = contato != null ? contato.Ramal1 : conta.RamalTelefonePrincipal;
            clienteOcorrencia.Celular        = contato != null ? contato.TelefoneCelular : conta.Fax;
            clienteOcorrencia.Fax            = contato != null ? contato.Fax : null;
            clienteOcorrencia.RamalFax       = contato != null ? contato.RamalFax : null;
            clienteOcorrencia.Sexo           = contato != null ? contato.Sexo : null;
            clienteOcorrencia.RG             = contato != null ? contato.DocIdentidade : null;
            clienteOcorrencia.OrgaoExpeditor = contato != null ? contato.EmissorDocIdentidade : null;
            #endregion

            #region Endereco
            enderecoContato.Bairro       = contato != null ? contato.Endereco1Bairro : conta.Endereco1Bairro;
            enderecoContato.Numero       = contato != null ? contato.Endereco1Numero : conta.Endereco1Numero;
            enderecoContato.Complemento  = contato != null ? contato.Endereco1Complemento : conta.Endereco1Complemento;
            enderecoContato.Logradouro   = contato != null ? contato.Endereco1Rua : conta.Endereco1Rua;
            enderecoContato.NomeEndereco = contato != null ? contato.Endereco1Nome : null;
            enderecoContato.TipoEndereco = contato != null ? contato.Endereco1TipoEndereco : conta.TipoEndereco;

            if (enderecoContato != null)
            {
                clienteOcorrencia.EnderecoPrincipal = enderecoContato;
            }

            #endregion

            #region Lista de anexos da ocorrência
            var urlServico = SDKore.Configuration.ConfigurationManager.GetSettingValue("UrlSiteCRM");

            var strTextosAnotacoes = "";

            if (crm.Anexos != null && crm.Anexos.Count > 0)
            {
                List <Pollux.Entities.AnexoOcorrencia> lstAnexosOcorrencia = new List <Pollux.Entities.AnexoOcorrencia>();

                foreach (Anotacao crmItem in crm.Anexos)
                {
                    if (crmItem.TemArquivo)
                    {
                        Pollux.Entities.AnexoOcorrencia objPollux = new Pollux.Entities.AnexoOcorrencia();
                        objPollux.NomeArquivo = crmItem.NomeArquivos;
                        if (SDKore.Configuration.ConfigurationManager.GetSettingValue("Ambiente") == "Desenvolvimento")
                        {
                            objPollux.URL = urlServico + "/Activities/Attachment/download.aspx?AttachmentType=5&IsNotesTabAttachment=1&AttachmentId=" + crmItem.ID + "&CRMWRPCToken=N%2fF0lhjMEemA3ABQVqpIdBJpbKVyWAZQV4rPHHxT6tlRmtDGA0vqSwwW7tVLsMKh&CRMWRPCTokenTimeStamp=636845305936642215";
                        }
                        else
                        {
                            objPollux.URL = urlServico + "/Activities/Attachment/download.aspx?AttachmentType=5&IsNotesTabAttachment=1&AttachmentId=" + crmItem.ID;
                        }

                        lstAnexosOcorrencia.Add(objPollux);
                    }

                    strTextosAnotacoes += System.Environment.NewLine + "----------------------------------------------------------------------" + System.Environment.NewLine
                                          + crmItem.CriadoPor.Name.ToString() + " em " + crmItem.CriadoEm.Value.ToLocalTime() + ". " + (string.IsNullOrEmpty(crmItem.Assunto) ? "ASSUNTO: " + crmItem.Assunto : "") + System.Environment.NewLine
                                          + crmItem.Texto;
                }
                xml.ListaAnexosOcorrencia = lstAnexosOcorrencia;
            }
            #endregion

            if (!string.IsNullOrEmpty(strTextosAnotacoes))
            {
                xml.Observacao += strTextosAnotacoes;
            }
            else if (!string.IsNullOrEmpty(crm.Anexo))
            {
                xml.Observacao += System.Environment.NewLine + crm.Anexo;
            }

            xml.ClienteOcorrencia = clienteOcorrencia;

            return(xml);
        }
Ejemplo n.º 14
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);
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 15
0
        public void ImportarPlanilha()
        {
            _olecon = new OleDbConnection(_StringConexao);
            _olecon.Open();

            _oleCmd             = new OleDbCommand();
            _oleCmd.Connection  = _olecon;
            _oleCmd.CommandType = CommandType.Text;

            try
            {
                _oleCmd.CommandText = "SELECT * FROM [Plan1$] ";
                OleDbDataReader reader = _oleCmd.ExecuteReader();

                while (reader.Read())
                {
                    string codigoEmitente = reader.GetValue(0).ToString();

                    Domain.Model.Conta conta = new Domain.Servicos.ContaService(this.OrganizationName, false).BuscarPorCodigoEmitente(codigoEmitente);

                    string unidadeNeg = reader.GetString(1).ToString();
                    //if (!unidadeNeg.ToUpper().Contains("ISEC"))
                    //    continue;

                    Domain.Model.UnidadeNegocio unidadeNegocio = new Domain.Servicos.UnidadeNegocioService(this.OrganizationName, false).BuscaUnidadeNegocioPorNome(unidadeNeg);//"ISEC/MG");

                    List <Domain.Model.CompromissosDoCanal> lstCompromissosDoCanal = new List <Domain.Model.CompromissosDoCanal>();

                    if (conta != null && unidadeNegocio != null)
                    {
                        //lstBeneficioCanal = new Domain.Servicos.BeneficioDoCanalService(this.OrganizationName, false).ListarPorContaUnidadeNegocio(conta.ID.Value, unidadeNegocio.ID.Value);
                        lstCompromissosDoCanal = new Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, false).ListaCompromissoCanalPorContaUnidade(conta.ID.Value, unidadeNegocio.ID.Value);

                        //if (lstCompromissosDoCanal.Count == 0 && unidadeNeg.Contains("ISEC"))
                        //{
                        //    unidadeNegocio = new Domain.Servicos.UnidadeNegocioService(this.OrganizationName, false).BuscaUnidadeNegocioPorNome("ISEC/MG");
                        //    if(unidadeNegocio != null)
                        //    lstCompromissosDoCanal = new Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, false).ListaCompromissoCanalPorContaUnidade(conta.ID.Value, unidadeNegocio.ID.Value);
                        //}
                    }

                    string linhaDeCorte = reader.GetString(2).ToString().ToUpper();
                    string meta         = reader.GetString(3).ToString().ToUpper();

                    if (lstCompromissosDoCanal != null && lstCompromissosDoCanal.Count > 0)
                    {
                        foreach (var compromissoCanal in lstCompromissosDoCanal)
                        {
                            try
                            {
                                if (meta.Equals("SIM"))
                                {
                                    compromissoCanal.StatusCompromisso = new SDKore.DomainModel.Lookup(new Guid("31FFD7FA-74ED-E311-9407-00155D013D38"), "");// Cumprido
                                }
                                else
                                {
                                    compromissoCanal.StatusCompromisso = new SDKore.DomainModel.Lookup(new Guid("41725811-75ED-E311-9407-00155D013D38"), ""); // NaoCumprido
                                }
                                new Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, false).Atualizar(compromissoCanal);

                                //logProcessamento.WriteLine("Conta : " + conta.ID.Value.ToString() + "/" + conta.RazaoSocial +
                                //                           " - Compromisso : " + compromissoCanal.ID.Value.ToString() + "/" + compromissoCanal.Nome +
                                //                           "Meta :" + meta);
                            }
                            catch (Exception ex)
                            {
                                logProcessamento.WriteLine("Conta : " + conta.ID.Value.ToString() + " / " + conta.RazaoSocial);
                                logProcessamento.WriteLine("Compromisso : " + compromissoCanal.ID.Value.ToString() + " / " + compromissoCanal.Nome);
                                logProcessamento.WriteLine("Meta :" + meta + " - Erro : " + ex.Message);
                                logProcessamento.WriteLine();
                                logProcessamento.WriteLine("----------------------------------------------------------------------------");
                                logProcessamento.WriteLine();
                            }


                            //if (!beneficioCanal.UnidadeDeNegocio.Name.ToUpper().Equals("ISEC/MG"))
                            //    continue;
                            //if (meta.Equals("SIM"))
                            //beneficioCanal.StatusBeneficio = new SDKore.DomainModel.Lookup(new Guid("35FC4A26-75ED-E311-9407-00155D013D38"), ""); // Ativo
                            //else
                            //beneficioCanal.StatusBeneficio = new SDKore.DomainModel.Lookup(new Guid("E1654A30-75ED-E311-9407-00155D013D38"), ""); // Suspenso

                            //new Domain.Servicos.BeneficioDoCanalService(this.OrganizationName, false).Salvar(beneficioCanal);
                        }
                    }
                }

                logProcessamento.Close();
                logProcessamento.Dispose();

                reader.Close();
            }
            catch { }
        }