Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Metadata / ObjectLayer / LoadMessageLogger.cs / 1305376 / LoadMessageLogger.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Data.Entity; namespace System.Data.Metadata.Edm { internal class LoadMessageLogger { private Action_logLoadMessage; private Dictionary _messages = new Dictionary (); internal LoadMessageLogger(Action logLoadMessage) { this._logLoadMessage = logLoadMessage; } internal void LogLoadMessage(string message, EdmType relatedType) { if (_logLoadMessage != null) { _logLoadMessage(message); } LogMessagesWithTypeInfo(message, relatedType); } internal string CreateErrorMessageWithTypeSpecificLoadLogs(string errorMessage, EdmType relatedType) { return new StringBuilder(errorMessage) .AppendLine(this.GetTypeRelatedLogMessage(relatedType)).ToString(); } private string GetTypeRelatedLogMessage(EdmType relatedType) { Debug.Assert(relatedType != null, "have to pass in a type to get the message"); if (this._messages.ContainsKey(relatedType)) { return new StringBuilder() .AppendLine() .AppendLine(Strings.ExtraInfo) .AppendLine(this._messages[relatedType].ToString()).ToString(); } else { return string.Empty; } } private void LogMessagesWithTypeInfo(string message, EdmType relatedType) { Debug.Assert(relatedType != null, "have to have a type with this message"); if (this._messages.ContainsKey(relatedType)) { // if this type already contains loading message, append the new message to the end this._messages[relatedType].AppendLine(message); } else { this._messages.Add(relatedType, new StringBuilder(message)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextCompositionEventArgs.cs
- OdbcParameter.cs
- cache.cs
- BaseTemplateParser.cs
- RecognizerInfo.cs
- TextEffect.cs
- StaticFileHandler.cs
- RoleManagerEventArgs.cs
- Size.cs
- AvTraceDetails.cs
- DataSet.cs
- UntypedNullExpression.cs
- XmlWrappingWriter.cs
- VerificationException.cs
- GroupBoxDesigner.cs
- FontEmbeddingManager.cs
- RenderingEventArgs.cs
- xdrvalidator.cs
- DateTimeFormat.cs
- XmlILModule.cs
- StyleHelper.cs
- TypeSystem.cs
- MessageQueueKey.cs
- SystemWebSectionGroup.cs
- OpenFileDialog.cs
- ADMembershipProvider.cs
- Currency.cs
- DetailsViewDeletedEventArgs.cs
- ExtensionSimplifierMarkupObject.cs
- StickyNoteAnnotations.cs
- MediaScriptCommandRoutedEventArgs.cs
- WasHttpModulesInstallComponent.cs
- ToolStripHighContrastRenderer.cs
- MetadataItemEmitter.cs
- SecurityElement.cs
- DecoderReplacementFallback.cs
- StringToken.cs
- EntityDesignPluralizationHandler.cs
- PreservationFileReader.cs
- JournalEntryStack.cs
- AnnotationObservableCollection.cs
- SecurityContext.cs
- UniqueConstraint.cs
- UserPersonalizationStateInfo.cs
- TransactionOptions.cs
- ListSortDescription.cs
- QilLiteral.cs
- ListViewGroupConverter.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- BStrWrapper.cs
- Base64Stream.cs
- DragDeltaEventArgs.cs
- FixedSOMImage.cs
- cache.cs
- ChangeNode.cs
- StateChangeEvent.cs
- StreamGeometryContext.cs
- HotSpotCollection.cs
- prompt.cs
- keycontainerpermission.cs
- AccessibleObject.cs
- SafeEventLogWriteHandle.cs
- TreeNodeBinding.cs
- Fonts.cs
- EmptyEnumerable.cs
- Table.cs
- NetSectionGroup.cs
- MemoryRecordBuffer.cs
- SiteMapHierarchicalDataSourceView.cs
- BitmapEffectGroup.cs
- ipaddressinformationcollection.cs
- TypeExtensions.cs
- MultipleViewPatternIdentifiers.cs
- TdsEnums.cs
- Metafile.cs
- SpoolingTaskBase.cs
- HttpAsyncResult.cs
- ParameterInfo.cs
- UnmanagedMemoryStream.cs
- DesignerValidatorAdapter.cs
- TypedElement.cs
- Native.cs
- AppSecurityManager.cs
- XmlSchemaSimpleContentExtension.cs
- FixedTextPointer.cs
- PriorityBindingExpression.cs
- PolyQuadraticBezierSegment.cs
- PrintPageEvent.cs
- ReadWriteSpinLock.cs
- FactoryMaker.cs
- DetailsViewPageEventArgs.cs
- ToolBarButtonClickEvent.cs
- HwndSourceParameters.cs
- BoundingRectTracker.cs
- Pts.cs
- DataList.cs
- BitmapDownload.cs
- CachedPathData.cs
- DoubleLinkList.cs
- exports.cs