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; }
/// <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); }
/// <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(); }