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); }
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); }
public PageListResultBO <QuanLyHoSoBO> GetPage(QuanLyHoSoSearchModel searchModel, int pageNumber, int pageSize) { IQueryable <QuanLyHoSoBO> query = ( from hs in this.context.QUANLY_HOSO join phong in this.context.DM_DANHMUC_DATA on hs.PHONG_ID equals(int) phong.ID into group1 from gPhong in group1.DefaultIfEmpty() join nguoidung in this.context.DM_NGUOIDUNG on hs.NGUOITAO equals nguoidung.ID into group2 from gNguoiDung in group2.DefaultIfEmpty() join kho in this.context.DM_DANHMUC_DATA on hs.KHO_ID equals(int) kho.ID into group3 from gKho in group3.DefaultIfEmpty() orderby hs.TIEUDE select new QuanLyHoSoBO { DONVI_ID = hs.DONVI_ID, ID = hs.ID, TIEUDE = hs.TIEUDE, HOSO_NAM = hs.HOSO_NAM, NAM_CHINHLY = hs.NAM_CHINHLY, KHO_ID = hs.KHO_ID, PHONG_ID = hs.PHONG_ID, FTS = hs.FTS, THOIGIAN_TAILIEU = hs.THOIGIAN_TAILIEU, CHUGIAI = hs.CHUGIAI, THOIHAN_BAOQUAN_ID = hs.THOIHAN_BAOQUAN_ID, HOPSO = hs.HOPSO, HOSO_SO = hs.HOSO_SO, MUCDO_TRUYCAP = hs.MUCDO_TRUYCAP, MUCLUC_SO = hs.MUCLUC_SO, NGAYTAO = hs.NGAYTAO, NGUOITAO = hs.NGUOITAO, PHONGSO = hs.PHONGSO, SOLUONG_TO = hs.SOLUONG_TO, TEN_KHO = gKho.TEXT, TEN_NGUOITAO = gNguoiDung.HOTEN, TEN_PHONG = gPhong.TEXT, TRANGTHAI = hs.TRANGTHAI }); 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_CHINHLY == 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.ID); } } var resultModel = new PageListResultBO <QuanLyHoSoBO>(); var dataPageList = query.ToPagedList(pageNumber, pageSize); var listHoSo = dataPageList.ToList(); #region lấy count văn bản var vanBanBusiness = new QuanLyVanBanBusiness(new UnitOfWork()); foreach (var item in listHoSo) { item.CountVanBan = vanBanBusiness.repository.All().Where(x => x.HOSO_ID == item.ID).Count(); } #endregion resultModel.Count = dataPageList.TotalItemCount; resultModel.ListItem = listHoSo; resultModel.TotalPage = dataPageList.PageCount; return(resultModel); }