/// <summary> /// Tries to get the specified part(s) from the JSON content that represents map defaulting to another lang if requested lang is not found. /// Returns null if nothing is found /// </summary> public static bool TryGet(string json, out string result, GetParts tp, string langIso = null, string dfltLangIso = null, string concat = null) { try { var nls = new NLSMap(json); result = nls.Get(tp, langIso, dfltLangIso, concat); return(true); } catch { result = null; return(false); } }
/// <summary> /// Tries to get the specified part(s) from the map defaulting to another lang if requested lang is not found. /// Returns null if nothing is found /// </summary> public string Get(GetParts tp, string langIso = null, string dfltLangIso = null, string concat = null) { if (langIso.IsNullOrWhiteSpace()) langIso = CoreConsts.ISO_LANG_ENGLISH; if (concat.IsNullOrWhiteSpace()) concat = " - "; var p = this[langIso]; string result = getSwitch(p, tp, concat); if (result.IsNotNullOrWhiteSpace()) return result; if (dfltLangIso.IsNullOrWhiteSpace()) dfltLangIso = CoreConsts.ISO_LANG_ENGLISH; if (langIso.EqualsIgnoreCase(dfltLangIso)) return null; p = this[dfltLangIso]; result = getSwitch(p, tp, concat); if (result.IsNotNullOrWhiteSpace()) return result; return null; }
private string getSwitch(NDPair p, GetParts tp, string concat) { switch(tp) { case GetParts.Name: { return p.Name; } case GetParts.Description: { return p.Description; } case GetParts.NameOrDescription: { if (p.Name.IsNotNullOrWhiteSpace()) return p.Name; return p.Description; } case GetParts.DescriptionOrName: { if (p.Description.IsNotNullOrWhiteSpace()) return p.Description; return p.Name; } case GetParts.NameAndDescription: { var isName = p.Name.IsNotNullOrWhiteSpace(); var isDescr = p.Description.IsNotNullOrWhiteSpace(); if (isName && isDescr) return p.Name+concat+p.Description; if (isName) return p.Name; if (isDescr) return p.Description; return null; } case GetParts.DescriptionAndName: { var isName = p.Name.IsNotNullOrWhiteSpace(); var isDescr = p.Description.IsNotNullOrWhiteSpace(); if (isName && isDescr) return p.Description+concat+p.Name; if (isDescr) return p.Description; if (isName) return p.Name; return null; } } return null; }
public async Task <IEnumerable <PartOfBody> > HandleAsync(GetParts query) { return(await _context.PartOfBodies.OrderBy(pob => pob.Name).ToListAsync()); }