public RetornoBase <int> Realizar(Operacao.NovoLivro novoLivro) { var retorno = new RetornoBase <int>(); var livro = novoLivro.Fabricar(); if (livro.EstaEmEstadoIntegro()) { var aoInserir = repLivro.Inserir(livro); retorno.Valor = aoInserir.Valor; if (aoInserir.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível registrar o novo livro."; retorno.Problemas.AddRange(aoInserir.Problemas); } } else { retorno.Mensagem = "Os dados do novo livro não foram devidamente informados."; retorno.Problemas.AddRange(livro.Problemas); } return(retorno); }
public RetornoBase <int> Realizar(NovoLivro novoLivro) { var retorno = new RetornoBase <int>(); var editora = new Editora(novoLivro.Editora.EditoraId, novoLivro.Editora.Nome, novoLivro.Editora.Site); var autores = new List <Autor>(); foreach (var tautor in novoLivro.Autores) { autores.Add(new Autor( tautor.AutorId, new Dominio.Descritores.TNomePessoa(tautor.Nome, tautor.Sobrenome), new Dominio.Descritores.TEmail(tautor.Email) )); } var livro = new Livro(0, novoLivro.Titulo, novoLivro.Estante, novoLivro.AnoPublicacao, editora, autores); if (livro.EstaEmEstadoIntegro()) { var aoInserir = repLivro.Inserir(livro); retorno.Valor = aoInserir.Valor; if (aoInserir.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível registrar o novo livro."; retorno.Problemas.AddRange(aoInserir.Problemas); } } else { retorno.Mensagem = "Os dados do novo livro não foram devidamente informados."; retorno.Problemas.AddRange(livro.Problemas); } return(retorno); }