Add stock results that show which companies have shares available.
1 files changed, 75 insertions(+), 0 deletions(-)

A => src/main/java/com/ajtjp/gearcitydata/StockMarketResult.java
A => src/main/java/com/ajtjp/gearcitydata/StockMarketResult.java +75 -0
@@ 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;
+    }
+}