using System; using System.Collections.Generic; using System.IO.Ports; using System.Linq; using System.Text; using System.Threading; using System.Threading.Channels; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Xml.Serialization; using System.Windows.Threading; using System.Diagnostics; namespace SafeBagDE70 { /// /// Interaction logic for MainWindow.xaml /// /// //public class CountSession //{ // public int[] QuantityDenomi { get; set; } // public int[] SumDenomi { get; set; } //} public partial class MainWindow : HandyControl.Controls.Window { private WelcomeUC _welcomeUC; private DepositUC _depositUC; private CollectionUC _collectionUC; private InformationUC _informationUC; private ErrorUC _errorUC; private UserControl _currentUC; private UserControl _prevUC; private TimeoutUC _timeoutUC; private object objLock = new object(); public MainWindow() { InitializeComponent(); Loaded += MainWindow_Loaded; } private void MainWindow_Loaded(object sender, RoutedEventArgs e) { AppData.Init(); if (_welcomeUC == null) _welcomeUC = new WelcomeUC(); if (_collectionUC == null) _collectionUC = new CollectionUC(); if (_informationUC == null) _informationUC = new InformationUC(); if (_errorUC == null) _errorUC = new ErrorUC(); if (_depositUC == null) _depositUC = new DepositUC(); if (_timeoutUC == null) _timeoutUC = new TimeoutUC(); gridMain.Children.Add(_welcomeUC); gridMain.Children.Add(_depositUC); gridMain.Children.Add(_collectionUC); gridMain.Children.Add(_informationUC); gridMain.Children.Add(_errorUC); gridMain.Children.Add(_timeoutUC); ShowWelcomeScreen(); } public void HideAll() { lock(objLock) { foreach (var item in gridMain.Children) { if (item != null) (item as UserControl).Visibility = Visibility.Hidden; } _collectionUC.Visibility = Visibility.Hidden; _informationUC.Visibility = Visibility.Hidden; _errorUC.Visibility = Visibility.Hidden; _depositUC.Visibility = Visibility.Hidden; _welcomeUC.Visibility = Visibility.Hidden; } } public void ShowInformationScreen(string strInfor) { _prevUC = _currentUC; _currentUC = _informationUC; HideAll(); _informationUC.Visibility = Visibility.Visible; _informationUC.ShowInfor(strInfor); } public void ShowErrorScreen(string strError) { _prevUC = _currentUC; _currentUC = _errorUC; HideAll(); _errorUC.Visibility = Visibility.Visible; _errorUC.ShowInfor(strError); } public void ShowWelcomeScreen() { _prevUC = _currentUC; _currentUC = _welcomeUC; HideAll(); _welcomeUC.Visibility = Visibility.Visible; } public void ShowDepositScreen() { _prevUC = _currentUC; _currentUC = _depositUC; HideAll(); _depositUC.Visibility = Visibility.Visible; //_depositUC.EndTransaction(); _depositUC.InitTransaction(); } public void ShowCollectionScreen() { _prevUC = _currentUC; _currentUC = _collectionUC; HideAll(); _collectionUC.Visibility = Visibility.Visible; } public void ShowTimeoutScreen() { _prevUC = _currentUC; HideAll(); _timeoutUC.Visibility = Visibility.Visible; } public void BackScreen() { HideAll(); _prevUC.Visibility = Visibility.Visible; _currentUC = _prevUC; } } }