Пример #1
0
        public ThongKeVanBanBO GetThongKeByYear()
        {
            var result       = new ThongKeVanBanBO();
            var sourceHoSo   = this.repository.All().Select(x => new { x.HOSO_NAM, x.ID }).ToList();
            var sourceVanBan = new QuanLyVanBanBusiness(new UnitOfWork()).repository.All().Select(x => x.HOSO_ID).ToList();
            var listHoSo     = new List <string>();
            var listVanBan   = new List <string>();
            var sourceYear   = sourceHoSo.Where(x => x.HOSO_NAM.HasValue).Select(x => x.HOSO_NAM).Distinct().OrderBy(x => x.Value).ToList();
            var listYear     = new List <string>();

            foreach (var item in sourceYear)
            {
                var listID = sourceHoSo.Where(x => x.HOSO_NAM == item).Select(x => x.ID);
                listHoSo.Add(listID.Count().ToString());
                listVanBan.Add(sourceVanBan.Where(x => listID.Contains(x.Value)).Count().ToString());
                listYear.Add("Năm " + item);
            }
            JavaScriptSerializer javascript = new JavaScriptSerializer();

            result.HoSo   = javascript.Serialize(listHoSo);
            result.VanBan = javascript.Serialize(listVanBan);
            result.Nam    = javascript.Serialize(listYear);
            return(result);
        }
Пример #2
0
        public PageListResultBO <VanBanPageListBO> GetPageForVanBan(QuanLyHoSoSearchModel searchModel, int pageNumber, int pageSize)
        {
            IQueryable <VanBanPageListBO> query = (
                from hs in this.context.QUANLY_HOSO
                orderby hs.TIEUDE
                select new VanBanPageListBO
            {
                DONVI_ID = hs.DONVI_ID,
                HOSO_ID = hs.ID,
                HOSO_NAME = hs.TIEUDE,
                HOSO_NAM = hs.HOSO_NAM,
                NAM_CHINH_LY = hs.NAM_CHINHLY,
                KHO_ID = hs.KHO_ID,
                PHONG_ID = hs.PHONG_ID,
                FTS = hs.FTS
            });

            if (searchModel != null)
            {
                if (searchModel.HoSoNam > 0)
                {
                    query = query.Where(x => x.HOSO_NAM == searchModel.HoSoNam);
                }
                if (searchModel.NamChinhLy > 0)
                {
                    query = query.Where(x => x.NAM_CHINH_LY == searchModel.NamChinhLy);
                }
                if (searchModel.KhoId > 0)
                {
                    query = query.Where(x => x.KHO_ID == searchModel.KhoId);
                }
                if (searchModel.PhongId > 0)
                {
                    query = query.Where(x => x.PHONG_ID == searchModel.PhongId);
                }
                if (!string.IsNullOrEmpty(searchModel.FTS))
                {
                    searchModel.FTS = searchModel.FTS.ConvertToVN();
                    query           = query.Where(x => x.FTS.Contains(searchModel.FTS));
                }
                if (!string.IsNullOrEmpty(searchModel.sortQuery))
                {
                    query = query.OrderBy(searchModel.sortQuery);
                }
                else
                {
                    query = query.OrderByDescending(x => x.HOSO_ID);
                }
            }

            var resultModel  = new PageListResultBO <VanBanPageListBO>();
            var dataPageList = query.ToPagedList(pageNumber, pageSize);
            var listHoSo     = dataPageList.ToList();

            resultModel.Count     = dataPageList.TotalItemCount;
            resultModel.TotalPage = dataPageList.PageCount;

            var listHoSoID = listHoSo.Select(x => x.HOSO_ID).ToList();
            var total      = query.Count();
            var listVanBan = new QuanLyVanBanBusiness(new UnitOfWork()).GetByListHoSo(listHoSoID);

            //Lấy list van ban
            foreach (var item in listHoSo)
            {
                var sourceVB = listVanBan.Where(x => x.HOSO_ID == item.HOSO_ID).ToList();
                //item.ListVanBan = sourceVB;
                item.TotalVanBan = sourceVB.Count;
            }
            resultModel.ListItem = listHoSo;
            return(resultModel);
        }