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}" } } });
            }
        }