protected override async Task OnParametersSetAsync() { await Task.Run(() => { this.SelectedItem = null; if (this.PopupDisplay == "add") { this.SelectedItem = new TemporalObject <T>(new T()); } else if (this.PopupDisplay != null) { int showId = 0; if (int.TryParse(this.PopupDisplay, out showId)) { T item = this.ItemList.FirstOrDefault(i => i.Id == showId); this.SelectedItem = new TemporalObject <T>(item); } } }); }
public void Persist() { var schemaUpdate = new SchemaUpdate(_container.Resolve <IConfigurationFactory>().Build()); schemaUpdate.Execute( scriptAction => Trace.WriteLine(scriptAction), true); var versions = "ABC"; var temporalObject = new TemporalObject <char>(Guid.NewGuid()); var charVersions = versions.Select( version => new TemporalObjectVersion <char>( temporalObject, version)).ToList(); Assert.That(versions.SequenceEqual(temporalObject.Versions.Select(TemporalObjectVersion => TemporalObjectVersion.Object)), Is.True); foreach (var index in Enumerable.Range(0, temporalObject.Versions.Count)) { Assert.That(temporalObject.Versions[index].Number, Is.EqualTo(index + 1)); } using (var scope = _container.BeginLifetimeScope()) { var session = scope.Resolve <ISession>(); session.Save(temporalObject); temporalObject.Versions.ForEach(version => session.Save(version)); session.Flush(); } using (var scope = _container.BeginLifetimeScope()) { var session = scope.Resolve <ISession>(); temporalObject = session.Get <TemporalObject <char> >(temporalObject.Id); Assert.That(temporalObject, Is.Not.Null); Assert.That(versions.SequenceEqual(temporalObject.Versions.Select(TemporalObjectVersion => TemporalObjectVersion.Object)), Is.True); } }