protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_modify); _carbs = FindViewById <AppCompatSpinner>(Resource.Id.spinner); _foodCarbs = FindViewById <AppCompatEditText>(Resource.Id.top_field); _middleField = FindViewById <AppCompatEditText>(Resource.Id.middle_field); _mealName = FindViewById <AppCompatEditText>(Resource.Id.bottom_field); _mealType = FindViewById <AppCompatSpinner>(Resource.Id.mealtype_spinner); _middleField.Visibility = ViewStates.Gone; AppCompatButton carbEditButton = FindViewById <AppCompatButton>(Resource.Id.submit_button); AppCompatButton carbDeleteButton = FindViewById <AppCompatButton>(Resource.Id.delete_button); ArrayAdapter <MealType> adapter = new ArrayAdapter <MealType>(this, Android.Resource.Layout.SimpleSpinnerDropDownItem, (MealType[])Enum.GetValues(typeof(MealType))); _mealType.Adapter = adapter; _foodCarbs.Hint = "Food Carbs"; _mealName.Hint = "Meal Name"; _foodCarbs.Visibility = ViewStates.Gone; _mealName.Visibility = ViewStates.Gone; carbEditButton.Click += async delegate { carbEditButton.Enabled = false; carbDeleteButton.Enabled = false; string status = await OnCarbEditButtonPressed(); if (status == "Success") { Finish(); } else { carbEditButton.Enabled = true; carbDeleteButton.Enabled = true; RunOnUiThread(() => { Toast.MakeText(this, status, ToastLength.Long).Show(); }); } }; carbDeleteButton.Click += async delegate { carbEditButton.Enabled = false; carbDeleteButton.Enabled = false; string status = await Task.Run(() => OnCarbDeleteButtonPressed()); if (status == "Success") { Finish(); } else { carbEditButton.Enabled = true; carbDeleteButton.Enabled = true; RunOnUiThread(() => { Toast.MakeText(this, status, ToastLength.Long).Show(); }); } }; Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar_modify); toolbar.Title = "Modify A Carb Measurement"; SetSupportActionBar(toolbar); DrawerLayout drawer = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close); drawer.AddDrawerListener(toggle); toggle.SyncState(); _carbs.ItemSelected += delegate { _foodCarbs.Visibility = ViewStates.Visible; _mealName.Visibility = ViewStates.Visible; PatientCarbohydrate pc = _carbs.SelectedItem.Cast <PatientCarbohydrate>(); _foodCarbs.Text = pc.FoodCarbs.ToString(); _mealName.Text = pc.Meal.FoodName; _mealType.SetSelection((Enum.GetValues(typeof(MealType)).Cast <MealType>()).ToList().IndexOf(pc.Meal.MealTime)); }; NavigationView navigationView = FindViewById <NavigationView>(Resource.Id.nav_view_modify); navigationView.SetNavigationItemSelectedListener(this); }
public async Task <string> OnCarbCreateButtonPressed() { if (!String.IsNullOrEmpty(_foodCarbs.Text)) { if (int.Parse(_foodCarbs.Text) > 0 && int.Parse(_foodCarbs.Text) <= 1000) { DateTime timeNow = DateTime.Now; PatientData patientData = new PatientData(); Patient patient; try { patient = await _restService.ReadPatientAsync(); } catch (Exception) { return("No Connection"); } MealItem mealItem; try { mealItem = await _restService.ReadMealItemAsync(_mealName.Text); if (mealItem is null) { mealItem = new MealItem { FoodName = _mealName.Text, Carbs = Int32.Parse(_foodCarbs.Text), MealTime = (MealType)Enum.Parse(typeof(MealType), _mealType.SelectedItem.ToString()) }; await _restService.CreateMealItemAsync(mealItem); mealItem = await _restService.ReadMealItemAsync(_mealName.Text); } } catch (Exception) { return("Invalid Food Name"); } PatientCarbohydrate patientCarbohydrate = new PatientCarbohydrate() { UserId = patient.UserId, MealId = mealItem.MealId, Patient = patient, TimeOfDay = timeNow, FoodCarbs = mealItem.Carbs }; patientData.PatientCarbohydrates.Add(patientCarbohydrate); await _restService.CreatePatientData(patientData); return("Success"); } else { return("Invalid Range"); } } else { return("Form Is Not Filled Out"); } }