コード例 #1
0
ファイル: Database.cs プロジェクト: JonaLaw/Digyl
        private async Task FillPlaceType(string parentType, string[] childTypes, string[] reminders)
        {
            await _database.InsertAsync(new ParentPlaceTypeItem
            {
                Name = parentType,
                IsOn = true
            });

            ParentPlaceTypeItem parentTypeItem = await _database.Table <ParentPlaceTypeItem>().Where(p => p.Name.Equals(parentType)).FirstOrDefaultAsync();

            if (parentTypeItem == null)
            {
                throw new System.ArgumentException("Parent type name was not found", "parentType");
            }

            foreach (string childType in childTypes)
            {
                await _database.InsertAsync(new PlaceTypeItem
                {
                    ParentPlaceTypeID = parentTypeItem.ID,
                    Name            = childType,
                    OnEnter         = !string.IsNullOrWhiteSpace(reminders[0]),
                    OnExit          = !string.IsNullOrWhiteSpace(reminders[1]),
                    OnEnterReminder = reminders[0],
                    OnExitReminder  = reminders[1],
                    IsOn            = true
                });
            }
        }
コード例 #2
0
        async void OnItemTapped(object sender, ItemTappedEventArgs e)
        {
            if (e.Item == null)
            {
                return;
            }

            ParentPlaceTypeItem parentType = e.Item as ParentPlaceTypeItem;
            await Navigation.PushAsync(new PlaceTypesDetailsPage(parentType));
        }
コード例 #3
0
        async void OnItemToggle(object sender, ToggledEventArgs e)
        {
            if (_initial)
            {
                return;
            }

            Switch sw = sender as Switch;
            ParentPlaceTypeItem parentType = sw.BindingContext as ParentPlaceTypeItem;
            await App.Database.UpdateParentPlaceTypeAsync(parentType);
        }
コード例 #4
0
ファイル: Database.cs プロジェクト: JonaLaw/Digyl
 public Task <int> SaveParentPlaceTypeAsync(ParentPlaceTypeItem item)
 {
     if (item.ID != 0)
     {
         return(_database.UpdateAsync(item));
     }
     else
     {
         return(_database.InsertAsync(item));
     }
 }
コード例 #5
0
ファイル: Database.cs プロジェクト: JonaLaw/Digyl
        private async Task UpdateTypesAsync(ParentPlaceTypeItem parentType)
        {
            List <PlaceTypeItem> placeTypesToUpdate = await GetPlaceTypesAsync(parentType);

            if (placeTypesToUpdate != null)
            {
                foreach (PlaceTypeItem item in placeTypesToUpdate)
                {
                    item.IsOn = parentType.IsOn;
                    await SavePlaceTypeAsync(item);
                }
            }
            else
            {
                throw new System.ArgumentException("Type name was not found", "typeName");
            }
        }
コード例 #6
0
ファイル: Database.cs プロジェクト: JonaLaw/Digyl
 // child place types
 public Task <List <PlaceTypeItem> > GetPlaceTypesAsync(ParentPlaceTypeItem parentType)
 {
     return(_database.Table <PlaceTypeItem>().Where(t => t.ParentPlaceTypeID == parentType.ID).ToListAsync());
 }
コード例 #7
0
ファイル: Database.cs プロジェクト: JonaLaw/Digyl
 public async Task UpdateParentPlaceTypeAsync(ParentPlaceTypeItem item)
 {
     await SaveParentPlaceTypeAsync(item);
     await UpdateTypesAsync(item);
 }
コード例 #8
0
 public PlaceTypesDetailsPage(ParentPlaceTypeItem item)
 {
     InitializeComponent();
     parentType = item;
     this.Title = parentType.Name + " Type Details";
 }