Exemple #1
0
        public async Task <ActionResult <CreateGroupResponse> > CreateGroup([FromQuery] CourseAuthorizationParameters courseAuthorizationParameters, CreateGroupParameters parameters)
        {
            var ownerId = User.GetUserId();
            var group   = await groupsRepo.CreateGroupAsync(courseAuthorizationParameters.CourseId, parameters.Name, ownerId).ConfigureAwait(false);

            await notificationsRepo.AddNotification(
                group.CourseId,
                new CreatedGroupNotification(group.Id),
                UserId
                ).ConfigureAwait(false);

            var url = Url.Action(new UrlActionContext {
                Action = nameof(GroupController.Group), Controller = "Group", Values = new { groupId = group.Id }
            });

            return(Created(url, new CreateGroupResponse
            {
                Id = group.Id,
                ApiUrl = url,
            }));
        }
Exemple #2
0
        public async Task <ActionResult <CreateGroupResponse> > CreateGroup([FromRoute] Course course, CreateGroupParameters parameters)
        {
            var ownerId = User.GetUserId();
            var group   = await groupsRepo.CreateGroupAsync(course.Id, parameters.Name, ownerId).ConfigureAwait(false);

            var url = Url.Action(new UrlActionContext {
                Action = nameof(GroupController.Group), Controller = "Group", Values = new { groupId = group.Id }
            });

            return(Created(url, new CreateGroupResponse
            {
                GroupId = group.Id,
                ApiUrl = url,
            }));
        }