private async System.Threading.Tasks.Task saveEntry() { IsBusy = true; try { var forSave = EntitySaveHelper.GetEntryForSave(Entry); var url = EntryType == 1 ? "generalentries" : "entries"; if (Entry.EntryId != null) { var saved = await DataService.PutItemAsync <DataLayer.Models.Entry>(url, forSave.EntryId.Value, forSave); Entry.EntryId = saved.EntryId; } else { var saved = await DataService.PostItemAsync <DataLayer.Models.Entry>(url, forSave); Entry.EntryId = saved.EntryId; } EntrySaved?.Invoke(Entry, new EventArgs()); MessagingCenter.Send <EntryEditViewModel>(this, SUCCESS); IsBusy = false; } catch (Exception ex) { IsBusy = false; if (ex.InnerException != null) { ex = ex.InnerException; } ExceptionHelper.ShowException(ex); } finally { IsBusy = false; } }