private void btnEditSubject_Click(object sender, EventArgs e)
        {
            chosenSubject = GetChosenSubject();

            if (chosenSubject != null)
            {
                txtName.Text         = chosenSubject.Name;
                txtEcts.Text         = chosenSubject.Ects.ToString();
                rtxtDescription.Text = chosenSubject.Description;

                using (var context = new SchedulesEntities1())
                {
                    chosenSubject = GetChosenSubject();
                    context.Subjects.Attach(chosenSubject);

                    var subject = context.Subjects.SingleOrDefault(x => x.Id == chosenSubject.Id);

                    var query = from p in context.Subjects.Include("Durations").Include("Halls").Include("Professors")
                                where p.Id == chosenSubject.Id
                                select p;

                    foreach (var s in query)
                    {
                        foreach (var d in s.Durations)
                        {
                            var query2 = from p in context.Durations.Include("Subjects")
                                         where d.Id == p.Id
                                         select p;

                            foreach (var dd in query2)
                            {
                                txtStartTime.Text   = dd.StartTime.ToString();
                                txtEndTime.Text     = dd.EndTime.ToString();
                                cmbDay.SelectedItem = dd.Day;
                            }

                            txtStartTime.Enabled = false;
                            txtEndTime.Enabled   = false;
                            cmbDay.Enabled       = false;
                        }

                        cmbProfessor.DataSource = s.Professors.ToList();
                        cmbProfessor.Enabled    = false;

                        cmbHall.DataSource = s.Halls.ToList();
                        cmbHall.Enabled    = false;

                        cmbSchedule.DataSource = s.Schedules.ToList();
                        cmbSchedule.Enabled    = false;
                    }
                }

                btnAddSubject.Text = "Update subject";
            }
        }
示例#2
0
        private List <Subject> GetInfoForChosenSubject()
        {
            List <Subject> subjects = new List <Subject>();

            using (var context = new SchedulesEntities1())
            {
                context.Subjects.Attach(chosenSubject);

                var query = (from p in context.Subjects.Include("Durations").Include("Professors").Include("Halls")
                             where p.Id == chosenSubject.Id
                             select p).FirstOrDefault();

                subjects.Add(query);
            }

            return(subjects);
        }
        private void FillComboBoxes()
        {
            List <DayOfWeek> days       = new List <DayOfWeek>();
            List <Professor> professors = new List <Professor>();
            List <Hall>      halls      = new List <Hall>();
            List <Schedule>  schedules  = new List <Schedule>();

            cmbProfessor.DataSource = null;
            cmbHall.DataSource      = null;
            cmbDay.DataSource       = null;

            using (var context = new SchedulesEntities1())
            {
                foreach (Professor professor in context.Professors)
                {
                    professors.Add(professor);
                }

                foreach (Hall hall in context.Halls)
                {
                    halls.Add(hall);
                }

                foreach (Schedule schedule in context.Schedules.Where(x => x.IdUser == currentUser.Id))
                {
                    schedules.Add(schedule);
                }
            }

            cmbProfessor.DataSource = professors;
            cmbHall.DataSource      = halls;
            cmbSchedule.DataSource  = schedules;

            days.Add(DayOfWeek.Monday);
            days.Add(DayOfWeek.Tuesday);
            days.Add(DayOfWeek.Wednesday);
            days.Add(DayOfWeek.Thursday);
            days.Add(DayOfWeek.Friday);
            days.Add(DayOfWeek.Saturday);
            days.Add(DayOfWeek.Sunday);

            cmbDay.DataSource = days;
        }