public async override void LoadState(object navigationParameter, Dictionary <String, Object> viewData) { Exception error = null; try { Loading = true; PageTitle = string.Format("Expense Claim {0}", (string)navigationParameter); if (viewData != null && viewData.ContainsKey("CurrentExpenseClaim")) { _model = (ExpenseClaim)viewData["CurrentExpenseClaim"]; _model.TrackChanges(); var cache = Acumatica.Core.Ioc.Container.Default.GetInstance <IExpenseClaimLineCache>(); if (cache.CurrentLine != null) { if (cache.CurrentLine.HasUnsavedChanges) { this.Model.HasUnsavedChanges = true; } MergeLineFromCache(cache.CurrentLine); cache.CurrentLine = null; } } else { var service = Acumatica.Core.Ioc.Container.Default.GetInstance <IExpenseClaimService>(); _model = await service.GetExpenseClaim(navigationParameter as string); } OnPropertyChanged("Model"); OnPropertyChanged("LinesTotal"); } catch (Exception e) { error = e; } finally { Loading = false; } if (error != null) { await Acumatica.Core.Ioc.Container.Default.GetInstance <IExceptionHandlerService>().HandleExceptionAsync(error); Acumatica.Core.Ioc.Container.Default.GetInstance <Acumatica.Core.Service.INavigationService>().GoBack(); } }