コード例 #1
0
ファイル: Delete.cs プロジェクト: OAK1900/KeySwitchManager
        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);
        }
コード例 #2
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());
        }
コード例 #3
0
        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));
        }