/// <summary>
        /// Creates Exception Request for given user.
        /// </summary>
        /// <param name="emailName">The user email name</param>
        /// <param name="fullName">The user full name</param>
        /// <param name="exceptionRequestJson">The request submitted by user from UI</param>
        /// <returns><see cref="ExceptionRequest"/> created</returns>
        public ExceptionRequest CreateNewRequest(string emailName, string fullName, JObject exceptionRequestJson)
        {
            // TODO: Validate SubscriptionId??  Others??
            Guid subsId;

            if (!Guid.TryParse(exceptionRequestJson["subscriptionId"].ToString(), out subsId))
            {
                subsId = Guid.Empty;
            }

            // Fill in properties that can be passed by User from UI
            var newRequest = new ExceptionRequest
            {
                SubscriptionId   = subsId,
                ContactEmail     = exceptionRequestJson["contactEmail"].ToString(),
                ExpectedVolumeId = int.Parse(exceptionRequestJson["expectedVolumeId"].ToString()),
                IPAddresses      = exceptionRequestJson["ipAddresses"].ToString(),
                Justification    = exceptionRequestJson["justification"].ToString()
            };

            var exceptionRequest = new ExceptionRequestRepository(this).CreateNewRequest(emailName, fullName, newRequest);

            return(exceptionRequest);
        }
        /// <summary>
        /// Gets the exception requests for a given user
        /// </summary>
        /// <param name="emailName">
        /// The user email name
        /// </param>
        /// <returns>List of <see cref="ExceptionRequest"/> for the given user.</returns>
        public List <ExceptionRequest> GetExceptionRequestsByEmail(string emailName)
        {
            var exceptionRequests = new ExceptionRequestRepository(this).GetExceptionRequestsByEmail(emailName);

            return(exceptionRequests);
        }