Example #1
0
        public async Task <List <SchemeData> > HandleAsync(GetEEEWEEEDataReturnSchemesByComplianceYear request)
        {
            authorization.EnsureCanAccessInternalArea();
            Func <Scheme, bool> filter;

            switch (request.Filter)
            {
            case FilterType.Approved:
                filter = s => s.SchemeStatus == SchemeStatus.Approved;
                break;

            case FilterType.ApprovedOrWithdrawn:
                filter = s => (s.SchemeStatus == SchemeStatus.Approved) || (s.SchemeStatus == SchemeStatus.Withdrawn);
                break;

            default:
                throw new NotSupportedException();
            }

            List <string> schemes = await schemeDataAccess.GetEEEWEEEDataReturnSchemesByComplianceYear(request.ComplianceYear);

            return(context.Schemes
                   .Where(t => schemes.Contains(t.SchemeName))
                   .Where(filter)
                   .OrderBy(s => s.SchemeName)
                   .Select(s => schemeMap.Map(s))
                   .ToList());
        }
Example #2
0
        public async Task <ActionResult> DataReturnSubmissionHistory()
        {
            using (var client = apiClient())
            {
                await SetBreadcrumb();

                try
                {
                    //Get all the compliance years currently in database and set it to latest one.
                    //Get all the approved PCSs
                    var allYears = await client.SendAsync(User.GetAccessToken(), new GetDataReturnsActiveComplianceYears());

                    GetEEEWEEEDataReturnSchemesByComplianceYear getSchemesRequest = new GetEEEWEEEDataReturnSchemesByComplianceYear(FilterType.ApprovedOrWithdrawn, allYears[0]);
                    List <SchemeData> schemes = await client.SendAsync(User.GetAccessToken(), getSchemesRequest);

                    DataReturnSubmissionsHistoryViewModel model = new DataReturnSubmissionsHistoryViewModel
                    {
                        ComplianceYears = new SelectList(allYears),
                        SchemeNames     = new SelectList(schemes, "Id", "SchemeName"),
                        SelectedYear    = allYears.FirstOrDefault(),
                        SelectedScheme  = schemes.Count > 0 ? schemes.First().Id : Guid.Empty
                    };
                    return(View(model));
                }
                catch (ApiBadRequestException ex)
                {
                    this.HandleBadRequest(ex);
                    if (ModelState.IsValid)
                    {
                        throw;
                    }
                    return(View());
                }
            }
        }
Example #3
0
        public async Task <JsonResult> FetchDataReturnSchemeForComplainceYear(int complianceYear)
        {
            using (var client = apiClient())
            {
                try
                {
                    GetEEEWEEEDataReturnSchemesByComplianceYear getSchemesRequest = new GetEEEWEEEDataReturnSchemesByComplianceYear(FilterType.ApprovedOrWithdrawn, complianceYear);
                    List <SchemeData> schemes = await client.SendAsync(User.GetAccessToken(), getSchemesRequest);

                    IEnumerable <SelectListItem> schemeNames = new SelectList(schemes, "Id", "SchemeName");

                    return(Json(schemeNames, JsonRequestBehavior.AllowGet));
                }
                catch (ApiBadRequestException ex)
                {
                    this.HandleBadRequest(ex);
                    if (ModelState.IsValid)
                    {
                        throw;
                    }
                    return(Json(new { string.Empty }));
                }
            }
        }