Exemple #1
0
        /// <summary>
        /// Filter by direction
        /// </summary>
        /// <param name="actualQueryDirection">The actual query direction.</param>
        /// <returns></returns>
        /// <remarks>Documented by Dev08, 2009-07-16</remarks>
        private bool CardSearchFilterDirection(IQueryDirections actualQueryDirection)
        {
            //If all checkboxes are unchecked, return true;
            if (!checkBoxFilterQA.IsChecked.Value && !checkBoxFilterAQ.IsChecked.Value && !checkBoxFilterMix.IsChecked.Value)
            {
                return(true);
            }

            //At least one checkbox is checked, so don't show cards with "null" values
            if (!actualQueryDirection.Question2Answer.HasValue || !actualQueryDirection.Answer2Question.HasValue || !actualQueryDirection.Mixed.HasValue)
            {
                return(false);
            }

            if (actualQueryDirection.Question2Answer.Value != checkBoxFilterQA.IsChecked.Value)
            {
                return(false);
            }

            if (actualQueryDirection.Answer2Question.Value != checkBoxFilterAQ.IsChecked.Value)
            {
                return(false);
            }

            if (actualQueryDirection.Mixed.Value != checkBoxFilterMix.IsChecked.Value)
            {
                return(false);
            }

            return(true);
        }
 /// <summary>
 /// Sets the allowed query directions.
 /// </summary>
 /// <param name="queryDirections">The query directions.</param>
 /// <remarks>Documented by Dev02, 2008-01-09</remarks>
 public void SetAllowedQueryDirections(IQueryDirections queryDirections)
 {
     if (!(RBDirectionQuestionAnswer.Enabled = queryDirections.Question2Answer.GetValueOrDefault()))
     {
         RBDirectionQuestionAnswer.Checked = false;
     }
     if (!(RBDirectionAnswerQuestion.Enabled = queryDirections.Answer2Question.GetValueOrDefault()))
     {
         RBDirectionAnswerQuestion.Checked = false;
     }
     if (!(RBDirectionMixed.Enabled = queryDirections.Mixed.GetValueOrDefault()))
     {
         RBDirectionMixed.Checked = false;
     }
 }
        /// <summary>
        /// Handles the Click event of the btnOK control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        /// <remarks>Documented by Dev02, 2008-01-10</remarks>
        private void buttonOK_Click(object sender, EventArgs e)
        {
            if (!learnModes.ValidateInput())
            {
                return;
            }

            if (dictionary.CanModify)
            {
                //save LearningModule captions
                dictionary.DefaultSettings.QuestionCaption = dictionaryCaptions.QuestionTitle;
                dictionary.DefaultSettings.AnswerCaption   = dictionaryCaptions.AnswerTitle;
                dictionary.DefaultSettings.QuestionCulture = dictionaryCaptions.QuestionCulture;
                dictionary.DefaultSettings.AnswerCulture   = dictionaryCaptions.AnswerCulture;

                //save LearningModule properties
                dictionary.Author      = dictionaryProperties.DictionaryAuthor;
                dictionary.Description = dictionaryProperties.DictionaryDescription;
                dictionary.Category    = dictionaryProperties.DictionaryCategory;

                //save commentary sounds
                dictionary.DefaultSettings.CommentarySounds = commentarySounds;

                IQueryDirections queryDirections = dictionary.AllowedQueryDirections;
                learnModes.GetQueryDirections(ref queryDirections);
                dictionary.AllowedQueryDirections = queryDirections;

                IQueryType queryTypes = dictionary.AllowedQueryTypes;
                learnModes.GetQueryTypes(ref queryTypes);
                dictionary.AllowedQueryTypes = queryTypes;

                dictionary.Save();
            }

            this.DialogResult = DialogResult.OK;
            this.Close();
        }
Exemple #4
0
 public QueryDirections(IQueryDirections defaultSettings, IQueryDirections userSettings)
 {
     this.defaultSettings = defaultSettings;
     this.userSettings = userSettings;
 }
Exemple #5
0
        public void SetQueryDirections(int id, IQueryDirections QueryDirections)
        {
            using (NpgsqlConnection con = PostgreSQLConn.CreateConnection(Parent.CurrentUser))
            {
                using (NpgsqlCommand cmd = con.CreateCommand())
                {
                    cmd.CommandText = "SELECT query_directions FROM \"Settings\" WHERE id=:id";
                    cmd.Parameters.Add("id", id);

                    int? qdid = PostgreSQLConn.ExecuteScalar<int>(cmd, Parent.CurrentUser);

                    if (qdid.HasValue && qdid.Value > 0)
                    {
                        using (NpgsqlCommand cmd2 = con.CreateCommand())
                        {
                            cmd2.CommandText = "UPDATE \"QueryDirections\" SET question2answer=:q2a, answer2question=:a2q, mixed=:mixed WHERE id=:id";
                            cmd2.Parameters.Add("id", qdid.Value);
                            cmd2.Parameters.Add("q2a", QueryDirections.Question2Answer);
                            cmd2.Parameters.Add("a2q", QueryDirections.Answer2Question);
                            cmd2.Parameters.Add("mixed", QueryDirections.Mixed);

                            PostgreSQLConn.ExecuteNonQuery(cmd2, Parent.CurrentUser);

                            //Save to Cache
                            Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsFk, id, Cache.DefaultSettingsValidationTime)] = qdid;
                            Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsQuestion2Answer, qdid.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Question2Answer;
                            Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsAnswer2Question, qdid.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Answer2Question;
                            Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsMixed, qdid.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Mixed;
                        }
                    }
                    else
                    {
                        using (NpgsqlCommand cmd3 = con.CreateCommand())
                        {
                            cmd3.CommandText = "INSERT INTO \"QueryDirections\" (question2answer, answer2question, mixed) VALUES " +
                                "(:q2a, :a2q, :mixed); UPDATE \"Settings\" SET query_directions=currval('\"QueryDirections_id_seq\"') WHERE id=:id;" +
                                "SELECT query_directions FROM \"Settings\" WHERE id=:id";
                            cmd3.Parameters.Add("id", id);
                            cmd3.Parameters.Add("q2a", QueryDirections.Question2Answer);
                            cmd3.Parameters.Add("a2q", QueryDirections.Answer2Question);
                            cmd3.Parameters.Add("mixed", QueryDirections.Mixed);

                            int? queryDirectionsId = PostgreSQLConn.ExecuteScalar<int>(cmd3, Parent.CurrentUser);

                            //Save to Cache
                            Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsFk, id, Cache.DefaultSettingsValidationTime)] = queryDirectionsId;
                            Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsQuestion2Answer, queryDirectionsId.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Question2Answer;
                            Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsAnswer2Question, queryDirectionsId.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Answer2Question;
                            Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsMixed, queryDirectionsId.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Mixed;
                        }
                    }
                }
            }
        }
Exemple #6
0
 /// <summary>
 /// Sets the query directions.
 /// </summary>
 /// <param name="queryDirections">The query directions.</param>
 /// <remarks>Documented by Dev02, 2008-01-09</remarks>
 public void SetQueryDirections(IQueryDirections queryDirections)
 {
     if (RBDirectionQuestionAnswer.Enabled)
         RBDirectionQuestionAnswer.Checked = queryDirections.Question2Answer.GetValueOrDefault();
     if (RBDirectionAnswerQuestion.Enabled)
         RBDirectionAnswerQuestion.Checked = queryDirections.Answer2Question.GetValueOrDefault();
     if (RBDirectionMixed.Enabled)
         RBDirectionMixed.Checked = queryDirections.Mixed.GetValueOrDefault();
 }
Exemple #7
0
 /// <summary>
 /// Sets the allowed query directions.
 /// </summary>
 /// <param name="queryDirections">The query directions.</param>
 /// <remarks>Documented by Dev02, 2008-01-09</remarks>
 public void SetAllowedQueryDirections(IQueryDirections queryDirections)
 {
     if (!(RBDirectionQuestionAnswer.Enabled = queryDirections.Question2Answer.GetValueOrDefault()))
         RBDirectionQuestionAnswer.Checked = false;
     if (!(RBDirectionAnswerQuestion.Enabled = queryDirections.Answer2Question.GetValueOrDefault()))
         RBDirectionAnswerQuestion.Checked = false;
     if (!(RBDirectionMixed.Enabled = queryDirections.Mixed.GetValueOrDefault()))
         RBDirectionMixed.Checked = false;
 }
Exemple #8
0
 /// <summary>
 /// Gets the query directions.
 /// </summary>
 /// <param name="queryDirections">The query directions.</param>
 /// <remarks>Documented by Dev02, 2008-01-09</remarks>
 public void GetQueryDirections(ref IQueryDirections queryDirections)
 {
     queryDirections.Question2Answer = RBDirectionQuestionAnswer.Checked;
     queryDirections.Answer2Question = RBDirectionAnswerQuestion.Checked;
     queryDirections.Mixed = RBDirectionMixed.Checked;
 }
 /// <summary>
 /// Gets the query directions.
 /// </summary>
 /// <param name="queryDirections">The query directions.</param>
 /// <remarks>Documented by Dev02, 2008-01-09</remarks>
 public void GetQueryDirections(ref IQueryDirections queryDirections)
 {
     queryDirections.Question2Answer = RBDirectionQuestionAnswer.Checked;
     queryDirections.Answer2Question = RBDirectionAnswerQuestion.Checked;
     queryDirections.Mixed           = RBDirectionMixed.Checked;
 }
 public QueryDirections(IQueryDirections defaultSettings, IQueryDirections userSettings)
 {
     this.defaultSettings = defaultSettings;
     this.userSettings    = userSettings;
 }
Exemple #11
0
        /// <summary>
        /// Sets the query directions.
        /// </summary>
        /// <param name="id">The id.</param>
        /// <param name="QueryDirections">The query directions.</param>
        /// <remarks>Documented by Dev05, 2009-01-15</remarks>
        public void SetQueryDirections(int id, IQueryDirections QueryDirections)
        {
            SqlCeCommand cmd = MSSQLCEConn.CreateCommand(Parent.CurrentUser);
            cmd.CommandText = "SELECT query_directions FROM \"Settings\" WHERE id=@id";
            cmd.Parameters.Add("@id", id);

            int? qdid = MSSQLCEConn.ExecuteScalar<int>(cmd);

            if (qdid.HasValue && qdid.Value > 0)
            {
                SqlCeCommand cmd2 = MSSQLCEConn.CreateCommand(Parent.CurrentUser);
                cmd2.CommandText = "UPDATE \"QueryDirections\" SET question2answer=@q2a, answer2question=@a2q, mixed=@mixed WHERE id=@id";
                cmd2.Parameters.Add("@id", qdid.Value);
                cmd2.Parameters.Add("@q2a", QueryDirections.Question2Answer);
                cmd2.Parameters.Add("@a2q", QueryDirections.Answer2Question);
                cmd2.Parameters.Add("@mixed", QueryDirections.Mixed);

                MSSQLCEConn.ExecuteNonQuery(cmd2);

                //Save to Cache
                Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsFk, id, Cache.DefaultSettingsValidationTime)] = qdid;
                Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsQuestion2Answer, qdid.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Question2Answer;
                Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsAnswer2Question, qdid.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Answer2Question;
                Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsMixed, qdid.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Mixed;
            }
            else
            {
                SqlCeCommand cmd3 = MSSQLCEConn.CreateCommand(Parent.CurrentUser);
                cmd3.CommandText = "INSERT INTO \"QueryDirections\" (question2answer, answer2question, mixed) VALUES " +
                    "(@q2a, @a2q, @mixed); UPDATE \"Settings\" SET query_directions=@@IDENTITY WHERE id=@id;" +
                    "SELECT query_directions FROM \"Settings\" WHERE id=@id";
                cmd3.Parameters.Add("@id", id);
                cmd3.Parameters.Add("@q2a", QueryDirections.Question2Answer);
                cmd3.Parameters.Add("@a2q", QueryDirections.Answer2Question);
                cmd3.Parameters.Add("@mixed", QueryDirections.Mixed);

                int? queryDirectionsId = MSSQLCEConn.ExecuteScalar<int>(cmd3);

                //Save to Cache
                Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsFk, id, Cache.DefaultSettingsValidationTime)] = queryDirectionsId;
                Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsQuestion2Answer, queryDirectionsId.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Question2Answer;
                Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsAnswer2Question, queryDirectionsId.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Answer2Question;
                Parent.CurrentUser.Cache[ObjectLifetimeIdentifier.Create(CacheObject.SettingsQueryDirectionsMixed, queryDirectionsId.Value, Cache.DefaultSettingsValidationTime)] = QueryDirections.Mixed;
            }
        }
        /// <summary>
        /// Filter by direction
        /// </summary>
        /// <param name="actualQueryDirection">The actual query direction.</param>
        /// <returns></returns>
        /// <remarks>Documented by Dev08, 2009-07-16</remarks>
        private bool CardSearchFilterDirection(IQueryDirections actualQueryDirection)
        {
            //If all checkboxes are unchecked, return true;
            if (!checkBoxFilterQA.IsChecked.Value && !checkBoxFilterAQ.IsChecked.Value && !checkBoxFilterMix.IsChecked.Value)
                return true;

            //At least one checkbox is checked, so don't show cards with "null" values
            if (!actualQueryDirection.Question2Answer.HasValue || !actualQueryDirection.Answer2Question.HasValue || !actualQueryDirection.Mixed.HasValue)
                return false;

            if (actualQueryDirection.Question2Answer.Value != checkBoxFilterQA.IsChecked.Value)
                return false;

            if (actualQueryDirection.Answer2Question.Value != checkBoxFilterAQ.IsChecked.Value)
                return false;

            if (actualQueryDirection.Mixed.Value != checkBoxFilterMix.IsChecked.Value)
                return false;

            return true;
        }