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); }
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); }