public virtual async Task LoadBillingPlans(IEnterprisesBillingManagerService entBillingMgr, string entLookup, string licenseType) { var plansResp = await entBillingMgr.ListBillingPlanOptions(entLookup, licenseType); State.Plans = plansResp.Model ?? new List <API.UserManagement.Host.TempRefit.BillingPlanOption>(); State.FeaturedPlanGroup = State.Plans.FirstOrDefault(plan => { return(plan.Metadata.ContainsKey("Featured") && plan.Metadata["Featured"].ToObject <bool>()); })?.PlanGroup; State.PopularPlanGroup = State.Plans.FirstOrDefault(plan => { return(plan.Metadata.ContainsKey("Popular") && plan.Metadata["Popular"].ToObject <bool>()); })?.PlanGroup; }
public virtual async Task <HttpResponseMessage> Run([HttpTrigger] HttpRequest req, ILogger log) { var stateDetails = StateUtils.LoadStateDetails(req); var entLookup = stateDetails.EnterpriseLookup; var licenseType = req.Query["licenseType"]; log.LogInformation($"ListBillingPlanOptions with {entLookup} for {licenseType}."); var plansResp = await entBillingMgr.ListBillingPlanOptions(entLookup, licenseType); log.LogInformation($"Plans response: {plansResp.Status.ToJSON()}"); var statusCode = plansResp.Status || plansResp.Status == Status.NotLocated ? HttpStatusCode.OK : HttpStatusCode.InternalServerError; return(new HttpResponseMessage(statusCode) { Content = new StringContent(plansResp.ToJSON(), Encoding.UTF8, "application/json") }); }