mirror of
https://github.com/st-tu-dresden-praktikum/swt23w23
synced 2024-07-19 21:04:36 +02:00
Do not use MonetaryAmount in inventory mutate form
While this creates duplicate code in the controller, it will vastly simplify handling the form values.
This commit is contained in:
parent
f7d859b25d
commit
695bc1d821
|
@ -16,6 +16,8 @@
|
|||
*/
|
||||
package catering.inventory;
|
||||
|
||||
import static org.salespointframework.core.Currencies.EURO;
|
||||
import org.javamoney.moneta.Money;
|
||||
import org.salespointframework.catalog.Product;
|
||||
import org.salespointframework.inventory.UniqueInventory;
|
||||
import org.salespointframework.inventory.UniqueInventoryItem;
|
||||
|
@ -72,9 +74,9 @@ class InventoryController {
|
|||
|
||||
product.setName(form.getName());
|
||||
product.setType(form.getType());
|
||||
product.setPrice(form.getRetailPrice());
|
||||
product.setWholesalePrice(form.getWholesalePrice());
|
||||
product.setPromotionPrice(form.getPromotionPrice().orElse(null));
|
||||
product.setPrice(Money.of(form.getRetailPrice(), EURO));
|
||||
product.setWholesalePrice(Money.of(form.getWholesalePrice(), EURO));
|
||||
product.setPromotionPrice(form.getPromotionPrice().map(price -> Money.of(price, EURO)).orElse(null));
|
||||
|
||||
product = cateringCatalog.save(product);
|
||||
|
||||
|
@ -86,7 +88,10 @@ class InventoryController {
|
|||
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
@GetMapping("/inventory/add")
|
||||
String add() {
|
||||
String add(Model model) {
|
||||
model.addAttribute("actionIsAdd", true);
|
||||
model.addAttribute("form", InventoryMutateForm.empty());
|
||||
|
||||
return "inventory-mutate";
|
||||
}
|
||||
|
||||
|
@ -97,8 +102,10 @@ class InventoryController {
|
|||
return "inventory-mutate";
|
||||
}
|
||||
inventory.save(new UniqueInventoryItem(
|
||||
cateringCatalog.save(new CatalogDummy(form.getName(), form.getType(), form.getRetailPrice(),
|
||||
form.getWholesalePrice(), form.getPromotionPrice().orElse(null))),
|
||||
cateringCatalog
|
||||
.save(new CatalogDummy(form.getName(), form.getType(), Money.of(form.getRetailPrice(), EURO),
|
||||
Money.of(form.getWholesalePrice(), EURO),
|
||||
form.getPromotionPrice().map(price -> Money.of(price, EURO)).orElse(null))),
|
||||
form.getQuantity()));
|
||||
return "redirect:/inventory";
|
||||
}
|
||||
|
|
|
@ -16,13 +16,8 @@
|
|||
*/
|
||||
package catering.inventory;
|
||||
|
||||
import static org.salespointframework.core.Currencies.EURO;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.money.MonetaryAmount;
|
||||
|
||||
import org.javamoney.moneta.Money;
|
||||
import org.salespointframework.quantity.Quantity;
|
||||
|
||||
import catering.catalog.CatalogDummyType;
|
||||
|
@ -34,8 +29,8 @@ class InventoryMutateForm {
|
|||
private final @NotNull CatalogDummyType type;
|
||||
private final @NotEmpty String name;
|
||||
private final @NotNull Quantity quantity;
|
||||
private final @NotNull MonetaryAmount wholesalePrice, retailPrice;
|
||||
private final @NotNull Optional<MonetaryAmount> promotionPrice;
|
||||
private final @NotNull double wholesalePrice, retailPrice;
|
||||
private final @NotNull Optional<Double> promotionPrice;
|
||||
|
||||
public InventoryMutateForm(@NotNull CatalogDummyType type, @NotEmpty String name,
|
||||
@NotNull Quantity quantity, @PositiveOrZero double wholesalePrice, @PositiveOrZero double retailPrice,
|
||||
|
@ -43,9 +38,13 @@ class InventoryMutateForm {
|
|||
this.type = type;
|
||||
this.name = name;
|
||||
this.quantity = quantity;
|
||||
this.wholesalePrice = Money.of(wholesalePrice, EURO);
|
||||
this.retailPrice = Money.of(retailPrice, EURO);
|
||||
this.promotionPrice = promotionPrice.map(price -> (MonetaryAmount) Money.of(price, EURO));
|
||||
this.wholesalePrice = wholesalePrice;
|
||||
this.retailPrice = retailPrice;
|
||||
this.promotionPrice = promotionPrice;
|
||||
}
|
||||
|
||||
public static InventoryMutateForm empty() {
|
||||
return new InventoryMutateForm(null, "", Quantity.of(0), 0, 0, Optional.empty());
|
||||
}
|
||||
|
||||
public CatalogDummyType getType() {
|
||||
|
@ -60,15 +59,15 @@ class InventoryMutateForm {
|
|||
return quantity;
|
||||
}
|
||||
|
||||
public MonetaryAmount getWholesalePrice() {
|
||||
public double getWholesalePrice() {
|
||||
return wholesalePrice;
|
||||
}
|
||||
|
||||
public MonetaryAmount getRetailPrice() {
|
||||
public double getRetailPrice() {
|
||||
return retailPrice;
|
||||
}
|
||||
|
||||
public Optional<MonetaryAmount> getPromotionPrice() {
|
||||
public Optional<Double> getPromotionPrice() {
|
||||
return promotionPrice;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue