public AuditoriumEvent(string name, Calendar calendar, Ring ring, Auditorium auditorium)
 {
     Name = name;
     Calendar = calendar;
     Ring = ring;
     Auditorium = auditorium;
 }
Esempio n. 2
0
 public TeacherWish(Teacher teacher, Calendar calendar, Ring ring, int wish)
 {
     Teacher = teacher;
     Calendar = calendar;
     Ring = ring;
     Wish = wish;
 }
Esempio n. 3
0
 public CalendarView(Calendar calendar)
 {
     CalendarId = calendar.CalendarId;
     Date = calendar.Date;
     State = calendar.State;
     if (Constants.CalendarStateDescription.ContainsKey(calendar.State))
     {
         StateString = Constants.CalendarStateDescription[calendar.State];
     }
 }
Esempio n. 4
0
        private void add_Click(object sender, EventArgs e)
        {
            if (_repo.FindCalendar(calendarDate.Value) != null)
            {
                MessageBox.Show("Эта дата уже есть.");
                return;
            }

            var newCalendar = new Calendar { Date = calendarDate.Value.Date };
            _repo.AddCalendar(newCalendar);

            RefreshView();
        }
Esempio n. 5
0
        private void button1_Click(object sender, EventArgs e)
        {
            var curDate = startDate.Value.Date;

            do
            {
                if (_repo.FindCalendar(curDate) == null)
                {
                    var newCalendar = new Calendar { Date = curDate };
                    _repo.AddCalendar(newCalendar);
                }

                RefreshView();

                curDate = curDate.AddDays(1);
            } while (curDate <= finishDate.Value.Date);
        }
Esempio n. 6
0
        private void Execute_Click(object sender, EventArgs e)
        {
            if (teacherForDisciplineBox.SelectedValue == null)
            {
                MessageBox.Show("Неправильно выбран TFD.");
                return;
            }

            var weekList = ScheduleRepository.WeeksStringToList(lessonWeeks.Text);

            var tfd = _repo.GetTeacherForDiscipline((int)teacherForDisciplineBox.SelectedValue);
            var disc = tfd.Discipline;
            var studentGroup = disc.StudentGroup;
            var sigFromGroup = _repo.GetFiltredStudentsInGroups(sing => sing.StudentGroup.StudentGroupId == studentGroup.StudentGroupId);
            var studentIdsInGroup = sigFromGroup.Select(studentsInGroupse => studentsInGroupse.Student.StudentId).ToList();
            var studentGroupsIds = _repo.GetFiltredStudentsInGroups(sig => studentIdsInGroup.Contains(sig.Student.StudentId)).Select(sing => sing.StudentGroup.StudentGroupId).Distinct();

            var ring = _repo.GetRing((int)ringsBox.SelectedValue);

            var calendarIdsList = new List<int>();
            for (int i = 0; i < weekList.Count; i++)
            {
                var date = _repo.GetDateFromDowAndWeek((int)dayOfWeekBox.SelectedValue, weekList[i]);
                var calendar = _repo.FindCalendar(date);
                if (calendar != null)
                {
                    calendarIdsList.Add(calendar.CalendarId);
                }
            }
            var groupsLessons = _repo
                .GetFiltredLessons(
                    l => studentGroupsIds.Contains(l.TeacherForDiscipline.Discipline.StudentGroup.StudentGroupId) &&
                         calendarIdsList.Contains(l.Calendar.CalendarId) &&
                         l.Ring.RingId == ring.RingId &&
                         l.IsActive);

            if (groupsLessons.Count != 0)
            {
                MessageBox.Show("У студентов группы есть занятия.");
                return;
            }

            Dictionary<int, string> audWeekList = new Dictionary<int,string>();
            audWeekList = Utilities.GetAudWeeksList(auditoriums.Text);

            for (int i = 0; i < weekList.Count; i++)
            {
                var lesson = new Lesson();

                lesson.IsActive = isActive.Checked;
                lesson.TeacherForDiscipline = tfd;
                lesson.Ring = _repo.GetRing((int)ringsBox.SelectedValue);

                var date = _repo.GetDateFromDowAndWeek((int)dayOfWeekBox.SelectedValue, weekList[i]);
                var calendar = _repo.FindCalendar(date);
                if (calendar == null)
                {
                    calendar = new Calendar(date);
                }
                lesson.Calendar = calendar;

                // Auditorium
                Auditorium aud;
                if (audList.SelectedIndex != -1)
                {
                    aud = _repo.GetAuditorium((int)audList.SelectedValue);
                }
                else
                {
                    if (audWeekList.Keys.Count == 1)
                    {
                        var lessonAud = audWeekList[0];
                        audWeekList.Clear();
                        foreach (var week in weekList)
                        {
                            audWeekList.Add(week, lessonAud);
                        }
                    }

                    aud = _repo.FindAuditorium(audWeekList[weekList[i]]);
                    if (aud == null)
                    {
                        _repo.AddAuditorium(new Auditorium(audWeekList[weekList[i]]));
                        aud = _repo.FindAuditorium(audWeekList[weekList[i]]);
                    }
                }
                lesson.Auditorium = aud;

                _repo.AddLesson(lesson, publicComment.Text, hiddenComment.Text);
            }

            this.Close();
        }
        public Calendar AddCalendar(Calendar calendar)
        {
            using (var context = new ScheduleContext(ConnectionString))
            {
                calendar.CalendarId = 0;

                context.Calendars.Add(calendar);
                context.SaveChanges();

                return calendar;
            }
        }
        public void UpdateCalendar(Calendar calendar)
        {
            using (var context = new ScheduleContext(ConnectionString))
            {
                var curCalendar = context.Calendars.FirstOrDefault(c => c.CalendarId == calendar.CalendarId);

                curCalendar.Date = calendar.Date;

                context.SaveChanges();
            }
        }
        public List<Auditorium> GetFreeAuditoriumAtTime(Calendar calendar, Ring ring)
        {
            using (var context = new ScheduleContext(ConnectionString))
            {
                var occupiedAudIds = context.Lessons
                    .Where(l =>
                        ((l.Calendar.CalendarId == calendar.CalendarId) &&
                         (l.Ring.RingId == ring.RingId)))
                     .Select(l => l.Auditorium.AuditoriumId)
                     .Distinct()
                     .ToList();

                var result = context.Auditoriums.Where(a => !occupiedAudIds.Contains(a.AuditoriumId)).ToList();

                return result;
            }
        }
Esempio n. 10
0
 public MySQLCalendar(Calendar calendar)
 {
     CalendarId = calendar.CalendarId;
     Date = calendar.Date.ToString("yyyy-MM-dd");
 }
Esempio n. 11
0
 public MySqlCalendar(Calendar calendar)
 {
     CalendarId = calendar.CalendarId;
     Date = calendar.Date.ToString("yyyy-MM-dd");
     State = calendar.State;
 }