using System; using appsrv.attributes; using sharpwawi.models; using System.Collections.Generic; using System.Linq; namespace sharpwawi { public class Parts { public WaWi WaWi { get; } public Parts(WaWi waWi) { WaWi = waWi; } public Part this[string key] { get => throw new KeyNotFoundException(); } [PublishedMember] public Part Create() { return new Part(); } [PublishedMember] public Part ByKey(string key) { foreach (Part p in AllParts) if (p.Key.Equals(key)) return p; throw new KeyNotFoundException(); } [PublishedMember] public IEnumerable ByKeyword(string keyword) { return AllParts.Where((p) => (p.Key.Contains(keyword) || p.Name.Contains(keyword) || p.Description.Contains(keyword)|| p.Dimensions.Contains(keyword)|| p.Standards.Contains(keyword))); } [PublishedMember] public IEnumerable AllParts => WaWi.Mapper.Query(); [PublishedMember] public Part TestPart { get; } = new Part("P001-456-8765", "Der universelle Testartikel"); } }