public DataTablesResponse GetListAuthor(IDataTablesRequest dataTableParam, ResourceAuthorSearchViewModel searchViewModel) { try { var query = ResourceRepository.GetAll(x => x.IsDeleted == false && x.Type == (int)ResourceType.Author, null, x => x.Authors); if (searchViewModel.AuthorId > 0) { query = query.Where(x => x.Authors.Any(g => g.IsDeleted == false && g.Id == searchViewModel.AuthorId)); } var dataTableHelper = new DataTableHelper<ResourceAuthorViewModel, Resource>(query, x => new ResourceAuthorViewModel { Id = x.Id, Url = x.Url, Tag = x.Tag, Author = x.Authors.AsQueryable().Any(y => y.IsDeleted == false) ? x.Authors.AsQueryable().FirstOrDefault().Name : "" }); var entities = dataTableHelper.GetDataVMForResponse(dataTableParam); var result = dataTableHelper.GetDataToList(dataTableParam, entities); return new DataTablesResponse(dataTableParam.Draw, result, entities.Count(), entities.Count()); } catch (Exception ex) { Provider.Instance.LogError(ex); return new DataTablesResponse(dataTableParam.Draw, new List<ResourceAuthorViewModel>(), 0, 0); } }
public DataTablesResponse GetList(IDataTablesRequest dataTableParam, UserSearchViewModel searchViewModel) { try { var query = UserRepository.GetAll(x => x.IsDeleted == false, null, x => x.Role); if (searchViewModel.ActiveType != (int)ActiveType.All) { switch (searchViewModel.ActiveType) { case (int)ActiveType.Active: { query = query.Where(x => x.IsActive); break; } case (int)ActiveType.InActive: { query = query.Where(x => !x.IsActive); break; } } } if (searchViewModel.RoleName != Constants.AllValue.ToString()) { query = query.Where(x => x.Role.Name == searchViewModel.RoleName); } var dataTableHelper = new DataTableHelper<UserViewModel, User>(query, x => new UserViewModel { Id = x.Id, Email = x.Email, FullName = x.FirstName + " " + x.LastName, Role = x.Role.Name, IsActive = x.IsActive }); var entities = dataTableHelper.GetDataVMForResponse(dataTableParam); var result = dataTableHelper.GetDataToList(dataTableParam, entities); return new DataTablesResponse(dataTableParam.Draw, result, entities.Count(), entities.Count()); } catch (Exception ex) { Provider.Instance.LogError(ex); return new DataTablesResponse(dataTableParam.Draw, new List<UserViewModel>(), 0, 0); } }