public static async Task Handler( [ServiceBusTrigger("agroqueue", Connection = "ServiceBusConnectionString", IsSessionsEnabled = true)] Message message, [SignalR(HubName = "AsyncConnection")] IAsyncCollector <SignalRMessage> signalRMessages, ILogger log) { var opInstance = ServiceBus.Deserialize(message.Body); var ObjectIdAAD = opInstance.Value <string>("ObjectIdAAD"); var queries = new CommonQueries(ConfigManager.GetDbArguments); var userId = await queries.GetUserIdFromAAD(ObjectIdAAD); var EntityName = opInstance.Value <string>("EntityName"); var agro = await ContainerMethods.AgroManager(ObjectIdAAD, false); var entityType = opInstance["EntityType"].ToObject <Type>(); var repo = agro.GetOperationByInputType(entityType); dynamic element = opInstance["Element"].ToObject(entityType); element.Id = opInstance.Value <string>("Id"); try { var saveReturn = await repo.SaveInput(element, false); await agro.UserActivity.SaveInput(new UserActivityInput { Action = opInstance.Value <string>("HttpMethod").Equals("post") ? UserActivityAction.CREATE : UserActivityAction.MODIFY, Date = DateTime.Now, EntityName = EntityName, EntityId = saveReturn.IdRelated }, false); await signalRMessages.AddAsync(new SignalRMessage { Target = "Success", UserId = userId, Arguments = new object[] { EntityName } }); } catch (Exception ex) { log.LogError(ex, ex.Message); await signalRMessages.AddAsync(new SignalRMessage { Target = "Error", UserId = userId, Arguments = new object[] { ex is Validation_Exception ? ((Validation_Exception)ex).ErrorMessages : (object)new string[] { $"{ex.Message}" } } }); } }