public void Can_log_Language_Updated() { var @event = new LanguageUpdated(); _serviceBus.PublishMessage(@event); AssertAdminActivityLog(@event, AdminActivityLogCategory.Language); }
public void Consume(LanguageUpdated @event) { var cultures = _repository.Cultures.Single(x => x.Code == @event.Code); cultures.Code = @event.Code; _repository.SaveChanges(); }
public void Consume(LanguageUpdated message) { var culture = _repository.Languages.Single(x => x.Code == message.Code); culture.Name = message.Name; _repository.SaveChanges(); }
public void Handle(LanguageUpdated updatedEvent) { var repository = _container.Resolve <IReportRepository>(); var records = repository.LanguageRecords.Where(r => r.Code == updatedEvent.Code); if (!records.Any()) { throw new RegoException(string.Format(LanguageRecordNotFoundMessage, updatedEvent.Code)); } records.ForEach(record => { record.Code = updatedEvent.Code; record.Name = updatedEvent.Name; record.NativeName = updatedEvent.NativeName; record.Updated = updatedEvent.EventCreated; record.UpdatedBy = updatedEvent.EventCreatedBy; }); repository.SaveChanges(); }
public void Can_process_Language_updated() { // Arrange var language = BrandTestHelper.CreateCulture("en-TS", "English (Test)"); language.Name = "Changed Name"; language.NativeName = "Changed Native Name"; // Act var @event = new LanguageUpdated(language); _serviceBus.PublishMessage(@event); // Assert Assert.AreEqual(2, _reportRepository.LanguageRecords.Count()); var record = _reportRepository.LanguageRecords.Last(); Assert.AreEqual(language.Code, record.Code); Assert.AreEqual(language.Name, record.Name); Assert.AreEqual(language.NativeName, record.NativeName); record.Updated.Should().BeCloseTo(@event.EventCreated); Assert.AreEqual(@event.EventCreatedBy, record.UpdatedBy); }
private static void SetLanguageResourceDictionary(string path, bool external) { try { int langDictId = ResourceIndexer.Find("Loc-"); if (langDictId == -1) { string msg = "Neither custom language nor fallback resource found. " + "Unwanted side-effects may occur."; Log.Error($"Localization: {msg}"); ErrorDetected?.Invoke("Unable to resolve resource", msg); } else { // Replace the current language dictionary with the new one if (external) { if (AvaloniaLocator.Current.GetService <AvaloniaXamlLoader.IRuntimeXamlLoader>() == null) { AvaloniaLocator.CurrentMutable.Bind <AvaloniaXamlLoader.IRuntimeXamlLoader>() .ToConstant(new XamlLoaderShim()); } var loader = AvaloniaLocator.Current.GetService <AvaloniaXamlLoader.IRuntimeXamlLoader>(); using var stream = new MemoryStream(Encoding.UTF8.GetBytes(File.ReadAllText(path))); try { if (loader.Load(stream, null, null, null, false) is ResourceDictionary dict) { Application.Current.Resources.MergedDictionaries[langDictId] = dict; } else { const string msg = "Custom language file is not a resource dictionary"; ErrorDetected?.Invoke("XAML error", msg); Log.Error($"Localization: {msg}"); } } catch (XmlException ex) { string msg = $"An external resource dictionary contains syntax errors.\n\nPlease check line {ex.LineNumber}, column {ex.LinePosition} in the affected XAML file.\n\n{path}"; ErrorDetected?.Invoke("XAML syntax error", msg); Log.Error($"Localization: XAML syntax error. Line {ex.LineNumber}, column {ex.LinePosition}."); } } else { Application.Current.Resources.MergedDictionaries[langDictId] = new ResourceInclude { Source = new Uri(path) }; } } } catch (IOException e) { ErrorDetected?.Invoke("IO-Exception", e.Message); Log.Error($"Localization: IOError while loading locales. Details: {e.Message}"); } LanguageUpdated?.Invoke(); }
public void Consume(LanguageUpdated message) { _eventHandlers.Handle(message); }
public void Handle(LanguageUpdated @event) { AddActivityLog(AdminActivityLogCategory.Language, @event); }