示例#1
0
 //[MultipleButton(Name = "action", Argument = "List")]
 public ActionResult List(MultimediaObjectListViewModelFilter model)
 {
     // Zapamietaj filtry
     if (Session != null)
     {
         Session[FilterSettingsKey.MultimediaObjectsControllerFilterList.ToString()] = model;
         PageSettings.RemoveFromSession(PageSettingsKey.MultimediaObjectsPageSettings);
     }
     return(Json(true));           // RedirectToAction("Index");
 }
示例#2
0
        /// <summary>
        /// Customowe filtrowanie
        /// </summary>
        /// <typeparam name="T">Typ filtru</typeparam>
        /// <typeparam name="Q">Typ obiektów w Query</typeparam>
        /// <param name="query">Zbiór encji</param>
        /// <param name="filter">filtr</param>
        /// <returns></returns>
        protected override T FilterSettingsVirtual <T, Q>(ref IQueryable <Q> _query, T _filter)
        {
            var     query   = (IQueryable <MultimediaObject>)_query;
            dynamic filter1 = _filter;
            MultimediaObjectListViewModelFilter filter = filter1;

            query = query.Where(q => UserRole == "Admin" || q.UserId == UserId);

            if (filter != null)
            {
                if (!string.IsNullOrEmpty(filter.FilterName))
                {
                    query = query.Where(q => q.Name.ToLower().Contains(filter.FilterName.ToLower()));
                }

                if (!string.IsNullOrEmpty(filter.FilterFileName))
                {
                    query = query.Where(q => q.FileName.ToLower().Contains(filter.FilterFileName.ToLower()));
                }

                if (!string.IsNullOrEmpty(filter.FilterMime))
                {
                    query = query.Where(q => q.MimeType.ToLower().Contains(filter.FilterMime.ToLower()));
                }

                if (!string.IsNullOrEmpty(filter.FilterType))
                {
                    query = query.Where(q => q.Type.Name.ToLower().Contains(filter.FilterType.ToLower()));
                }

                if (!string.IsNullOrEmpty(filter.FilterLogin))
                {
                    query = query.Where(q => q.User.Name.ToLower().Contains(filter.FilterLogin.ToLower()));
                }
            }
            _query  = (IQueryable <Q>)query;
            filter1 = filter;
            return((T)filter1);
        }