Example #1
0
        public bool UpdateTeamMember(VmTeamMember vmTeamMember)
        {
            try
            {
                var teamMemberRepository = UnitOfWork.GetRepository <TeamMemberRepository>();

                var updateableTeamMember = new TeamMember
                {
                    Id                 = vmTeamMember.Id,
                    TeamId             = vmTeamMember.TeamId,
                    MemberUserId       = vmTeamMember.MemberUserId,
                    RegistrationStatus = vmTeamMember.RegistrationStatus,
                    Survey             = vmTeamMember.Survey,
                };

                var personRepository = UnitOfWork.GetRepository <PersonRepository>();

                personRepository.UpdatePersonNameByUserId(new Person
                {
                    UserId    = vmTeamMember.MemberUserId,
                    FirstName = vmTeamMember.FirstName,
                    LastName  = vmTeamMember.LastName,
                });

                teamMemberRepository.UpdateTeamMember(updateableTeamMember);

                return(UnitOfWork.Commit());
            }
            catch
            {
                return(false);
            }
        }
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));
        }
Example #3
0
        // 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));
        }
Example #4
0
        public int CreateTeamMember(VmTeamMember vmTeamMember)
        {
            var result = -1;

            try
            {
                var TeamMemberRepository = UnitOfWork.GetRepository <TeamMemberRepository>();

                var newTeamMember = new TeamMember
                {
                    Id                 = vmTeamMember.Id,
                    TeamId             = vmTeamMember.TeamId,
                    MemberUserId       = vmTeamMember.MemberUserId,
                    RegistrationStatus = vmTeamMember.RegistrationStatus,
                    Survey             = vmTeamMember.Survey,
                };

                var personRepository = UnitOfWork.GetRepository <PersonRepository>();

                personRepository.CreatePerson(
                    new Person
                {
                    UserId       = vmTeamMember.MemberUserId,
                    FirstName    = vmTeamMember.FirstName,
                    LastName     = vmTeamMember.LastName,
                    UniversityId = vmTeamMember.UniversityId,
                    JacketSizeId = vmTeamMember.JacketSizeId,
                    DietTypeId   = vmTeamMember.DietTypeId,
                });

                TeamMemberRepository.CreateTeamMember(newTeamMember);

                UnitOfWork.Commit();

                result = newTeamMember.Id;
            }
            catch (Exception ex)
            {
                result = -1;
            }

            return(result);
        }
Example #5
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));
        }
Example #6
0
        //public int CreateSurvey(VmSurvey vmSurvey)
        //{
        //    var result = -1;
        //    try
        //    {
        //        var questionRepository = UnitOfWork.GetRepository<ViewSurveyRepository>();

        //        var newSurvey = new Survey
        //        {
        //            Id = vmSurvey.Id,
        //            Name = vmSurvey.Name,
        //            Description = vmSurvey.Description,
        //        };

        //        questionRepository.CreateSurvey(newSurvey);

        //        UnitOfWork.Commit();

        //        result = newSurvey.Id;
        //    }
        //    catch (Exception ex)
        //    {
        //        result = -1;
        //    }

        //    return result;
        //}

        //public bool UpdateSurvey(VmSurvey vmSurvey)
        //{
        //    try
        //    {
        //        var questionRepository = UnitOfWork.GetRepository<ViewSurveyRepository>();

        //        var updateableSurvey = new Survey
        //        {
        //            Id = vmSurvey.Id,
        //            Name = vmSurvey.Name,
        //            Description = vmSurvey.Description,
        //        };

        //        questionRepository.UpdateSurvey(updateableSurvey);

        //        return UnitOfWork.Commit();
        //    }
        //    catch
        //    {
        //        return false;
        //    }

        //}
        public bool UpdateSurvey(string userId, List <VmClientSurveyResult> clientSurveyResult)
        {
            try
            {
                var blPerson = new BLPerson();
                var person   = blPerson.GetPersonByUserId(userId);


                var blTeamMember = new BLTeamMember();

                VmTeamMember teamMember = null;

                var teamId = 0;

                if (person.RoleName.ToLower().Contains("judge") == false)
                {
                    teamMember = blTeamMember.GetTeamMemberByUserId(userId);
                    teamId     = teamMember.TeamId;
                }

                var surveyResultRepository = UnitOfWork.GetRepository <SurveyResultRepository>();

                surveyResultRepository.DeleteSurveyResult(userId, clientSurveyResult.Select(q => q.QuestionId).ToArray());

                var surveyResultDetails = new List <SurveyResultDetail>();

                var surveyResultList = from survey in clientSurveyResult
                                       group new
                {
                    survey.QuestionAnswerId,
                    survey.Value,
                    survey.Comment
                }
                by survey.QuestionId into g
                    select new SurveyResult
                {
                    QuestionId          = g.Key,
                    TeamId              = teamId,
                    UserId              = userId,
                    SurveyResultDetails = (from s in g.ToList()
                                           select new SurveyResultDetail
                    {
                        QuestionAnswerId = s.QuestionAnswerId,
                        Value = s.Value,
                        Comment = s.Comment,
                    }).ToList()
                };

                if (person.RoleName.ToLower().Contains("judge") == false)
                {
                    blTeamMember.UpdateTeamMemberSurvey(userId, true);
                }

                surveyResultRepository.CreateSurveyResult(surveyResultList);

                return(UnitOfWork.Commit());
            }
            catch
            {
                return(false);
            }
        }
Example #7
0
        public IEnumerable <VmSurvey> GetSurveyList(string userId, QuestionType type)
        {
            var blPerson = new BLPerson();
            var person   = blPerson.GetPersonByUserId(userId);

            var blTeamMember = new BLTeamMember();

            VmTeamMember teamMember = null;

            var teamId = 0;

            if (person.RoleName.ToLower().Contains("judge") == false)
            {
                teamMember = blTeamMember.GetTeamMemberByUserId(userId);
                teamId     = teamMember.TeamId;
                blTeamMember.UpdateTeamMemberSurvey(userId, true);
            }

            var viewViewSurveyRepository = UnitOfWork.GetRepository <ViewSurveyRepository>();

            var questionList = viewViewSurveyRepository.GetViewSurveys(type);

            var vmSurveyList = (from q in questionList
                                group new
            {
                q.AnswerId,
                q.QuestionAnswerId,
                q.AnswerType,
                q.Weight,
                q.AnswerPriority,
                q.Answer,
                q.TitleVisible,
                q.Comment,
                q.ShowComment,
            }
                                by new
            {
                q.Id,
                q.Question,
                q.QuestionPriority,
                q.QuestionType,
                q.QuestionComment,
            }
                                into g
                                select new VmSurvey
            {
                Id = g.Key.Id,
                Question = g.Key.Question,
                QuestionPriority = g.Key.QuestionPriority,
                QuestionComment = g.Key.QuestionComment,
                QuestionType = g.Key.QuestionType,

                SurveyDetailList = (from gd in g.ToList()
                                    select new VmSurveyDetail
                {
                    AnswerId = gd.AnswerId,
                    QuestionAnswerId = gd.QuestionAnswerId,
                    AnswerType = gd.AnswerType,
                    Weight = gd.Weight,
                    AnswerPriority = gd.AnswerPriority,
                    Answer = gd.Answer,
                    TitleVisible = gd.TitleVisible,
                    Value = "",
                    Comment = gd.Comment,
                    ShowComment = gd.ShowComment,
                }).ToList()
            }).ToList();


            IEnumerable <ViewSurveyResult> surveyResultList = null;

            if (person.RoleName.ToLower().Contains("judge") == false)
            {
                surveyResultList = viewViewSurveyRepository.GetViewSurveyResults(userId, teamId);
            }
            else
            {
                surveyResultList = viewViewSurveyRepository.GetViewSurveyResults(userId);
            }
            if (surveyResultList.Count() > 0)
            {
                foreach (var question in vmSurveyList)
                {
                    foreach (var answer in question.SurveyDetailList)
                    {
                        answer.Value   = surveyResultList.Where(a => a.UserId == userId && a.QuestionAnswerId == answer.QuestionAnswerId && a.Id == question.Id).First().Value ?? "";
                        answer.Comment = surveyResultList.Where(a => a.UserId == userId && a.QuestionAnswerId == answer.QuestionAnswerId && a.Id == question.Id).First().Comment ?? "";
                    }
                }
            }
            return(vmSurveyList);
        }
Example #8
0
        public IEnumerable <VmTaskBaseGrade> GetStudentGradeReportList(string studentUserId, int teamId = -1)
        {
            var viewTaskTeamRepository = UnitOfWork.GetRepository <ViewTaskTeamRepository>();

            IEnumerable <ViewTaskTeam> taskTeamRepositoryList;

            var          blTeamMember = new BLTeamMember();
            VmTeamMember teamMember   = null;

            if (teamId == -1)
            {
                teamMember = blTeamMember.GetTeamMemberByUserId(studentUserId);
                teamId     = teamMember.TeamId;
            }
            else
            {
                teamMember = blTeamMember.GetTeamMemberByUserAndTeamId(studentUserId, teamId);
            }

            var taskId = teamMember.TaskId.Value;

            var blUserTask = new BLUserTask();

            var judgeUserTaskList = blUserTask.GetUsersByTask(taskId);

            taskTeamRepositoryList = viewTaskTeamRepository.GetTaskTeamByJudgesAndTeam(judgeUserTaskList.ToArray(), teamId).ToList();

            var viewTaskRepository = UnitOfWork.GetRepository <ViewTaskRepository>();

            var taskGradeList = viewTaskRepository.GetViewTaskByIds(new int[] { taskId }).ToList();

            var blTeamGradeDetail   = new BLTeamGradeDetail();
            var teamGradeDetailList = blTeamGradeDetail.GetAllTeamGradeDetailByTaskIds(taskTeamRepositoryList.Select(t => t.TaskId).Distinct().ToArray()).ToList();

            var taskBaseGradeList = (from task in taskTeamRepositoryList
                                     group task by new { task.TaskId, task.TaskName } into g
                                     select new VmTaskBaseGrade
            {
                TaskId = g.Key.TaskId,
                TaskName = g.Key.TaskName,

                GradeList = (from gt in taskGradeList
                             where gt.Id == g.Key.TaskId
                             select new VmGrade
                {
                    Id = gt.GradeId,
                    Name = gt.Grade
                }).ToList(),

                TeamGradeList = (from team in g.ToList()
                                 group team by new { team.TeamId, team.TeamName } into tg
                                 select new VmTeamGrade
                {
                    TeamId = tg.Key.TeamId,
                    TeamName = tg.Key.TeamName,
                }).ToList()
            }).ToList();


            foreach (var taskBaseGrade in taskBaseGradeList)
            {
                foreach (var team in taskBaseGrade.TeamGradeList)
                {
                    team.GradeReportList = new List <VmGradeReport>();

                    foreach (var grade in taskBaseGrade.GradeList)
                    {
                        team.GradeReportList.Add(new VmGradeReport
                        {
                            GradeId   = grade.Id,
                            GradeType = grade.Name,
                            Average   = GetAverageTotal(teamGradeDetailList, taskBaseGrade.TaskId, team.TeamId, grade.Id)
                        });
                    }
                }
            }

            return(taskBaseGradeList);
        }
Example #9
0
        public IEnumerable <VmTeamMember> GetTeamMembersByFilter(VmTeamMember filterItem, int teamId)
        {
            var viewTeamMemberRepository = UnitOfWork.GetRepository <ViewTeamMemberRepository>();

            var viewFilterItem = new ViewTeamMember
            {
                Id                 = filterItem.Id,
                MemberName         = filterItem.MemberName,
                Email              = filterItem.Email,
                Survey             = filterItem.Survey,
                RoleName           = (filterItem.IsTeamLeader) ? "Leader" : "Student",
                RegistrationStatus = filterItem.RegistrationStatus,
            };

            viewFilterItem.RoleName = (filterItem.IsCoAdvisor) ? "CoAdvisor" : "";


            var viewteamMemberList = viewTeamMemberRepository.Select(viewFilterItem, 0, int.MaxValue, teamId);

            var vmTeamMemberList = from teamMember in viewteamMemberList
                                   select new VmTeamMember
            {
                Id                     = teamMember.Id,
                TeamId                 = teamMember.TeamId,
                TaskId                 = teamMember.TaskId,
                MemberUserId           = teamMember.MemberUserId,
                TeamName               = teamMember.TeamName,
                Task                   = teamMember.Task,
                TeamImageUrl           = teamMember.TeamImageUrl,
                RegistrationStatus     = teamMember.RegistrationStatus,
                Survey                 = teamMember.Survey,
                MemberName             = teamMember.MemberName,
                FirstName              = teamMember.FirstName,
                LastName               = teamMember.LastName,
                PhoneNumber            = teamMember.PhoneNumber,
                Identifier             = teamMember.Identifier,
                Sex                    = teamMember.Sex,
                BirthDate              = teamMember.BirthDate,
                UserName               = teamMember.UserName,
                Email                  = teamMember.Email,
                RegisterDate           = teamMember.RegisterDate,
                RoleName               = teamMember.RoleName,
                RoleId                 = teamMember.RoleId,
                UserDefiner            = teamMember.UserDefiner,
                LastSignIn             = teamMember.LastSignIn,
                UniversityId           = teamMember.UniversityId,
                University             = teamMember.University,
                JacketSizeId           = teamMember.JacketSizeId,
                JacketSize             = teamMember.JacketSize ?? "",
                DietTypeId             = teamMember.DietTypeId,
                DietType               = teamMember.DietType ?? "",
                StreetLine1            = teamMember.StreetLine1,
                StreetLine2            = teamMember.StreetLine2,
                City                   = teamMember.City,
                State                  = teamMember.State,
                ZipCode                = teamMember.ZipCode,
                EmgyPersonFirstName    = teamMember.EmgyPersonFirstName,
                EmgyPersonLastName     = teamMember.EmgyPersonLastName,
                EmgyPersonRelationship = teamMember.EmgyPersonRelationship,
                EmgyPersonPhoneNumber  = teamMember.EmgyPersonPhoneNumber,
                ShortBio               = teamMember.ShortBio,
                TShirtSize             = teamMember.T_Shirt_Size,
                ProfilePictureUrl      = teamMember.ProfilePictureUrl,
                UniversityPictureUrl   = teamMember.UniversityPictureUrl ?? "/Resources/Images/university-empty-pic.png",
                LabResultUrl           = teamMember.LabResultUrl,
                WrittenReportUrl       = teamMember.WrittenReportUrl ?? "?CT=Stylish_not_ok.png'",
                Shipping               = "",
                ResumeUrl              = teamMember.ResumeUrl,
                Date                   = teamMember.Date,
                EmailConfirmed         = teamMember.EmailConfirmed,
                LockoutEnabled         = teamMember.LockoutEnabled,
                IsTeamLeader           = (teamMember.RoleName == "Leader") ? true : false,
                IsCoAdvisor            = (teamMember.RoleName == "CoAdvisor") ? true : false,
            };

            return(vmTeamMemberList);
        }
Example #10
0
        public VmTeamMember GetTeamMemberByUserAndTeamId(string memberUserId, int teamId)
        {
            var teamMemberRepository = UnitOfWork.GetRepository <ViewTeamMemberRepository>();

            var teamMember   = teamMemberRepository.GetTeamMember(memberUserId, teamId);
            var vmTeamMember = new VmTeamMember
            {
                Id                     = teamMember.Id,
                TeamId                 = teamMember.TeamId,
                TaskId                 = teamMember.TaskId,
                MemberUserId           = teamMember.MemberUserId,
                TeamName               = teamMember.TeamName,
                Task                   = teamMember.Task,
                TeamImageUrl           = teamMember.TeamImageUrl,
                RegistrationStatus     = teamMember.RegistrationStatus,
                Survey                 = teamMember.Survey,
                MemberName             = teamMember.MemberName,
                FirstName              = teamMember.FirstName,
                LastName               = teamMember.LastName,
                PhoneNumber            = teamMember.PhoneNumber,
                Identifier             = teamMember.Identifier,
                Sex                    = teamMember.Sex,
                BirthDate              = teamMember.BirthDate,
                UserName               = teamMember.UserName,
                Email                  = teamMember.Email,
                RegisterDate           = teamMember.RegisterDate,
                RoleName               = teamMember.RoleName,
                RoleId                 = teamMember.RoleId,
                UserDefiner            = teamMember.UserDefiner,
                LastSignIn             = teamMember.LastSignIn,
                UniversityId           = teamMember.UniversityId,
                University             = teamMember.University,
                JacketSizeId           = teamMember.JacketSizeId,
                JacketSize             = teamMember.JacketSize ?? "",
                DietTypeId             = teamMember.DietTypeId,
                DietType               = teamMember.DietType ?? "",
                StreetLine1            = teamMember.StreetLine1,
                StreetLine2            = teamMember.StreetLine2,
                City                   = teamMember.City,
                State                  = teamMember.State,
                ZipCode                = teamMember.ZipCode,
                EmgyPersonFirstName    = teamMember.EmgyPersonFirstName,
                EmgyPersonLastName     = teamMember.EmgyPersonLastName,
                EmgyPersonRelationship = teamMember.EmgyPersonRelationship,
                EmgyPersonPhoneNumber  = teamMember.EmgyPersonPhoneNumber,
                ShortBio               = teamMember.ShortBio,
                TShirtSize             = teamMember.T_Shirt_Size,
                ProfilePictureUrl      = teamMember.ProfilePictureUrl,
                UniversityPictureUrl   = teamMember.UniversityPictureUrl ?? "/Resources/Images/university-empty-pic.png",
                LabResultUrl           = teamMember.LabResultUrl,
                WrittenReportUrl       = teamMember.WrittenReportUrl ?? "?CT=Stylish_not_ok.png'",
                Shipping               = "",
                ResumeUrl              = teamMember.ResumeUrl,
                Date                   = teamMember.Date,
                EmailConfirmed         = teamMember.EmailConfirmed,
                LockoutEnabled         = teamMember.LockoutEnabled,
                IsTeamLeader           = (teamMember.RoleName == "Leader") ? true : false,
                IsCoAdvisor            = (teamMember.RoleName == "CoAdvisor") ? true : false,
            };

            return(vmTeamMember);
        }
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));
        }