@@ 0,0 1,75 @@
+
+package com.ajtjp.gearcitydata;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * @author Andrew
+ */
+public class StockMarketResult {
+ private String companyName;
+ private long sharesAvailable;
+ private float percentAvailable;
+ private float selfOwnership;
+
+ public StockMarketResult(String companyName, long sharesAvailable, float percentAvailable, float selfOwnership) {
+ this.companyName = companyName;
+ this.sharesAvailable = sharesAvailable;
+ this.percentAvailable = percentAvailable;
+ this.selfOwnership = selfOwnership;
+ }
+
+ public static List<StockMarketResult> getStockMarketResults(Connection conn) {
+
+ List<StockMarketResult> stockList = new ArrayList<>();
+ try {
+ PreparedStatement stmt = conn.prepareStatement(
+ "select Company_Name, Stocks_Avaliable, "
+ + "Coalesce((Stocks_Avaliable * 1.0)/Stocks_Issued, 0) as AvailablePercentage, "
+ + "Stocks_Selfowned, Stocks_Issued, "
+ + "COALESCE(((Stocks_Selfowned * 1.0)/Stocks_Issued), 1.0) as Self_Ownership\n" +
+ "from CompanyList\n" +
+ "where Active = 1\n" +
+ "order by AvailablePercentage Desc");
+ ResultSet rs = stmt.executeQuery();
+ while (rs.next()) {
+ String company = rs.getString(1);
+ long sharesAvailable = rs.getLong(2);
+ float availablePercentage = rs.getFloat(3);
+ float selfOwnership = rs.getFloat(6);
+
+ StockMarketResult smr = new StockMarketResult(company, sharesAvailable, availablePercentage, selfOwnership);
+
+ stockList.add(smr);
+ }
+
+ return stockList;
+ }
+ catch(SQLException ex) {
+ System.err.println(ex);
+ }
+ return new ArrayList<>();
+ }
+
+ public String getCompanyName() {
+ return companyName;
+ }
+
+ public long getSharesAvailable() {
+ return sharesAvailable;
+ }
+
+ public float getPercentAvailable() {
+ return percentAvailable;
+ }
+
+ public float getSelfOwnership() {
+ return selfOwnership;
+ }
+}