public async Task <int> CreateByMember(GroupByMember groupByMember, User connectedUser)
        {
            Group newGroup = new Group
            {
                Name      = groupByMember.Name,
                CreatedAt = DateTime.Now
            };

            await this.groupRepository.Insert(newGroup);

            Group group = await this.groupRepository.GetByName(newGroup.Name);

            await this.CreateAcceptedMembership(true, group, connectedUser.Id);

            return(group.Id);
        }
        public async Task <IActionResult> Create(GroupByMember newGroupByMember)
        {
            GroupByMemberValidator validator = new GroupByMemberValidator(this._groupService);
            ValidationResult       results   = await validator.ValidateAsync(newGroupByMember);

            results.AddToModelState(ModelState, "NewGroupByMember");

            if (!ModelState.IsValid)
            {
                return(BadRequest(this.ModelState));
            }

            int  connectedUserId = int.Parse(User.Identity.Name);
            User connectedUser   = await this._userService.Get(int.Parse(User.Identity.Name));

            int groupId = await this._groupService.CreateByMember(newGroupByMember, connectedUser);

            return(Ok(groupId));
        }