Пример #1
0
        public async Task AlterarImagem_passando_cerveja_que_nao_tem_imagem_deve_inserir_e_chamar_rabbit()
        {
            var id      = 1;
            var dto     = new CervejaImagemDTO();
            var cerveja = new Cerveja();

            A.CallTo(() => _repCerveja.RecuperarPorIdAsync(id)).Returns(cerveja);
            A.CallTo(() => _repCervejaImagem.RecuperarPorIdAsync(id)).Returns((CervejaImagem)null);

            await _aplicCerveja.AlterarImagem(id, dto);

            A.CallTo(() => _repCervejaImagem.InserirAsync(A <CervejaImagem> ._)).MustHaveHappened();
            A.CallTo(() => _unidadeDeTrabalho.Persistir()).MustHaveHappened();
            A.CallTo(() => _eventoNotificarAlteracaoCerveja.Publicar(A <Cerveja> ._)).MustHaveHappened();
        }
Пример #2
0
        public async Task AlterarImagem(int id, CervejaImagemDTO dto)
        {
            var cerveja = await _repCerveja.RecuperarPorIdAsync(id);

            if (cerveja == null)
            {
                throw new Exception("Cerveja não encontrada.");
            }
            var cervejaImagem = await _repCervejaImagem.RecuperarPorIdAsync(id);

            if (cervejaImagem == null)
            {
                cervejaImagem = new CervejaImagem {
                    Id = id
                };
                dto.ConverterParaCervejaImagem(cervejaImagem);
                await _repCervejaImagem.InserirAsync(cervejaImagem);
            }
            else
            {
                dto.ConverterParaCervejaImagem(cervejaImagem);
                _repCervejaImagem.Alterar(cervejaImagem);
            }
            _repCerveja.Alterar(cerveja);
            await Persistir();

            _eventoNotificarAlteracaoCerveja.Publicar(cerveja);
        }
        public async Task <IActionResult> Foto(int id)
        {
            try
            {
                var imagem = await _repCervejaImagem.RecuperarPorIdAsync(id);

                if (imagem == null)
                {
                    return(File(System.IO.File.OpenRead(Path.Combine(_webHostEnvironment.ContentRootPath, "Content", "sem-foto.png")), "image/png"));
                }
                return(File(new MemoryStream(imagem.Bytes), imagem.ContentType));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }