public async Task <bool> AllowPendingNode(string MAC) { UnitOfWork repository = UnitOfWork.GetInstance(); Home home = repository.HomeRespository.GetHome(); Node node = repository.NodeRespository.GetByMacAddress(MAC); NetworkJoin joinMod = CommunicationManager.Instance.FindModule <NetworkJoin>(); PendingNodeInfo info = joinMod.PendingNodes.FirstOrDefault(n => n.MacAddress == MAC); if (info != null) { if (node == null) { node = BusinessNode.CreateNode((BaseTypes)info.BaseType, (ShieldTypes)info.ShieldType); node.Mac = info.MacAddress; node.Address = repository.NodeRespository.GetNewAddress(); node = repository.NodeRespository.Insert(node); } bool accepted = await joinMod.AcceptNode(MAC, (ushort)node.Address, home.Security); if (accepted) { repository.Commit(); } return(accepted); } return(false); }
public Form1() { InitializeComponent(); this.joinMod = CommunicationManager.Instance.FindModule <NetworkJoin>(); joinMod.NetworkJoinReceived += joinMod_NetworkJoinReceived; joinMod.NodeJoined += joinMod_NetworkJoinReceived; /*var node = Repositories.NodeRespository.GetById(1); * CommunicationManager.Instance.FindModule<ConfigModule>().SendConfiguration(node);*/ }
public static NetworkJoinViewModelBase Create(NetworkJoin networkJoin) { switch (networkJoin) { case WorkgroupJoin workgroupJoin: return(new WorkgroupJoinViewModel { Name = workgroupJoin.Name }); case DomainJoin domainJoin: return(new DomainJoinViewModel { Name = domainJoin.Name, Username = domainJoin.Username, Password = domainJoin.Password }); default: return(null); } }