public RetornoBase <int> Post([FromBody] LivroDTO livro) { var novoLivro = new NovoLivro { 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(novoLivro)); }
private void btnSalvar_Click(object sender, EventArgs e) { DesabilitarTela(); var registrarLivro = ControleDependenciaNetFull.Resolve.InstanciaDe <Aplicacao.RegistrarLivro.RegistrarLivro>(); var novoLivro = new NovoLivro(); novoLivro.Titulo = txtTitulo.Text; novoLivro.Estante = txtEstante.Text; int anoPublicacaoAux = 0; if (int.TryParse(txtAnoPublicacao.Text, out anoPublicacaoAux)) { novoLivro.AnoPublicacao = anoPublicacaoAux; } if (cmbEditora.SelectedItem != null) { novoLivro.Editora = cmbEditora.SelectedItem as TEditora; } if (listboxAutores.Items.Count > 0) { foreach (var autor in listboxAutores.Items) { novoLivro.Autores.Add(autor as TAutor); } } var retorno = registrarLivro.Realizar(novoLivro); BiblioPopAppUtil.ProcessarMensagensRetornoBase(retorno.Mensagem, retorno.Problemas, panelMensagem, lblMensagem, listBoxProblemas); if (retorno.Valor > 0) { LivroId = retorno.Valor; btnSalvar.Visible = false; } HabilitarTela(); }
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); }
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)); }