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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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, "获取成功"));
        }
Exemple #4
0
 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();
            }
        }
Exemple #7
0
 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));
 }