1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- 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;
- namespace WinUI.OnboardProcess
- {
- /// <summary>
- /// Interaction logic for CreateOrJoin.xaml
- /// </summary>
- public partial class CreateOrJoin : UserControl, ISwitchable
- {
- private List<CentralNetwork> networkList = new List<CentralNetwork>();
- public CreateOrJoin()
- {
- InitializeComponent();
- listViewDataBinding.ItemsSource = networkList;
- GetAvailableNetworks();
- }
- public void UtilizeState(object state)
- {
- throw new NotImplementedException();
- }
- private async void GetAvailableNetworks()
- {
- CentralAPI api = CentralAPI.Instance;
- List<CentralNetwork> networks = await api.GetNetworkList();
- foreach (CentralNetwork n in networks)
- {
- networkList.Add(n);
- }
- listViewDataBinding.Items.Refresh();
- }
- public void OnJoinButtonClick(object sender, RoutedEventArgs e)
- {
- Button button = sender as Button;
- string networkId = button.Tag as string;
- APIHandler handler = APIHandler.Instance;
- handler.JoinNetwork(this.Dispatcher, networkId);
- AuthorizeNetworkMember(networkId);
- }
- public void OnCreateButtonClick(object sender, RoutedEventArgs e)
- {
- CreateNewNetwork();
- }
- private async void CreateNewNetwork()
- {
- CentralAPI api = CentralAPI.Instance;
- CentralNetwork newNetwork = await api.CreateNewNetwork();
- APIHandler handler = APIHandler.Instance;
- handler.JoinNetwork(this.Dispatcher, newNetwork.Id);
- AuthorizeNetworkMember(newNetwork.Id);
- }
- private async void AuthorizeNetworkMember(string networkId)
- {
- string nodeId = APIHandler.Instance.NodeAddress();
- bool authorized = await CentralAPI.Instance.AuthorizeNode(nodeId, networkId);
- if (authorized)
- {
- Switcher.Switch(new Finished());
- }
- else
- {
- }
- }
- }
- }
|