public User Create(User user, SUGARContext context = null) { var didCreate = false; if (context == null) { context = ContextFactory.Create(); didCreate = true; } if (context.Users.Any(g => g.Name == user.Name)) { throw new DuplicateRecordException($"A user with the name: \"{user.Name}\" already exists."); } context.Users.Add(user); if (didCreate) { context.SaveChanges(); context.Dispose(); } return(user); }
private static Skill CreateSkill(SUGARContext context, int gameId, string key) { var skill = context.Skills.Add(new Skill { GameId = gameId, ActorType = ActorType.User, Description = key, EvaluationCriterias = new List <EvaluationCriteria> { new EvaluationCriteria { ComparisonType = ComparisonType.GreaterOrEqual, CriteriaQueryType = CriteriaQueryType.Sum, EvaluationDataCategory = EvaluationDataCategory.GameData, EvaluationDataType = EvaluationDataType.Long, EvaluationDataKey = key, Scope = CriteriaScope.Actor, Value = $"{100}" } }, Name = key, Token = key }).Entity; context.SaveChanges(); return(skill); }
/// <summary> /// Immediately creates a new relationship between 2 actors /// </summary> /// <param name="newRelation">Relationship to create</param> /// <param name="context">Optional DbContext to perform opperations on. If ommitted a DbContext will be created.</param> public void CreateRelationship(ActorRelationship newRelation, SUGARContext context = null) { var didCreateContext = false; if (context == null) { context = ContextFactory.Create(); didCreateContext = true; } if (newRelation.AcceptorId == newRelation.RequestorId) { throw new InvalidRelationshipException("Two different users are needed to create a relationship."); } var hasConflicts = context.Relationships .Any(r => AreRelated(r, newRelation)); if (!hasConflicts) { hasConflicts = context.RelationshipRequests .Any(r => AreRelated(r, newRelation)); } if (hasConflicts) { throw new DuplicateRelationshipException("A relationship with these users already exists."); } var requestorExists = context.Actors.Any(u => u.Id == newRelation.RequestorId); if (!requestorExists) { throw new InvalidRelationshipException("The requesting user does not exist."); } var acceptorExists = context.Actors.Any(u => u.Id == newRelation.AcceptorId); if (!acceptorExists) { throw new InvalidRelationshipException("The targeted user does not exist."); } var relation = new ActorRelationship { RequestorId = newRelation.RequestorId, AcceptorId = newRelation.AcceptorId }; context.Relationships.Add(relation); if (didCreateContext) { context.SaveChanges(); context.Dispose(); } }
private static User CreateUser(SUGARContext context, string name) { var user = context.Users.Add(new User { Name = name }).Entity; context.SaveChanges(); return(user); }
private static Game CreateGame(SUGARContext context, string name) { var game = context.Games.Add(new Game { Name = name }).Entity; context.SaveChanges(); return(game); }
private static ActorRole CreateActorRole(SUGARContext context, Role role, Actor actor, int entityId) { var actorRole = context.ActorRoles.Add(new ActorRole { Role = role, Actor = actor, EntityId = entityId }).Entity; context.SaveChanges(); return(actorRole); }
private static AccountSource CreateAccountSource(SUGARContext context, string description, string token, bool requiresPass) { var accountSource = context.AccountSources.Add(new AccountSource { Description = description, Token = token, RequiresPassword = requiresPass }).Entity; context.SaveChanges(); return(accountSource); }
private static Role CreateRole(SUGARContext context, ClaimScope claimScope, bool defaultRole = true) { var role = context.Roles.Add(new Role { Name = claimScope.ToString(), ClaimScope = claimScope, Default = defaultRole }).Entity; context.SaveChanges(); return(role); }
private static Account CreateAccount(SUGARContext context, string name, string password, AccountSource source, User user) { var account = context.Accounts.Add(new Account { Name = name, Password = password, AccountSource = source, User = user }).Entity; context.SaveChanges(); return(account); }
private static Leaderboard CreateLeaderboard(SUGARContext context, int gameId, string key, ActorType type = ActorType.User) { var leaderboard = context.Leaderboards.Add(new Leaderboard { Token = key, GameId = gameId, Name = key, EvaluationDataKey = key, EvaluationDataCategory = EvaluationDataCategory.GameData, ActorType = type, EvaluationDataType = EvaluationDataType.Long, CriteriaScope = CriteriaScope.Actor, LeaderboardType = LeaderboardType.Highest }).Entity; context.SaveChanges(); return(leaderboard); }
public ActorRole Create(ActorRole actorRole, SUGARContext context = null) { var didCreate = false; if (context == null) { context = ContextFactory.Create(); didCreate = true; } context.ActorRoles.Add(actorRole); if (didCreate) { context.SaveChanges(); context.Dispose(); } return(actorRole); }
public Game Create(Game game, SUGARContext context = null) { var didCreateContext = false; if (context == null) { context = ContextFactory.Create(); didCreateContext = true; } context.Games.Add(game); if (didCreateContext) { context.SaveChanges(); context.Dispose(); } return(game); }
public Group Create(Group group, SUGARContext context = null) { var didCreateContext = false; if (context == null) { context = ContextFactory.Create(); didCreateContext = true; } context.Groups.Add(group); if (didCreateContext) { context.SaveChanges(); context.Dispose(); } return(group); }