Example #1
0
        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());
        }
Example #2
0
        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());
            }
        }
Example #3
0
        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());
        }