示例#1
0
        public IEnumerable <ViewPersonInRole> Select(string[] roleNames, VmApprovalReject filterItem, int index, int count)
        {
            var personInRoleList = from person in Context.ViewPersonInRoles
                                   where roleNames.Contains(person.RoleName)
                                   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.Name != null)
            {
                personInRoleList = personInRoleList.Where(t => t.FirstName.Contains(filterItem.Name));
            }

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

            return(personInRoleList.OrderBy(t => t.FirstName).Skip(index).Take(count).ToArray());
        }
示例#2
0
        public JsonResult GetJudgePersonMembersByFilter(VmApprovalReject filterItem = null)
        {
            var blPerson             = new BLPerson();
            var vmApprovalRejectList = blPerson.GetUsersByFilterAndRoleNames(
                new string[] {
                SystemRoles.Judge.ToString(),
            },
                filterItem);

            return(Json(vmApprovalRejectList, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public IEnumerable <VmApprovalReject> GetUsersByFilterAndRoleNames(string[] roleNames, VmApprovalReject filterItem = null)
        {
            var viewPersonInRoleRepository = UnitOfWork.GetRepository <ViewPersonInRoleRepository>();

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

            var vmApprovalRejectList = from user in usersList
                                       select new VmApprovalReject
            {
                UserId            = user.UserId,
                Sex               = user.Sex,
                University        = user.University,
                FirstName         = user.FirstName,
                LastName          = user.LastName,
                Name              = user.Name,
                RoleName          = user.RoleName,
                Email             = user.Email,
                EmailConfirmed    = user.EmailConfirmed,
                PhoneNumber       = user.PhoneNumber,
                UserName          = user.UserName,
                LockoutEnabled    = user.LockoutEnabled,
                ProfilePictureUrl = user.ProfilePictureUrl,
                Approval          = (user.EmailConfirmed == false && user.LockoutEnabled == false) ? (int)Approval.Pending
                                           : (user.EmailConfirmed == false && user.LockoutEnabled == true) ? 2 : 1,

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

            return(vmApprovalRejectList.OrderBy(p => p.Approval));
        }
示例#4
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));
        }