public async Task <IActionResult> Edit(int id, [Bind("Id,StudentId,GroupId")] GroupsStudents groupsStudents)
        {
            if (id != groupsStudents.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(groupsStudents);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!GroupsStudentsExists(groupsStudents.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["GroupId"]   = new SelectList(_context.Groups, "Id", "Name", groupsStudents.GroupId);
            ViewData["StudentId"] = new SelectList(_context.Students, "Id", "FullName", groupsStudents.StudentId);
            return(View(groupsStudents));
        }
        // dodaje u licni raspored
        public void AddClassToPersonalSchedule(int StudentId, int GroupId)
        {
            var query = _context.GroupsStudents.Where(a => a.StudentId == StudentId && a.GroupId == GroupId);


            // unhide
            if (query.Any())
            {
                GroupsStudents gs = _context.GroupsStudents.First(a => a.StudentId == StudentId && a.GroupId == GroupId);
                if (gs.Ignore != true) //null ili false
                {
                    throw new Exception("class_already_in_personal");
                }
                gs.Ignore = false;
            }
            else // dodaj u licni
            {
                GroupsStudents gs = new GroupsStudents
                {
                    StudentId   = StudentId,
                    GroupId     = GroupId,
                    Ignore      = false,
                    Alert       = false,
                    FalseMember = true
                };
                _context.GroupsStudents.Add(gs);
            }

            _context.SaveChanges();
        }
        public void AlertClass(int StudentId, int GroupId)
        {
            GroupsStudents gs = _context.GroupsStudents.First(a => a.StudentId == StudentId && a.GroupId == GroupId);

            if (gs.Alert == true)
            {
                throw new Exception("vec je Alertovan");
            }
            gs.Alert = true;
            _context.SaveChanges();
        }
        public void AddToGroup(int StudentId, int GroupId)
        {
            // provera da li dolazi do nekonzistentnosti
            TryAddToGroup(StudentId, GroupId);

            GroupsStudents gs = new GroupsStudents
            {
                GroupId   = GroupId,
                StudentId = StudentId
            };

            _context.GroupsStudents.Add(gs);
        }
        public async Task <IActionResult> Create([Bind("Id,StudentId,GroupId")] GroupsStudents groupsStudents)
        {
            if (ModelState.IsValid)
            {
                _context.Add(groupsStudents);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["GroupId"]   = new SelectList(_context.Groups, "Id", "Name", groupsStudents.GroupId);
            ViewData["StudentId"] = new SelectList(_context.Students, "Id", "FullName", groupsStudents.StudentId);
            return(View(groupsStudents));
        }
Beispiel #6
0
        public Divisions CopyDivision(int AssistantID, int DivisionId)
        {
            Divisions Division = _context.Divisions.Include(a => a.Groups).ThenInclude(a => a.GroupsStudents).First(a => a.DivisionId == DivisionId);
            // ovo radim jer nece da ignorise setovane IDjeve pa ih ovako unsetujem
            Divisions newDiv = new Divisions
            {
                CourseId       = Division.CourseId,
                Beginning      = Division.Beginning,
                Ending         = Division.Ending,
                CreatorId      = AssistantID,
                DivisionTypeId = Division.DivisionTypeId,
                DepartmentId   = Division.DepartmentId,
                Name           = Division.Name + " (kopija)",
            };

            _context.Divisions.Add(newDiv);

            _context.SaveChanges();

            foreach (Groups g in Division.Groups)
            {
                Groups newG = new Groups
                {
                    ClassroomId = g.ClassroomId,
                    DivisionId  = newDiv.DivisionId,
                    TimeSpan    = g.TimeSpan,
                    Name        = g.Name,
                };

                _context.Groups.Add(newG);
                _context.SaveChanges();

                foreach (GroupsStudents a in g.GroupsStudents)
                {
                    GroupsStudents newGS = new GroupsStudents
                    {
                        GroupId   = newG.GroupId,
                        StudentId = a.StudentId
                    };
                    _context.GroupsStudents.Add(newGS);
                }
            }
            ;

            _context.SaveChanges();

            return(newDiv);
        }
        public void HideClass(int StudentId, int GroupId)
        {
            GroupsStudents gs = _context.GroupsStudents.First(a => a.StudentId == StudentId && a.GroupId == GroupId);

            if (gs.Ignore == true)
            {
                throw new Exception("vec je u sakriven");
            }

            if (gs.FalseMember == true)
            {
                _context.GroupsStudents.Remove(gs);
            }
            else
            {
                gs.Ignore = true;
            }
            _context.SaveChanges();
        }
Beispiel #8
0
        public void CreateInitialDivision(int CreatorId, string Name, int DepartmentId, int CourseId, int DivisionTypeId, DateTime Beginning, DateTime Ending,
                                          List <DivisionService.GroupOfStudents> groups)
        {
            Divisions div = new Divisions
            {
                Name           = Name,
                CreatorId      = CreatorId,
                DivisionTypeId = DivisionTypeId,
                Beginning      = Beginning,
                Ending         = Ending,
                DepartmentId   = DepartmentId,
                CourseId       = CourseId
            };

            _context.Divisions.Add(div);
            _context.SaveChanges();

            foreach (GroupOfStudents group in groups)
            {
                Groups g = new Groups
                {
                    ClassroomId = null,
                    DivisionId  = div.DivisionId,
                    TimeSpanId  = null,
                    Name        = group.Name,
                };

                _context.Groups.Add(g);
                _context.SaveChanges();

                foreach (Students stud in group.Students)
                {
                    GroupsStudents gs = new GroupsStudents
                    {
                        GroupId   = g.GroupId,
                        StudentId = stud.StudentId
                    };
                    _context.GroupsStudents.Add(gs);
                }

                _context.SaveChanges();
            }
        }