/// <summary> /// Get an existing business object. /// </summary> /// <param name="request">The request parameter object.</param> public WcfResponse Fetch(FetchRequest request) { var portal = new DataPortalFacade(); object result; try { result = portal.Fetch(request.ObjectType, request.Criteria, request.Context); } catch (Exception ex) { result = ex; } return new WcfResponse { Result = result }; }
/// <summary> /// Called by <see cref="DataPortal" /> to load an /// existing business object. /// </summary> /// <param name="objectType">Type of business object to create.</param> /// <param name="criteria">Criteria object describing business object.</param> /// <param name="context"><see cref="DataPortalContext" /> object passed to the server.</param> /// <returns></returns> public DataPortalResult Fetch(Type objectType, object criteria, DataPortalContext context) { var cf = GetChannelFactory(); var proxy = cf.CreateChannel(); try { var request = new FetchRequest { ObjectType = objectType, Criteria = criteria, Context = context, }; var response = proxy.Fetch(request); if (cf != null) cf.Close(); return ReturnResult(response); } catch { cf.Abort(); throw; } }