public bool CreatePhoneNumber(PhoneNumber phoneNumber)
        {
            Check.If(phoneNumber).IsNotNull();
            phoneNumber.GenerateReference(_referenceGenerator);

            return _phoneNumberRepository.CreatePhoneNumber(phoneNumber);
        }
        public bool CreatePhoneNumber(PhoneNumber phoneNumber)
        {
            using (var context = new CommunicationsContext(_databaseSettings.ConnectionString))
            {
                //do not create invalid records or duplicates
                if (!phoneNumber.IsValidPhoneNumber() ||
                    GetPhoneNumberByNumber(phoneNumber.Number) != null)
                    return false;

                context.PhoneNumbers.Add(phoneNumber);

                return context.SaveChanges() > 0;
            }
        }