예제 #1
0
        public ActionResult Login(LoginVM login)
        {
            if (ModelState.IsValid)
            {
                var user = Services.UserService.GetUserByEmail(login.LoginEmail);

                if (user != null)
                {
                    if (user.IsDeleted)
                    {
                        ModelState.AddModelError(String.Empty, "Unfortunately, this account is no longer active");
                        return(View(login));
                    }
                }
                if (user != null)
                {
                    var pwdManager      = new PasswordManager();
                    var passwordMatched = pwdManager.IsPasswordMatch(login.Password, user.PasswordSalt, user.PasswordHash);

                    if (passwordMatched == true)
                    {
                        var sessionInfo = new SessionUser()
                        {
                            UserID             = user.UserID,
                            FirstName          = user.FirstName,
                            LastName           = user.LastName,
                            LoginEmail         = user.LoginEmail,
                            IsAdmin            = user.Roles.Any(u => u.Title == "Administrator"),
                            Title              = EnumHelp.GetDescription(user.Title),
                            Rank               = EnumHelp.GetDescription(user.Rank),
                            CurrentInstitution = user.CurrentInsitution
                        };
                        Session.CurrentUser = sessionInfo;
                        FormsAuthentication.SetAuthCookie(user.LoginEmail, false);
                        return(RedirectToAction("Index", "Home"));
                    }
                }
                ModelState.AddModelError(String.Empty, "The email or password provided are not correct");
            }
            return(View(login));
        }
예제 #2
0
        public ActionResult ViewMembers()
        {
            var members = new MembersVM()
            {
                Members = Services.UserService.GetMembers()
                          .Where(i => i.IsDeleted == false)
                          .Select(i => new MemberVM()
                {
                    UserID    = i.UserID,
                    FirstName = i.FirstName,
                    LastName  = i.LastName,
                    Title     = EnumHelp.GetDescription(i.Title),
                    Rank      = EnumHelp.GetDescription(i.Rank),
                    ImageID   = i.ImageID
                })
                          .ToList(),

                FormerMembers = Services.UserService.GetFormerMembers()
                                .Select(i => new MemberVM()
                {
                    UserID    = i.UserID,
                    FirstName = i.FirstName,
                    LastName  = i.LastName,
                    Title     = EnumHelp.GetDescription(i.Title),
                    ImageID   = i.ImageID
                }).ToList(),

                Collaborators = Services.UserService.GetCollaborators()
                                .Select(i => new CollaboratorVM()
                {
                    CollaboratorID = i.CollaboratorID,
                    FirstName      = i.FirstName,
                    LastName       = i.LastName,
                    Title          = EnumHelp.GetDescription(i.Title),
                    ImageID        = i.ImageID,
                    Institution    = i.Institution
                }).ToList()
            };

            return(View(members));
        }
예제 #3
0
        public ActionResult Dashboard()
        {
            var model = new DashboardVM()
            {
                Members = Services.UserService.GetMembers()
                          .Select(i => new MemberVM()
                {
                    UserID    = i.UserID,
                    FirstName = i.FirstName,
                    LastName  = i.LastName,
                    Title     = EnumHelp.GetDescription(i.Title),
                    Rank      = EnumHelp.GetDescription(i.Rank),
                    ImageID   = i.ImageID
                })
                          .ToList(),

                Formers = Services.UserService.GetFormerMembers()
                          .Select(i => new MemberVM()
                {
                    UserID    = i.UserID,
                    FirstName = i.FirstName,
                    LastName  = i.LastName,
                    Title     = EnumHelp.GetDescription(i.Title),
                    ImageID   = i.ImageID
                }).ToList(),

                Collaborators = Services.UserService.GetCollaborators()
                                .Select(i => new CollaboratorVM()
                {
                    CollaboratorID = i.CollaboratorID,
                    FirstName      = i.FirstName,
                    LastName       = i.LastName,
                    Title          = i.Title,
                    ImageID        = i.ImageID,
                    Institution    = i.Institution
                }).ToList()
            };

            return(View(model));
        }
예제 #4
0
        public ActionResult Edit(UserInfoVM user)
        {
            if (ModelState.IsValid)
            {
                var userToUpdate = new User()
                {
                    UserID            = user.UserID,
                    FirstName         = user.FirstName,
                    LastName          = user.LastName,
                    Birthday          = user.Birthday,
                    Gender            = user.Gender,
                    Nationality       = user.Nationality,
                    InterestAreas     = user.InterestAreas,
                    ContactEmail      = user.ContactEmail,
                    CurrentInsitution = user.CurrentInsitution
                };
                if (user.Title != null)
                {
                    userToUpdate.Title = user.Title.ToString();
                }
                if (user.Rank != null)
                {
                    userToUpdate.Rank = user.Rank.ToString();
                }
                Services.UserService.UpdateUserInformation(userToUpdate);
                if (Session.CurrentUser.UserID == user.UserID)
                {
                    Session.CurrentUser.FirstName = userToUpdate.FirstName;
                    Session.CurrentUser.LastName  = userToUpdate.LastName;
                    Session.CurrentUser.Rank      = EnumHelp.GetDescription(userToUpdate.Rank);
                }
                return(RedirectToAction("Edit"));
            }

            return(View(user));
        }