public async Task <IEnumerable <TodoListDto> > LoadTodoListsAsync(Guid tenantId) { return(await _db.Query <TodoList>().Select(x => new TodoListDto { Id = x.Id, Description = x.Description, Title = x.Title }).ToListAsync()); }
public async Task <IdentityResult> CreateAsync(TUser user, Guid tenantId) { var tenant = _db.Query <Dal.Models.Tenant>().FirstOrDefault(x => x.Id == tenantId); if (tenant == null) { throw new ArgumentException("Tenant does not exist", nameof(tenantId)); } var identityResult = await base.CreateAsync(user); if (!identityResult.Succeeded) { return(identityResult); } await AssignUserToTenant(user, tenantId); return(identityResult); }
/// <summary> /// Add tenant claim as GroupSid /// </summary> public override async Task <ClaimsPrincipal> CreateAsync(User user) { var tenantId = _db.Query <TenantUser>().Where(x => x.UserId == user.Id).Select(x => x.TenantId).FirstOrDefault(); if (tenantId == null) { throw new InvalidOperationException("Cannot find tenant and thus cannot add tenant claim."); } var principal = await base.CreateAsync(user); ((ClaimsIdentity)principal.Identity).AddClaim(new Claim(ClaimTypes.GroupSid, tenantId.ToString())); return(principal); }