diff --git a/SessionCompanion/SessionCompanion.Services/Intefraces/ICharacterService.cs b/SessionCompanion/SessionCompanion.Services/Intefraces/ICharacterService.cs index 876ce7f..4f33dba 100644 --- a/SessionCompanion/SessionCompanion.Services/Intefraces/ICharacterService.cs +++ b/SessionCompanion/SessionCompanion.Services/Intefraces/ICharacterService.cs @@ -10,6 +10,7 @@ namespace SessionCompanion.Services.Interfaces { public interface ICharacterService : IServiceBase { + Task> GetBasicCharactersData(List charactersId); Task> GetUserLoginCharacters(int userId); } } diff --git a/SessionCompanion/SessionCompanion.Services/Services/CharacterService.cs b/SessionCompanion/SessionCompanion.Services/Services/CharacterService.cs index 28c96e8..a336d42 100644 --- a/SessionCompanion/SessionCompanion.Services/Services/CharacterService.cs +++ b/SessionCompanion/SessionCompanion.Services/Services/CharacterService.cs @@ -37,5 +37,19 @@ namespace SessionCompanion.Services.Services return result; } + /// + /// Funkcja zwraca podstawowy widok postaci na podstawie ich id + /// + /// Lista identyfikatorów postaci + /// Podstawowy widok podanych postaci + public async Task> GetBasicCharactersData(List charactersId) + { + var characters = await Repository.Get(c => charactersId.Contains(c.Id)) + .Include(x => x.Biography) + .Include(x => x.Statistics).ToListAsync(); + var result = Mapper.Map>(characters); + return result; + } + } } diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/sign-in/sign-in.component.ts b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/sign-in/sign-in.component.ts index 9961b76..1682af3 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/sign-in/sign-in.component.ts +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/sign-in/sign-in.component.ts @@ -35,7 +35,7 @@ export class SignInComponent implements OnDestroy { this.signInFormGroup.get('signIn').value['username'], this.signInFormGroup.get('signIn').value['password']).subscribe( (success) => { - this.router.navigate(['player']); + this.router.navigate(['select-character']); }, (error: ErrorResponse | HttpErrorResponse) => { if (error instanceof HttpErrorResponse) { diff --git a/SessionCompanion/SessionCompanion/Controllers/CharacterController.cs b/SessionCompanion/SessionCompanion/Controllers/CharacterController.cs index cb6e42e..d35eb6f 100644 --- a/SessionCompanion/SessionCompanion/Controllers/CharacterController.cs +++ b/SessionCompanion/SessionCompanion/Controllers/CharacterController.cs @@ -7,6 +7,7 @@ using SessionCompanion.ViewModels.CharacterViewModels; namespace SessionCompanion.Controllers { + using SessionCompanion.Hubs; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; @@ -16,10 +17,12 @@ namespace SessionCompanion.Controllers public class CharacterController : Controller { private readonly ICharacterService _service; + private readonly SessionHubData _sessionHubData; public CharacterController(ICharacterService service) { this._service = service; + this._sessionHubData = new SessionHubData(); } /// @@ -44,7 +47,7 @@ namespace SessionCompanion.Controllers /// Metoda zwraca listę postaci przypisanych do danego użytkownika /// /// Identyfikator użytkownika - /// Lista postać lub wiadomość błędu + /// Lista postaci lub wiadomość błędu [HttpGet("userCharactersList")] public async Task, ErrorResponse>> GetCharacterListForUser([Required] int userId) { @@ -61,5 +64,17 @@ namespace SessionCompanion.Controllers Message = "No characters with given user id" }; } + /// + /// Metoda zwraca listę postaci przypisanych do danego użytkownika + /// + /// Lista zalogowanych postaci lub wiadomość błędu + [HttpGet("loggedCharacters")] + public async Task, ErrorResponse>> GetLoggedUsersCharacters() + { + var connectedCharacters = _sessionHubData.ConnectedCharacters_Prop; + var characters = await _service.GetBasicCharactersData(connectedCharacters.Values.ToList()); + + return characters.ToList(); + } } } \ No newline at end of file diff --git a/SessionCompanion/SessionCompanion/Hubs/SessionHubData.cs b/SessionCompanion/SessionCompanion/Hubs/SessionHubData.cs index d370d20..c92bfaa 100644 --- a/SessionCompanion/SessionCompanion/Hubs/SessionHubData.cs +++ b/SessionCompanion/SessionCompanion/Hubs/SessionHubData.cs @@ -34,7 +34,7 @@ namespace SessionCompanion.Hubs } /// - /// Zwraca lub ustawia listę zalogowanych graczy + /// Zwraca lub ustawia listę zalogowanych postaci /// public Dictionary ConnectedCharacters_Prop { diff --git a/SessionCompanion/SessionCompanion/Properties/launchSettings.json b/SessionCompanion/SessionCompanion/Properties/launchSettings.json index bb3389e..b03ba01 100644 --- a/SessionCompanion/SessionCompanion/Properties/launchSettings.json +++ b/SessionCompanion/SessionCompanion/Properties/launchSettings.json @@ -1,4 +1,4 @@ -{ +{ "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, @@ -18,10 +18,10 @@ "SessionCompanion": { "commandName": "Project", "launchBrowser": true, - "applicationUrl": "https://localhost:5001;http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" - } + }, + "applicationUrl": "https://localhost:5001;http://localhost:5000" } } -} +} \ No newline at end of file diff --git a/SessionCompanion/SessionCompanion/SessionCompanion.xml b/SessionCompanion/SessionCompanion/SessionCompanion.xml index 507803a..46effbd 100644 --- a/SessionCompanion/SessionCompanion/SessionCompanion.xml +++ b/SessionCompanion/SessionCompanion/SessionCompanion.xml @@ -16,7 +16,13 @@ Metoda zwraca listę postaci przypisanych do danego użytkownika Identyfikator użytkownika - Lista postać lub wiadomość błędu + Lista postaci lub wiadomość błędu + + + + Metoda zwraca listę postaci przypisanych do danego użytkownika + + Lista zalogowanych postaci lub wiadomość błędu @@ -88,7 +94,7 @@ - Zwraca lub ustawia listę zalogowanych graczy + Zwraca lub ustawia listę zalogowanych postaci