// GET: DTPhanCongDaoTao/DTPhanCongDaoTao /// <summary> /// @author: duynn /// </summary> /// <returns></returns> public ActionResult Index() { AssignUserInfo(); RecipientBusiness = Get <QL_NGUOINHAN_VANBANBusiness>(); QLNguoiNhanVanBanIndexViewModel viewModel = new QLNguoiNhanVanBanIndexViewModel(); QL_NGUOINHAN_VANBAN_SEARCH_BO searchModel = new QL_NGUOINHAN_VANBAN_SEARCH_BO(); SessionManager.SetValue("QLNguoiNhanVanBanSearch", searchModel); viewModel.GroupRecipients = RecipientBusiness.GetDataByPage(searchModel, currentUser); viewModel.IsSystemAdmin = currentUser.ListVaiTro.Any(x => x.MA_VAITRO == "QLHT"); viewModel.DepartmentId = currentUser.DM_PHONGBAN_ID.GetValueOrDefault(); return(View(viewModel)); }
/// <summary> /// @author: duynn /// </summary> /// <returns></returns> public JsonResult SearchData(FormCollection collection) { AssignUserInfo(); RecipientBusiness = Get <QL_NGUOINHAN_VANBANBusiness>(); PageListResultBO <QL_NGUOINHAN_VANBAN_BO> result = new PageListResultBO <QL_NGUOINHAN_VANBAN_BO>(); QL_NGUOINHAN_VANBAN_SEARCH_BO searchModel = (QL_NGUOINHAN_VANBAN_SEARCH_BO)SessionManager.GetValue("QLNguoiNhanVanBanSearch"); if (searchModel == null) { searchModel = new QL_NGUOINHAN_VANBAN_SEARCH_BO(); } //searchModel.QueryDeptId = currentUser.DM_PHONGBAN_ID.GetValueOrDefault(); searchModel.QueryName = collection["TEN_NHOM"]; result = RecipientBusiness.GetDataByPage(searchModel, currentUser); return(Json(result)); }
/// <summary> /// @author: duynn /// </summary> /// <returns></returns> public JsonResult GetDataPerPage(int pageSize, int pageIndex, string sortQuery) { AssignUserInfo(); RecipientBusiness = Get <QL_NGUOINHAN_VANBANBusiness>(); PageListResultBO <QL_NGUOINHAN_VANBAN_BO> result = new PageListResultBO <QL_NGUOINHAN_VANBAN_BO>(); QL_NGUOINHAN_VANBAN_SEARCH_BO searchModel = (QL_NGUOINHAN_VANBAN_SEARCH_BO)SessionManager.GetValue("QLNguoiNhanVanBanSearch"); if (searchModel == null) { searchModel = new QL_NGUOINHAN_VANBAN_SEARCH_BO(); } //searchModel.QueryDeptId = currentUser.DM_PHONGBAN_ID.GetValueOrDefault(); searchModel.pageIndex = pageIndex; searchModel.pageSize = pageSize; searchModel.sortQuery = sortQuery; result = RecipientBusiness.GetDataByPage(searchModel, currentUser); return(Json(result)); }
/// <summary> /// @author: duynn /// @description: danh sách người nhận văn bản /// </summary> /// <param name="searchModel"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public PageListResultBO <QL_NGUOINHAN_VANBAN_BO> GetDataByPage( QL_NGUOINHAN_VANBAN_SEARCH_BO searchModel, UserInfoBO user, int pageIndex = 1, int pageSize = 20) { var queryUsers = this.context.DM_NGUOIDUNG; var queryResult = (from recipient in this.context.QL_NGUOINHAN_VANBAN join dept in this.context.CCTC_THANHPHAN on recipient.DM_PHONGBAN_ID equals dept.ID into groupDeptRecipients from gDeptRecipients in groupDeptRecipients.DefaultIfEmpty() where recipient.IS_DELETE != true && (recipient.IS_DEFAULT == true || recipient.DM_PHONGBAN_ID == user.DM_PHONGBAN_ID) orderby recipient.TEN_NHOM select new QL_NGUOINHAN_VANBAN_BO() { ID = recipient.ID, TEN_NHOM = recipient.TEN_NHOM, NGUOINHAN_IDS = recipient.NGUOINHAN_IDS, IS_DEFAULT = recipient.IS_DEFAULT, DM_PHONGBAN_ID = recipient.DM_PHONGBAN_ID, TEN_PHONGBAN = gDeptRecipients.NAME, }); if (searchModel != null) { if (string.IsNullOrEmpty(searchModel.QueryName) == false) { searchModel.QueryName = searchModel.QueryName.Trim().ToLower(); queryResult = queryResult.Where(x => x.TEN_NHOM != null && x.TEN_NHOM.Trim().ToLower().Contains(searchModel.QueryName)); } if (!string.IsNullOrEmpty(searchModel.sortQuery)) { queryResult = queryResult.OrderBy(searchModel.sortQuery); } else { queryResult = queryResult.OrderByDescending(x => x.ID); } } else { queryResult = queryResult.OrderByDescending(x => x.ID); } var result = new PageListResultBO <QL_NGUOINHAN_VANBAN_BO>(); if (pageSize == -1) { var listData = queryResult.ToList(); result.Count = listData.Count; result.TotalPage = 1; result.ListItem = listData; } else { var pagedListData = queryResult.ToPagedList(pageIndex, pageSize); result.Count = pagedListData.TotalItemCount; result.TotalPage = pagedListData.PageCount; result.ListItem = pagedListData.ToList(); } foreach (var item in result.ListItem) { if (!string.IsNullOrEmpty(item.NGUOINHAN_IDS)) { List <long> userIds = item.NGUOINHAN_IDS.ToListLong(','); IQueryable <DM_NGUOIDUNG> users = queryUsers.Where(x => userIds.Contains(x.ID)); item.Members = string.Join("<br/>", users.Select(x => x.HOTEN).ToArray()); } } return(result); }