public async Task <APIResponse> GetLeadTotalAmount(string vendorId, LeadCountTotAmtParameter leadCountTotAmt)
        {
            try
            {
                var client = httpClientFactory.CreateClient(LeadServiceOperation.serviceName);

                UriBuilder url = new UriBuilder(servicesConfig.Lead + LeadServiceOperation.GetLeadTotalAmount(vendorId));

                url.Query = QueryStringHelper.ConvertToQueryString(leadCountTotAmt);

                var response = await client.GetAsync(url.ToString());

                if (response.IsSuccessStatusCode)
                {
                    var leadStatus = JsonConvert.DeserializeObject <LeadTotalAmtResponse>(await response.Content.ReadAsStringAsync());
                    return(new APIResponse(leadStatus, HttpStatusCode.OK));
                }

                return(new APIResponse(response.StatusCode));
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception in method 'GetLeadTotalAmount()'");
                var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                return(new APIResponse(exMessage, HttpStatusCode.InternalServerError));
            }
        }
Exemple #2
0
        public async Task <IActionResult> GetLeadTotalAmount(string vendorId, [FromQuery] LeadCountTotAmtParameter leadCountParameter)
        {
            var getLeadTotalAmountQuery = new GetAllLeadTotalAmountQuery(leadCountParameter, vendorId);

            var result = await mediator.Send(getLeadTotalAmountQuery);

            return(StatusCode((int)result.Code, result.Value));
        }
        /// <summary>
        /// Gets the lead count.
        /// </summary>
        /// <param name="leadCountParameter">The lead count parameter.</param>
        /// <param name="leadId">The lead identifier.</param>
        /// <returns></returns>
        public async Task <List <Leadassign> > GetLeadCount(LeadCountTotAmtParameter leadCountParameter, string vendorId)
        {
            var leadCount = new List <Core.Entity.Leadassign>();

            if (leadCountParameter.IsForCPCLeadAssigned == true)
            {
                leadCount = FindByCondition(leadassign => leadassign.VendorId.Equals(vendorId) && leadassign.Active == Convert.ToInt16(true))
                            .Include(bo => bo.Lead)
                            .Where(o => o.Lead.LeadModeNavigation.Value == "CPL").ToList();
            }
            if (leadCountParameter.IsForCommisionLeadAssigned == true)
            {
                leadCount = FindByCondition(leadassign => leadassign.VendorId.Equals(vendorId) && leadassign.Active == Convert.ToInt16(true)).
                            Include(bo => bo.Lead)
                            .Where(o => o.Lead.LeadModeNavigation.Value == "Commision").ToList();
            }
            return(leadCount);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="GetAllLeadCountQuery"/> class.
 /// </summary>
 /// <param name="leadCountParameter">The lead count parameter.</param>
 /// <param name="leadId">The lead identifier.</param>
 public GetAllLeadCountQuery(LeadCountTotAmtParameter leadCountTotAmt, string vendorId)
 {
     LeadCountTotAmt = leadCountTotAmt;
     VendorId        = vendorId;
 }
        public async Task <IActionResult> GetLeadTotalAmount(string vendorId, [FromQuery] LeadCountTotAmtParameter leadCountTotAmt)
        {
            var result = await leadService.GetLeadTotalAmount(vendorId, leadCountTotAmt);

            return(StatusCode((int)result.Code, result.Value));
        }