/// <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="ServiceResponseString"/> /// </returns> protected override async Task <string> RunAsync(HttpClient client) { var sourceAccount = new AccountModel { Username = "******", Password = "******", }; var destinationAccount = new AccountModel { Username = "******", Password = "******", }; var mappingContent = new FSMappingContent { Source = new FSPath { Path = "<path>", }, Destination = new SharePointObject { Url = "<sharepoint library url>", Level = "Library" } }; var mappings = new FSMappingModel { SourceAccount = sourceAccount, DestinationAccount = destinationAccount, Contents = new List <FSMappingContent> { mappingContent }, }; var settings = new FSJobExecutionSettingsModel { MigrationMode = "HighSpeed", PolicyId = "Default_FileMigration_Profile", Schedule = new ScheduleModel { IntervalType = "OnlyOnce", StartTime = DateTime.Now.AddMinutes(2), }, }; var model = new FSJobExecutionModel { Mappings = mappings, Settings = settings, }; var requestContent = JsonConvert.SerializeObject(model); var content = new StringContent(requestContent, Encoding.UTF8, "application/json"); var response = await client.PostAsync($"/api/filesystem/jobs", content); return(await response.Content.ReadAsStringAsync()); }