public ActionResult IndexPost() { using (CoolMeetingDbContext db = new CoolMeetingDbContext()) { db.Departments.ToList(); } ViewBag.Result = "数据库生成成功!"; return(View()); }
public static List <Meeting> GetMeetingsSortedAndPaged(string meetingName, string reservationistName, DateTime?fromDate, DateTime?toDate, bool?canceled, int pageIndex, string sortFieldName, bool?descending, out int total) { using (CoolMeetingDbContext db = new CoolMeetingDbContext()) { var query = db.Meetings.Include(m => m.Reservationist).Include(m => m.RoomReserved); if (!string.IsNullOrEmpty(meetingName)) { query = query.Where(m => m.MeetingName.Contains(meetingName)); } if (!string.IsNullOrEmpty(reservationistName)) { query = query.Where(m => m.Reservationist.EmployeeName.Contains(reservationistName)); } if (fromDate.HasValue) { query = query.Where(m => m.StartTime >= fromDate.Value); } if (toDate.HasValue) { query = query.Where(m => m.StartTime <= toDate.Value); } if (canceled.HasValue) { query = query.Where(m => m.IsCanceled == canceled.Value); } else { query = query.Where(m => m.IsCanceled == false); } // 处理排序 if (string.IsNullOrEmpty(sortFieldName)) // 默认情况下按照ID逆序排列 { sortFieldName = "MeetingID"; descending = true; } else { descending = descending.HasValue ? descending.Value : false; } query = EFSortHelper.PagedSort(query, sortFieldName, descending.Value); // 获取查询结果总数 total = query.Count(); // 分页 query = query.Skip(PAGE_SIZE * pageIndex).Take(PAGE_SIZE); return(query.ToList()); } }
public static List <Employee> GetEmployeesSortedAndPaged( string employeeName, string userName, string email, int?department, int?status, int pageIndex, string sortFieldName, bool?descending, out int total) { using (CoolMeetingDbContext db = new CoolMeetingDbContext()) { var query = db.Employees.Include(e => e.Department); if (!string.IsNullOrEmpty(employeeName)) { query = query.Where(emp => emp.EmployeeName.Contains(employeeName)); } if (!string.IsNullOrEmpty(userName)) { query = query.Where(emp => emp.UserName.Contains(userName)); } if (!string.IsNullOrEmpty(email)) { query = query.Where(emp => emp.Email == email); } if (department.HasValue) { query = query.Where(emp => emp.DepartmentID == department.Value); } if (status.HasValue && status.Value == 1) { query = query.Where(emp => emp.IsDeleted == true); } else { query = query.Where(emp => emp.IsDeleted == false); } // 处理排序 sortFieldName = string.IsNullOrEmpty(sortFieldName) ? "EmployeeID" : sortFieldName; descending = descending.HasValue ? descending.Value : false; query = EFSortHelper.PagedSort(query, sortFieldName, descending.Value); // 获取查询结果总数 total = query.Count(); // 分页 query = query.Skip(PAGE_SIZE * pageIndex).Take(PAGE_SIZE); return(query.ToList()); } }
public static bool CheckRoom(Meeting meeting, out string errorMessage) { using (CoolMeetingDbContext db = new CoolMeetingDbContext()) { if (meeting.StartTime <= DateTime.Now) { errorMessage = "会议起始时间不能早于当前时间"; return(false); } if (meeting.StartTime >= meeting.EndTime) { errorMessage = "会议结束时间不能早于起始时间"; return(false); } Room room = db.Rooms.Find(meeting.RoomID); // 检查会议室容量 if (room.Capacity < meeting.NumberOfParticipants) { errorMessage = "会议室容量太小"; return(false); } // 检查会议室的时间段是否可用 var existed = db.Meetings.Where(m => !m.IsCanceled && m.RoomID == meeting.RoomID). FirstOrDefault(m => (m.StartTime > meeting.StartTime && m.StartTime < meeting.EndTime) || (m.EndTime > meeting.StartTime && m.EndTime < meeting.EndTime)); if (existed != null) { errorMessage = "会议室时间冲突"; return(false); } errorMessage = ""; return(true); } }