Example #1
0
        /// <summary>
        /// Check password from SOL api.
        /// </summary>
        /// <param name="customerVerifyRequest"></param>
        /// <param name="cdkCustomer"></param>
        /// <returns></returns>
        public async Task <ApiResponse> CheckPassword(CustomerVerifyRequest customerVerifyRequest, CdkCustomer cdkCustomer, string partnerKey)
        {
            if (customerVerifyRequest == null)
            {
                throw new ArgumentNullException(nameof(customerVerifyRequest));
            }
            if (cdkCustomer == null)
            {
                throw new ArgumentNullException(nameof(cdkCustomer));
            }
            var requestBody = UtilityHelper.SerializeObject(new
            {
                RooftopId = customerVerifyRequest.RoofTopId
            });
            var request = new ApiRequest
            {
                Body        = requestBody,
                Method      = HttpVerbs.POST.ToString(),
                Url         = CombineUrl(GetCdkAutolineUrl(_cdkAutolineUrl, customerVerifyRequest.CommunityId), CheckPasswordUrl),
                ContentType = Constants.ContentTypeJson
            };

            var hashCode =
                _encryptedTokenCodeService.GetEncryptedTokenCode(cdkCustomer.Token.ToString(), cdkCustomer, partnerKey, true);

            AddRequestHeader(request, $"{Constants.DataHubHashHeaderValuePrefix}{hashCode}");
            return(await _restApiClient.Invoke <CustomerResponse>(request));
        }
        /// <summary>
        /// Activate token generated by API(/RequestToken).
        /// </summary>
        /// <param name="communityId"></param>
        /// <param name="appToken"></param>
        /// <returns></returns>
        public async Task <ApiResponse> ActivateToken(string communityId, string appToken, string partnerKey)
        {
            var request = new ApiRequest()
            {
                Body        = string.Empty,
                Method      = HttpVerbs.POST.ToString(),
                Url         = CombineUrl(GetCdkAutolineUrl(_cdkAutolineUrl, communityId), ActivateTokenUrl),
                ContentType = Constants.ContentTypeJson
            };

            var hashCode = _encryptedTokenCodeService.GetEncryptedTokenCode(appToken, null, partnerKey);

            AddRequestHeader(request, $"{Constants.DataHubHashHeaderValuePrefix}{hashCode}");
            return(await _restApiClient.Invoke <CustomerResponse>(request));
        }