public async Task PushPageModel <T, TPage> (object data, bool modal = false, bool animate = true) where T : FreshBasePageModel where TPage : Page { T pageModel = FreshIOC.Container.Resolve <T> (); TPage page = FreshIOC.Container.Resolve <TPage>(); FreshPageModelResolver.BindingPageModel(data, page, pageModel); await PushPageModelWithPage(page, pageModel, data, modal, animate); }
public static async Task PushPopupPageModel <T, TPopupPage>(this IPageModelCoreMethods pageModelCoreMethods, object data = null, bool animate = true) where T : FreshBasePageModel where TPopupPage : PopupPage { var pageModel = FreshIOC.Container.Resolve <T>(); var page = FreshIOC.Container.Resolve <TPopupPage>(); FreshPageModelResolver.BindingPageModel(data, page, pageModel); await PushPopupPageModel(page, animate); }
private static async Task PushPopupPageModel(FreshBasePageModel pageModel, object data = null, bool animate = true) { var page = FreshPageModelResolver.ResolvePageModel(data, pageModel); FreshPageModelResolver.BindingPageModel(data, page, pageModel); if (page is PopupPage) { await PushPopupPageModel((PopupPage)page, animate); } else { throw new InvalidOperationException("Resolved page type is not PopupPage"); } }