Beispiel #1
0
        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);
        }
    }