コード例 #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
        public Either <Error, DtoGridUser> GetGridRoleUsers(DtoGridQueryRoleUser gridQuery)
        {
            var dbQuery      = _appContext.UserRoles.AsQueryable();
            var optionFilter = gridQuery.Filter;

            optionFilter.Bind(filter => dbQuery = dbQuery.Where(userRole => userRole.Role.Id == filter.Id));

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

            return(Right <Error, DtoGridUser>(result));
        }