/// <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));
            }
        }
Example #2
0
        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));
        }
Example #3
0
 /// <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));
        }