update character
This commit is contained in:
@@ -11,9 +11,11 @@ public interface ICharacterPersistenceService
|
||||
{
|
||||
public Task<Guid> StoreNewCharacter(V1Karakter karakter, bool isPublic = false);
|
||||
|
||||
public Task<V1Karakter?> GetCharacterById(Guid id);
|
||||
public Task<V1Karakter?> GetCharacterById(Guid id, bool tracking = false);
|
||||
|
||||
public Task<List<CharacterListItemDto>> GetAllCharactersOfUser();
|
||||
|
||||
public Task UpdateCharacter(V1Karakter karakter, bool isPublic = false);
|
||||
}
|
||||
|
||||
public class CharacterPersistenceService(
|
||||
@@ -33,12 +35,15 @@ public class CharacterPersistenceService(
|
||||
return karakter.Id;
|
||||
}
|
||||
|
||||
public async Task<V1Karakter?> GetCharacterById(Guid id)
|
||||
public async Task<V1Karakter?> GetCharacterById(Guid id, bool tracking = false)
|
||||
{
|
||||
var entity = await dbContext.Karakterek
|
||||
.Include(x => x.KarakterKepzettsegek)
|
||||
IQueryable<V1Karakter> queriable = dbContext.Karakterek.Include(x => x.KarakterKepzettsegek)
|
||||
.Include(x => x.Szintlepesek)
|
||||
.Include(x => x.Felszereles)
|
||||
.Include(x => x.Felszereles);
|
||||
|
||||
queriable = tracking ? queriable.AsTracking() : queriable.AsNoTracking();
|
||||
|
||||
var entity = await queriable
|
||||
.FirstOrDefaultAsync(x => x.Id == id);
|
||||
|
||||
if (entity?.OwnerUserId is null || entity.IsPublic)
|
||||
@@ -72,4 +77,11 @@ public class CharacterPersistenceService(
|
||||
|
||||
return characters;
|
||||
}
|
||||
|
||||
public async Task UpdateCharacter(V1Karakter karakter, bool isPublic = false)
|
||||
{
|
||||
karakter.IsPublic = isPublic;
|
||||
dbContext.Karakterek.Attach(karakter);
|
||||
await dbContext.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user