2018-12-29 11:58:25 +01:00
|
|
|
|
using HospitalServerManager.InterfacesAndEnums;
|
|
|
|
|
using HospitalServerManager.ViewModel.Controllers;
|
|
|
|
|
using System;
|
2018-11-18 18:49:40 +01:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Runtime.InteropServices.WindowsRuntime;
|
|
|
|
|
using Windows.Foundation;
|
|
|
|
|
using Windows.Foundation.Collections;
|
|
|
|
|
using Windows.UI.Xaml;
|
|
|
|
|
using Windows.UI.Xaml.Controls;
|
|
|
|
|
using Windows.UI.Xaml.Controls.Primitives;
|
|
|
|
|
using Windows.UI.Xaml.Data;
|
|
|
|
|
using Windows.UI.Xaml.Input;
|
|
|
|
|
using Windows.UI.Xaml.Media;
|
|
|
|
|
using Windows.UI.Xaml.Navigation;
|
|
|
|
|
|
|
|
|
|
//Szablon elementu Pusta strona jest udokumentowany na stronie https://go.microsoft.com/fwlink/?LinkId=234238
|
|
|
|
|
|
|
|
|
|
namespace HospitalServerManager.View
|
|
|
|
|
{
|
2019-01-11 22:32:18 +01:00
|
|
|
|
/// WebService powinien byc chyba wlasciwoscia w roznych kontrolerach np. GetController/PutController itp.; Obsługa błędów !! Np. Error z servera;
|
|
|
|
|
/// Reload rekordów po edit i update; Testy w insert i update głupich wartości; Może ten email??;
|
2018-11-18 18:49:40 +01:00
|
|
|
|
public sealed partial class MainFrameView : Page
|
|
|
|
|
{
|
2018-12-29 11:58:25 +01:00
|
|
|
|
private INavigator Navigator { get; set; }
|
|
|
|
|
private IProvideType TypeProvider { get; set; }
|
|
|
|
|
public MainFrameView()
|
2018-11-18 18:49:40 +01:00
|
|
|
|
{
|
|
|
|
|
this.InitializeComponent();
|
2018-12-29 11:58:25 +01:00
|
|
|
|
InitializeProperties();
|
2018-11-18 18:49:40 +01:00
|
|
|
|
}
|
|
|
|
|
private void AppBarButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
2018-12-29 11:58:25 +01:00
|
|
|
|
string pageTypeName = (sender as AppBarButton).Tag.ToString();
|
2019-01-11 22:32:18 +01:00
|
|
|
|
if(pageTypeName == "AdmissionsPage")
|
|
|
|
|
{
|
|
|
|
|
Navigator.SetParameter(new Action(() => Navigator.ChangeFrame(typeof(NewAdmissionPage), mainFrame)));
|
|
|
|
|
}
|
2018-12-29 11:58:25 +01:00
|
|
|
|
Type pageType = TypeProvider.GetTypeFromString(pageTypeName);
|
|
|
|
|
|
|
|
|
|
IPageNavigateable page = Navigator.ChangeFrame(pageType, mainFrame);
|
2019-01-11 22:32:18 +01:00
|
|
|
|
Navigator.RemoveParameters();
|
|
|
|
|
navigationBar.IsOpen = navigationBar.IsSticky = true;
|
|
|
|
|
}
|
2018-12-29 11:58:25 +01:00
|
|
|
|
private void InitializeProperties()
|
|
|
|
|
{
|
|
|
|
|
IValidateIfInterfaceIsImplemented validator = new ViewModel.Validators.InterfaceImplementValidator();
|
2019-01-07 19:49:48 +01:00
|
|
|
|
Navigator = new ViewNavigator(validator, new PatientsPage());
|
2018-12-29 11:58:25 +01:00
|
|
|
|
// TODO: Dodać pozostałe Page
|
|
|
|
|
TypeProvider = new ViewModel.DataProvider.NavigationPageTypeProvider(validator,
|
|
|
|
|
new List<Type>
|
|
|
|
|
{
|
2019-01-07 19:49:48 +01:00
|
|
|
|
typeof(PatientsPage), typeof(DoctorsPage), typeof(AdmissionsPage), typeof(DiagnosesPage),
|
2019-01-11 22:32:18 +01:00
|
|
|
|
typeof(RoomsPage), typeof(SurgeriesPage), typeof(NewAdmissionPage),
|
2018-12-29 11:58:25 +01:00
|
|
|
|
});
|
2019-01-11 22:32:18 +01:00
|
|
|
|
Navigator.SetParameter(new Action(() => Navigator.ChangeFrame(typeof(NewAdmissionPage), mainFrame)));
|
2019-01-07 19:49:48 +01:00
|
|
|
|
Type pageType = TypeProvider.GetTypeFromString("AdmissionsPage");
|
2018-12-29 11:58:25 +01:00
|
|
|
|
|
|
|
|
|
Navigator.ChangeFrame(pageType, mainFrame);
|
2019-01-11 22:32:18 +01:00
|
|
|
|
Navigator.RemoveParameters();
|
2018-12-29 11:58:25 +01:00
|
|
|
|
}
|
|
|
|
|
}
|
2018-11-18 18:49:40 +01:00
|
|
|
|
}
|