/// <summary> /// 画面に表示するための、一週間分の予定情報を取得 /// </summary> /// <param name="firstDate">取得する予定のうち、最初の日付</param> /// <returns>予定表示情報</returns> public List <FacilityDisplayInfo> GetOneWeekFacilityDisplayInfo(DateTime firstDate) { var facilityDisplayInfoList = new List <FacilityDisplayInfo>(); //施設表示情報リスト var scheduleDBAccess = new ScheduleDBAccess(); //施設利用情報を取得 var facilityUsageInfoList = scheduleDBAccess.GetFacilityUsageInfo(firstDate, firstDate.AddDays(6)); //施設名一覧を取得 var facilityNameInfoList = scheduleDBAccess.GetFacilityNameInfo(); //施設を利用しない予定を削除 facilityNameInfoList.RemoveAll(x => x.FacilityName == "施設を利用しない"); //施設利用情報、施設名一覧をもとに、施設1つにつき1要素の形のリストを作成する foreach (var facilityNameInfo in facilityNameInfoList) { facilityDisplayInfoList.Add(new FacilityDisplayInfo( facilityNameInfo.FacilityName, facilityUsageInfoList. Where(x => x.FacilityID == facilityNameInfo.FacilityID).ToList())); } return(facilityDisplayInfoList); }
/// <summary> /// 全ユーザーの1週間分の予定を取得し、ユーザー1人につき1要素の形にしたListを返す /// </summary> /// <param name="firstDate">取得する予定のうち、最初の日付</param> public List <ScheduleDisplayInfo> GetOneWeekSchedule(DateTime firstDate) { //画面に表示する予定情報 var scheduleDisplayInfoList = new List <ScheduleDisplayInfo>(); //1週間分の予定を、予定1件につき1要素の形で取得 var scheduleInfoList = new ScheduleDBAccess().GetScheduleInfo(firstDate, firstDate.AddDays(6)); //全てのユーザーの名前とIDを取得 var userIDAndNameList = new CommonLogic().GetUserIDAndName(); //ユーザー1人につき1要素の形にする foreach (var userIDAndName in userIDAndNameList) { scheduleDisplayInfoList.Add(new ScheduleDisplayInfo( userIDAndName.UserName, userIDAndName.UserID, scheduleInfoList.Where(x => x.UserID == userIDAndName.UserID).ToList())); } return(scheduleDisplayInfoList); }