public int Execute(ICommandOption opt) { var option = (CommandOption)opt; using var repository = new LiteDbKeySwitchRepository(option.DatabasePath); var translator = new KeySwitchListListToJsonModelList { Formatted = true }; var presenter = new IRemovingPresenter.Null(); var interactor = new RemovingInteractor(repository, presenter); var input = new RemovingRequest(option.Developer, option.Product, option.Instrument); Console.WriteLine($"Developer=\"{option.Developer}\", Product=\"{option.Product}\", Instrument=\"{option.Instrument}\""); var response = interactor.Execute(input); if (response.RemovedCount > 0) { Console.WriteLine($"{response.RemovedCount} records deleted from database({option.DatabasePath})"); return(0); } Console.WriteLine("records not found"); return(0); }
public void RemovingTest() { const string developerName = "Developer"; const string productName = "Product"; const string instrumentName = "E.Guitar"; var inputData = new RemovingRequest( developerName, productName, instrumentName ); var presenter = new IRemovingPresenter.Console(); var repository = new LiteDbKeySwitchRepository(new MemoryStream()); var interactor = new RemovingInteractor(repository, presenter); #region Adding Test data for removing var now = DateTime.Now; var entity = TestDataGenerator.CreateKeySwitch(inputData.DeveloperName, inputData.ProductName); repository.Save(entity); #endregion Assert.AreEqual(1, repository.Count()); interactor.Execute(inputData); Assert.AreEqual(0, repository.Count()); }
public RemovingResponse Execute(RemovingRequest request) { var developerName = request.DeveloperName; var productName = request.ProductName; var instrumentName = request.InstrumentName; var removedCount = 0; Presenter.Present($"Removing keyswitch: Developer={developerName}, Product={productName}, Instrument={instrumentName}"); if (!StringHelper.IsNullOrTrimEmpty(developerName, productName, instrumentName)) { removedCount = Repository.Delete( new DeveloperName(developerName), new ProductName(productName), new InstrumentName(instrumentName) ); } else if (!StringHelper.IsNullOrTrimEmpty(developerName, productName)) { removedCount = Repository.Delete( new DeveloperName(developerName), new ProductName(productName) ); } if (removedCount > 0) { Presenter.Present($"{removedCount} record(s) removed"); } else { Presenter.Present($"record not found"); } return(new RemovingResponse(removedCount)); }