/// <returns> /// <see cref="ServiceResponsePlanSummaryModel"/> /// </returns> protected override async Task <string> RunAsync(HttpClient client) { var destinationCredential = new SharePointCredential { AccountName = sharepointAccount, AppProfileName = "<app profile name>" }; var mappingContent = new FSMappingContent { Source = new FSPath { Path = "<path>", }, Destination = new FSMigrationSharePointObject { Url = "<sharepoint library url>", Level = "Library" }, Method = "AttachAsChild", }; var mappings = new FSMappingModel { SourceConnectionId = sourceConnectionId, DestinationCredential = destinationCredential, Contents = new List <FSMappingContent> { mappingContent }, }; var planSettings = new FSPlanSettingsModel { NameLabel = new PlanNameLabel { Name = $"CSharp_FS_Plan_{DateTime.Now.ToString("yyyyMMddHHmmss")}", BusinessUnit = "<BusinessUnit name>", Wave = "<Wave name>", }, MigrationMode = "HighSpeed", PolicyId = migrationPolicyId, Schedule = new ScheduleModel { IntervalType = "OnlyOnce", StartTime = DateTime.Now.AddMinutes(2), }, DatabaseId = migrationDatabaseId, }; var plan = new FSPlanModel { Mappings = mappings, Settings = planSettings, }; plan.Validate(); var requestContent = JsonConvert.SerializeObject(plan); var content = new StringContent(requestContent, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/api/filesystem/plans", content); return(await response.Content.ReadAsStringAsync()); }
/// <returns> /// <see cref="ServiceResponsePlanSummaryModel"/> /// </returns> protected override async Task <string> RunAsync(HttpClient client) { var sourceCredential = new SharePointCredential { AccountName = sourceSharePointAccount, }; var destinationCredential = new SharePointCredential { AccountName = destinationSharePointAccount, }; var siteLevelMappingContent = new SharePointMappingContent { Source = new SharePointObject { Url = "<sharepoint site url>", Level = "Site", }, Destination = new SharePointObject { Url = "<sharepoint site url>", Level = "Site" }, Method = "Combine", }; var siteCollectionLevelMappingContent = new SharePointMappingContent { Source = new SharePointObject { Url = "<sharepoint site collection url>", Level = "SiteCollection", }, Destination = new SharePointObject { Url = "<sharepoint site collection url>", Level = "SiteCollection" }, Method = "Combine", }; var mappings = new SharePointMappingModel { SourceCredential = sourceCredential, DestinationCredential = destinationCredential, Contents = new List <SharePointMappingContent> { siteLevelMappingContent, siteCollectionLevelMappingContent }, }; var planSettings = new SharePointPlanSettingsModel { NameLabel = new PlanNameLabel { Name = $"CSharp_SP_Plan_{DateTime.Now.ToString("yyyyMMddHHmmss")}", BusinessUnit = "<BusinessUnit name>", Wave = "<Wave name>" }, DatabaseId = migrationDatabaseId, MigrationMode = "HighSpeed", PolicyId = migrationPolicyId, Schedule = new ScheduleModel { IntervalType = "OnlyOnce", StartTime = DateTime.Now.AddMinutes(2), }, PlanGroups = new List <string>(), }; var plan = new SharePointPlanModel { Mappings = mappings, Settings = planSettings, }; plan.Validate(); var requestContent = JsonConvert.SerializeObject(plan); var content = new StringContent(requestContent, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/api/sharepoint/plans", content); return(await response.Content.ReadAsStringAsync()); }
/// <returns> /// <see cref="ServiceResponsePlanSummaryModel"/> /// </returns> protected override async Task <string> RunAsync(HttpClient client) { var destinationCredential = new SharePointCredential { AccountName = sharepointAccount, AppProfileName = "<app profile name>" }; var mappingContent = new GoogleDriveMappingContent { Source = new GoogleDriveObject { Path = "<path>", Level = "Folder", }, Destination = new GoogleDriveMigrationSharePointObject { Url = "<sharepoint library url>", Level = "Library", }, Method = "Combine" }; var mappings = new GoogleDriveMappingModel { SourceConnectionId = sourceConnectionId, DestinationCredential = destinationCredential, Contents = new List <GoogleDriveMappingContent> { mappingContent }, }; var planSettings = new GoogleDrivePlanSettingsModel { NameLabel = new PlanNameLabel { Name = $"CSharp_GD_Plan_{DateTime.Now.ToString("yyyyMMddHHmmss")}", BusinessUnit = "<BusinessUnit name>", Wave = "<Wave name>", }, PolicyId = migrationPolicyId, Schedule = new SimpleSchedule { IntervalType = "Once", StartTime = DateTime.Now.AddMinutes(2), }, DatabaseId = migrationDatabaseId, MigrateVersions = true, PlanGroups = new List <string>() }; var plan = new GoogleDrivePlanModel { Mappings = mappings, Settings = planSettings, }; plan.Validate(); var requestContent = JsonConvert.SerializeObject(plan); var content = new StringContent(requestContent, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/api/googledrive/plans", content); return(await response.Content.ReadAsStringAsync()); }