コード例 #1
0
        /// <summary>
        /// The restore groups.
        /// </summary>
        /// <returns>
        /// The <see cref="Task"/> for asynchronous operation.
        /// </returns>
        public async Task <IEnumerable <SkrapeGroup> > RestoreGroups()
        {
            var groups = new List <SkrapeGroup>();

            var groupsContainer = Roaming.CreateContainer(GroupKey, ApplicationDataCreateDisposition.Always);

            foreach (var group in groupsContainer.Values)
            {
                var restoredGroup = new SkrapeGroup {
                    Id = int.Parse(@group.Key)
                };
                var compositeValue = group.Value as ApplicationDataCompositeValue;
                if (compositeValue != null)
                {
                    restoredGroup.Title       = compositeValue[TitleProperty].ToString();
                    restoredGroup.Description = compositeValue[DescriptionProperty].ToString();
                    var pageCount = (int)compositeValue[PageCountProperty];
                    for (var idx = 0; idx < pageCount; idx++)
                    {
                        var pageId = (int)compositeValue[PageIndex + idx];
                        restoredGroup.Pages.Add(await RestorePage(pageId));
                    }
                }

                groups.Add(restoredGroup);
            }

            return(groups);
        }
コード例 #2
0
        /// <inheritdoc/>
        public void EnsureDefaults()
        {
            Roaming.SetValue <string>(SettingKeys.Token, null, false);

            Roaming.SetValue(SettingKeys.Theme, Theme.Windows, false);
            Roaming.SetValue(SettingKeys.Blurple, false, false);
            Roaming.SetValue(SettingKeys.ServerMuteIcons, true, false);
            Roaming.SetValue(SettingKeys.DerivedColor, false, false);
            Roaming.SetValue(SettingKeys.ExpensiveRendering, true, false);
            Roaming.SetValue(SettingKeys.FluentTheme, false, false);

            Roaming.SetValue(SettingKeys.MentionGlow, false, false);
            Roaming.SetValue(SettingKeys.AuthorPresence, false, false);
            Roaming.SetValue(SettingKeys.ShowNoPermssions, false, false);
            Roaming.SetValue(SettingKeys.HideMuted, false, false);
            Roaming.SetValue(SettingKeys.CollapseOverride, CollapseOverride.Unread, false);
            Roaming.SetValue(SettingKeys.FilterMembers, true, false);
            Roaming.SetValue(SettingKeys.TTLAttachments, false, false);
            Roaming.SetValue(SettingKeys.DataCompression, true, false);

            Roaming.SetValue(SettingKeys.OutputDevice, "Default", false);
            Roaming.SetValue(SettingKeys.InputDevice, "Default", false);

            Roaming.SetValue(
                SettingKeys.AcrylicSettings,
                AcrylicSettings.GuildView | AcrylicSettings.CommandBar,
                false);
        }
コード例 #3
0
        /// <summary>
        /// Restore a page
        /// </summary>
        /// <param name="pageId">The page identifier</param>
        /// <returns>The restored page</returns>
        private static async Task <SkrapedPage> RestorePage(int pageId)
        {
            var restoredPage = new SkrapedPage {
                Id = pageId
            };
            var loaded = LocalSettings.Values.ContainsKey("Page" + pageId) &&
                         (bool)LocalSettings.Values["Page" + pageId];
            var container = Roaming.CreateContainer(
                PageKey,
                ApplicationDataCreateDisposition.Always);
            var compositeValue = container.Values[pageId.ToString()] as ApplicationDataCompositeValue;

            if (compositeValue != null)
            {
                restoredPage.Url           = new Uri(compositeValue[UrlProperty].ToString());
                restoredPage.Title         = compositeValue[TitleProperty].ToString();
                restoredPage.ThumbnailPath = loaded
                                                 ? new Uri(compositeValue[ThumbnailProperty].ToString())
                                                 : new Uri("ms-appx:///Assets/ie.png");
                restoredPage.Loaded = loaded;
                var imageCount = (int)compositeValue[ImageCountProperty];
                for (var idx = 0; idx < imageCount; idx++)
                {
                    restoredPage.Images.Add(new Uri(compositeValue[ImageIndex + idx].ToString()));
                }
            }

            await RestorePageData(restoredPage);

            return(restoredPage);
        }
コード例 #4
0
        /// <summary>
        /// The save group.
        /// </summary>
        /// <param name="group">
        /// The group.
        /// </param>
        /// <returns>
        /// The <see cref="Task"/> to run asynchronously.
        /// </returns>
        public Task SaveGroup(SkrapeGroup group)
        {
            return(Task.Run(
                       () =>
            {
                var compositeValue = new ApplicationDataCompositeValue
                {
                    { IdProperty, @group.Id },
                    { TitleProperty, @group.Title },
                    {
                        DescriptionProperty,
                        @group.Description
                    },
                    {
                        PageCountProperty,
                        @group.Pages.Count()
                    }
                };
                for (var idx = 0; idx < group.Pages.Count(); idx++)
                {
                    compositeValue.Add(PageIndex + idx, group.Pages[idx].Id);
                }

                var container = Roaming.CreateContainer(GroupKey, ApplicationDataCreateDisposition.Always);
                container.Values[group.Id.ToString()] = compositeValue;
            }));
        }
コード例 #5
0
        /// <summary>
        /// The save page.
        /// </summary>
        /// <param name="page">
        /// The page.
        /// </param>
        /// <returns>
        /// The <see cref="Task"/> for asynchronous saving.
        /// </returns>
        public async Task SavePage(SkrapedPage page)
        {
            // save loaded status locally, so remote machines will load on first use
            LocalSettings.Values["Page" + page.Id] = page.Loaded;

            var compositeValue = new ApplicationDataCompositeValue
            {
                { IdProperty, page.Id },
                { TitleProperty, page.Title },
                { ThumbnailProperty, page.ThumbnailPath.ToString() },
                { UrlProperty, page.Url.ToString() },
                { ImageCountProperty, page.Images.Count() }
            };

            for (var idx = 0; idx < page.Images.Count(); idx++)
            {
                compositeValue.Add(ImageIndex + idx, page.Images[idx].ToString());
            }

            var container = Roaming.CreateContainer(
                PageKey,
                ApplicationDataCreateDisposition.Always);

            container.Values[page.Id.ToString()] = compositeValue;
            await SavePageData(page);
        }
コード例 #6
0
 public static RoamingDto Map(Roaming roaming)
 {
     return(new RoamingDto
     {
         FeePerMinute = roaming.FeePerMinute,
         NumberOfMinutes = roaming.NumberOfMinutes,
     });
 }
コード例 #7
0
        public void Save()
        {
            Local.Save();
            Roaming.Save();

            foreach (IUpdateFromSettings updatable in Updatables)
            {
                updatable.UpdateFromSettings(this);
            }
        }
コード例 #8
0
        /// <summary>
        /// The delete page method.
        /// </summary>
        /// <param name="page">
        /// The page.
        /// </param>
        public void DeletePage(SkrapedPage page)
        {
            var container = Roaming.CreateContainer(
                PageKey,
                ApplicationDataCreateDisposition.Always);

            if (container.Values.ContainsKey(page.Id.ToString()))
            {
                container.Values.Remove(page.Id.ToString());
            }
        }
コード例 #9
0
        /// <summary>
        /// The delete group method.
        /// </summary>
        /// <param name="group">
        /// The group.
        /// </param>
        public void DeleteGroup(SkrapeGroup group)
        {
            foreach (var page in group.Pages)
            {
                DeletePage(page);
            }

            var container = Roaming.CreateContainer(GroupKey, ApplicationDataCreateDisposition.Always);

            if (container.Values.ContainsKey(group.Id.ToString()))
            {
                container.Values.Remove(group.Id.ToString());
            }
        }
コード例 #10
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (HasLastCheckinMsec)
            {
                hash ^= LastCheckinMsec.GetHashCode();
            }
            if (HasCellOperator)
            {
                hash ^= CellOperator.GetHashCode();
            }
            if (HasSimOperator)
            {
                hash ^= SimOperator.GetHashCode();
            }
            if (HasRoaming)
            {
                hash ^= Roaming.GetHashCode();
            }
            if (HasUserNumber)
            {
                hash ^= UserNumber.GetHashCode();
            }
            if (HasType)
            {
                hash ^= Type.GetHashCode();
            }
            if (chromeBuild_ != null)
            {
                hash ^= ChromeBuild.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
コード例 #11
0
        public static void Execute()
        {
            // Configure in the 'app.config' which Logger levels are enabled(all levels are enabled in the example)
            // Check http://logging.apache.org/log4net/release/manual/configuration.html for more informations about the log4net configuration
            XmlConfigurator.Configure(new FileInfo("OneApiExamples.exe.config"));

            try
            {
                // example:data-connection-client
                Configuration configuration = new Configuration(System.Configuration.ConfigurationManager.AppSettings.Get("Username"),
                                                                System.Configuration.ConfigurationManager.AppSettings.Get("Password"));
                SMSClient smsClient = new SMSClient(configuration);
                // ----------------------------------------------------------------------------------------------------

                // example:retrieve-roaming-status
                Roaming roaming = smsClient.HlrClient.QueryHLR(address);
                // ----------------------------------------------------------------------------------------------------
                Console.WriteLine(roaming);
            }
            catch (RequestException e)
            {
                Console.WriteLine(e.Message);
            }
        }