/// <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); }
/// <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); }
/// <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); }
/// <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)); } }
/// <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)); } }