public GetModulesResponse GetModules(GetModulesRequest request) { Logger.Current.Verbose("Request to fetch Modules of an Account"); GetModulesResponse response = new GetModulesResponse(); IList <ModuleViewModel> moduleViewModels; IEnumerable <Module> modules; if (request.AccountID != null) { Logger.Current.Informational("Requested Modules for AccountId : " + request.AccountId); modules = roleRepository.GetModules(request.AccountID); } else { modules = roleRepository.GetModules(null); } if (modules != null) { moduleViewModels = Mapper.Map <IEnumerable <Module>, IEnumerable <ModuleViewModel> >(modules).ToList(); if (moduleViewModels != null) { foreach (var viewModel in moduleViewModels) { var submodule = moduleViewModels.Where(t => t.ParentId == viewModel.ModuleId).ToList(); if (submodule != null) { viewModel.SubModules = submodule; } } } List <ModuleViewModel> newViewModel = moduleViewModels.Where(l => l.ParentId <= 0).ToList(); response.ModuleViewModel = newViewModel; } else { response.ModuleViewModel = null; } return(response); }
/// <summary> Setter constructor. </summary> public GetModules(GetModulesRequest request) { Request = request; Response = new GetModulesResponse(); }