Skip to content

Commit 8228af8

Browse files
committed
refactor: remove nullable group access
1 parent 5207446 commit 8228af8

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

HwProj.CoursesService/HwProj.CoursesService.API/Services/CourseFilterService.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ public async Task<CourseDTO> ApplyFilter(CourseDTO courseDto, string userId)
8080
var isMentor = courseDto.MentorIds.Contains(userId);
8181
var isCourseStudent = courseDto.AcceptedStudents.Any(t => t.StudentId == userId);
8282
var findFiltersFor = isMentor || !isCourseStudent
83-
? new[] { userId }
84-
: courseDto.MentorIds.Concat(new[] { userId }).ToArray();
83+
? new[] { userId, GlobalFilterUserId }
84+
: courseDto.MentorIds.Concat(new[] { userId, GlobalFilterUserId }).ToArray();
8585

8686
var courseFilters =
8787
(await _courseFilterRepository.GetAsync(findFiltersFor, courseDto.Id))
@@ -90,8 +90,7 @@ public async Task<CourseDTO> ApplyFilter(CourseDTO courseDto, string userId)
9090
if (!isMentor)
9191
{
9292
var studentCourse = courseDto;
93-
var groupFilter = await _courseFilterRepository.GetAsync(GlobalFilterUserId, courseDto.Id); // Глобальный фильтр для вычитания групповых домашних заданий
94-
if (groupFilter != null)
93+
if (courseFilters.TryGetValue(GlobalFilterUserId, out var groupFilter))
9594
{
9695
studentCourse = ApplyFilterInternal(courseDto, studentCourse, groupFilter, ApplyFilterOperation.Subtract);
9796
}

HwProj.CoursesService/HwProj.CoursesService.API/Services/GroupsService.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,12 @@ public async Task DeleteGroupAsync(long groupId)
6262

6363
public async Task UpdateAsync(long groupId, Group updated)
6464
{
65-
var group = (await _groupsRepository.GetGroupsWithGroupMatesAsync(new[] { groupId })).FirstOrDefault();
65+
var existingGroupMates = await _groupMatesRepository
66+
.FindAll(cm => cm.GroupId == groupId)
67+
.ToArrayAsync()
68+
.ConfigureAwait(false);
6669

67-
foreach (var groupMate in group.GroupMates.ToList())
70+
foreach (var groupMate in existingGroupMates)
6871
{
6972
await _groupMatesRepository.DeleteAsync(groupMate.Id).ConfigureAwait(false);
7073
}

0 commit comments

Comments
 (0)