using System.Collections.Generic; using System.Linq; using AutoMapper; using DR.FV2016.Service.Interfaces; using DR.FV2016.Web.Models; using DR.FV2016.Web.Models.Constituency; namespace DR.FV2016.Web.Helpers { public class ConstituencyHelper { public static List AllConstituencies(IMappingEngine mapper, IConstituencyService constituencyService) { var viewModel = new AllConstituenciesViewModel(); var constituencies = constituencyService.GetConstituencies(); var gcs = mapper.Map>(constituencyService.GetGreaterConstituencies()); viewModel.GreaterConstituencies.AddRange(gcs); foreach (var greaterConstituency in viewModel.GreaterConstituencies) { GreaterConstituency constituency = greaterConstituency; greaterConstituency.Constituencies.AddRange( Mapper.Map>( constituencies.Where(c => c.GreaterConstituency.Slug == constituency.Slug))); //viewModel.GreaterConstituencies.Add(new GreaterConstituency(){Name = greaterConstituency.GreaterConstituency.Name, Slug = greaterConstituency.GreaterConstituency.Slug, Constituencies = Mapper.Map>(greaterConstituency.Constituencies)}); } return viewModel.GreaterConstituencies; } } }