public ReadResponse RunReadRequest(IReadRequest request)
 {
     return(new ReadResponse(request)
     {
         RecordSet = DataHelper.RemoveUnrequestedFields(_Data.WebShopRecordSet, request.RequestedFields)
     });
 }
        public ReadResponse RunReadRequest(IReadRequest request)
        {
            var responseRecordSet   = _Data.ArticleRecordSet;
            var articleNumberFilter = request.Filters as SingleValueFilterCondition;

            if (articleNumberFilter != null &&
                articleNumberFilter.Definition.Name == "ArticleNumber")
            {
                responseRecordSet = new RecordSet(responseRecordSet.Schema, responseRecordSet.Where(r => articleNumberFilter.Value.ToString().Equals(r["ArticleNumber"])));
            }

            var response = new ReadResponse(request)
            {
                RecordSet = DataHelper.RemoveUnrequestedFields(responseRecordSet, request.RequestedFields)
            };

            // MANUFACTURER SUB-REQUEST

            IReadRequest manufacturerRequest = request.SubRequests.FindRequestByResourceName <IReadRequest>("Manufacturer");

            if (manufacturerRequest != null)
            {
                ReadResponse subResponse = new ReadResponse(manufacturerRequest)
                {
                    RecordSet = DataHelper.RemoveUnrequestedFields(_Data.ManufacturerRecordSet, manufacturerRequest.RequestedFields)
                };

                response.SubResponses.Add(subResponse);
            }

            return(response);
        }
Exemplo n.º 3
0
 public ReadResponse(IReadRequest request)
     : base(Communication.RequestTypeEnum.Read)
 {
     Request = request;
 }