예제 #1
0
        protected override async void OnStart()
        {
            // shows Loading...
            MainPage = new LoadPage();

            await Task.Yield();

            // Handle when your app starts

            // Just a simulation with 10 tries to get the data
            for (int i = 0; i < 10; i++)
            {
                await Task.Delay(500);

                // await internet_service.InitializeAsync();
                await MainPage.DisplayAlert(
                    "Connection Error",
                    "Unable to connect with the server. Check your internet connection and try again",
                    "Try again");
            }
            await Task.Delay(2000);

            // after loading is complete show the real page
            MainPage = new MainPage();
        }
예제 #2
0
        // public async Task LoadEmailPaqe(string link)
        // {
        //     try
        //     {
        //         LoadPage loadPage = new LoadPage();
        //         var pageHtml = await loadPage.load(link);
        //         Console.WriteLine(link);
        //         Console.WriteLine(pageHtml);
        //         Console.WriteLine("\n\n\n\n\n\n\n\n");

        //         typePage.Add(pageHtml);
        //     }
        //     catch (System.Exception)
        //     {

        //     }

        // }

        public static async Task GelTypes()
        {
            LoadPage loadPage  = new LoadPage();
            var      typesPage = await loadPage.load("https://ecomotive.ir/startups-list");

            Program.TypesPage = typesPage;
        }
예제 #3
0
        public async Task LoadTypePaqe(string link)
        {
            try
            {
                LoadPage loadPage = new LoadPage();
                await Task.Delay(random.Next(0, 5) * 5000 + 1);

                var pageHtml = await loadPage.load(link);

                if (pageHtml.Contains("Server Error"))
                {
                    Console.WriteLine("server error {0}", link);
                    await LoadTypePaqe(link);
                }
                else
                {
                    typePage.Add(pageHtml);
                    Console.WriteLine("success in link {0}", link);
                }
            }
            catch (System.Exception e)
            {
                Console.WriteLine("problem in link {0} message: {1}", link, e.InnerException != null ? e.InnerException.Message : e.Message);
                await LoadTypePaqe(link);
            }
        }
예제 #4
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (pageIndex > 0)
     {
         pageIndex--;
         label1.Text = (pageIndex + 1) + "/" + pages;
         LoadPage.RunWorkerAsync();
     }
 }
예제 #5
0
        private void LoadPage_DoWork(object sender, DoWorkEventArgs e)
        {
            BeginInvoke(new MethodInvoker(delegate
            {
                progressBar.Visible   = true;
                progressBar.Value     = 0;
                label1.Text           = (pageIndex + 1) + "/" + pages;
                panelPage.Visible     = true;
                button1.Enabled       = false;
                button2.Enabled       = false;
                button_search.Enabled = false;
            }));

            var animes = animeEntries.Skip(pageIndex * entriesPerPage).Take(entriesPerPage);

            LoadPage.ReportProgress(10);

            BeginInvoke(new MethodInvoker(delegate
            {
                panelEntry.Controls.Clear();
            }));

            float progress = 10;
            float step     = 90f / animes.Count();

            foreach (var a in animes)
            {
                AnimeEntry entry = new AnimeEntry(a);
                entry.Dock = DockStyle.Top;

                BeginInvoke(new MethodInvoker(delegate
                {
                    entry.Visible = false;
                    panelEntry.Controls.Add(entry);
                    entry.BringToFront();  // entry.BringToFront(); - to add controls in correct order
                    entry.Visible = true;
                }));
                System.Threading.Thread.Sleep(100);

                progress += step;
                LoadPage.ReportProgress((int)progress);
            }

            BeginInvoke(new MethodInvoker(delegate
            {
                progressBar.Visible   = false;
                button1.Enabled       = true;
                button2.Enabled       = true;
                button_search.Enabled = true;
            }));
        }
예제 #6
0
        public void SetupChain()
        {
            var adminRoleHandler       = new AdminGetFullAccess();
            var demandEditorRole       = new DemandEditorRole();
            var loadPage               = new LoadPage();
            var correctRoleGivesAccess = new CorrectRoleGivesAccess();

            adminRoleHandler
            .SetNext(demandEditorRole)
            .SetNext(loadPage)
            .SetNext(correctRoleGivesAccess);

            _firstHandlerInChain = adminRoleHandler;
        }
예제 #7
0
        private void backgroundEntryWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            BeginInvoke(new MethodInvoker(delegate
            {
                progressBar.Visible   = true;
                progressBar.Value     = 5;
                pageIndex             = 0;
                button_search.Enabled = false;
            }));

            animeEntries = GetAnimes();
            pages        = (int)Math.Ceiling(animeEntries.Count() * 1.0 / entriesPerPage);
            AsyncWorker.ReportProgress(10);

            LoadPage.RunWorkerAsync();
        }
예제 #8
0
        internal static IEntityList <IDocflow> DocflowsList(
            IExternHttpClient apiClient,
            Guid accountId,
            Guid docflowId,
            Guid documentId,
            DocflowFilterBuilder?filterBuilder,
            LoadPage loadPage)
        {
            var docflowFilter = filterBuilder?.CreateFilter() ?? new DocflowFilter();

            return(new EntityList <IDocflow>(
                       async(skip, take, timeout) =>
            {
                docflowFilter.SetSkip(skip);
                docflowFilter.SetTake(take);

                var relatedDocflows = await loadPage(apiClient, accountId, docflowId, documentId, docflowFilter, timeout).ConfigureAwait(false);
                return (relatedDocflows.DocflowsPageItem, relatedDocflows.TotalCount);
            }));
        }