Example #1
0
        public AoInserirEmRepositorioAutor Inserir(Autor autor)
        {
            var retorno = new AoInserirEmRepositorioAutor();

            try
            {
                var tabAutor = TabAutor.Fabricar(autor);
                db.Autores.Add(tabAutor);
                db.SaveChanges();
                retorno.AutorId = tabAutor.AutorId;
            }
            catch (Exception ex)
            {
                retorno.Mensagem = $"Não foi possível inserir o autor '{autor.Nome} {autor.Sobrenome}'.";
                retorno.Problemas.Add($"Falha ao {nameof(Inserir)} em {nameof(RepositorioAutor)}: {ex.Message}");
            }

            return(retorno);
        }
Example #2
0
        public void Aplicacao_RegistrarAutor__SE__AoRealizarNovoAutor__NovoAutorForValido__E__RetornoDeRepositorioForNull__ENTAO__NaoPodeGerarExcecao()
        {
            //1-Preparação
            var novoAutorValido = new NovoAutor()
            {
                Nome      = "marco",
                Sobrenome = "munhoz"
            };
            AoInserirEmRepositorioAutor retornoAoInserir = null;

            //aqui eu estou forçando o retorno Null para verificar se o desenvolvedor tratou retorno Null
            repositorioAutor.Setup(x => x.Inserir(It.IsAny <Autor>())).Returns(retornoAoInserir);
            var registrarAutor = new Aplicacao.RegistrarAutor.RegistrarAutor(repositorioAutor.Object);

            //2-Ação
            var retorno = registrarAutor.Realizar(novoAutorValido);

            //3-Verificação
            //não precisa fazer nada, pois não pode gerar exceção
        }
        public AoInserirEmRepositorioAutor Inserir(Autor autor)
        {
            var retorno = new AoInserirEmRepositorioAutor();

            try
            {
                var tabAutor = new TabAutor();
                tabAutor.AutorId   = autor.AutorId;
                tabAutor.Nome      = autor.Nome.Nome;
                tabAutor.Sobrenome = autor.Nome.Sobrenome;
                tabAutor.Email     = autor.Email.Endereco;
                db.Autores.Add(tabAutor);
                db.SaveChanges();
                retorno.AutorId = autor.AutorId;
            }
            catch (Exception ex)
            {
                retorno.Mensagem = $"Não foi possível inserir o autor {autor.AutorId}.";
                retorno.Problemas.Add($"Falha ao {nameof(Inserir)} em {nameof(RepositorioAutor)}: {ex.Message}");
            }

            return(retorno);
        }