예제 #1
0
        public string Enviar(ArquivoDeSellOut objModel, ref string nomeAbrevRet, ref string codigoClienteRet)
        {
            string retMsg = String.Empty;

            Intelbras.Message.Helper.MSG0162 mensagem = this.DefinirPropriedades(objModel);

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);

            if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out retMsg))
            {
                Intelbras.Message.Helper.MSG0162R1 retorno = CarregarMensagem <Pollux.MSG0162R1>(retMsg);
                if (retorno.Resultado.Sucesso)
                {
                    //if (!String.IsNullOrEmpty(retorno.NomeAbreviado))
                    //    nomeAbrevRet = retorno.NomeAbreviado;
                    //if (retorno.CodigoCliente.HasValue)
                    //    codigoClienteRet = retorno.CodigoCliente.Value.ToString();
                }
                else
                {
                    throw new Exception(string.Concat(retorno.Resultado.Mensagem));
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(retMsg);
                throw new Exception(string.Concat(erro001.GenerateMessage(false)));
            }
            return(retMsg);
        }
예제 #2
0
        public string Enviar(Contato objModel)
        {
            //Antes de executar o envio, verifica se o contato não é do tipoRelação "KeyAccount"
            //if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Contato.TipoRelacao), objModel.TipoRelacao))
            //{
            string resposta;

            Intelbras.Message.Helper.MSG0058 mensagem = this.DefinirPropriedades(objModel);

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out resposta))
            {
                Intelbras.Message.Helper.MSG0058R1 retorno = CarregarMensagem <Pollux.MSG0058R1>(resposta);
                if (!retorno.Resultado.Sucesso)
                {
                    throw new ArgumentException("(CRM) " + string.Concat(retorno.Resultado.Mensagem));
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(resposta);
                throw new ArgumentException("(CRM) " + string.Concat(erro001.GenerateMessage(false)));
            }
            return(resposta);
        }
예제 #3
0
        public string Enviar(VerbaVMC objModel)
        {
            string resposta;

            Intelbras.Message.Helper.MSG0185 mensagem = DefinirPropriedades(objModel);

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            try
            {
                if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out resposta))
                {
                    Intelbras.Message.Helper.MSG0185R1 retorno = CarregarMensagem <Pollux.MSG0185R1>(resposta);
                    if (!retorno.Resultado.Sucesso)
                    {
                        return(resposta);
                    }
                }
                else
                {
                    Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(resposta);
                    throw new Exception(erro001.GenerateMessage(false));
                }
                return(resposta);
            }
            catch (Exception ex)
            {
                return("erro");
            }
        }
예제 #4
0
        public bool ValidarRepresentante(Int32 codigoRepresentante, String tipoObjetoCliente, ref String resposta)
        {
            Pollux.MSG0161 msg0161 = new Pollux.MSG0161(Domain.Enum.Sistemas.RetornaSistema(Domain.Enum.Sistemas.Sistema.CRM), tipoObjetoCliente);
            msg0161.CodigoRepresentante = codigoRepresentante;

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            if (integracao.EnviarMensagemBarramento(msg0161.GenerateMessage(true), "1", "1", out resposta))
            {
                Intelbras.Message.Helper.MSG0161R1 retorno = CarregarMensagem <Pollux.MSG0161R1>(resposta);
                if (retorno.RepresentanteValido.Equals(1))
                {
                    resposta = retorno.Resultado.Mensagem;
                    return(true);
                }
                else
                {
                    resposta = retorno.Resultado.Mensagem;
                    return(false);
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(resposta);
                throw new Exception(erro001.GenerateMessage(false));
            }
        }
예제 #5
0
        public string Enviar(Ocorrencia objOcorrencia)
        {
            string retMsg = String.Empty;

            Intelbras.Message.Helper.MSG0300 mensagem = this.DefinirPropriedades(objOcorrencia);

            var ambiente = (SDKore.Configuration.ConfigurationManager.GetSettingValue("Ambiente") == "Desenvolvimento" ? "- Desenvolvimento" : SDKore.Configuration.ConfigurationManager.GetSettingValue("Ambiente") == "Homologacao" ? "- Homologação" : "");

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            try
            {
                if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out retMsg))
                {
                    Intelbras.Message.Helper.MSG0300R1 retorno = CarregarMensagem <Pollux.MSG0300R1>(retMsg);
                    if (!retorno.Resultado.Sucesso)
                    {
                        string textoEmail = @"<style type=""text/css""> pre.mscrmpretag {  font-family: Tahoma, Verdana, Arial; style=""word-wrap: break-word;"" }</style>
                    <FONT size=2 face=Calibri>Prezado(a)s, <br /><br />
                    Não foi possivel integrar a ocorrência " + objOcorrencia.Numero + "." +
                                            "<br /><br />A mensagem de erro retornado na integração com o Assist foi: " + retorno.Resultado.Mensagem + "." +
                                            "<br /><br />Favor, resolver esta falha de integração, pois, pode existir SLA sobre está ocorrência." +
                                            "<br /><br />Verifique no log do barramento para mais detalhes.</FONT>";


                        EnviarEmail("Falha de integração de ocorrências ASTEC " + ambiente, textoEmail, "*****@*****.**");
                        throw new ArgumentException("(CRM) " + string.Concat(retorno.Resultado.Mensagem));
                    }
                }
                else
                {
                    Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(retMsg);

                    string textoEmail = @"<style type=""text/css""> pre.mscrmpretag {  font-family: Tahoma, Verdana, Arial; style=""word-wrap: break-word;"" }</style>
                    <FONT size=2 face=Calibri>Prezado(a)s, <br /><br />
                    Não foi possivel integrar a ocorrência " + objOcorrencia.Numero + "." +
                                        "<br /><br />O erro apresentado na tentativa de integração com o Assist foi: " + retMsg + "." +
                                        "<br /><br />Favor, resolver esta falha de integração, pois, pode existir SLA sobre está ocorrência." +
                                        "<br /><br />Verifique no log do barramento para mais detalhes.</FONT>";
                    EnviarEmail("Falha de integração de ocorrências ASTEC " + ambiente, textoEmail, "*****@*****.**");

                    throw new ArgumentException("(CRM) " + string.Concat("Erro de Integração \n", erro001.GenerateMessage(false)));
                }
            }
            catch (Exception ex)
            {
                string textoEmail = @"<style type=""text/css""> pre.mscrmpretag {  font-family: Tahoma, Verdana, Arial; style=""word-wrap: break-word;"" }</style>
                    <FONT size=2 face=Calibri>Prezado(a)s, <br /><br />
                    Não foi possivel integrar a ocorrência " + objOcorrencia.Numero + "." +
                                    "<br /><br />A exceção gerada foi: " + ex.Message + "." +
                                    "<br /><br />Favor, resolver esta falha de integração, pois, pode existir SLA sobre está ocorrência." +
                                    "<br /><br />Verifique no Event Viewer do CRM para mais detalhes.</FONT>";
                EnviarEmail("Falha de integração de ocorrências ASTEC " + ambiente, textoEmail, "*****@*****.**");

                throw new ArgumentException("(CRM) (XSD) " + ex.Message, ex);
            }
            return(retMsg);
        }
예제 #6
0
        public string Enviar(SolicitacaoBeneficio objModel)
        {
            string resposta;

            Pollux.MSG0155 mensagem = DefinirPropriedadesPlugin(objModel);

            Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);

            if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out resposta))
            {
                Pollux.MSG0155R1 retorno = CarregarMensagem <Pollux.MSG0155R1>(resposta);

                if (!retorno.Resultado.Sucesso)
                {
                    throw new ArgumentException("(CRM) " + retorno.Resultado.Mensagem);
                }
                else
                {
                    if (retorno.SaldoBeneficioCanal != null)
                    {
                        BeneficioDoCanal beneficioCanal = new Servicos.BeneficioDoCanalService(this.Organizacao, this.IsOffline).ObterPor(new Guid(retorno.SaldoBeneficioCanal.CodigoBeneficioCanal));

                        beneficioCanal.VerbaPeriodoAtual                  = retorno.SaldoBeneficioCanal.VerbaCalculada.Value;
                        beneficioCanal.VerbaPeriodosAnteriores            = retorno.SaldoBeneficioCanal.VerbaPeriodoAnterior.Value;
                        beneficioCanal.VerbaBrutaPeriodoAtual             = retorno.SaldoBeneficioCanal.VerbaTotal.Value;
                        beneficioCanal.TotalSolicitacoesAprovadasNaoPagas = retorno.SaldoBeneficioCanal.VerbaEmpenhada.Value;
                        beneficioCanal.VerbaReembolsada = retorno.SaldoBeneficioCanal.VerbaReembolsada.Value;
                        beneficioCanal.VerbaCancelada   = retorno.SaldoBeneficioCanal.VerbaCancelada.Value;
                        beneficioCanal.VerbaAjustada    = retorno.SaldoBeneficioCanal.VerbaAjustada.Value;
                        beneficioCanal.VerbaDisponivel  = retorno.SaldoBeneficioCanal.VerbaDisponivel.Value;

                        new Servicos.BeneficioDoCanalService(this.Organizacao, this.IsOffline).AlterarBeneficioCanal(beneficioCanal);

                        if (objModel.TipoPriceProtection.HasValue && objModel.TipoPriceProtection.Value == (int)Enum.SolicitacaoBeneficio.TipoPriceProtection.Autorizacao)
                        {
                            if (objModel.StatusSolicitacao.HasValue && objModel.StatusSolicitacao.Value == (int)Enum.SolicitacaoBeneficio.StatusSolicitacaoBeneficio.PagamentoPendente)
                            {
                                objModel.StatusSolicitacao = (int?)Enum.SolicitacaoBeneficio.StatusSolicitacaoBeneficio.PagamentoEfetuado;
                            }
                        }
                    }
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(resposta);
                throw new ArgumentException("(CRM) " + erro001.GenerateMessage(false));
            }
            return(resposta);
        }
예제 #7
0
        public string Enviar(Regiao objModel)
        {
            string resposta;

            Intelbras.Message.Helper.MSG0134 mensagem = DefinirPropriedades(objModel);

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out resposta))
            {
                Intelbras.Message.Helper.MSG0134R1 retorno = CarregarMensagem <Pollux.MSG0134R1>(resposta);
                return(retorno.Resultado.Mensagem);
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 retorno = CarregarMensagem <Pollux.ERR0001>(resposta);
                return(retorno.DescricaoErro);
            }
        }
예제 #8
0
        public string Enviar(Ocorrencia objModel)
        {
            string retMsg  = String.Empty;
            string message = string.Empty;

            if (objModel.ProdutosDoCliente == null)
            {
                throw new ArgumentException("(CRM) Número de série não informado.");
            }

            string numeroSerie = objModel.ProdutosDoCliente;

            Intelbras.Message.Helper.MSG0315 mensagem   = this.DefinirPropriedades(numeroSerie);
            Domain.Servicos.Integracao       integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);

            try
            {
                message = mensagem.GenerateMessage(true);
            }
            catch (Exception ex)
            {
                throw new ArgumentException("(CRM) (XSD) " + ex.Message, ex);
            }

            if (integracao.EnviarMensagemBarramento(message, "1", "1", out retMsg))
            {
                Intelbras.Message.Helper.MSG0315R1 retorno = CarregarMensagem <Pollux.MSG0315R1>(retMsg);
                if (retorno.Resultado.Sucesso)
                {
                    return(retMsg);
                }
                else
                {
                    throw new ArgumentException("(CRM) " + string.Concat(retorno.Resultado.Mensagem));
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(retMsg);
                throw new ArgumentException("(CRM) " + string.Concat(erro001.GenerateMessage(false)));
            }
            return(retMsg);
        }
예제 #9
0
        public string Enviar(CNAE objModel)
        {
            var    mensagem   = DefinirPropriedades(objModel);
            var    integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            string retMsg     = string.Empty;

            if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out retMsg))
            {
                var retorno = CarregarMensagem <Pollux.MSG0182R1>(retMsg);
                if (!retorno.Resultado.Sucesso)
                {
                    throw new ArgumentException("(CRM) " + retorno.Resultado.Mensagem);
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(retMsg);
                throw new ArgumentException(string.Concat("(CRM) Erro de Integração \n", erro001.GenerateMessage(false)));
            }
            return(retMsg);
        }
예제 #10
0
파일: MSG0119.cs 프로젝트: ertprs/crm_fonte
        public string Enviar(AcessoExtranetContato objModel)
        {
            string resposta;

            Intelbras.Message.Helper.MSG0119 mensagem = DefinirPropriedades(objModel);

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out resposta))
            {
                Intelbras.Message.Helper.MSG0119R1 retorno = CarregarMensagem <Pollux.MSG0119R1>(resposta);
                if (!retorno.Resultado.Sucesso)
                {
                    throw new ArgumentException("(CRM) " + retorno.Resultado.Mensagem);
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(resposta);
                throw new ArgumentException("(CRM) " + erro001.GenerateMessage(false));
            }
            return(resposta);
        }
예제 #11
0
파일: MSG0087.cs 프로젝트: ertprs/crm_fonte
        public string Enviar(ListaPrecoPSDPPPSCF objModel)
        {
            string retMsg = String.Empty;

            Intelbras.Message.Helper.MSG0087 mensagem = this.DefinirPropriedadesPlugin(objModel);

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out retMsg))
            {
                Intelbras.Message.Helper.MSG0087R1 retorno = CarregarMensagem <Pollux.MSG0087R1>(retMsg);
                if (!retorno.Resultado.Sucesso)
                {
                    throw new ArgumentException("(CRM) " + string.Concat(retorno.Resultado.Mensagem));
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(retMsg);
                throw new ArgumentException(string.Concat("(CRM) Erro de Integração \n", erro001.GenerateMessage(false)));
            }
            return(retMsg);
        }
예제 #12
0
파일: MSG0139.cs 프로젝트: ertprs/crm_fonte
        public string Enviar(ProdutoEstabelecimento objModel)
        {
            string retMsg = String.Empty;

            Intelbras.Message.Helper.MSG0139 mensagem = this.DefinirPropriedades(objModel);

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out retMsg))
            {
                Intelbras.Message.Helper.MSG0139R1 retorno = CarregarMensagem <Pollux.MSG0139R1>(retMsg);
                if (!retorno.Resultado.Sucesso)
                {
                    throw new Exception(retorno.Resultado.Mensagem);
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(retMsg);
                throw new Exception(erro001.GenerateMessage(false));
            }
            return(retMsg);
        }
예제 #13
0
파일: MSG0138.cs 프로젝트: ertprs/crm_fonte
        public List <ValorProdutoICMSViewModel> Enviar(List <Product> objModel, List <ProdutosdaSolicitacao> prodSolicLst, List <PrecoProduto> precoProdutoLst, SolicitacaoBeneficio solicBenef)
        {
            List <ValorProdutoICMSViewModel> valProdICMSLst = null;
            string retMsg = String.Empty;

            Intelbras.Message.Helper.MSG0138 mensagem = this.DefinirPropriedades(objModel, prodSolicLst, precoProdutoLst, solicBenef);

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out retMsg))
            {
                Intelbras.Message.Helper.MSG0138R1 retorno = CarregarMensagem <Pollux.MSG0138R1>(retMsg);
                if (!retorno.Resultado.Sucesso)
                {
                    throw new Exception(retorno.Resultado.Mensagem);
                }
                else
                {
                    valProdICMSLst = new List <ValorProdutoICMSViewModel>();
                    foreach (var retornoObj in retorno.ProdutosItens)
                    {
                        var valProd = new ValorProdutoICMSViewModel();
                        valProd.AliquotaICMS  = retornoObj.AliquotaICMS;
                        valProd.PrecoLiquido  = retornoObj.PrecoLiquido;
                        valProd.CodigoProduto = retornoObj.CodigoProduto;

                        valProdICMSLst.Add(valProd);
                    }
                }
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(retMsg);
                throw new Exception(erro001.GenerateMessage(false));
            }
            return(valProdICMSLst);
        }
예제 #14
0
        public string Enviar(Product objModel)
        {
            string resposta;

            Intelbras.Message.Helper.MSG0088 mensagem = DefinirPropriedades(objModel);

            Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline);
            string msgEnvio = mensagem.GenerateMessage(true);

            if (integracao.EnviarMensagemBarramento(msgEnvio, "1", "1", out resposta))
            {
                Intelbras.Message.Helper.MSG0088R1 retorno = CarregarMensagem <Pollux.MSG0088R1>(resposta);
                if (!retorno.Resultado.Sucesso)
                {
                    throw new ArgumentException("(CRM) " + retorno.Resultado.Mensagem);
                }
                return(retorno.Resultado.Mensagem);
            }
            else
            {
                Intelbras.Message.Helper.ERR0001 retorno = CarregarMensagem <Pollux.ERR0001>(resposta);
                throw new ArgumentException("(CRM) " + retorno.DescricaoErro);
            }
        }