public async Task <APIResponse> GetLeadQuotes(int leadId, LeadQuoteParameters quoteParameters) { try { var client = httpClientFactory.CreateClient(LeadServiceOperation.serviceName); UriBuilder url = new UriBuilder(servicesConfig.Lead + LeadServiceOperation.GetLeadQuotes(leadId)); url.Query = QueryStringHelper.ConvertToQueryString(quoteParameters); var response = await client.GetAsync(url.ToString()); if (response.IsSuccessStatusCode) { var leadQuote = JsonConvert.DeserializeObject <List <LeadQuoteResponse> >(await response.Content.ReadAsStringAsync()); return(new APIResponse(leadQuote, HttpStatusCode.OK)); } return(new APIResponse(response.StatusCode)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'GetLeadQuotes()'"); var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(new APIResponse(exMessage, HttpStatusCode.InternalServerError)); } }
public async Task <IActionResult> GetLeadQuotes(int leadId, [FromQuery] LeadQuoteParameters quoteParameters) { var getLeadQuotesQuery = new GetAllLeadQuotesQuery(quoteParameters, leadId); var result = await mediator.Send(getLeadQuotesQuery); if (result.Code == HttpStatusCode.OK) { Response.Headers.Add("X-Pagination", PagedList <Entity> .ToJson(result.Value as PagedList <Entity>)); } return(StatusCode((int)result.Code, result.Value)); }
/// <summary> /// Gets the lead quotes. /// </summary> /// <param name="leadQuoteParameters">The lead quote parameters.</param> /// <returns></returns> public async Task <PagedList <Entity> > GetLeadQuotes(LeadQuoteParameters leadQuoteParameters, int leadId = 0) { if (leadId > 0) { var leadCollections = FindByCondition(x => x.Active == Convert.ToInt16(true) && x.LeadId.Equals(leadId)).ProjectTo <LeadQuoteResponse>(mapper.ConfigurationProvider); var sortedStories = sortHelper.ApplySort(leadCollections, leadQuoteParameters.OrderBy); var shapedStories = dataShaper.ShapeData(sortedStories, leadQuoteParameters.Fields); return(await PagedList <Entity> .ToPagedList(shapedStories, leadQuoteParameters.PageNumber, leadQuoteParameters.PageSize)); } else { var leadCollections = FindByCondition(x => x.Active == Convert.ToInt16(true)).ProjectTo <LeadQuoteResponse>(mapper.ConfigurationProvider); var sortedStories = sortHelper.ApplySort(leadCollections, leadQuoteParameters.OrderBy); var shapedStories = dataShaper.ShapeData(sortedStories, leadQuoteParameters.Fields); return(await PagedList <Entity> .ToPagedList(shapedStories, leadQuoteParameters.PageNumber, leadQuoteParameters.PageSize)); } }
/// <summary> /// Initializes a new instance of the <see cref="GetAllLeadQuotesQuery"/> class. /// </summary> /// <param name="leadParameters">The lead parameters.</param> public GetAllLeadQuotesQuery(LeadQuoteParameters leadParameters, int leadId = 0) { LeadQuoteParameters = leadParameters; LeadId = leadId; }
public async Task <IActionResult> GetLeadQuotes(int leadId, [FromQuery] LeadQuoteParameters quoteParameters) { var result = await leadService.GetLeadQuotes(leadId, quoteParameters); return(StatusCode((int)result.Code, result.Value)); }