public async Task <IViewComponentResult> InvokeAsync( string title, string actionUrl, string description) { var model = new CallToActionViewModel { ActionUrl = actionUrl, Title = title, Description = description }; return(await Task.FromResult( View(model) )); }
public async Task <IViewComponentResult> InvokeAsync( string title, string actionUrl, string description, string viewName = null) { var model = new CallToActionViewModel { ActionUrl = actionUrl, Title = title, Description = description }; if (viewName.IsNotNullOrEmpty()) { return(await Task.FromResult( View(model) )); } return(await Task.FromResult( View(model) )); }
private async Task <OrchestratorResponse <CallToActionViewModel> > GetCallToAction(string hashedAccountId, string externalUserId) { try { var reservationsResponseTask = _mediator.SendAsync(new GetReservationsRequest { HashedAccountId = hashedAccountId, ExternalUserId = externalUserId }); var apprenticeshipsResponseTask = _mediator.SendAsync(new GetApprenticeshipsRequest { HashedAccountId = hashedAccountId, ExternalUserId = externalUserId }); var accountCohortResponseTask = _mediator.SendAsync(new GetSingleCohortRequest { HashedAccountId = hashedAccountId, ExternalUserId = externalUserId }); var vacanciesResponseTask = _mediator.SendAsync(new GetVacanciesRequest { HashedAccountId = hashedAccountId, ExternalUserId = externalUserId }); await Task.WhenAll(reservationsResponseTask, vacanciesResponseTask, apprenticeshipsResponseTask, accountCohortResponseTask).ConfigureAwait(false); var reservationsResponse = reservationsResponseTask.Result; var vacanciesResponse = vacanciesResponseTask.Result; var apprenticeshipsResponse = apprenticeshipsResponseTask.Result; var accountCohortResponse = accountCohortResponseTask.Result; CallToActionViewModel viewModel = null; var status = HttpStatusCode.OK; if (vacanciesResponse.HasFailed || reservationsResponse.HasFailed || accountCohortResponse.HasFailed || apprenticeshipsResponse.HasFailed) { status = HttpStatusCode.InternalServerError; } else { viewModel = new CallToActionViewModel { Reservations = reservationsResponse.Reservations?.ToList(), VacanciesViewModel = new VacanciesViewModel { VacancyCount = vacanciesResponse.Vacancies.Count(), Vacancies = _mapper.Map <IEnumerable <Vacancy>, IEnumerable <VacancyViewModel> >(vacanciesResponse.Vacancies) }, Apprenticeships = _mapper.Map <IEnumerable <Apprenticeship>, IEnumerable <ApprenticeshipViewModel> >(apprenticeshipsResponse?.Apprenticeships), Cohorts = new List <CohortViewModel> { _mapper.Map <Cohort, CohortViewModel>(accountCohortResponse.Cohort) } }; } return(new OrchestratorResponse <CallToActionViewModel> { Status = status, Data = viewModel }); } catch (Exception ex) { return(new OrchestratorResponse <CallToActionViewModel> { Status = HttpStatusCode.InternalServerError, Exception = ex }); } }