Orc.NuGetExplorer.RepositoryCacheService.CreateSerializableRepository C# (CSharp) Method

CreateSerializableRepository() private method

private CreateSerializableRepository ( int id, string name, string source, PackageOperationType operationType, Func packageRepositoryFactory ) : IRepository
id int
name string
source string
operationType PackageOperationType
packageRepositoryFactory Func
return IRepository
        private IRepository CreateSerializableRepository(int id, string name, string source, PackageOperationType operationType, Func<IPackageRepository> packageRepositoryFactory)
        {
            Argument.IsNotNullOrEmpty(() => name);
            Argument.IsNotNullOrEmpty(() => source);
            Argument.IsNotNull(() => packageRepositoryFactory);

            var repository = new Repository
            {
                Id = id,
                Name = name,
                Source = source,
                OperationType = operationType
            };
            
            _idTupleDictionary[id] = new Tuple<IRepository, IPackageRepository>(repository, packageRepositoryFactory());

            return repository;
        }