| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.platform2easy.genesis.web.controller;
- import com.platform2easy.genesis.domain.model.Compra;
- import com.platform2easy.genesis.domain.model.ItemCompra;
- import com.platform2easy.genesis.domain.service.CompraService;
- import lombok.AllArgsConstructor;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import java.util.Arrays;
- @Controller
- @RequestMapping("compra")
- @AllArgsConstructor
- public class CompraController {
- private final CompraService service;
- @GetMapping()
- public String iniciar(Compra compra, Model model) {
- return "compra/formulario";
- }
- @PostMapping()
- public String inserir(Compra compra, ItemCompra itemCompra, Model model) {
- itemCompra.setId(null);
- if (compra.getItens() == null) compra.setItens(Arrays.asList(itemCompra));
- else compra.getItens().add(itemCompra);
- return iniciar(compra, model);
- }
- @PostMapping("{index}")
- public String removerItem(@PathVariable int index, Compra compra, Model model) {
- compra.getItens().remove(index);
- return iniciar(compra, model);
- }
- @PostMapping("salvar")
- public String salvar(Compra compra, Model model) {
- service.salvar(compra);
- return "redirect:/compra/listar";
- }
- @GetMapping("listar")
- public String listar(Model model) {
- model.addAttribute("compras", service.listarTodos());
- return "compra/lista";
- }
- @GetMapping("editar/{id}")
- public String alterar(@PathVariable Long id, Model model) {
- model.addAttribute("compra", service.buscarPorId(id));
- return "compra/formulario";
- }
- @GetMapping("remover/{id}")
- public String remover(@PathVariable Long id, Model model) {
- service.deletarPorId(id);
- return "redirect:/compra/listar";
- }
- }
|