protected void setManifest() { using (var api = GetServiceAPIProxy()) { manifest = api.GetEventManifest(targetEvent.ID, registrantId, targetRegistrationFee.ID).ResultValue; // Now, let's clean up the fees so the event name doesn't show foreach (var session in manifest.Sessions) { if (session.Fees != null) { foreach (var fee in session.Fees) { fee.ProductName = fee.ProductName.Replace(targetEvent.Name + " - ", ""); } } } foreach (var fee in manifest.GuestRegistrationFees) { fee.ProductName = fee.ProductName.Replace(targetEvent.Name + " - ", ""); } foreach (var fee in manifest.Merchandise) { fee.ProductName = fee.ProductName.Replace(targetEvent.Name + " - ", ""); } } }
private void StripReservedMetadata(EventManifest manifest, IEventManifestMetadata metadata) { foreach (var provider in manifest.Providers) { var channelIds = new HashSet <byte>(metadata.Channels.Select(x => x.Value.Value)); var levelNames = new HashSet <QName>(metadata.Levels.Select(x => x.Name.Value)); var taskNames = new HashSet <QName>(metadata.Tasks.Select(x => x.Name.Value)); var opcodeNames = new HashSet <QName>(metadata.Opcodes.Select(x => x.Name.Value)); var keywordNames = new HashSet <QName>(metadata.Keywords.Select(x => x.Name.Value)); var messageSet = new HashSet <LocalizedString>(); messageSet.UnionWith(from x in provider.Channels where x.Message != null && channelIds.Contains(x.Value.Value) select x.Message); messageSet.UnionWith(from x in provider.Levels where x.Message != null && levelNames.Contains(x.Name) select x.Message); messageSet.UnionWith(from x in provider.Tasks where x.Message != null && taskNames.Contains(x.Name) select x.Message); messageSet.UnionWith(from x in provider.Opcodes where x.Task == null && x.Message != null && opcodeNames.Contains(x.Name) select x.Message); messageSet.UnionWith(from x in provider.Keywords where x.Message != null && keywordNames.Contains(x.Name) select x.Message); foreach (var resourceSet in manifest.Resources) { resourceSet.Strings.RemoveAll(x => messageSet.Contains(x)); } provider.Channels.RemoveAll(x => channelIds.Contains(x.Value.Value)); provider.Levels.RemoveAll(x => levelNames.Contains(x.Name)); provider.Tasks.RemoveAll(x => taskNames.Contains(x.Name)); provider.Opcodes.RemoveAll(x => opcodeNames.Contains(x.Name)); provider.Keywords.RemoveAll(x => keywordNames.Contains(x.Name)); } }
public static void AssignMessageIds( IDiagnostics diags, EventManifest manifest, Func <IMessageIdGenerator> generatorFactory) { foreach (var provider in manifest.Providers) { var msgIdGen = generatorFactory(); if (NeedsId(provider.Message)) { provider.Message.Id = msgIdGen.CreateId(provider); } foreach (var obj in provider.Channels.Where(e => NeedsId(e.Message))) { obj.Message.Id = msgIdGen.CreateId(obj, provider); } foreach (var obj in provider.Levels.Where(e => NeedsId(e.Message))) { obj.Message.Id = msgIdGen.CreateId(obj, provider); } foreach (var obj in provider.Tasks.Where(e => NeedsId(e.Message))) { obj.Message.Id = msgIdGen.CreateId(obj, provider); } foreach (var obj in provider.GetAllOpcodes().Where(e => NeedsId(e.Message))) { obj.Message.Id = msgIdGen.CreateId(obj, provider); } foreach (var obj in provider.Keywords.Where(e => NeedsId(e.Message))) { obj.Message.Id = msgIdGen.CreateId(obj, provider); } foreach (var obj in provider.Events.Where(e => NeedsId(e.Message))) { obj.Message.Id = msgIdGen.CreateId(obj, provider); } foreach (var map in provider.Maps) { foreach (var item in map.Items.Where(e => NeedsId(e.Message))) { item.Message.Id = msgIdGen.CreateId(item, map, provider); } } foreach (var obj in provider.Filters.Where(e => NeedsId(e.Message))) { obj.Message.Id = msgIdGen.CreateId(obj, provider); } } var primaryResourceSet = manifest.PrimaryResourceSet; if (primaryResourceSet == null) { return; } foreach (var @string in primaryResourceSet.Strings.Used()) { foreach (var resourceSet in manifest.Resources) { if (resourceSet == manifest.PrimaryResourceSet) { continue; } if (!resourceSet.ContainsName(@string.Name)) { diags.Report( DiagnosticSeverity.Warning, resourceSet.Location, "String table for culture '{0}' is missing string '{1}'.", resourceSet.Culture.Name, @string.Name); } } } }