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...
This forum is in read-only mode while we transition to the new forum.
You can continue this topic on the new forum by tapping the "Continue discussion" link below.
Continue discussion
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...
This forum is in read-only mode while we transition to the new forum.
You can continue this topic on the new forum by tapping the "Continue discussion" link below.
Continue discussion