Example #1
0
        public Device ToRepositoryType(IRepositoryModelCache cache, INetworkRepository networkRepository, IScriptRepository scriptRepository, ITaskRepository taskRepository)
        {
            IDeviceState state = null;

            if (!string.IsNullOrEmpty(Notes))
            {
                var element = XElement.Parse(Notes);
                state = element.ToDeviceState();
            }

            var result = new Device(
                address: Address,
                lastPing: LastPing,
                id: Id,
                name: Name,
                network: NetworkModel.ToRepositoryType(cache, Network_Id, networkRepository),
                scripts: scriptRepository,
                state: state,
                tasks: taskRepository,
                type: DeviceType.GetTypeFromString(Type_Name)
                );

            cache?.Set(result.Id, result);

            return(result);
        }
Example #2
0
        public WebHookSession ToRepositoryType(IRepositoryModelCache cache, IComputerRepository computerRepository)
        {
            var result = new WebHookSession(
                computer: ComputerModel.ToRepositoryType(cache, Computer_Id, computerRepository),
                id: Id,
                lastPing: LastPing,
                token: Token
                );

            cache?.Set(result.Id, result);

            return(result);
        }
Example #3
0
        public UserSession ToRepositoryType(IRepositoryModelCache cache, IUserRepository userRepository)
        {
            var result = new UserSession(
                creationTimeStamp: CreationTimeStamp,
                id: Id,
                lastContactTimeStamp: LastContactTimeStamp,
                token: Token,
                user: UserModel.ToRepositoryType(cache, User_Id, userRepository)
                );

            cache?.Set(result.Id, result);

            return(result);
        }
Example #4
0
        public User ToRepositoryType(IRepositoryModelCache cache)
        {
            var result = new User(
                alias: Alias,
                email: Email,
                id: Id,
                registeredTimestamp: RegisteredTimestamp,
                secret: SecretExtensions.Parse(Secret),
                token: Token
                );

            cache?.Set(result.Id, result);

            return(result);
        }
Example #5
0
        public Script ToRepositoryType(IRepositoryModelCache cache)
        {
            var result = new Script(
                creationTimestamp: CreationTimestamp,
                id: Id,
                lastRunTimestamp: LastRunTimestamp,
                mutable: Mutable,
                runCount: RunCount,
                text: Text
                );

            cache?.Set(result.Id, result);

            return(result);
        }
Example #6
0
        public Network ToRepositoryType(IRepositoryModelCache cache, IComputerRepository computerRepository, IUserRepository userRepository)
        {
            var result = new Network(
                address: Address,
                attatchedComputer: ComputerModel.ToRepositoryType(cache, AttatchedComputer_Id, computerRepository),
                devices: null,
                id: Id,
                lastPing: LastPing,
                name: Name,
                owner: UserModel.ToRepositoryType(cache, Owner_Id, userRepository)
                );

            cache?.Set(result.Id, result);

            return(result);
        }
Example #7
0
        public Computer ToRepositoryType(IRepositoryModelCache cache, IScriptRepository scriptRepository, IUserRepository userRepository)
        {
            var result = new Computer(
                accessKey: AccessKey,
                address: Address,
                encryptionKey: EncryptionKey,
                id: Id,
                lastPing: LastPing,
                lastScript: ScriptModel.ToRepositoryType(cache, LastScript_Id, scriptRepository),
                name: Name,
                owner: UserModel.ToRepositoryType(cache, Owner_Id, userRepository)
                );

            cache?.Set(result.Id, result);

            return(result);
        }
Example #8
0
        public Task ToRepositoryType(IRepositoryModelCache cache, IComputerRepository computerRepository, IScriptRepository scriptRepository, IUserRepository userRepository)
        {
            var cachedValue = cache?.Get <Task>(Id);

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

            var result = new Task(
                expiration: Expiration,
                id: Id,
                origin: Origin,
                owner: UserModel.ToRepositoryType(cache, Owner_Id, userRepository),
                receivedTimestamp: ReceivedTimestamp,
                script: ScriptModel.ToRepositoryType(cache, Script_Id, scriptRepository),
                target: ComputerModel.ToRepositoryType(cache, Target_Id, computerRepository)
                );

            cache?.Set(result.Id, result);

            return(result);
        }