private void ShowSemesterDisciplineEditor(EducationPlan educationPlan, SemesterDiscipline semesterDiscipline) { SemesterDisciplineEditViewModel viewModel = new SemesterDisciplineEditViewModel(educationPlan, semesterDiscipline); new SemesterDisciplineEditorWindow(viewModel).ShowDialog(); RefreshSemesterDisciplines(educationPlan); }
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); } }
private void EditSemesterDiscipline(EducationPlan educationPlan, SemesterDiscipline semesterDiscipline) { if (IsSelectedSemesterDiscipline(semesterDiscipline)) { ShowSemesterDisciplineEditor(educationPlan, semesterDiscipline); RefreshSemesterDisciplines(educationPlan); } }
private bool IsSelectedSemesterDiscipline(SemesterDiscipline semesterDiscipline) { if (semesterDiscipline == null) { _dialogCoordinator.ShowMessageAsync(this, "Внимание", "Выберите дисциплину"); return(false); } return(true); }
public Semester InsertSemesterDiscipline(SemesterDiscipline _semesterDiscipline) { using (Bit8Entities entities = new Bit8Entities()) { entities.SemesterDisciplines.Add(_semesterDiscipline); entities.SaveChanges(); } return(new Semester()); }
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)); }
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()); }
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); }
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(); }
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)); }
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)); }