Example #1
0
        //
        // GET: Forum\LastActiverty
        public async Task <ActionResult> LastActiverty(int?page)
        {
            string    userId       = User.Identity.GetUserId();
            const int itemsPerPage = 20;
            ICollection <LastActuvityThreadsViewModel> model = new List <LastActuvityThreadsViewModel>();
            IEnumerable <Message> postedMessageOfUser        = (await ForumUserManager.FindByIdAsync(userId)).PostedMessages;


            // Getting each message That the user has posted and checking if the message is older than 3 monthes
            foreach (Message message in postedMessageOfUser.Where(m => m.TimeStamp > DateTime.Now.AddMonths(-3)))
            {
                model.Add(new LastActuvityThreadsViewModel
                {
                    TheadName      = message.Thread.Name,
                    DateOfActivery = message.TimeStamp,
                    GroupId        = message.Thread.Group.Id,
                    ThreadId       = message.Thread.Id
                });
            }

            // Ordering the models by date
            model = model.OrderBy(x => x.DateOfActivery).ToList();

            return(View(model.ToPagedList(page ?? 1, itemsPerPage)));
        }
        public ActionResult Index()
        {
            ForumUserManager fum = new ForumUserManager();

            ViewBag.UserList  = fum.GetAllUserList();
            ViewBag.isPartial = false;
            return(View());
        }
        public PartialViewResult SearchResult(string search)
        {
            ForumUserManager fum             = new ForumUserManager();
            List <ForumUser> matchedUserList = fum.SearchUserName(search);

            ViewBag.isPartial = true;
            return(PartialView("_SearchResult", matchedUserList));
        }
        public async Task <ActionResult> Index(RegisterViewModel model)
        {
            ForumUserManager fum = new ForumUserManager();

            var user = new ApplicationUser
            {
                UserName       = model.Email,
                Email          = model.Email,
                FirstName      = model.FirstName,
                LastName       = model.LastName,
                City           = model.City,
                State          = model.State,
                Birthday       = model.Birthday,
                CompanyName    = model.CompanyName,
                CompanyAddress = model.CompanyAddress,
                Gender         = model.Gender,
                CreationDate   = DateTime.Today.ToString(),
                Approved       = false
            };
            var result = await UserManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                using (var context = new ForumDbContext())
                {
                    var forumUser = new ForumUser
                    {
                        ProviderId      = user.Id,
                        FirstName       = model.FirstName,
                        LastName        = model.LastName,
                        EmailAddress    = model.Email,
                        Gender          = model.Gender,
                        City            = model.City,
                        State           = model.State,
                        Birthday        = model.Birthday,
                        CompanyName     = model.CompanyName,
                        CompanyAddress  = model.CompanyAddress,
                        Deleted         = false,
                        Active          = false,
                        UserFlag        = 0,
                        UseFullName     = false,
                        ExternalAccount = false
                    };
                    context.ForumUser.Add(forumUser);
                    context.SaveChanges();
                }
                new RegistService().SetMemberGroup(user.Id, (int)GROUPNAME.Guest);
                TempData["SuccessAddUser"] = "******";
            }
            else
            {
                TempData["FailToAddUser"] = "******";
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult DeleteUser(int id)
        {
            ForumUserManager fum = new ForumUserManager();

            //ForumUser user = fum.GetForumUser(id);
            //ApplicationUser au = UserManager.FindById(user.ProviderId);
            fum.DeleteUser(id);
            //UserManager.Delete(au);
            return(RedirectToAction("Index"));
        }
Example #6
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            ForumUserManager fum      = new ForumUserManager();
            ForumUser        tempUser = new ForumUser();
            bool             isUserDeleted;

            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            tempUser = fum.GetUserByEmail(model.Email);
            if (tempUser != null)
            {
                if (tempUser.Deleted)
                {
                    ModelState.AddModelError("", "Your account is deleted.");
                    return(View(model));
                }
                else
                {
                    // This doesn't count login failures towards account lockout
                    // To enable password failures to trigger account lockout, change to shouldLockout: true
                    var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

                    switch (result)
                    {
                    case SignInStatus.Success:
                        fum.UpdateLastLoginDate(model.Email);
                        fum.UpdateLastLoginIP(model.Email, Request.ServerVariables["REMOTE_ADDR"]);
                        return(RedirectToLocal(returnUrl));

                    case SignInStatus.LockedOut:
                        return(View("Lockout"));

                    case SignInStatus.RequiresVerification:
                        return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

                    case SignInStatus.Failure:
                    default:
                        ModelState.AddModelError("", "Invalid login attempt.");
                        return(View(model));
                    }
                }
            }
            else
            {
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }
Example #7
0
        //
        // GET: Forum\ForumProfile
        public async Task <ActionResult> ForumProfile(string userName)
        {
            ForumUser user = await ForumUserManager.FindByUserNameAsync(userName);

            ForumProfleViewModel model = new ForumProfleViewModel
            {
                UserName       = user.UserName,
                ProfilePicture = ProfilePictureSystem.GetProfilePicture(user.UserId),
                PostCount      = user.PostsCount,
                Reputation     = user.Reputation,
                BaseRole       = user.User.PrimaryRole
            };

            return(View(model));
        }
Example #8
0
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (_userManager != null)
         {
             _userManager.Dispose();
             _userManager = null;
         }
         if (_forumService != null)
         {
             _forumService.Dispose();
             _forumService = null;
         }
         if (_reputationSystem != null)
         {
             _reputationSystem.Dispose();
             _reputationSystem = null;
         }
         if (_forumUserManager != null)
         {
             _forumUserManager.Dispose();
             _forumUserManager = null;
         }
         if (_groupManager != null)
         {
             _groupManager.Dispose();
             _groupManager = null;
         }
         if (_messageManager != null)
         {
             _messageManager.Dispose();
             _messageManager = null;
         }
         if (_privateMessagingSystem != null)
         {
             _privateMessagingSystem.Dispose();
             _privateMessagingSystem = null;
         }
         if (_threadManager != null)
         {
             _threadManager.Dispose();
             _threadManager = null;
         }
     }
     base.Dispose(disposing);
 }
Example #9
0
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            bool isAuthorized = base.AuthorizeCore(httpContext);

            if (!isAuthorized)
            {
                return(false);
            }
            //string group = new ForumUserManager().GetUserGroup(HttpContext.Current.User.Identity.GetUserId());
            List <string> groupList = new ForumUserManager().GetUserGroupList(HttpContext.Current.User.Identity.GetUserId());

            if (groupList.Contains(GROUPNAME.Guest.ToString()) || groupList.Contains(GROUPNAME.Member.ToString()) || groupList.Contains(GROUPNAME.Administrator.ToString()))
            {
                return(true);
            }
            return(false);
        }
        public bool UpdateUser(ForumUser model)
        {
            ForumUserManager fum = new ForumUserManager();

            ApplicationUser user = this.UserManager.FindById(model.ProviderId);

            user.FirstName = model.FirstName;
            user.LastName  = model.LastName;

            var result = UserManager.Update(user);

            if (result.Succeeded)
            {
                fum.UpdateUser(model);
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public ActionResult Update(int id)
        {
            ForumUserManager   fum  = new ForumUserManager();
            GroupMemberService gms  = new GroupMemberService();
            ForumUser          user = fum.GetForumUser(id);
            //Add drop down list
            Dictionary <int, string> userGroupList = new UserGroupNameCollection().GetGroupNameDicList();
            List <SelectListItem>    dropDownList  = new List <SelectListItem>();

            dropDownList.Add(new SelectListItem {
                Text = "-- Select One--", Value = "0"
            });
            foreach (KeyValuePair <int, string> group in userGroupList)
            {
                dropDownList.Add(new SelectListItem {
                    Text = group.Value, Value = group.Key.ToString()
                });
            }

            ViewBag.UserGroupList = gms.GetUserGroup(id);
            ViewBag.groupList     = dropDownList;
            return(View(user));
        }
Example #12
0
        public async Task <ActionResult> UserProfile(string username)
        {
            // Get the user
            ForumUser forumUser = await ForumUserManager.FindByUserNameAsync(username);

            User user = forumUser.User;

            // Populate the model
            UserProfileViewModel model = new UserProfileViewModel()
            {
                UserName     = user.UserName,
                Reputation   = forumUser.Reputation,
                Postcount    = forumUser.PostsCount,
                Role         = user.PrimaryRole,
                LastActivity = forumUser.LastActivity,
                JoinDate     = forumUser.JoinDate,
                Country      = user.Country,
                Seniorty     = user.Seniority,
                Image        = ProfilePictureSystem.GetProfilePicture(user.Id),
            };

            return(View(model));
        }