Guest User

Untitled

a guest
Jul 21st, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. public class UserRepository : IDisposable
  2. {
  3. private readonly UserDataContext context;
  4. public UserDataContext Context
  5. {
  6. get { return context; }
  7. }
  8.  
  9. public UserRepository()
  10. {
  11. context = new UserDataContext(UserDataContext.DBConnectionString);
  12. CreateDatabase();
  13. }
  14.  
  15. private void CreateDatabase()
  16. {
  17. if (context.DatabaseExists() == false)
  18. {
  19. context.CreateDatabase();
  20. }
  21. }
  22.  
  23. public User GetByID(int id)
  24. {
  25. return context.GetTable<User>().FirstOrDefault(e => e.UserId.Equals(id));
  26. }
  27.  
  28. public User GetByUsername(string username)
  29. {
  30. return context.GetTable<User>().FirstOrDefault(e => e.UserName.Equals(username));
  31. }
  32.  
  33. public void Save(User user)
  34. {
  35. if (user.UserId > 0)
  36. {
  37. context.GetTable<User>().Attach(user, true);
  38. }
  39. else
  40. {
  41. context.GetTable<User>().InsertOnSubmit(user);
  42. }
  43.  
  44. context.SubmitChanges();
  45. }
  46.  
  47. public List<User> GetAll()
  48. {
  49. return context.GetTable<User>().ToList();
  50. }
  51.  
  52. public int Count()
  53. {
  54. return context.GetTable<User>().Count();
  55. }
  56.  
  57. public void Dispose()
  58. {
  59. if (context != null)
  60. {
  61. context.Dispose();
  62. }
  63. }
  64. }
  65.  
  66. [Table]
  67. public class User
  68. {
  69. [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)]
  70. public int UserId { get; set; }
  71.  
  72. [Column]
  73. public string UserName { get; set; }
  74.  
  75. [Column]
  76. public string Password { get; set; }
  77. }
  78.  
  79. public class UserDataContext : DataContext
  80. {
  81. public static string DBConnectionString = "Data Source=isostore:/User.sdf";
  82.  
  83. public UserDataContext(string connectionString) : base(connectionString) { }
  84.  
  85. public Table<User> Users;
  86. }
Add Comment
Please, Sign In to add comment