Exemple #1
0
        /// <summary>
        /// Carregar as informações de imagem do resultado
        /// </summary>
        /// <param name="campanhas"></param>
        protected void CarregarInformacoesImagem(IList <CampanhaDto> campanhas)
        {
            IEnumerable <CampanhaImagem> imagens = _imgDomain.ObterTodos();

            campanhas
            .ToList()
            .ForEach(c =>
            {
                CampanhaImagem img = imagens.Where(x => x.CampanhaId.Equals(c.Id)).FirstOrDefault();
                if (img != null)
                {
                    c.Imagem = img.Caminho;
                }
            });
        }
Exemple #2
0
        private void SaveImagens(int campanhaId, List <ImagemModel> imagens, string updatedById)
        {
            this.DeleteImagensExistentes(campanhaId);

            imagens.ForEach(current =>
            {
                if (current.TipoImagemId == (int)TipoImagemEnum.Upload)
                {
                    this.UploadToAzure(current);
                }

                var imagem = new Imagem()
                {
                    Nome         = current.Url.Substring(current.Url.LastIndexOf("/", comparisonType: StringComparison.CurrentCulture)),
                    TipoImagemId = current.TipoImagemId,
                    Url          = current.Url,
                    IsActive     = true,
                    CreatedDate  = DateTime.UtcNow,
                    UpdateDate   = DateTime.UtcNow,
                    CreatedById  = updatedById,
                    UpdatedById  = updatedById,
                    Logo         = current.Logo
                };

                _testersContext.Imagens.Add(imagem);
                _testersContext.SaveChanges();

                var campanhaImagem = new CampanhaImagem()
                {
                    CampanhaId = campanhaId,
                    ImagemId   = imagem.Id
                };

                _testersContext.CampanhaImagens.Add(campanhaImagem);
                _testersContext.SaveChanges();
                ;
            });
        }
Exemple #3
0
        public bool CarregarImagem(Campanha campanha, string imagemBase64, string caminho, out object dadosRetorno)
        {
            // Gerar arquivo
            CampanhaImagem imagem = new CampanhaImagem()
            {
                CampanhaId = campanha.Id
            };
            string arquivo      = $"{campanha.Id.ToString()}.jpg";
            string nomeCompleto = Path.Combine(caminho, arquivo);
            string caminhoUrl   = $"/images/campanha/{campanha.Id.ToString()}.jpg";

            imagem.Caminho = caminhoUrl;

            try
            {
                if (!Directory.Exists(caminho))
                {
                    Directory.CreateDirectory(caminho);
                }
            }
            catch (Exception ex)
            {
                dadosRetorno = new
                {
                    Sucesso  = false,
                    Mensagem = $"Falha ao acessar local de armazenamento do arquivo - {ex.Message} - {ex.StackTrace}"
                };
                return(false);
            }

            try
            {
                if (File.Exists(nomeCompleto))
                {
                    File.Delete(nomeCompleto);
                }

                byte[] bytes = Convert.FromBase64String(imagemBase64);
                File.WriteAllBytes(nomeCompleto, bytes);
            }
            catch (Exception ex)
            {
                dadosRetorno = new
                {
                    Sucesso  = false,
                    Mensagem = $"Falha ao converter Base64 em Imagem - {ex.Message} - {ex.StackTrace}"
                };
                return(false);
            }

            try
            {
                CampanhaImagem img = _imgDomain.ObterPorCampanha(campanha.Id);
                if (img == null)
                {
                    _imgDomain.Adicionar(imagem);
                    _uow.Efetivar();
                }
                else
                {
                    imagem = img;
                }

                dadosRetorno = new
                {
                    Sucesso  = true,
                    Mensagem = "Imagem carregada com sucesso",
                    Id       = imagem.Id.ToString(),
                    Arquivo  = caminhoUrl
                };

                return(true);
            }
            catch (Exception ex)
            {
                File.Delete(nomeCompleto);
                dadosRetorno = new
                {
                    Sucesso  = false,
                    Mensagem = $"Falha ao gravar registro - {ex.Message} - {ex.StackTrace}"
                };
            }

            return(false);
        }