Beispiel #1
0
        /// <summary>
        /// Initializes a new instance of the MainViewModel class.
        /// </summary>
        public MainViewModel()
        {
            if (IsInDesignMode)
            {
                // Code runs in Blend --> create design time data.
                CurrentDocument = new TournamentViewModel(CreateDesignTimeVm());
                OpenedDocuments.Add(CurrentDocument);
            }
            else
            {
                new List <Model.Models.Tournament>(App.RestClient.GetAllWithHttpMessagesAsync().Result.Body).ForEach(t => Tournaments.Add(new TournamentViewModel(t)));
            }

            MessengerInstance.Register <OpenTournamentMessage>(this, m =>
            {
                OpenedDocuments.Add(m.Tournament);
                CurrentDocument = m.Tournament;
            });
            MessengerInstance.Register <CloseTournamentMessage>(this, m =>
            {
                if (OpenedDocuments.Contains(m.Sender))
                {
                    CurrentDocument = OpenedDocuments[0];
                    OpenedDocuments.Remove(m.Sender);
                }
            });
        }
 private void OnDocumentClose(object sender, EventArgs e)
 {
     if (sender is DocumentViewModel document)
     {
         document.DocumentClosedEvent -= OnDocumentClose;
         OpenedDocuments.Remove(document);
     }
 }