示例#1
0
        //Generate calendar
        private void ButtonGenerate_Click(object sender, RoutedEventArgs e)
        {
            int year  = DateTime.Now.Year;
            int month = DateTime.Now.Month;

            try
            {
                IEnumerable <ClassCalendar> query =
                    from elem in sql.CalendarList()
                    where elem.Year == year && elem.Month == month
                    select elem;
                if (query.Any())
                {
                    throw new Exception("Calendar already created");
                }

                ClassGenerateCalendar.GenerateCalendar(DateTime.Now.Year, DateTime.Now.Month + 1, sql);
                MessageBox.Show("Succesfully generated calendar");

                ComboBoxPickDate.ItemsSource = sql.CalendarList();
                if (ComboBoxPickDate.Items.Count == 0)
                {
                    return;
                }
                ComboBoxPickDate.SelectedIndex = ComboBoxPickDate.Items.Count - 1;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }
示例#2
0
        public void ListOfActiveDoctors()
        {
            ClassDoctor doctor1 = new ClassDoctor()
            {
                Active = true, Doctor_id = 1
            };
            ClassDoctor doctor2 = new ClassDoctor()
            {
                Active = false, Doctor_id = 2
            };
            ClassDoctor doctor3 = new ClassDoctor()
            {
                Active = true, Doctor_id = 3
            };
            ClassDoctor doctor4 = new ClassDoctor()
            {
                Active = true, Doctor_id = 4
            };
            ClassDoctor doctor5 = new ClassDoctor()
            {
                Active = false, Doctor_id = 5
            };
            List <ClassDoctor> fullList = new List <ClassDoctor> {
                doctor1, doctor2, doctor3, doctor4, doctor5
            };
            List <ClassDoctor> expected = new List <ClassDoctor> {
                doctor1, doctor3, doctor4
            };
            List <ClassDoctor> actual = ClassGenerateCalendar.ListOfActiveDoctors(fullList);

            Assert.Equal(expected, actual);
        }
示例#3
0
        public void TestCreateTerms()
        {
            SqlCalendar sql = new SqlCalendar();
            IEnumerable <ClassCalendar> querycal =
                from elem in sql.CalendarList()
                where elem.Month == 2
                select elem;
            ClassCalendar calendar = querycal.First();

            sql.CreateTerms("('08:00:00','12:00:00','2000-2-1',3,1,100,1),('13:00:00','15:00:00','2000-2-2',4,2,200,2)");
            ClassGenerateCalendar.ShareCalendar(calendar, sql);

            List <ClassTerm>        list  = sql.ListOfTerms();
            IEnumerable <ClassTerm> query =
                from elem in list
                where elem.TermId == 3 && elem.CalendarDay.CalendarDayId == 1 && elem.Doctor.Doctor_id == 1 && elem.StartTime.CompareTo(new TimeSpan(8, 0, 0)) == 0 && elem.EndTime.CompareTo(new TimeSpan(12, 0, 0)) == 0
                select elem;

            Assert.Single(query);

            query =
                from elem in list
                where elem.TermId == 4 && elem.CalendarDay.CalendarDayId == 2 && elem.Doctor.Doctor_id == 2 && elem.StartTime.CompareTo(new TimeSpan(13, 0, 0)) == 0 && elem.EndTime.CompareTo(new TimeSpan(15, 0, 0)) == 0
                select elem;

            Assert.Single(query);

            querycal =
                from elem in sql.CalendarList()
                where elem.Month == 2
                select elem;

            calendar = querycal.First();
            Assert.Equal(2, calendar.Status.StatusId);
        }
示例#4
0
        public void GetWorkingDayForClinic()
        {
            List <int> expected = new List <int> {
                1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 31
            };
            List <int> actual = ClassGenerateCalendar.WorkingDaysInMonth(2021, 5);

            Assert.Equal(expected, actual);
        }
示例#5
0
        public void TestGenerationOfCalendar()
        {
            SqlCalendar sql      = new SqlCalendar();
            List <int>  expected = ClassGenerateCalendar.WorkingDaysInMonth(2000, 1);

            ClassGenerateCalendar.GenerateCalendar(2000, 1, sql);

            List <ClassCalendar>        list  = sql.CalendarList();
            IEnumerable <ClassCalendar> query =
                from elem in list
                where elem.Year == 2000 && elem.Month == 1
                select elem;

            Assert.Single(query);
            int calendarId = (query.First()).CalendarId;
            List <ClassCalendarDay> actual = sql.ListOfCalendarDays(calendarId);

            for (int i = 0; i < expected.Count; i++)
            {
                Assert.Equal(expected[i], actual[i].Day);
            }
        }
示例#6
0
        //Share calendar
        private void ButtonShare_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase();
                if (calendar.Status.StatusId != sql.SelectStatusId(EnumStatus.New))
                {
                    throw new Exception("Calendar status must be new");
                }
                ClassGenerateCalendar.ShareCalendar(calendar, sql);
                MessageBox.Show("Succesfully shared calendar");

                ComboBoxPickDate.ItemsSource = sql.CalendarList();
                if (ComboBoxPickDate.Items.Count == 0)
                {
                    return;
                }
                ComboBoxPickDate.SelectedIndex = ComboBoxPickDate.Items.Count - 1;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }