From 6ca10bd803d7f32549ce5dc2c6a5ceffdc3240fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20G=C3=B3rzy=C5=84ski?= Date: Mon, 4 Jan 2021 00:58:31 +0100 Subject: [PATCH] SES-118 Addes services --- .../Intefraces/ICharacterService.cs | 3 +- .../Services/CharacterService.cs | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/SessionCompanion/SessionCompanion.Services/Intefraces/ICharacterService.cs b/SessionCompanion/SessionCompanion.Services/Intefraces/ICharacterService.cs index 63c2ad5..3c8c5b7 100644 --- a/SessionCompanion/SessionCompanion.Services/Intefraces/ICharacterService.cs +++ b/SessionCompanion/SessionCompanion.Services/Intefraces/ICharacterService.cs @@ -1,6 +1,7 @@ using SessionCompanion.Database.Tables; using SessionCompanion.Services.Base; using SessionCompanion.ViewModels.CharacterViewModels; +using SessionCompanion.ViewModels.UniversalModels; using System; using System.Collections.Generic; using System.Text; @@ -12,6 +13,6 @@ namespace SessionCompanion.Services.Interfaces { Task> GetBasicCharactersData(List charactersId); Task> GetUserLoginCharacters(int userId); - Task GetCharacterEveryStat(int characterId); + Task> GetCharacterStatistics(int characterId); } } diff --git a/SessionCompanion/SessionCompanion.Services/Services/CharacterService.cs b/SessionCompanion/SessionCompanion.Services/Services/CharacterService.cs index 9177415..b36f4fa 100644 --- a/SessionCompanion/SessionCompanion.Services/Services/CharacterService.cs +++ b/SessionCompanion/SessionCompanion.Services/Services/CharacterService.cs @@ -14,6 +14,8 @@ using Microsoft.EntityFrameworkCore; using AutoMapper.QueryableExtensions; using System.IO; using Newtonsoft.Json.Linq; +using SessionCompanion.ViewModels.UniversalModels; +using SessionCompanion.Services.Helpers; namespace SessionCompanion.Services.Services { @@ -68,5 +70,31 @@ namespace SessionCompanion.Services.Services var result = Mapper.Map(character); return result; } + /// + /// Funkcja zwraca listę, zawierającą statystyki danej postaci + /// + /// + /// lista zawierającą statystyki danej postaci + public async Task> GetCharacterStatistics(int characterId) + { + List statistics = new List(); + var character = await Repository.Get(c => c.Id.Equals(characterId)) + .Include(x => x.Intelligence) + .Include(x => x.Strength) + .Include(x => x.Wisdom) + .Include(x => x.Charisma) + .Include(x => x.Constitution) + .Include(x => x.Dexterity) + .SingleAsync(); + + statistics.Add(CustomMappings.MapCharisma(character.Charisma)); + statistics.Add(CustomMappings.MapDexterity(character.Dexterity)); + statistics.Add(CustomMappings.MapConstitution(character.Constitution)); + statistics.Add(CustomMappings.MapIntelligence(character.Intelligence)); + statistics.Add(CustomMappings.MapStrength(character.Strength)); + statistics.Add(CustomMappings.MapWisdom(character.Wisdom)); + + return statistics; + } } }