//public virtual void SetUserToken(SetUserTokenRequest request)
 //{
 //}
 public virtual GetLoginURLResponse GetLoginURL(GetLoginURLRequest request)
 {
     return null;
 }
        /// <summary>
        /// Returns the contructed URL to Shoeboxed for authentication based on the user provided parameters.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public override GetLoginURLResponse GetLoginURL(GetLoginURLRequest request)
        {
            var response = new GetLoginURLResponse();

            try
            {
                if (string.IsNullOrEmpty(request.ApiUserToken))
                    response.URL = null;
                else
                    response.URL = ShoeboxedEndpointURL + "?appname=" + request.AppName + "&appurl=" + request.AppURL +
                                   "&appparams=" + request.AppParams + "&SignIn=" + request.SignIn;
            }
            catch
            {
                throw new Exception("Error in Service.");
            }
            return response;
        }