public void Save(UserNetwork userNetwork)
        {
            if (userNetwork == null)
                throw new ArgumentNullException("userNetwork");

            using (var context = new DeviceHiveContext())
            {
                context.Users.Attach(userNetwork.User);
                context.Networks.Attach(userNetwork.Network);
                context.UserNetworks.Add(userNetwork);
                if (userNetwork.ID > 0)
                {
                    context.Entry(userNetwork).State = EntityState.Modified;
                }
                context.SaveChanges();
            }
        }
        public void Put(int id, int networkId, JObject json)
        {
            var user = DataContext.User.Get(id);
            if (user == null)
                ThrowHttpResponse(HttpStatusCode.NotFound, "User not found!");

            var network = DataContext.Network.Get(networkId);
            if (network == null)
                ThrowHttpResponse(HttpStatusCode.NotFound, "Network not found!");

            var userNetwork = DataContext.UserNetwork.Get(id, networkId);
            if (userNetwork == null)
                userNetwork = new UserNetwork(user, network);

            Mapper.Apply(userNetwork, json);
            Validate(userNetwork);

            DataContext.UserNetwork.Save(userNetwork);
        }
        public void Save(UserNetwork userNetwork)
        {
            if (userNetwork == null)
                throw new ArgumentNullException("userNetwork");

            if (userNetwork.User != null)
                userNetwork.UserID = userNetwork.User.ID;
            if (userNetwork.Network != null)
                userNetwork.NetworkID = userNetwork.Network.ID;

            _mongo.EnsureIdentity(userNetwork);
            _mongo.UserNetworks.Save(userNetwork);
        }
        public void UserNetwork()
        {
            var user = new User("Test", (int)UserRole.Administrator, (int)UserStatus.Active);
            user.SetPassword("TestPass");
            DataContext.User.Save(user);
            RegisterTearDown(() => DataContext.User.Delete(user.ID));

            var network = new Network("Test");
            DataContext.Network.Save(network);
            RegisterTearDown(() => DataContext.Network.Delete(network.ID));

            var userNetwork = new UserNetwork(user, network);
            DataContext.UserNetwork.Save(userNetwork);
            RegisterTearDown(() => DataContext.UserNetwork.Delete(userNetwork.ID));

            // test GetByUser
            var userNetworks1 = DataContext.UserNetwork.GetByUser(user.ID);
            Assert.Greater(userNetworks1.Count, 0);

            // test GetByNetwork
            var userNetworks2 = DataContext.UserNetwork.GetByNetwork(network.ID);
            Assert.Greater(userNetworks2.Count, 0);

            // test Get(id)
            var userNetwork1 = DataContext.UserNetwork.Get(userNetwork.ID);
            Assert.IsNotNull(userNetwork1);
            Assert.AreEqual(user.ID, userNetwork1.UserID);
            Assert.AreEqual(network.ID, userNetwork1.NetworkID);
            Assert.IsNotNull(userNetwork1.User);
            Assert.IsNotNull(userNetwork1.Network);

            // test Get(userId, networkId)
            var userNetwork2 = DataContext.UserNetwork.Get(user.ID, network.ID);
            Assert.IsNotNull(userNetwork2);

            // test Delete
            DataContext.UserNetwork.Delete(userNetwork.ID);
            var userNetwork3 = DataContext.UserNetwork.Get(userNetwork.ID);
            Assert.IsNull(userNetwork3);
        }
示例#5
0
        public void UserNetworkTest()
        {
            var user = new User("Test", "TestPass", (int)UserRole.Administrator, (int)UserStatus.Active);
            UserRepository.Save(user);

            var network = new Network("Test");
            NetworkRepository.Save(network);

            var userNetwork = new UserNetwork(user, network);
            UserNetworkRepository.Save(userNetwork);

            // test GetByUser
            var userNetworks1 = UserNetworkRepository.GetByUser(user.ID);
            Assert.Greater(userNetworks1.Count, 0);

            // test GetByNetwork
            var userNetworks2 = UserNetworkRepository.GetByNetwork(network.ID);
            Assert.Greater(userNetworks2.Count, 0);

            // test Get(id)
            var userNetwork1 = UserNetworkRepository.Get(userNetwork.ID);
            Assert.IsNotNull(userNetwork1);
            Assert.AreEqual(user.ID, userNetwork1.UserID);
            Assert.AreEqual(network.ID, userNetwork1.NetworkID);
            Assert.IsNotNull(userNetwork1.User);
            Assert.IsNotNull(userNetwork1.Network);

            // test Get(userId, networkId)
            var userNetwork2 = UserNetworkRepository.Get(user.ID, network.ID);
            Assert.IsNotNull(userNetwork2);

            // test Delete
            UserNetworkRepository.Delete(userNetwork.ID);
            var userNetwork3 = UserNetworkRepository.Get(userNetwork.ID);
            Assert.IsNull(userNetwork3);
        }