Exemple #1
0
        public void Exists(string tokenID, Action <bool> OnSeekModel)
        {
            string _tokenID = (string)tokenID.Clone();

            service.QueueTask(() => {
                bool result = Exists_Internal(_tokenID);
                return(result as object);
            },
                              (resultObject) => {
                if (OnSeekModel != null)
                {
                    OnSeekModel((bool)resultObject);
                }
            });
        }
        // Accessors

        public void GetIDs(Action <string[], RequestStatus> OnGetIDs)
        {
            service.QueueTask(() => {
                List <string> result = null;

                using (IDbConnection dbc = service.GetOpenConnection()) {
                    using (IDbCommand dbcmd = dbc.CreateCommand()) {
                        dbcmd.CommandText = String.Format("SELECT {0} FROM QuestionData", SQLiteFields.Name.QUESTION_ID);

                        result = new List <string>();

                        using (IDataReader dbr = dbcmd.ExecuteReader()) {
                            while (dbr.Read())
                            {
                                int idx = dbr.GetOrdinal(SQLiteFields.Name.QUESTION_ID);
                                if (!dbr.IsDBNull(idx))
                                {
                                    result.Add(dbr.GetString(idx));
                                }
                            }
                        }
                    }
                }

                return(result as object);
            },
                              (resultObject) => {
                if (OnGetIDs != null)
                {
                    if (resultObject == null)                             // doesn't exist
                    {
                        OnGetIDs(null, RequestStatus.SQLITE_ERROR);
                    }
                    else
                    {
                        OnGetIDs((resultObject as List <string>).ToArray(), RequestStatus.SUCCESS);
                    }
                }
            });
        }