public void StoreSettings(string phoneId, SettingsDTO settingsRequest)
        {
            Language language = languageRepository.GetLanguageByName(settingsRequest.LanguageCode);

            if (language == null)
            {
                throw new HttpStatusCodeException(
                          HttpStatusCode.NotFound,
                          $"Language [{settingsRequest.LanguageCode}] doesn't exist");
            }

            NotificationFrequency notificationFrequency =
                notificationFrequencyRepository.GetNotificationFrequencyByFrequency(settingsRequest.NotificationFrequency);

            if (notificationFrequency == null)
            {
                throw new HttpStatusCodeException(
                          HttpStatusCode.NotFound,
                          $"Notification frequency [{settingsRequest.NotificationFrequency}] doesn't exist");
            }

            Entities.Models.Settings settings = settingsRepository.GetSettingsByPhoneId(phoneId);
            if (settings != null)
            {
                settings.Language              = language;
                settings.DoesNotify            = settingsRequest.DoesNotify;
                settings.NotificationFrequency = notificationFrequency;
            }
            else
            {
                Entities.Models.Settings newSettings = new Entities.Models.Settings
                {
                    Language              = language,
                    DoesNotify            = true,
                    NotificationFrequency = notificationFrequency
                };

                settingsRepository.Add(newSettings);

                accountRepository.Add(new Account
                {
                    PhoneIdentifier = phoneId,
                    Settings        = newSettings,
                    PasswordHash    = "",
                    Email           = phoneId,
                    FirstName       = "",
                    City            = ""
                });
            }
            theaterScheduleUnitOfWork.Save();
        }
        public SettingsDTO LoadSettings(string phoneId)
        {
            SettingsDTO settingsRequest = null;

            Entities.Models.Settings settings = settingsRepository.GetSettingsByPhoneId(phoneId);
            if (settings != null)
            {
                settingsRequest = new SettingsDTO()
                {
                    LanguageCode          = settings.Language.LanguageCode,
                    DoesNotify            = settings.DoesNotify,
                    NotificationFrequency = settings.NotificationFrequency.Frequency
                };
            }
            else
            {
                throw new HttpStatusCodeException(HttpStatusCode.NotFound, $"Phone id [{phoneId}] doesn't exist");
            }
            return(settingsRequest);
        }