Example #1
0
        public async Task <MemberDto> AddMember(MemberInput input)
        {
            var projectMember = ProjectMember.CreateMember(input.UserId, input.ProjectId, input.Leader);

            _membersManager.AddMember(projectMember);
            var memberAdded = _membersManager.GetMember(input.ProjectId, input.UserId);
            var project     = _projectManager.GetProject(input.ProjectId);
            await _projectNotificationSubscriptionService.RegisterToGeneralNotifications(project, input.UserId);

            if (projectMember.Leader)
            {
                await _projectNotificationPublisherService.NotifyAddedAsLeader(project, input.UserId);
            }

            return(memberAdded.MapTo <MemberDto>());
        }
Example #2
0
        public async Task <IActionResult> AddMemberToCapability(string id, [FromBody] MemberInput input)
        {
            var capabilityId = Guid.Empty;

            Guid.TryParse(id, out capabilityId);

            IActionResult actionResult;

            try
            {
                await _capabilityApplicationService.JoinCapability(capabilityId, input.Email);

                actionResult = Ok();
            }
            catch (Exception exception) when(ExceptionToStatusCode.CanConvert(exception, out actionResult))
            {
            }

            return(actionResult);
        }
Example #3
0
        public async Task <IActionResult> AddMemberToCapability(string id, [FromBody] MemberInput input)
        {
            var capabilityId = Guid.Empty;

            Guid.TryParse(id, out capabilityId);

            try
            {
                await _capabilityApplicationService.JoinCapability(capabilityId, input.Email);
            }
            catch (CapabilityDoesNotExistException)
            {
                return(NotFound(new
                {
                    Message = $"Capability with id {id} could not be found."
                }));
            }

            return(Ok());
        }
 public static MemberDto ToDto(this MemberInput input) => new MemberDto
 {
     Name = input.Name
 };