Commit bcf17be7 by Patryk Czarnik

dodatkowe metody usługi Sklep

parent cddd9468
package sklep.soap; package sklep.soap;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import jakarta.jws.WebService; import jakarta.jws.WebService;
import sklep.db.DBConnection; import sklep.db.DBConnection;
import sklep.db.DBException; import sklep.db.DBException;
import sklep.db.OrderDAO;
import sklep.db.ProductDAO; import sklep.db.ProductDAO;
import sklep.db.RecordNotFound;
import sklep.model.Order;
import sklep.model.Product; import sklep.model.Product;
@WebService @WebService
...@@ -18,10 +22,41 @@ public class Sklep { ...@@ -18,10 +22,41 @@ public class Sklep {
} }
} }
// TODO dodaj metody findByPrice, findById, który odczytują tylko wybrane produkty public List<Product> readProductsByPrice(BigDecimal minPrice, BigDecimal maxPrice) throws DBException {
// wykorzystując metody klasy ProductDAO try(DBConnection db = DBConnection.open()) {
ProductDAO productDAO = db.productDAO();
return productDAO.findByPrice(minPrice, maxPrice);
}
}
public Product readOneProduct(int productId) throws DBException, RecordNotFound {
try(DBConnection db = DBConnection.open()) {
ProductDAO productDAO = db.productDAO();
return productDAO.findById(productId);
}
}
// zapisywanie produktu (Product jest parametrem wejściowym)
public void saveProduct(Product product) throws DBException {
try(DBConnection db = DBConnection.open()) {
ProductDAO productDAO = db.productDAO();
productDAO.save(product);
db.commit();
}
}
// dla chętnych kolejne metody: zapisywanie produktu (Product jest parametrem weejściowym)
// odczyt zamówienia wg ID a może też odczyt wszystkich zamówień wskazanego klienta // odczyt zamówienia wg ID a może też odczyt wszystkich zamówień wskazanego klienta
public Order readOneOrder(int orderId) throws DBException, RecordNotFound {
try(DBConnection db = DBConnection.open()) {
OrderDAO orderDAO = db.orderDAO();
return orderDAO.findById(orderId);
}
}
public List<Order> readCustomerOrders(String email) throws DBException {
try(DBConnection db = DBConnection.open()) {
OrderDAO orderDAO = db.orderDAO();
return orderDAO.customerOrders(email);
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment