private void InitEPADateFilter(OrderedListResultViewModel model, IEnumerable <Domain.Entities.EpaoPipelineStandardFilter> items)
        {
            model.EPADateFilter = new List <OrderedListResultViewModel.PipelineFilterItem>()
            {
                new OrderedListResultViewModel.PipelineFilterItem()
                {
                    Id = "ALL", Value = "All dates"
                }
            };

            if (null != items && items.Any())
            {
                model.EPADateFilter.AddRange(items.Select(i => new OrderedListResultViewModel.PipelineFilterItem()
                {
                    Id = i.Id, Value = i.Value
                }));
            }
        }
        private async Task <OrderedListResultViewModel> GetPipeline(string selectedStandard, string selectedProvider, string selectedEPADate, string orderBy, string orderDirection, int pageSize, int?pageIndex)
        {
            var orderedListResultViewModel = new OrderedListResultViewModel
            {
                OrderDirection = string.IsNullOrEmpty(orderDirection) ? TableColumnOrder.None : orderDirection,
                OrderedBy      = string.IsNullOrEmpty(orderBy) ? null : orderBy,
                Response       = new PaginatedList <EpaoPipelineStandardsResponse>(new List <EpaoPipelineStandardsResponse>(),
                                                                                   0, 1, 1)
            };
            var epaoid = _contextAccessor.HttpContext.User.FindFirst("http://schemas.portal.com/epaoid")?.Value;

            var organisation = await _organisationsApiClient.GetEpaOrganisation(epaoid);

            if (organisation != null)
            {
                var filters = await _standardsApiClient.GetEpaoPipelineStandardsFilters(organisation.OrganisationId);

                orderedListResultViewModel.Response =
                    await _standardsApiClient.GetEpaoPipelineStandards(organisation.OrganisationId, selectedStandard, selectedProvider, selectedEPADate,
                                                                       orderBy, orderDirection, pageSize, pageIndex ?? 1);

                InitStandardFilter(orderedListResultViewModel, filters?.StandardFilterItems);
                InitProviderFilter(orderedListResultViewModel, filters?.ProviderFilterItems);
                InitEPADateFilter(orderedListResultViewModel, filters?.EPADateFilterItems);
            }

            if (!string.IsNullOrWhiteSpace(selectedStandard) && selectedStandard.Trim().ToUpper() != "ALL")
            {
                orderedListResultViewModel.SelectedStandard = selectedStandard;
                orderedListResultViewModel.FilterApplied    = true;
            }
            if (!string.IsNullOrWhiteSpace(selectedProvider) && selectedProvider.Trim().ToUpper() != "ALL")
            {
                orderedListResultViewModel.SelectedProvider = selectedProvider;
                orderedListResultViewModel.FilterApplied    = true;
            }
            if (!string.IsNullOrWhiteSpace(selectedEPADate) && selectedEPADate.Trim().ToUpper() != "ALL")
            {
                orderedListResultViewModel.SelectedEPADate = selectedEPADate;
                orderedListResultViewModel.FilterApplied   = true;
            }

            return(orderedListResultViewModel);
        }
        private async Task <OrderedListResultViewModel> GetPipeline(string orderBy, string orderDirection, int pageSize, int?pageIndex)
        {
            var orderedListResultViewModel = new OrderedListResultViewModel
            {
                OrderDirection = string.IsNullOrEmpty(orderDirection) ? TableColumnOrder.None : orderDirection,
                OrderedBy      = string.IsNullOrEmpty(orderBy) ? null : orderBy,
                Response       = new PaginatedList <EpaoPipelineStandardsResponse>(new List <EpaoPipelineStandardsResponse>(),
                                                                                   0, 1, 1)
            };
            var epaoid = _contextAccessor.HttpContext.User.FindFirst("http://schemas.portal.com/epaoid")?.Value;

            var organisation = await _organisationsApiClient.GetEpaOrganisation(epaoid);

            if (organisation != null)
            {
                orderedListResultViewModel.Response =
                    await _standardsApiClient.GetEpaoPipelineStandards(organisation.OrganisationId,
                                                                       orderBy, orderDirection, pageSize, pageIndex ?? 1);
            }

            return(orderedListResultViewModel);
        }