public AlexaAccountDTO AddOrUpdateAccount(AlexaRequestDTO alexaRequestDto) { using (var context = new RealmContext()) { var alexaAccount = context.AlexaAccounts.AsNoTracking() .SingleOrDefault(o => o.AlexaUserId == alexaRequestDto.UserId); if (alexaAccount != null) { alexaAccount.RequestCount++; alexaAccount.LastRequest = DateTime.UtcNow; context.Entry(alexaAccount).State = EntityState.Modified; } else { alexaAccount = new AlexaAccount() { AccountId = Guid.NewGuid(), AlexaUserId = alexaRequestDto.UserId, DateCreated = DateTime.UtcNow, LastRequest = DateTime.UtcNow, RequestCount = 1 }; context.Entry(alexaAccount).State = EntityState.Added; } context.SaveChanges(); return(Mapper.Map <AlexaAccountDTO>(alexaAccount)); } }
public PlayerDTO CreatePlayer(AlexaAccountDTO alexaAccountDto) { using (var context = new RealmContext()) { var defaultPlayer = context.Players.AsNoTracking().Single(o => o.PlayerId == Guid.Empty); var player = new Player { PlayerId = Guid.NewGuid(), Name = defaultPlayer.Name, MapRefId = defaultPlayer.MapRefId, LocationX = defaultPlayer.LocationX, LocationY = defaultPlayer.LocationY, Level = defaultPlayer.Level, Verbosity = defaultPlayer.Verbosity, Gold = defaultPlayer.Gold, Energy = defaultPlayer.Energy, Toughness = defaultPlayer.Toughness, AccountRefId = alexaAccountDto.AccountId }; context.Entry(player).State = EntityState.Added; context.SaveChanges(); var playerDto = Mapper.Map <PlayerDTO>(player); playerDto.Inventories = new List <InventoryDTO>(); return(playerDto); } }
public void LogRequest(AlexaRequestDTO alexaRequestDto) { using (var context = new RealmContext()) { var alexaRequest = Mapper.Map <AlexaRequest>(alexaRequestDto); alexaRequest.DateCreated = DateTime.UtcNow; context.Entry(alexaRequest).State = EntityState.Added; context.SaveChanges(); } }
public void DeleteInventoryItem(Guid inventoryId) { using (var context = new RealmContext()) { var result = context.Inventories.AsNoTracking() .SingleOrDefault(o => o.InventoryId == inventoryId); context.Entry(result).State = EntityState.Deleted; context.SaveChanges(); } }
public void DeleteCellItem(Guid cellItemId) { using (var context = new RealmContext()) { var result = context.CellItems.AsNoTracking() .SingleOrDefault(o => o.CellItemId == cellItemId); if (result == null) { throw new ArgumentNullException(nameof(result)); } context.Entry(result).State = EntityState.Deleted; context.SaveChanges(); } }
public CellItemDTO AddOrUpdateCellItem(CellItemDTO cellItemDto) { using (var context = new RealmContext()) { var result = context.CellItems.AsNoTracking() .SingleOrDefault(o => o.CellItemId == cellItemDto.CellItemId); if (result != null) { result = Mapper.Map(cellItemDto, result); context.Entry(result).State = EntityState.Modified; } else { cellItemDto.CellItemId = Guid.NewGuid(); result = Mapper.Map <CellItem>(cellItemDto); context.Entry(result).State = EntityState.Added; } context.SaveChanges(); return(Mapper.Map <CellItemDTO>(result)); } }
public InventoryDTO AddOrUpdateInventory(InventoryDTO inventoryDto) { using (var context = new RealmContext()) { var result = context.Inventories.AsNoTracking() .SingleOrDefault(o => o.InventoryId == inventoryDto.InventoryId); if (result != null) { result = Mapper.Map(inventoryDto, result); context.Entry(result).State = EntityState.Modified; } else { inventoryDto.InventoryId = Guid.NewGuid(); result = Mapper.Map <Inventory>(inventoryDto); context.Entry(result).State = EntityState.Added; } context.SaveChanges(); return(Mapper.Map <InventoryDTO>(result)); } }
public PlayerDTO UpdatePlayer(PlayerDTO playerDto) { using (var context = new RealmContext()) { var player = context.Players.AsNoTracking() .Single(o => o.PlayerId == playerDto.PlayerId); Mapper.Map(playerDto, player); context.Entry(player).State = EntityState.Modified; context.SaveChanges(); return(Mapper.Map <PlayerDTO>(player)); } }