public IActionResult Paging(SysGroupCriteria criteria, int page, int size) { var data = sysGroupService.Paging(criteria, page, size, out int rowCount); var result = new { data, totalItems = rowCount, page, size }; return(Ok(result)); }
public IQueryable <SysGroupModel> Query(SysGroupCriteria criteria) { IQueryable <SysGroup> groups = null; IQueryable <CatDepartment> departments = null; if (criteria.All == null) { groups = DataContext.Get(x => (x.Code ?? "").IndexOf(criteria.Code ?? "", StringComparison.OrdinalIgnoreCase) > -1 && (x.NameEn ?? "").IndexOf(criteria.NameEN ?? "", StringComparison.OrdinalIgnoreCase) > -1 && (x.NameVn ?? "").IndexOf(criteria.NameVN ?? "", StringComparison.OrdinalIgnoreCase) > -1 && (x.ShortName ?? "").IndexOf(criteria.ShortName ?? "", StringComparison.OrdinalIgnoreCase) > -1 && (x.DepartmentId == criteria.DepartmentId || criteria.DepartmentId == 0) && (x.Id == criteria.Id || criteria.Id == 0) ); departments = departmentRepository.Get(x => (x.DeptNameEn ?? "").IndexOf(criteria.DepartmentName ?? "", StringComparison.OrdinalIgnoreCase) > -1); } else { groups = DataContext.Get(x => (x.Code ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.NameEn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.NameVn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.ShortName ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 //|| (x.DepartmentId == criteria.DepartmentId || criteria.DepartmentId == 0) //|| (x.Id == criteria.Id || criteria.Id == 0) ); departments = departmentRepository.Get(x => (x.DeptNameEn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1); if (departments.Count() == 0) { departments = departmentRepository.Get(); } } if (groups == null) { return(null); } groups = groups.Where(x => x.IsSpecial == false || x.IsSpecial == null); var results = groups.Join(departments, x => x.DepartmentId, y => y.Id, (x, y) => new SysGroupModel { Id = x.Id, Code = x.Code, NameEn = x.NameEn, NameVn = x.NameVn, ShortName = x.ShortName, DepartmentId = x.DepartmentId, ParentId = x.ParentId, ManagerId = x.ManagerId, UserCreated = x.UserCreated, UserModified = x.UserModified, DatetimeCreated = x.DatetimeCreated, DatetimeModified = x.DatetimeModified, Active = x.Active, InactiveOn = x.InactiveOn, DepartmentName = y.DeptNameEn }).OrderByDescending(x => x.DatetimeModified); return(results); }
public async Task <IActionResult> ExportGroup(SysGroupCriteria criteria) { Helper helper = new Helper(); var responseFromApi = await HttpServiceExtension.GetDataFromApi(criteria, aPis.HostStaging + Urls.System.GroupUrl); var dataObjects = responseFromApi.Content.ReadAsAsync <List <SysGroupModel> >(); //Make sure to add a reference to System.Net.Http.Formatting.dll var stream = helper.CreateGroupExcelFile(dataObjects.Result); return(new FileHelper().ExportExcel(stream, FilesNames.GroupName)); }
public IQueryable <SysGroupModel> Paging(SysGroupCriteria criteria, int page, int size, out int rowsCount) { var data = Query(criteria); rowsCount = (data.Count() > 0) ? data.Count() : 0; if (size > 0) { if (page < 1) { page = 1; } data = data.Skip((page - 1) * size).Take(size); } return(data); }
public IActionResult Query(SysGroupCriteria criteria) { var results = sysGroupService.Query(criteria); return(Ok(results)); }