Octgn.Play.Card.GetProperty C# (CSharp) Method

GetProperty() public method

public GetProperty ( string name, object defaultReturn = null, System.StringComparison scompare = StringComparison.InvariantCulture, string alternate = null ) : object
name string
defaultReturn object
scompare System.StringComparison
alternate string
return object
        public object GetProperty(string name, object defaultReturn = null, StringComparison scompare = StringComparison.InvariantCulture,  string alternate = null)
        {
            if (_type.Model == null) return defaultReturn;
            if (name.Equals("Name", scompare)) return _type.Model.PropertyName();
            if (name.Equals("Id", scompare)) return _type.Model.Id;
            if (!_type.Model.PropertySet().Keys.Any(x => x.Name.Equals(name, scompare))) { return defaultReturn; }
            if (alternate == null)
            {
                if (PropertyOverrides.ContainsKey(name) && PropertyOverrides[name].ContainsKey(""))
                {
                    return PropertyOverrides[name][""];
                }
                var prop = _type.Model.PropertySet().FirstOrDefault(x => x.Key.Name.Equals(name, scompare));
                return prop.Value;
            }
            else
            {
                if (PropertyOverrides.ContainsKey(name) && PropertyOverrides[name].ContainsKey(alternate))
                {
                    return PropertyOverrides[name][alternate];
                }
                var ps = _type.Model.Properties.Select(x => new { Key = x.Key, Value = x.Value })
                    .FirstOrDefault(x => x.Key.Equals(alternate, StringComparison.InvariantCultureIgnoreCase));
                if (ps == null) return defaultReturn;
                object ret = ps.Value.Properties.FirstOrDefault(x => x.Key.Name.ToLower().Equals(name)).Value;
                return ret;
            }
        }

Usage Example

Esempio n. 1
0
        public object CardAlternateProperty(int id, string alt, string property)
        {
            Card c = Card.Find(id);

            property = property.ToLowerInvariant();
            return(c.GetProperty(property, "", StringComparison.InvariantCultureIgnoreCase, alt));
        }
All Usage Examples Of Octgn.Play.Card::GetProperty