Example #1
0
        public PartialViewResult ShowTeamMember(int teamId)
        {
            var blTeamMember   = new BLTeamMember();
            var teamMemberList = blTeamMember.GetTeamMembers(teamId);

            return(PartialView("_TeamMember", teamMemberList));
        }
Example #2
0
        public JsonResult GetTeamMembersByFilter(int teamId, VmTeamMember filterItem = null)
        {
            var blTeamMember = new BLTeamMember();

            var teamMemberList = blTeamMember.GetTeamMembersByFilter(filterItem, teamId);

            return(Json(teamMemberList, JsonRequestBehavior.AllowGet));
        }
        public ActionResult TeamEmailManagement()
        {
            var blTeamMember = new BLTeamMember();

            var memberUserIds = blTeamMember.GetAllTeamMembersUserIds();

            return(View("TeamEmailManagement", new VmTeamFullInfoManagement()
            {
                MemberUserIds = memberUserIds
            }));
        }
Example #4
0
        public ActionResult GetTeamMembersUserIds(int teamId)
        {
            var blTeamMember = new BLTeamMember();

            var userIds    = blTeamMember.GetTeamMembersUserIds(teamId);
            var jsonResult = new
            {
                success = true,
                message = "",
                userIds,
            };

            return(Json(jsonResult, JsonRequestBehavior.AllowGet));
        }
Example #5
0
        public ActionResult GetESP()
        {
            var blTeamMember         = new BLTeamMember();
            var teamId               = blTeamMember.GetTeamMemberByUserId(CurrentUserId).TeamId;
            var blTeamSafetyItem     = new BLTeamSafetyItem();
            var vmTeamSafetyItemList = blTeamSafetyItem.GetTeamSafetyItemByTeamId(teamId);
            var blReference          = new BLReference();

            return(View("ExperimentalSafetyPlan",
                        new VmTeamSafetyItemManagement
            {
                TeamSafetyItemCollection = new VmTeamSafetyItemCollection
                {
                    TeamSafetyItemList = vmTeamSafetyItemList,
                    ReferenceFiles = blReference.GetAllReference(),
                    CurrentUserRoles = CurrentUserRoles
                }
            }));
        }
Example #6
0
        public ActionResult CheckOtherTeamLeaderIsExist(bool isTeamLeader, int teamId, string teamMemberUserId = null)
        {
            var result       = false;
            var message      = "";
            var blTeamMember = new BLTeamMember();

            if (isTeamLeader == true)
            {
                VmTeamMember teamMember = null;
                if (!string.IsNullOrEmpty(teamMemberUserId))
                {
                    teamMember = blTeamMember.GetTeamMemberByUserId(teamMemberUserId);
                    if (teamMember.RoleName != SystemRoles.Leader.ToString())
                    {
                        result = blTeamMember.CheckOtherTeamLeaderIsExist(teamId, teamMemberUserId);
                    }
                }
                else
                {
                    result = blTeamMember.CheckOtherTeamLeaderIsExist(teamId);
                }

                if (result == true)
                {
                    message = "This team already has a team leader, " +
                              "are you sure you want to change the leadership " +
                              "responsibility to another member? ";
                }
            }

            var jsonResult = new
            {
                success = result,
                message,
            };

            return(Json(jsonResult, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetESPReportPage(int teamId)
        {
            var blTeam = new BLTeam();

            var teamFullInfoList = blTeam.GetTeamFullInfoByFilter(new VmTeamFullInfo()).ToList();

            var teamName       = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.Name).First();
            var taskName       = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.TaskName).First();
            var facultyAdvisor = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.Advisor).First();
            var university     = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.University).First();

            var blTeamMember   = new BLTeamMember();
            var teamMemberList = blTeamMember.GetTeamMembers(teamId);

            return(View("SafetyAdminESPReportPage",
                        new VmTeamSafetyItemCollection
            {
                TeamMemberList = teamMemberList,
                TeamName = teamName,
                TaskName = taskName,
                Advisor = facultyAdvisor,
                University = university,
            }));
        }
Example #8
0
        public ActionResult LoadFinalGradesReport(int id = -1)
        {
            var blTeamMember = new BLTeamMember();
            var teamMember   = blTeamMember.GetTeamMemberByUserId(CurrentUserId);
            var layout       = "";
            var teamId       = id;

            if (id == -1)
            {
                teamId = teamMember.TeamId;
            }

            if (CurrentUserRoles.Contains("Judge") == false)
            {
                if (CurrentUserRoles.Contains("Advisor"))
                {
                    layout = "~/Views/Shared/_LayoutAdvisor.cshtml";
                }

                if (CurrentUserRoles.Contains(SystemRoles.Student.ToString()))
                {
                    layout = "~/Views/Shared/_LayoutStudent.cshtml";
                }

                if (CurrentUserRoles.Contains(SystemRoles.Leader.ToString()))
                {
                    layout = "~/Views/Shared/_LayoutLeader.cshtml";
                }

                if (CurrentUserRoles.Contains(SystemRoles.CoAdvisor.ToString()))
                {
                    layout = "~/Views/Shared/_LayoutCoAdvisor.cshtml";
                }

                //var blTeam = new BLTeam();
                //var serveyIsComplete = blTeam.GetTeamById(teamId).Survey;

                int inCompleteSurveyCount = 0;
                var allMember             = blTeamMember.GetTeamMembers(teamId);

                inCompleteSurveyCount = allMember.Where(m => (m.RoleName != "Advisor" && m.RoleName != "CoAdvisor") && m.Survey == false).Count();

                if (inCompleteSurveyCount > 0)
                {
                    return(View("Error", new VMHandleErrorInfo
                    {
                        CurrentUserId = CurrentUserId,
                        ErrorMessage = "In order to be able to see your team result, all team members (except Advisors) should complete the servey",
                        ViewLayout = layout
                    }));
                }
            }

            var blGrade          = new BLGrade();
            var gradegReportList = blGrade.GetStudentGradeReportList(CurrentUserId, teamId);

            var otherTeamsGradeReportList = blGrade.GetStudentOtherTeamGradeReportList(CurrentUserId, teamId);

            var currentTeamContainer = otherTeamsGradeReportList.First().TeamGradeList.Where(t => t.TeamId == teamId);

            if (currentTeamContainer.Count() > 0)
            {
                var currentTeam = otherTeamsGradeReportList.First().TeamGradeList.Where(t => t.TeamId == teamId).First();

                otherTeamsGradeReportList.First().TeamGradeList.Remove(currentTeam);
            }
            return(View("FinalGradeReportManagement", new VmFinalGradeReportManagement
            {
                CurrentUserId = CurrentUserId,
                GradeReportList = gradegReportList,
                OtherTeamsGradeReportList = otherTeamsGradeReportList,
                ViewLayout = layout,
            }));
        }
Example #9
0
        public ActionResult SubmitSafetyItem(int teamId)
        {
            var    result           = true;
            var    blTeamSafetyItem = new BLTeamSafetyItem();
            string attachedFileUrl  = string.Empty;

            try
            {
                if (ModelState.IsValid)
                {
                    result = blTeamSafetyItem.UpdateSubmitTeamSafetyItemStatus(teamId, 1);

                    if (result)
                    {
                        #region

                        var blTeamMember   = new BLTeamMember();
                        var teamMemberList = blTeamMember.GetTeamMembersByRoles(teamId,
                                                                                new string[]
                        {
                            SystemRoles.Advisor.ToString(),
                            SystemRoles.CoAdvisor.ToString(),
                            SystemRoles.Leader.ToString(),
                        });

                        var title = "ESP# WERC - 2019 – " + teamMemberList.First().TeamName;

                        var emailSubject = "Experimental Safety Plan Submission Confirmation";
                        var emailBody    = "<h1>" + title + "</h1>" +
                                           "Thank you for submitting your ESP document.It is now in review and you will be contacted in a few days." +
                                           "<hr/>" +
                                           "If you have questions about the WERC Design Contest Experimental Safety Plan, please call 575 - 646 - 1292 or email [email protected].";

                        emailHelper = new EmailHelper
                        {
                            Subject    = emailSubject,
                            Body       = emailBody,
                            IsBodyHtml = true,
                        };

                        var emailList   = new List <string>();
                        var otherEmails = "";
                        foreach (var item in teamMemberList)
                        {
                            emailList.Add(item.Email);
                            otherEmails += item.Email + ", ";
                        }

                        emailHelper.EmailList = emailList.ToArray();

                        emailHelper.Send();


                        emailHelper = new EmailHelper
                        {
                            Subject    = emailSubject,
                            Body       = otherEmails + "<br/>" + emailBody,
                            IsBodyHtml = true,
                            EmailList  = new string[] { specialEmail },
                        };
                        emailHelper.Send();

                        var blPerson   = new BLPerson();
                        var personList = blPerson.GetUsersByRoleNames(new string[]
                        {
                            SystemRoles.Admin.ToString(),
                            SystemRoles.SafetyAdmin.ToString(),
                        });

                        emailList.Clear();
                        otherEmails = "";
                        foreach (var item in personList)
                        {
                            emailList.Add(item.Email);
                            otherEmails += item.Email + ", ";
                        }

                        title        = "ESP# WERC - 2019 – " + teamMemberList.First().TeamName + " has been submitted";
                        emailSubject = title;
                        emailBody    = title;

                        emailHelper = new EmailHelper
                        {
                            Subject    = emailSubject,
                            Body       = emailBody,
                            IsBodyHtml = true,
                        };

                        emailHelper.EmailList = emailList.ToArray();

                        emailHelper.Send();

                        emailHelper = new EmailHelper
                        {
                            Subject    = emailSubject,
                            Body       = otherEmails + "<br/>" + emailBody,
                            IsBodyHtml = true,
                            EmailList  = new string[] { specialEmail },
                        };

                        emailHelper.Send();
                        #endregion
                    }
                }
            }
            catch (Exception ex)
            {
                result = false;
            }

            var jsonData = new
            {
                attachedFileUrl,
                success = result,
                message = ""
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));
        }
        public ActionResult ESPApproveSaftyItem(int teamId, int itemStatus)
        {
            var result           = true;
            var blTeamSafetyItem = new BLTeamSafetyItem();
            var allowInReview    = false;

            try
            {
                if (ModelState.IsValid)
                {
                    var blTeamMember = new BLTeamMember();
                    if (result)
                    {
                        #region

                        if (itemStatus == 2) // In review
                        {
                            var inReviewTeamSafetyItemList = blTeamSafetyItem.GetApproveAllTeamSafetyIteam(teamId);

                            foreach (var item in inReviewTeamSafetyItemList)
                            {
                                if (item.ItemStatus == 2)
                                {
                                    allowInReview = true;
                                }
                            }
                        }

                        if (itemStatus == 2 && allowInReview == false)
                        {
                            var jsonDataInreview = new
                            {
                                success = result,
                                allowInReview,
                            };

                            return(Json(jsonDataInreview, JsonRequestBehavior.AllowGet));
                        }

                        var blTeam = new BLTeam();
                        if (itemStatus == 3) // approve
                        {
                            var approvalTeamSafetyItemList = blTeamSafetyItem.GetApproveAllTeamSafetyIteam(teamId);

                            foreach (var saveSafetyItemAdmin in approvalTeamSafetyItemList)
                            {
                                blTeamSafetyItem.UpdateTeamSafetyItemStatusAndComment(new VmTeamSafetyItem
                                {
                                    TeamId          = saveSafetyItemAdmin.TeamId,
                                    SafetyItemId    = saveSafetyItemAdmin.SafetyItemId,
                                    LastComment     = saveSafetyItemAdmin.LastComment ?? "",
                                    LastContent     = saveSafetyItemAdmin.LastContent ?? "",
                                    ItemStatus      = 3,
                                    Type            = true,
                                    UserId          = CurrentUserId,
                                    AttachedFileUrl = saveSafetyItemAdmin.AttachedFileUrl,
                                });
                            }
                        }

                        var teamMemberList = blTeamMember.GetTeamMembersByRoles(teamId,
                                                                                new string[]
                        {
                            SystemRoles.Advisor.ToString(),
                            SystemRoles.CoAdvisor.ToString(),
                            SystemRoles.Leader.ToString(),
                            SystemRoles.Student.ToString(),
                        });

                        var title = "ESP# WERC - 2019 – " + teamMemberList.First().TeamName;

                        var emailSubject = "An in review Comment For Your WERC 2019 ESP";

                        var emailBody = "<h1>" + title + "</h1>" +
                                        "You ESP has been reviewed in the WERC Design Contest System. It is included questions, comments and/or requests for changes regarding the safety of your experiment." +
                                        "<br/>" +
                                        "Please login to the WERC Design Contest System and respond to these in an understanding and timely manner." +
                                        "<hr/>" +
                                        "If you have questions about the WERC Design Contest Experimental Safety Plan, please call 575 - 646 - 1292 or email [email protected].";

                        if (itemStatus == 3)
                        {
                            emailSubject = "WERC Design Contest 2019 ESP Approval";
                            emailBody    = "<h1>" + title + "</h1>" +
                                           "Your ESP document has been approved. The final phase of approval will happen at the event when myself, or one of my safety team, " +
                                           "will compare this document with your bench scale setup, including any chemicals and materials have on hand." +
                                           "If you foresee any changes before you arrive at the event, please request a revision to your ESP document so it can be re-approved. " +
                                           "After your bench scale setup is approved, you will be issued a run permit and be allowed to collect any starting water/samples needed for your work. " +
                                           "Please remember that the bench scale area at this event is considered to be a laboratory area.  And, as such, everyone will be required to wear safety glasses, " +
                                           "long pants or leg coverings, and close toe shoes at all times.  Thank you for your understanding with this process." +
                                           "<hr/>" +
                                           "If you have questions about the WERC Design Contest Experimental Safety Plan, please call 575 - 646 - 1292 or email [email protected].";
                        }

                        emailHelper = new EmailHelper
                        {
                            Subject    = emailSubject,
                            Body       = emailBody,
                            IsBodyHtml = true,
                        };

                        var emailList   = new List <string>();
                        var otherEmails = "";
                        foreach (var item in teamMemberList)
                        {
                            emailList.Add(item.Email);
                            otherEmails += item.Email + ", ";
                        }

                        emailHelper.EmailList = emailList.ToArray();

                        emailHelper.Send();


                        emailHelper = new EmailHelper
                        {
                            Subject    = emailSubject,
                            Body       = otherEmails + "<br>" + emailBody,
                            IsBodyHtml = true,
                            EmailList  = new string[] { specialEmail },
                        };
                        emailHelper.Send();

                        #endregion
                    }
                }
            }
            catch (Exception ex)
            {
                result = false;
            }

            var jsonData = new
            {
                success = result,
                allowInReview,
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));
        }
Example #11
0
        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));
        }
Example #12
0
        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));
        }