Example #1
0
        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);
        }