public override DataSourceResult GetEntities( [System.Web.Http.ModelBinding.ModelBinder(typeof(Core.Mvc.ModelBinders.DataSourceRequestModelBinder))] DataSourceRequest request) { var users = _userService.GetAllHeadUsers(); DataSourceResult dataSourceResult = null; if (users != null) { dataSourceResult = users.ToDataSourceResult(request); var userViewModels = UserViewModel.GetViewModels <UserViewModel>(dataSourceResult.Data.Cast <User>()); var viewModels = userViewModels as List <UserViewModel> ?? userViewModels.ToList(); foreach (var userViewModel in viewModels) { var roleid = userViewModel.RoleIdForHead; var foundedCompanyRole = _companyRoleService.Filter(a => a.RoleId == roleid).FirstOrDefault(); if (foundedCompanyRole != null) { var foundedCompany = _companyService.Find(foundedCompanyRole.CompanyId); userViewModel.CompanyOfHeadUser = foundedCompany.Name; } } dataSourceResult.Data = viewModels; } else { users = Enumerable.Empty <User>().AsQueryable(); dataSourceResult = users.ToDataSourceResult(request); } return(dataSourceResult); }