Example #1
0
        public async Task SaveGameMap(GameMapRequest items)
        {
            using (var transaction = await _unitOfWork.Context.Database.BeginTransactionAsync())
            {
                try
                {
                    var mapps = await _unitOfWork.GameMapRepository.Table.Where(p => p.GameId == items.GameId).ToListAsync();

                    _unitOfWork.Context.RemoveRange(mapps);
                    await _unitOfWork.Context.SaveChangesAsync();

                    foreach (var item in items.Maps)
                    {
                        await _unitOfWork.GameMapRepository.Create(Mapper.Map <GameMap>(item));
                    }
                    await _unitOfWork.SaveAsync();

                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw e.HandlException();
                }
            }
        }
Example #2
0
        public async Task <IActionResult> SaveGameMap(int id, [FromBody] List <GameMapModel> items)
        {
            var request = new GameMapRequest();

            request.GameId = id;
            request.Maps   = items;
            await _service.SaveGameMap(request);

            return(Ok());
        }