Beispiel #1
0
 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));
        }