本文整理汇总了C#中IDomainObjectDTORepository.CreateCustomField方法的典型用法代码示例。如果您正苦于以下问题:C# IDomainObjectDTORepository.CreateCustomField方法的具体用法?C# IDomainObjectDTORepository.CreateCustomField怎么用?C# IDomainObjectDTORepository.CreateCustomField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDomainObjectDTORepository
的用法示例。
在下文中一共展示了IDomainObjectDTORepository.CreateCustomField方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConvertWeatherToCustomListAndField
/// <summary>
/// The weather list is used, so convert it to a custom (unowned) list, create a new
/// custom field for RnGenericRec elements, and convert any Weather elements to that
/// new custom field.
/// </summary>
private void ConvertWeatherToCustomListAndField(IDomainObjectDTORepository repoDTO)
{
// Change the Weather list to being unowned.
DomainObjectDTO dtoLP = null;
foreach (var dto in repoDTO.AllInstancesWithSubclasses("LangProject"))
{
dtoLP = dto;
break;
}
string sWeatherListGuid = RemoveWeatherConditionsElement(dtoLP).ToLowerInvariant();
repoDTO.Update(dtoLP);
DomainObjectDTO dtoWeatherList = null;
foreach (var dto in repoDTO.AllInstancesWithSubclasses("CmPossibilityList"))
{
if (dto.Guid.ToLowerInvariant() == sWeatherListGuid)
{
dtoWeatherList = dto;
break;
}
}
dtoWeatherList.Xml = RemoveOwnerGuid(dtoWeatherList.Xml);
repoDTO.Update(dtoWeatherList);
// Create the custom field.
string fieldName = "Weather";
while (repoDTO.IsFieldNameUsed("RnGenericRec", fieldName))
fieldName = fieldName + "A";
repoDTO.CreateCustomField("RnGenericRec", fieldName, SIL.CoreImpl.CellarPropertyType.ReferenceCollection,
CmPossibilityTags.kClassId, "originally a standard part of Data Notebook records",
WritingSystemServices.kwsAnals, new Guid(sWeatherListGuid));
string customStart = String.Format("<Custom name=\"{0}\">", fieldName);
// Remove any empty Weather elements in the RnGenericRec objects, and convert
// nonempty ones to custom elements.
foreach (var dto in repoDTO.AllInstancesWithSubclasses("RnGenericRec"))
{
string sXml = dto.Xml;
int idx = sXml.IndexOf("<Weather");
if (idx > 0)
{
string sXmlT = RemoveEmptyWeather(sXml, idx);
if (sXmlT == sXml)
{
sXmlT = sXml.Replace("<Weather>", customStart);
sXmlT = sXmlT.Replace("</Weather>", "</Custom>");
}
dto.Xml = sXmlT;
repoDTO.Update(dto);
}
}
}