/// <summary> /// Creates the lead quote. /// </summary> /// <param name="leadId">The lead identifier.</param> /// <param name="request">The request.</param> /// <returns></returns> public async Task <APIResponse> CreateLeadQuote(int leadId, CreateLeadQuoteRequest 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.CreateLeadQuote(leadId), contentPost); //return JsonConvert.DeserializeObject<APIResponse>(await response.Content.ReadAsStringAsync()); if (response.IsSuccessStatusCode) { var leadQuote = JsonConvert.DeserializeObject <LeadQuoteResponse>(await response.Content.ReadAsStringAsync()); return(new APIResponse(leadQuote, HttpStatusCode.Created)); } return(new APIResponse(response.StatusCode)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'CreateLeadQuote()'"); var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(new APIResponse(exMessage, HttpStatusCode.InternalServerError)); } }
public async Task <IActionResult> CreateLeadQuote(int leadId, [FromBody] CreateLeadQuoteRequest request) { var createLeadQuoteCommand = new CreateLeadQuoteCommand(leadId, request); var result = await mediator.Send(createLeadQuoteCommand); return(StatusCode((int)result.Code, result.Value)); }
/// <summary> /// Initializes a new instance of the <see cref="CreateLeadQuoteCommand"/> class. /// </summary> /// <param name="leadId">The lead identifier.</param> /// <param name="request">The request.</param> public CreateLeadQuoteCommand(int leadId, CreateLeadQuoteRequest request) { Request = request; LeadId = leadId; }
public async Task <IActionResult> CreateLeadQuote(int leadId, [FromBody] CreateLeadQuoteRequest request) { var result = await leadService.CreateLeadQuote(leadId, request); return(StatusCode((int)result.Code, result.Value)); }