public List <KnowledgeGroupRecord> UpdateKnowledgeGroups( IList <KnowledgeGroupRecord> importKnowledgeGroups, IKnowledgeGroupService service, ref int modifiedRecords ) { var knowledgeGroupRecords = service.FindAllAsync().Result; var patch = new PatchDefinition <KnowledgeGroupRecord, KnowledgeGroupRecord>( (source, list) => list.SingleOrDefault(a => a.Id == source.Id) ); patch .Map(s => s.Id, t => t.Id) .Map(s => s.Name, t => t.Name) .Map(s => s.Description, t => t.Description) .Map(s => s.FontAwesomeIconCharacterUnicodeAddress, t => t.FontAwesomeIconCharacterUnicodeAddress) .Map(s => s.Order, t => t.Order); var diff = patch.Patch(importKnowledgeGroups, knowledgeGroupRecords); service.ApplyPatchOperationAsync(diff).Wait(); modifiedRecords += diff.Count(a => a.Action != ActionEnum.NotModified); return(diff.Where(a => a.Entity.IsDeleted == 0).Select(a => a.Entity).ToList()); }
public static List <KnowledgeGroupRecord> UpdateKnowledgeGroups( IList <KnowledgeGroupRecord> importKnowledgeGroups, IKnowledgeGroupService service ) { var knowledgeGroupRecords = service.FindAllAsync().Result; var patch = new PatchDefinition <KnowledgeGroupRecord, KnowledgeGroupRecord>( (source, list) => list.SingleOrDefault(a => a.Id == source.Id) ); patch .Map(s => s.Id, t => t.Id) .Map(s => s.Name, t => t.Name) .Map(s => s.Description, t => t.Description) .Map(s => s.Order, t => t.Order); var diff = patch.Patch(importKnowledgeGroups, knowledgeGroupRecords); service.ApplyPatchOperationAsync(diff).Wait(); return(diff.Where(a => a.Entity.IsDeleted == 0).Select(a => a.Entity).ToList()); }