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); }