Example #1
0
 internal async Task<bool> SendMessage(string connectionId, string senderId, string messageText)
 {
     ConnectionManager connectionManager = new ConnectionManager();
     Message currentMessage = new Message { ConnectionId = connectionId, RecieverId = senderId, BeenRead = false, MessageText = messageText, NumId = connectionManager.GetMessagesBetween(connectionId) };
     connectionManager.AddToMessagesBetween(connectionId);
     _messagesList.Add(currentMessage);
     await _messageTable.InsertAsync(currentMessage);
     return true;
 }
Example #2
0
 /// <summary>
 /// Invoked when this page is about to be displayed in a Frame.
 /// </summary>
 /// <param name="e">Event data that describes how this page was reached.  The Parameter
 /// property is typically used to configure the page.</param>
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     ConnectionManager cm = new ConnectionManager();
     UserManager um = new UserManager();
     _connections = cm.GetAssociatedConnections(um.CurrentUser);
     _users = new List<User>();
     foreach (Connection connection in _connections)
     {
         _users.Add(um.GetUser(um.CurrentUser.IsMentor ? connection.MenteeId : connection.MentorId));
     }
     ContactsComboBox.ItemsSource = _users.Select(x => x.FullName);
     MessagesComboBox.ItemsSource = _users.Select(x => x.FullName);
 }
Example #3
0
        /// <summary>
        /// Invoked when the application is launched normally by the end user.  Other entry points
        /// will be used when the application is launched to open a specific file, to display
        /// search results, and so forth.
        /// </summary>
        /// <param name="args">Details about the launch request and process.</param>
        protected override async void OnLaunched(LaunchActivatedEventArgs args)
        {
            Task task1 = new UserManager().InitialLoad();
            Task task2 = new ConnectionManager().InitialLoad();
            Task task3 = new MessageManager().InitialLoad();

            await task1;
            await task2;
            await task3;

            Frame rootFrame = Window.Current.Content as Frame;

            
            // Do not repeat app initialization when the Window already has content,
            // just ensure that the window is active
            if (rootFrame == null)
            {
                // Create a Frame to act as the navigation context and navigate to the first page
                rootFrame = new Frame();

                if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    //TODO: Load state from previously suspended application
                }

                // Place the frame in the current Window
                Window.Current.Content = rootFrame;
            }

            if (rootFrame.Content == null)
            {
                // When the navigation stack isn't restored navigate to the first page,
                // configuring the new page by passing required information as a navigation
                // parameter
                if (!rootFrame.Navigate(typeof(Login), args.Arguments))
                {
                    throw new Exception("Failed to create initial page");
                }
            }
            // Ensure the current window is active
            Window.Current.Activate();
        }