Esempio n. 1
0
        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();
 }
Esempio n. 4
0
        public ActionResult <Entities.PhoneBook> EditPhonebook(SavePhoneBookDto savePhoneBookDto)
        {
            var phoneBook = _phoneBookProvider.SavePhoneBook(savePhoneBookDto);

            return(Ok(phoneBook));
        }