public static IEnumerable<Character> GetCharactersForAccount(Account account) { var data = DataConnection.Resolve(); var group = new PredicateGroup() {Operator = GroupOperator.And, Predicates = new List<IPredicate>()}; group.Predicates.Add(Predicates.Field<Character>(a => a.AccountId, Operator.Eq, account.Id)); group.Predicates.Add(Predicates.Field<Character>(a => a.Deleted, Operator.Eq, false)); return data.Repo.GetList<Character>(group, buffered: false); }
public static Character GetCharacter(Account account = null, Guid id = default(Guid), string name = null) { var data = DataConnection.Resolve().Repo; var group = new PredicateGroup() { Operator = GroupOperator.And, Predicates = new List<IPredicate>() }; if (account != null) group.Predicates.Add(Predicates.Field<Character>(a => a.AccountId, Operator.Eq, account.Id)); if (name != null) group.Predicates.Add(Predicates.Field<Character>(a => a.Name, Operator.Eq, name)); if (id != default(Guid)) group.Predicates.Add(Predicates.Field<Character>(a => a.Id, Operator.Eq, id)); if (group.Predicates.Count == 0) throw new Exception("No predicates created"); group.Predicates.Add(Predicates.Field<Character>(a => a.Deleted, Operator.Eq, false)); return data.Get<Character>(group); }