Database.cs
Třída s metodami pro databázi
C# .NET
using SQLite;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
namespace dluznicek
{
public class Database
{
private SQLiteAsyncConnection database;
public Database(string dbPath)
{
database = new SQLiteAsyncConnection(dbPath);
database.CreateTableAsync<ItemsTable>().Wait();
database.CreateTableAsync<Seznam>().Wait();
}
public Task<List<ItemsTable>> GetItemsAsync()
{
return database.Table<ItemsTable>().ToListAsync();
}
public Task<List<ItemsTable>> GetItemsNotDoneAsync()
{
return database.QueryAsync<ItemsTable>("SELECT * FROM [ItemsTable]"); // klasické SQL
}
public Task<List<Final>> GetItemsNotDoneAsyncTest()
{
Helper helper = new Helper();
return database.QueryAsync<Final>("SELECT [ItemsTable.Name], [ItemsTable.Price] FROM [ItemsTable], [Seznam] WHERE [ItemsTable.seznamID] = [Seznam.ID]");
} // klasické SQL
public Task<List<Seznam>> GetItemsFromSeznam()
{
return database.QueryAsync<Seznam>("SELECT * FROM [Seznam]"); // klasické SQL
}
/*public async Task<List<Seznam>> GetItemAsync()
{
var seznamy = (await database.Table<Seznam>().ToListAsync());
var items = (await database.Table<ItemsTable>().ToListAsync());
//return database.Table<ItemsTable>().Where(i => i.seznamID == id).FirstOrDefaultAsync(); // LINQ syntaxe
}*/
public Task<int> SaveItemAsync(ItemsTable item)
{
if (item.ID != 0)
{
return database.UpdateAsync(item);
}
else
{
return database.InsertAsync(item);
}
}
public Task<int> SaveItemAsyncSeznam(Seznam seznam)
{
if (seznam.ID != 0)
{
return database.UpdateAsync(seznam);
}
else
{
return database.InsertAsync(seznam);
}
}
public Task<int> DeleteItemAsync(ItemsTable item)
{
return database.DeleteAsync(item);
}
public Task<int> DeleteItemAsyncSeznam(Seznam seznam)
{
return database.DeleteAsync(seznam);
}
}
}
Neformátovaný
Přidáno: 27.3.2018
Expirace: Neuvedeno