public PartialViewResult ShowFiles(int id = 1)
 {
     var userId = User.Identity.GetUserId();
     var modelCreator = new FileModelCreator(userId, ITEMS_ON_PAGE, RANGE, id);
     var model = modelCreator.GetModel();
     return PartialView("_MyFiles", model);
 }
        public FileViewModel Search()
        {
            var result = new List<File>();
            var modelCreator = new FileModelCreator(ITEMS_ON_PAGE, RANGE);

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

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

            if (Model.Category != null)
            {
                result = SearchFileInCategoriesByParam(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 = SearchFileByParamDate(param1, param2, result);
                if (result.Count == 0)
                    return modelCreator.GetModelFromSearch(result);
            }

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

            return modelCreator.GetModelFromSearch(result); ;
        }