/// <summary> /// Subscribes to "AddAcquaintance" messages /// </summary> void SubscribeToAddAcquaintanceMessages() { MessagingService.Current.Subscribe <Acquaintance>(MessageKeys.AddAcquaintance, async(service, acquaintance) => { IsBusy = true; await _DataSource.AddItem(acquaintance); await FetchAcquaintances(); IsBusy = false; }); }
/// <summary> /// Subscribes to "AddRecipe" messages /// </summary> void SubscribeToAddRecipeMessages() { MessagingService.Current.Subscribe <Recipe>(MessageKeys.AddRecipe, async(service, recipe) => { IsBusy = true; await _DataSource.AddItem(recipe); await FetchRecipes(); IsBusy = false; }); }
void Save() { if (string.IsNullOrWhiteSpace(_FirstNameField.Text) || string.IsNullOrWhiteSpace(_LastNameField.Text)) { //set alert for executing the task var alert = new Android.App.AlertDialog.Builder(this); alert.SetTitle("Invalid name!"); alert.SetMessage("An acquaintance must have both a first and last name."); alert.SetNegativeButton("OK", (senderAlert, args) => { // an empty delegate body, because we just want to close the dialog and not take any other action }); //run the alert in UI thread to display in the screen RunOnUiThread(() => { alert.Show(); }); return; } if (!RequiredAddressFieldCombinationIsFilled) { //set alert for executing the task var alert = new Android.App.AlertDialog.Builder(this); alert.SetTitle("Invalid address!"); alert.SetMessage("You must enter either a street, city, and state combination, or a postal code."); alert.SetNegativeButton("OK", (senderAlert, args) => { // an empty delegate body, because we just want to close the dialog and not take any other action }); //run the alert in UI thread to display in the screen RunOnUiThread(() => { alert.Show(); }); return; } _Acquaintance.FirstName = _FirstNameField.Text; _Acquaintance.LastName = _LastNameField.Text; _Acquaintance.Company = _CompanyField.Text; _Acquaintance.JobTitle = _JobTitleField.Text; _Acquaintance.Phone = _PhoneField.Text; _Acquaintance.Email = _EmailField.Text; _Acquaintance.Street = _StreetField.Text; _Acquaintance.City = _CityField.Text; _Acquaintance.State = _StateField.Text; _Acquaintance.PostalCode = _ZipField.Text; if (_IsNewAcquaintance) { _DataSource.AddItem(_Acquaintance); } else { _DataSource.UpdateItem(_Acquaintance); } OnBackPressed(); }
public override void ViewWillAppear(bool animated) { base.ViewWillAppear(animated); _FirstNameField.Text = _Acquaintance?.FirstName; _LastNameField.Text = _Acquaintance?.LastName; _CompanyNameField.Text = _Acquaintance?.Company; _JobTitleField.Text = _Acquaintance?.JobTitle; _PhoneNumberField.Text = _Acquaintance?.Phone; _EmailAddressField.Text = _Acquaintance?.Email; _StreetField.Text = _Acquaintance?.Street; _CityField.Text = _Acquaintance?.City; _StateField.Text = _Acquaintance?.State; _ZipField.Text = _Acquaintance?.PostalCode; NavigationItem.RightBarButtonItem.Clicked += async(sender, e) => { if (string.IsNullOrWhiteSpace(_FirstNameField.Text) || string.IsNullOrWhiteSpace(_LastNameField.Text)) { UIAlertController alert = UIAlertController.Create("Invalid name!", "A acquaintance must have both a first and last name.", UIAlertControllerStyle.Alert); // cancel button alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null)); UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(alert, true, null); } else if (!RequiredAddressFieldCombinationIsFilled) { UIAlertController alert = UIAlertController.Create("Invalid address!", "You must enter either a street, city, and state combination, or a postal code.", UIAlertControllerStyle.Alert); // cancel button alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null)); UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(alert, true, null); } else { if (_Acquaintance == null) { _Acquaintance = new Acquaintance(); } _Acquaintance.FirstName = _FirstNameField.Text; _Acquaintance.LastName = _LastNameField.Text; _Acquaintance.Company = _CompanyNameField.Text; _Acquaintance.JobTitle = _JobTitleField.Text; _Acquaintance.Phone = _PhoneNumberField.Text; _Acquaintance.Email = _EmailAddressField.Text; _Acquaintance.Street = _StreetField.Text; _Acquaintance.City = _CityField.Text; _Acquaintance.State = _StateField.Text; _Acquaintance.PostalCode = _ZipField.Text; if (_IsNew) { await _DataSource.AddItem(_Acquaintance); } else { await _DataSource.UpdateItem(_Acquaintance); } NavigationController.PopViewController(true); } }; }