Advertisement
meweidat

Untitled

May 25th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. MyTaskDataAccess.cs
  2. using SQLite;
  3. using System.Collections.Generic;
  4. using System.Threading.Tasks;
  5. using TMApp.Models;
  6.  
  7. namespace TMApp.Data
  8. {
  9. public class MyTaskIDataAccess
  10. {
  11. private static SQLiteAsyncConnection _database;
  12.  
  13. public MyTaskIDataAccess()
  14. {
  15. _database = new TMASQLiteDatabase().GetConnectionAsync();
  16. _database.CreateTableAsync<MyTask>().Wait();
  17. }
  18.  
  19. public Task<List<MyTask>> GetAllAsync()
  20. {
  21. return _database.Table<MyTask>().ToListAsync();
  22. }
  23.  
  24. public Task<List<MyTask>> GetAllOrderByTitleAsync()
  25. {
  26. return _database.QueryAsync<MyTask>("SELECT * FROM MyTask ORDER BY Title");
  27. }
  28.  
  29. public Task<List<MyTask>> GetNotDoneAsync()
  30. {
  31. return _database.Table<MyTask>().Where(t => t.IsDone == false).ToListAsync();
  32. }
  33.  
  34. public Task<List<MyTask>> GetNotDoneOrderByTitleAsync()
  35. {
  36. return _database.QueryAsync<MyTask>("SELECT TaskId, " +
  37. "Title, Description, IsDone " +
  38. "FROM MyTask " +
  39. "WHERE IsDone=0 " +
  40. "ORDER BY Title");
  41. }
  42.  
  43. public Task<MyTask> FindByAsync(int id)
  44. {
  45. return _database.Table<MyTask>().Where(t => t.TaskId == id).FirstOrDefaultAsync();
  46. }
  47.  
  48. public Task<int> AddAsync(MyTask obj)
  49. {
  50. return _database.InsertAsync(obj);
  51. }
  52.  
  53. public Task<int> UpdateAsync(MyTask obj)
  54. {
  55. return _database.UpdateAsync(obj);
  56. }
  57.  
  58. public Task<int> DeleteAsync(int id)
  59. {
  60. return _database.DeleteAsync<MyTask>(id);
  61. }
  62. }
  63. }
  64. ------------------------------------------------------------------------------------------------------------------------------
  65. TMASQLiteDatabase.cs
  66. using SQLite;
  67. using System;
  68. using System.IO;
  69.  
  70. namespace TMApp.Data
  71. {
  72. public sealed class TMASQLiteDatabase
  73. {
  74. private SQLiteAsyncConnection _database;
  75.  
  76. public SQLiteAsyncConnection GetConnectionAsync()
  77. {
  78. if(_database is null)
  79. _database = new SQLiteAsyncConnection(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "TMAdb.SQLite3"));
  80. return _database;
  81. }
  82. }
  83. }
  84. ------------------------------------------------------------------------------------------------------------------------------
  85. MyTask.cs
  86. using SQLite;
  87. using System;
  88.  
  89. namespace TMApp.Models
  90. {
  91. public class MyTask
  92. {
  93. [PrimaryKey, AutoIncrement]
  94. public Int32 TaskId { get; set; }
  95. public String Title { get; set; }
  96. public String Description { get; set; }
  97. public Boolean IsDone { get; set; }
  98. }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement