/// <summary> /// Инициализация фильтров пользователя. /// </summary> /// <param name="token">Токен безопасности.</param> /// <param name="filters">Фильтры.</param> protected override void InitializeCustomFilters(SecurityToken token, IList <UserGridFilter> filters) { //TODO:Настроить фильтр //filters.Add(CustomTodayFilter); var filter = new UserGridFilter(); filter.Title = "Мои задачи"; filter.FilterData = "[StatusKind]!=5"; var fieldName = string.Empty; if (token.User.ProjectRoleID == ProjectRoleSet.Engineer.ProjectRoleID) { fieldName = "EngineerID"; } else if (token.User.ProjectRoleID == ProjectRoleSet.Manager.ProjectRoleID) { fieldName = "ManagerID"; } if (!string.IsNullOrWhiteSpace(fieldName)) { filter.FilterData += string.Format(" && [{0}] ='{1}'", fieldName, token.User.UserID); } filter.UserGridFilterID = new Guid("25B04D3E-7AC2-400D-B999-2269FC0BA35B"); filters.Add(filter); }
public ActionResult GetFilter(Guid?userFilterId) { try { var token = GetToken(); var filter = RemontinkaServer.Instance.EntitiesFacade.GetUserGridFilter(token, userFilterId); if (filter == null) { var list = new List <UserGridFilter>(); InitializeCustomFilters(token, list); filter = list.FirstOrDefault(i => i.UserGridFilterID == userFilterId); } if (filter == null) { _logger.ErrorFormat("При получении фильтра по ID {0} для грида {1} пользователем {2},фильтр не найден", userFilterId, GetGridName(), token.LoginName); filter = new UserGridFilter(); filter.FilterData = string.Empty; } return(JCrudData(filter.FilterData)); } catch (Exception ex) { var innerException = string.Empty; if (ex.InnerException != null) { innerException = ex.InnerException.Message; } //if _logger.ErrorFormat("Во время получения фильтра для грида {0} {1} произошла ошибка {2} {3} {4} {5}", GetType().Name, userFilterId, ex.Message, ex.GetType(), innerException, ex.StackTrace); return(JCrudError("Ошибка получения данных по фильтру")); } }
public ActionResult SaveCurrentFilter(string filterData, string filterName) { try { var token = GetToken(); _logger.InfoFormat("Поступил запрос на сохранение фильтра для грида {0} {1} от пользователя {2}", GetGridName(), filterName, token.LoginName); if (string.IsNullOrWhiteSpace(filterName)) { _logger.ErrorFormat("При сохранении фильтра произошла ошибка: не задано имя фильтра {0},{1} ", token.LoginName, filterData); return(JCrudError("Не задано имя фильтра")); } if (string.IsNullOrWhiteSpace(filterData)) { _logger.ErrorFormat("При сохранении фильтра произошла ошибка: фильтр пустой {0},{1} ", token.LoginName, filterName); return(JCrudError("Фильтр пустой")); } var filter = new UserGridFilter(); filter.UserID = token.User.UserID; filter.Title = filterName; filter.FilterData = filterData; filter.GridName = GetGridName(); RemontinkaServer.Instance.EntitiesFacade.SaveUserGridFilter(token, filter); return(JCrud(new JCrudResult { ResultState = CrudResultKind.Success })); } catch (Exception ex) { var innerException = string.Empty; if (ex.InnerException != null) { innerException = ex.InnerException.Message; } //if _logger.ErrorFormat("Во время сохранения фильтра для грида {0} {1} произошла ошибка {2} {3} {4} {5}", filterData, GetGridName(), ex.Message, ex.GetType(), innerException, ex.StackTrace); return(JCrudError(ex.Message)); } }