コード例 #1
0
        public IHttpActionResult Get(int id)
        {
            var network = _networkRep.Get(id);

            if (network == null)
            {
                var errorMessage = _messages.GetMessage(Custom.NotFound, "Network");
                return(NotFound(errorMessage));
            }

            var networkModel = _mapper.Map <NetworkModelGet>(network);

            return(Ok(networkModel));
        }
コード例 #2
0
ファイル: RpcNetworkRepository.cs プロジェクト: Mavtak/roomie
        public Response <Persistence.Models.Network[]> List()
        {
            var cache    = new InMemoryRepositoryModelCache();
            var networks = _networkRepository.Get(_user, cache);

            var deviceRepository = _repositoryFactory.GetDeviceRepository();

            foreach (var network in networks)
            {
                network.LoadDevices(deviceRepository);
            }

            var result = networks.Select(GetSerializableVersion)
                         .ToArray();

            return(Response.Create(result));
        }
コード例 #3
0
ファイル: Helpers.cs プロジェクト: Mavtak/roomie
        public static void AddUserAndCopyAccess(IUserRepository userRepository, INetworkRepository networkRepository, INetworkGuestRepository networkGuestRepository, string username, string password, string referenceUsername)
        {
            var user = User.Create(string.Join(":", "internal", username));
            user.Secret = Web.Persistence.Helpers.Secrets.BCryptSecret.FromPassword(password);

            userRepository.Add(user);

            var referenceUser = userRepository.Get(string.Join(":", "internal", referenceUsername));

            var networks = networkRepository.Get(referenceUser);

            foreach (var network in networks)
            {
                networkGuestRepository.Add(network, user);
            }
        }
コード例 #4
0
        public static void AddUserAndCopyAccess(IUserRepository userRepository, INetworkRepository networkRepository, INetworkGuestRepository networkGuestRepository, string username, string password, string referenceUsername)
        {
            var user = User.Create(string.Join(":", "internal", username));

            user.Secret = Web.Persistence.Helpers.Secrets.BCryptSecret.FromPassword(password);

            userRepository.Add(user);

            var referenceUser = userRepository.Get(string.Join(":", "internal", referenceUsername));

            var networks = networkRepository.Get(referenceUser);

            foreach (var network in networks)
            {
                networkGuestRepository.Add(network, user);
            }
        }
コード例 #5
0
        public Network[] Get(User user, IRepositoryModelCache cache = null)
        {
            var userModel  = UserModel.FromRepositoryType(user);
            var sql        = @"
                SELECT Network_Id
                FROM NetworkGuestModels
                WHERE User_Id = @User_Id
            ";
            var parameters = new
            {
                User_Id = userModel.Id,
            };

            var networkIds = _connection.Query <int>(sql, parameters).ToArray();
            var result     = networkIds
                             .Select((id) => _networkRepository.Get(id, cache))
                             .ToArray();

            return(result);
        }
コード例 #6
0
        public IHttpActionResult GetConnections(string address)
        {
            var gateway = _gatewayRep.GetAll()
                          .SingleOrDefault(g => g.Address == address);

            if (gateway == null)
            {
                var errorMessage = _messages.GetMessage(Custom.NotFound, "Gateway");
                return(NotFound(errorMessage));
            }

            gateway.Active         = true;
            gateway.LastSignalDate = _dateTime.GetDateTime();
            _gatewayRep.Update(gateway);

            var network      = _networkRep.Get(gateway.Network_Id);
            var networkModel = _mapper.Map <NetworkWithSensorsModel>(network);

            return(Ok(networkModel));
        }
コード例 #7
0
        public static Network ToRepositoryType(IRepositoryModelCache cache, int?id, INetworkRepository networkRepository)
        {
            if (id == null)
            {
                return(null);
            }

            var cachedValue = cache?.Get <Network>(id);

            if (cachedValue != null)
            {
                return(cachedValue);
            }

            if (networkRepository == null)
            {
                new NetworkModel
                {
                    Id = id.Value
                }.ToRepositoryType(cache, (IComputerRepository)null, (IUserRepository)null);
            }

            return(networkRepository.Get(id.Value, cache));
        }
コード例 #8
0
        public Network Get(int id, IRepositoryModelCache cache = null)
        {
            var result = _networks.Get(id, cache);

            return(result);
        }