Esempio n. 1
0
        public async Task UpdateAsync(ModifyGameDto gameDto)
        {
            if (gameDto == null)
            {
                throw new InvalidServiceOperationException("Is null game dto");
            }

            var exist = await _gameDecorator.AnyAsync(g => g.Id == gameDto.Id);

            if (!exist)
            {
                throw new EntityNotFoundException <GameRoot>(gameDto.Id);
            }

            if (string.IsNullOrWhiteSpace(gameDto.Key))
            {
                var gameName = gameDto.Localizations
                               .FirstOrDefault(localization => localization.CultureName == Culture.En)?.Name;

                gameDto.Key = await GenerateKeyAsync(gameName, KeySeparator);
            }
            else
            {
                await ValidateGameKey(gameDto.Id, gameDto.Key);
            }

            var gameRoot = _mapper.Map <GameRoot>(gameDto);
            await _gameDecorator.UpdateAsync(gameRoot);

            await _unitOfWork.CommitAsync();
        }
        private static ModifyGameDto CreateModifyGameDto()
        {
            var dto = new ModifyGameDto
            {
                UnitsInStock = 10,
                Price        = 10
            };

            return(dto);
        }
Esempio n. 3
0
        private ModifyGameViewModel GetModifyGameViewModel(ModifyGameDto modifyGameDto)
        {
            var defaultLocalization = modifyGameDto.Localizations.FirstOrDefault(dto => dto.CultureName == Culture.En);
            var russianLocalization = modifyGameDto.Localizations.FirstOrDefault(dto => dto.CultureName == Culture.Ru);

            var viewModel = _mapper.Map <ModifyGameViewModel>(modifyGameDto);

            _mapper.Map(defaultLocalization, viewModel);

            viewModel.GameLocalization = _mapper.Map <GameLocalizationViewModel>(russianLocalization);

            return(viewModel);
        }
Esempio n. 4
0
        private static ModifyGameDto CreateModifyGameDto(string key = null)
        {
            var dto = new ModifyGameDto
            {
                Id            = Id,
                Key           = key,
                Localizations = new[]
                {
                    new GameLocalizationDto
                    {
                        CultureName = Culture.En,
                        Name        = Name
                    }
                }
            };

            return(dto);
        }
Esempio n. 5
0
        public async Task CreateAsync(ModifyGameDto gameDto)
        {
            if (gameDto == null)
            {
                throw new InvalidServiceOperationException("Is null game dto");
            }

            if (string.IsNullOrWhiteSpace(gameDto.Key))
            {
                var name = gameDto.Localizations.First(localization => localization.CultureName == Culture.En).Name;
                gameDto.Key = await GenerateKeyAsync(name, KeySeparator);
            }
            else
            {
                await ValidateGameKeyExistingAsync(gameDto.Key);
            }

            var game = _mapper.Map <GameRoot>(gameDto);

            game.Details.CreationDate = DateTime.UtcNow;
            await _gameDecorator.AddAsync(game);

            await _unitOfWork.CommitAsync();
        }