{ "timestamp": "2026-08-15 18:13:51.2191", "level": "Error", "severity": "ERROR", "TraceId": "82a4d51a-7a95-47b2-87bf-fecf691f560e", "message": "Exception in Dhilog HTTP POST: An error occurred while sending the request.", "ApiInput": {"Method":"GET","Url":"https://api-sandbox.oqsha.com/AccessControl/Modules/264","Route":"/AccessControl/Modules/264","Query":"","Body":""} }
{ "timestamp": "2026-08-15 18:16:20.5870", "level": "Error", "severity": "ERROR", "TraceId": "0f75a44e-0628-4d70-8b61-bac39f846efb", "message": "Response status code does not indicate success: 400 (BAD REQUEST).", "stackTrace": "System.Net.Http.HttpRequestException: Response status code does not indicate success: 400 (BAD REQUEST).\r\n   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()\r\n   at IncidentReporter.API.Helpers.SupersetClient.<PostGuestTokenAsync>d__15.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.API\\Helpers\\SupersetClient.cs:line 95\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.API.Helpers.SupersetClient.<MintGuestTokenAsync>d__14.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.API\\Helpers\\SupersetClient.cs:line 71\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.API.BLL.EmbedBll.<GetGuestTokenAsync>d__5.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.API\\BLL\\EmbedBll.cs:line 120", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisation/264/Embed/GuestToken","Route":"/Organisation/264/Embed/GuestToken","Query":"","Body":{"resourceType":"master_dashboard","resourceUuid":"4"}}, "MethodName": "GetGuestTokenAsync", "EntryPoint": "API", "InputData": null, "TraceId": "0f75a44e-0628-4d70-8b61-bac39f846efb", "ApiInputJson": "{\"Method\":\"POST\",\"Url\":\"https:\/\/api-sandbox.oqsha.com\/Organisation\/264\/Embed\/GuestToken\",\"Route\":\"\/Organisation\/264\/Embed\/GuestToken\",\"Query\":\"\",\"Body\":{\"resourceType\":\"master_dashboard\",\"resourceUuid\":\"4\"}}" }
{ "timestamp": "2026-08-15 18:16:20.6127", "level": "Error", "severity": "ERROR", "TraceId": "0f75a44e-0628-4d70-8b61-bac39f846efb", "message": "Failed to send log to Dhilog: NotFound | {\"type\":\"about:blank\",\"title\":\"Not Found\",\"status\":404,\"detail\":\"Cannot POST /Log\",\"instance\":\"/Log\",\"error_code\":\"NOT_FOUND\"}", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisation/264/Embed/GuestToken","Route":"/Organisation/264/Embed/GuestToken","Query":"","Body":{"resourceType":"master_dashboard","resourceUuid":"4"}} }
{ "timestamp": "2026-08-15 18:35:35.7095", "level": "Error", "severity": "ERROR", "TraceId": "1a3a72ac-a4d5-477f-acba-72a3363465b9", "message": "Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))", "stackTrace": "MySql.Data.MySqlClient.MySqlException (0x80004005): Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))\r\n   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()\r\n   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)\r\n   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)\r\n   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()\r\n   at System.Data.Common.DbCommand.ExecuteScalarAsync(CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Dapper.SqlMapper.<ExecuteScalarImplAsync>d__66`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.DAL.Repositories.NominationsRepo.<InsertNominationsAsync>d__4.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.DAL\\Repositories\\NominationsRepo.cs:line 175\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.API.BLL.NominationsBll.<CreateNominationsAsync>d__7.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.API\\BLL\\NominationsBll.cs:line 180", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[845],"DepartmentIds":[265,335],"CourseIds":[285],"NominationStatusId":2,"TrainingNeedIdentificationId":253,"NominatedUsers":[{"UserId":14768,"CourseIds":[285],"Remarks":""}]}}, "MethodName": "CreateNominationsAsync", "EntryPoint": "API", "InputData": null, "TraceId": "1a3a72ac-a4d5-477f-acba-72a3363465b9", "ApiInputJson": "{\"Method\":\"POST\",\"Url\":\"https:\/\/api-sandbox.oqsha.com\/Organisations\/264\/Nominations\",\"Route\":\"\/Organisations\/264\/Nominations\",\"Query\":\"\",\"Body\":{\"SiteIds\":[845],\"DepartmentIds\":[265,335],\"CourseIds\":[285],\"NominationStatusId\":2,\"TrainingNeedIdentificationId\":253,\"NominatedUsers\":[{\"UserId\":14768,\"CourseIds\":[285],\"Remarks\":\"\"}]}}" }
{ "timestamp": "2026-08-15 18:35:35.7848", "level": "Error", "severity": "ERROR", "TraceId": "1a3a72ac-a4d5-477f-acba-72a3363465b9", "message": "Failed to send log to Dhilog: NotFound | {\"type\":\"about:blank\",\"title\":\"Not Found\",\"status\":404,\"detail\":\"Cannot POST /Log\",\"instance\":\"/Log\",\"error_code\":\"NOT_FOUND\"}", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[845],"DepartmentIds":[265,335],"CourseIds":[285],"NominationStatusId":2,"TrainingNeedIdentificationId":253,"NominatedUsers":[{"UserId":14768,"CourseIds":[285],"Remarks":""}]}} }
{ "timestamp": "2026-08-15 18:35:36.3462", "level": "Error", "severity": "ERROR", "TraceId": "1d4cbb26-ebef-42b7-8dd2-ff5d1f3b96bb", "message": "Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))", "stackTrace": "MySql.Data.MySqlClient.MySqlException (0x80004005): Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))\r\n   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()\r\n   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)\r\n   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)\r\n   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()\r\n   at System.Data.Common.DbCommand.ExecuteScalarAsync(CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Dapper.SqlMapper.<ExecuteScalarImplAsync>d__66`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.DAL.Repositories.NominationsRepo.<InsertNominationsAsync>d__4.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.DAL\\Repositories\\NominationsRepo.cs:line 175\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.API.BLL.NominationsBll.<CreateNominationsAsync>d__7.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.API\\BLL\\NominationsBll.cs:line 180", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[845],"DepartmentIds":[267,268,269,270,271],"CourseIds":[285],"NominationStatusId":2,"TrainingNeedIdentificationId":253,"NominatedUsers":[{"UserId":23017,"CourseIds":[285],"Remarks":""}]}}, "MethodName": "CreateNominationsAsync", "EntryPoint": "API", "InputData": null, "TraceId": "1d4cbb26-ebef-42b7-8dd2-ff5d1f3b96bb", "ApiInputJson": "{\"Method\":\"POST\",\"Url\":\"https:\/\/api-sandbox.oqsha.com\/Organisations\/264\/Nominations\",\"Route\":\"\/Organisations\/264\/Nominations\",\"Query\":\"\",\"Body\":{\"SiteIds\":[845],\"DepartmentIds\":[267,268,269,270,271],\"CourseIds\":[285],\"NominationStatusId\":2,\"TrainingNeedIdentificationId\":253,\"NominatedUsers\":[{\"UserId\":23017,\"CourseIds\":[285],\"Remarks\":\"\"}]}}" }
{ "timestamp": "2026-08-15 18:35:36.3462", "level": "Error", "severity": "ERROR", "TraceId": "1d4cbb26-ebef-42b7-8dd2-ff5d1f3b96bb", "message": "Failed to send log to Dhilog: NotFound | {\"type\":\"about:blank\",\"title\":\"Not Found\",\"status\":404,\"detail\":\"Cannot POST /Log\",\"instance\":\"/Log\",\"error_code\":\"NOT_FOUND\"}", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[845],"DepartmentIds":[267,268,269,270,271],"CourseIds":[285],"NominationStatusId":2,"TrainingNeedIdentificationId":253,"NominatedUsers":[{"UserId":23017,"CourseIds":[285],"Remarks":""}]}} }
{ "timestamp": "2026-08-15 18:35:36.9028", "level": "Error", "severity": "ERROR", "TraceId": "015c8d5c-155b-4232-ae0c-4c57fcfaea92", "message": "Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))", "stackTrace": "MySql.Data.MySqlClient.MySqlException (0x80004005): Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))\r\n   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()\r\n   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)\r\n   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)\r\n   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()\r\n   at System.Data.Common.DbCommand.ExecuteScalarAsync(CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Dapper.SqlMapper.<ExecuteScalarImplAsync>d__66`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.DAL.Repositories.NominationsRepo.<InsertNominationsAsync>d__4.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.DAL\\Repositories\\NominationsRepo.cs:line 175\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.API.BLL.NominationsBll.<CreateNominationsAsync>d__7.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.API\\BLL\\NominationsBll.cs:line 180", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[846],"DepartmentIds":[387,276,282,275,277],"CourseIds":[285],"NominationStatusId":2,"TrainingNeedIdentificationId":253,"NominatedUsers":[{"UserId":16318,"CourseIds":[285],"Remarks":""}]}}, "MethodName": "CreateNominationsAsync", "EntryPoint": "API", "InputData": null, "TraceId": "015c8d5c-155b-4232-ae0c-4c57fcfaea92", "ApiInputJson": "{\"Method\":\"POST\",\"Url\":\"https:\/\/api-sandbox.oqsha.com\/Organisations\/264\/Nominations\",\"Route\":\"\/Organisations\/264\/Nominations\",\"Query\":\"\",\"Body\":{\"SiteIds\":[846],\"DepartmentIds\":[387,276,282,275,277],\"CourseIds\":[285],\"NominationStatusId\":2,\"TrainingNeedIdentificationId\":253,\"NominatedUsers\":[{\"UserId\":16318,\"CourseIds\":[285],\"Remarks\":\"\"}]}}" }
{ "timestamp": "2026-08-15 18:35:36.9079", "level": "Error", "severity": "ERROR", "TraceId": "015c8d5c-155b-4232-ae0c-4c57fcfaea92", "message": "Failed to send log to Dhilog: NotFound | {\"type\":\"about:blank\",\"title\":\"Not Found\",\"status\":404,\"detail\":\"Cannot POST /Log\",\"instance\":\"/Log\",\"error_code\":\"NOT_FOUND\"}", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[846],"DepartmentIds":[387,276,282,275,277],"CourseIds":[285],"NominationStatusId":2,"TrainingNeedIdentificationId":253,"NominatedUsers":[{"UserId":16318,"CourseIds":[285],"Remarks":""}]}} }
{ "timestamp": "2026-08-15 18:35:37.5263", "level": "Error", "severity": "ERROR", "TraceId": "d3f976ca-8e07-4560-8ebd-6a7bb97604bd", "message": "Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))", "stackTrace": "MySql.Data.MySqlClient.MySqlException (0x80004005): Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))\r\n   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()\r\n   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)\r\n   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)\r\n   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()\r\n   at System.Data.Common.DbCommand.ExecuteScalarAsync(CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Dapper.SqlMapper.<ExecuteScalarImplAsync>d__66`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.DAL.Repositories.NominationsRepo.<InsertNominationsAsync>d__4.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.DAL\\Repositories\\NominationsRepo.cs:line 175\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.API.BLL.NominationsBll.<CreateNominationsAsync>d__7.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.API\\BLL\\NominationsBll.cs:line 180", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[846,845,900],"DepartmentIds":[363,275],"CourseIds":[285],"NominationStatusId":2,"TrainingNeedIdentificationId":253,"NominatedUsers":[{"UserId":16545,"CourseIds":[285],"Remarks":""}]}}, "MethodName": "CreateNominationsAsync", "EntryPoint": "API", "InputData": null, "TraceId": "d3f976ca-8e07-4560-8ebd-6a7bb97604bd", "ApiInputJson": "{\"Method\":\"POST\",\"Url\":\"https:\/\/api-sandbox.oqsha.com\/Organisations\/264\/Nominations\",\"Route\":\"\/Organisations\/264\/Nominations\",\"Query\":\"\",\"Body\":{\"SiteIds\":[846,845,900],\"DepartmentIds\":[363,275],\"CourseIds\":[285],\"NominationStatusId\":2,\"TrainingNeedIdentificationId\":253,\"NominatedUsers\":[{\"UserId\":16545,\"CourseIds\":[285],\"Remarks\":\"\"}]}}" }
{ "timestamp": "2026-08-15 18:35:37.5313", "level": "Error", "severity": "ERROR", "TraceId": "d3f976ca-8e07-4560-8ebd-6a7bb97604bd", "message": "Failed to send log to Dhilog: NotFound | {\"type\":\"about:blank\",\"title\":\"Not Found\",\"status\":404,\"detail\":\"Cannot POST /Log\",\"instance\":\"/Log\",\"error_code\":\"NOT_FOUND\"}", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[846,845,900],"DepartmentIds":[363,275],"CourseIds":[285],"NominationStatusId":2,"TrainingNeedIdentificationId":253,"NominatedUsers":[{"UserId":16545,"CourseIds":[285],"Remarks":""}]}} }
{ "timestamp": "2026-08-15 18:35:38.1251", "level": "Error", "severity": "ERROR", "TraceId": "b71b9079-5f28-48af-bfbf-56b23553006d", "message": "Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))", "stackTrace": "MySql.Data.MySqlClient.MySqlException (0x80004005): Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))\r\n   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()\r\n   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)\r\n   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)\r\n   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()\r\n   at System.Data.Common.DbCommand.ExecuteScalarAsync(CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Dapper.SqlMapper.<ExecuteScalarImplAsync>d__66`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.DAL.Repositories.NominationsRepo.<InsertNominationsAsync>d__4.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.DAL\\Repositories\\NominationsRepo.cs:line 175\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.API.BLL.NominationsBll.<CreateNominationsAsync>d__7.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.API\\BLL\\NominationsBll.cs:line 180", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[845],"DepartmentIds":[264,262,272,388,359],"CourseIds":[286],"NominationStatusId":2,"TrainingNeedIdentificationId":254,"NominatedUsers":[{"UserId":14358,"CourseIds":[286],"Remarks":""}]}}, "MethodName": "CreateNominationsAsync", "EntryPoint": "API", "InputData": null, "TraceId": "b71b9079-5f28-48af-bfbf-56b23553006d", "ApiInputJson": "{\"Method\":\"POST\",\"Url\":\"https:\/\/api-sandbox.oqsha.com\/Organisations\/264\/Nominations\",\"Route\":\"\/Organisations\/264\/Nominations\",\"Query\":\"\",\"Body\":{\"SiteIds\":[845],\"DepartmentIds\":[264,262,272,388,359],\"CourseIds\":[286],\"NominationStatusId\":2,\"TrainingNeedIdentificationId\":254,\"NominatedUsers\":[{\"UserId\":14358,\"CourseIds\":[286],\"Remarks\":\"\"}]}}" }
{ "timestamp": "2026-08-15 18:35:38.1251", "level": "Error", "severity": "ERROR", "TraceId": "b71b9079-5f28-48af-bfbf-56b23553006d", "message": "Failed to send log to Dhilog: NotFound | {\"type\":\"about:blank\",\"title\":\"Not Found\",\"status\":404,\"detail\":\"Cannot POST /Log\",\"instance\":\"/Log\",\"error_code\":\"NOT_FOUND\"}", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[845],"DepartmentIds":[264,262,272,388,359],"CourseIds":[286],"NominationStatusId":2,"TrainingNeedIdentificationId":254,"NominatedUsers":[{"UserId":14358,"CourseIds":[286],"Remarks":""}]}} }
{ "timestamp": "2026-08-15 18:35:38.7601", "level": "Error", "severity": "ERROR", "TraceId": "338e8838-4620-47ce-aa6d-b6f041d53585", "message": "Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))", "stackTrace": "MySql.Data.MySqlClient.MySqlException (0x80004005): Cannot add or update a child row: a foreign key constraint fails (`qa_stg_oqsha_4`.`training_nominations`, CONSTRAINT `fk_training_nominations_tni` FOREIGN KEY (`training_need_identification_id`) REFERENCES `training_need_identification` (`id`))\r\n   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()\r\n   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)\r\n   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)\r\n   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)\r\n   at MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()\r\n   at System.Data.Common.DbCommand.ExecuteScalarAsync(CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Dapper.SqlMapper.<ExecuteScalarImplAsync>d__66`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.DAL.Repositories.NominationsRepo.<InsertNominationsAsync>d__4.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.DAL\\Repositories\\NominationsRepo.cs:line 175\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at IncidentReporter.API.BLL.NominationsBll.<CreateNominationsAsync>d__7.MoveNext() in C:\\GitLab-Runner\\builds\\27n6lYj0J\\0\\incident-reporter\\incident-reporter-api\\IncidentReporter\\IncidentReporter.API\\BLL\\NominationsBll.cs:line 180", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[900],"DepartmentIds":[389,391],"CourseIds":[286],"NominationStatusId":2,"TrainingNeedIdentificationId":254,"NominatedUsers":[{"UserId":14472,"CourseIds":[286],"Remarks":""}]}}, "MethodName": "CreateNominationsAsync", "EntryPoint": "API", "InputData": null, "TraceId": "338e8838-4620-47ce-aa6d-b6f041d53585", "ApiInputJson": "{\"Method\":\"POST\",\"Url\":\"https:\/\/api-sandbox.oqsha.com\/Organisations\/264\/Nominations\",\"Route\":\"\/Organisations\/264\/Nominations\",\"Query\":\"\",\"Body\":{\"SiteIds\":[900],\"DepartmentIds\":[389,391],\"CourseIds\":[286],\"NominationStatusId\":2,\"TrainingNeedIdentificationId\":254,\"NominatedUsers\":[{\"UserId\":14472,\"CourseIds\":[286],\"Remarks\":\"\"}]}}" }
{ "timestamp": "2026-08-15 18:35:38.7679", "level": "Error", "severity": "ERROR", "TraceId": "338e8838-4620-47ce-aa6d-b6f041d53585", "message": "Failed to send log to Dhilog: NotFound | {\"type\":\"about:blank\",\"title\":\"Not Found\",\"status\":404,\"detail\":\"Cannot POST /Log\",\"instance\":\"/Log\",\"error_code\":\"NOT_FOUND\"}", "ApiInput": {"Method":"POST","Url":"https://api-sandbox.oqsha.com/Organisations/264/Nominations","Route":"/Organisations/264/Nominations","Query":"","Body":{"SiteIds":[900],"DepartmentIds":[389,391],"CourseIds":[286],"NominationStatusId":2,"TrainingNeedIdentificationId":254,"NominatedUsers":[{"UserId":14472,"CourseIds":[286],"Remarks":""}]}} }
