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>()); }
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); }
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 };