Работа с группами
В этой статье рассмотрен процесс создания новой группы, добавление пользователя в группу и получение списка пользователей группы.
Приступая к работе
Вам понадобятся следующие инструменты и возможности:
Знания по использованию API key в FastReport Corporate Server.
В этой статье будет пропущена дополнительная информация по аутентификации и авторизации.
Редактор C# кода или текстовый редактор, например Visual Studio Code.
Активная подписка для FastReport.Cloud, в которой есть два слота для пользователя.
Доступ в интернет.
Обратите внимание! Это руководство рассчитано, что вы уже знаете, как разработать своё приложение на языке программирования C#.
Обратите внимание! Пункты выше описывают рекомендуемые инструменты.
Замечание
Обратите внимание! Добавить пользователя в группу возможно только если пользовать существует в подписке.
Обратите внимание! Добавить пользователя в группу возможно только по его идентификатору.
Инструкция
Для создания новой группы необходим идентификатор подписки и название новой группы.
Для получения идентификатора подписки воспользуйтесь методом <xref:FastReport.Cloud.ISubscriptionsClient.GetSubscriptionsAsync(System.Nullable{System.Int32},System.Nullable{System.Int32})>.
public async Task<string> GetSubscriptionId(HttpClient httpClient) { ISubscriptionsClient subscriptionsClient = new SubscriptionsClient(httpClient); SubscriptionsVM subscriptions = await subscriptionsClient.GetSubscriptionsAsync(0, 10); SubscriptionVM subscription = subscriptions.Subscriptions.First(); return subscription.Id; }
В этом примере функция запрашивает первые 10 подписок из список подписок пользователя, выбирает первую подписку и возвращает её идентификатор.
Для создания новой группы воспользуйтесь методом <xref:FastReport.Cloud.IGroupsClient.CreateGroupAsync(FastReport.Cloud.CreateGroupVM)>.
public async Task<string> CreateGroup(HttpClient httpClient, string subscriptionId, string groupName) { IGroupsClient groupsClient = new GroupsClient(httpClient); CreateGroupVM viewModel = new CreateGroupVM() { Name = groupName, SubscriptionId = subscriptionId }; GroupVM group = await groupsClient.CreateGroupAsync(viewModel); return group.Id; }
В этом примере функция создаёт новую группу с именем группы
groupName
для подписки с идентификаторомsubscriptionId
, в результате функция вернёт идентификатор созданной группы.Для добавления нового пользователя в группу сделайте воспользуйтесь методом <xref:FastReport.Cloud.IGroupUsersClient.AddUserToGroupAsync(System.String,System.String)>.
public async Task AddUser(HttpClient httpClient, string groupId, string userId) { IGroupUsersClient groupUsersClient = new GroupUsersClient(httpClient); await groupUsersClient.AddUserToGroupAsync(groupId, userId); }
В этом примере функция добавляет пользователя с идентификатором
userId
в группу с идентификаторомgroupId
.Для получения списка пользователей в группе воспользуйтесь методом <xref:FastReport.Cloud.IGroupUsersClient.GetUsersInGroupAsync(System.String,System.Nullable{System.Int32},System.Nullable{System.Int32})>.
public async Task<IEnumerable<string>> GetUsers(HttpClient httpClient, string groupId) { IGroupUsersClient groupUsersClient = new GroupUsersClient(httpClient); GroupUsersVM users = await groupUsersClient.GetUsersInGroupAsync(groupId, 0, 10); return users.Users.Select(m => m.UserId); }
В этом примере функция запрашивает первые 10 пользователей из группы с идентификатором
groupId
.