Exemplo n.º 1
0
        private void ShowSemesterDisciplineEditor(EducationPlan educationPlan, SemesterDiscipline semesterDiscipline)
        {
            SemesterDisciplineEditViewModel viewModel = new SemesterDisciplineEditViewModel(educationPlan, semesterDiscipline);

            new SemesterDisciplineEditorWindow(viewModel).ShowDialog();
            RefreshSemesterDisciplines(educationPlan);
        }
Exemplo n.º 2
0
        private void DeleteSemesterDiscipline(EducationPlan educationPlan, SemesterDiscipline semesterDiscipline)
        {
            if (IsSelectedSemesterDiscipline(semesterDiscipline))
            {
                EducationProcessContext         context = new EducationProcessContext();
                EducationPlanSemesterDiscipline educationPlanSemesterDiscipline =
                    context.EducationPlanSemesterDisciplines
                    .First(x => x.EducationPlanId == educationPlan.EducationPlanId &&
                           x.SemesterDisciplineId == semesterDiscipline.SemesterDisciplineId);

                context.EducationPlanSemesterDisciplines.Remove(educationPlanSemesterDiscipline);

                EducationPlanSemesterDiscipline?otherEducationPlanSemesterDiscipline =
                    context.EducationPlanSemesterDisciplines
                    .FirstOrDefault(x => x.SemesterDisciplineId == semesterDiscipline.SemesterDisciplineId &&
                                    x.EducationPlanId != educationPlan.EducationPlanId);

                if (otherEducationPlanSemesterDiscipline == null)
                {
                    context.EducationPlans.Remove(educationPlan);
                }

                context.SaveChanges();
                RefreshSemesterDisciplines(educationPlan);
            }
        }
Exemplo n.º 3
0
 private void EditSemesterDiscipline(EducationPlan educationPlan, SemesterDiscipline semesterDiscipline)
 {
     if (IsSelectedSemesterDiscipline(semesterDiscipline))
     {
         ShowSemesterDisciplineEditor(educationPlan, semesterDiscipline);
         RefreshSemesterDisciplines(educationPlan);
     }
 }
Exemplo n.º 4
0
 private bool IsSelectedSemesterDiscipline(SemesterDiscipline semesterDiscipline)
 {
     if (semesterDiscipline == null)
     {
         _dialogCoordinator.ShowMessageAsync(this, "Внимание", "Выберите дисциплину");
         return(false);
     }
     return(true);
 }
Exemplo n.º 5
0
 public Semester InsertSemesterDiscipline(SemesterDiscipline _semesterDiscipline)
 {
     using (Bit8Entities entities = new Bit8Entities())
     {
         entities.SemesterDisciplines.Add(_semesterDiscipline);
         entities.SaveChanges();
     }
     return(new Semester());
 }
Exemplo n.º 6
0
        private void SaveSemesterDiscipline(EducationPlan educationPlan, SemesterDiscipline semesterDiscipline)
        {
            if (SelectedDiscipline == null)
            {
                ShowDialog("Ошиюка", "Выберите дисциплину");
                return;
            }

            if (SelectedSemester == null)
            {
                ShowDialog("Ошиюка", "Выберите семестр");
                return;
            }

            if (IsThereDisciplineOnSemester(_educationPlan, semesterDiscipline))
            {
                ShowDialog("Ошибка", "На данный семестр уже имеется такая дисциплина");
                return;
            }

            bool isNewSemesterDiscipline = semesterDiscipline == null;

            if (isNewSemesterDiscipline)
            {
                semesterDiscipline = new SemesterDiscipline();
            }
            else
            {
                semesterDiscipline.SemesterId = SelectedSemester.SemesterId;
            }

            semesterDiscipline.DisciplineId             = SelectedDiscipline.DisciplineId;
            semesterDiscipline.CertificationFormId      = SelectedCertificationForm?.CertificationFormId;
            semesterDiscipline.TheoryLessonHours        = TheoryLessonHours;
            semesterDiscipline.PracticeWorkHours        = PracticeWorkHours;
            semesterDiscipline.LaboratoryWorkHours      = LaboratoryWorkHours;
            semesterDiscipline.ControlWorkHours         = ControlWorkHours;
            semesterDiscipline.IndependentWorkHours     = IndependentWorkHours;
            semesterDiscipline.ConsultationHours        = ConsultationHours;
            semesterDiscipline.ExamHours                = ExamHours;
            semesterDiscipline.EducationalPracticeHours = EducationalPracticeHours;
            semesterDiscipline.ProductionPracticeHours  = ProductionPracticeHours;

            if (isNewSemesterDiscipline)
            {
                AddNewSemesterDiscipline(educationPlan, semesterDiscipline);
            }
            else
            {
                UpdateSemesterDiscipline(educationPlan, semesterDiscipline);
            }

            _context.SaveChanges();
        }
        public async Task <IActionResult> Create(int id, string ReturnUrl)
        {
            ViewData["ReturnUrl"] = ReturnUrl;
            Discipline discipline = await _context.Disciplines.FirstOrDefaultAsync(d => d.Id == id);

            SemesterDiscipline semesterDiscipline = new SemesterDiscipline()
            {
                Discipline = discipline
            };

            return(View(semesterDiscipline));
        }
Exemplo n.º 8
0
 public Semester DeleteSemesterDiscipline(SemesterDiscipline _semesterDiscipline)
 {
     using (Bit8Entities entities = new Bit8Entities())
     {
         SemesterDiscipline semesterDiscipline = (from c in entities.SemesterDisciplines
                                                  where c.SemesterID == _semesterDiscipline.SemesterID &&
                                                  c.DisciplineID == _semesterDiscipline.DisciplineID
                                                  select c).FirstOrDefault();
         entities.SemesterDisciplines.Remove(semesterDiscipline);
         entities.SaveChanges();
     }
     return(new Semester());
 }
Exemplo n.º 9
0
        private bool IsThereDisciplineOnSemester(EducationPlan educationPlan, SemesterDiscipline semesterDiscipline)
        {
            int semesterDisciplineId = semesterDiscipline != null ? semesterDiscipline.SemesterDisciplineId : 0;

            if (_context.EducationPlanSemesterDisciplines
                .FirstOrDefault(x => x.SemesterDiscipline.Semester.Number == SelectedSemester.Number &&
                                x.EducationPlanId == educationPlan.EducationPlanId &&
                                x.SemesterDiscipline.DisciplineId == SelectedDiscipline.DisciplineId &&
                                x.SemesterDisciplineId != semesterDisciplineId) != null)
            {
                return(true);
            }
            return(false);
        }
Exemplo n.º 10
0
        private void AddNewSemesterDiscipline(EducationPlan educationPlan, SemesterDiscipline semesterDiscipline)
        {
            EducationProcessContext context = new EducationProcessContext();

            context.SemesterDisciplines.Add(semesterDiscipline);
            context.SaveChanges();
            EducationPlanSemesterDiscipline educationPlanSemesterDiscipline = new EducationPlanSemesterDiscipline()
            {
                EducationPlanId      = educationPlan.EducationPlanId,
                SemesterDisciplineId = semesterDiscipline.SemesterDisciplineId
            };

            context.EducationPlanSemesterDisciplines.Add(educationPlanSemesterDiscipline);
            context.SaveChanges();
        }
Exemplo n.º 11
0
        private void UpdateSemesterDiscipline(EducationPlan educationPlan, SemesterDiscipline semesterDiscipline)
        {
            EducationProcessContext context   = new EducationProcessContext();
            bool isChainedForOtherDisciplines =
                context.EducationPlanSemesterDisciplines.FirstOrDefault(x =>
                                                                        x.EducationPlanId != educationPlan.EducationPlanId &&
                                                                        x.SemesterDisciplineId == semesterDiscipline.SemesterDisciplineId) != null;

            if (isChainedForOtherDisciplines)
            {
                AddNewSemesterDiscipline(educationPlan, semesterDiscipline);
                return;
            }
            context.SemesterDisciplines.Update(semesterDiscipline);
            context.SaveChanges();
        }
        public async Task <IActionResult> Create([Bind("DisciplineId,Year,Semester,ControlType")] SemesterDiscipline semesterDiscipline, string ReturnUrl)
        {
            ViewData["ReturnUrl"]         = ReturnUrl;
            semesterDiscipline.Discipline = await _context.Disciplines.FirstOrDefaultAsync(d => d.Id == semesterDiscipline.DisciplineId);

            if (_context.SemesterDiscipline
                .Where(x => x.DisciplineId == semesterDiscipline.DisciplineId &&
                       x.Year == semesterDiscipline.Year &&
                       x.Semester == semesterDiscipline.Semester).Count() > 0)
            {
                ModelState.AddModelError("", "Семестровая дисциплина с таким курсом и семестром уже существует!");
                return(View(semesterDiscipline));
            }

            if (ModelState.IsValid)
            {
                _context.Add(semesterDiscipline);
                await _context.SaveChangesAsync();

                if (semesterDiscipline.ControlType == ControlType.Exam)
                {
                    var type = _context.ActivityTypes.FirstOrDefault(x => x.Name == RatingControlsController.EXAMTYPENAME);
                    if (type != null)
                    {
                        var exam = new Activity();
                        exam.MaxPoints            = 40;
                        exam.Number               = 1;
                        exam.SemesterDisciplineId = semesterDiscipline.Id;
                        exam.Title  = "Экзамен";
                        exam.TypeId = type.Id;
                        _context.Add(exam);
                        await _context.SaveChangesAsync();
                    }
                }

                if (!string.IsNullOrEmpty(ReturnUrl) && Url.IsLocalUrl(ReturnUrl))
                {
                    return(Redirect(ReturnUrl));
                }
                else
                {
                    return(RedirectToAction("Edit", "Disciplines", new { id = semesterDiscipline.DisciplineId }));
                }
            }
            return(View(semesterDiscipline));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,DisciplineId,Year,Semester,ControlType")] SemesterDiscipline semesterDiscipline, string returnUrl)
        {
            if (id != semesterDiscipline.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(semesterDiscipline);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SemesterDisciplineExists(semesterDiscipline.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                if (!string.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
                {
                    return(Redirect(returnUrl));
                }
                else
                {
                    return(RedirectToAction("Details", "Disciplines", new { id = semesterDiscipline.DisciplineId }));
                }
            }
            ViewData["returnUrl"]    = returnUrl;
            ViewData["DisciplineId"] = new SelectList(_context.Disciplines, "Id", "Name", semesterDiscipline.DisciplineId);
            return(View(semesterDiscipline));
        }
Exemplo n.º 14
0
        public SemesterDisciplineEditViewModel(EducationPlan educationPlan, SemesterDiscipline?semesterDiscipline = null)
        {
            _educationPlan      = educationPlan;
            _semesterDiscipline = semesterDiscipline;
            _dialogCoordinator  = DialogCoordinator.Instance;
            _context            = new EducationProcessContext();

            string specialtieName = _context.Specialties.First(x => x.SpecialtieId == educationPlan.SpecialtieId)
                                    .ImplementedSpecialtyName;

            HeaderText = $"Дисциплина специальности:\n{specialtieName}";

            Cathedra[] diciplineCathedras = _context.CathedraSpecialties
                                            .Where(x => x.SpecialtieId == educationPlan.SpecialtieId)
                                            .Include(x => x.Cathedra)
                                            .Select(x => x.Cathedra)
                                            .ToArray();
            List <Discipline> disciplines = new List <Discipline>();

            foreach (var diciplineCathedra in diciplineCathedras)
            {
                disciplines.AddRange(_context.Disciplines
                                     .Where(x => x.CathedraId == diciplineCathedra.CathedraId)
                                     .ToArray());
            }

            List <IntermediateCertificationForm> certificationForms =
                new EducationProcessContext().IntermediateCertificationForms.ToList();

            certificationForms.Insert(0, new IntermediateCertificationForm()
            {
                Name = "Нет"
            });

            CertificationForms = new ObservableCollection <IntermediateCertificationForm>(certificationForms);
            Semesters          = new ObservableCollection <Semester>(_context.Semesters.ToArray());
            Disciplines        = new ObservableCollection <Discipline>(disciplines);

            if (semesterDiscipline != null)
            {
                TitleInfo                 = "Редактирование дисциплины";
                SemesterDiscipline        = semesterDiscipline;
                IsActiveDeleteButton      = true;
                SelectedDiscipline        = Disciplines.First(x => x.DisciplineId == semesterDiscipline.DisciplineId);
                SelectedSemester          = Semesters.First(x => x.SemesterId == semesterDiscipline.SemesterId);
                SelectedCertificationForm =
                    CertificationForms.FirstOrDefault(x => x.CertificationFormId == semesterDiscipline.CertificationFormId);
                TheoryLessonHours        = semesterDiscipline.TheoryLessonHours;
                PracticeWorkHours        = semesterDiscipline.PracticeWorkHours;
                LaboratoryWorkHours      = semesterDiscipline.LaboratoryWorkHours;
                ControlWorkHours         = semesterDiscipline.ControlWorkHours;
                IndependentWorkHours     = semesterDiscipline.IndependentWorkHours;
                ConsultationHours        = semesterDiscipline.ConsultationHours;
                ExamHours                = semesterDiscipline.ExamHours;
                EducationalPracticeHours = semesterDiscipline.EducationalPracticeHours;
                ProductionPracticeHours  = semesterDiscipline.ProductionPracticeHours;
            }
            else
            {
                TitleInfo          = "Добавление дисциплины";
                SemesterDiscipline = new SemesterDiscipline();
            }

            SaveCommand = new RelayCommand(null,
                                           _ => SaveSemesterDiscipline(_educationPlan, _semesterDiscipline));
        }