Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }