public AddressBookItem Save([FromBody] AddressBookItem item)
        {
            lock (Sync)
            {
                bool replace = true;
                if (item.Id == default(Guid))
                {
                    replace = false;
                    item.Id = Guid.NewGuid();
                }

                var items = ReadJsonFile();
                if (replace)
                {
                    var itemToUpdate = items.FirstOrDefault(x => x.Id == item.Id);
                    if (itemToUpdate != null)
                    {
                        itemToUpdate.Update(item);
                    }
                }
                else
                {
                    items.Add(item);
                }

                WriteJsonFile(items);
            }
            return(item);
        }
        public void Update(AddressBookItem item)
        {
            if (item == null)
            {
                throw new ArgumentNullException(nameof(item));
            }

            Name              = item.Name;
            PhoneNumber       = item.PhoneNumber;
            City              = item.City;
            BirthYear         = item.BirthYear;
            IsFavoriteContact = item.IsFavoriteContact;
        }