public async Task <ActionResult <GroupsClasses> > PostGroupsClasses(GroupsClasses groupsClasses) { var group = _context.Groups.Single(g => g.Id == groupsClasses.Group.Id); var @class = _context.Classes.Single(c => c.Id == groupsClasses.Class.Id); _context.GroupsClasses.Add(groupsClasses); _context.Entry(group).State = EntityState.Modified; _context.Entry(@class).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { return(BadRequest()); } return(Ok()); }
public async Task <ActionResult <Class> > AddClasses(ClassJS classJson) { var @class = classJson; try { var discipline = _context.Disciplines.Single(d => d.Id == @class.DisciplineId); var group = _context.Groups.Single(g => g.Id == @class.GroupId); var students = new List <Student>(); foreach (var student in @class.VisitedStudents) { students.Add(_context.Students.Single(s => s.Id == student)); } var dateSplit = classJson.Date.Split("."); var year = int.Parse(dateSplit[2]); var month = int.Parse(dateSplit[1]); var day = int.Parse(dateSplit[0]); var newClass = new Class(new DateTime(year, month, day), null, discipline, null); var addResponse = await PostClass(newClass); var addedClass = addResponse.Value; var gc = new GroupsClasses(group, addedClass); await new GroupsClassesController(_context).PostGroupsClasses(gc); foreach (var student in students) { await new StudentsClassesController(_context).PostStudentsClasses(new StudentsClasses(student, addedClass)); } return(Ok()); } catch (Exception) { return(BadRequest()); } }
public async Task <IActionResult> PutGroupsClasses(int id, GroupsClasses groupsClasses) { _context.Entry(groupsClasses).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GroupsClassesExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }