public async Task <SubscriptionValidationResponse> Run(EventGridEvent[] eventGridEvents)
        {
            foreach (EventGridEvent eventGridEvent in eventGridEvents)
            {
                //JObject dataObject = eventGridEvent.Data as JObject;

                var test = eventGridEvent.EventType.ToLower() == EventTypeEnumFactory.SubscriptionValidationEvent.ToLower();
                // Deserialize the event data into the appropriate type based on event type
                if (eventGridEvent.EventType.ToLower() == EventTypeEnumFactory.SubscriptionValidationEvent.ToLower())
                {
                    var json = JsonConvert.SerializeObject(eventGridEvent.Data);
                    var obj  = JsonConvert.DeserializeObject <SubscriptionValidationEventData>(json);

                    var responseData = new SubscriptionValidationResponse
                    {
                        ValidationResponse = obj?.ValidationCode
                    };
                    return(responseData);
                }

                await HandleEventAsync(MapperUtility.Map <EventGridEvent, BaseEvent>(eventGridEvent));
            }

            await Task.CompletedTask;

            return(null);
        }
 public async Task <HttpResponseMessage> SendAsync <TEvent, TEventType>(string topicEndpoint, string sasKey, List <TEvent> events) where TEvent : BaseEvent <TEventType>
 {
     return(await SendAsync(topicEndpoint, sasKey, MapperUtility.Map <List <TEvent>, List <EventGridEvent> >(events)));
 }