Exemple #1
0
        public JsonResult GetRoleBaseUserEmailByFilter(VmPerson filter = null)
        {
            var blPerson = new BLPerson();

            var teamFullInfoList = blPerson.GetUsersByFilter(filter);

            return(Json(teamFullInfoList, JsonRequestBehavior.AllowGet));
        }
Exemple #2
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));
        }
        public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //ApplicationUser user = context.Users.Where(u => u.UserName.Equals(model.UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();

            var user = await UserManager.FindByNameAsync(model.UserName);

            if (user != null)
            {
                var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, false, false);

                    BLPerson blPerson = new BLPerson();
                    VmPerson person   = null;

                    person = blPerson.GetPersonByUserId(user.Id);

                    var emailHelper = new EmailHelper
                    {
                        Subject = "Reset Password",
                        Body    =
                            "Full Name: " + person.FirstName + " " + person.LastName +
                            "<br/>" +
                            "Username: "******"<br/>" +
                            "Password: "******"Index", "Home"));
                    //  return RedirectToAction("ResetPasswordConfirmation", "Account");
                }
                else
                {
                    AddErrors(result);
                }
            }
            else
            {
                AddErrors(new IdentityResult(new string[] { "User not found...!" }));
            }


            return(View(new ResetPasswordViewModel()));
        }
Exemple #4
0
        public IEnumerable <VmPerson> GetUsersByFilter(VmPerson filterItem = null)
        {
            var viewPersonInRoleRepository = UnitOfWork.GetRepository <ViewPersonInRoleRepository>();

            var usersList = viewPersonInRoleRepository.Select(filterItem, 0, int.MaxValue);

            var vmApprovalRejectList = from person in usersList
                                       select new VmPerson
            {
                Id                     = person.Id,
                RoleId                 = person.RoleId,
                SizeId                 = person.SizeId,
                Sex                    = person.Sex,
                UniversityId           = person.UniversityId,
                University             = person.University ?? "",
                JacketSizeId           = person.JacketSizeId,
                JacketSize             = person.JacketSize ?? "",
                DietTypeId             = person.DietTypeId,
                DietType               = person.DietType ?? "",
                Allergies              = person.Allergies ?? "",
                UserId                 = person.UserId,
                ProfilePictureUrl      = person.ProfilePictureUrl ?? "",
                UniversityPictureUrl   = person.UniversityPictureUrl ?? "/Resources/Images/university-empty-pic.png",
                ResumeUrl              = person.ResumeUrl ?? "",
                FirstName              = person.FirstName ?? "",
                LastName               = person.LastName ?? "",
                RoleName               = person.RoleName ?? "",
                Email                  = person.Email,
                SecondaryEmail         = person.SecondaryEmail,
                T_Shirt_Size           = person.T_Shirt_Size ?? "",
                PhoneNumber            = person.PhoneNumber ?? "",
                StreetLine1            = person.StreetLine1 ?? "",
                StreetLine2            = person.StreetLine2 ?? "",
                City                   = person.City ?? "",
                State                  = person.State ?? "",
                ZipCode                = person.ZipCode ?? "",
                EmgyPersonFirstName    = person.EmgyPersonFirstName ?? "",
                EmgyPersonLastName     = person.EmgyPersonLastName ?? "",
                EmgyPersonPhoneNumber  = person.EmgyPersonPhoneNumber ?? "",
                EmgyPersonRelationship = person.EmgyPersonRelationship ?? "",
                ShortBio               = person.ShortBio ?? "",

                WelcomeDinner             = person.WelcomeDinner,
                LunchOnMonday             = person.LunchOnMonday,
                LunchOnTuesday            = person.LunchOnTuesday,
                ReceptionNetworkOnTuesday = person.ReceptionNetworkOnTuesday,
                AwardBanquet   = person.AwardBanquet,
                NoneOfTheAbove = person.NoneOfTheAbove,
                Agreement      = person.Agreement ?? false,
            };

            return(vmApprovalRejectList.OrderBy(p => p.LastName));
        }
Exemple #5
0
        public bool CreatePerson(VmPerson vmPerson)
        {
            try
            {
                if (PersonIsExistByUserId(vmPerson.UserId) == false)
                {
                    var personRepository = UnitOfWork.GetRepository <PersonRepository>();

                    personRepository.CreatePerson(
                        new Person
                    {
                        UserId       = vmPerson.UserId,
                        Sex          = vmPerson.Sex,
                        FirstName    = vmPerson.FirstName,
                        LastName     = vmPerson.LastName,
                        UniversityId = vmPerson.UniversityId == 0 ? null : vmPerson.UniversityId,
                        JacketSizeId = vmPerson.JacketSizeId,
                        DietTypeId   = vmPerson.DietTypeId,
                        Allergies    = vmPerson.Allergies,

                        WelcomeDinner             = vmPerson.WelcomeDinner,
                        LunchOnMonday             = vmPerson.LunchOnMonday,
                        LunchOnTuesday            = vmPerson.LunchOnTuesday,
                        ReceptionNetworkOnTuesday = vmPerson.ReceptionNetworkOnTuesday,
                        AwardBanquet   = vmPerson.AwardBanquet,
                        NoneOfTheAbove = vmPerson.NoneOfTheAbove,
                        SecondaryEmail = vmPerson.SecondaryEmail,
                        Agreement      = vmPerson.Agreement,
                    });

                    UnitOfWork.Commit();
                }
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemple #6
0
        public async Task <ActionResult> UpdateProfile(VmPerson model)
        {
            var result = true;
            var user   = UserManager.Users.FirstOrDefault(u => u.Id == model.UserId);

            if (
                string.IsNullOrWhiteSpace(model.FirstName) ||
                string.IsNullOrWhiteSpace(model.LastName) ||
                model.Agreement == null ||
                model.Agreement == false
                )
            {
                result = false;
            }
            else
            {
                model.CurrentUserId = CurrentUserId;

                var blPerson = new BLPerson();

                result = blPerson.UpdatePerson(model);

                if (result != false)
                {
                    user.PhoneNumber = model.PhoneNumber;

                    if (model.Email != null)
                    {
                        user.Email = model.Email;
                    }

                    var blUser = new BLUser();
                    blUser.UpdatePhoneUserNumber(user.Id, model.PhoneNumber);
                    //await UserManager.UpdateAsync(user);
                }
            }

            var message = "";

            if (result == false)
            {
                message = model.ActionMessageHandler.Message = "Operation has been failed...\n call system Admin";
            }
            else
            {
                message = model.ActionMessageHandler.Message = "Operation has been succeeded";
            }

            var returnUrl = "";

            if (CurrentUserRoles.Contains(SystemRoles.Admin.ToString()))
            {
                returnUrl = "/admin/index";
            }

            if (CurrentUserRoles.Contains("Advisor"))
            {
                if (user.EmailConfirmed == true)
                {
                    returnUrl = "/advisor/index";
                }
                else
                {
                    returnUrl = "/home/index";
                }
            }

            if (CurrentUserRoles.Contains(SystemRoles.Judge.ToString()))
            {
                if (user.EmailConfirmed == true)
                {
                    returnUrl = "/judge/index";
                }
                else
                {
                    returnUrl = "/home/index";
                }
            }

            if (CurrentUserRoles.Contains(SystemRoles.Student.ToString()))
            {
                returnUrl = "/student/index";
            }

            if (CurrentUserRoles.Contains(SystemRoles.Leader.ToString()))
            {
                returnUrl = "/leader/index";
            }
            if (CurrentUserRoles.Contains(SystemRoles.CoAdvisor.ToString()))
            {
                returnUrl = "/coadvisor/index";
            }

            if (CurrentUserRoles.Contains(SystemRoles.Lab.ToString()))
            {
                if (user.EmailConfirmed == true)
                {
                    returnUrl = "/lab/index";
                }
                else
                {
                    returnUrl = "/home/index";
                }
            }

            var jsonData = new
            {
                personId = model.Id,
                success  = result,
                message,
                returnUrl,
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));

            //return View("../Author/PersonEdit", model);
        }
Exemple #7
0
        public VmPerson GetPersonByUserId(string userId)
        {
            try
            {
                var personInRoleRepository = UnitOfWork.GetRepository <ViewPersonInRoleRepository>();
                var userTaskRepository     = UnitOfWork.GetRepository <UserTaskRepository>();

                var person  = personInRoleRepository.GetUsersById(userId);
                var taskIds = userTaskRepository.GetUserTaskIds(userId);

                var vwPerson = new VmPerson
                {
                    Id                     = person.Id,
                    RoleId                 = person.RoleId,
                    SizeId                 = person.SizeId,
                    Sex                    = person.Sex,
                    UniversityId           = person.UniversityId,
                    University             = person.University ?? "",
                    JacketSizeId           = person.JacketSizeId,
                    JacketSize             = person.JacketSize ?? "",
                    DietTypeId             = person.DietTypeId,
                    DietType               = person.DietType ?? "",
                    Allergies              = person.Allergies ?? "",
                    UserId                 = person.UserId,
                    ProfilePictureUrl      = person.ProfilePictureUrl ?? "",
                    UniversityPictureUrl   = person.UniversityPictureUrl ?? "/Resources/Images/university-empty-pic.png",
                    ResumeUrl              = person.ResumeUrl ?? "",
                    FirstName              = person.FirstName ?? "",
                    LastName               = person.LastName ?? "",
                    RoleName               = person.RoleName ?? "",
                    Email                  = person.Email,
                    SecondaryEmail         = person.SecondaryEmail,
                    T_Shirt_Size           = person.T_Shirt_Size ?? "",
                    PhoneNumber            = person.PhoneNumber ?? "",
                    StreetLine1            = person.StreetLine1 ?? "",
                    StreetLine2            = person.StreetLine2 ?? "",
                    City                   = person.City ?? "",
                    State                  = person.State ?? "",
                    ZipCode                = person.ZipCode ?? "",
                    EmgyPersonFirstName    = person.EmgyPersonFirstName ?? "",
                    EmgyPersonLastName     = person.EmgyPersonLastName ?? "",
                    EmgyPersonPhoneNumber  = person.EmgyPersonPhoneNumber ?? "",
                    EmgyPersonRelationship = person.EmgyPersonRelationship ?? "",
                    ShortBio               = person.ShortBio ?? "",

                    WelcomeDinner             = person.WelcomeDinner,
                    LunchOnMonday             = person.LunchOnMonday,
                    LunchOnTuesday            = person.LunchOnTuesday,
                    ReceptionNetworkOnTuesday = person.ReceptionNetworkOnTuesday,
                    AwardBanquet   = person.AwardBanquet,
                    NoneOfTheAbove = person.NoneOfTheAbove,
                    Agreement      = person.Agreement ?? false,
                    TaskIds        = taskIds,
                    ClientTaskIds  = string.Join(",", taskIds),
                };

                return(vwPerson);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #8
0
        public bool UpdatePerson(VmPerson vmPerson)
        {
            try
            {
                var personRepository   = UnitOfWork.GetRepository <PersonRepository>();
                var dietTypeRepository = UnitOfWork.GetRepository <DietTypeRepository>();

                var person = new Person
                {
                    Id                     = vmPerson.Id,
                    SizeId                 = vmPerson.SizeId,
                    Sex                    = vmPerson.Sex,
                    UniversityId           = vmPerson.UniversityId,
                    JacketSizeId           = vmPerson.JacketSizeId,
                    UserId                 = vmPerson.UserId,
                    ResumeUrl              = vmPerson.ResumeUrl,
                    FirstName              = vmPerson.FirstName,
                    LastName               = vmPerson.LastName,
                    StreetLine1            = vmPerson.StreetLine1,
                    StreetLine2            = vmPerson.StreetLine2,
                    City                   = vmPerson.City,
                    State                  = vmPerson.State,
                    ZipCode                = vmPerson.ZipCode,
                    EmgyPersonFirstName    = vmPerson.EmgyPersonFirstName,
                    EmgyPersonLastName     = vmPerson.EmgyPersonLastName,
                    EmgyPersonPhoneNumber  = vmPerson.EmgyPersonPhoneNumber,
                    EmgyPersonRelationship = vmPerson.EmgyPersonRelationship,
                    ShortBio               = vmPerson.ShortBio,

                    WelcomeDinner             = vmPerson.WelcomeDinner,
                    LunchOnMonday             = vmPerson.LunchOnMonday,
                    LunchOnTuesday            = vmPerson.LunchOnTuesday,
                    ReceptionNetworkOnTuesday = vmPerson.ReceptionNetworkOnTuesday,
                    AwardBanquet   = vmPerson.AwardBanquet,
                    NoneOfTheAbove = vmPerson.NoneOfTheAbove,
                    SecondaryEmail = vmPerson.SecondaryEmail,
                    Agreement      = vmPerson.Agreement,
                };

                if (vmPerson.DietTypeId == 5)
                {
                    var dietType = new DietType
                    {
                        Id      = dietTypeRepository.GetDietTypeNewId(),
                        Name    = vmPerson.DietType,
                        Display = true,
                    };

                    person.DietTypeId = dietType.Id;

                    dietTypeRepository.CreateDietType(dietType);
                }
                else
                {
                    person.DietTypeId = vmPerson.DietTypeId;
                }

                person.Allergies = vmPerson.Allergies;

                personRepository.UpdatePerson(person);

                //Do not delete its for next year
                //if (vmPerson.RoleId == "4d7951d8-8eda-4452-8ff1-dfc9076d8bbe")
                //{
                //    var userTaskRepository = UnitOfWork.GetRepository<UserTaskRepository>()

                //    userTaskRepository.DeleteUserTasks(vmPerson.UserId);
                //    userTaskRepository.CreateTasksUser(vmPerson.UserId, vmPerson.TaskIds);
                //}

                var teamMemberRepository = UnitOfWork.GetRepository <TeamMemberRepository>();

                var updateableTeamMember = new TeamMember
                {
                    MemberUserId       = vmPerson.UserId,
                    RegistrationStatus = true,
                };

                teamMemberRepository.UpdateTeamMemberRegistrationStatusByUserId(updateableTeamMember);


                UnitOfWork.Commit();

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemple #9
0
        public IEnumerable <ViewPersonInRole> Select(VmPerson filterItem, int index, int count)
        {
            var personInRoleList = from person in Context.ViewPersonInRoles

                                   select person;

            if (filterItem.University != null)
            {
                personInRoleList = personInRoleList.Where(t => t.University.Contains(filterItem.University));
            }

            if (filterItem.Email != null)
            {
                personInRoleList = personInRoleList.Where(t => t.Email.Contains(filterItem.Email));
            }

            if (filterItem.FirstName != null)
            {
                personInRoleList = personInRoleList.Where(t => t.FirstName.Contains(filterItem.FirstName));
            }

            if (filterItem.LastName != null)
            {
                personInRoleList = personInRoleList.Where(t => t.LastName.Contains(filterItem.LastName));
            }

            if (filterItem.PhoneNumber != null)
            {
                personInRoleList = personInRoleList.Where(t => t.PhoneNumber.Contains(filterItem.PhoneNumber));
            }

            if (filterItem.DietType != null)
            {
                personInRoleList = personInRoleList.Where(t => t.DietType.Contains(filterItem.DietType));
            }

            if (filterItem.Allergies != null)
            {
                personInRoleList = personInRoleList.Where(t => t.Allergies.Contains(filterItem.Allergies));
            }

            if (filterItem.RoleName != null)
            {
                personInRoleList = personInRoleList.Where(t => t.RoleName.Contains(filterItem.RoleName));
            }

            if (filterItem.Agreement != null)
            {
                personInRoleList = personInRoleList.Where(t => t.Agreement == filterItem.Agreement);
            }

            if (filterItem.Sex != null)
            {
                personInRoleList = personInRoleList.Where(t => t.Sex == filterItem.Sex);
            }

            if (filterItem.JacketSize != null)
            {
                personInRoleList = personInRoleList.Where(t => t.JacketSize == filterItem.JacketSize);
            }
            if (filterItem.T_Shirt_Size != null)
            {
                personInRoleList = personInRoleList.Where(t => t.T_Shirt_Size == filterItem.T_Shirt_Size);
            }

            return(personInRoleList.OrderBy(t => t.FirstName).Skip(index).Take(count).ToArray());
        }
Exemple #10
0
        public async Task <ActionResult> Edit(VmApprovalReject model)
        {
            var    result        = true;
            var    user          = UserManager.Users.FirstOrDefault(u => u.Id == model.UserId);
            string returnUrlLink = string.Empty;

            person = blPerson.GetPersonByUserId(model.UserId);


            //returnUrlLink = "/person/up/" + model.UserId;// Update Profile
            returnUrlLink = "";// Update Profile

            var callbackUrl = Url.Action("Login", "Account", new { returnUrl = returnUrlLink }, protocol: Request.Url.Scheme);

            var emailTitle = "29th WERC Environmental Design Contest 2019";

            var body = "<h2>" + emailTitle + "</h2>" +
                       "<br/>" +
                       "Dear " + person.FirstName + " " + person.LastName + ", " +
                       "<br/>" +
                       "<br/>" +
                       "<h4>" +
                       "Your 29th WERC Environmental Design Contest 2019 account approved by the WERC administrator. Please sign in to system by clicking " +
                       "<a href=\"" + callbackUrl + "\">here </a><span>or copy link below and paste in the browser: </span>" +
                       callbackUrl +
                       "</h4>" +
                       "<hr/>" +
                       "<span>User Name: </span>" + user.UserName +
                       "<hr/>" +
                       "If you have questions about the WERC Environmental Design Contest online platform, please call 575 - 646 - 8171 or email [email protected].";


            var subject = "2019 WERC Design Contest Account Approval";

            if (model.Approval == (int)Approval.Reject)
            {
                model.EmailConfirmed = false;
                model.LockoutEnabled = true;

                body = "<h1>" + emailTitle + "</h1>" +
                       "<br/>" +
                       "Dear " + person.FirstName + " " + person.LastName + ", " +
                       "<br/>" +
                       "<br/>" +
                       "<h2>Your account has been rejected by administrator." +
                       "<br/><br/><span>User Name: </span>" + user.UserName;
                subject = "Account Has Been Rejected";
            }
            else
            if (model.Approval == (int)Approval.Approve)
            {
                model.EmailConfirmed = true;
                model.LockoutEnabled = false;
            }
            else
            if (model.Approval == (int)Approval.Pending)
            {
                model.EmailConfirmed = false;
                model.LockoutEnabled = false;


                body = "<h1>" + emailTitle + "</h1>" +
                       "<br/>" +
                       "Dear " + person.FirstName + " " + person.LastName + ", " +
                       "<br/>" +
                       "<br/>" +
                       "<h2>Your Account has been Set to pending to Approval by Administrator." +
                       "<br/><br/><span>User Name: </span>" + user.UserName;

                subject = "Pending for Approval Account";
            }

            user.EmailConfirmed = model.EmailConfirmed;
            user.LockoutEnabled = model.LockoutEnabled;

            await UserManager.UpdateAsync(user);

            await UserManager.SendEmailAsync(user.Id, subject, body);

            emailHelper = new EmailHelper()
            {
                Subject    = subject,
                Body       = body,
                IsBodyHtml = true,
                EmailList  = new string[] { specialEmail }
            };

            emailHelper.Send();

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

            return(Json(jsonResult, JsonRequestBehavior.AllowGet));
        }
Exemple #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));
        }
Exemple #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));
        }