private bool HasReservations(uint?stylistId, DateTime startTime, DateTime endTime) //time --> 예약 끝나는 시간 { // ResList = new ObservableCollection<ReservationVo>(_reservationRepository.GetReservations()); //다시 db상에서 데이터 받아옴 // 이거할시 SelectedRes 사라짐 int startTimeTotalM = ReturnTotalMin(startTime); int endTimeTotalM = ReturnTotalMin(endTime); foreach (ReservationVo r in ResList.Where(x => x.StylistId == stylistId)) { int rstartTimeTotalM = ReturnTotalMin(r.StartAt); int rendTimeTotalM = ReturnTotalMin(r.EndAt); if (rstartTimeTotalM == rendTimeTotalM) { continue; } if (r.StartAt.Date == startTime.Date) { if (rstartTimeTotalM <= startTimeTotalM && rendTimeTotalM > endTimeTotalM) //다른 예약에 의해 포함될때 { return(true); } else if (startTimeTotalM <= rstartTimeTotalM && endTimeTotalM >= rendTimeTotalM) //한 예약을 포함할때 { return(true); } else if (startTimeTotalM < rstartTimeTotalM && endTimeTotalM < rendTimeTotalM && endTimeTotalM != rstartTimeTotalM && endTimeTotalM > rstartTimeTotalM) // 일부분이 겹칠때 { return(true); } } } return(false); }
private void ShowTimeTable(ReservationVo reservation) { DataRow _row; IEnumerable <ReservationVo> necessaryList; _row = TimeTable.NewRow(); //DataRow를 생성해서 그 사람의 예약 테이블을 채워야지 //예약 리스트 중에서 선택한 날짜만 불러오기 necessaryList = ResList.Where(x => x.StartAt.ToString("d").Equals(SelectedRes.StartAt.ToString("d"))); //이 목록 중에서 스타일리스트 아이디와 콤보박스에서 셀렉트한 미용사의 아이디 비교 necessaryList = necessaryList.Where(x => x.StylistId == SelectedRes.StylistId); //SaveResInColumn(necessaryList); SaveResInColumn.SaveReservationInColumn(necessaryList, TimeTable, _row); }