本文整理汇总了C#中INakedObjectAdapter.TitleString方法的典型用法代码示例。如果您正苦于以下问题:C# INakedObjectAdapter.TitleString方法的具体用法?C# INakedObjectAdapter.TitleString怎么用?C# INakedObjectAdapter.TitleString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类INakedObjectAdapter
的用法示例。
在下文中一共展示了INakedObjectAdapter.TitleString方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ObjectToElement
public Place ObjectToElement(INakedObjectAdapter nakedObjectAdapter) {
Log.Debug("objectToElement(" + DoLog("object", nakedObjectAdapter) + ")");
var nos = (IObjectSpec) nakedObjectAdapter.Spec;
Log.Debug("objectToElement(NO): create element and nof:title");
XElement element = Schema.CreateElement(XmlDocument, nos.ShortName, nos.FullName, nos.SingularName, nos.PluralName);
NofMetaModel.AppendNofTitle(element, nakedObjectAdapter.TitleString());
Log.Debug("objectToElement(NO): create XS element for NOF class");
XElement xsElement = Schema.CreateXsElementForNofClass(XsdDocument, element, topLevelElementWritten);
// hack: every element in the XSD schema apart from first needs minimum cardinality setting.
topLevelElementWritten = true;
var place = new Place(nakedObjectAdapter, element);
NofMetaModel.SetAttributesForClass(element, OidOrHashCode(nakedObjectAdapter));
IAssociationSpec[] fields = nos.Properties;
Log.Debug("objectToElement(NO): processing fields");
var seenFields = new List<string>();
foreach (IAssociationSpec field in fields) {
string fieldName = field.Id;
Log.Debug("objectToElement(NO): " + DoLog("field", fieldName));
// Skip field if we have seen the name already
// This is a workaround for getLastActivity(). This method exists
// in AbstractNakedObject, but is not (at some level) being picked up
// by the dot-net reflector as a property. On the other hand it does
// exist as a field in the meta model (NakedObjectSpecification).
//
// Now, to re-expose the lastactivity field for .Net, a deriveLastActivity()
// has been added to BusinessObject. This caused another field ofthe
// same name, ultimately breaking the XSD.
if (seenFields.Contains(fieldName)) {
Log.Debug("objectToElement(NO): " + DoLog("field", fieldName) + " SKIPPED");
continue;
}
seenFields.Add(fieldName);
XNamespace ns = Schema.GetUri();
var xmlFieldElement = new XElement(ns + fieldName);
XElement xsdFieldElement;
var oneToOneAssociation = field as IOneToOneAssociationSpec;
var oneToManyAssociation = field as IOneToManyAssociationSpec;
if (field.ReturnSpec.IsParseable && oneToOneAssociation != null) {
Log.Debug("objectToElement(NO): " + DoLog("field", fieldName) + " is value");
IObjectSpec fieldNos = field.ReturnSpec;
// skip fields of type XmlValue
if (fieldNos != null &&
fieldNos.FullName != null &&
fieldNos.FullName.EndsWith("XmlValue")) {
continue;
}
XElement xmlValueElement = xmlFieldElement; // more meaningful locally scoped name
try {
INakedObjectAdapter value = oneToOneAssociation.GetNakedObject(nakedObjectAdapter);
// a null value would be a programming error, but we protect
// against it anyway
if (value == null) {
continue;
}
ITypeSpec valueNos = value.Spec;
// XML
NofMetaModel.SetAttributesForValue(xmlValueElement, valueNos.ShortName);
bool notEmpty = (value.TitleString().Length > 0);
if (notEmpty) {
string valueStr = value.TitleString();
xmlValueElement.Add(new XText(valueStr));
}
else {
NofMetaModel.SetIsEmptyAttribute(xmlValueElement, true);
}
}
catch (Exception) {
Log.Warn("objectToElement(NO): " + DoLog("field", fieldName) + ": getField() threw exception - skipping XML generation");
}
// XSD
xsdFieldElement = Schema.CreateXsElementForNofValue(xsElement, xmlValueElement);
}
else if (oneToOneAssociation != null) {
Log.Debug("objectToElement(NO): " + DoLog("field", fieldName) + " is IOneToOneAssociation");
XElement xmlReferenceElement = xmlFieldElement; // more meaningful locally scoped name
//.........这里部分代码省略.........
示例2: DoLog
private static string DoLog(string label, INakedObjectAdapter nakedObjectAdapter) {
return DoLog(label, (nakedObjectAdapter == null ? "(null)" : nakedObjectAdapter.TitleString() + "[" + OidOrHashCode(nakedObjectAdapter) + "]"));
}
示例3: CheckCanAssociate
public static void CheckCanAssociate(this IResolveStateMachine stateMachine, INakedObjectAdapter associate) {
if (stateMachine.IsPersistent() && associate != null && associate.ResolveState.IsTransient()) {
throw new TransientReferenceException(string.Format(Resources.NakedObjects.TransientErrorMessage, associate.TitleString()));
}
}
示例4: DataUpdateException
public DataUpdateException(INakedObjectAdapter nakedObjectAdapter, IVersion updated)
: this(string.Format(Resources.NakedObjects.DataUpdateMessage, nakedObjectAdapter.Version.User, nakedObjectAdapter.TitleString(), DateTime.Now.ToLongTimeString(), Environment.NewLine, Environment.NewLine, nakedObjectAdapter.Version, updated), nakedObjectAdapter.Oid) {}