public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { string username = request.DataStore.GetValue("InformaticaUsername"); string password = request.DataStore.GetValue("InformaticaPassword"); RestClient rc = await InformaticaUtility.Initialize(username, password); List <string> entities = JsonUtility.DeserializeEntities(request.DataStore.GetValue("Entities"), request.DataStore.GetValue("AdditionalObjects")); InformaticaTask task = new InformaticaTask { BulkApi = true, SourceConnectionId = await InformaticaUtility.GetConnectionId(rc, InformaticaUtility.BPST_SOURCE_NAME), TargetConnectionId = await InformaticaUtility.GetConnectionId(rc, InformaticaUtility.BPST_TARGET_NAME), Name = InformaticaUtility.BPST_TASK_NAME, OrgId = rc.ID, ReplicationObjects = entities.ToArray(), ScheduleId = await CreateSchedule(rc, "PBI_" + Guid.NewGuid().ToString("N")) }; await rc.Post(URL_REPLICATION_TASK, JsonConvert.SerializeObject(task)); await InformaticaUtility.Logout(rc, username, password); return(new ActionResponse(ActionStatus.Success)); }
private async Task DeleteConnection(RestClient rc, string connectionName) { string connectionId = await InformaticaUtility.GetConnectionId(rc, connectionName); if (connectionId != null) { await rc.Delete(string.Format(CultureInfo.InvariantCulture, URL_CONNECTION, connectionId)); } }