public static JObject LogCore(HttpRequest req, Logging LogHelper) { short _FrameworkNumberOfRetries = Shared.GlobalConfigs.GetInt16Config("FrameworkNumberOfRetries"); string requestBody = new StreamReader(req.Body).ReadToEndAsync().Result; dynamic data = JsonConvert.DeserializeObject(requestBody); dynamic _TaskInstanceId = JObject.Parse(data.ToString())["TaskInstanceId"]; dynamic _NumberOfRetries = JObject.Parse(data.ToString())["NumberOfRetries"]; dynamic _PostObjectExecutionUid = JObject.Parse(data.ToString())["ExecutionUid"]; dynamic _AdfRunUid = JObject.Parse(data.ToString())["RunId"]; dynamic _LogTypeId = JObject.Parse(data.ToString())["LogTypeId"]; //1 Error, 2 Warning, 3 Info, 4 Performance, 5 Debug dynamic _LogSource = JObject.Parse(data.ToString())["LogSource"]; //ADF, AF dynamic _ActivityType = JObject.Parse(data.ToString())["ActivityType"]; dynamic _StartDateTimeOffSet = JObject.Parse(data.ToString())["StartDateTimeOffSet"]; dynamic _Status = JObject.Parse(data.ToString())["Status"]; //Started Failed Completed dynamic _Comment = JObject.Parse(data.ToString())["Comment"]; _Comment = _Comment == null ? null : _Comment.ToString().Replace("'", ""); dynamic _EndDateTimeOffSet = JObject.Parse(data.ToString())["EndDateTimeOffSet"]; dynamic _RowsInserted = JObject.Parse(data.ToString())["RowsInserted"]; if (_TaskInstanceId != null) { LogHelper.DefaultActivityLogItem.TaskInstanceId = (long?)_TaskInstanceId; } if (_LogSource != null) { LogHelper.DefaultActivityLogItem.LogSource = (string)_LogSource; } if (_LogTypeId != null) { LogHelper.DefaultActivityLogItem.LogTypeId = (short?)_LogTypeId; } if (_StartDateTimeOffSet != null) { LogHelper.DefaultActivityLogItem.StartDateTimeOffset = (DateTimeOffset)_StartDateTimeOffSet; } if (_Status != null) { LogHelper.DefaultActivityLogItem.Status = (string)_Status; } if (_EndDateTimeOffSet != null) { LogHelper.DefaultActivityLogItem.EndDateTimeOffset = (DateTimeOffset)_EndDateTimeOffSet; } if (_PostObjectExecutionUid != null) { LogHelper.DefaultActivityLogItem.ExecutionUid = (Guid?)_PostObjectExecutionUid; } LogHelper.LogInformation(_Comment); TaskMetaDataDatabase TMD = new TaskMetaDataDatabase(); BaseTasks.TaskStatus TaskStatus = new BaseTasks.TaskStatus(); if (_ActivityType == "Data-Movement-Master") { if (_Status == "Failed") { //Todo Put Max Number of retries in DB at TaskMasterLevel -- This has now been done. Have left logic in function as stored procedure handles with all failed statuses. _NumberOfRetries = (_NumberOfRetries == null) ? 0 : (int)_NumberOfRetries + 1; TaskStatus = ((_NumberOfRetries < _FrameworkNumberOfRetries) ? BaseTasks.TaskStatus.FailedRetry : BaseTasks.TaskStatus.FailedNoRetry); } else { if (Enum.TryParse <BaseTasks.TaskStatus>(_Status.ToString(), out TaskStatus) == false) { string InvalidStatus = "TaskStatus Enum does not exist for: " + _Status.ToString(); LogHelper.LogErrors(new Exception("TaskStatus Enum does not exist for: " + _Status.ToString())); _Comment = _Comment.ToString() + "." + InvalidStatus; TaskStatus = BaseTasks.TaskStatus.FailedNoRetry; } } TMD.LogTaskInstanceCompletion((Int64)_TaskInstanceId, (System.Guid)_PostObjectExecutionUid, TaskStatus, (System.Guid)_AdfRunUid, (String)_Comment); } JObject Root = new JObject { ["Result"] = "Complete" }; return(Root); }
public void LogTaskInstanceCompletion(System.Int64 TaskInstanceId, System.Guid Executionid, BaseTasks.TaskStatus Status, System.Guid AdfRunUid, string Comment) { SqlConnection _con = this.GetSqlConnection(); Dictionary <string, object> SqlParams = new Dictionary <string, object> { { "ExecutionStatus", Status.ToString() }, { "TaskInstanceId", TaskInstanceId }, { "ExecutionUid", Executionid }, { "AdfRunUid", AdfRunUid }, { "Comment", Comment } }; string _cmd = @"exec UpdTaskInstanceExecution @ExecutionStatus, @TaskInstanceId, @ExecutionUid, @AdfRunUid, @Comment"; _con.Execute(_cmd, SqlParams); }