public async Task SendActivityGroupExecutionDataToCentralDBAsync(AccountReportActivityGroup accountReportActivityGroup, bool isUpdate = false) { if (restClient != null) { RestRequest restRequest = (RestRequest) new RestRequest(SEND_ACTIVITYGROUP_EXECUTION_DATA, isUpdate ? Method.PUT : Method.POST) { RequestFormat = RestSharp.DataFormat.Json }.AddJsonBody(accountReportActivityGroup); string message = string.Format("execution data to Central DB for the Activities Group:'{0}' (Execution Id:'{1}', Parent Execution Id:'{2}')", accountReportActivityGroup.Name, accountReportActivityGroup.Id, accountReportActivityGroup.AccountReportDbBusinessFlowId); try { bool responseIsSuccess = await SendRestRequestAndGetResponse(SEND_ACTIVITYGROUP_EXECUTION_DATA, accountReportActivityGroup, isUpdate).ConfigureAwait(false); if (responseIsSuccess) { Reporter.ToLog(eLogLevel.DEBUG, "Successfully sent " + message); } else { Reporter.ToLog(eLogLevel.ERROR, "Failed to send " + message); } } catch (Exception ex) { Reporter.ToLog(eLogLevel.ERROR, "Exception when sending " + message, ex); } } }
public static AccountReportActivityGroup MapActivityGroupEndData(ActivitiesGroup activitiesGroup, Context context) { AccountReportActivityGroup accountReportActivityGroup = new AccountReportActivityGroup(); accountReportActivityGroup.Id = activitiesGroup.ExecutionId; accountReportActivityGroup.EntityId = activitiesGroup.Guid; accountReportActivityGroup.AccountReportDbBusinessFlowId = activitiesGroup.ParentExecutionId; accountReportActivityGroup.ExecutionId = (Guid)WorkSpace.Instance.RunsetExecutor.RunSetConfig.ExecutionID; accountReportActivityGroup.Name = activitiesGroup.Name; accountReportActivityGroup.EndTimeStamp = activitiesGroup.EndTimeStamp; accountReportActivityGroup.ElapsedEndTimeStamp = activitiesGroup.Elapsed; accountReportActivityGroup.RunStatus = activitiesGroup.RunStatus.ToString(); return(accountReportActivityGroup); }
public static AccountReportActivityGroup MapActivityGroupStartData(ActivitiesGroup activitiesGroup, Context context) { activitiesGroup.ExecutionId = Guid.NewGuid(); activitiesGroup.ParentExecutionId = context.BusinessFlow.ExecutionId; AccountReportActivityGroup accountReportActivityGroup = new AccountReportActivityGroup(); accountReportActivityGroup.Id = activitiesGroup.ExecutionId; accountReportActivityGroup.EntityId = activitiesGroup.Guid; accountReportActivityGroup.AccountReportDbBusinessFlowId = activitiesGroup.ParentExecutionId; accountReportActivityGroup.ExecutionId = (Guid)WorkSpace.Instance.RunsetExecutor.RunSetConfig.ExecutionID; accountReportActivityGroup.Seq = context.BusinessFlow.ActivitiesGroups.IndexOf(activitiesGroup) + 1;// context.BusinessFlow.ExecutionLogActivityGroupCounter; accountReportActivityGroup.Name = activitiesGroup.Name; accountReportActivityGroup.Description = activitiesGroup.Description; accountReportActivityGroup.Environment = ((GingerExecutionEngine)context.Runner).GingerRunner.ProjEnvironment.Name; accountReportActivityGroup.EnvironmentId = ((GingerExecutionEngine)context.Runner).GingerRunner.ProjEnvironment.Guid; accountReportActivityGroup.AutomationPrecentage = activitiesGroup.AutomationPrecentage; accountReportActivityGroup.StartTimeStamp = activitiesGroup.StartTimeStamp; accountReportActivityGroup.ExecutedActivitiesGUID = activitiesGroup.ExecutedActivities.Select(x => x.Key).ToList(); accountReportActivityGroup.RunStatus = _InProgressStatus; accountReportActivityGroup.IsPublished = activitiesGroup.Publish; return(accountReportActivityGroup); }
private async Task SendActivityGroupDataActionTask(ActivitiesGroup activityGroup) { AccountReportActivityGroup accountReportActivityGroup = AccountReportEntitiesDataMapping.MapActivityGroupEndData(activityGroup, mContext); await AccountReportApiHandler.SendActivityGroupExecutionDataToCentralDBAsync(accountReportActivityGroup, true); }