Exemplo n.º 1
0
        public Ligacao AdicionarLigacaoReceptiva(string criadoPorUserId, string numeroOriginal, long?telefoneId)
        {
            Ligacao ligacao;

            if (string.IsNullOrEmpty(criadoPorUserId))
            {
                var usuarioAdm = _usuarioServico.ObterPorEmail("*****@*****.**");
                if (usuarioAdm != null)
                {
                    criadoPorUserId = usuarioAdm.Id;
                }
                else
                {
                    ligacao = new Ligacao();
                    ligacao.ValidationResult.Add(
                        new ValidationError(
                            "Não foi informado o usuario (Criado Por) e também não possui usuario padrão cadastrado ([email protected])"));
                    return(ligacao);
                }
            }

            //var canal = _canalServico.ObterCanalTelefone();
            var canalTelefoneId = 1;
            var atendimento     = _servicoAtendimento.AdicionarNovoAtendimento(canalTelefoneId, criadoPorUserId, null);

            if (!atendimento.ValidationResult.IsValid)
            {
                var retorno = new Ligacao {
                    ValidationResult = atendimento.ValidationResult
                };
                return(retorno);
            }

            var atividade = _servicoAtividade.NovaAtividadeLigacao(criadoPorUserId, null, null, atendimento.Id, null,
                                                                   null, null, null, null, criadoPorUserId);

            if (!atividade.ValidationResult.IsValid)
            {
                var retorno = new Ligacao {
                    ValidationResult = atividade.ValidationResult
                };
                return(retorno);
            }

            ligacao = new Ligacao(null, null, null, criadoPorUserId, "E", atividade.Id, null, numeroOriginal, atividade, null);
            _repositorio.Adicionar(ligacao);

            return(BuscarLigacaoCompleta(ligacao.Id, null));
        }