Beispiel #1
0
        public static TransferTask AddTask(SiteDb siteDb, string Url, string PageRelativeName = null, Guid UserId = default(Guid))
        {
            TransferTask newtask = new TransferTask();

            newtask.TaskType     = EnumTransferTaskType.SinglePage;
            newtask.FullStartUrl = Url;
            newtask.UserId       = UserId;

            newtask.Domains.Add(UrlHelper.UriHost(Url, true));

            newtask.RelativeName = PageRelativeName;
            siteDb.TransferTasks.AddOrUpdate(newtask);
            return(newtask);
        }
Beispiel #2
0
        public static TransferTask AddTask(SiteDb siteDb, string StartUrl, int totalcount, int level, Guid UserId = default(Guid))
        {
            TransferTask newtask = new TransferTask();

            newtask.Levels       = level;
            newtask.FullStartUrl = StartUrl;
            newtask.TaskType     = EnumTransferTaskType.ByLevel;
            newtask.Totalpages   = totalcount;
            newtask.UserId       = UserId;

            newtask.Domains.Add(UrlHelper.UriHost(StartUrl, true));

            siteDb.TransferTasks.AddOrUpdate(newtask);

            return(newtask);
        }
Beispiel #3
0
        public static async Task ExecuteTask(SiteDb siteDb, TransferTask transferTask)
        {
            ITransferExecutor executor = null;

            if (transferTask.TaskType == EnumTransferTaskType.ByLevel)
            {
                executor = new Executor.TransferByLevelExecutor();
            }
            else if (transferTask.TaskType == EnumTransferTaskType.BySelectedPages)
            {
                executor = new Executor.TransferBySelectedPagesExecutor();
            }
            else if (transferTask.TaskType == EnumTransferTaskType.SinglePage)
            {
                executor = new Executor.TransferSinglePageExecutor();
            }
            executor.SiteDb       = siteDb;
            executor.TransferTask = transferTask;
            await executor.Execute();
        }
Beispiel #4
0
        public static TransferTask AddTask(SiteDb siteDb, List <string> AllUrls, Guid UserId = default(Guid))
        {
            TransferTask newtask = new TransferTask();

            newtask.UserId   = UserId;
            newtask.TaskType = EnumTransferTaskType.BySelectedPages;

            bool haslink = false;

            foreach (var item in AllUrls)
            {
                if (!string.IsNullOrEmpty(item) && item.ToLower().StartsWith("http") && Lib.Helper.UrlHelper.IsValidUrl(item, true))
                {
                    TransferPage page = new TransferPage();
                    if (!haslink)
                    {
                        haslink = true;
                        page.DefaultStartPage = true;
                    }
                    page.taskid      = newtask.Id;
                    page.absoluteUrl = item;
                    page.done        = false;
                    siteDb.TransferPages.AddOrUpdate(page);

                    newtask.Domains.Add(UrlHelper.UriHost(item, true));
                }
            }

            if (!haslink)
            {
                return(null);
            }

            siteDb.TransferTasks.AddOrUpdate(newtask);
            return(newtask);
        }