Пример #1
0
        public IActionResult Paging(SysOfficeCriteria criteria, int page, int size)
        {
            var data   = sysOfficeService.Paging(criteria, page, size, out int rowCount);
            var result = new { data, totalItems = rowCount, page, size };

            return(Ok(result));
        }
        public async Task <IActionResult> ExportOffice(SysOfficeCriteria sysOfficeCriteria)
        {
            var responseFromApi = await HttpServiceExtension.GetDataFromApi(sysOfficeCriteria, aPis.HostStaging + Urls.System.OfficeUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <SysOfficeModel> >();

            var stream = new Helper().GenerateOfficeExcel(dataObjects.Result);

            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "Company List.xlsx");

            return(fileContent);
        }
Пример #3
0
        public List <SysOfficeViewModel> Query(SysOfficeCriteria criteria)
        {
            var SysOffices = GetOffices();
            var sysBu      = sysBuRepository.Get();
            var query      = (from branch in SysOffices
                              join bu in sysBu on branch.Buid equals bu.Id
                              select new { branch, companyName = bu.BunameEn });

            if (criteria.All == null)
            {
                query = query.Where(x =>
                                    ((x.branch.Code ?? "").IndexOf(criteria.Code ?? "", StringComparison.OrdinalIgnoreCase)) >= 0 &&
                                    (x.branch.BranchNameEn ?? "").IndexOf(criteria.BranchNameEn ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                    (x.branch.BranchNameVn ?? "").IndexOf(criteria.BranchNameVn ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                    (x.branch.ShortName ?? "").IndexOf(criteria.ShortName ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                    (x.branch.Taxcode ?? "").IndexOf(criteria.TaxCode ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                    (x.companyName ?? "").IndexOf(criteria.CompanyName ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                    (x.branch.Active == criteria.Active || criteria.Active == null));
            }
            else
            {
                query = query.Where(x => (
                                        ((x.branch.Code ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0) ||
                                        (x.branch.BranchNameEn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0 ||
                                        (x.branch.BranchNameVn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0 ||
                                        (x.branch.ShortName ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0 ||
                                        (x.branch.Taxcode ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0 ||
                                        (x.companyName ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                        (x.branch.Active == criteria.Active || criteria.Active == null)
                                        ));
            }
            if (query.Count() == 0)
            {
                return(null);
            }
            List <SysOfficeViewModel> results = new List <SysOfficeViewModel>();

            foreach (var item in query)
            {
                var SysOffice = mapper.Map <SysOfficeViewModel>(item.branch);
                SysOffice.CompanyName = item.companyName;
                results.Add(SysOffice);
            }
            results = results.OrderByDescending(x => x.DatetimeModified).ToList();
            return(results);
        }
Пример #4
0
        public IQueryable <SysOfficeViewModel> Paging(SysOfficeCriteria criteria, int page, int size, out int rowsCount)
        {
            List <SysOfficeViewModel> results = null;
            var list = Query(criteria);

            if (list == null)
            {
                rowsCount = 0;
                return(null);
            }
            rowsCount = list.Count;
            if (size > 1)
            {
                if (page < 1)
                {
                    page = 1;
                }
                results = list.Skip((page - 1) * size).Take(size).ToList();
            }
            return(results.AsQueryable());
        }
Пример #5
0
        public IActionResult Get(SysOfficeCriteria criteria)
        {
            var results = sysOfficeService.Query(criteria);

            return(Ok(results));
        }