protected override async Task OnInternalAppearingAsync() { try { await ViewModelStateItem.RunActionAsync(async() => { await RefreshData(); }, () => SetLabelsStateItem(openmediavault.UpdateManagement, openmediavault.Loading_PleaseWait___), () => { SetLabelsStateItem(openmediavault.UpdateManagement, openmediavault.Done___); }); } catch (AuthorizationException ex) { if (!retry) { SetLabelsStateItem(openmediavault.Error, ex.Message); _messagingCenter.Send("this", MessengerKeys.SessionExpired, "item"); } else { retry = false; await Task.Delay(100); await OnInternalAppearingAsync(); } } catch (Exception e) { SetLabelsStateItem(openmediavault.Error, e.Message); } await base.OnInternalAppearingAsync(); retry = true; }
public void RunActions() { var viewModelMock = new Mock <IViewModel>(); var MainThread = new Mock <Xamarin.Essentials.Interfaces.IMainThread>(); var obj = new ViewModelStateItem(viewModelMock.Object, MainThread.Object); Assert.IsNotNull(obj); bool myActionCalled = false; bool BeforeCalled = false; bool AfterCalled = false; Action myAction = () => { myActionCalled = true; Assert.IsTrue(obj.IsRunning); }; Action before = () => { BeforeCalled = true; Assert.IsFalse(obj.IsRunning); }; Action after = () => { AfterCalled = true; Assert.IsFalse(obj.IsRunning); }; obj.RunActions(myAction, before, after); Assert.IsFalse(obj.IsRunning); Assert.IsTrue(myActionCalled); Assert.IsTrue(BeforeCalled); Assert.IsTrue(AfterCalled); }
public void RunFunc2() { var viewModelMock = new Mock <IViewModel>(); var MainThread = new Mock <Xamarin.Essentials.Interfaces.IMainThread>(); var obj = new ViewModelStateItem(viewModelMock.Object, MainThread.Object); Assert.IsNotNull(obj); bool myActionCalled = false; bool BeforeCalled = false; bool AfterCalled = false; Func <string> myAction = () => { myActionCalled = true; Assert.IsTrue(obj.IsRunning); return("ok_2"); }; Action before = () => { BeforeCalled = true; Assert.IsFalse(obj.IsRunning); }; Action after = () => { AfterCalled = true; Assert.IsFalse(obj.IsRunning); }; var result = obj.RunFunc <string>(myAction, before, after); Assert.IsFalse(obj.IsRunning); Assert.IsTrue(myActionCalled); Assert.IsTrue(BeforeCalled); Assert.IsTrue(AfterCalled); Assert.AreEqual("ok_2", result); }
private async void DeleteFileSystem(object o) { if (!await _messageBoxService.ShowAction(openmediavault.DeleteFileSystem, openmediavault.DoYouReallyWantToDeleteTheFileSystem_AllDataWillBeLost_)) { return; } if (o is OmvFilesystems filesystem) { await ViewModelStateItem.RunActionAsync(async() => { await _omvService.DeleteFileSystem(filesystem); var fileneame = await _omvService.ApplyChanges(); await _omvService.CheckRunningAsync(fileneame); await RefreshData(); }, () => SetLabelsStateItem("FileSystemMgmt", openmediavault.ApplyConfigurationChanges), () => { SetLabelsStateItem("FileSystemMgmt", openmediavault.Done___); }); } }
protected override async Task OnInternalAppearingAsync() { await ViewModelStateItem.RunActionAsync(async() => { await RefreshData(); }, () => SetLabelsStateItem("FileSystemMgmt", "Get file systems"), () => { SetLabelsStateItem("FileSystemMgmt", openmediavault.Done___); }); await base.OnInternalAppearingAsync(); }
protected override async Task OnInternalAppearingAsync() { await ViewModelStateItem.RunActionAsync(async() => { await RefreshData(); }, () => SetLabelsStateItem("OMV", openmediavault.CheckingForNewPlugins___), () => { SetLabelsStateItem("OMV", openmediavault.Done___); }); await base.OnInternalAppearingAsync(); }
public void RunAction() { var viewModelMock = new Mock <IViewModel>(); var MainThread = new Mock <Xamarin.Essentials.Interfaces.IMainThread>(); var obj = new ViewModelStateItem(viewModelMock.Object, MainThread.Object); Assert.IsNotNull(obj); Action act = () => { Assert.IsTrue(obj.IsRunning); }; obj.RunAction(act); Assert.IsFalse(obj.IsRunning); }
public void Create() { //var loggertMock = new Mock<ILogger>(); //var telemetryServiceMock = new Mock<ITelemetryService>(); var viewModelMock = new Mock <IViewModel>(); var MainThread = new Mock <Xamarin.Essentials.Interfaces.IMainThread>(); var obj = new ViewModelStateItem(viewModelMock.Object, MainThread.Object) as BaseItem; Assert.IsNotNull(obj); Assert.IsNull(obj.Icon); Assert.IsNull(obj.Title); Assert.IsNull(obj.Subtitle); Assert.IsNull(obj.Description); Assert.IsNull(obj.ToString()); }
private async void UmountFileSystem(object o) { if (o is OmvFilesystems filesystem) { await ViewModelStateItem.RunActionAsync(async() => { await _omvService.UmountFileSystem(filesystem); var fileneame = await _omvService.ApplyChanges(); await _omvService.CheckRunningAsync(fileneame); await RefreshData(); }, () => SetLabelsStateItem("FileSystemMgmt", openmediavault.ApplyConfigurationChanges), () => { SetLabelsStateItem("FileSystemMgmt", openmediavault.Done___); }); } }
public void Create() { //var loggertMock = new Mock<ILogger>(); //var telemetryServiceMock = new Mock<ITelemetryService>(); var viewModelMock = new Mock <IViewModel>(); var MainThread = new Mock <Xamarin.Essentials.Interfaces.IMainThread>(); var obj = new ViewModelStateItem(viewModelMock.Object, MainThread.Object); Assert.IsNotNull(obj); Assert.AreEqual(viewModelMock.Object, obj.ViewModel); Assert.AreEqual(SvgIconTarget.Info, obj.Icon); Assert.AreEqual(obj.ViewModel.CmdState, obj.ShowCurrentCmd); Assert.IsNull(obj.Color); Assert.IsNull(obj.Title); Assert.IsNull(obj.Subtitle); Assert.IsNull(obj.Description); Assert.IsFalse(obj.IsRunning); }
public void SetSubtitle() { //var loggertMock = new Mock<ILogger>(); //var telemetryServiceMock = new Mock<ITelemetryService>(); var viewModelMock = new Mock <IViewModel>(); var MainThread = new Mock <Xamarin.Essentials.Interfaces.IMainThread>(); var obj = new ViewModelStateItem(viewModelMock.Object, MainThread.Object) as BaseItem; Assert.IsNotNull(obj); var propertyName = ""; obj.PropertyChanged += (sender, args) => { propertyName = args.PropertyName; }; obj.Subtitle = "toto"; Assert.IsNull(obj.Icon); Assert.IsNull(obj.Title); Assert.IsNotNull(obj.Subtitle); Assert.IsNull(obj.Description); Assert.IsNull(obj.ToString()); Assert.AreEqual(nameof(BaseItem.Subtitle), propertyName); }
protected override async Task OnInternalAppearingAsync() { ViewModelStateItem.RunAction(async() => { await RefreshData(); }); await base.OnInternalAppearingAsync(); }
public ViewModelWhithState() { _viewModelStateItem = new ViewModelStateItem(this, App.Container.Resolve <Xamarin.Essentials.Interfaces.IMainThread>()); }