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"); } } }
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"); } } }