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