public RetornoBase <bool> Realizar(Operacao.AjusteLivro ajusteLivro) { var retorno = new RetornoBase <bool>(); var livro = ajusteLivro.Fabricar(); if (livro.EstaEmEstadoIntegro()) { var aoAlterar = repLivro.Alterar(livro); retorno.Valor = aoAlterar.Valor; if (aoAlterar.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível ajustar o livro."; retorno.Problemas.AddRange(aoAlterar.Problemas); } } else { retorno.Mensagem = "Os dados do livro não foram devidamente informados."; retorno.Problemas.AddRange(livro.Problemas); } return(retorno); }
public RetornoBase <bool> Realizar(AjusteLivro ajusteLivro) { var retorno = new RetornoBase <bool>(); var editora = new Editora(ajusteLivro.Editora.EditoraId, ajusteLivro.Editora.Nome, ajusteLivro.Editora.Site); var autores = new List <Autor>(); foreach (var tautor in ajusteLivro.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(ajusteLivro.LivroId, ajusteLivro.Titulo, ajusteLivro.Estante, ajusteLivro.AnoPublicacao, editora, autores); if (livro.EstaEmEstadoIntegro()) { var aoAlterar = repLivro.Alterar(livro); retorno.Valor = aoAlterar.Valor; if (aoAlterar.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível ajustar o livro."; retorno.Problemas.AddRange(aoAlterar.Problemas); } } else { retorno.Mensagem = "Os dados do livro não foram devidamente informados."; retorno.Problemas.AddRange(livro.Problemas); } return(retorno); }