コード例 #1
0
        private async Task DeleteTask(RestClient rc, string taskName)
        {
            string taskId = await InformaticaUtility.GetTaskId(rc, taskName);

            if (taskId != null)
            {
                await rc.Delete(string.Format(CultureInfo.InvariantCulture, URL_REPLICATION_TASK_ID, taskId));
            }
        }
コード例 #2
0
        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);

            InformaticaJob job = new InformaticaJob
            {
                TaskId   = await InformaticaUtility.GetTaskId(rc, InformaticaUtility.BPST_TASK_NAME),
                TaskName = InformaticaUtility.BPST_TASK_NAME,
                TaskType = "DRS"
            };
            await rc.Post(URL_JOB, JsonConvert.SerializeObject(job));

            await InformaticaUtility.Logout(rc, username, password);

            return(new ActionResponse(ActionStatus.Success, JsonUtility.GetEmptyJObject()));
        }
コード例 #3
0
        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);

            string response = await rc.Get(URL_ACTIVITY);

            List <InformaticaActivityLog> tasks = JsonConvert.DeserializeObject <List <InformaticaActivityLog> >(response);
            string taskId = await InformaticaUtility.GetTaskId(rc, InformaticaUtility.BPST_TASK_NAME);

            ActionResponse result = null;

            for (var i = 0; i < tasks.Count && result == null; i++)
            {
                if (tasks[i].TaskId.EqualsIgnoreCase(taskId))
                {
                    if (tasks[i].State.EqualsIgnoreCase("1") || tasks[i].State.EqualsIgnoreCase("2"))
                    {
                        result = new ActionResponse(ActionStatus.Success);
                    }
                    else if (tasks[i].ExecutionState.EqualsIgnoreCase("3"))
                    {
                        result = new ActionResponse(ActionStatus.Failure, JsonUtility.GetJObjectFromStringValue(tasks[i].ErrorMsg));
                    }
                    else
                    {
                        result = new ActionResponse(ActionStatus.InProgress);
                    }
                }
            }

            if (result == null)
            {
                result = new ActionResponse(ActionStatus.InProgress);
            }

            await InformaticaUtility.Logout(rc, username, password);

            return(result);
        }