示例#1
0
        public void AddModerator(int wallId, string responsibleUserId, UserAndOrganizationDTO userId)
        {
            var wall = _wallsDbSet
                       .Include(x => x.Moderators)
                       .Single(x => x.Id == wallId &&
                               x.OrganizationId == userId.OrganizationId);

            if (wall.Moderators.Any(x => x.UserId == responsibleUserId))
            {
                return;
            }

            var newModerator = new WallModerator
            {
                WallId = wallId,
                UserId = responsibleUserId
            };

            AddMemberToWalls(responsibleUserId, new List <int> {
                wallId
            });

            _moderatorsDbSet.Add(newModerator);
            _uow.SaveChanges(userId.UserId);
        }
        public async Task AddModeratorAsync(int wallId, string responsibleUserId, UserAndOrganizationDto userId)
        {
            var wall = await _wallsDbSet
                       .Include(x => x.Moderators)
                       .SingleAsync(x => x.Id == wallId && x.OrganizationId == userId.OrganizationId);

            if (wall.Moderators.Any(x => x.UserId == responsibleUserId))
            {
                return;
            }

            var newModerator = new WallModerator
            {
                WallId = wallId,
                UserId = responsibleUserId
            };

            await AddMemberToWallsAsync(responsibleUserId, new List <int> {
                wallId
            });

            _moderatorsDbSet.Add(newModerator);
            await _uow.SaveChangesAsync(userId.UserId);
        }