private static IEnumerable <Guid> GetIdGuids( IEnumerable <CodeOperation> codeInstructions, CodeOperationSource codeOperationSource, OperationInstruction operationInstruction) { return(codeInstructions.Where(ci => ci.Instruction == operationInstruction && ci.Source == codeOperationSource) .Select(ci => ci.Value)); }
private IEnumerable <ICodeSystemCode> GetCodesForInstruction( ClientTermValueSetApiModel model, OperationInstruction operationInstruction) { var codes = new List <ICodeSystemCode>(); var valueSetGuids = GetIdGuids(model.CodeOperations, CodeOperationSource.ValueSet, operationInstruction); var codeGuids = GetIdGuids(model.CodeOperations, CodeOperationSource.CodeSystemCode, operationInstruction); codes.AddRange(this.GetCodeSystemCodesByValueSets(valueSetGuids)); codes.AddRange(this.GetCodeSystemCodes(codeGuids)); return(codes.GroupBy(csc => csc.CodeGuid) .Select(group => group.FirstOrDefault()) .Where(csc => csc != null) .ToList()); }
public static void Main(string[] args) { if (args.Length < 3) { PrintUsage(); } else { using (CoreServiceProvider coreService = new CoreServiceProvider()) { ICoreService client = coreService.Client; string componentId = args[1]; string destinationRepositoryId = args[2]; OperationInstruction instruction = new OperationInstruction { Mode = OperationMode.FailOnError }; ReadOptions readOptions = coreService.ReadOptions; RepositoryLocalObjectData originalData = (RepositoryLocalObjectData)client.Read(componentId, readOptions); Console.WriteLine("Original item:\t{0} | Publication: \"{1}\"", originalData.Id, originalData.BluePrintInfo.OwningRepository.Title); try { OperationResultDataOfRepositoryLocalObjectData result = null; switch (args[0]) { case "promote": result = client.Promote(componentId, destinationRepositoryId, instruction, readOptions); break; case "demote": result = client.Demote(componentId, destinationRepositoryId, instruction, readOptions); break; default: PrintUsage(); break; } if (result != null) { if (result.ValidationWarnings.Length > 0) { Console.WriteLine("Validation warnings:"); foreach (ValidationWarningData warning in result.ValidationWarnings) { Console.WriteLine("\tMessage:{0} | Source:{1} | Location:{2}", warning.Message, warning.Source, warning.Location); } } else { RepositoryLocalObjectData objectData = result.Result; Console.WriteLine("Moved item:\t{0} | Publication: \"{1}\"", objectData.Id, objectData.BluePrintInfo.OwningRepository.Title); } } } catch (Exception e) { Console.Error.WriteLine("Fail: " + e); } } } Console.Write("Press any key..."); Console.ReadKey(); }