package com.diodesoftware.scb.sysop;
import com.diodesoftware.scb.agents.UserAgent;
import com.diodesoftware.scb.agents.FormException;
import com.diodesoftware.scb.agents.UrlPurchaseAgent;
import com.diodesoftware.scb.tables.User;
import com.diodesoftware.scb.tables.UrlCheckout;
import com.diodesoftware.scb.tables.Payment;
import javax.servlet.ServletContext;
import java.sql.Connection;
public class SysopAgent {
public int queueUrlToBuy(String url, String username, Connection con)
throws FormException {
int userId = -1;
if (username != null) {
UserAgent ua = UserAgent.getInstance();
User user = ua.load(username, con);
if (user == null) throw new FormException("User [" + username + "' Not found");
userId = user.getNumber();
}
UrlPurchaseAgent upa = new UrlPurchaseAgent();
UrlCheckout checkout = upa.queueUrlToBuy(url, userId, con);
if (checkout == null)
throw new FormException("User is already buying that URL");
return checkout.getNumber();
}
public void completeUrlPurchase(int checkoutId, String itemNumber, Connection con, ServletContext context)
throws FormException {
UrlPurchaseAgent upa = new UrlPurchaseAgent();
Payment payment = new Payment();
payment.setItemNumber(itemNumber);
payment.setMessage("Interal url purchase from Sysop");
payment.setCustom(checkoutId + "");
upa.buyUrl(payment, con, context);
}
public void completeUrlTokenPurchase(int checkoutId, String itemNumber, String email, Connection con, ServletContext context) {
UrlPurchaseAgent upa = new UrlPurchaseAgent();
Payment payment = new Payment();
payment.setPayerEmail(email);
payment.setItemNumber(itemNumber);
payment.setMessage("Interal url purchase from Sysop");
payment.setCustom(checkoutId + "");
upa.buyUrl(payment, con, context);
}
}