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);
        }