示例#1
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 CervejaImagem ConverterParaCervejaImagem(CervejaImagem obj)
 {
     obj.NomeArquivo = NomeArquivo;
     obj.ContentType = ContentType;
     obj.Bytes       = Bytes;
     return(obj);
 }
示例#3
0
        public async Task AlterarImagem_passando_cerveja_que_tem_imagem_deve_alterar_e_chamar_rabbit()
        {
            var id      = 1;
            var dto     = new CervejaImagemDTO();
            var cerveja = new Cerveja();

            A.CallTo(() => _repCerveja.RecuperarPorIdAsync(id)).Returns(cerveja);
            var cervejaImagem = new CervejaImagem();

            A.CallTo(() => _repCervejaImagem.RecuperarPorIdAsync(id)).Returns(cervejaImagem);

            await _aplicCerveja.AlterarImagem(id, dto);

            A.CallTo(() => _repCervejaImagem.Alterar(A <CervejaImagem> ._)).MustHaveHappened();
            A.CallTo(() => _unidadeDeTrabalho.Persistir()).MustHaveHappened();
            A.CallTo(() => _eventoNotificarAlteracaoCerveja.Publicar(A <Cerveja> ._)).MustHaveHappened();
        }