Пример #1
0
        public static IEnumerable<Report> GetAll(IApiUserSource api)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);

                return db.GetCollection<Report>().Find(query);
            }
        }
Пример #2
0
        public static Token GetByToken(IApiUserSource api, Guid token)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add(TheTokenKey, token);

                return db.GetCollection<Token>().FindOne(query);
            }
        }
Пример #3
0
        public static User GetById(IApiUserSource api, ObjectId userId, bool throwIfNotFound)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add(IdKey, userId);

                User user = db.GetCollection<User>().FindOne(query);
                if (user != null)
                    return user;
                else
                {
                    if (throwIfNotFound)
                        throw new InvalidOperationException(string.Format("A user with ID '{0}' was not found.", userId));
                    else
                        return null;
                }
            }
        }
Пример #4
0
        public static User GetByUsername(IApiUserSource api, string username)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add(UsernameKey, username);

                return db.GetCollection<User>().FindOne(query);
            }
        }
Пример #5
0
        public bool HasReports(IApiUserSource api)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add("ownerUserId", this._id);

                Report report = db.GetCollection<Report>().FindOne(query);
                return report != null;
            }
        }
Пример #6
0
        public void DeleteReport(IApiUserSource api)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add("id", this._id);

                db.GetCollection<Report>().Remove(query);
            }
        }