public ActionResult ShowUsers(int id = 1, bool active = true)
 {
     var modelCreator = new UserModelCreator(ITEMS_ON_PAGE, RANGE, id);
     var model = modelCreator.GetModel(null, active);
     ViewBag.IsActive = active;
     return PartialView("_ShowUsers", model);
 }
        public ActionResult OtherUsers(int id = 1)
        {
            var modelCreator = new UserModelCreator(ITEMS_ON_PAGE, RANGE, id);
            var model = modelCreator.GetModel(User.Identity.GetUserId());

            return PartialView("OtherUsers/_OtherUsers", model);
        }
 public ActionResult Restore(string userId, int id = 1)
 {
     using (var db = new ApplicationDbContext())
     {
         var user = db.Users.Single(x => x.Id == userId);
         user.IsActive = true;
         db.Entry(user).State = EntityState.Modified;
         db.SaveChanges();
     }
     ViewBag.IsActive = false;
     var modelCreator = new UserModelCreator(ITEMS_ON_PAGE, RANGE, id);
     var model = modelCreator.GetModel(null, false);
     return PartialView("_ShowUsers", model);
 }
        public UserViewModel Search()
        {
            var result = new List<ApplicationUser>();
            var modelCreator = new UserModelCreator(ITEMS_ON_PAGE, RANGE);

            if (Model.UserName != null)
            {
                result = SearchUserInUsersByParam(Model.UserName.ToLower(), result);
                if(result.Count == 0)
                    return modelCreator.GetModelFromSearch(result);
            }

            if (Model.DocumentName != null)
            {
                result = SearchUserInFilesByParam(Model.DocumentName.ToLower(), result);
                if (result.Count == 0)
                    return modelCreator.GetModelFromSearch(result);
            }

            if (Model.Category != null)
            {
                result = SearchUserInCategoriesByParam(Model.Category.ToLower(), result);
                if (result.Count == 0)
                    return modelCreator.GetModelFromSearch(result);
            }

            if (Model.From != null || Model.To != null)
            {
                var param1 = Model.From == null ? DateTime.MinValue : Convert.ToDateTime(Model.From);

                var param2 = Model.To == null ? DateTime.MaxValue : Convert.ToDateTime(Model.To);

                result = SearchUserInByParamDate(param1, param2, result);
                if (result.Count == 0)
                    return modelCreator.GetModelFromSearch(result);
            }

            result = result.Where(x => x.Id != UserId).ToList();

            return modelCreator.GetModelFromSearch(result);
        }