Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MyTaskDataAccess.cs
- using SQLite;
- using System.Collections.Generic;
- using System.Threading.Tasks;
- using TMApp.Models;
- namespace TMApp.Data
- {
- public class MyTaskIDataAccess
- {
- private static SQLiteAsyncConnection _database;
- public MyTaskIDataAccess()
- {
- _database = new TMASQLiteDatabase().GetConnectionAsync();
- _database.CreateTableAsync<MyTask>().Wait();
- }
- public Task<List<MyTask>> GetAllAsync()
- {
- return _database.Table<MyTask>().ToListAsync();
- }
- public Task<List<MyTask>> GetAllOrderByTitleAsync()
- {
- return _database.QueryAsync<MyTask>("SELECT * FROM MyTask ORDER BY Title");
- }
- public Task<List<MyTask>> GetNotDoneAsync()
- {
- return _database.Table<MyTask>().Where(t => t.IsDone == false).ToListAsync();
- }
- public Task<List<MyTask>> GetNotDoneOrderByTitleAsync()
- {
- return _database.QueryAsync<MyTask>("SELECT TaskId, " +
- "Title, Description, IsDone " +
- "FROM MyTask " +
- "WHERE IsDone=0 " +
- "ORDER BY Title");
- }
- public Task<MyTask> FindByAsync(int id)
- {
- return _database.Table<MyTask>().Where(t => t.TaskId == id).FirstOrDefaultAsync();
- }
- public Task<int> AddAsync(MyTask obj)
- {
- return _database.InsertAsync(obj);
- }
- public Task<int> UpdateAsync(MyTask obj)
- {
- return _database.UpdateAsync(obj);
- }
- public Task<int> DeleteAsync(int id)
- {
- return _database.DeleteAsync<MyTask>(id);
- }
- }
- }
- ------------------------------------------------------------------------------------------------------------------------------
- TMASQLiteDatabase.cs
- using SQLite;
- using System;
- using System.IO;
- namespace TMApp.Data
- {
- public sealed class TMASQLiteDatabase
- {
- private SQLiteAsyncConnection _database;
- public SQLiteAsyncConnection GetConnectionAsync()
- {
- if(_database is null)
- _database = new SQLiteAsyncConnection(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "TMAdb.SQLite3"));
- return _database;
- }
- }
- }
- ------------------------------------------------------------------------------------------------------------------------------
- MyTask.cs
- using SQLite;
- using System;
- namespace TMApp.Models
- {
- public class MyTask
- {
- [PrimaryKey, AutoIncrement]
- public Int32 TaskId { get; set; }
- public String Title { get; set; }
- public String Description { get; set; }
- public Boolean IsDone { get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement