private void SalvarAjuste() { var registrarLivro = ControleDependenciaNetFull.Resolve.InstanciaDe <Aplicacao.RegistrarLivro.RegistrarLivro>(); var ajusteLivro = new AjusteLivro(); ajusteLivro.LivroId = LivroId; ajusteLivro.Titulo = txtTitulo.Text; ajusteLivro.Estante = txtEstante.Text; int anoPublicacaoAux = 0; if (int.TryParse(txtAnoPublicacao.Text, out anoPublicacaoAux)) { ajusteLivro.AnoPublicacao = anoPublicacaoAux; } if (cmbEditora.SelectedItem != null) { ajusteLivro.Editora = cmbEditora.SelectedItem as TEditora; } if (listboxAutores.Items.Count > 0) { foreach (var autor in listboxAutores.Items) { ajusteLivro.Autores.Add(autor as TAutor); } } var retorno = registrarLivro.Realizar(ajusteLivro); BiblioPopAppUtil.ProcessarMensagensRetornoBase(retorno.Mensagem, retorno.Problemas, panelMensagem, lblMensagem, listBoxProblemas); }
public RetornoBase <bool> Put(int id, [FromBody] LivroDTO livro) { var ajusteLivro = new AjusteLivro { LivroId = livro.LivroId, Titulo = livro.Titulo, Estante = livro.Estante, AnoPublicacao = livro.AnoPublicacao, EditoraId = livro.Editora != null ? livro.Editora.EditoraId : 0, Editora = livro.Editora, Autores = livro.Autores }; return(registrarLivro.Realizar(ajusteLivro)); }
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); }
public ActionResult Cadastro(LivroDTO livro, string origem, int EditoraId, string Autoria) { ViewBag.Mensagem = ""; ViewBag.Problemas = null; ViewBag.Origem = origem; livro.EditoraId = EditoraId; if (EditoraId > 0) { var retornoAoRealizarLocalizaEditora = registrarEditora.Realizar(new LocalizaEditora() { EditoraId = EditoraId }); livro.Editora = retornoAoRealizarLocalizaEditora.Valor; } if (!string.IsNullOrEmpty(Autoria)) { var aux = ""; var ids = Autoria.Split(','); var retornoAoRealizarListaAutores = registrarAutor.Realizar(new ListaAutores()); foreach (var autor in retornoAoRealizarListaAutores.Autores) { aux = autor.AutorId.ToString(); if (!string.IsNullOrEmpty(ids.FirstOrDefault(x => x == aux))) { livro.Autores.Add(autor); } } } if (livro.LivroId > 0) { var ajusteLivro = new AjusteLivro(); ajusteLivro.LivroId = livro.LivroId; ajusteLivro.Titulo = livro.Titulo; ajusteLivro.Estante = livro.Estante; ajusteLivro.AnoPublicacao = livro.AnoPublicacao; ajusteLivro.Editora = livro.Editora; ajusteLivro.Autores = livro.Autores; var retornoAoRealizarAjusteLivro = registrarLivro.Realizar(ajusteLivro); if (retornoAoRealizarAjusteLivro.Problemas.Count > 0) { ViewBag.Mensagem = retornoAoRealizarAjusteLivro.Mensagem; ViewBag.Problemas = retornoAoRealizarAjusteLivro.Problemas; } else { ViewBag.Mensagem = "Ajuste realizado com sucesso."; } } else { var novoLivro = new NovoLivro(); novoLivro.Titulo = livro.Titulo; novoLivro.Estante = livro.Estante; novoLivro.AnoPublicacao = livro.AnoPublicacao; novoLivro.Editora = livro.Editora; novoLivro.Autores = livro.Autores; var retornoAoRealizarNovoLivro = registrarLivro.Realizar(novoLivro); if (retornoAoRealizarNovoLivro.Problemas.Count > 0) { ViewBag.Mensagem = retornoAoRealizarNovoLivro.Mensagem; ViewBag.Problemas = retornoAoRealizarNovoLivro.Problemas; } else if (retornoAoRealizarNovoLivro.Valor > 0) { livro.LivroId = retornoAoRealizarNovoLivro.Valor; ViewBag.Mensagem = "Livro registrado com sucesso."; } } PrepareCadastro(livro.LivroId); return(View(livro)); }