Пример #1
0
        private void SaveTaskInstance()
        {
            Spinner spVerbTense = FindViewById <Spinner>(Resource.Id.spVerbTense);
            int     valueInt    = Convert.ToInt32(spVerbTense.SelectedItemId);

            m_TaskInstance.AddAnswer(Lib.lTense, valueInt: valueInt);

            Spinner spVerbAspect = FindViewById <Spinner>(Resource.Id.spVerbAspect);

            valueInt = Convert.ToInt32(spVerbAspect.SelectedItemId);
            m_TaskInstance.AddAnswer(Lib.lAspect, valueInt: valueInt);

            List <int>   valuesInt         = new List <int>();
            LinearLayout llFormulaItemList = FindViewById <LinearLayout>(Resource.Id.llFormulaItemList);

            for (int i = 0; i < llFormulaItemList.ChildCount; i++)
            {
                LinearLayout ll = llFormulaItemList.GetChildAt(i) as LinearLayout;
                Spinner      sp = ll.GetChildAt(ll.ChildCount - 1) as Spinner;
                valuesInt.Add(Convert.ToInt32(sp.SelectedItemId));
            }
            m_TaskInstance.AddAnswer(Lib.lSentencePart, valuesInt: valuesInt.ToArray());

            List <string> valuesString  = new List <string>();
            EditText      etTranslation = FindViewById <EditText>(Resource.Id.etTranslation);

            valuesString.Add(etTranslation.Text);
            m_TaskInstance.AddAnswer(Lib.lTranslate, valuesString: valuesString.ToArray());

            DBController.Instance.SaveTaskInstance(m_TaskInstance);
            Intent.PutExtra("IS_CORRECT_TASK_INSTANCE", m_TaskInstance.IncorrectAnswerAmount == 0);
        }
Пример #2
0
        public static bool RunTask(TaskInstance ti)
        {
            Console.WriteLine("-------   Задание " + ti.SeqNo + "   -------\n");
            Console.WriteLine("Дано предложение:\n" + ti.Task.Text + "\n");

            foreach (TaskItem taskItem in ti.Task.TaskItems)
            {
                int?     valueInt     = null;
                string   valueString  = null;
                int[]    valuesInt    = null;
                string[] valuesString = null;
                if (taskItem.UITypeId == UIType.uiSelect)
                {
                    valueInt = RunSubTaskSelect(taskItem);
                }
                else if (taskItem.UITypeId == UIType.uiFormula)
                {
                    valuesInt = RunSubTaskFormula(taskItem);
                }
                else if (taskItem.UITypeId == UIType.uiText)
                {
                    valueString = RunSubTaskText(taskItem);
                }
                ShowResult(ti.AddAnswer(taskItem.LangItemId, valueInt,
                                        valueString,
                                        valuesInt,
                                        valuesString));
            }

            Console.WriteLine("-------   Задание окончено   -------\n------------------------------------");
            return(ti.IncorrectAnswerAmount == 0);
        }