コード例 #1
0
        /// <summary>
        /// Hämta varor filtrerade på butiksnamn
        /// </summary>
        /// <param name="store">Butiksnamn</param>
        /// <returns>DataRow med varor från butiken</returns>
        internal static DataRowCollection GetItemsByStore(string store)
        {
            // Hämta ID till butiken
            var storeId = GetStoreId(store);

            // Definiera en sökning
            var sql = $@"
                SELECT Items.Name, Purchases.Price, Purchases.Date
                FROM Purchases
                JOIN Stores ON Purchases.StoreId=Stores.ID
                JOIN Items ON Purchases.ItemId=Items.ID
                WHERE Purchases.StoreId = {storeId}
                ORDER BY date
                ";

            // Returnera Rows från Datatablen som kommer från Sökningen
            return(DBHandler.GetDataTable(sql)?.Rows);
        }
コード例 #2
0
        /// <summary>
        /// Hämta summan av alla inköp
        /// </summary>
        /// <returns>En Double med summan</returns>
        internal static double GetSumOfAllPurchases()
        {
            // Definiera SQL Sträng
            const string sql = "Select SUM(price) From Purchases";

            // Gör sökning
            var dt = DBHandler.GetDataTable(sql);

            // Kontrollera att vi fått svat
            if (dt.Rows.Count > 0)
            {
                // Returnera värdet på totalsumman
                return((double)dt.Rows[0][0]);
            }

            // Om vi inte fick något i svaret (för att det inte finns information i databasen), returnera noll
            return(0);
        }
コード例 #3
0
        /// <summary>
        /// Hämta antal inköp som gjorts
        /// </summary>
        /// <returns>Antalet</returns>
        internal static long GetAmountOfPurchases()
        {
            // Definiera SQL string
            const string sql = "SELECT Count(StoreId) from Purchases";

            // Hämta en DataTable
            var dt = DBHandler.GetDataTable(sql);

            // Kolla om DataTablen innehåller något
            if (dt.Rows.Count > 0)
            {
                // Returnera antal inköp
                return((long)dt.Rows[0][0]);
            }

            // Returnera noll, då inget fanns i databasen
            return(0);
        }
コード例 #4
0
        /// <summary>
        /// Hämtar en Butiks ID, om butiken inte finns så skapas den
        /// </summary>
        /// <param name="name">Namn på butiken</param>
        /// <returns>Returnerar ID till butiken</returns>
        public static long GetStoreId(string name)
        {
            // Definiera sökningen
            const string sql = "Select Id FROM Stores where Name LIKE @name";

            // Gör sökningen
            var dt = DBHandler.GetDataTable(sql, "@name", name);

            // Kontrollera om butiken hittades
            if (dt?.Rows.Count > 0)
            {
                // Ja, den fanns, Returnera Id
                return((long)dt.Rows[0]["Id"]);
            }
            else
            {
                // Nej den fanns inte, skapa den och returnera Id
                return(InsertStore(name));
            }
        }
コード例 #5
0
ファイル: ItemHandler.cs プロジェクト: marcusjobb/Net20
        /// <summary>
        /// Hämtar en varas ID, om varan inte finns så skapas den
        /// </summary>
        /// <param name="name">Namne på varan</param>
        /// <returns>Returnerar ID till varan</returns>
        public static long GetItemId(string name)
        {
            // Definiera SQL sökningen
            const string sql = "Select Id FROM Items where Name LIKE @name";

            // Sök efter varan
            var dt = DBHandler.GetDataTable(sql, "@name", name);

            // Kolla svaret för att veta om varan finns
            if (dt?.Rows.Count > 0)
            {
                // Returnera ID på varan
                return((long)dt.Rows[0]["Id"]);
            }
            else
            {
                // Varan fanns inte, skapar en ny och returnera ny Id
                return(InsertItem(name));
            }
        }