Пример #1
0
        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();
            }
        }
Пример #2
0
        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);
        }
Пример #4
0
        public async void AddUser(UserModel user)
        {
            using (var db = new LandmarkRemarkDataContext())
            {
                db.Users.Add(user);
                await db.SaveChangesAsync();

                user.Id = user.Id;
            }
        }
Пример #5
0
 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));
     }
 }
Пример #6
0
        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);
        }