public EmailViewModel CarregarEmailVisualizacao(long atividadeId) { var email = _emailServico.ObterEmailCompletoPor(null, atividadeId); var envolvidos = _atividadeParteEnvolvidaServico.ObterPorAtividadeId(atividadeId); return(new EmailViewModel(email.AtividadeId, email.Id, email.CorpoDoEmail, email.Texto, email.Assunto, email.CriadoEm, email.Atividade.CriadoEm, envolvidos, email.Sentido)); }
protected Email ObterEmailReferenciaCorpoEmail() { var emailHtml = ObterListaAtividadesCorpoEmail(_html); if (emailHtml.Count <= 0) { return(new Email()); } var lEmailHtml2 = emailHtml.OrderByDescending(c => c.Value).ToList(); return(_servicoEmail.ObterEmailCompletoPor(lEmailHtml2[0].Key, null)); }
protected void CarregarAtividadeEmail(AtividadeNewViewModel model, Atividade atividade, string userId) { var email = _emailServico.ObterEmailCompletoPor(null, atividade.Id); if (email == null) { return; } var envolvidos = _atividadeParteEnvolvidaServico.ObterPorAtividadeId(atividade.Id); model.Email = new EmailViewModel(email.AtividadeId, email.Id, email.CorpoDoEmail, email.Texto, email.Assunto, email.CriadoEm, email.Atividade.CriadoEm, envolvidos, email.Sentido); if (!string.IsNullOrEmpty(email.Sentido)) { model.listaStatusAtividade = email.Sentido.Trim().ToLower() == "s" ? _statusAtividadeServico.ObterStatusAtividadeEmailEnviado() : _statusAtividadeServico.ObterStatusAtividadeEmailRecebido(); } var canal = _canalServico.ObterPorNome("email"); if (canal != null) { model.listaMidia = new SelectList(_midiaServico.ObterPor(null, canal.FirstOrDefault().Id), "id", "nome"); } if (email.Atividade.AtendimentoId != null) { return; } var atendimento = new Atendimento(userId, _atendimentoServico.GerarNumeroProtocolo(DateTime.Now), canal != null ? canal.FirstOrDefault().Id : (int?)null, null); _atendimentoServico.Adicionar(atendimento); atividade.Atendimento = atendimento; atividade.AtendimentoId = atendimento.Id; model.atendimentoID = atendimento.Id; _atividadeServico.Atualizar(atividade); var atendimentoAtividade = new AtendimentoAtividade(atividade.Id, atendimento.Id); _atendimentoAtividadeServico.Adicionar(atendimentoAtividade); }
public EmailFormViewModel TratarEmail(EmailFormViewModel model) { ValidarRegrasEmail(model); if (!model.ValidationResult.IsValid) { return(model); } var envolvidos = CarregarEnvolvidos(model); if (model.EmailPaiId.HasValue) { var emailPai = _emailServico.ObterEmailCompletoPor((long)model.EmailPaiId, null); if (emailPai != null) { model.PessoaJuridicaId = emailPai.Atividade.PessoasJuridicasId; model.PessoaFisicaId = emailPai.Atividade.PessoasFisicasId; model.AtividadePaiId = emailPai.AtividadeId; } } var configuracao = new Configuracao(); configuracao.SetarUrlEmailAnexos(); var diretorioArquivos = _configuracaoServico.ObterPorSigla(configuracao.Sigla).Valor; if (model.ConfiguracaoContaEmailId.HasValue) { var configuracaoContaEmail = _configuracaoContaEmailServico.ObterPorId((int)model.ConfiguracaoContaEmailId); model.Remetente = configuracaoContaEmail.Email; model.FilaId = configuracaoContaEmail.FilasId; } var htmlCompleto = @"<span style='color:white;mso-themecolor:background1'>IdEmailInicio[EmailId]|" + DateTime.Now + "IdEmailFim <o:p></o:p></span>"; model.Html = model.Html.Replace("style='pointer-events:none;'", "") + htmlCompleto; SalvarImagensTexto(model, diretorioArquivos); ProcessarAnexos(model.Anexos, diretorioArquivos); var email = _emailServico.Novo(model.UsuarioId, model.UsuarioId, null, model.OcorrenciaId, null, model.AtendimentoId, model.PessoaFisicaId, model.PessoaJuridicaId, null, model.AtividadePaiId, model.Assunto, null, model.Remetente, model.Html, model.Html, null, null, model.Sentido, model.Assunto, model.EmailPaiId, model.ConfiguracaoContaEmailId, model.FilaId, envolvidos, _anexos, model.StatusId, Guid.NewGuid().ToString()); if (email.ValidationResult.IsValid) { model.AtividadeId = email.AtividadeId; model.EmailId = email.Id; } else { model.ValidationResult = email.ValidationResult; } return(model); }
public TodosAnexosViewModel TodosAnexos(long atividadeId) { var retorno = new TodosAnexosViewModel(); try { var anexos = _emailAnexoServico.ObterAnexos(atividadeId).Where(c => c.ImagemCorpo == false); var mail = _emailServico.ObterEmailCompletoPor(null, atividadeId); var diretorio = _configuracaoServico.SetarUrlTodosAnexosEmail(); var diretorioImagens = _configuracaoServico.BuscarDiretorioEmailAnexos(); DirectoryInfo di = new DirectoryInfo(diretorio.Valor); if (!di.Exists) { di.Create(); } var arquivoZip = mail.Assunto.Replace("\"", "").Replace("\t", "").Replace(" ", "_") .Replace("\\\\", "\\").Replace(":", "").Replace("*", "").Replace("|", "").Replace("?", "") .Replace("<", "").Replace(">", "").Replace("/", ""); ; string zipFile = string.Format("{0}\\{1}.zip", diretorio.Valor, arquivoZip); retorno.Arquivo = arquivoZip + ".zip"; retorno.Diretorio = zipFile; retorno.Valido = true; //string extractPath = @"\\srvwsapp03\HOME_SHARED\aigbr.bizpro.com.br\crm\storageEmails\Entrada\2018\4\16\156cc586-38d6-4cf1-b324-3c364608a6fe"; if (File.Exists(zipFile)) { File.Delete(zipFile); } using (var zipArchive = ZipFile.Open(zipFile, ZipArchiveMode.Create)) { foreach (var item in anexos) { zipArchive.CreateEntryFromFile(diretorioImagens.Valor + item.Path, item.Nome, CompressionLevel.Optimal); } //DirectoryInfo di = new DirectoryInfo(extractPath); //FileInfo[] filesToArchive = di.GetFiles(); //if (filesToArchive != null && filesToArchive.Length > 0) //{ // foreach (FileInfo fileToArchive in filesToArchive) // { // zipArchive.CreateEntryFromFile(fileToArchive.FullName, fileToArchive.Name, CompressionLevel.Optimal); // } //} } } catch (Exception ex) { var msg = ex.Message; retorno.Valido = false; } return(retorno); }