예제 #1
0
        /// <summary>
        /// Получить табличные данные пользователей.
        /// </summary>
        /// <param name="gridQuery"> Запрос на формирование табличных записей. </param>
        /// <returns> Возвращает монаду табличных записей пользователей. </returns>
        public Either <Error, DtoGridUser> GetGridUser(DtoGridQueryUser gridQuery)
        {
            var dbQuery      = _appContext.Users.AsQueryable();
            var optionFilter = gridQuery.Filter;

            optionFilter.Bind(filter => dbQuery = dbQuery.Where(user => user.DisplayName.Contains(filter.SearchName)));

            var rows   = dbQuery.Paginate(gridQuery.Pagination).Select(user => new DtoRowUser(user.Email, user.DisplayName, user.Id));
            var result = new DtoGridUser(rows, _appContext.Users.Count());

            return(Right <Error, DtoGridUser>(result));
        }
예제 #2
0
        /// <inheritdoc />
        public Either <Error, DtoGridUser> GetGridUser(DtoGridQueryUser gridQueryUser)
        {
            var result = _userService.GetGridUser(gridQueryUser);

            return(result);
        }