public async Task AddToGroup(AddUserToGroupRequest request) { if (request.UserIds == null) { request.UserIds = new List <string>(); } FilterDefinition <ClientGroup> builder = Builders <ClientGroup> .Filter.Eq("name", request.GroupName); ClientGroup clientGroup = await clientGroupRepository.FindAsync(builder); if (clientGroup != null) { foreach (string userId in request.UserIds) { string _userId = clientGroup.UserIds.FirstOrDefault(x => x == userId); if (string.IsNullOrEmpty(_userId)) { clientGroup.UserIds.Add(userId); } } await clientGroupRepository.UpdateAsync(clientGroup, clientGroup.Id); } else { ClientGroup group = new ClientGroup() { Name = request.GroupName, GroupType = request.Type }; group.UserIds.AddRange(request.UserIds.Distinct()); await clientGroupRepository.AddAsync(group); } ; }
public async Task <ClientGroup> EditClientGroupAsync(ClientGroup clientGroup) { var editClientGroup = await _clientGroupRepository.UpdateAsync(clientGroup); return(editClientGroup); }