public ActionResult Index() { var indicatorGroupViewModel = new IndicatorGroupViewModel(); var indicatorGroups = _indicatorGroupService.GetIndicatorGroups(); var indicatorGroupsDetails = Mapper.Map <IEnumerable <IndicatorGroup>, IEnumerable <IndicatorGroupFormModel> >(indicatorGroups); var indicators = _indicatorService.GetIndicatorWithIndicatorGroup(); foreach (var indicatorGroup in indicatorGroupsDetails) { indicatorGroup.Indicators = indicators.Where(ct => ct.IndicatorGroup != null && ct.IndicatorGroup.IndicatorGroupID == indicatorGroup.IndicatorGroupID) .Select(ct => new SelectListItem { Value = ct.IndicatorID.ToString(), Text = ct.Name, Selected = ct.IndicatorGroup == null ? false : ct.IndicatorGroup.IndicatorGroupID == indicatorGroup.IndicatorGroupID }); } indicatorGroupViewModel.IndicatorGroups = indicatorGroupsDetails; indicatorGroupViewModel.IndicatorSelect = Mapper.Map <IEnumerable <Indicator>, IEnumerable <IndicatorSelect> > (indicators.Where(ct => ct.IndicatorGroup == null)).ToList(); return(View(indicatorGroupViewModel)); }