public MedicationTimeListAdapter(MedicationPagerAdapter activity, int medicationID) { _parent = activity; _medicationID = medicationID; Log.Info(TAG, "Constructor: Medication ID - " + _medicationID.ToString()); GetMedicationTimeData(); }
private void UpdateAdapter(string errorMessage = "") { try { MedicationPagerAdapter adapter = new MedicationPagerAdapter(this, _medication, _speakPermission); _viewPager.Adapter = adapter; } catch (Exception e) { Log.Error(TAG, "UpdateAdapter: Exception - " + e.Message); if (GlobalData.ShowErrorDialog) { ErrorDisplay.ShowErrorAlert((Activity)this, e, "Failed updating pager adapter", "MedicationPagerAdapter.UpdateAdapter"); } } }
public void AlertPositiveButtonSelect(object sender, DialogClickEventArgs e, string instanceId) { try { if (instanceId == "medicationCancel") { } MedicationPagerAdapter adapter = (MedicationPagerAdapter)_viewPager.Adapter; if (adapter == null) { return; } _medication = adapter.Medication; if (_medication == null) { return; } var selectedItemIndex = adapter.SelectedItemIndex; if (instanceId == "removeTime") { //start with getting the spread id of the selected item var spreadID = _medication.MedicationSpread[selectedItemIndex].ID; //is there a reminder set? bool isSet = false; if (_medication.MedicationSpread[selectedItemIndex].MedicationTakeReminder != null) { isSet = _medication.MedicationSpread[selectedItemIndex].MedicationTakeReminder.IsSet; } if (isSet) { if (_medication.MedicationSpread[selectedItemIndex].MedicationTakeReminder != null) { CancelAlarm(_medication.MedicationSpread[selectedItemIndex].MedicationTakeReminder.ID); _medication.MedicationSpread[selectedItemIndex].MedicationTakeReminder.Remove(); } } if (_medication.MedicationSpread[selectedItemIndex].MedicationTakeTime != null) { _medication.MedicationSpread[selectedItemIndex].MedicationTakeTime.Remove(); } //finally, remove the spread _medication.MedicationSpread[selectedItemIndex].Remove(); _medication.MedicationSpread.Remove(_medication.MedicationSpread[selectedItemIndex]); //if (_medication.MedicationSpread.Count == 0) //{ // _selectedMedicationTimeID = -1; // _selectedItemIndex = -1; //} var globalMedication = GlobalData.MedicationItems.Find(med => med.ID == _medication.ID); if (globalMedication != null) { var globalSpread = globalMedication.MedicationSpread.Find(spread => spread.ID == spreadID); if (globalSpread != null) { globalMedication.MedicationSpread.Remove(globalSpread); } UpdateAdapter(); _viewPager.SetCurrentItem((int)_currentView, false); //IsDirty = true; } } if (instanceId == "removeReminder") { try { //grab the list set List <MedicationSpread> medSpread = new List <MedicationSpread>(); foreach (var spread in _medication.MedicationSpread) { if (spread.MedicationTakeReminder != null) { if (spread.MedicationTakeReminder.IsSet) { medSpread.Add(spread); } } } if (medSpread.Count > 0) { //now get the spread var medicationSpread = medSpread[selectedItemIndex]; var spreadID = medicationSpread.ID; if (medicationSpread != null) { Log.Info(TAG, "AlertPositiveButtonSelect: Found reminder with ID " + spreadID.ToString()); var medication = GlobalData.MedicationItems.Find(med => med.ID == _medication.ID); if (medication != null) { var rmd = medication.MedicationSpread.Find(spread => spread.ID == spreadID).MedicationTakeReminder; if (rmd != null) { rmd.IsSet = false; CancelAlarm(rmd.ID); Log.Info(TAG, "AlertPositiveButtonSelect: Removed alarm with ID " + rmd.ID.ToString() + ", Dosage - " + medicationSpread.Dosage.ToString() + ", Medication name - " + _medication.MedicationName); } else { Log.Info(TAG, "AlertPositiveButtonSelect: Could not find reminder with Spread ID " + spreadID.ToString()); } } else { Log.Info(TAG, "AlertPositiveButtonSelect: Could not find Medication with ID " + _medication.ID.ToString() + ", Local medication ID is " + _medication.ID.ToString()); } medicationSpread.MedicationTakeReminder.Remove(); medicationSpread.MedicationTakeReminder = null; UpdateAdapter(); _viewPager.SetCurrentItem((int)_currentView, false); } } //IsDirty = true; } catch (System.Exception ex) { Log.Error(TAG, "AlertPositiveButtonSelect: Exception - " + ex.Message); if (GlobalData.ShowErrorDialog) { ErrorDisplay.ShowErrorAlert(this, ex, GetString(Resource.String.ErrorMedListFragRemoveRemind), "MedicationMainActivity.AlertPositiveButtonSelect"); } } } if (instanceId == "overdose") { try { Toast.MakeText(this, Resource.String.MedListFragOverdoseAbandonToast, ToastLength.Long).Show(); } catch (System.Exception ex) { Log.Error(TAG, "AlertPositiveButtonSelect: Exception - " + ex.Message); if (GlobalData.ShowErrorDialog) { ErrorDisplay.ShowErrorAlert(this, ex, GetString(Resource.String.ErrorMedListFragAddTime), "MedicationMainActivity.AlertPositiveButtonSelect"); } } } } catch (Exception ex) { Log.Error(TAG, "AlertPositiveButtonSelect: Exception - " + ex.Message); if (GlobalData.ShowErrorDialog) { ErrorDisplay.ShowErrorAlert((Activity)this, ex, GetString(Resource.String.ErrorMedListFragAddTime), "MedicationMainActivity.AlertPositiveButtonSelect"); } } }
public MedicationTimeDialogFragment(Activity activity, MedicationPagerAdapter fragment, string title) { _activity = activity; _fragment = fragment; _dialogTitle = title; }