public static void Initialize(IServiceProvider serviceProvider) { using (var context = new LandmarkRemarkDataContext( serviceProvider.GetRequiredService < DbContextOptions <LandmarkRemarkDataContext> >())) { if (context.Users.Any()) { return; // DB has been seeded } context.Users.AddRange( new UserModel { Id = 1, Name = "Noha" }, new UserModel { Id = 2, Name = "Adam" }, new UserModel { Id = 3, Name = "Basiony" } ); context.SaveChanges(); } }
public async Task <UserModel> GetUser(string username) { using (var db = new LandmarkRemarkDataContext()) { var user = db.Users.FirstOrDefault(u => u.UserName == username); if (user == null) { throw new KeyNotFoundException($"Unable to find user with username {username}"); } var locations = await(from l in db.UserLocation.AsNoTracking() where l.UserId == user.Id select new UserLocationModel() { Id = l.Id, UserId = l.UserId, Latitude = l.Latitude, Longitude = l.Longitude, }).ToListAsync(); await db.SaveChangesAsync(); return(new UserModel { Id = user.Id, UserName = user.UserName, UserLocation = locations }); } }
private static LandmarkRemarkDataContext CreateContext() { var name = Guid.NewGuid().ToString(); var builder = new DbContextOptionsBuilder <LandmarkRemarkDataContext>().UseInMemoryDatabase(name); var context = new LandmarkRemarkDataContext(builder.Options); return(context); }
public async void AddUser(UserModel user) { using (var db = new LandmarkRemarkDataContext()) { db.Users.Add(user); await db.SaveChangesAsync(); user.Id = user.Id; } }
public Task <UserModel> GetUser(string username) { using (var db = new LandmarkRemarkDataContext()) { var user = db.Users.FirstOrDefault(u => u.Name == username); if (user == null) { throw new KeyNotFoundException($"Unable to find user with username {username}"); } return(Task.FromResult(user)); } }
public async Task <UserModel> AddUser(UserModel user) { var newUser = new UserModel() { UserName = user.UserName }; using (var db = new LandmarkRemarkDataContext()) { db.Users.Add(newUser); await db.SaveChangesAsync(); user.Id = newUser.Id; } return(user); }