public bool setRefValues <T>(WiktCtx ctx, Helper owner, predicates pred, ref List <int> flds) where T : Helper { if (predicate != pred) { return(false); } var obj = ctx.designGetObj(objDataId); if (flds == null) { flds = new List <int>(); } if (obj == null) { ctx.log(owner, pred, "REF not found"); } else if (!(obj is T)) { ctx.log(owner, pred, $"REL: expected {typeof(T).Name}, found {obj.GetType().Name}"); } else { if (flds.Contains(obj.id)) { ctx.log(owner, pred, "DUPL"); } flds.Add(obj.id); } return(true); }
public bool setValueWithLang(WiktCtx ctx, Helper owner, predicates pred, ref string fld, ref string lang) { if (predicate != pred) { return(false); } setValueLow(ctx, owner, pred, ref fld); if (objLang != null) { if (pred == predicates.dbnary_writtenForm) { lang = lang == null ? objLang : $"{lang}|{objLang}"; } else { if (lang != null) { ctx.log(owner, pred, $"DUPL LANG"); } if (objLang != null) { lang = objLang; } } } return(true); }
public bool setRefValue <T>(WiktCtx ctx, Helper owner, predicates pred, ref int?fld) where T : Helper { if (predicate != pred) { return(false); } if (fld != null) { ctx.log(owner, pred, "DUPL"); } var obj = ctx.designGetObj(objDataId); if (obj == null) { ctx.log(owner, pred, "REL not found"); } else if (!(obj is T)) { ctx.log(owner, pred, $"REL: expected {typeof(T).Name}, found {obj.GetType().Name}"); } else { fld = obj.id; } return(true); }
public bool setValue(WiktCtx ctx, Helper owner, predicates pred, ref string fld) { if (predicate != pred) { return(false); } setValueLow(ctx, owner, pred, ref fld); return(true); }
public bool setUriValue <T>(WiktCtx ctx, Helper owner, predicates pred, ref T fld) where T : Enum { if (predicate != pred) { return(false); } //if ((byte)(object)fld != 0) ctx.log(owner, pred, "DUPL"); fld = (T)(object)(byte)((byte)(object)fld | (byte)(object)ConstMan.enumValue <T>(objUri)); return(true); }
public static bool parsePredicate(string url, out predicates pred, out PredicateType type) //, out Dictionary<string, byte> urlValues) { { pred = predicates.no; type = PredicateType.no; if (!string2Pred.TryGetValue(url, out pred)) { return(false); } type = predicateTypes[pred]; //if (type == PredicateType.UriValuesProps) urlValues = ConstMan.enumValueMap[url]; return(true); }
void setValueLow(WiktCtx ctx, Helper owner, predicates pred, ref string fld) { if (pred == predicates.ontolex_writtenRep || pred == predicates.skos_example) { fld = fld == null ? objValue : $"{fld}|{objValue}"; } else { if (fld != null) { ctx.log(owner, pred, $"DUPL"); } fld = objValue; } }
public bool setUriValues <T>(WiktCtx ctx, Helper owner, predicates pred, ref List <T> flds) where T : Enum { if (predicate != pred) { return(false); } if (flds == null) { flds = new List <T>(); } T fld = (T)(object)(byte)0; setUriValue <T>(ctx, owner, pred, ref fld); if (flds.Contains(fld)) { ctx.log(owner, pred, "DUPL"); } flds.Add(fld); return(true); }
public bool setIntValue(WiktCtx ctx, Helper owner, predicates pred, ref int?fld) { if (predicate != pred) { return(false); } if (fld != null) { ctx.log(owner, pred, "DUPL"); } if (int.TryParse(objValue, out int v)) { fld = v; } else { ctx.log(owner, pred, $"INT wrong value"); } return(true); }