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 OperationStatus SaveTeamMemberRequest(TeamMemberRequest teamMemberRequest) { try { if (teamMemberRequest.ID == 0) { teamMemberRequest.CreatedDate = DateTime.UtcNow; db.TeamMemberRequests.Add(teamMemberRequest); } else { db.Entry(teamMemberRequest).State = EntityState.Modified; } db.SaveChanges(); return(new OperationStatus { Status = true }); } catch (Exception ex) { return(OperationStatus.CreateFromException("Error in saving team member", ex)); } }
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 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 OperationStatus SaveTeamMemberRequest(TeamMemberRequest teamMemberRequest) { try { if (teamMemberRequest.ID == 0) { teamMemberRequest.CreatedDate = DateTime.UtcNow; db.TeamMemberRequests.Add(teamMemberRequest); } else { db.Entry(teamMemberRequest).State = EntityState.Modified; } db.SaveChanges(); return new OperationStatus { Status = true }; } catch (Exception ex) { return OperationStatus.CreateFromException("Error in saving team member" , ex); } }