示例#1
0
        public Denuncia DefinirPropriedades(Intelbras.Message.Helper.MSG0108 xml)
        {
            Denuncia retorno = new Denuncia(this.Organizacao, this.IsOffline);

            return(retorno);
        }
示例#2
0
        public List <Pollux.Entities.DenunciaItem> DefinirRetorno(Intelbras.Message.Helper.MSG0108 xml)
        {
            #region Propriedades Crm->Xml
            List <Denuncia> lstDenunciaCrm = new List <Denuncia>();
            List <Pollux.Entities.DenunciaItem> lstRetorno = new List <Pollux.Entities.DenunciaItem>();

            if (xml.SituacaoDenuncia != null)
            {
                if (!System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Denuncia.StatusDenuncia), xml.SituacaoDenuncia))
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "SituaçãoDenuncia não cadastrada no Crm.";
                    return(null);
                }
            }
            List <Guid> lstCanalDenunciantes = new List <Guid>();
            if (xml.CanaisDenunciantes != null && xml.CanaisDenunciantes.Count > 0)
            {
                foreach (var itemDenunciante in xml.CanaisDenunciantes)
                {
                    if (itemDenunciante.Length == 36)
                    {
                        var canalItemDenunciante = new Guid(itemDenunciante);
                        lstCanalDenunciantes.Add(canalItemDenunciante);
                    }
                    else
                    {
                        resultadoPersistencia.Sucesso  = false;
                        resultadoPersistencia.Mensagem = "Canal Denunciante fora do padrão(Guid)";
                        return(null);
                    }
                }
            }

            List <Guid> lstCanalDenunciado = new List <Guid>();
            if (xml.CanaisDenunciados != null && xml.CanaisDenunciados.Count > 0)
            {
                foreach (var itemDenunciado in xml.CanaisDenunciados)
                {
                    if (itemDenunciado.Length == 36)
                    {
                        var canalItem = new Guid(itemDenunciado);
                        lstCanalDenunciado.Add(canalItem);
                    }
                    else
                    {
                        resultadoPersistencia.Sucesso  = false;
                        resultadoPersistencia.Mensagem = "Canal Denunciado fora do padrão(Guid)";
                        return(null);
                    }
                }
            }
            Guid?representanteKeyAccountId = null;

            if (xml.CodigoRepresentante.HasValue)
            {
                Contato contato = new Contato(this.Organizacao, this.IsOffline);
                contato = new Intelbras.CRM2013.Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContatoPorCodigoRepresentante(xml.CodigoRepresentante.Value.ToString());

                if (contato != null)
                {
                    representanteKeyAccountId = contato.ID.Value;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Representante não encontrado.";
                    return(null);
                }
            }


            lstDenunciaCrm = new Servicos.DenunciaService(this.Organizacao, this.IsOffline).ListarDenuncias(xml.DataInicio, xml.DataFinal, lstCanalDenunciantes, lstCanalDenunciado, representanteKeyAccountId, xml.SituacaoDenuncia);
            //De -Para - Crm - pollux
            if (lstDenunciaCrm != null && lstDenunciaCrm.Count > 0)
            {
                foreach (var itemCrm in lstDenunciaCrm)
                {
                    Pollux.Entities.DenunciaItem denunciaItem = new Pollux.Entities.DenunciaItem();
                    if (itemCrm.Descricao != null && !String.IsNullOrEmpty(itemCrm.Descricao))
                    {
                        denunciaItem.Descricao = itemCrm.Descricao;
                    }
                    else
                    {
                        denunciaItem.Descricao = "N/A";
                    }
                    if (itemCrm.Nome != null && !String.IsNullOrEmpty(itemCrm.Nome))
                    {
                        denunciaItem.NomeDenuncia = itemCrm.Nome;
                    }
                    else
                    {
                        denunciaItem.NomeDenuncia = "N/A";
                    }

                    if (itemCrm.RazaoStatus.HasValue)
                    {
                        denunciaItem.SituacaoDenuncia = itemCrm.RazaoStatus.Value;
                    }
                    else
                    {
                        denunciaItem.SituacaoDenuncia = 0;
                    }

                    switch (itemCrm.RazaoStatus.Value)
                    {
                    case (int)Enum.Denuncia.StatusDenuncia.EmAnalise:
                        denunciaItem.NomeSituacaoDenuncia = "Em Análise";
                        break;

                    case (int)Enum.Denuncia.StatusDenuncia.AguardandoJustificativa:
                        denunciaItem.NomeSituacaoDenuncia = "Aguardando Justificativa";
                        break;

                    case (int)Enum.Denuncia.StatusDenuncia.JustificativaProvida:
                        denunciaItem.NomeSituacaoDenuncia = "Justificativa Provida";
                        break;

                    case (int)Enum.Denuncia.StatusDenuncia.AnaliseJustificativa:
                        denunciaItem.NomeSituacaoDenuncia = "Análise de Justificativa";
                        break;

                    case (int)Enum.Denuncia.StatusDenuncia.DenunciaProcedente:
                        denunciaItem.NomeSituacaoDenuncia = "Denúncia Procedente";
                        break;

                    case (int)Enum.Denuncia.StatusDenuncia.DenunciaImprocedente:
                        denunciaItem.NomeSituacaoDenuncia = "Denúncia Improcedente";
                        break;

                    default:
                        denunciaItem.NomeSituacaoDenuncia = "N/A";
                        break;
                    }

                    if (itemCrm.TipoDenuncia != null)
                    {
                        denunciaItem.NomeTipoDenuncia   = itemCrm.TipoDenuncia.Name;
                        denunciaItem.CodigoTipoDenuncia = itemCrm.TipoDenuncia.Id.ToString();
                    }
                    else
                    {
                        denunciaItem.NomeTipoDenuncia   = "N/A";
                        denunciaItem.CodigoTipoDenuncia = Guid.Empty.ToString();
                    }
                    if (!String.IsNullOrEmpty(itemCrm.Justificativa))
                    {
                        denunciaItem.Justificativa = itemCrm.Justificativa;
                    }

                    if (itemCrm.DataCriacao.HasValue)
                    {
                        denunciaItem.DataCriacao = itemCrm.DataCriacao.Value;
                    }
                    else
                    {
                        denunciaItem.DataCriacao = DateTime.MinValue;
                    }
                    denunciaItem.CodigoDenuncia = itemCrm.ID.Value.ToString();

                    lstRetorno.Add(denunciaItem);
                }
            }

            return(lstRetorno);

            #endregion
        }
示例#3
0
 Denuncia IBase <Pollux.MSG0108, Denuncia> .DefinirPropriedades(Pollux.MSG0108 legado)
 {
     throw new NotImplementedException();
 }