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

            optionFilter.Bind(filter => dbQuery = dbQuery.Where(role => role.Name.Contains(filter.Name)));

            var rows   = dbQuery.Paginate(gridQuery.Pagination).Select(role => new DtoRowRole(role.Name, role.Id));
            var result = new DtoGridRole(rows, _appContext.Users.Count());

            return(Right <Error, DtoGridRole>(result));
        }
Example #2
0
        public Either <Error, DtoGridRole> GetGridPermissionRoles(DtoGridQueryPermissionRoles gridQuery)
        {
            var dbQuery      = _appContext.RolePermissions.AsQueryable();
            var optionFilter = gridQuery.Filter;

            optionFilter.Bind(filter => dbQuery = dbQuery.Where(permissionRole => permissionRole.Permission.Id == filter.Id));

            var rows = dbQuery.Paginate(gridQuery.Pagination).Select(permissionRole =>
                                                                     _appContext.Roles.Find(permissionRole.Role.Id)).Where(role => role != null).Select(role => new DtoRowRole(role.Name, role.Id));
            var result = new DtoGridRole(rows, _appContext.Roles.Count());

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