Пример #1
0
        public async Task <IActionResult> AddItem([FromBody] ItemsManagementDto item)
        {
            //nieuwzglenianie case sensitivity
            item.ItemName = item.ItemName.ToLower();

            // sprawdzenie czy taki przedmiot juz istnieje
            if (await _repo.ValidateItemName(item.ItemName))
            {
                return(BadRequest("Taka nazwa przedmiotu już istnieje"));
            }

            // dodanie itemu
            var itemToCreate = new Items
            {
                ItemName   = item.ItemName,
                MinHeroLvl = item.MinHeroLvl,
                GameId     = item.GameId
            };

            var createdItem = await _repo.CreateItem(itemToCreate);


            // dodanie statystyk przedmiotu
            var itemStats = new ItemStats
            {
                ItemId                             = itemToCreate.Id,
                AdditionalHp                       = item.AdditionalHp,
                AdditionalDmg                      = item.AdditionalDmg,
                Price                              = item.Price,
                AdditionalLifeSteal                = item.AdditionalLifeSteal,
                AdditionalAp                       = item.AdditionalAp,
                AdditionalManaRegen                = item.AdditionalManaRegen,
                AdditionalPotionPower              = item.AdditionalPotionPower,
                AdditionalHitPointsPerHit          = item.AdditionalHitPointsPerHit,
                AdditionalGoldPerTenSec            = item.AdditionalGoldPerTenSec,
                AdditionalBasicManaRegenPercentage = item.AdditionalBasicManaRegenPercentage,
                AdditionalBasicHpRegenPercentage   = item.AdditionalBasicHpRegenPercentage,
                AdditionalArmour                   = item.AdditionalArmour,
                AdditionalMana                     = item.AdditionalMana,
                AdditionalMagicResist              = item.AdditionalMagicResist,
                AdditionalCooldownReduction        = item.AdditionalCooldownReduction,
                AdditionalAttackSpeed              = item.AdditionalAttackSpeed,
                AdditionalMovementSpeed            = item.AdditionalMovementSpeed,
                AdditionalCriticalChance           = item.AdditionalCriticalChance,
                Descriptions                       = item.Descriptions
            };


            var createdItemStats = await _repo.CreateItemStats(itemStats);

            return(StatusCode(201));
        }