private void btAdd_Click(object sender, RoutedEventArgs e) { DateTime?date = null; TimeSpan?startTime = null; TimeSpan?endTime = null; int duration; if (!string.IsNullOrWhiteSpace(dpDateAddAv.Text)) { date = Convert.ToDateTime(dpDateAddAv.Text); } if (!string.IsNullOrWhiteSpace(cmbStartTime.Text)) { startTime = TimeSpan.Parse(cmbStartTime.Text); } if (!string.IsNullOrWhiteSpace(cmbEndTime.Text)) { endTime = TimeSpan.Parse(cmbEndTime.Text); } if (rb30M.IsChecked == true) { duration = 30; } else { duration = 60; } //convert nullable DateTime to DateTime DateTime DateToPass = (DateTime)(date); DateTime sTime = (DateTime)(date + startTime); DateTime eTime = (DateTime)(date + endTime); //check the sTime if is overlapping with existing availabilities bool CanAddAvailability = true; var list = context.availabilities.Where(a => a.DoctorId == Globals.SessionId); foreach (availability a in list) { if (sTime >= a.AvailableFrom && sTime <= a.AvailableTo) { CanAddAvailability = false; } } if (CanAddAvailability) { availability av = new availability(Globals.SessionId, DateToPass, sTime, eTime, duration); context.availabilities.Add(av); context.SaveChanges(); MessageBox.Show("Added ", av.ToString()); dpDateAddAv.Text = ""; cmbStartTime.SelectedIndex = -1; cmbEndTime.SelectedIndex = -1; } if (!CanAddAvailability) { MessageBox.Show("Please check the entry, it is overlapping with existing availability"); } }
// Add Availability public void AddAvailability() { // this function need validation to check the one being added is not overlaping with existing ones. //code??? availability a = new availability(); context.availabilities.Add(a); context.SaveChanges(); }
private void Page_Loaded(object sender, RoutedEventArgs e) { context.availabilities.Load(); doctoravailabilitiesViewSource.Source = context.availabilities.Local; //add a filter to load only logged doctor availabilities // doctor id obtained from log in SessionId doctoravailabilitiesViewSource.View.Filter = item => { availability m = item as availability; if (m != null) { if (m.DoctorId.Equals(Globals.SessionId) && m.AvailableFrom >= DateTime.Today) { return(true); } } return(false); }; }
private void btAdd_Click(object sender, RoutedEventArgs e) { int doctorId = 5; DateTime date = DateTime.Now.Date; DateTime startTime = DateTime.Now.Date; DateTime endTime = DateTime.Now.Date; if (dpDateAddAv.Text != null) { date = Convert.ToDateTime(dpDateAddAv.Text); } if (cmbStartTime.Text != null) { startTime = Convert.ToDateTime(cmbStartTime.Text); } if (cmbEndTime.Text != null) { endTime = Convert.ToDateTime(cmbEndTime.Text); } int duration = 0; if (rb30M.IsChecked == true) { duration = 30; } else { duration = 60; } availability av = new availability(doctorId, date, startTime, endTime, duration); crud.AddAvailableTime(av); MessageBox.Show("Added ", av.ToString()); dpDateAddAv.Text = ""; cmbStartTime.SelectedIndex = -1; cmbEndTime.SelectedIndex = -1; }
.Intersect(GetAprPaymentTypes(availability, settings)) .Intersect(GetPassedDeadlinePaymentMethods(availability, settings, date))