示例#1
0
        public void testeMonitoramento()
        {
            string organizationName = ConfigurationManager.GetSettingValue("OrganizacaoIntelbras");

            Intelbras.CRM2013.Domain.Model.Tarefa      imagemTarefa = new Domain.Servicos.TarefaService(organizationName, false).BuscaTarefa(new Guid("463D2AC8-AF48-E411-93F5-00155D013E70"));
            Intelbras.CRM2013.Domain.Model.Tarefa      mTarefa      = new Domain.Model.Tarefa(organizationName, false);
            Domain.Servicos.CompromissosDoCanalService ServiceCompromissosDoCanal = new Domain.Servicos.CompromissosDoCanalService(organizationName, false);
            Domain.Servicos.StatusCompromissoService   StatusCompromissoService   = new Domain.Servicos.StatusCompromissoService(organizationName, false);
            //mTarefa = imagemTarefa;
            mTarefa.Resultado = null;

            if (imagemTarefa.TipoDeAtividade.Name.Contains("Checklist"))
            {
                if (mTarefa.Resultado.HasValue)
                {
                    switch (mTarefa.Resultado)
                    {
                    case (int)Domain.Enum.Tarefa.Resultado.Reprovada:
                        Domain.Model.CompromissosDoCanal mCompromissoCanal = ServiceCompromissosDoCanal.BuscarPorGuid(mTarefa.ReferenteA.Id);
                        if (mCompromissoCanal != null)
                        {
                            Domain.Model.StatusCompromissos statusComp = StatusCompromissoService.ObterPorNome("Não cumprido");
                            if (statusComp != null)
                            {
                                //Só atualiza o status do compromisso se ele for diferente do status que será mudado
                                if (mCompromissoCanal.StatusCompromisso.Id != statusComp.ID.Value)
                                {
                                    mCompromissoCanal.StatusCompromisso.Id = statusComp.ID.Value;
                                    ServiceCompromissosDoCanal.Atualizar(mCompromissoCanal);
                                }
                            }
                        }
                        break;

                    case (int)Domain.Enum.Tarefa.Resultado.Aprovada:
                        Domain.Model.CompromissosDoCanal mCompromissoCanalAprovado = ServiceCompromissosDoCanal.BuscarPorGuid(mTarefa.ReferenteA.Id);
                        if (mCompromissoCanalAprovado != null)
                        {
                            Domain.Model.StatusCompromissos statusComp = StatusCompromissoService.ObterPorNome("Cumprido");
                            if (statusComp != null)
                            {
                                //Só atualiza o status do compromisso se ele for diferente do status que será mudado
                                if (mCompromissoCanalAprovado.StatusCompromisso.Id != statusComp.ID.Value)
                                {
                                    mCompromissoCanalAprovado.StatusCompromisso.Id = statusComp.ID.Value;
                                    ServiceCompromissosDoCanal.Atualizar(mCompromissoCanalAprovado);
                                }
                            }
                        }
                        break;
                    }
                }
            }
        }
示例#2
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);
            }
        }
        public void DescumprirCompromissoCanal()
        {
            int contador = 0;
            List <Domain.Model.CompromissosDoCanal> lstCompromissosDoCanal = new Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, false).ListaCompromissoCanalPlanilha();

            foreach (var compromissoCanal in lstCompromissosDoCanal)
            {
                compromissoCanal.StatusCompromisso = new SDKore.DomainModel.Lookup(new Guid("41725811-75ED-E311-9407-00155D013D38"), ""); // NaoCumprido
                compromissoCanal.Validade          = new DateTime(2014, 12, 31);
                //Somente descomentar quando for rodar
                new Domain.Servicos.CompromissosDoCanalService(this.OrganizationName, false).Atualizar(compromissoCanal);
                contador++;
            }
        }
示例#4
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);
                }
            }
        }
        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 { }
        }