コード例 #1
0
        public async Task CheckChanges(UserPreferences previous, ChangeCheckType type, Boolean updateBackend)
        {
            // Because this is an async function, need to debounce repeated calls which
            // can come from the UI controls.
            if (doingCheck)
            {
                return;
            }

            doingCheck = true;
            Boolean changed = await dataSource.CheckChanges(previous, type);

            if (changed)
            {
                SetLimitHeader();

                if (updateBackend)
                {
                    try
                    {
                        await WebAPI.SetUserPrefsAsync(CurrentUser, dataSource.GetCategories(CategorySet.Active));
                    }
                    catch (Exception ex)
                    {
                        Debug.WriteLine("ConfigurationViewModel.CheckChanges, WebAPI.SetUserPrefs failed: " + ex.Message);
                    }
                }
            }

            doingCheck = false;
        }
コード例 #2
0
ファイル: Model.cs プロジェクト: ste10k41/Altostratus
        public async Task <Boolean> CheckChanges(UserPreferences previous, ChangeCheckType type)
        {
            if ((type & ChangeCheckType.CategorySelection) == ChangeCheckType.CategorySelection)
            {
                // Update category status in the database
                foreach (Category c in categories)
                {
                    await DataAccessLayer.Current.UpdateOrAddCategoryAsync(c, CategoryKeepActive.Force);
                }

                // Update the UserPreferences
                CurrentUser.ActiveCategories = GetCategoryList(CategorySet.Active);
                await CurrentUser.Save();
            }

            HasChanged = !CurrentUser.IsEqual(previous);
            return(HasChanged);
        }
コード例 #3
0
        public async Task CheckChanges(UserPreferences previous, ChangeCheckType type, Boolean updateBackend)
        {           
            // Because this is an async function, need to debounce repeated calls which
            // can come from the UI controls.
            if (doingCheck)
            {
                return;
            }

            doingCheck = true;
            Boolean changed = await dataSource.CheckChanges(previous, type);

            if (changed)
            {
                SetLimitHeader();

                if (updateBackend)
                {
                    try
                    {
                        await WebAPI.SetUserPrefsAsync(CurrentUser, dataSource.GetCategories(CategorySet.Active));
                    }
                    catch (Exception ex)
                    {
                        Debug.WriteLine("ConfigurationViewModel.CheckChanges, WebAPI.SetUserPrefs failed: " + ex.Message);
                    }
                }
            }

            doingCheck = false;
        }