public CmsPluginLoginUserViewModel LoginUserViewModelBind(string username)
        {
            var viewModel = new CmsPluginLoginUserViewModel();
            User user = this.userService.GetByUsername(username);

            Mapper.CreateMap<User, CmsPluginLoginUserViewModel>();
            Mapper.Map(user, viewModel);

            //// TODO: [RP] [06052013] Ensure this is correctly populated via the DB

            viewModel.CreatedBy = "Admin";
            viewModel.DateCreated = DateTime.Today.AddDays(-30);
            viewModel.JobTitle = "Super Developer";

            IEnumerable<Roles> roles = this.roleService.GetAll();
            IEnumerable<UserRole> userRoles = this.userRolesService.GetMany(ur => ur.UserId == user.UserId);

            var userRolesDescriptions = from r in roles
                                        join ur in userRoles on r.RoleId equals ur.RoleId
                                        select new { ur.RoleId, r.Name };

            foreach (var userRolesDescription in userRolesDescriptions)
            {
                viewModel.UserRoles.Add(userRolesDescription.Name);
            }

            return viewModel;
        }
        public ActionResult LoginUser()
        {
            var viewModel = new CmsPluginLoginUserViewModel();

            try
            {
                CmsPluginServiceBinder modelBinder = this.GetServiceBinder();
                viewModel = modelBinder.LoginUserViewModelBind(User.Identity.Name);
            }
            catch (Exception ex)
            {
                this.LoggingService.Log(ex.Message);
            }

            return this.PartialView(viewModel);
        }