public static string ObterHash(this GenerateEGiftHashResponse response) { var hash = response.EntityId; hash = hash.Substring(hash.LastIndexOf('/') + 1); return(hash); }
public static GenerateEGiftKeyRequest Map(this GenerateEGiftHashResponse response) { return(new GenerateEGiftKeyRequest() { Hash = response.EntityId, IdCliente = response.AccountId }); }
public static string ObterAccountId(this GenerateEGiftHashResponse response) { var accountId = response.AccountId; if (accountId.Contains("accountId=")) { accountId = accountId.Substring(accountId.IndexOf("accountId=")); accountId = accountId.Replace("accountId=", ""); return(accountId); } return(""); }
public async Task <GenerateEGiftHashResponse> GerarHashEGift(GenerateEGiftHashRequest request) { var response = new GenerateEGiftHashResponse(); using (var httpClient = HelperBHNHttpService.ObterHttpClientBhn(_dadosBhn)) { var formData = new { //giftFrom = "", //giftTo = "", //giftMessage = "", //notes = "", giftAmount = request.Preco, //purchaserId = this._dadosBhn.VendedorId, //recipientId = this._dadosBhn.VendedorId, retrievalReferenceNumber = request.NumeroPedido, productConfigurationId = request.ProductConfigutationId }; var endpoint = httpClient.BaseAddress + this._dadosBhn.GerarHashRota; var bhnRequest = new HttpRequestMessage(HttpMethod.Post, endpoint); bhnRequest.Headers.Add("requestId", request.RequisicaoId); if (request.TentativasAnteriores > 0) { bhnRequest.Headers.Add("previousAttempts", request.TentativasAnteriores.ToString()); } using (var content = new StringContent(JsonConvert.SerializeObject(formData), Encoding.UTF8, "application/json")) { bhnRequest.Content = content; var log_request = string.Format("{0} {1}", bhnRequest.ToString(), bhnRequest.Content.ReadAsStringAsync().Result); var bhnResponse = await httpClient.SendAsync(bhnRequest); var responseString = bhnResponse.ConvertToString(); var log_response = string.Format("{0} {1}", bhnResponse.ToString(), responseString); response.AdicionarMensagemErro(TipoMensagem.Aplicacao, log_request); response.AdicionarMensagemErro(TipoMensagem.Aplicacao, log_response); if (bhnResponse.Valido()) { var responseObject = JObject.Parse(responseString); response.EntityId = responseObject["entityId"].ToString().ObterEntityId(); response.AccountId = responseObject["accountId"].ToString().ObterAccountId(); response.Status = responseObject["status"].ToString(); response.ActivationUrl = string.Format(this._dadosBhn.TemplateActivationSpot, response.EntityId); return(response); } else { var erro = JsonConvert.DeserializeObject <BHNErrorResponse>(responseString.TratarErrorResponse()); throw new BHNResponseException(bhnResponse.StatusCode, erro.ErrorCode, erro.Message); } } } }