Пример #1
0
        private string GetRawValue(Entity entity)
        {
            var entityValue = entity[EntityPath];
            var entityName  = entity.LogicalName;
            var field       = EntityPath;

            if (entityValue is AliasedValue)
            {
                var aliased = (entityValue as AliasedValue);
                entityValue = aliased.Value;
                entityName  = aliased.EntityLogicalName;
                field       = aliased.AttributeLogicalName;
            }
            if (entityValue is Money)
            {
                return((entityValue as Money).Value.ToString(Format == string.Empty? "n": Format));
            }
            if (entityValue is DateTime)
            {
                return(_metadataContainer.Configurations.ToLocalDateTime((DateTime)entityValue)
                       .ToString(_metadataContainer.Configurations.DefineDateTimeFormat(Format == string.Empty ? "g" : Format)));
            }
            if (entityValue is OptionSetValue)
            {
                return(_metadataContainer.GetOptionsetText(entityValue as OptionSetValue, entityName, field));
            }
            var result = Convert.ToString(entityValue);

            return(Format == "href" ? Uri.EscapeUriString(result) : result);
        }