public void SaveOrUpdate(GroupDiscipline groupDiscipline) { if (groupDiscipline.Id == 0) { _groupDisciplineRepository.Add(groupDiscipline); } else { var discipline = _groupDisciplineRepository.Get(gd => gd.Id == groupDiscipline.Id); _unitOfWork.Context.Entry(discipline).CurrentValues.SetValues(groupDiscipline); _unitOfWork.Context.Entry(discipline).State = EntityState.Modified; } }
public JsonResult SaveGroupDiscipline(int groupId, int disciplineId, string gdTeachers) { var groupDiscipline = new GroupDiscipline(); groupDiscipline.GroupId = groupId; groupDiscipline.DisciplineId = disciplineId; var teachers = JsonConvert.DeserializeObject <List <GDTeacher> >(gdTeachers); teachers.ForEach(t => t.GroupDiscipline = groupDiscipline); _groupDisciplineService.SaveOrUpdate(groupDiscipline); foreach (var teacher in teachers) { _teacherService.SaveOrUpdateGDTeacher(teacher); } _unitOfWork.Commit(); return(Json(new { nextPage = Url.Action("Index") }, JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> AddDiscipline(int id, int disciplineId) { if (GroupExists(id)) { if (_context.GroupDisciplines.Where(x => x.GroupId == id && x.DisciplineId == disciplineId).Count() > 0) { return(Conflict()); } var newGroupDiscip = new GroupDiscipline(); newGroupDiscip.GroupId = (int)id; newGroupDiscip.DisciplineId = disciplineId; _context.Add(newGroupDiscip); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { id = id })); } else { return(NotFound()); } }
public async Task <IActionResult> Create([Bind("Id,Name")] Discipline discipline, string returnUrl, int?ForGroup) { if (ModelState.IsValid) { _context.Add(discipline); await _context.SaveChangesAsync(); if (ForGroup != null) { var groupDiscipline = new GroupDiscipline(); groupDiscipline.DisciplineId = discipline.Id; groupDiscipline.GroupId = (int)ForGroup; _context.Add(groupDiscipline); await _context.SaveChangesAsync(); return(RedirectToAction("Details", "AcademicGroups", new { id = ForGroup })); } return(RedirectToAction(nameof(Index))); } ViewData["returnUrl"] = returnUrl; ViewData["ForGroup"] = ForGroup; return(View(discipline)); }