Press Ctrl / CMD + C to copy this to your clipboard.
This post will be reported to the moderators as potential spam to be looked at
Hi,
I have a little problem and in can’t find the solution in the Umbraco documentation.
What I want is the name of the render control for a property of a member. See code below. Anyone any idea what method give that data??
public List<MemberPropertiesEntity> GetMemberProperties()
{
/// This function give the detail information for each member.
List<MemberPropertiesEntity> result = new List<MemberPropertiesEntity>();
MemberType[] memberTypes = GetAll;
int outerLoop = 0;
for (outerLoop = 0; outerLoop < memberTypes.Length; outerLoop++)
MemberPropertiesEntity nextResult = new MemberPropertiesEntity();
MemberTypeIdentifierEntity nextMember = new MemberTypeIdentifierEntity();
nextMember.ID = memberTypes[outerLoop].Id;
nextMember.Name = memberTypes[outerLoop].Text;
nextResult.memberTypeIdentifier = nextMember;
int innerLoop = 0;
for (innerLoop = 0; innerLoop < memberTypes[outerLoop].PropertyTypes.Count; innerLoop++)
nextResult.PropertyAlias = memberTypes[outerLoop].PropertyTypes[innerLoop].Alias;
nextResult.ContentTypeId = memberTypes[outerLoop].PropertyTypes[innerLoop].ContentTypeId;
nextResult.DataTypeName = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Text;
nextResult.PreValueAsString = library.GetPreValueAsString(memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id);
nextResult.RenderObjectID = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id;
nextResult.RenderObjectName = memberTypes[outerLoop].PropertyTypes[innerLoop].Name;
nextResult.SortOrder = memberTypes[outerLoop].PropertyTypes[innerLoop].SortOrder;
nextResult.Mandatory = memberTypes[outerLoop].PropertyTypes[innerLoop].Mandatory;
// I EXPECT HERE THE NAME OF THE CONTROL AS USED IN UMBRACO. SO VALUES LIKE 'DROPDOWN LIST' OR 'CHECKBOX LIST' OR 'DICTIONARY PICKER'
nextResult.RenderObjectName = "??????????????????????";
// get detail data
XPathNodeIterator preValueRootElementIterator = library.GetPreValues(memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id);
preValueRootElementIterator.MoveNext();
XPathNodeIterator preValueIterator = preValueRootElementIterator.Current.SelectChildren("preValue", "");
while (preValueIterator.MoveNext())
MemberTypeIdentifierPropertyDetailDataEntity detailData = new MemberTypeIdentifierPropertyDetailDataEntity();
detailData.Value = preValueIterator.Current.Value.ToString();
detailData.Attribute = preValueIterator.Current.GetAttribute("id", "");
nextResult.DetailData.Add(detailData);
}
return result;
private static Guid _objectType = new Guid("9b5416fb-e72f-45a9-a07b-5a9a2709ce43");
public static MemberType[] GetAll
get
Guid[] Ids = CMSNode.getAllUniquesFromObjectType(_objectType);
MemberType[] retVal = new MemberType[Ids.Length];
for (int i = 0; i < Ids.Length; i++) retVal[i] = new MemberType(Ids[i]);
return retVal;
public class MemberTypeIdentifierPropertyDetailDataEntity
public string Value { get; set; }
public string Attribute { get; set; }
public class MemberTypeIdentifierEntity
public int ID { get; set; }
public string Name { get; set; }
public class MemberPropertiesEntity
public MemberTypeIdentifierEntity memberTypeIdentifier { get; set; }
public string PropertyAlias { get; set; }
public int ContentTypeId { get; set; }
public string DataTypeName { get; set; }
public string PreValueAsString { get; set; }
public int RenderObjectID { get; set; }
public string RenderObjectName { get; set; }
public int SortOrder { get; set; }
public bool Mandatory { get; set; }
public string RenderControlName { get; set; }
public List<MemberTypeIdentifierPropertyDetailDataEntity> DetailData { get; set; }
Try this:
nextResult.RenderObjectName = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.DataType.DataTypeName;
OK Thnks,
That did the job. I needed to change the model a little this is now the code.
gr Frank
public class SpilterWCFInterface
nextResult.MemberTypeIdentifier = nextMember;
MemberTypePropertyEntity nextProperty = new MemberTypePropertyEntity();
nextProperty.PropertyAlias = memberTypes[outerLoop].PropertyTypes[innerLoop].Alias;
nextProperty.ContentTypeId = memberTypes[outerLoop].PropertyTypes[innerLoop].ContentTypeId;
nextProperty.DataTypeName = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Text;
nextProperty.PreValueAsString = library.GetPreValueAsString(memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id);
nextProperty.RenderObjectID = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id;
nextProperty.RenderObjectName = memberTypes[outerLoop].PropertyTypes[innerLoop].Name;
nextProperty.SortOrder = memberTypes[outerLoop].PropertyTypes[innerLoop].SortOrder;
nextProperty.Mandatory = memberTypes[outerLoop].PropertyTypes[innerLoop].Mandatory;
nextProperty.RenderObjectName = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.DataType.DataTypeName;
nextProperty.DetailData.Add(detailData);
nextResult.Property.Add(nextProperty);
result.Add(nextResult);
public MemberPropertiesEntity()
MemberTypeIdentifier = new MemberTypeIdentifierEntity();
Property = new List<MemberTypePropertyEntity>();
public List<MemberTypePropertyEntity> Property {get; set;}
public MemberTypeIdentifierEntity MemberTypeIdentifier { get; set; }
public MemberTypeIdentifierEntity()
Name = "";
ID = 0;
public MemberTypeIdentifierPropertyDetailDataEntity()
Value = "";
Attribute = "";
public class MemberTypePropertyEntity
public MemberTypePropertyEntity()
DetailData = new List<MemberTypeIdentifierPropertyDetailDataEntity>();
Great news... glad I could help.
Please mark my post as the solution.
Good luck!
is working on a reply...
Write your reply to:
Upload image
Image will be uploaded when post is submitted
How to get the name of the render control
Hi,
I have a little problem and in can’t find the solution in the Umbraco documentation.
What I want is the name of the render control for a property of a member. See code below. Anyone any idea what method give that data??
public List<MemberPropertiesEntity> GetMemberProperties()
{
/// This function give the detail information for each member.
List<MemberPropertiesEntity> result = new List<MemberPropertiesEntity>();
MemberType[] memberTypes = GetAll;
int outerLoop = 0;
for (outerLoop = 0; outerLoop < memberTypes.Length; outerLoop++)
{
MemberPropertiesEntity nextResult = new MemberPropertiesEntity();
MemberTypeIdentifierEntity nextMember = new MemberTypeIdentifierEntity();
nextMember.ID = memberTypes[outerLoop].Id;
nextMember.Name = memberTypes[outerLoop].Text;
nextResult.memberTypeIdentifier = nextMember;
int innerLoop = 0;
for (innerLoop = 0; innerLoop < memberTypes[outerLoop].PropertyTypes.Count; innerLoop++)
{
nextResult.PropertyAlias = memberTypes[outerLoop].PropertyTypes[innerLoop].Alias;
nextResult.ContentTypeId = memberTypes[outerLoop].PropertyTypes[innerLoop].ContentTypeId;
nextResult.DataTypeName = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Text;
nextResult.PreValueAsString = library.GetPreValueAsString(memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id);
nextResult.RenderObjectID = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id;
nextResult.RenderObjectName = memberTypes[outerLoop].PropertyTypes[innerLoop].Name;
nextResult.SortOrder = memberTypes[outerLoop].PropertyTypes[innerLoop].SortOrder;
nextResult.Mandatory = memberTypes[outerLoop].PropertyTypes[innerLoop].Mandatory;
// I EXPECT HERE THE NAME OF THE CONTROL AS USED IN UMBRACO. SO VALUES LIKE 'DROPDOWN LIST' OR 'CHECKBOX LIST' OR 'DICTIONARY PICKER'
nextResult.RenderObjectName = "??????????????????????";
// get detail data
XPathNodeIterator preValueRootElementIterator = library.GetPreValues(memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id);
preValueRootElementIterator.MoveNext();
XPathNodeIterator preValueIterator = preValueRootElementIterator.Current.SelectChildren("preValue", "");
while (preValueIterator.MoveNext())
{
MemberTypeIdentifierPropertyDetailDataEntity detailData = new MemberTypeIdentifierPropertyDetailDataEntity();
detailData.Value = preValueIterator.Current.Value.ToString();
detailData.Attribute = preValueIterator.Current.GetAttribute("id", "");
nextResult.DetailData.Add(detailData);
}
}
}
return result;
}
private static Guid _objectType = new Guid("9b5416fb-e72f-45a9-a07b-5a9a2709ce43");
public static MemberType[] GetAll
{
get
{
Guid[] Ids = CMSNode.getAllUniquesFromObjectType(_objectType);
MemberType[] retVal = new MemberType[Ids.Length];
for (int i = 0; i < Ids.Length; i++) retVal[i] = new MemberType(Ids[i]);
return retVal;
}
}
}
public class MemberTypeIdentifierPropertyDetailDataEntity
{
public string Value { get; set; }
public string Attribute { get; set; }
}
public class MemberTypeIdentifierEntity
{
public int ID { get; set; }
public string Name { get; set; }
}
public class MemberPropertiesEntity
{
public MemberTypeIdentifierEntity memberTypeIdentifier { get; set; }
public string PropertyAlias { get; set; }
public int ContentTypeId { get; set; }
public string DataTypeName { get; set; }
public string PreValueAsString { get; set; }
public int RenderObjectID { get; set; }
public string RenderObjectName { get; set; }
public int SortOrder { get; set; }
public bool Mandatory { get; set; }
public string RenderControlName { get; set; }
public List<MemberTypeIdentifierPropertyDetailDataEntity> DetailData { get; set; }
}Try this:
OK Thnks,
That did the job. I needed to change the model a little this is now the code.
gr Frank
public class SpilterWCFInterface
{
public List<MemberPropertiesEntity> GetMemberProperties()
{
/// This function give the detail information for each member.
List<MemberPropertiesEntity> result = new List<MemberPropertiesEntity>();
MemberType[] memberTypes = GetAll;
int outerLoop = 0;
for (outerLoop = 0; outerLoop < memberTypes.Length; outerLoop++)
{
MemberPropertiesEntity nextResult = new MemberPropertiesEntity();
MemberTypeIdentifierEntity nextMember = new MemberTypeIdentifierEntity();
nextMember.ID = memberTypes[outerLoop].Id;
nextMember.Name = memberTypes[outerLoop].Text;
nextResult.MemberTypeIdentifier = nextMember;
int innerLoop = 0;
for (innerLoop = 0; innerLoop < memberTypes[outerLoop].PropertyTypes.Count; innerLoop++)
{
MemberTypePropertyEntity nextProperty = new MemberTypePropertyEntity();
nextProperty.PropertyAlias = memberTypes[outerLoop].PropertyTypes[innerLoop].Alias;
nextProperty.ContentTypeId = memberTypes[outerLoop].PropertyTypes[innerLoop].ContentTypeId;
nextProperty.DataTypeName = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Text;
nextProperty.PreValueAsString = library.GetPreValueAsString(memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id);
nextProperty.RenderObjectID = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id;
nextProperty.RenderObjectName = memberTypes[outerLoop].PropertyTypes[innerLoop].Name;
nextProperty.SortOrder = memberTypes[outerLoop].PropertyTypes[innerLoop].SortOrder;
nextProperty.Mandatory = memberTypes[outerLoop].PropertyTypes[innerLoop].Mandatory;
nextProperty.RenderObjectName = memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.DataType.DataTypeName;
// get detail data
XPathNodeIterator preValueRootElementIterator = library.GetPreValues(memberTypes[outerLoop].PropertyTypes[innerLoop].DataTypeDefinition.Id);
preValueRootElementIterator.MoveNext();
XPathNodeIterator preValueIterator = preValueRootElementIterator.Current.SelectChildren("preValue", "");
while (preValueIterator.MoveNext())
{
MemberTypeIdentifierPropertyDetailDataEntity detailData = new MemberTypeIdentifierPropertyDetailDataEntity();
detailData.Value = preValueIterator.Current.Value.ToString();
detailData.Attribute = preValueIterator.Current.GetAttribute("id", "");
nextProperty.DetailData.Add(detailData);
}
nextResult.Property.Add(nextProperty);
}
result.Add(nextResult);
}
return result;
}
private static Guid _objectType = new Guid("9b5416fb-e72f-45a9-a07b-5a9a2709ce43");
public static MemberType[] GetAll
{
get
{
Guid[] Ids = CMSNode.getAllUniquesFromObjectType(_objectType);
MemberType[] retVal = new MemberType[Ids.Length];
for (int i = 0; i < Ids.Length; i++) retVal[i] = new MemberType(Ids[i]);
return retVal;
}
}
}
public class MemberPropertiesEntity
{
public MemberPropertiesEntity()
{
MemberTypeIdentifier = new MemberTypeIdentifierEntity();
Property = new List<MemberTypePropertyEntity>();
}
public List<MemberTypePropertyEntity> Property {get; set;}
public MemberTypeIdentifierEntity MemberTypeIdentifier { get; set; }
}
public class MemberTypeIdentifierEntity
{
public MemberTypeIdentifierEntity()
{
Name = "";
ID = 0;
}
public int ID { get; set; }
public string Name { get; set; }
}
public class MemberTypeIdentifierPropertyDetailDataEntity
{
public MemberTypeIdentifierPropertyDetailDataEntity()
{
Value = "";
Attribute = "";
}
public string Value { get; set; }
public string Attribute { get; set; }
}
public class MemberTypePropertyEntity
{
public MemberTypePropertyEntity()
{
DetailData = new List<MemberTypeIdentifierPropertyDetailDataEntity>();
}
public string PropertyAlias { get; set; }
public int ContentTypeId { get; set; }
public string DataTypeName { get; set; }
public string PreValueAsString { get; set; }
public int RenderObjectID { get; set; }
public string RenderObjectName { get; set; }
public int SortOrder { get; set; }
public bool Mandatory { get; set; }
public string RenderControlName { get; set; }
public List<MemberTypeIdentifierPropertyDetailDataEntity> DetailData { get; set; }
}
Great news... glad I could help.
Please mark my post as the solution.
Good luck!
is working on a reply...