protected override async Task <Concept> AssignUpsertedDependents(Concept record)
        {
            var id = record.ConceptId;

            foreach (var item in record.ManyOptionalLeft ?? new List <ConceptManyOptional>())
            {
                item.Concept1Id = id;
            }
            foreach (var item in record.ManyOptionalRight ?? new List <ConceptManyOptional>())
            {
                item.Concept2Id = id;
            }
            foreach (var item in record.ManyRequiredLeft ?? new List <ConceptManyRequired>())
            {
                item.Concept1Id = id;
            }
            foreach (var item in record.ManyRequiredRight ?? new List <ConceptManyRequired>())
            {
                item.Concept2Id = id;
            }
            foreach (var item in record.OneOptionalLeft ?? new List <ConceptOneOptional>())
            {
                item.Concept1Id = id;
            }
            foreach (var item in record.OneOptionalRight ?? new List <ConceptOneOptional>())
            {
                item.Concept2Id = id;
            }
            foreach (var item in record.OneRequiredLeft ?? new List <ConceptOneRequired>())
            {
                item.Concept1Id = id;
            }
            foreach (var item in record.OneRequiredRight ?? new List <ConceptOneRequired>())
            {
                item.Concept2Id = id;
            }
            foreach (var item in record.Properties ?? new List <ConceptProperty>())
            {
                item.ConceptId = id;
            }
            record.ManyOptionalLeft = await _manyOptional.UpsertAsync(record.ManyOptionalLeft);

            record.ManyOptionalRight = await _manyOptional.UpsertAsync(record.ManyOptionalRight);

            record.ManyRequiredLeft = await _manyRequired.UpsertAsync(record.ManyRequiredLeft);

            record.ManyRequiredRight = await _manyRequired.UpsertAsync(record.ManyRequiredRight);

            record.OneOptionalLeft = await _oneOptional.UpsertAsync(record.OneOptionalLeft);

            record.OneOptionalRight = await _oneOptional.UpsertAsync(record.OneOptionalRight);

            record.OneRequiredLeft = await _oneRequired.UpsertAsync(record.OneRequiredLeft);

            record.OneRequiredRight = await _oneRequired.UpsertAsync(record.OneRequiredRight);

            record.Properties = await _properties.UpsertAsync(record.Properties);

            return(record);
        }
        protected override async Task <Schema> AssignUpsertedDependents(Schema record)
        {
            var id = record.DomainId;

            foreach (var item in record.Concepts ?? new List <Concept>())
            {
                item.SchemaId = id;
            }
            record.Concepts = await _concepts.UpsertAsync(record.Concepts);

            return(record);
        }
示例#3
0
        protected override async Task <System> AssignUpsertedDependents(System record)
        {
            var id = record.SystemId;

            foreach (var item in record.Domains ?? new List <Domain>())
            {
                item.SystemId = id;
            }
            record.Domains = await _domains.UpsertAsync(record.Domains);

            return(record);
        }
        protected override async Task <Project> AssignUpsertedDependents(Project record)
        {
            var id = record.ProjectId;

            foreach (var item in record.ProjectFiles ?? new List <ProjectFile>())
            {
                item.ProjectId = id;
            }
            record.ProjectFiles = await _projectFiles.UpsertAsync(record.ProjectFiles);

            return(record);
        }
示例#5
0
        protected override async Task <Domain> AssignUpsertedDependents(Domain record)
        {
            var id = record.DomainId;

            foreach (var item in record.Schemas ?? new List <Schema>())
            {
                item.DomainId = id;
            }
            record.Schemas = await _schemas.UpsertAsync(record.Schemas);

            return(record);
        }
        protected override async Task <SolutionFolder> AssignUpsertedDependents(SolutionFolder record)
        {
            var id = record.SolutionFolderId;

            foreach (var item in record.Projects ?? new List <Project>())
            {
                item.SolutionFolderId = id;
            }
            foreach (var item in record.SolutionFiles ?? new List <SolutionFile>())
            {
                item.SolutionFolderId = id;
            }
            record.Projects = await _projects.UpsertAsync(record.Projects);

            record.SolutionFiles = await _solutionFiles.UpsertAsync(record.SolutionFiles);

            return(record);
        }
        protected override async Task <Solution> AssignUpsertedDependents(Solution record)
        {
            var id = record.SolutionId;

            foreach (var item in record.NuGetFeeds ?? new List <NuGetFeed>())
            {
                item.SolutionId = id;
            }
            foreach (var item in record.SolutionFolders ?? new List <SolutionFolder>())
            {
                item.SolutionId = id;
            }
            record.NuGetFeeds = await _nuGetFeeds.UpsertAsync(record.NuGetFeeds);

            record.SolutionFolders = await _solutionFolders.UpsertAsync(record.SolutionFolders);

            return(record);
        }
示例#8
0
        public async Task <TRecordList> UpsertAsync(TRecordList recordList)
        {
            if (recordList == null)
            {
                return(null);
            }
            _logger.LogInformation("Getting child records to upsert from list entity");
            var records = recordList.GetAssociations()?.Select(a => a.GetRecord()).ToList();

            if (records == null || records.Count == 0)
            {
                return(null);
            }
            _logger.LogInformation("Saving child records prior to saving list entity");
            records = await _records.UpsertAsync(records);

            _logger.LogInformation("Setting saved records on list entity");
            recordList.SetRecords(records);
            _logger.LogInformation("Upserting record list");
            return(await _recordList.UpsertAsync(recordList));
        }
 public async Task <List <TOutput> > UpsertAsync(List <TInput> list, int parentId = 0)
 {
     _logger.LogInformation("Mapping list and upserting records");
     return(await _upsertListService.UpsertAsync(
                list.Select(each => _mappingService.Map(each, parentId)).ToList()));
 }