public IEnumerable <IDataObject> GetListOf(IZetboxContext ctx, InterfaceType ifType, int ID, string property, out List <IStreamable> auxObjects) { List <IStreamable> tmpAuxObjects = null; int resultCount = 0; var _ifType = ifType.ToSerializableType(); var ticks = _perfCounter.IncrementGetListOf(ifType); try { byte[] bytes = null; MakeRequest(() => { bytes = _service.GetListOf(ZetboxGeneratedVersionAttribute.Current, _ifType, ID, property); }); IEnumerable <IDataObject> result = null; using (var sr = _readerFactory(new BinaryReader(new MemoryStream(bytes)))) { result = ReceiveObjects(ctx, sr, out tmpAuxObjects).Cast <IDataObject>(); } resultCount = result.Count(); auxObjects = tmpAuxObjects; return(result); } finally { _perfCounter.DecrementGetListOf(ifType, resultCount, ticks); } }
public byte[] GetListOf(Guid version, SerializableType type, int ID, string property) { using (Logging.Facade.DebugTraceMethodCallFormat("GetListOf", "type={0}", type)) { DebugLogIdentity(); try { if (type == null) { throw new ArgumentNullException("type"); } using (var ctx = _ctxFactory()) { var ifType = _iftFactory(type.GetSystemType()); int resultCount = 0; var ticks = _perfCounter.IncrementGetListOf(ifType); try { IEnumerable <IStreamable> lst = _sohFactory .GetServerObjectHandler(ifType) .GetListOf(version, ctx, ID, property); resultCount = lst.Count(); return(SendObjects(lst, false /*true*/).ToArray()); } finally { _perfCounter.DecrementGetListOf(ifType, resultCount, ticks); } } } catch (Exception ex) { Helper.ThrowFaultException(ex); // Never called, Handle errors throws an Exception return(null); } } }