示例#1
0
        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");
            }
        }
        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;
        }