/// <summary>
        /// Updates an IntegrationEventSubscription entity
        /// </summary>
        /// <param name="id"></param>
        /// <param name="request"></param>
        /// <returns></returns>
        public IntegrationEventSubscription UpdateIntegrationEventSubscription(string id, IntegrationEventSubscription request)
        {
            Guid entityId = new Guid(id);

            var existingEventSubscription = _repo.GetOne(entityId);

            if (existingEventSubscription == null)
            {
                throw new EntityDoesNotExistException("No IntegrationEventSubscription exists for the specified id");
            }

            var namedIntegrationEventSubscription = _repo.Find(null, d => d.Name.ToLower() == request.Name.ToLower() && d.Id != entityId)?.Items?.FirstOrDefault();

            if (namedIntegrationEventSubscription != null && namedIntegrationEventSubscription.Id != entityId)
            {
                throw new EntityAlreadyExistsException("IntegrationEventSubscription already exists");
            }

            existingEventSubscription.Name                 = request.Name;
            existingEventSubscription.EntityType           = request.EntityType;
            existingEventSubscription.IntegrationEventName = request.IntegrationEventName;
            existingEventSubscription.EntityID             = request.EntityID;
            existingEventSubscription.EntityName           = request.EntityName;
            existingEventSubscription.TransportType        = request.TransportType;
            existingEventSubscription.HTTP_URL             = request.HTTP_URL;
            existingEventSubscription.HTTP_AddHeader_Key   = request.HTTP_AddHeader_Key;
            existingEventSubscription.HTTP_AddHeader_Value = request.HTTP_AddHeader_Value;
            existingEventSubscription.Max_RetryCount       = request.Max_RetryCount;
            existingEventSubscription.QUEUE_QueueID        = request.QUEUE_QueueID;

            return(existingEventSubscription);
        }
        public SubscriptionAttemptViewModel GetAttemptView(SubscriptionAttemptViewModel subscriptionAttempt)
        {
            subscriptionAttempt.TransportType = subscriptionRepository.GetOne(subscriptionAttempt.IntegrationEventSubscriptionID ?? Guid.Empty)?.TransportType.ToString();

            return(subscriptionAttempt);
        }