public PartialViewResult ShowTeamMember(int teamId) { var blTeamMember = new BLTeamMember(); var teamMemberList = blTeamMember.GetTeamMembers(teamId); return(PartialView("_TeamMember", teamMemberList)); }
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 })); }
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)); }
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 } })); }
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, })); }
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, })); }
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)); }
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)); }