Ejemplo n.º 1
0
        private void ProblemProAndConList_ItemLongClick(object sender, AdapterView.ItemLongClickEventArgs e)
        {
            try
            {
                Problem          problem          = null;
                ProblemStep      step             = null;
                ProblemIdea      idea             = null;
                ProblemProAndCon problemProAndCon = null;

                ProblemSolvingProsAndConsDialogFragment proAndConFragment = null;
                Log.Info(TAG, "ProblemProAndConList_ItemLongClick: selected item - " + e.Position.ToString() + ", problemID - " + _problemID.ToString());

                problem = GlobalData.ProblemSolvingItems.Find(prob => prob.ProblemID == _problemID);
                if (problem != null)
                {
                    step = problem.ProblemSteps.Find(stp => stp.ProblemStepID == _problemStepID);
                    if (step != null)
                    {
                        idea = step.ProblemStepIdeas.Find(ida => ida.ProblemIdeaID == _problemIdeaID);
                        if (idea != null)
                        {
                            problemProAndCon = idea.ProsAndCons[e.Position];
                        }
                    }
                }
                if (problemProAndCon != null)
                {
                    proAndConFragment = new ProblemSolvingProsAndConsDialogFragment(this, "Edit Pro or Con", _problemID, problemProAndCon.ProblemStepID, problemProAndCon.ProblemIdeaID, problemProAndCon.ProblemProAndConID,
                                                                                    problemProAndCon.ProblemProAndConType, problemProAndCon.ProblemProAndConText.Trim());
                }
                var fragmentTransaction = FragmentManager.BeginTransaction();
                if (fragmentTransaction != null)
                {
                    proAndConFragment.Show(fragmentTransaction, proAndConFragment.Tag);
                }
            }
            catch (Exception ex)
            {
                Log.Error(TAG, "ProblemProAndConList_ItemLongClick: Exception - " + ex.Message);
                if (GlobalData.ShowErrorDialog)
                {
                    ErrorDisplay.ShowErrorAlert(this, ex, GetString(Resource.String.ErrorProblemSolvingProConActivitySelect), "ProblemSolvingProsAndConsActivity.ProblemProAndConList_ItemLongClick");
                }
            }
        }
Ejemplo n.º 2
0
        public void ConfirmAddition(int problemID, int problemStepID, int problemIdeaID, int problemProAndConID, string problemProAndConText, ConstantsAndTypes.PROCON_TYPES problemProAndConType)
        {
            try
            {
                Log.Info(TAG, "ConfirmAddition: problemIdeaID - " + problemIdeaID.ToString() + ", problemStepID - " + problemStepID.ToString() + ", problemID - " + problemID.ToString() + ", problemIdeaText - " + problemProAndConText);

                ProblemProAndCon proAndCon = null;
                if (problemProAndConID == -1)
                {
                    Log.Info(TAG, "ConfirmAddition: New step idea detected");
                    proAndCon               = new ProblemProAndCon();
                    proAndCon.IsNew         = true;
                    proAndCon.IsDirty       = false;
                    proAndCon.ProblemID     = problemID;
                    proAndCon.ProblemStepID = problemStepID;
                    proAndCon.ProblemIdeaID = problemIdeaID;
                }
                else
                {
                    proAndCon         = GlobalData.ProblemSolvingItems.Find(prob => prob.ProblemID == problemID).ProblemSteps.Find(probStep => probStep.ProblemStepID == problemStepID).ProblemStepIdeas.Find(stepIdea => stepIdea.ProblemIdeaID == problemIdeaID).ProsAndCons.Find(pro => pro.ProblemProAndConID == problemProAndConID);
                    proAndCon.IsNew   = false;
                    proAndCon.IsDirty = true;
                }

                proAndCon.ProblemProAndConText = problemProAndConText.Trim();
                proAndCon.ProblemProAndConType = problemProAndConType;

                proAndCon.Save();
                if (problemProAndConID == -1)
                {
                    GlobalData.ProblemSolvingItems.Find(prob => prob.ProblemID == problemID).ProblemSteps.Find(step => step.ProblemStepID == problemStepID).ProblemStepIdeas.Find(step => step.ProblemIdeaID == problemIdeaID).ProsAndCons.Add(proAndCon);
                }

                UpdateAdapter();
            }
            catch (Exception e)
            {
                Log.Error(TAG, "ConfirmAddition: Exception - " + e.Message);
                if (GlobalData.ShowErrorDialog)
                {
                    ErrorDisplay.ShowErrorAlert(this, e, GetString(Resource.String.ErrorProblemSolvingProConActivityAdd), "ProblemSolvingProsAndConsActivity.ConfirmAddition");
                }
            }
        }