public void ExportTest() { #region Adding To DB var dbRepository = new LiteDbKeySwitchRepository(new MemoryStream()); var articulation = TestDataGenerator.CreateArticulation( new MidiNoteOn[] { IMidiNoteOnFactory.Default.Create(1, 23) }, new MidiControlChange[] {}, new MidiProgramChange[] {} ); var entity = TestDataGenerator.CreateKeySwitch(articulation); dbRepository.Save(entity); #endregion var inputData = new ExportingStudioOneKeySwitchRequest(entity.DeveloperName.Value, entity.ProductName.Value); var interactor = new ExportingStudioOneKeySwitchInteractor( dbRepository, new KeySwitchToStudioOneKeySwitchModel(), new IExportingStudioOneKeySwitchPresenter.Null() ); var response = interactor.Execute(inputData); foreach (var i in response.Elements) { Console.WriteLine($"Expressionmap of {i.KeySwitch.InstrumentName}"); Console.WriteLine(i.XmlText); } }
public ExportingStudioOneKeySwitchResponse Execute(ExportingStudioOneKeySwitchRequest request) { var developerName = request.DeveloperName; var productName = request.ProductName; var instrumentName = request.InstrumentName; return(CreateResponse( SearchHelper.Search(Repository, request.Guid, developerName, productName, instrumentName) )); }
public int Execute(ICommandOption opt) { var option = (CommandOption)opt; using var repository = new LiteDbKeySwitchRepository(option.DatabasePath); var translator = new KeySwitchToStudioOneKeySwitchModel(); var presenter = new IExportingStudioOneKeySwitchPresenter.Null(); var interactor = new ExportingStudioOneKeySwitchInteractor(repository, translator, presenter); var input = new ExportingStudioOneKeySwitchRequest(option.Developer, option.Product, option.Instrument); Console.WriteLine($"Developer=\"{option.Developer}\", Product=\"{option.Product}\", Instrument=\"{option.Instrument}\""); var response = interactor.Execute(input); if (!response.Elements.Any()) { Console.WriteLine("records not found"); return(0); } foreach (var i in response.Elements) { var outputDirectory = option.OutputDirectory; if (option.DirectoryStructure) { outputDirectory = EntityDirectoryHelper.CreateDirectoryTree( i.KeySwitch, new DirectoryPath(option.OutputDirectory) ).Path; } else { PathUtility.CreateDirectory(outputDirectory); } var prefix = $"{i.KeySwitch.ProductName} {i.KeySwitch.InstrumentName}"; var path = $"{prefix}.keyswitch"; path = PathUtility.GenerateFilePathWhenExist(path, outputDirectory, option.OverWrite); Console.Out.WriteLine($"export to {path}"); File.WriteAllText(path, i.XmlText.Value, Encoding.UTF8); } return(0); }