CinderellaMGS.SQL_Queries.getStats C# (CSharp) 메소드

getStats() 공개 메소드

Retrieves all of the current stats for the system.
public getStats ( ) : string
리턴 string
        public string getStats()
        {
            //Total Number of Godmothers
            string totalGodmothersSQL = "Select count(*) From FairyGodmother";
            string totalGodmothersData = database.getAggDataString(totalGodmothersSQL, "tableName");

            //Godmothers available
            string totalGodmothersAvailableSQL = "Select count(*) From FairyGodmotherTimestamp, (Select ID, lastname + ', ' + firstname AS Name FROM FairyGodmother) n, (Select fairyGodmotherID, max(timestamp) as TimeStamp FROM FairyGodmotherTimestamp Group BY fairyGodmotherID) a Where a.fairyGodmotherID= FairyGodmotherTimestamp.fairyGodmotherID and a.timestamp= FairyGodmotherTimestamp.timestamp and n.ID= fairyGodmotherTimestamp.fairyGodmotherID and FairyGodmotherTimestamp.status='Available'";
            string totalGodmothersAvailableData = database.getAggDataString(totalGodmothersAvailableSQL, "tableName");

            //Godmothers pending
            string totalGodmothersPendingSQL = "Select count(*) From FairyGodmotherTimestamp, (Select ID, lastname + ', ' + firstname AS Name FROM FairyGodmother) n, (Select fairyGodmotherID, max(timestamp) as TimeStamp FROM FairyGodmotherTimestamp Group BY fairyGodmotherID) a Where a.fairyGodmotherID= FairyGodmotherTimestamp.fairyGodmotherID and a.timestamp= FairyGodmotherTimestamp.timestamp and n.ID= fairyGodmotherTimestamp.fairyGodmotherID and FairyGodmotherTimestamp.status='Pending'";
            string totalGodmothersPendingData = database.getAggDataString(totalGodmothersPendingSQL, "tableName");

            //Godmothers paired
            string totalGodmothersPairedSQL = "Select count(*) From FairyGodmotherTimestamp, (Select ID, lastname + ', ' + firstname AS Name FROM FairyGodmother) n, (Select fairyGodmotherID, max(timestamp) as TimeStamp FROM FairyGodmotherTimestamp Group BY fairyGodmotherID) a Where a.fairyGodmotherID= FairyGodmotherTimestamp.fairyGodmotherID and a.timestamp= FairyGodmotherTimestamp.timestamp and n.ID= fairyGodmotherTimestamp.fairyGodmotherID and FairyGodmotherTimestamp.status='Paired'";
            string totalGodmothersPairedData = database.getAggDataString(totalGodmothersPairedSQL, "tableName");

            //Godmothers shopping
            string totalGodmothersShoppingSQL = "Select count(*) From FairyGodmotherTimestamp, (Select ID, lastname + ', ' + firstname AS Name FROM FairyGodmother) n, (Select fairyGodmotherID, max(timestamp) as TimeStamp FROM FairyGodmotherTimestamp Group BY fairyGodmotherID) a Where a.fairyGodmotherID= FairyGodmotherTimestamp.fairyGodmotherID and a.timestamp= FairyGodmotherTimestamp.timestamp and n.ID= fairyGodmotherTimestamp.fairyGodmotherID and FairyGodmotherTimestamp.status='Shopping'";
            string totalGodmothersShoppingData = database.getAggDataString(totalGodmothersShoppingSQL, "tableName");

            //Godmothers Unavailable
            string totalGodmothersUnavailableSQL = "Select count(*) From FairyGodmotherTimestamp, (Select ID, lastname + ', ' + firstname AS Name FROM FairyGodmother) n, (Select fairyGodmotherID, max(timestamp) as TimeStamp FROM FairyGodmotherTimestamp Group BY fairyGodmotherID) a Where a.fairyGodmotherID= FairyGodmotherTimestamp.fairyGodmotherID and a.timestamp= FairyGodmotherTimestamp.timestamp and n.ID= fairyGodmotherTimestamp.fairyGodmotherID and FairyGodmotherTimestamp.status='Unavailable'";
            string totalGodmothersUnavailableData = database.getAggDataString(totalGodmothersUnavailableSQL, "tableName");

            //Total Number of Cinderellas
            string totalCinderellasSQL = "Select count(*) From Cinderella";
            string totalCinderellasData = database.getAggDataString(totalCinderellasSQL, "tableName");

            //Cinderellas pending
            string totalCinderellasPendingSQL = "SELECT count(*) FROM CinderellaTimestamp, (SELECT ID, lastname + ', ' + firstname AS NAME FROM Cinderella) n, (SELECT cinderellaID, MAX(TIMESTAMP) AS TIMESTAMP FROM CinderellaTimestamp GROUP BY cinderellaID) a WHERE a.cinderellaID= cinderellaTimestamp.cinderellaID AND a.timestamp= cinderellaTimestamp.timestamp AND n.ID= cinderellaTimestamp.cinderellaID AND cinderellaTimestamp.status='Pending'";
            string totalCinderellasPendingData = database.getAggDataString(totalCinderellasPendingSQL, "tableName");

            //Cimderellas Waiting
            string totalCinderellasWaitingSQL = "SELECT count(*) FROM CinderellaTimestamp, (SELECT ID, lastname + ', ' + firstname AS NAME FROM Cinderella) n, (SELECT cinderellaID, MAX(TIMESTAMP) AS TIMESTAMP FROM CinderellaTimestamp GROUP BY cinderellaID) a WHERE a.cinderellaID= cinderellaTimestamp.cinderellaID AND a.timestamp= cinderellaTimestamp.timestamp AND n.ID= cinderellaTimestamp.cinderellaID AND cinderellaTimestamp.status='Waiting'";
            string totalCinderellasWaitingData = database.getAggDataString(totalCinderellasWaitingSQL, "tableName");

            //Cinderellas Paired
            string totalCinderellasPairedSQL = "SELECT count(*) FROM CinderellaTimestamp, (SELECT ID, lastname + ', ' + firstname AS NAME FROM Cinderella) n, (SELECT cinderellaID, MAX(TIMESTAMP) AS TIMESTAMP FROM CinderellaTimestamp GROUP BY cinderellaID) a WHERE a.cinderellaID= cinderellaTimestamp.cinderellaID AND a.timestamp= cinderellaTimestamp.timestamp AND n.ID= cinderellaTimestamp.cinderellaID AND cinderellaTimestamp.status='Paired'";
            string totalCinderellasPairedData = database.getAggDataString(totalCinderellasPairedSQL, "tableName");

            //Cinderellas Shopping
            string totalCinderellasShoppingSQL = "SELECT count(*) FROM CinderellaTimestamp, (SELECT ID, lastname + ', ' + firstname AS NAME FROM Cinderella) n, (SELECT cinderellaID, MAX(TIMESTAMP) AS TIMESTAMP FROM CinderellaTimestamp GROUP BY cinderellaID) a WHERE a.cinderellaID= cinderellaTimestamp.cinderellaID AND a.timestamp= cinderellaTimestamp.timestamp AND n.ID= cinderellaTimestamp.cinderellaID AND cinderellaTimestamp.status='Shopping'";
            string totalCinderellasShoppingData = database.getAggDataString(totalCinderellasShoppingSQL, "tableName");

            //Cinderellas Checked-Out
            string totalCinderellasCheckoutSQL = "SELECT count(*) FROM CinderellaTimestamp, (SELECT ID, lastname + ', ' + firstname AS NAME FROM Cinderella) n, (SELECT cinderellaID, MAX(TIMESTAMP) AS TIMESTAMP FROM CinderellaTimestamp GROUP BY cinderellaID) a WHERE a.cinderellaID= cinderellaTimestamp.cinderellaID AND a.timestamp= cinderellaTimestamp.timestamp AND n.ID= cinderellaTimestamp.cinderellaID AND cinderellaTimestamp.status='Checked-Out'";
            string totalCinderellasCheckoutData = database.getAggDataString(totalCinderellasCheckoutSQL, "tableName");

            //Cinderella Average Shopping Time
            string totalCinderellasAverageShoppingSQL = "";
            string totalCinderellasAverageShoppingData = "";//"Need to write this Query";//database.getAggDataString(totalCinderellasAverageShoppingSQL, "tableName");

            return DateTime.Now.ToLongDateString() + "  " + DateTime.Now.ToShortTimeString() + "      " + "\r\n" + "\r\n" + "\r\n" +
            "GODMOTHER'S" + "\r\n" +
            "Total: " + totalGodmothersData + "\r\n" +
            "Pending: " + totalGodmothersPendingData + "\r\n" +
            "Available: " + totalGodmothersAvailableData + "\r\n" +
            "Paired: " + totalGodmothersPairedData + "\r\n" +
            "Shopping: " + totalGodmothersShoppingData + "\r\n" +
            "Unavailable: " + totalGodmothersUnavailableData + "\r\n" + "\r\n" +
            "CINDERELLA'S" + "\r\n" +
            "Total: " + totalCinderellasData + "\r\n" +
            "Pendng: " + totalCinderellasPendingData + "\r\n" +
            "Waiting: " + totalCinderellasWaitingData + "\r\n" +
            "Paired: " + totalCinderellasPairedData + "\r\n" +
            "Shopping: " + totalCinderellasShoppingData + "\r\n" +
            "Checked Out: " + totalCinderellasCheckoutData + "\r\n" + "\r\n";// +
            //"Average Shopping Time: " + totalCinderellasAverageShoppingData;
        }