private async Task SaveAsync(Object argument) { var canSaveResult = this.CanSave(); if (canSaveResult != null && canSaveResult.Length > 0) { var translateExtension = new Citizen.Extensions.TranslateExtension(); translateExtension.Text = canSaveResult.Length == 1 ? "Is" : "Are"; var verb = translateExtension.ProvideValue(null) as string; var dialogService = Xamarin.Forms.DependencyService.Get <IDialogService>(); await dialogService.AlertInfo("Error", "SavingRequirement", String.Join(",", canSaveResult), verb); return; } this.State = ViewStatesHelper.MoveToState(this.State, ViewStates.Saving); var permanentlySaved = this.OnSaving(); var storeService = Xamarin.Forms.DependencyService.Get <IDataStoreService>(); storeService.SaveTemporarily <T>(CurrentItem); this.State = ViewStatesHelper.MoveToState(this.State, ViewStates.Viewing); if (this.InitialState == ViewStates.Viewing && permanentlySaved == false) { this._initialState = ViewStatesHelper.MoveToState(this.InitialState, ViewStates.Updating, this.InitialState); } RefreshParentContainer(); }
public static string RetrieveTranslation(string translationKey) { var translateExtension = new Citizen.Extensions.TranslateExtension(); translateExtension.Text = translationKey; var translation = translateExtension.ProvideValue(null) as string; return(translation); }
public static Tuple <T, OperationKinds> TransformToDto <VM, T>(this VM model) where VM : ActionableBaseViewModel <VM, T> where T : class, Common.IModelDefinition { Core.CoreHelpers.ValidateDefined(model, "model from transfromDto"); var viewstate = model.State; var updateModel = model.CurrentItem; switch (viewstate) { case Core.ViewStates.Creating: case Core.ViewStates.CreatingViewing: case Core.ViewStates.UpdatingCreate: return(new Tuple <T, OperationKinds>(updateModel, OperationKinds.Create)); case Core.ViewStates.Deleting: return(new Tuple <T, OperationKinds>(updateModel, OperationKinds.Delete)); case Core.ViewStates.Updating: case Core.ViewStates.UpdatingViewing: return(new Tuple <T, OperationKinds>(updateModel, OperationKinds.Update)); case Core.ViewStates.Viewing: if (model.InitialState == Core.ViewStates.Creating) { return(new Tuple <T, OperationKinds>(updateModel, OperationKinds.Create)); } else if (model.InitialState == Core.ViewStates.Updating) { return(new Tuple <T, OperationKinds>(updateModel, OperationKinds.Update)); } break; default: break; } var translateExtension = new Citizen.Extensions.TranslateExtension(); translateExtension.Text = "TransformToDtoInvalidViewModelViewState"; var errorMessage = translateExtension.ProvideValue(null) as string; throw new InvalidOperationException(errorMessage); }
public async Task AlertInfo(string titleKey, string messageKey, params Object[] args) { var translateExtension = new Citizen.Extensions.TranslateExtension(); translateExtension.Text = titleKey; var title = translateExtension.ProvideValue(null) as string; translateExtension.Text = messageKey; var messageText = translateExtension.ProvideValue(null) as string; if (args.Length > 0) { messageText = String.Format(messageText, args); } translateExtension.Text = "Ok"; var okText = translateExtension.ProvideValue(null) as string; await App.Current.MainPage.DisplayAlert(title, messageText, okText); }
public async Task <bool> ConfirmDeletion(string contentTextAppend, bool singleItem) { var translateExtension = new Citizen.Extensions.TranslateExtension(); translateExtension.Text = "ConfirmItemDeletionTitle"; var deleteTitle = translateExtension.ProvideValue(null) as string; translateExtension.Text = singleItem == true ? "ConfirmItemDeletionContent" : "ConfirmItemDeletionCount"; var confirmationDeleteItemText = translateExtension.ProvideValue(null) as string; var confirmationDeleteItemTextFormat = String.Format(confirmationDeleteItemText, contentTextAppend); translateExtension.Text = "Yes"; var yestText = translateExtension.ProvideValue(null) as string; translateExtension.Text = "No"; var NoText = translateExtension.ProvideValue(null) as string; bool answer = await App.Current.MainPage.DisplayAlert(deleteTitle, confirmationDeleteItemTextFormat, yestText, NoText); return(answer); }