Exemple #1
0
 private Task CreateProvider(NeoProvider newProvider)
 {
     return(_graphClient.Cypher
            .Create("(provider:NeoProvider {newProvider})")
            .WithParam("newProvider", newProvider)
            .ExecuteWithoutResultsAsync());
 }
Exemple #2
0
        public async Task CreateProvider(ProviderVM provider)
        {
            await _fruitGraphService.CreateFruits(provider.Fruits);

            await _certificatesService.CreateCertificates(provider.Certificates);

            var newProvider = new NeoProvider {
                Id = provider.Id.ToString()
            };

            await CreateProvider(newProvider);

            var certList  = new List <Task>();
            var fruitList = new List <Task>();

            var fruitTask = Task.Run(() =>
            {
                foreach (var fruit in provider.Fruits)
                {
                    fruitList.Add(_fruitGraphService.FindAndRelate(newProvider.Id, fruit));
                }
            });

            var certTask = Task.Run(() =>
            {
                foreach (var cert in provider.Certificates)
                {
                    fruitList.Add(_certificatesService.FindAndRelate(newProvider.Id, cert));
                }
            });

            await Task.WhenAll(fruitTask, certTask);

            await Task.WhenAll(certList);

            await Task.WhenAll(fruitList);
        }