public async Task AddTeamMemberAsync(TeamMemberRequest request, OnAddTeamMemberCompleted onAddTeamMemberCompleted) { GraphServiceClient graphClient = AuthenticationHelper.Instance.GetAuthenticatedClient(); if (graphClient != null) { User user = await graphClient.Users[request.person.Id].Request().GetAsync(); try { switch (request.role) { case TeamMemberRole.Owner: await graphClient.Groups[request.team.Id].Owners.References.Request().AddAsync(user); break; default: await graphClient.Groups[request.team.Id].Members.References.Request().AddAsync(user); break; } } catch (Exception ex) { request.expection = new ServiceException { Error = ServiceError.UserAlreadyExists, Exception = ex }; } } onAddTeamMemberCompleted(request); }
public void OnGetTeamCompleted(TeamEntity team) { // adding Alexander prive TeamMemberRequest request = new TeamMemberRequest(); request.team = team; request.person = new PersonEntity { Id = "700f01e1-52d4-40ff-b099-f2f02f17c39c" }; TeamService.Instance.AddTeamMember(request, OnAddTeamMember); }
public HttpResponseMessage GetTeamMembers([FromUri] TeamMemberRequest request) { var result = _teamMemberService.GetTeamMembers(request.teamSysNo, request.iDCardNumber, request.pageIndex, request.pageSize); var list = new PageList <TeamMember>() { PageIndex = result.PageIndex, PageSize = result.PageSize, TotalCount = result.TotalCount, TotalPages = result.TotalPages, Data = result.ToList() }; return(toListJson(list, OperatingState.Success, "获取成功")); }
public ActionResult Add(AddTeamMemberRequestVM model) { // This method adds a user to the team // If user is new to the system, sends an email to user to signup and join, else add him to the team try { if (ModelState.IsValid) { var existingUser = repo.GetUser(model.EmailAddress); if (existingUser != null) { TeamMember teamMember = new TeamMember { MemberID = existingUser.ID, TeamID = TeamID, CreatedByID = UserID }; var result = repo.SaveTeamMember(teamMember); if (result.ID > 0) { return(Json(new { Status = "Success", Message = "Successfully added user to team" })); } } else { var teamMemberRequest = new TeamMemberRequest { EmailAddress = model.EmailAddress, CreatedByID = UserID }; teamMemberRequest.TeamID = model.TeamID; teamMemberRequest.ActivationCode = model.TeamID + "-" + Guid.NewGuid().ToString("n"); var resultNew = repo.SaveTeamMemberRequest(teamMemberRequest); if (resultNew.Status) { new UserService(repo, SiteBaseURL).SendJoinMyTeamEmail(teamMemberRequest); return(Json(new { Status = "Success" })); } else { log.Debug(resultNew); } } } } catch (Exception ex) { log.Error(ex); } return(Json(new { Status = "Error", Message = "Error adding user to team" })); }
public void SaveActivityForNewUserJoinedTeam(TeamMemberRequest teamMemberRequest, User user, int currentUserId, int teamId) { var activity = new Activity { CreatedByID = currentUserId, TeamID = teamId }; activity.ObjectID = user.ID; activity.ObjectType = "User"; activity.ActivityDesc = "Joined team " + teamMemberRequest.Team.Name; activity.NewState = user.FirstName; var result = repo.SaveActivity(activity); if (!result.Status) { var log = new Logger("Email"); log.Error(result); } }
public void SendJoinMyTeamEmail(TeamMemberRequest teamMemberRequest) { var emailTemplate = repo.GetEmailTemplate("JoinMyTeam"); if (emailTemplate != null) { teamMemberRequest = repo.GetTeamMemberRequest(teamMemberRequest.ActivationCode); string emailSubject = emailTemplate.EmailSubject; string emailBody = emailTemplate.EmailBody; Email email = new Email(); email.ToAddress.Add(teamMemberRequest.EmailAddress); string joinLink = String.Format("{0}Account/Join?returnurl={1}", SiteBaseURL, teamMemberRequest.ActivationCode); emailBody = emailBody.Replace("@teamName", teamMemberRequest.Team.Name); emailBody = emailBody.Replace("@joinUrl", joinLink); emailBody = emailBody.Replace("@inviter", teamMemberRequest.User.FirstName); email.Body = emailBody; email.Subject = emailSubject; email.Send(); } }
public void OnAddTeamMember(TeamMemberRequest request) { }
public void AddTeamMember(TeamMemberRequest request, OnAddTeamMemberCompleted onAddTeamMemberCompleted) { }
public void AddTeamMember(TeamMemberRequest request, OnAddTeamMemberCompleted onAddTeamMemberCompleted) { System.Threading.Tasks.Task.Run( () => AddTeamMemberAsync(request, onAddTeamMemberCompleted)); }