public void EditPhoneBook_Should_Work() { // Arrange PhoneBook.Configuration.Configurations.SetConfigurations(Common.Enums.FileTypeEnum.JSON, @"C:\Users\ADMIN\Desktop\Task Smartwork\File"); EmptyPhoneBooks(); var provider = PhoneBook.Helpers.PhoneBookFactory.GetProvider(); var addedEntry = provider.SavePhoneBook(new Dtos.SavePhoneBookDto { Name = "Frenkli Kapri", Number = "+355691234567", Type = Common.Enums.PhoneNumberTypeEnum.Cellphone }); // Act var toEdit = new SavePhoneBookDto { Id = addedEntry.Id, Name = "Frenkli Kapri 2", Number = "+355691234568", Type = Common.Enums.PhoneNumberTypeEnum.Cellphone }; provider.SavePhoneBook(toEdit); var phoneBooks = provider.GetPhoneBooks(); var exists = phoneBooks.Any(p => p.Number == "+355691234568"); // Assert Assert.True(exists); }
public Entities.PhoneBook SavePhoneBook(SavePhoneBookDto savePhoneBookDto) { var config = Configuration.Configurations.Config; var filePath = Path.Combine(config.Directory, "pb.json"); CreateFileIfNotExists(); var phoneBooks = GetPhoneBooks(); var phoneBook = phoneBooks .FirstOrDefault(p => p.Id == savePhoneBookDto.Id); Entities.PhoneBook toReturn; // if null then add new if (phoneBook == null) { var toAdd = new Entities.PhoneBook { Id = Guid.NewGuid(), Name = savePhoneBookDto.Name, Number = savePhoneBookDto.Number, Type = savePhoneBookDto.Type }; phoneBooks.Add(toAdd); toReturn = toAdd; } // else edit else { phoneBook.Name = savePhoneBookDto.Name; phoneBook.Number = savePhoneBookDto.Number; phoneBook.Type = savePhoneBookDto.Type; toReturn = phoneBook; } var phoneBookStr = JsonSerializer.Serialize(phoneBooks); _locker.EnterWriteLock(); try { File.WriteAllText(filePath, phoneBookStr); } finally { _locker.ExitWriteLock(); } return(toReturn); }
public Entities.PhoneBook SavePhoneBook(SavePhoneBookDto savePhoneBookDto) { throw new NotImplementedException(); }
public ActionResult <Entities.PhoneBook> EditPhonebook(SavePhoneBookDto savePhoneBookDto) { var phoneBook = _phoneBookProvider.SavePhoneBook(savePhoneBookDto); return(Ok(phoneBook)); }