public Chat Novo(string usuarioId, long solicitacaoId, string conexaoClienteId, string nomeCliente, string conexaoAgenteId)
        {
            Chat chat;

            if (string.IsNullOrEmpty(usuarioId))
            {
                var usuarioAdm = _usuarioServico.ObterPorEmail("*****@*****.**");
                if (usuarioAdm != null)
                {
                    usuarioId = usuarioAdm.Id;
                }
                else
                {
                    chat = new Chat();
                    chat.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(chat);
                }
            }


            var canal       = _canalServico.ObterCanalChat();
            var atendimento = _servicoAtendimento.AdicionarNovoAtendimento(canal != null ? canal.Id : (int?)null,
                                                                           usuarioId, null);

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

            var envolvidos = new List <AtividadeParteEnvolvida> {
                new AtividadeParteEnvolvida(null, nomeCliente, "R")
            };
            var atividade = _servicoAtividade.AdicionarAtividadeChat(usuarioId, atendimento.Id, envolvidos, null);

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

            chat = new Chat
            {
                Tipo              = "PAD",
                AtividadeId       = atividade.Id,
                ConexaoClienteId  = conexaoClienteId,
                ChatSolicitacaoId = solicitacaoId,
                ConexaoOperadorId = conexaoAgenteId
            };

            _repositorio.Adicionar(chat);
            atividade.Atendimento = atendimento;
            chat.Atividade        = atividade;
            return(chat);
        }