public ProjectGroupUser UpdateProjectGroupUser(ProjectGroupUser projectGroupUser)
        {
            var c = ctx.ProjectGroupUser.Where(x => x.ID == projectGroupUser.ID).First();

            if (c != null)
            {
                c.UserID         = projectGroupUser.UserID;
                c.ProjectGroupID = projectGroupUser.ProjectGroupID;
                c.SecurityRoleID = projectGroupUser.SecurityRoleID;
                ctx.SaveChanges();
            }
            return(c);
        }
Ejemplo n.º 2
0
        private async Task <GetCourseDto> AddExtraDtos(GetCourseDto dto)
        {
            // CurrentUserSectionId
            // IsInstructorOrTAInCourse
            // IsUserInFormedGroup
            // IsUserAlone
            User dbUser = await _context.Users
                          .Include(c => c.InstructedCourses).ThenInclude(cs => cs.Course)
                          .Include(c => c.ProjectGroups).ThenInclude(cs => cs.ProjectGroup).ThenInclude(css => css.GroupMembers)
                          .FirstOrDefaultAsync(c => c.Id == GetUserId());

            ProjectGroupUser projectGroupUser = dbUser.ProjectGroups.FirstOrDefault(c => c.ProjectGroup.AffiliatedCourseId == dto.Id);

            if (projectGroupUser != null)
            {
                ProjectGroup currentProjectGroup = projectGroupUser.ProjectGroup;
                dto.CurrentUserSectionId = currentProjectGroup.AffiliatedSectionId;
                dto.IsUserInFormedGroup  = currentProjectGroup.ConfirmationState;
                dto.IsUserAlone          = (currentProjectGroup.GroupMembers.Count == 1) ? true : false;
            }
            else
            {
                dto.CurrentUserSectionId = 0;
                dto.IsUserInFormedGroup  = false;
                dto.IsUserAlone          = false;
            }

            if (dbUser.InstructedCourses.Any(c => c.Course.Id == dto.Id))
            {
                dto.IsInstructorOrTAInCourse = true;
            }
            else
            {
                dto.IsInstructorOrTAInCourse = false;
            }

            return(dto);
        }
 public ProjectGroupUser CreateProjectGroupUser(ProjectGroupUser projectGroupUser)
 {
     ctx.ProjectGroupUser.Add(projectGroupUser);
     ctx.SaveChanges();
     return(projectGroupUser);
 }