Example #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");
            }
        }
        // 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();
        }
Example #3
0
        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;
        }
Example #5
0
 .Intersect(GetAprPaymentTypes(availability, settings))
 .Intersect(GetPassedDeadlinePaymentMethods(availability, settings, date))