Esempio n. 1
0
        public static EntityCollection FetchRandom ( )
        {
            EntityCollection result = 
                Context.Current.Session[ "CachedRandomQuestions" ]
                    as EntityCollection;

            if ( result == null )
            {
                result = new EntityCollection ( );

                EntityCollection entityCollection = new EntityCollection ( );
                foreach ( Entity entity in FetchAll ( ) )
                {
                    entityCollection.Add ( entity );
                }
                int numberOfEntities = Configuration.NumberOfQuestionsToDisplay;
                Random random = new Random ( );
                for ( int index = 0; index < numberOfEntities; ++index )
                {
                    int randomIndex = random.Next ( numberOfEntities );
                    result.Add ( entityCollection[ randomIndex ] );
                    entityCollection.RemoveAt ( randomIndex );
                }

                Context.Current.Session[ "CachedRandomQuestions" ] = result;
            }

            return result;
        }
Esempio n. 2
0
        public static EntityCollection FetchRandom( )
        {
            EntityCollection result =
                Context.Current.Session["CachedRandomQuestions"]
                as EntityCollection;

            if (result == null)
            {
                result = new EntityCollection( );

                EntityCollection entityCollection = new EntityCollection( );
                foreach (Entity entity in FetchAll( ))
                {
                    entityCollection.Add(entity);
                }
                int    numberOfEntities = Configuration.NumberOfQuestionsToDisplay;
                Random random           = new Random( );
                for (int index = 0; index < numberOfEntities; ++index)
                {
                    int randomIndex = random.Next(numberOfEntities);
                    result.Add(entityCollection[randomIndex]);
                    entityCollection.RemoveAt(randomIndex);
                }

                Context.Current.Session["CachedRandomQuestions"] = result;
            }

            return(result);
        }
Esempio n. 3
0
        public static EntityCollection FetchAll ( )
        {
            EntityCollection result = 
                Context.Current.Session[ "CachedQuestions" ] 
                    as EntityCollection;

            if ( result == null )
            {
                result = new EntityCollection ( );

                string[] dataRows = 
                    DataStore.Fetch ( ).Split ( new char[] { '\n', '\r' } );
                foreach ( string dataRow in dataRows )
                {
                    if ( !string.IsNullOrEmpty ( dataRow ) )
                    {
                        string[] dataColumns = 
                            dataRow.Substring (
                                ( dataRow.IndexOf ( ',' ) + 1 ) ).Split ( ',' );
                        Question question = new Question ( );
                        try
                        {
                            question.Answers = new EntityCollection ( );
                            question.Id = Guid.NewGuid ( ).ToString ( "N" );
                            question.Value = 
                                dataRow.Substring ( 0, ( dataRow.IndexOf ( ',' ) ) );
                            foreach ( string dataColumn in dataColumns )
                            {
                                if ( !string.IsNullOrEmpty ( dataColumn ) )
                                {
                                    Answer answer = new Answer ( );
                                    answer.Id = Guid.NewGuid ( ).ToString ( "N" );
                                    answer.Value = 
                                        dataColumn.Replace ( "*", string.Empty );
                                    if ( dataColumn.IndexOf ( '*' ) > -1 )
                                    {
                                        question.CorrectAnswerId = answer.Id;
                                    }
                                    question.Answers.Add ( answer );
                                }
                            }
                        }
                        catch
                        {
                            throw new Exception ( "The application could not retrieve the questions." );
                        }
                        result.Add ( question );
                    }
                }

                Context.Current.Session[ "CachedQuestions" ] = result;
            }

            return result;
        }
Esempio n. 4
0
        public static EntityCollection FetchAll( )
        {
            EntityCollection result =
                Context.Current.Session["CachedQuestions"]
                as EntityCollection;

            if (result == null)
            {
                result = new EntityCollection( );

                string[] dataRows =
                    DataStore.Fetch( ).Split(new char[] { '\n', '\r' });
                foreach (string dataRow in dataRows)
                {
                    if (!string.IsNullOrEmpty(dataRow))
                    {
                        string[] dataColumns =
                            dataRow.Substring(
                                (dataRow.IndexOf(',') + 1)).Split(',');
                        Question question = new Question( );
                        try
                        {
                            question.Answers = new EntityCollection( );
                            question.Id      = Guid.NewGuid( ).ToString("N");
                            question.Value   =
                                dataRow.Substring(0, (dataRow.IndexOf(',')));
                            foreach (string dataColumn in dataColumns)
                            {
                                if (!string.IsNullOrEmpty(dataColumn))
                                {
                                    Answer answer = new Answer( );
                                    answer.Id    = Guid.NewGuid( ).ToString("N");
                                    answer.Value =
                                        dataColumn.Replace("*", string.Empty);
                                    if (dataColumn.IndexOf('*') > -1)
                                    {
                                        question.CorrectAnswerId = answer.Id;
                                    }
                                    question.Answers.Add(answer);
                                }
                            }
                        }
                        catch
                        {
                            throw new Exception("The application could not retrieve the questions.");
                        }
                        result.Add(question);
                    }
                }

                Context.Current.Session["CachedQuestions"] = result;
            }

            return(result);
        }