public LocalizationSettingsData GetSettings(Guid entityId, string language)
        {
            LocalizationSettingsData settingsData = Execute(session => session.QueryOver <LocalizationSettingsData>()
                                                            .Where(s => s.EntityId == entityId && s.Language == language)
                                                            .Fetch(s => s.Localizations).Lazy
                                                            .SingleOrDefault());

            return(settingsData);
        }
        public LocalizationSettingsData GetByEntityId(Guid entityId)
        {
            LocalizationSettingsData settingsData = Execute(
                session => session.QueryOver <LocalizationSettingsData>()
                .Where(s => s.EntityId == entityId)
                .SingleOrDefault());

            return(settingsData);
        }
        public void Delete_Should_Remove_Created_LocalizationSettings()
        {
            var localizationSettings = Fixture.Create <LocalizationSettingsData>();

            _localizationSettingsRepository.Insert(localizationSettings);

            _localizationSettingsRepository.Delete(localizationSettings.EntityId);

            LocalizationSettingsData deletedLocalizationSettings = _localizationSettingsRepository.GetByEntityId(localizationSettings.EntityId);

            Assert.IsNull(deletedLocalizationSettings);
        }
        public void Insert_Should_Create_New_LocalizationSettings()
        {
            var localizationSettings = Fixture.Create <LocalizationSettingsData>();

            _localizationSettingsRepository.Insert(localizationSettings);

            LocalizationSettingsData createdLocalizationSettings = _localizationSettingsRepository.GetByEntityId(localizationSettings.EntityId);

            _localizationSettingsRepository.Delete(createdLocalizationSettings.EntityId);

            Assert.IsTrue(Comparer.Compare(localizationSettings, createdLocalizationSettings));
        }
 public void Insert(LocalizationSettingsData localizationSettings)
 {
     Execute(
         @"INSERT INTO LOCALIZATION_SETTINGS (ID, ENTITY_ID, PARENT_ID, LANGUAGE, FORMATTING)
         VALUES (:id, :entity_id, :parent_id, :language, :formatting)",
         new
     {
         id         = localizationSettings.Id.ToByteArray(),
         entity_id  = localizationSettings.EntityId.ToByteArray(),
         parent_id  = localizationSettings.ParentId.ToByteArray(),
         language   = localizationSettings.Language,
         formatting = localizationSettings.Formatting
     });
 }
        public void Delete_Should_Remove_Created_LocalizationSettings()
        {
            var localizationSettings = Fixture.Build <LocalizationSettingsData>()
                                       .With(p => p.Formattings, null)
                                       .With(p => p.Localizations, null)
                                       .Create();

            _localizationSettingsRepository.Insert(localizationSettings);

            _localizationSettingsRepository.Delete(localizationSettings);

            LocalizationSettingsData deletedLocalizationSettings = _localizationSettingsRepository.GetByEntityId(localizationSettings.EntityId);

            Assert.IsNull(deletedLocalizationSettings);
        }
        public void Update_Should_Update_LocalizationSettings_Language_Formatting()
        {
            var localizationSettings = Fixture.Create <LocalizationSettingsData>();

            _localizationSettingsRepository.Insert(localizationSettings);

            localizationSettings.Language   = Fixture.Create <string>();
            localizationSettings.Formatting = Fixture.Create <string>();

            _localizationSettingsRepository.Update(localizationSettings);

            LocalizationSettingsData updatedLocalizationSettings = _localizationSettingsRepository.GetByEntityId(localizationSettings.EntityId);

            _localizationSettingsRepository.Delete(updatedLocalizationSettings.EntityId);

            Assert.IsTrue(Comparer.Compare(localizationSettings, updatedLocalizationSettings));
        }
        public void Insert_Should_Create_New_LocalizationSettings()
        {
            var localizationSettings = Fixture.Build <LocalizationSettingsData>()
                                       .With(p => p.Formattings, null)
                                       .With(p => p.Localizations, null)
                                       .Create();

            _localizationSettingsRepository.Insert(localizationSettings);

            LocalizationSettingsData createdLocalizationSettings = _localizationSettingsRepository.GetByEntityId(localizationSettings.EntityId);

            _localizationSettingsRepository.Delete(createdLocalizationSettings);

            createdLocalizationSettings.Localizations = null;

            Assert.IsTrue(Comparer.Compare(localizationSettings, createdLocalizationSettings));
        }
        public void GetSettings_Should_Retrun_Include_Created_Localizations()
        {
            var localizationSettings = Fixture.Build <LocalizationSettingsData>()
                                       .With(p => p.Formattings, null)
                                       .With(p => p.Localizations, null)
                                       .Create();

            _localizationSettingsRepository.Insert(localizationSettings);

            var overrides = Fixture.Build <LocalizationData>()
                            .With(p => p.LocalizationSettingsId, localizationSettings.Id)
                            .CreateMany().ToList();

            _localizationOverridesRepository.Insert(overrides);

            LocalizationSettingsData settings = _localizationSettingsRepository.GetSettings(localizationSettings.EntityId, localizationSettings.Language);

            Assert.IsTrue(Comparer.Compare(settings.Localizations.ToList(), overrides.ToList()), Comparer.DifferencesString);
        }
 public void Update(LocalizationSettingsData localizationSettings)
 {
     Execute(
         @"UPDATE LOCALIZATION_SETTINGS
         SET
             ENTITY_ID = :entity_id,
             PARENT_ID = :parent_id,
             LANGUAGE = :language,
             FORMATTING = :formatting
         WHERE ID = :id",
         new
     {
         id         = localizationSettings.Id.ToByteArray(),
         entity_id  = localizationSettings.EntityId.ToByteArray(),
         parent_id  = localizationSettings.ParentId.ToByteArray(),
         language   = localizationSettings.Language,
         formatting = localizationSettings.Formatting
     });
 }
        public void GetByEntityId_Should_Return_Null_If_Setting_Does_Not_Created()
        {
            LocalizationSettingsData localizationSettings = _localizationSettingsRepository.GetByEntityId(Guid.Empty);

            Assert.IsNull(localizationSettings);
        }
 public void Update(LocalizationSettingsData localizationSettings)
 {
     ExecuteTransaction(session => session.Update(localizationSettings));
 }
 public void Insert(LocalizationSettingsData localizationSettings)
 {
     ExecuteTransaction(session => session.Save(localizationSettings));
 }