public PageListResultBO <THUMUC_LUUTRU_BO> GetDataByPage(THUMUC_LUUTRU_SEARCHBO searchModel, int page, int limit) { var result = from thumuc in this.context.THUMUC_LUUTRU join donvi in context.CCTC_THANHPHAN on thumuc.DONVI_ID equals donvi.ID into group1 from g1 in group1.DefaultIfEmpty() join C1 in context.DM_NGUOIDUNG on thumuc.USER_ID equals C1.ID into group2 from g2 in group2.DefaultIfEmpty() join A2 in context.THUMUC_LUUTRU on thumuc.PARENT_ID equals A2.ID into group3 from g3 in group3.DefaultIfEmpty() where //(searchModel.FOLDER_ID.HasValue ? (thumuc.PARENT_ID.HasValue && thumuc.PARENT_ID.Value == searchModel.FOLDER_ID) : //((thumuc.PARENT_ID.HasValue && thumuc.PARENT_ID.Value == 0) || (!thumuc.PARENT_ID.HasValue))) ((thumuc.IS_DELETE.HasValue && !thumuc.IS_DELETE.Value) || (!thumuc.IS_DELETE.HasValue)) select new THUMUC_LUUTRU_BO { ID = thumuc.ID, PARENT_ID = thumuc.PARENT_ID, TEN_NGUOITAO = g2.HOTEN, TENTHUMUC = thumuc.TENTHUMUC, USER_ID = thumuc.USER_ID, THUMUCCHA = g3.TENTHUMUC, NGAYTAO = thumuc.NGAYTAO, IS_DELETE = thumuc.IS_DELETE.Value, NAM = thumuc.NAM, DONVI_ID = thumuc.DONVI_ID, IS_THUMUC = true, TEN_DONVI = g1.NAME, CLASS = thumuc.CLASS, PRIOVITY = thumuc.PRIOVITY, ACCESS_MODIFIER = thumuc.ACCESS_MODIFIER, IS_FIXED = thumuc.IS_FIXED, NGAYXOA = thumuc.NGAYXOA, PERMISSION = thumuc.PERMISSION, SLTHUMUC = 0, THUMUC_AO = thumuc.THUMUC_AO }; if (searchModel != null) { if (searchModel.USER_ID > 0) { result = result.Where(x => x.USER_ID == searchModel.USER_ID); } if (searchModel.FOLDER_ID.HasValue && searchModel.FOLDER_ID.Value > 0) { result = result.Where(x => (x.PARENT_ID.HasValue && x.PARENT_ID.Value == searchModel.FOLDER_ID)); } else { result = result.Where(x => (x.PARENT_ID.HasValue && x.PARENT_ID.Value == 0) || (!x.PARENT_ID.HasValue)); result = result.OrderBy(x => x.PRIOVITY); } result = result.OrderBy(x => x.TENTHUMUC); if (!string.IsNullOrEmpty(searchModel.TEN_THUMUC)) { result = result.Where(x => x.TENTHUMUC.ToLower().Contains(searchModel.TEN_THUMUC.ToLower())); } if (searchModel.FOLDER_PERMISSION.HasValue) { result = result.Where(x => x.PERMISSION.HasValue && x.PERMISSION.Value == searchModel.FOLDER_PERMISSION); } if (searchModel.ACCESS_MODIFIER.HasValue) { result = result.Where(x => x.ACCESS_MODIFIER.HasValue && x.ACCESS_MODIFIER.Value == searchModel.ACCESS_MODIFIER); } } else { result = result.Where(x => (x.PARENT_ID.HasValue && x.PARENT_ID.Value == 0) || (!x.PARENT_ID.HasValue)); result = result.OrderBy(x => x.PRIOVITY); } var resultmodel = new PageListResultBO <THUMUC_LUUTRU_BO>(); if (limit == -1) { var dataPageList = result.ToList(); resultmodel.Count = dataPageList.Count; resultmodel.TotalPage = 1; resultmodel.ListItem = dataPageList; } else { var dataPageList = result.ToPagedList(page, limit); resultmodel.Count = dataPageList.TotalItemCount; resultmodel.TotalPage = dataPageList.PageCount; resultmodel.ListItem = dataPageList.ToList(); } return(resultmodel); }
public PageListResultBO <THUMUC_LUUTRU_BO> GetFileByPage(THUMUC_LUUTRU_SEARCHBO searchModel, int page, int limit, string TENDONVI, THUMUC_LUUTRU ThuMuc) { var result = from tailieu in this.context.TAILIEUDINHKEM //join donvi in context.CCTC_THANHPHAN // on tailieu.DONVI_ID equals donvi.ID into group1 //from g1 in group1.DefaultIfEmpty() join C1 in context.DM_NGUOIDUNG on tailieu.USER_ID equals C1.ID into group2 from g2 in group2.DefaultIfEmpty() where ((tailieu.IS_DELETE.HasValue && !tailieu.IS_DELETE.Value) || (!tailieu.IS_DELETE.HasValue)) select new THUMUC_LUUTRU_BO { TENTHUMUC = tailieu.TENTAILIEU, SLTHUMUC = 0, ID = (long)tailieu.TAILIEU_ID, NGAYTAO = tailieu.NGAYTAO, IS_THUMUC = false, THUMUCCHA = tailieu.DINHDANG_FILE, TEN_NGUOITAO = g2.HOTEN, TEN_DONVI = TENDONVI, DONVI_ID = tailieu.IS_PHEDUYET, USER_ID = tailieu.USER_ID, ACCESS_MODIFIER = ThuMuc.ACCESS_MODIFIER, PERMISSION = ThuMuc.PERMISSION, PARENT_ID = tailieu.FOLDER_ID }; if (searchModel != null) { if (searchModel.USER_ID > 0) { result = result.Where(x => x.USER_ID == searchModel.USER_ID); } if (searchModel.FOLDER_ID.HasValue && searchModel.FOLDER_ID.Value > 0) { result = result.Where(x => (x.PARENT_ID.HasValue && x.PARENT_ID.Value == searchModel.FOLDER_ID)); } else { result = result.Where(x => (x.PARENT_ID.HasValue && x.PARENT_ID.Value == 0) || (!x.PARENT_ID.HasValue)); } result = result.OrderBy(x => x.TENTHUMUC); if (!string.IsNullOrEmpty(searchModel.TEN_THUMUC)) { result = result.Where(x => x.TENTHUMUC.ToLower().Contains(searchModel.TEN_THUMUC.ToLower())); } if (searchModel.FOLDER_PERMISSION.HasValue) { result = result.Where(x => x.PERMISSION.HasValue && x.PERMISSION.Value == searchModel.FOLDER_PERMISSION); } if (searchModel.ACCESS_MODIFIER.HasValue) { result = result.Where(x => x.ACCESS_MODIFIER.HasValue && x.ACCESS_MODIFIER.Value == searchModel.ACCESS_MODIFIER); } } else { result = result.Where(x => (x.PARENT_ID.HasValue && x.PARENT_ID.Value == 0) || (!x.PARENT_ID.HasValue)); result = result.OrderBy(x => x.PRIOVITY); } var resultmodel = new PageListResultBO <THUMUC_LUUTRU_BO>(); if (limit == -1) { var dataPageList = result.ToList(); resultmodel.Count = dataPageList.Count; resultmodel.TotalPage = 1; resultmodel.ListItem = dataPageList; } else { var dataPageList = result.ToPagedList(page, limit); resultmodel.Count = dataPageList.TotalItemCount; resultmodel.TotalPage = dataPageList.PageCount; resultmodel.ListItem = dataPageList.ToList(); } return(resultmodel); }