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); }
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); }
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(); }
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); }