public async Task <string> GetWebPage(ExecutionContext executionContext, Constants.Pages webpage, object model) { if (_engine is null) { BuildEngine(executionContext); } return(await _engine.CompileRenderAsync(Constants.Templates[webpage], model)); }
public void ShowControl(Constants.Pages pageType) { //all pages should have been generated on start if (!_pages.ContainsKey(pageType)) { throw new Exception("Page not found"); } //hide all other pages and show just the desired one var myControl = _pages[pageType]; HideAllUserControls(); myControl.Show(); _view.AddControlToControlCollection(myControl); }
public void AddControlToPagesDictionaryIfNotPresent(Constants.Pages myPageType, Control myControl) { if (_pages.ContainsKey(myPageType)) { return; } switch (myPageType) { case Constants.Pages.Login: var loginControl = (ILoginControl)myControl; var loginPresenter = new LoginControlPresenter(loginControl, new LoginViewModel(), _shipService); loginPresenter.AuthenticationPassed += LoginControlPresenter_AuthenticationPassed; loginPresenter.AuthenticationFailed += LoginControlPresenter_AuthenticationFailed; _pages.Add(myPageType, myControl); return; case Constants.Pages.Ship: var shipControl = (IShipControl)myControl; var shipPresenter = new ShipControlPesenter(shipControl, new ShipViewModel(), _shipService, _scale, _printer); shipPresenter.PageChangeRequested += OnPageChangeRequested; _pages.Add(myPageType, myControl); return; case Constants.Pages.ScaleSetup: var scaleSetupControl = (IScaleSetupControl)myControl; var scaleSetupPresenter = new ScaleSetupControlPresenter(scaleSetupControl, new ScaleSetupViewModel()); scaleSetupPresenter.PageChangeRequested += OnPageChangeRequested; scaleSetupPresenter.ScaleSettingsChanged += ScaleSetupPresenterOnScaleSettingsChanged; _pages.Add(myPageType, myControl); return; default: throw new ArgumentException("Page type does not exist"); } }
private void OnPageChangeRequested(object sender, Constants.Pages desiredPage) { ShowControl(desiredPage); }