Beispiel #1
0
        public Email AdicionarEmail(string criadoPorUserId, string responsavelPorUserId, DateTime?criadoEm,
                                    long?ocorrenciaId, long?contratoId, long?atendimentoId, long?pessoaFisicaId, long?pessoaJuridicaId,
                                    long?potencialClienteId, long?atividadeDeOrigemId, string tituloAtividade, string descricaoAtividade,
                                    string enderecoEmail, string html, string texto, string messageId, string uIdMessage, string sentido,
                                    string assunto, long?emailPaiId, int?configuracaoContasEmailId, int?filaId,
                                    IEnumerable <AtividadeParteEnvolvida> atividadeEnvolvidos, IEnumerable <EmailAnexo> anexos,
                                    int?statusAtividadeId, string identificadorEmail)
        {
            var retorno = new Email();

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

            var atividade = _atividadeServico.AdicionarAtividadeEmail(criadoPorUserId, ocorrenciaId, contratoId,
                                                                      atendimentoId, tituloAtividade, descricaoAtividade, pessoaFisicaId, pessoaJuridicaId, potencialClienteId,
                                                                      null, null, null, atividadeDeOrigemId, atividadeEnvolvidos, responsavelPorUserId,
                                                                      sentido.ToLower() == "s", statusAtividadeId);

            if (!atividade.ValidationResult.IsValid)
            {
                retorno.ValidationResult = atividade.ValidationResult;
                return(retorno);
            }
            else
            {
                retorno.SetarAtividadeId(atividade.Id);
            }

            var email = new Email(enderecoEmail, assunto, html, texto, atividade.CriadoPorUserId, sentido, uIdMessage,
                                  messageId, emailPaiId, configuracaoContasEmailId, anexos, criadoEm, atividade,
                                  atividade.PessoasFisicasId, atividade.PessoasJuridicasId, identificadorEmail);

            if (email.IsValid())
            {
                retorno.ValidationResult = Adicionar(email, filaId);
            }

            return(retorno);
        }