public AddPhoneCommand( IOutputWritter outputWritter, ICanonicalPhoneConverter canonicalPhoneConverter, IPhonebookRepository phonebook) : base(outputWritter, canonicalPhoneConverter, phonebook) { }
public ChangePhonebookCommand( ILogger consoleLogger, IPhonebookRepository data, IPhonebookNumberFormatter numberFormatter) { this.consoleLogger = consoleLogger; this.data = data; this.numberFormatter = numberFormatter; }
public CommandFactoryWithLazyLoading(IPhonebookRepository data, IPrinter printer, IPhoneNumberSanitizer sanitizer) { // TODO: Complete member initialization this.data = data; this.printer = printer; this.sanitizer = sanitizer; }
public void ExecuteCommand(CommandType commandType, string[] commandParams, IPhonebookRepository phonebook, StringBuilder output) { switch (commandType) { case CommandType.AddPhone: { ExecuteAdd(commandParams, phonebook, output); break; } case CommandType.ChangePhone: { ExecuteChange(commandParams, phonebook, output); break; } case CommandType.List: { try { OutputEntries(commandParams, phonebook, output); } catch (ArgumentOutOfRangeException) { output.AppendLine("Invalid range"); } break; } } }
public CommandFactoryWithLazyLoading( ILogger consoleLogger, IPhonebookRepository data, IPhonebookNumberFormatter numberFormatter) { this.consoleLogger = consoleLogger; this.data = data; this.numberFormatter = numberFormatter; }
public void Execute(IList<string> arguments, IPhonebookRepository repository) { if (arguments.Count < 2) { throw new ArgumentException("Invalid number of arguments to add phone number"); } string name = arguments[0]; var phoneNumbers = arguments.Skip(1).ToList(); for (int i = 0; i < phoneNumbers.Count; i++) { phoneNumbers[i] = sanitizer.ConvertPhoneToCanonical(phoneNumbers[i]); } bool isPhoneNew = repository.AddPhone(name, phoneNumbers); if (isPhoneNew) { Print("Phone entry created"); } else { Print("Phone entry merged"); } }
public ChangePhoneCommand(string[] arguments, ISanitizer sanitizer, IPhonebookRepository phonebookDatabase, IPrinter printer) { this.phonebookDatabase = phonebookDatabase; this.sanitizer = sanitizer; this.arguments = arguments; this.printer = printer; }
public void Execute(IList <string> arguments, IPhonebookRepository repository) { if (arguments.Count < 2) { throw new ArgumentException("Invalid number of arguments to add phone number"); } string name = arguments[0]; var phoneNumbers = arguments.Skip(1).ToList(); for (int i = 0; i < phoneNumbers.Count; i++) { phoneNumbers[i] = sanitizer.ConvertPhoneToCanonical(phoneNumbers[i]); } bool isPhoneNew = repository.AddPhone(name, phoneNumbers); if (isPhoneNew) { Print("Phone entry created"); } else { Print("Phone entry merged"); } }
public IPhonebookRepository GetPhonebookRepository() { if (phonebookRepository == null) { phonebookRepository = new PhonebookViewRepository(context); } return(phonebookRepository); }
private void ExecuteChange(string[] commandParams, IPhonebookRepository phonebook, StringBuilder output) { string oldNumberConverted = PhonebookUtils.ConvertPhoneNumber(commandParams[0]); string newNumberConverted = PhonebookUtils.ConvertPhoneNumber(commandParams[1]); int numbersChanged = phonebook.ChangePhone(oldNumberConverted, newNumberConverted); output.AppendLine(numbersChanged + " numbers changed"); }
protected BasePhoneCommand( IOutputWritter outputWritter, ICanonicalPhoneConverter canonicalPhoneConverter, IPhonebookRepository phonebook) { this.CanonicalPhoneConverter = canonicalPhoneConverter; this.OutputWritter = outputWritter; this.PhonebookRepository = phonebook; }
public CommandFactory( IOutputWritter outputWritter, ICanonicalPhoneConverter canonicalPhoneConverter, IPhonebookRepository phonebook) { this.canonicalPhoneConverter = canonicalPhoneConverter; this.outputWritter = outputWritter; this.phonebookRepository = phonebook; }
public PhonebookTests() { DbContextOptions dbOptions = new DbContextOptionsBuilder <PhonebookContext>() .UseInMemoryDatabase(databaseName: "Phonebook") .Options; _context = new PhonebookContext(dbOptions); PhonebookContextSeed.SeedAsync(_context).Wait(); _phonebookRepository = new PhonebookRepository(_context); }
public void SetUp() { this.factory = new PhonebookFactory(); this.repository = new PhonebookRepository(this.factory); this.repository.AddPhone("Nakov", new string[] { "+359887333444" }); this.repository.AddPhone("Minka", new string[] { "+359887333544" }); this.repository.AddPhone("Ginka", new string[] { "+359887333774" }); this.repository.AddPhone("Nakov", new string[] { "+359887333454" }); this.repository.AddPhone("Nakov", new string[] { "+359887333434" }); this.repository.AddPhone("Gichka", new string[] { "+359887333444" }); }
private void InitializeCommandList(IPhonebookRepository phonebookRepository) { if (phonebookRepository == null) { throw new NullReferenceException("Phonebook repository instance cannot be null."); } this.commands[AddPhoneCommandName] = new AddPhoneCommand(phonebookRepository, this.sanitizer); this.commands[DeletePhoneCommandName] = new DeletePhoneCommand(phonebookRepository); this.commands[ChangePhoneCommandName] = new ChangePhoneCommand(phonebookRepository, this.sanitizer); this.commands[ListPhonesCommandName] = new ListPhonesCommand(phonebookRepository); }
private void OutputEntries(string[] commandParams, IPhonebookRepository phonebook, StringBuilder output) { int startIndex = int.Parse(commandParams[0]); int count = int.Parse(commandParams[1]); IEnumerable<PhonebookEntry> entries = phonebook.ListEntries(startIndex, count); foreach (var entry in entries) { output.AppendLine(entry.ToString()); } }
public void Execute(IList<string> arguments, IPhonebookRepository repository) { if ((arguments.Count != 2)) { throw new ArgumentException("Invalid number of arguments to change phone number"); } string oldPhoneNumber = sanitizer.ConvertPhoneToCanonical(arguments[0]); string newPhoneNumber = sanitizer.ConvertPhoneToCanonical(arguments[1]); int changedPhoneNumbersCount = repository.ChangePhone(oldPhoneNumber, newPhoneNumber); Print(changedPhoneNumbersCount + " numbers changed"); }
public void Execute(IList <string> arguments, IPhonebookRepository repository) { if ((arguments.Count != 2)) { throw new ArgumentException("Invalid number of arguments to change phone number"); } string oldPhoneNumber = sanitizer.ConvertPhoneToCanonical(arguments[0]); string newPhoneNumber = sanitizer.ConvertPhoneToCanonical(arguments[1]); int changedPhoneNumbersCount = repository.ChangePhone(oldPhoneNumber, newPhoneNumber); Print(changedPhoneNumbersCount + " numbers changed"); }
public void Execute(IList<string> arguments, IPhonebookRepository repository) { try { IEnumerable<PhonebookEntry> entries = repository.ListEntries(int.Parse(arguments[0]), int.Parse(arguments[1])); foreach (var entry in entries) { Print(entry.ToString()); } } catch (ArgumentOutOfRangeException) { Print("Invalid range"); } }
public void Execute(IList <string> arguments, IPhonebookRepository repository) { try { IEnumerable <PhonebookEntry> entries = repository.ListEntries(int.Parse(arguments[0]), int.Parse(arguments[1])); foreach (var entry in entries) { Print(entry.ToString()); } } catch (ArgumentOutOfRangeException) { Print("Invalid range"); } }
private void ExecuteAdd(string[] commandParams, IPhonebookRepository phonebook, StringBuilder output) { string name = commandParams[0]; var phones = commandParams.Skip(1).ToList(); for (int i = 0; i < phones.Count; i++) { phones[i] = PhonebookUtils.ConvertPhoneNumber(phones[i]); } bool phoneExists = phonebook.AddPhone(name, phones); if (phoneExists) { output.AppendLine("Phone entry merged"); } else { output.AppendLine("Phone entry created"); } }
public void Setup() { //InMemory DB did not catch violation of foreign key constraint due to incorrect context configuration options = new DbContextOptionsBuilder <AbsaPhonebookContext>().UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=AbsaPhonebook;Integrated Security=True;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False").Options; //"Data Source=(local);Initial Catalog=AbsaPhonebook;Integrated Security=True;" - MSSQL connection string var context = new AbsaPhonebookContext(options); context.RemoveRange(context.Phonebook); context.RemoveRange(context.PhonebookEntry); context.SaveChanges(); phonebook = PhonebookFactory.Create(); phonebook.Name = "Stellenbosch Directory"; phonebook.PhonebookEntries.Add(CreateEntry(phonebook, "Dave Worthington", "021979452")); phonebook.PhonebookEntries.Add(CreateEntry(phonebook, "Bill Lumsden", "0215554334")); repository = new PhonebookRepository(context); entryRepository = new PhonebookEntryRepository(context); repository.Add(phonebook); repository.Commit(); }
public void Setup() { options = new DbContextOptionsBuilder <AbsaPhonebookContext>().UseInMemoryDatabase(databaseName: "AbsaPhonebook").Options; var context = new AbsaPhonebookContext(options); context.RemoveRange(context.Phonebook); context.RemoveRange(context.PhonebookEntry); context.SaveChanges(); phonebook = PhonebookFactory.Create(); phonebook.Name = "Stellenbosch Directory"; phonebook.PhonebookEntries.Add(CreateEntry(phonebook, "Dave Worthington", "021979452")); phonebookEntry = CreateEntry(phonebook, "Bill Lumsden", "0215554334"); phonebook.PhonebookEntries.Add(phonebookEntry); repository = new PhonebookRepository(context); entryRepository = new PhonebookEntryRepository(context); repository.Add(phonebook); repository.Commit(); controller = new PhonebookController(repository, entryRepository); }
public PhonebookController(IPhonebookRepository phonebookRepository, ILogger <PhonebookRepository> logger, IMapper mapper) { this._repository = phonebookRepository; this._logger = logger; this._mapper = mapper; }
public PhonebookRepositoryTests() { this.testPhoneNumbers = new SortedSet<string> { "0899 777 235", " 02 / 981 11 11", "(+359) 899777236" }; this.phonebookRepository = new PhonebookRepository(); }
public PhonebookController(IPhonebookRepository phonebookRepository, IPhonebookEntryRepository entryRepository) { this.phonebookRepository = phonebookRepository; this.phonebookEntryRepository = entryRepository; }
public CommandList(IConvertable converter, IPhonebookRepository repository, IPrintable printer) : base(converter, repository, printer) { }
public Engine(IPhonebookRepository data) { this.data = data; }
public ListPhonesCommand(IPhonebookRepository phonebookRepository) : base(phonebookRepository) { }
public void InitilizePhonebookRepository() { this.phonebook = new PhonebookRepository(); }
public AddPhoneCommand(IPhonebookRepository phonebookRepository, IPhoneNumberSanitizer sanitizer) : base(phonebookRepository) { this.sanitizer = sanitizer; }
public DeletePhoneCommand(IPhonebookRepository phonebookRepository) : base(phonebookRepository) { }
public ChangePhoneCommand(IPhonebookRepository phonebookRepository, string[] commandArguments) : base(phonebookRepository, commandArguments) { }
public AddPhoneCommand(IPhonebookRepository data, IPrinter printer, IPhoneNumberSanitizer sanitizer) { this.printer = printer; this.data = data; this.sanitizer = sanitizer; }
public PhonebookService(IPhonebookRepository phoneRepository, IMapper mapper) { _phoneRepository = phoneRepository; _mapper = mapper; }
public ListPhonesCommand(IPhonebookRepository data, IPrinter printer) { this.printer = printer; this.data = data; }
public Command(IConvertable converter, IPhonebookRepository repository, IPrintable printer) { this.Converter = converter; this.PhonebookRepository = repository; this.Printer = printer; }
public RegularCommandsFactory(IConvertable converter, IPhonebookRepository repository, IPrintable printer) : base(converter, repository, printer) { }
public CommandFactoryWithDictionary(IPhonebookRepository phonebookRepository, IPhoneNumberSanitizer sanitizer) { this.sanitizer = sanitizer; this.InitializeCommandList(phonebookRepository); }
public AbstractCommandsFactory(IConvertable converter, IPhonebookRepository repository, IPrintable printer) { this.Converter = converter; this.Repository = repository; this.Printer = printer; }
public PhonebookService(IPhonebookRepository phonebookRepository) { _phonebookRepository = phonebookRepository; }
public ContactController(IPhonebookRepository repository, ILogger <ContactController> logger) { _repository = repository; _logger = logger; }
public PhoneBookController(IPhonebookRepository repo, IMapper mapper) { _repo = repo; _mapper = mapper; }
public void Execute(IList <string> arguments, IPhonebookRepository repository) { throw new NotImplementedException(); }
public ListPhonebookCommand(ILogger consoleLogger, IPhonebookRepository data) { this.consoleLogger = consoleLogger; this.data = data; }
public PhoneValidationDecorator(IPhonebookRepository phoneRepository, ILogger <PhoneValidationDecorator> logger, IPhonebookService phoneService) { _phoneService = phoneService; _logger = logger; _phoneRepository = phoneRepository; }
public CommandFactoryWithLazyLoading(IPhonebookRepository data, IPrinter printer, IPhoneNumberSanitizer sanitizer) { this.data = data; this.sanitizer = sanitizer; this.printer = printer; }
public void Execute(IList<string> arguments, IPhonebookRepository repository) { throw new NotImplementedException(); }
protected BaseCommand(IPhonebookRepository phonebookRepository, string[] commandArguments) { this.PhonebookRepository = phonebookRepository; this.commandArguments = commandArguments; }
/// <summary> /// Initializes a new instance of the <see cref="PhonebookController"/> class. /// </summary> /// <param name="phonebookRepository">The phonebook repository.</param> public PhonebookController(IPhonebookRepository phonebookRepository) { this.phonebookRepository = phonebookRepository; }