{"data":{"exception":"InvalidOperationException","message":"An exception has been raised that is likely due to a transient failure.","helpLink":null,"data":{},"source":"Npgsql.EntityFrameworkCore.PostgreSQL","stackTrace":" at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)\n at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.Enumerator.MoveNext()\n at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)\n at lambda_method16469(Closure , QueryContext )\n at Redsand.Site.Api.NotificationsController.CheckNew() in D:\\WORKSPACE\\ECRM-NOBI-R2\\Api\\NotificationsController.cs:line 108\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\n--- End of stack trace from previous location ---\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)","inner":{"exception":"NpgsqlException","message":"The connection pool has been exhausted, either raise 'Max Pool Size' (currently 35) or 'Timeout' (currently 15 seconds) in your connection string.","helpLink":null,"data":{},"source":"Npgsql","stackTrace":" at Npgsql.ConnectorPool.<Get>g__RentAsync|28_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)\n at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|45_0(Boolean async, CancellationToken cancellationToken)\n at Npgsql.NpgsqlConnection.Open()\n at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternal(Boolean errorsExpected)\n at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)\n at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)\n at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)\n at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)","inner":{"exception":"TimeoutException","message":"The operation has timed out.","helpLink":null,"data":{},"source":null,"stackTrace":null,"inner":null}}},"status":400,"statusText":"","headers":{"cache-control":"no-store","content-type":"application/json; charset=utf-8","date":"Fri, 09 Jan 2026 06:48:42 GMT","expires":"0","pragma":"no-cache","server":"nginx/1.28.0"},"config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":["xhr","http","fetch"],"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjIiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiZ2lhbWRvYyIsIkFzcE5ldC5JZGVudGl0eS5TZWN1cml0eVN0YW1wIjoiT0hKMkZQQ01EQlBMTUtHQVRaTlM0V0pFTTRWSE5QMjMiLCJzdWIiOiJnaWFtZG9jIiwianRpIjoiMjMwZWJhMjEtYjE1My00NGY3LWI2YmUtNTE5MGI0NzEwNDc4IiwiaWF0IjoxNzY3OTQxMjY5LCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOlsiQWRtaW5pc3RyYXRvcnMiLCIxLWdpYW0tZG9jIl0sIm5iZiI6MTc2Nzk0MTI2OSwiZXhwIjoxNzcwNTMzMjY5LCJpc3MiOiJSUyIsImF1ZCI6IlJTIn0.RdmhmMG0ea9U0bKxtHRqJYZ6KnrmHhsXmpr1DGfTuxo","ContentType":"application/json","x-hour-offset":"7","BranchId":"1","Locale":"vi"},"baseURL":"https://tranyen.nobi.pro","paramsSerializer":{},"method":"get","url":"api/notifications/checkNew"},"request":{}}