/// <summary> /// Creates the lead. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> public async Task <APIResponse> CreateLead(CreateLeadDataCollectionRequest request) { try { var client = httpClientFactory.CreateClient(LeadServiceOperation.serviceName); var param = JsonConvert.SerializeObject(request); HttpContent contentPost = new StringContent(param, Encoding.UTF8, "application/json"); var response = await client.PostAsync(servicesConfig.Lead + LeadServiceOperation.CreateLead(), contentPost); //return JsonConvert.DeserializeObject<APIResponse>(await response.Content.ReadAsStringAsync()); if (response.IsSuccessStatusCode) { //var leadDataCollection = JsonConvert.DeserializeObject<LeadDataCollectionResponse>(await response.Content.ReadAsStringAsync()); //return new APIResponse(leadDataCollection, HttpStatusCode.Created); var leadDataCollection = JsonConvert.DeserializeObject <LeadIdDetails>(await response.Content.ReadAsStringAsync()); return(new APIResponse(leadDataCollection, HttpStatusCode.Created)); } return(new APIResponse(response.StatusCode)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'CreateLead()'"); var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(new APIResponse(exMessage, HttpStatusCode.InternalServerError)); } }
public async Task <IActionResult> CreateLead([FromBody] CreateLeadDataCollectionRequest request) { var result = await leadService.CreateLead(request); return(StatusCode((int)result.Code, result.Value)); }