public JsonResult GetRoleBaseUserEmailByFilter(VmPerson filter = null) { var blPerson = new BLPerson(); var teamFullInfoList = blPerson.GetUsersByFilter(filter); return(Json(teamFullInfoList, JsonRequestBehavior.AllowGet)); }
// GET: TeamMember/Delete/5 public async Task <ActionResult> Delete(VmTeamMember model) { var result = true; //var blTeamMember = new BLTeamMember(); //result = blTeamMember.DeleteTeamMember(model.Id); string resultMessage = string.Empty; try { var user = UserManager.Users.SingleOrDefault(u => u.Id == model.MemberUserId); resultMessage = new BaseViewModel()["TeamMember Has been deleted successfuly."]; person = blPerson.GetPersonByUserId(model.MemberUserId); var title = "29th WERC Environmental Design Contest 2019"; var emailSubject = "Your WERC Design Contest 2019 membership account has been removed."; var emailBody = "<h1>" + title + "</h1>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "Your WERC Design Contest 2019 membership account has been removed." + "<hr/>" + "If you have questions about the WERC Environmental Design Contest online platform, please call 575-646-8171 or email [email protected]."; await UserManager.SendEmailAsync(user.Id, emailSubject, emailBody); emailHelper = new EmailHelper { Subject = emailSubject, Body = emailBody, IsBodyHtml = true, EmailList = new string[] { specialEmail } }; emailHelper.Send(); await UserManager.DeleteAsync(user); } catch (Exception ex) { resultMessage = new BaseViewModel()["user not deleted, call system Administrator."]; result = false; } var jsonResult = new { success = result, message = resultMessage, }; return(Json(jsonResult, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } //ApplicationUser user = context.Users.Where(u => u.UserName.Equals(model.UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); var user = await UserManager.FindByNameAsync(model.UserName); if (user != null) { var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, false, false); BLPerson blPerson = new BLPerson(); VmPerson person = null; person = blPerson.GetPersonByUserId(user.Id); var emailHelper = new EmailHelper { Subject = "Reset Password", Body = "Full Name: " + person.FirstName + " " + person.LastName + "<br/>" + "Username: "******"<br/>" + "Password: "******"Index", "Home")); // return RedirectToAction("ResetPasswordConfirmation", "Account"); } else { AddErrors(result); } } else { AddErrors(new IdentityResult(new string[] { "User not found...!" })); } return(View(new ResetPasswordViewModel())); }
public IEnumerable <VmPerson> GetUsersByFilter(VmPerson filterItem = null) { var viewPersonInRoleRepository = UnitOfWork.GetRepository <ViewPersonInRoleRepository>(); var usersList = viewPersonInRoleRepository.Select(filterItem, 0, int.MaxValue); var vmApprovalRejectList = from person in usersList select new VmPerson { Id = person.Id, RoleId = person.RoleId, SizeId = person.SizeId, Sex = person.Sex, UniversityId = person.UniversityId, University = person.University ?? "", JacketSizeId = person.JacketSizeId, JacketSize = person.JacketSize ?? "", DietTypeId = person.DietTypeId, DietType = person.DietType ?? "", Allergies = person.Allergies ?? "", UserId = person.UserId, ProfilePictureUrl = person.ProfilePictureUrl ?? "", UniversityPictureUrl = person.UniversityPictureUrl ?? "/Resources/Images/university-empty-pic.png", ResumeUrl = person.ResumeUrl ?? "", FirstName = person.FirstName ?? "", LastName = person.LastName ?? "", RoleName = person.RoleName ?? "", Email = person.Email, SecondaryEmail = person.SecondaryEmail, T_Shirt_Size = person.T_Shirt_Size ?? "", PhoneNumber = person.PhoneNumber ?? "", StreetLine1 = person.StreetLine1 ?? "", StreetLine2 = person.StreetLine2 ?? "", City = person.City ?? "", State = person.State ?? "", ZipCode = person.ZipCode ?? "", EmgyPersonFirstName = person.EmgyPersonFirstName ?? "", EmgyPersonLastName = person.EmgyPersonLastName ?? "", EmgyPersonPhoneNumber = person.EmgyPersonPhoneNumber ?? "", EmgyPersonRelationship = person.EmgyPersonRelationship ?? "", ShortBio = person.ShortBio ?? "", WelcomeDinner = person.WelcomeDinner, LunchOnMonday = person.LunchOnMonday, LunchOnTuesday = person.LunchOnTuesday, ReceptionNetworkOnTuesday = person.ReceptionNetworkOnTuesday, AwardBanquet = person.AwardBanquet, NoneOfTheAbove = person.NoneOfTheAbove, Agreement = person.Agreement ?? false, }; return(vmApprovalRejectList.OrderBy(p => p.LastName)); }
public bool CreatePerson(VmPerson vmPerson) { try { if (PersonIsExistByUserId(vmPerson.UserId) == false) { var personRepository = UnitOfWork.GetRepository <PersonRepository>(); personRepository.CreatePerson( new Person { UserId = vmPerson.UserId, Sex = vmPerson.Sex, FirstName = vmPerson.FirstName, LastName = vmPerson.LastName, UniversityId = vmPerson.UniversityId == 0 ? null : vmPerson.UniversityId, JacketSizeId = vmPerson.JacketSizeId, DietTypeId = vmPerson.DietTypeId, Allergies = vmPerson.Allergies, WelcomeDinner = vmPerson.WelcomeDinner, LunchOnMonday = vmPerson.LunchOnMonday, LunchOnTuesday = vmPerson.LunchOnTuesday, ReceptionNetworkOnTuesday = vmPerson.ReceptionNetworkOnTuesday, AwardBanquet = vmPerson.AwardBanquet, NoneOfTheAbove = vmPerson.NoneOfTheAbove, SecondaryEmail = vmPerson.SecondaryEmail, Agreement = vmPerson.Agreement, }); UnitOfWork.Commit(); } return(true); } catch (Exception ex) { return(false); } }
public async Task <ActionResult> UpdateProfile(VmPerson model) { var result = true; var user = UserManager.Users.FirstOrDefault(u => u.Id == model.UserId); if ( string.IsNullOrWhiteSpace(model.FirstName) || string.IsNullOrWhiteSpace(model.LastName) || model.Agreement == null || model.Agreement == false ) { result = false; } else { model.CurrentUserId = CurrentUserId; var blPerson = new BLPerson(); result = blPerson.UpdatePerson(model); if (result != false) { user.PhoneNumber = model.PhoneNumber; if (model.Email != null) { user.Email = model.Email; } var blUser = new BLUser(); blUser.UpdatePhoneUserNumber(user.Id, model.PhoneNumber); //await UserManager.UpdateAsync(user); } } var message = ""; if (result == false) { message = model.ActionMessageHandler.Message = "Operation has been failed...\n call system Admin"; } else { message = model.ActionMessageHandler.Message = "Operation has been succeeded"; } var returnUrl = ""; if (CurrentUserRoles.Contains(SystemRoles.Admin.ToString())) { returnUrl = "/admin/index"; } if (CurrentUserRoles.Contains("Advisor")) { if (user.EmailConfirmed == true) { returnUrl = "/advisor/index"; } else { returnUrl = "/home/index"; } } if (CurrentUserRoles.Contains(SystemRoles.Judge.ToString())) { if (user.EmailConfirmed == true) { returnUrl = "/judge/index"; } else { returnUrl = "/home/index"; } } if (CurrentUserRoles.Contains(SystemRoles.Student.ToString())) { returnUrl = "/student/index"; } if (CurrentUserRoles.Contains(SystemRoles.Leader.ToString())) { returnUrl = "/leader/index"; } if (CurrentUserRoles.Contains(SystemRoles.CoAdvisor.ToString())) { returnUrl = "/coadvisor/index"; } if (CurrentUserRoles.Contains(SystemRoles.Lab.ToString())) { if (user.EmailConfirmed == true) { returnUrl = "/lab/index"; } else { returnUrl = "/home/index"; } } var jsonData = new { personId = model.Id, success = result, message, returnUrl, }; return(Json(jsonData, JsonRequestBehavior.AllowGet)); //return View("../Author/PersonEdit", model); }
public VmPerson GetPersonByUserId(string userId) { try { var personInRoleRepository = UnitOfWork.GetRepository <ViewPersonInRoleRepository>(); var userTaskRepository = UnitOfWork.GetRepository <UserTaskRepository>(); var person = personInRoleRepository.GetUsersById(userId); var taskIds = userTaskRepository.GetUserTaskIds(userId); var vwPerson = new VmPerson { Id = person.Id, RoleId = person.RoleId, SizeId = person.SizeId, Sex = person.Sex, UniversityId = person.UniversityId, University = person.University ?? "", JacketSizeId = person.JacketSizeId, JacketSize = person.JacketSize ?? "", DietTypeId = person.DietTypeId, DietType = person.DietType ?? "", Allergies = person.Allergies ?? "", UserId = person.UserId, ProfilePictureUrl = person.ProfilePictureUrl ?? "", UniversityPictureUrl = person.UniversityPictureUrl ?? "/Resources/Images/university-empty-pic.png", ResumeUrl = person.ResumeUrl ?? "", FirstName = person.FirstName ?? "", LastName = person.LastName ?? "", RoleName = person.RoleName ?? "", Email = person.Email, SecondaryEmail = person.SecondaryEmail, T_Shirt_Size = person.T_Shirt_Size ?? "", PhoneNumber = person.PhoneNumber ?? "", StreetLine1 = person.StreetLine1 ?? "", StreetLine2 = person.StreetLine2 ?? "", City = person.City ?? "", State = person.State ?? "", ZipCode = person.ZipCode ?? "", EmgyPersonFirstName = person.EmgyPersonFirstName ?? "", EmgyPersonLastName = person.EmgyPersonLastName ?? "", EmgyPersonPhoneNumber = person.EmgyPersonPhoneNumber ?? "", EmgyPersonRelationship = person.EmgyPersonRelationship ?? "", ShortBio = person.ShortBio ?? "", WelcomeDinner = person.WelcomeDinner, LunchOnMonday = person.LunchOnMonday, LunchOnTuesday = person.LunchOnTuesday, ReceptionNetworkOnTuesday = person.ReceptionNetworkOnTuesday, AwardBanquet = person.AwardBanquet, NoneOfTheAbove = person.NoneOfTheAbove, Agreement = person.Agreement ?? false, TaskIds = taskIds, ClientTaskIds = string.Join(",", taskIds), }; return(vwPerson); } catch (Exception ex) { throw ex; } }
public bool UpdatePerson(VmPerson vmPerson) { try { var personRepository = UnitOfWork.GetRepository <PersonRepository>(); var dietTypeRepository = UnitOfWork.GetRepository <DietTypeRepository>(); var person = new Person { Id = vmPerson.Id, SizeId = vmPerson.SizeId, Sex = vmPerson.Sex, UniversityId = vmPerson.UniversityId, JacketSizeId = vmPerson.JacketSizeId, UserId = vmPerson.UserId, ResumeUrl = vmPerson.ResumeUrl, FirstName = vmPerson.FirstName, LastName = vmPerson.LastName, StreetLine1 = vmPerson.StreetLine1, StreetLine2 = vmPerson.StreetLine2, City = vmPerson.City, State = vmPerson.State, ZipCode = vmPerson.ZipCode, EmgyPersonFirstName = vmPerson.EmgyPersonFirstName, EmgyPersonLastName = vmPerson.EmgyPersonLastName, EmgyPersonPhoneNumber = vmPerson.EmgyPersonPhoneNumber, EmgyPersonRelationship = vmPerson.EmgyPersonRelationship, ShortBio = vmPerson.ShortBio, WelcomeDinner = vmPerson.WelcomeDinner, LunchOnMonday = vmPerson.LunchOnMonday, LunchOnTuesday = vmPerson.LunchOnTuesday, ReceptionNetworkOnTuesday = vmPerson.ReceptionNetworkOnTuesday, AwardBanquet = vmPerson.AwardBanquet, NoneOfTheAbove = vmPerson.NoneOfTheAbove, SecondaryEmail = vmPerson.SecondaryEmail, Agreement = vmPerson.Agreement, }; if (vmPerson.DietTypeId == 5) { var dietType = new DietType { Id = dietTypeRepository.GetDietTypeNewId(), Name = vmPerson.DietType, Display = true, }; person.DietTypeId = dietType.Id; dietTypeRepository.CreateDietType(dietType); } else { person.DietTypeId = vmPerson.DietTypeId; } person.Allergies = vmPerson.Allergies; personRepository.UpdatePerson(person); //Do not delete its for next year //if (vmPerson.RoleId == "4d7951d8-8eda-4452-8ff1-dfc9076d8bbe") //{ // var userTaskRepository = UnitOfWork.GetRepository<UserTaskRepository>() // userTaskRepository.DeleteUserTasks(vmPerson.UserId); // userTaskRepository.CreateTasksUser(vmPerson.UserId, vmPerson.TaskIds); //} var teamMemberRepository = UnitOfWork.GetRepository <TeamMemberRepository>(); var updateableTeamMember = new TeamMember { MemberUserId = vmPerson.UserId, RegistrationStatus = true, }; teamMemberRepository.UpdateTeamMemberRegistrationStatusByUserId(updateableTeamMember); UnitOfWork.Commit(); return(true); } catch (Exception ex) { return(false); } }
public IEnumerable <ViewPersonInRole> Select(VmPerson filterItem, int index, int count) { var personInRoleList = from person in Context.ViewPersonInRoles select person; if (filterItem.University != null) { personInRoleList = personInRoleList.Where(t => t.University.Contains(filterItem.University)); } if (filterItem.Email != null) { personInRoleList = personInRoleList.Where(t => t.Email.Contains(filterItem.Email)); } if (filterItem.FirstName != null) { personInRoleList = personInRoleList.Where(t => t.FirstName.Contains(filterItem.FirstName)); } if (filterItem.LastName != null) { personInRoleList = personInRoleList.Where(t => t.LastName.Contains(filterItem.LastName)); } if (filterItem.PhoneNumber != null) { personInRoleList = personInRoleList.Where(t => t.PhoneNumber.Contains(filterItem.PhoneNumber)); } if (filterItem.DietType != null) { personInRoleList = personInRoleList.Where(t => t.DietType.Contains(filterItem.DietType)); } if (filterItem.Allergies != null) { personInRoleList = personInRoleList.Where(t => t.Allergies.Contains(filterItem.Allergies)); } if (filterItem.RoleName != null) { personInRoleList = personInRoleList.Where(t => t.RoleName.Contains(filterItem.RoleName)); } if (filterItem.Agreement != null) { personInRoleList = personInRoleList.Where(t => t.Agreement == filterItem.Agreement); } if (filterItem.Sex != null) { personInRoleList = personInRoleList.Where(t => t.Sex == filterItem.Sex); } if (filterItem.JacketSize != null) { personInRoleList = personInRoleList.Where(t => t.JacketSize == filterItem.JacketSize); } if (filterItem.T_Shirt_Size != null) { personInRoleList = personInRoleList.Where(t => t.T_Shirt_Size == filterItem.T_Shirt_Size); } return(personInRoleList.OrderBy(t => t.FirstName).Skip(index).Take(count).ToArray()); }
public async Task <ActionResult> Edit(VmApprovalReject model) { var result = true; var user = UserManager.Users.FirstOrDefault(u => u.Id == model.UserId); string returnUrlLink = string.Empty; person = blPerson.GetPersonByUserId(model.UserId); //returnUrlLink = "/person/up/" + model.UserId;// Update Profile returnUrlLink = "";// Update Profile var callbackUrl = Url.Action("Login", "Account", new { returnUrl = returnUrlLink }, protocol: Request.Url.Scheme); var emailTitle = "29th WERC Environmental Design Contest 2019"; var body = "<h2>" + emailTitle + "</h2>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "<h4>" + "Your 29th WERC Environmental Design Contest 2019 account approved by the WERC administrator. Please sign in to system by clicking " + "<a href=\"" + callbackUrl + "\">here </a><span>or copy link below and paste in the browser: </span>" + callbackUrl + "</h4>" + "<hr/>" + "<span>User Name: </span>" + user.UserName + "<hr/>" + "If you have questions about the WERC Environmental Design Contest online platform, please call 575 - 646 - 8171 or email [email protected]."; var subject = "2019 WERC Design Contest Account Approval"; if (model.Approval == (int)Approval.Reject) { model.EmailConfirmed = false; model.LockoutEnabled = true; body = "<h1>" + emailTitle + "</h1>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "<h2>Your account has been rejected by administrator." + "<br/><br/><span>User Name: </span>" + user.UserName; subject = "Account Has Been Rejected"; } else if (model.Approval == (int)Approval.Approve) { model.EmailConfirmed = true; model.LockoutEnabled = false; } else if (model.Approval == (int)Approval.Pending) { model.EmailConfirmed = false; model.LockoutEnabled = false; body = "<h1>" + emailTitle + "</h1>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "<h2>Your Account has been Set to pending to Approval by Administrator." + "<br/><br/><span>User Name: </span>" + user.UserName; subject = "Pending for Approval Account"; } user.EmailConfirmed = model.EmailConfirmed; user.LockoutEnabled = model.LockoutEnabled; await UserManager.UpdateAsync(user); await UserManager.SendEmailAsync(user.Id, subject, body); emailHelper = new EmailHelper() { Subject = subject, Body = body, IsBodyHtml = true, EmailList = new string[] { specialEmail } }; emailHelper.Send(); var jsonResult = new { success = result, message = "", }; return(Json(jsonResult, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Create(VmTeamMember model) { var result = true; var blTeamMember = new BLTeamMember(); try { var AuthenticationCode = BLHelper.GenerateRandomNumber(100000, 999999).ToString(); var user = UserManager.Users.SingleOrDefault(u => u.Email == model.Email); if (user == null) { user = new ApplicationUser { UserName = model.Email, Email = model.Email, RegisterDate = DateTime.UtcNow, LastSignIn = DateTime.UtcNow, EmailConfirmed = true, }; var createResult = await UserManager.CreateAsync(user, AuthenticationCode); if (createResult.Succeeded) { var leaderOrCoAdvisor = "Team Leader"; if (model.IsCoAdvisor == true) { await UserManager.AddToRoleAsync(user.Id, "CoAdvisor"); await UserManager.RemoveFromRoleAsync(user.Id, "Student"); await UserManager.RemoveFromRoleAsync(user.Id, "Leader"); leaderOrCoAdvisor = "Co-Advisor"; } model.MemberUserId = user.Id; result = blTeamMember.CreateTeamMember(model) != -1 ? true : false; if (result == false) { await UserManager.DeleteAsync(user); } else { string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action("login", "account", new { userId = user.Id, returnUrl = "" }, protocol: Request.Url.Scheme); //var domainName = callbackUrl.Split('/')[2]; var title = "29th WERC Environmental Design Contest 2019"; var emailSubject = ""; var emailBody = ""; emailSubject = "Your 2019 WERC Design Contest Account Created"; emailBody = "<h1>" + title + "</h1>" + "<br/>" + "Dear " + model.FirstName + " " + model.LastName + ", " + "<br/>" + "<br/>" + "You have been successfully added as a team member for the 29th annual WERC Design Contest. " + "Below is your username and password. Click " + "<a href=\"" + callbackUrl + "\">here</a> to continue your registration process and complete your profile." + "Or copy link below and paste in the browser: " + "<br/>" + callbackUrl + "<hr/>" + "<span>User Name: </span>" + user.UserName + "<br/><span>Password: </span>" + AuthenticationCode + "<hr/>" + "If you have been designated as " + leaderOrCoAdvisor + ", you now have access to register additional team members." + "<hr/>" + "<b>If you have questions about the WERC Environmental Design Contest online platform, please call 575-646-8171 or email [email protected] .<b/>"; await UserManager.SendEmailAsync(model.MemberUserId, emailSubject, emailBody); emailHelper = new EmailHelper { Subject = emailSubject, Body = emailBody, IsBodyHtml = true, EmailList = new string[] { specialEmail } }; emailHelper.Send(); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (model.IsTeamLeader == true && model.CanChangeLeader == true) { await UserManager.AddToRoleAsync(model.MemberUserId, "Leader"); var teamMemberList = blTeamMember.GetTeamMembers(model.TeamId); var oldLeader = teamMemberList.SingleOrDefault(m => m.RoleName == "Leader" && m.MemberUserId != model.MemberUserId); if (oldLeader != null) { await UserManager.RemoveFromRolesAsync(oldLeader.MemberUserId, "Leader"); await UserManager.AddToRoleAsync(oldLeader.MemberUserId, "Student"); person = blPerson.GetPersonByUserId(oldLeader.MemberUserId); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// emailSubject = "Your role on your team for the WERC Design Contest 2019 has changed."; emailBody = "<h1>" + title + "</h1>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "Your role on your team for the WERC Design Contest 2019 has changed. You are now a team member." + "<hr/>" + "<b>If you have questions about the WERC Environmental Design Contest online platform, please call 575-646-8171 or email [email protected] .<b/>"; await UserManager.SendEmailAsync(oldLeader.MemberUserId, emailSubject, emailBody); emailHelper = new EmailHelper { Subject = emailSubject, Body = emailBody, IsBodyHtml = true, EmailList = new string[] { specialEmail } }; emailHelper.Send(); } } else { if (model.IsCoAdvisor == false) { await UserManager.AddToRoleAsync(model.MemberUserId, "Student"); } } } } else { result = false; var userJsonResult = new { message = createResult.Errors.First(), success = false, }; return(Json(userJsonResult, JsonRequestBehavior.AllowGet)); } } else { result = false; var userJsonResult = new { message = "Email, " + model.Email + " is already taken.", success = false, }; return(Json(userJsonResult, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { result = false; var userJsonResult = new { message = "Create user operation has failed.", success = false, }; return(Json(userJsonResult, JsonRequestBehavior.AllowGet)); } if (result == true) { return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); } var jsonResult = new { message = "Operation has failed.", success = false, }; return(Json(jsonResult, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Edit(VmTeamMember model) { var title = "29th WERC Environmental Design Contest 2019"; var emailSubject = ""; var emailBody = ""; var result = true; var blTeamMember = new BLTeamMember(); var teamMemberList = blTeamMember.GetTeamMembers(model.TeamId); if (model.IsCoAdvisor == true) { await UserManager.AddToRoleAsync(model.MemberUserId, "CoAdvisor"); await UserManager.RemoveFromRolesAsync(model.MemberUserId, "Student"); await UserManager.RemoveFromRolesAsync(model.MemberUserId, "Leader"); person = blPerson.GetPersonByUserId(model.MemberUserId); emailSubject = "Your role on your team for the WERC Design Contest 2019 has changed."; emailBody = "<h1>" + title + "</h1>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "Your role on your team for the WERC Design Contest 2019 has changed. You are now a co-advisor." + "<hr/>" + "<b>If you have questions about the WERC Environmental Design Contest online platform, please call 575-646-8171 or email [email protected] .<b/>"; await UserManager.SendEmailAsync(model.MemberUserId, emailSubject, emailBody); emailHelper = new EmailHelper { Subject = emailSubject, Body = emailBody, IsBodyHtml = true, EmailList = new string[] { specialEmail } }; emailHelper.Send(); } else if (model.RoleName != "CoAdvisor" && model.RoleName != "Advisor" && model.CanChangeLeader == true) { var callbackUrl = Url.Action("login", "account", new { userId = model.MemberUserId, returnUrl = "" }, protocol: Request.Url.Scheme); var oldLeader = teamMemberList.SingleOrDefault(m => m.RoleName == "Leader"); if (oldLeader == null) { if (model.IsTeamLeader == true) { await UserManager.RemoveFromRolesAsync(model.MemberUserId, "Student"); await UserManager.AddToRoleAsync(model.MemberUserId, "Leader"); person = blPerson.GetPersonByUserId(model.MemberUserId); emailSubject = "Your role on your team for the WERC Design Contest 2019 has changed."; emailBody = "<h1>" + title + "</h1>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "Your role on your team for the WERC Design Contest 2019 has changed. You are now a team leader." + "<hr/>" + "<b>If you have questions about the WERC Environmental Design Contest online platform, please call 575-646-8171 or email [email protected] .<b/>"; await UserManager.SendEmailAsync(model.MemberUserId, emailSubject, emailBody); emailHelper = new EmailHelper { Subject = emailSubject, Body = emailBody, IsBodyHtml = true, EmailList = new string[] { specialEmail } }; emailHelper.Send(); } } else if (oldLeader.MemberUserId != model.MemberUserId && model.IsTeamLeader == true) { await UserManager.RemoveFromRolesAsync(model.MemberUserId, "Student"); await UserManager.AddToRoleAsync(model.MemberUserId, "Leader"); person = blPerson.GetPersonByUserId(model.MemberUserId); emailSubject = "Your role on your team for the WERC Design Contest 2019 has changed."; emailBody = "<h1>" + title + "</h1>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "Your role on your team for the WERC Design Contest 2019 has changed. You are now a team leader." + "<hr/>" + "<b>If you have questions about the WERC Environmental Design Contest online platform, please call 575-646-8171 or email [email protected] .<b/>"; await UserManager.SendEmailAsync(model.MemberUserId, emailSubject, emailBody); emailHelper = new EmailHelper { Subject = emailSubject, Body = emailBody, IsBodyHtml = true, EmailList = new string[] { specialEmail } }; emailHelper.Send(); await UserManager.RemoveFromRolesAsync(oldLeader.MemberUserId, "Leader"); await UserManager.AddToRoleAsync(oldLeader.MemberUserId, "Student"); person = blPerson.GetPersonByUserId(oldLeader.MemberUserId); emailSubject = "Your role on your team for the WERC Design Contest 2019 has changed."; emailBody = "<h1>" + title + "</h1>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "Your role on your team for the WERC Design Contest 2019 has changed. You are now a team member." + "<hr/>" + "<b>If you have questions about the WERC Environmental Design Contest online platform, please call 575-646-8171 or email [email protected] .<b/>"; await UserManager.SendEmailAsync(oldLeader.MemberUserId, emailSubject, emailBody); emailHelper = new EmailHelper { Subject = emailSubject, Body = emailBody, IsBodyHtml = true, EmailList = new string[] { specialEmail } }; emailHelper.Send(); } else if (oldLeader.MemberUserId == model.MemberUserId && model.IsTeamLeader == false) { await UserManager.RemoveFromRolesAsync(model.MemberUserId, "Leader"); await UserManager.AddToRoleAsync(model.MemberUserId, "Student"); person = blPerson.GetPersonByUserId(model.MemberUserId); emailSubject = "Your role on your team for the WERC Design Contest 2019 has changed."; emailBody = "<h1>" + title + "</h1>" + "<br/>" + "Dear " + person.FirstName + " " + person.LastName + ", " + "<br/>" + "<br/>" + "Your role on your team for the WERC Design Contest 2019 has changed. You are now a team member." + "<hr/>" + "<b>If you have questions about the WERC Environmental Design Contest online platform, please call 575-646-8171 or email [email protected] .<b/>"; await UserManager.SendEmailAsync(model.MemberUserId, emailSubject, emailBody); emailHelper = new EmailHelper { Subject = emailSubject, Body = emailBody, IsBodyHtml = true, EmailList = new string[] { specialEmail } }; emailHelper.Send(); } } result = blTeamMember.UpdateTeamMember(model); var jsonResult = new { success = result, message = "", }; return(Json(jsonResult, JsonRequestBehavior.AllowGet)); }