Example #1
0
        public static string GetFieldName <TRoot>(Expression <Func <TRoot, object> > sourceProperty)
        {
            var           propertyChain = PropertyChainFromExpression.Get(sourceProperty);
            List <string> names         = new List <string>();

            foreach (var prop in propertyChain)
            {
                var    attrs = (DisplayAttribute[])prop.GetCustomAttributes(typeof(DisplayAttribute), false);
                string namepart;
                if ((attrs != null) && (attrs.Length > 0))
                {
                    namepart = TitleHelper.StringToPascalCase(attrs[0].GetName());
                }
                else
                {
                    namepart = prop.Name;
                }

                foreach (var symb in RemovedSimbols)
                {
                    namepart = namepart.Replace(symb, "");
                }

                names.Add(namepart);
            }
            var name = String.Join(".", names);

            return(name);
        }
Example #2
0
        public static string GetCollectionName(Expression <Func <TDoc, IList <TRow> > > sourceProperty)
        {
            var           propertyChain = PropertyChainFromExpression.Get(sourceProperty);
            List <string> names         = new List <string>();

            foreach (var prop in propertyChain)
            {
                var    attrs = (DisplayAttribute[])prop.GetCustomAttributes(typeof(DisplayAttribute), false);
                string namepart;
                if ((attrs != null) && (attrs.Length > 0))
                {
                    namepart = TitleHelper.StringToPascalCase(attrs[0].GetName());
                }
                else
                {
                    namepart = prop.Name;
                }
                names.Add(namepart);
            }
            var name = String.Join(".", names);

            return(name);
        }