private string FindGetName(MemberInfo member, ToGetAttribute toGetAttribute) { if (toGetAttribute == null) { return(member.Name); } if (string.IsNullOrWhiteSpace(toGetAttribute.name)) { return(member.Name); } return(toGetAttribute.name); }
public Dictionary <string, string> GetValues() { Dictionary <string, string> values = new Dictionary <string, string>(); MemberInfo[] allMembers = GetType().GetMembers(); List <MemberInfo> members = allMembers.Where(member => member.MemberType == MemberTypes.Field || member.MemberType == MemberTypes.Property).ToList(); string function = GetType().Name; values.Add("function", function); foreach (MemberInfo member in members) { ToGetAttribute toGetAttribute = (ToGetAttribute)member.GetCustomAttributes(typeof(ToGetAttribute)).SingleOrDefault(); if (toGetAttribute != null && toGetAttribute.type == ToGetAttribute.typeEnum.ignore) { continue; } string getName = FindGetName(member, toGetAttribute); object value = Utilities.ReflectionHelper.GetValue(this, member); if (value == null) { continue; } if (AddCollectionType(getName, value, values)) { continue; } string valueString = FindGetValue(value, toGetAttribute); if (string.IsNullOrWhiteSpace(valueString)) { continue; } values.Add(getName, valueString); } return(values); }
public string ToGet() { StringBuilder objectAsGetStringBuilder = new StringBuilder(); MemberInfo[] allMembers = GetType().GetMembers(); List <MemberInfo> members = allMembers.Where(member => member.MemberType == MemberTypes.Field || member.MemberType == MemberTypes.Property).ToList(); string function = GetType().Name; AddUrlEncoded(objectAsGetStringBuilder, "function", function); foreach (MemberInfo member in members) { ToGetAttribute toGetAttribute = (ToGetAttribute)member.GetCustomAttributes(typeof(ToGetAttribute)).SingleOrDefault(); if (toGetAttribute != null && toGetAttribute.type == ToGetAttribute.typeEnum.ignore) { continue; } string getName = FindGetName(member, toGetAttribute); object value = Utilities.ReflectionHelper.GetValue(this, member); if (value == null) { continue; } if (AddCollectionType(getName, value, objectAsGetStringBuilder)) { continue; } string valueString = FindGetValue(value, toGetAttribute); if (string.IsNullOrWhiteSpace(valueString)) { continue; } AddUrlEncoded(objectAsGetStringBuilder, getName, valueString); } return(objectAsGetStringBuilder.ToString()); }
private string FindGetValue(object value, ToGetAttribute toGetAttribute) { if (value == null) { return(null); } if (toGetAttribute == null) { return(ValueToString(value)); } if (toGetAttribute.type == ToGetAttribute.typeEnum.intEnum) { return(((int)value).ToString()); } if (toGetAttribute.type == ToGetAttribute.typeEnum.ShortDate) { return(((DateTime)value).ToString("yyyy-MM-dd")); } return(ValueToString(value)); }