コード例 #1
0
 private async Task <List <Establishment> > GetEstablismetnsAsync()
 {
     using (var db = new NerContext())
     {
         return(await db.Establishments.ToListAsync());
     }
 }
コード例 #2
0
 public async Task <List <Business> > GetBusinessesAsync()
 {
     using (var db = new NerContext())
     {
         return(await db.Businesses.ToListAsync());
     }
 }
コード例 #3
0
        private async Task CreateNewUser(User user)
        {
            using (var db = new NerContext())
            {
                await db.AddAsync(user);

                db.SaveChanges();
            }
        }
コード例 #4
0
 private async Task CreateNewCommandExecute()
 {
     using (var db = new NerContext())
     {
         db.Add(NewEstab);
         await db.SaveChangesAsync();
     }
     await LoadListCommandExecute();
 }
コード例 #5
0
        private async Task LoadUsers()
        {
            using (var db = new NerContext())
            {
                var _users = await db.Users.ToListAsync();

                Users.Clear();
                foreach (User user in _users)
                {
                    Users.Add(user);
                }
            }
            LoadedUsers = Users.Count;
        }
コード例 #6
0
        private async Task CreateNewBusinessExecute()
        {
            Debug.WriteLine(NewBusiness.ToString());

            await Task.Run(() =>
            {
                using (var db = new NerContext())
                {
                    db.Businesses.Add(NewBusiness);
                    db.SaveChanges();
                }
            });

            NewBusiness = new Business();
        }
コード例 #7
0
        private async Task EditProfileExecute()
        {
            NewUser.Nationality = selectedNat.Name;
            await Task.Run(() =>
            {
                using (var db = new NerContext())
                {
                    db.Users.Update(NewUser);
                    db.SaveChanges();
                }
            });

            (Application.Current as App).SaveUserInProperties(NewUser);
            Debug.WriteLine(NewUser.ToString());
        }
コード例 #8
0
 public AddNewBusinessViewModel()
 {
     AddNewBusinessCommand = new Command(() =>
     {
         using (var db = new NerContext())
         {
             db.Add(NewBusiness);
             db.SaveChanges();
         }
     });
     RefreshBusinessListCommand = new Command(async() =>
     {
         await LoadBusinesses();
     });
     LoadBusinessListCommand = new Command(async() =>
     {
         await LoadBusinesses();
     });
 }
コード例 #9
0
        protected override async void OnStart()
        {
            // Pre-load businesses
            await semaphore.WaitAsync(); // Make ViewModels wait for cached Businesses to load

            if (!Properties.ContainsKey("logged"))
            {
                MainPage = new NavigationPage(new LoginPage());
            }
            else
            {
                MainAppPage = new MainPage();
                MainPage    = new NavigationPage(MainAppPage);
            }

            await Task.Run(async() =>
            {
                Debug.WriteLine("Started loading to cache");
                using (var db = new NerContext())
                {
                    CachedBusinesses = await db.Businesses
                                       .Include(b => b.BusinessTags)
                                       .ThenInclude(bt => bt.Tag)
                                       .Include(b => b.Category)
                                       .Include(b => b.Reviews)
                                       .ThenInclude(r => r.User)
                                       .Include(b => b.Links)
                                       .Include(b => b.Category)
                                       .OrderBy(b => b.Name)
                                       .ToListAsync();// TODO make this safer
                    Debug.WriteLine("Loaded to cache");

                    CachedCategories = await db.Categories.ToListAsync();
                }
            });

            semaphore.Release();
        }