public void AddGame(Game game) { // System-assigned properties game.CreatedDate = _dateTime.UtcNow; game.Status = _session .QueryOver<Status>() .Where(x => x.Name == "Not Started") .SingleOrDefault(); game.User = _session.QueryOver<User>() .Where(x => x.UserName == _userSession.Username) .SingleOrDefault(); if (game.Faction != null) { var persistedFaction = _session.Get<Faction>(game.Faction.FactionId); if (persistedFaction == null) { throw new ChildObjectNotFoundException("Faction not found"); } game.Faction = persistedFaction; } // Persist game and its relationships _session.SaveOrUpdate(game); }
public void UpdateGameStatus(Game gameToUpdate, string statusName) { var status = _session.QueryOver<Status>().Where(x => x.Name == statusName).SingleOrDefault(); gameToUpdate.Status = status; _session.SaveOrUpdate(gameToUpdate); }
/// <summary> /// Updates the Technologies Collection /// </summary> public virtual void UpdateGameTechnologies(Game game, IEnumerable<long> technologyIds, bool appendToExisting) { if (!appendToExisting) { game.Technologies.Clear(); } if (technologyIds != null) { foreach (var technology in technologyIds.Select(GetValidTechnology)) { if (!game.Technologies.Contains(technology)) // protects the idempotence of the operation { game.Technologies.Add(technology); } } } }