Пример #1
0
        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);
        }
Пример #5
0
        public IActionResult Query(SysGroupCriteria criteria)
        {
            var results = sysGroupService.Query(criteria);

            return(Ok(results));
        }