Beispiel #1
0
        public Email ObterEmailCompletoPor(long?emailId, long?atividadeId)
        {
            var email = _repositorio.ObterEmailCompletoPor(emailId, atividadeId);

            if (email == null)
            {
                return(email);
            }
            email.Anexos = _emailAnexoServico.ObterAnexos(email.AtividadeId);
            email.Atividade.Envolvidos = _atividadeParteEnvolvidaServico.ObterPorAtividadeId(email.Atividade.Id);

            return(email);
        }
Beispiel #2
0
        public IEnumerable <EmailAnexosViewModel> CarregarAnexos(long atividadeId)
        {
            var retorno      = new List <EmailAnexosViewModel>();
            var configuracao = new Configuracao();

            configuracao.SetarUrlEmailAnexos();
            var anexos = _emailAnexoServico.ObterAnexos(atividadeId).Where(c => c.ImagemCorpo == false);

            retorno.AddRange(
                anexos.Select(
                    anexo => new EmailAnexosViewModel(anexo.Id, anexo.Nome, anexo.Path, anexo.Tamanho, anexo.Extensao)));

            return(retorno);
        }
        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);
        }