feat: atualizando os produtos
This commit is contained in:
@@ -25,15 +25,40 @@ func (c *Controller) Execute() {
|
||||
|
||||
switch input {
|
||||
case "1", "adicionar":
|
||||
productInput := view.ReadProdutoInput()
|
||||
p := c.inventory.AdicionarProduto(productInput)
|
||||
view.ShowMessage("Produto criado com ID %d: %s\n", []any{p.ID, p.Name})
|
||||
c.AddProduct()
|
||||
case "2", "listar":
|
||||
products := c.inventory.ListarProdutos()
|
||||
view.ShowAllProducts(products)
|
||||
c.listAllProducts()
|
||||
case "3", "atualizar":
|
||||
c.updateProduct()
|
||||
default:
|
||||
view.ShowMessage("Obrigado por utilizar o programa!", nil)
|
||||
view.ShowMessage("Sistema encerrado!", nil)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Controller) AddProduct() {
|
||||
productInput := view.ReadAddProductInput()
|
||||
p := c.inventory.AddProduct(productInput)
|
||||
view.ShowMessage("Produto criado com ID %d: %s\n", []any{p.ID, p.Name})
|
||||
}
|
||||
|
||||
func (c *Controller) listAllProducts() {
|
||||
products := c.inventory.FetchProducts()
|
||||
view.ShowAllProducts(products)
|
||||
}
|
||||
|
||||
func (c *Controller) updateProduct() {
|
||||
productID, field := view.ReadEditProductInput()
|
||||
|
||||
value := view.ReadNewValueInput(field)
|
||||
|
||||
updated, err := c.inventory.UpdateProduct(productID, field, value)
|
||||
|
||||
if err != nil {
|
||||
view.ShowError(err)
|
||||
return
|
||||
}
|
||||
|
||||
view.ShowMessage("Produto %d atualizado com sucesso!\n", []any{updated.ID})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user